Do not use PM2 with docker

I see that we have a Dockerfile in the repo now, so I raise this request.
Could we please bypass pm2 checks upon bot restarts? Like, I'd like it to just terminate itself if I'm running it in a container (we could use env option to detect this, for example).
I suppose there's really no point in running PM2 inside a single process container.

@rennokki @arik123

@Haarolean In essence, that's true - it's a rule of thumb to run a single process per container.
PM2 comes bundled up in the final image to not break the functionality for users that have ecosystem.json.
The final images support them and can be used as usual with PM2 if you also wish to change the default entrypoint with a custom PM2 entrypoint command.

That's why I suggest a back-compatible solution (e.g. a config option) to keep previous installations alive.

PM2 is completely optional in Docker. The process is still running with the node CLI: https://github.com/TF2Autobot/tf2autobot/blob/master/Dockerfile#L17

@rennokki Yes it does. I think you're missing my point, I can't restart the bot because it says I don't run it with PM2. Which shouldn't be a problem restart:always will do the deed for me without PM2.

I get it now. 😁 Restarting the container should do the job?

Yep, but I can't do that via steam command. Also bot handles shutdown via docker too harsh, like a crash :)

That's completely normal to treat it like a crash. Closing the bot is signaling with SIGTERM or SIGINT to the process and kills it after a brief period of time (it depends on what it does before killing the process, as you can catch this signal).
The main rule here would be to kill the container and create another one and that's a restart.

My main point is still is that I can't restart or shutdown the bot via steam commands without PM2.

Using --restart=always would restart the container in case it's crashing. Docs here

I know. This has nothing to do with steam commands anyway.

Maybe this should be used?
https://github.com/sindresorhus/is-docker
maybe here?
https://github.com/TF2Autobot/tf2autobot/blob/b66bc63772d9c41c2e621879b9c88c16f6b6bef0/src/classes/BotManager.ts#L211-L227

Yeah, I think this might work. @idinium96 would you push a dev branch with this changes please? I'm not familiar with ts but I can build and test the changes.

hurmmm I am not sure how to implement this tbh.

@Haarolean @idinium96 Hello. I have issued a PR for this thing that can be tested on. I have explained in the PR what the caveats are.

@Haarolean The dev branch received an update regarding this. If you still use Docker for this, please check if this works with the tf2autobot/tf2autobot:ba85ccf97ff2947e6646f8b81575098fb8a8fdfd-16.13.0-alpine tag as it's the head of the branch (after the merge).


Reparent bot to the admin on reactivating if owner is deactivated and unsubscribe it from inaccessible private streams.

Commit summary -

First commit is to extract events code into a function.
Next commit is to re-parent the bot to the admin reactivating the bot in case the original owner is deactivated.
Next two commits are to unsubscribe bot from inaccessible private streams on changing bot owner.
Last commit is to update the confirmation modal for reactivating bot.

Fixes part of  #21700

Screenshots and screen captures:

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

Still need to add commit for showing modal when bot is unsubscribed from a private stream.

Posted some comments regarding the implementation.
Also, still working on the modal part, but it would be fine to review the backend implementation as I have left a few comments about not using existing functions and we might need to think about that.

I merged d3468e3f788bd3e4cf11639edab632a531fabd8d, since that seemed like a nice extraction regardless. But I think the rest of the changes are stacked on top of the "let's add a lightweight subscription removal function" approach, where I think we might be better off using transaction.on_commit for events to preserve the sequence we want, since that's a migration we want to do anyway.

I opened #22737 as a prep PR for using on_commit for events of do_reactivate_user so, that we can then update this PR to avoid duplication as you mentioned. But there is a problem where order of events changes (just for tests, not in actual code) as described https://github.com/zulip/zulip/pull/22737/files#r948279255

OK we finally got #22737 integrated!

There are no major changes from before. Just rebased the PR and removed some unnecessary changes.

Updated the PR to mention that the owner is being changed in the modal. @timabbott ready for review again.

Merged, thanks @sahil839!


Adding a page of companies including current job postings

Features:

Create a ranking system for how safe a company is
How much skill do you need for a certain place?

should we still do this? i think a more valuable thing for now would be to get interview journeys from people, and in the frontmatter of it store the company name, and then in the future if we want to we can query for company name or somethin

can link to the csc  internships listing page


Change the source doesn't seems to work in my case

Hey guys !
Awesome work!! :+1:
I am facing a little problem... Could you help me please ?
Here is the code :
$scope.config = {
            onPlayerReady: function (_API) {
                $scope.pushAllElements(_API);
            },
            sources: SongListFactory.songs,
            autoPlay: true
        };

$scope.$on('new.song.added', function ($event, song) {
            console.log('new.song.added', song);
            console.log($scope.config.sources, SongListFactory.songs, $scope.API.vgChangeSource);
           //Does not play
            $scope.API.changeSource($scope.config.sources);
            //Does not play
            $scope.config.sources = SongListFactory.songs;
            $scope.API.play();
        });

I don't know what's wrong : the classic basic example is working. I can provide more information if needed, or create a StackOverFlow post if I am in the wrong place.
Thanks. :+1:

Can you post a Codepen?


block/aoe: use new x/net/bpf.VM type in tests

Got my changes merged into x/net/bpf!

thanks. awesome. lgtm.


Splitting causes vim to not return to full screen

[x] I am on the latest Hyper.app version

[x] I have searched the issues of this repo and believe that this is not a duplicate

OS version and name: MacOS 10.12.2 Sierra

Hyper.app version: 1.1.0

Link of a Gist with the contents of your .hyper.js: https://gist.github.com/cmwall/d973398d4b998237ca2f460e33359165

Relevent information from devtools (CMD+SHIFT+I on Mac OS, CTRL+SHIFT+I elsewhere): N/A

The issue is reproducible in vanilla Hyper.app: Not sure

Issue

When opening a split view with CMD + D, and then closing that view with CTRL + D, I open up vim and the application doesn't render vim at 100%:

I can confirm this issue. The steps to reproduce above consistently cause this issue with vim (nvim).

I can also confirm the issue ✋
my vim version is 7.4.1910

For me this doesn't just happen with vim, it happens with everything on the screen.
OSX 10.12.3
Hyper Version 1.1.0 (<IP_ADDRESS>8)

Hey there, please try again with the new Hyper v2 release and open a new issue if the problem stills exists. Thank you!


Replace update with patch in snapshot test

What this PR does
Before this PR:
snapshot.go test would use update
After this PR:
snapshot.go test will use patch
Fixes #
https://issues.redhat.com/browse/CNV-44586
Release note

NONE

/sig code-quality

/retest

This test was created to monitor a bug where status.Phase would not be set properly - #6703 I see the value in removing tests which might not be relevant any more but this is something that should be done on a much bigger scope then this change.
why do you think this should be in Unit test instead?

Because it performs an operation that should not be possible in the first place (i.e. it detect a vurnability that someone can reset the whole status). A unit test can express that the status is recreated if missing in the reconcile without hacking the resource.
The ref fix is talking about a specific field in the status, not the whole status. But as expressed before, manipulating the status directly is incorrect IMO. It should actually be blocked by RBAC settings.
I see no reason to fix/optimize a test that is better removed/replaced.
Said all that, this is just my recommendation, I do now own these tests, it is up to the sig-storage maintainers to decide how to proceed.

@RoniKishner Hi, any updates on this PR? Would you convert this test to unit?

Looking at the test, it looks too awkward and potentially redundant.

The fact that the VMS has no Status sub-resource is exposing a security issue. Only the controller that handles this object should be allowed to touch the status subtree, no one else. Surely not a test.
The scenario in which the whole status subtree is gone is unrealistic. If one wants to test it, I suggest to cover it in unit tests.

Those are good points but I am not sure if we can achieve the same confidence level for the "upgrade fix" without a func test
/cc @mhenriks

I am actually working on enabling the status subresource for snapshot apigroup but to address comments above by @EdDev

The fact that the VMS has no Status sub-resource is exposing a security issue. Only the controller that handles this object should be allowed to touch the status subtree, no one else. Surely not a test.

Even with sub-resource enabled a motivated user/attacker with "update" RBAC can still wipe out a resource's status.  Not saying sub-resource isn't nice to have though

The scenario in which the whole status subtree is gone is unrealistic. If one wants to test it, I suggest to cover it in unit tests.

The ability of a controller to reconstruct status is pretty fundamental to a controller. IMO worthy of a functional test but if someone feels strongly that this case is covered by unit tests I am open to deletion

The ability of a controller to reconstruct status is pretty fundamental to a controller. IMO worthy of a functional test but if someone feels strongly that this case is covered by unit tests I am open to deletion

IMO the status stability is tested through other checks, i.e. given a scenario, assert the status for success.
Here, there is an attempt to touch/reset the status by an external client and see the controller reconciling it.
As this should have been forbidden in the first case, I think an unit test is a better fit.
I do not remember we have something similar in other places, probably because the status subresource.
Said all that, I think it is up to you to decide. Perhaps you will prefer to remove it only when you have the subresource and RBAC updated.

I prefer to move this into Unit test.
Having said that, it is a more complicated change then a simple line.
I am currently occupied with other tasks at hand, so I am not sure when I can focus on this task.

I prefer to move this into Unit test. Having said that, it is a more complicated change then a simple line. I am currently occupied with other tasks at hand, so I am not sure when I can focus on this task.

IMO worthy of a functional test but if someone feels strongly that this case is covered by unit tests I am open to deletion

I agree with @mhenriks here, and I believe we are okay with the change to updatestatus here:
https://github.com/kubevirt/kubevirt/pull/12601
This is because there should not be status updates after the test ensures the snapshot is ready

/hold


Demonstrate bug: span hierarchy is incorrect when client call is nested within an internal span

Only the very last commit is relevant for the bug itself, I needed to merge in a couple other pending changes though to be able to demonstrate this.
First, I thought that this might be an issue with incorrect tracing implementation of either the @NewSpan or the declarative HTTP client, but then I created a similar test for Jaeger tracing, and the exact same problem is present there.
This is how far I got in trying to figure out where it goes wrong:

When the reactive Mono of the internal worker is returned, the HTTP filter chain is not assembled yet for the outgoing client call.
Upon calling Mono.toFuture() in the controller method the initialization of the client filter chain is triggered and for some reason it uses the current span context (which is the top-level server span) instead of the internal span.
When the implementation of the worker method annotated with @NewSpan starts with the downstream call instead of the Mono.just, then the correct span context is captured as the parent of the client span of the outgoing call.

If we return a Mono in the controller method instead of converting it to CompletableFuture the span hierarchy is captured correctly. However, when using micronaut-graphql integration we need to return CompletableFuture-s.

 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.

@dstepanov Can you please take a look at these failing test cases? We ran into further problems still after the fixes https://github.com/micronaut-projects/micronaut-core/pull/10444 and https://github.com/micronaut-projects/micronaut-core/pull/10445.
In this case I suspect that the issue might be in DefaultHttpClient or HttpClientIntroductionAdvice, but I couldn't yet find a solution.

I don't think there is a way to support propagating the context using futures.
Maybe you can create a graphql testcase and we can find a way to fix it.


Don't convert & into &amp

When using innerHTML while escape html from from data it converts & into &amp. textContent is an alternative and don't cause the same issue.

:shipit: makes sense!


build error

events.js:137
throw er; // Unhandled 'error' event
^
Error: Invalid JSON RPC response: ""
at Object.InvalidResponse (/Users/yinghai/.Trash/AdChainRegistry-master 17.08.27/node_modules/web3/lib/web3/errors.js:35:16)
at XMLHttpRequest.request.onreadystatechange (/Users/yinghai/.Trash/AdChainRegistry-master 17.08.27/node_modules/web3/lib/web3/httpprovider.js:115:32)
at XMLHttpRequestEventTarget.dispatchEvent (/Users/yinghai/.Trash/AdChainRegistry-master 17.08.27/node_modules/xhr2/lib/xhr2.js:64:18)
at XMLHttpRequest._setReadyState (/Users/yinghai/.Trash/AdChainRegistry-master 17.08.27/node_modules/xhr2/lib/xhr2.js:353:12)
at XMLHttpRequest._onHttpRequestError (/Users/yinghai/.Trash/AdChainRegistry-master 17.08.27/node_modules/xhr2/lib/xhr2.js:542:12)
at ClientRequest. (/Users/yinghai/.Trash/AdChainRegistry-master 17.08.27/node_modules/xhr2/lib/xhr2.js:413:24)
at ClientRequest.emit (events.js:160:13)
at TLSSocket.socketErrorListener (_http_client.js:389:9)
at TLSSocket.emit (events.js:160:13)
at emitErrorNT (internal/streams/destroy.js:64:8)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>compile: truffle compile
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>compile script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:

Hi gitwy,
Thank you for reporting the error.  Off the top of my head, it could be the truffle version as this was developed very early on with an older truffle version.
However, please test using this repo instead.  The adChain Registry is using the forked version found here: https://github.com/skmgoldin/tcr
Sorry we will update README to point to that location.

@eccheung4  I followed the steps you gave me, but I made the same mistake as above.Why?

@gitwy you're having the same problem using tcr repo?
What truffle version are you using? Have testrpc running?
Thanks

@eccheung4
truffle --version
Truffle v4.0.6 - a development framework for Ethereum
npm --version
5.6.0

@gitwy
you're using this repo?: https://github.com/skmgoldin/tcr
what node version are you using?
node --version

@eccheung4 I used the repo,
node --version
v9.5.0

@gitwy thanks for your patience!
I've matched your versions and seems ok for me.
Try npm rebuild
are you having problems when running npm run compile?

@eccheung4 Thanks! The problem has been solved

great @gitwy! Thanks for testing it out.


[$250] Send invoice - System message for invoice edit is missing "Reply in thread" for invoice sender

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

Version Number: 1.4.84-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Action Performed:

Go to staging.new.expensify.com
Go to FAB > Send invoice
Send invoice to User B
Go to transaction thread
Edit Amount
[User A and User B] Right click on the system message
Note that "Reply in thread" is missing for invoice sender but present for invoice receiver
[User B] Send a reply to the system message
[User A] Open the reply in thread
{User A] Click on the thread header subtitle
{User A] Click on the thread header subtitle again

Expected Result:
In Step 7, "Reply in thread" should be available for both invoice sender and receiver
In Step 10, the invoice thread should have no visual issue
In Step 11, user should be navigated to the main chat
Actual Result:
In Step 7, "Reply in thread" is missing for invoice sender but present for invoice receiver
In Step 10, the invoice details appear broken above existing invoice details
In Step 11, user is navigated to the same invoice thread instead of the main chat
Workaround:
Unknown
Platforms:

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

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

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/650bc6bb-7e6a-401d-91ae-12d5bfbb759c
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0111ac375ebfe2baa1
Upwork Job ID:<PHONE_NUMBER>822916116
Last Price Increase: 2024-07-16
Automatic offers:

rayane-djouah | Reviewer | 103213577
truph01 | Contributor | 103213579

Issue OwnerCurrent Issue Owner: @cristipaval

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

Proposal
Please re-state the problem that we are trying to solve in this issue.
In Step 7, "Reply in thread" is missing for invoice sender but present for invoice receiver
In Step 10, the invoice details appear broken above existing invoice details
In Step 11, user is navigated to the same invoice thread instead of the main chat
What is the root cause of that problem?
When we create a send invoice, we don't pass the ID of iouAction as a parameter in the SendInvoice API. It leads after the API is complete, the iou report has two IOU action
https://github.com/Expensify/App/blob/1e0831eabdadc9380b7bc1d8a194ae05102c9736/src/libs/actions/IOU.ts#L3545
And then getOriginalReportID returns the wrong reportID for the system message because we get all reportActions of the iou report in Onyx which makes getOneTransactionThreadReportID  function returns undefined.
https://github.com/Expensify/App/blob/1e0831eabdadc9380b7bc1d8a194ae05102c9736/src/libs/ReportUtils.ts#L6063
It doesn't happen in the ReportScreen because when we get the report actions here, it doesn't include the optimistic iou action
https://github.com/Expensify/App/blob/1e0831eabdadc9380b7bc1d8a194ae05102c9736/src/pages/home/ReportScreen.tsx#L261
What changes do you think we should make in order to solve the problem?
We should pass the reportActionID of iouAction as a parameter of the SendInvoice API and BE will use this reportActionID to create the iouAction and return data for the user.
https://github.com/Expensify/App/blob/1e0831eabdadc9380b7bc1d8a194ae05102c9736/src/libs/actions/IOU.ts#L3545
To do that we should

In getSendInvoiceInformation function, we will return iouReportActionID: iouAction.reportID here
https://github.com/Expensify/App/blob/1e0831eabdadc9380b7bc1d8a194ae05102c9736/src/libs/actions/IOU.ts#L1844

What alternative solutions did you explore? (Optional)

Get the iouReportActionID when we call getSendInvoiceInformation function here
https://github.com/Expensify/App/blob/1e0831eabdadc9380b7bc1d8a194ae05102c9736/src/libs/actions/IOU.ts#L3542

and then pass it as a parameter of SendInvoice API here
https://github.com/Expensify/App/blob/1e0831eabdadc9380b7bc1d8a194ae05102c9736/src/libs/actions/IOU.ts#L3545

We need a BE change here that will use iouReportActionID param to generate the the iouAction.

OPTIONAL: The created action of the transaction thread report is also duplicated. The RCA is the same with the iouAction, we can add the same fix for this action as well.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Send invoice - System message for invoice edit is missing "Reply in thread" for invoice sender and some visual issues related to transaction details.
What is the root cause of that problem?
When user send an invoice to the server returns new IOU report action which have different report action than optimistic report action. When user right click the system message (which is message from transactions thread and not from report which have many reportpreview list report. If the report only has exactly 1 report preview it will immediately displays transaction details. So the system message when user edit IOU is actually from child report but displayed at parent because the reportpreview is only 1).
Since server return different IOU, the report actions onyx will have more than 1 IOU report actions (optimistic and the report action returned by server), it will fails to give correct result in:
https://github.com/Expensify/App/blob/b3f688b8213a95bdaf4a97d1fa389f396c8be25d/src/libs/ReportActionsUtils.ts#L915-L917
getOneTransactionThreadReportID will early return in the code above and gives undefined transaction thread.
and will eventually fails to get correct report action in here:
https://github.com/Expensify/App/blob/b3f688b8213a95bdaf4a97d1fa389f396c8be25d/src/pages/home/report/ContextMenu/BaseReportActionContextMenu.tsx#L131-L136
and replyInThread context menu will eventually hidden because shouldShow of action menu give incorrect result.
What changes do you think we should make in order to solve the problem?
We could remove onyx optimistic IOU report actions because server returns new/different IOU report actions, in here:
https://github.com/Expensify/App/blob/b3f688b8213a95bdaf4a97d1fa389f396c8be25d/src/libs/actions/IOU.ts#L1035-L1041
inside successData in buildOnyxDataForInvoice,
We set the
[transactionThreadCreatedReportAction.reportActionID]: null
....

[iouCreatedAction.reportActionID]: null
[iouAction.reportActionID]: null,

We set it to null, to remove the optimistic iou report actions...

added to project

@rayane-djouah

Why is the "Reply in thread" option disabled for invoice sender?

Basically because there are two IOU report action after user send invoice (one from optimistic action, one from server, this two IOU have different report action ids).
The optimistic IOU is filtered by this function, so  it is not displayed in report actions list:
https://github.com/Expensify/App/blob/f618a94c486b80aebab584c52288a7013ffad64a/src/pages/home/ReportScreen.tsx#L261
When report actions in view/list only have 1 IOU report actions it will display transaction details (this is already correct).
If it is more than one it will displayed as REPORTPREVIEW for each IOU report actions.
Also, when only 1 IOU report actions is displayed, the child transactions details thread reportactions will be merged into parent report report actions(which is the report which don't has "Reply in thread").
So basically the report actions of  report which doesn't have a "Reply in thread"  consist of report actions from that report and child transaction thread report.
Because of the getContinuousReportActionChain which is success to filter the optimistic IOU report action, but when user  right click to show report acitons context menu item it fails to display Reply in Thread.  This is because:
https://github.com/Expensify/App/blob/b3f688b8213a95bdaf4a97d1fa389f396c8be25d/src/pages/home/report/ContextMenu/BaseReportActionContextMenu.tsx#L205-L207
The getOriginalReportID fails to get the correct child (original) report id / the transaction thread report which is the report that show the system message about money request update /  the report which is the report actions are merged into parent if parent only has 1 IOU report action.
This is because:
https://github.com/Expensify/App/blob/f618a94c486b80aebab584c52288a7013ffad64a/src/libs/ReportUtils.ts#L6066-L6070
getOneTransactionThreadReportID :
https://github.com/Expensify/App/blob/f618a94c486b80aebab584c52288a7013ffad64a/src/libs/ReportActionsUtils.ts#L920-L922
Fails to returns correct childreportid / trasaction thread report id, because early return in that if clause.
This is because there are two IOU report actions (one from optimistic update and one from backend, these two report actions have different reportActionID).
Because of incorrect originalReportID, the reportActions here:
https://github.com/Expensify/App/blob/f618a94c486b80aebab584c52288a7013ffad64a/src/pages/home/report/ContextMenu/BaseReportActionContextMenu.tsx#L131-L144
the reportAction here will be undefined, and ContextMenuActions.filter will filter Reply In Thread context menu because the context menu give false result in contextAction.shouldShow.
I have updated my proposal in RCA section.

Why is there a duplicate report action for the Why is there a duplicate report action for the invoice details??

Because after user send invoice the report action of type CREATE and IOU from optimistic update and from back end are preserved/stored. Both have different report action ids. The details is representation of CREATE report action, when there is two create report action, there is a glitch when showing two invoice details.

Why is the user navigated to the same invoice thread instead of the main chat?

because the system message of IOU request upate/edit are from child thread transaction report. The system message is displayed/merged into parent report because the parent has exactly one IOU report action (because report screen success filtering the optimistic IOU report action).
basically the system message is from child transaction thread report.

@rayane-djouah

Why is the "Reply in thread" option disabled for invoice sender?

This because the originalReportID is wrong as I mentioned in my proposal and then we can't get the current reportAction in BaseReportActionContextMenu

Why is there a duplicate report action for the invoice details?

Because BE generate an iou action with a random reportActionID instead of using the reportActionID from front-end, after SendInvoice API is complete we have two iou action, one from server, one is optimistic iou action.

Why is the user navigated to the same invoice thread instead of the main chat?

This is not the same chat. The first chat is the transaction thread report that is the current parent report of the system message thread. The second is the invoice room but this report has only one transaction and then this report display as combine report that will display all report actions of invoice room and all report actions of the transaction thread. So this case isn't a bug.

@cristipaval to review and confirm

I think @truph01 can work on new issues once they merge all the ongoing ones. @dylanexpensify, can you confirm? 🙏

Thanks for pushing this one, @rayane-djouah! 🙏
I think we better do the backend changes first. The thing is that this is not a high priority issue at I won't be able to work on it this week.

I might be able to work on the backend changes for this one at the end of the week.

thanks @cristipaval!

@rayane-djouah If we want to handle the similar errors in Front End based on this message, we could remove the optimistic created report actions (and optimistic IOU report action) after API request finished.

Not overdue, Melv.

The backend PRs are in review

Both backend PRs are merged, they just need to hit staging.

Assigned @truph01 in the meantime. Just keep in mind that you can fully test when the backend PRs are in staging. I'll post an update here when they are

Daily updates: We are still waiting for the backend PR to hit staging.

Daily updates: We are still waiting for the backend PR to hit staging.

They are in staging. Feel free to test and let me know if it works as expected.

@cristipaval I try to send the param named iouReportActionID to BE when calling API SendInvoice but there is no proper action returned by BE. Can you help check?

@truph01, are you saying that the IOU action is not added in the onyxData of the SendInvoice command response? I'm trying to understand what you mean by

but there is no proper action returned by BE

are you saying that the IOU action is not added in the onyxData of the SendInvoice command response? I'm trying to understand what you mean by

Yes

Also, I found out another bug: The OpenReport API return 2 created action in invoice room

@cristipaval - Could you please provide us with the exact names of the parameters that you added to the endpoint?

Also, I found out another bug: The OpenReport API return 2 created action in invoice room

Have you checked this bug?
FYI, it leads to the behavior:

Also, the step 11:

In Step 11, user is navigated to the same invoice thread instead of the main chat

I believe this is expected behavior. We have previously closed similar issues related to the one transaction report flow. Since the system message thread is a child of the transaction thread report, clicking on the subtitle header in step 11 should navigate to the transaction thread report.

Bump @cristipaval about my comment above

I haven't yet, but I'm getting closer to wrapping up my other projects and then jump again into Invoicing stuff

@cristipaval Do you have any update on it?

I'll investigate this one later today

Also, I found out another bug: The OpenReport API return 2 created action in invoice room

@cristipaval Have you checked this bug?

@truph01, I think you get 2 CREATED report actions when you click a preview of an invoice from the invoice room, correct? It is the expected behavior. It happens the same when you open an expense report with a single expense on it.
Because the invoice has 1 transaction on it, the user is navigated straight to the transaction thread and the OpenReport API command returns the report actions of both the invoice report and the transaction thread report.

@cristipaval I checked and saw that for exepnse report when it only has one transaction, BE still returns only one CREATED action. About the report actions in combine report, we will merge the actions from the money request report and transaction thread report here

Ok, I haven't found any backend logic to return only one CREATED action when merging the actions from the expense report and transaction thread. I'll investigate again today.

@cristipaval Do you have any updates on this?

I investigated and I don't see code in the backend to filter out any CREATED action. I also tested with the App and verified that when you open an expense report with only one transaction, you get the CREATED action for both the expense report and the transaction thread report as well. cc @NikkiWines as I know you worked on merging the transaction thread with the expense report.

Hmm, yeah all the filtering done for the oneTransactionReport view is done in the front-end afaik

Thanks @NikkiWines! So @truph01, let me know if you need anything else from the backend in order to move with the implementation for this issue.

@cristipaval

There are 2 CREATED actions in send invoices room. I think it is BE bug, because it should be just 1 CREATED action:

FYI, there is only 1 CREATED action in expense report:

You are talking about the invoice room, but you are showing me screenshots of the invoice report.
Now I understand the issue. There are 2 CREATED report actions for the invoice report PLUS the one that belongs to the transaction thread. I could reproduce.
Pushing a fix asap.
For your clarity:

invoice room is a chat report (report.type = chat) created between the sender workspace and the invoice receiver. Here we have report previews of the invoices sent from the sender to the receiver. It is similar to the policy chats.
invoice report is the actual invoice sent to the receiver. It is an invoice report (report.type = invoice) containing a transaction. It is similar to the expense reports.
transaction thread report is a chat report; its parent is the invoice report. It is exactly the same as the ones linked to the expense reports.

@cristipaval Thanks for your information.

Thanks for bearing with me! I'll let you know when the backend is ready

Also, could you please give me a list of the IDs of the invoice reports that you created with 2 CREATED actions? I would run a query to remove the duplicates.

@cristipaval The invoice report ID with 2 CREATED actions is<PHONE_NUMBER>328742

Adding @madmax330 to this issue to keep him in the loop, as I might disappear on parental leave anytime soon

TLDR:

When this Auth PR gets deployed, @truph01 is going to open an App PR to fix this issue.
When this issue closes, we need to also test the following issues that have the same root cause:

https://github.com/Expensify/App/issues/43577

We are waiting for the Auth PR to be deployed.

@truph01, the backend is ready. Just to let you know, this is fixed for the new invoice rooms. The old ones with 2 CREATED report actions still need to be cleaned up.

@cristipaval The bug "Now I understand the issue. There are 2 CREATED report actions for the invoice report PLUS the one that belongs to the transaction thread. I could reproduce." is not fully fixed. Step to reproduce:

In invoice room, create a new invoice to receiver.

Click on report preview to open the invoice report. Observe that there are 2 CREAD report actions in here.

Go to Troubleshoot > Clear cache and restart.

Open the invoice report again. Observer that there is 1 CREATED report actions in here.

@rayane-djouah I push the latest changes in the draft PR.
Also, I updated comment to include my suggestion changes.

@rayane-djouah Ah, my bad. Beside createdIOUReportActionID and createdReportActionIDForThread, I need to send reportActionID to BE as well. Now it works well.
@cristipaval Plz ignore my comment above.

Waiting for the PR to get deployed.

Bump @cristipaval 🙇♂

@cristipaval - Reminder that the old reports with 2 CREATED report actions still need to be cleaned up. Are you tracking this internally?

I don't think it makes sense to spend time on cleaning that as we don't have active users using the invoice rooms yet.
@madmax330, do you think we should run some custom queries to clean the DB, or should we deal with it if it becomes a real problem?

do you think we should run some custom queries to clean the DB, or should we deal with it if it becomes a real problem?

@cristipaval are they real users or test users?
Let's clean them up anyway so we don't spend time looking into it later?

@madmax330 shall we get a new engineer on this? Or are you on it?

@dylanexpensify actually I think we can just close this out since it was fixed already and the 2 report actions don't cause much of a problem

Cool is there a payment summary already?

Payment summary:
Contributor: @truph01 $250
Contributor+: @rayane-djouah $250
Please apply/request!

on it now.

done!


non-ASCII character in header on redirect

I am getting an error on my website with non-ASCII characters ending up in an http header, and Kestrel does not like that. My website has URLs with non-ASCII characters, but I never set headers with such characters. Inspecting the std out logs for my site, I see exceptions like this:
fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[0]
      An unhandled exception has occurred: Invalid non-ASCII or control character in header: 0x00E1
System.InvalidOperationException: Invalid non-ASCII or control character in header: 0x00E1
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.FrameHeaders.ThrowInvalidHeaderCharacter(Char ch)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.FrameHeaders.ValidateHeaderCharacters(String headerCharacters)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.FrameHeaders.ValidateHeaderCharacters(StringValues headerValues)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.FrameResponseHeaders.SetValueFast(String key, StringValues value)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.FrameHeaders.Microsoft.AspNetCore.Http.IHeaderDictionary.set_Item(String key, StringValues value)
   at Microsoft.AspNetCore.Http.Internal.DefaultHttpResponse.Redirect(String location, Boolean permanent)
   at Microsoft.AspNetCore.Mvc.Internal.RedirectResultExecutor.Execute(ActionContext context, RedirectResult result)
   at Microsoft.AspNetCore.Mvc.RedirectResult.ExecuteResult(ActionContext context)
   at Microsoft.AspNetCore.Mvc.ActionResult.ExecuteResultAsync(ActionContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.<InvokeResultAsync>d__19.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.<InvokeNextResultFilterAsync>d__24.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResultExecutedContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.<InvokeNextResourceFilter>d__22.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResourceExecutedContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.<InvokeFilterPipelineAsync>d__17.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.<InvokeAsync>d__15.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Builder.RouterMiddleware.<Invoke>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.<Invoke>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at Microsoft.AspNetCore.Diagnostics.StatusCodePagesMiddleware.<Invoke>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>d__6.MoveNext()

It seems that when a redirect happens, the code in Microsoft.AspNetCore.Http.Internal.DefaultHttpResponse.Redirect is setting a Location header, which is probably one of these URLs with a non-ASCII character...
I could be misunderstanding what is really going on here... but assuming I am not, how can I avoid this problem?

It looks like your MVC action is returning Redirect(url), correct? How are you generating that url. Urls must be properly encoded when generated, the Redirect methods don't do it for you. Some of the encoding must be done before combining the components or else there are ambiguities.

I see... thanks, that put me on the right track -- I'm essentially using the default ASP.NET Core 2.0 web application template with user accounts. When redirected to the Login page, it passes around a return URL as a query parameter. When that return URL is passed to the Login page, it is no longer encoded. So using that URL to redirect after a successful login will fail if it has a wacky character in it.
It seems that a call to Uri.EscapeUriString before using the returnUrl fixes the problem -- maybe that should be added to the RedirectToLocal method in the default visual studio template's AccountController?

About here?
https://github.com/aspnet/templating/blob/dd8aef8699d911e48d4e7e6f4de6ba9e6860aaa2/src/Microsoft.DotNet.Web.ProjectTemplates/content/StarterWeb-CSharp/Areas/Identity/Controllers/AccountController.cs#L70
@HaoK


I have a question about "deform_op"

我有一个疑问，代码我看过了。在用两个C3特征学习flow之后，flow用来warp，这里我有一点疑问： yolactedge直接将flow resize到指定的h和w，但并没有根据新的h和w算坐标重映射？这理论上来说是不合理的。 举个例子。在3030的flow上，某一点的预测offset为x和y；那将flow resize到6060，该点的offset应该重映射到2x,2y。但yolactedge没有做这一步。源代码如下：
flow = F.interpolate(flow, size=(h, w), mode="area")
pred_feat = deform_op(feat, flow) # warp即： grid sample

Thank you for the question. The flow field was computed as the relative coordinate scaled by a factor of 8 (which means, the maximum range is [-8, 8], and it will be used to generate sampling map (after divided by 8).
Please refer to the code here.

Thank you for the question. The flow field was computed as the relative coordinate scaled by a factor of 8 (which means, the maximum range is [-8, 8], and it will be used to generate sampling map (after divided by 8).
Please refer to the code here.


Error when set text2image_xl.py#L205 guidance_scale=0.0

error message as follow:
Traceback (most recent call last):   File "text2image_xl.py", line 597, in <module>     main()   File "text2image_xl.py", line 576, in main     images = pipeline.forward(   File "fouriscale/lib/python3.8/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context     return func(*args, **kwargs)   File "text2image_xl.py", line 358, in forward     added_cond_kwargs = {"text_embeds": add_text_embeds, "time_ids": add_time_ids}   File "fouriscale/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl     return forward_call(*args, **kwargs)   File "fouriscale/lib/python3.8/site-packages/diffusers/models/unet_2d_condition.py", line 930, in forward     sample, res_samples = downsample_block(   File "fouriscale/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl     return forward_call(*args, **kwargs)   File "fouriscale/lib/python3.8/site-packages/diffusers/models/unet_2d_blocks.py", line 1053, in forward     hidden_states = attn(   File "fouriscale/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl     return forward_call(*args, **kwargs)   File "fouriscale/lib/python3.8/site-packages/diffusers/models/transformer_2d.py", line 309, in forward     hidden_states = block(   File "fouriscale/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl     return forward_call(*args, **kwargs)   File "fouriscale/lib/python3.8/site-packages/diffusers/models/attention.py", line 194, in forward     attn_output = self.attn1(   File "fouriscale/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl     return forward_call(*args, **kwargs)   File "fouriscale/lib/python3.8/site-packages/diffusers/models/attention_processor.py", line 322, in forward     return self.processor(   File "text2image_xl.py", line 156, in __call__     key = key.view(3, batch_size_prompt, attn.heads, -1, head_dim) RuntimeError: shape '[3, 0, 10, -1, 64]' is invalid for input of size 4915200

Thank for your reply, and apologize in advance for not being very familiar with your code.
I'm now trying to combine T-GATE with your code to reduce the inference time. T-GATE divides the denoising process into two stages. The separated step is indicated by the variable gate_step. Specifically, I quote T-GATE repo:
if gate_step == cur_step:
    hidden_uncond, hidden_pred_text = hidden_states.chunk(2)
    cache = (hidden_uncond + hidden_pred_text ) / 2

if cross_attn and (gate_step<cur_step):
    hidden_states = cache

T-GATE is also customize attention process as you did. when cur_step<gate_step, it denoises in latent_model_input = torch.cat([latents] * 2), you did this process in latent_model_input = torch.cat([latents] * 3).
Now, I've modified text2image_xl.py so that the de-noising process before the gate_step runs successfully.
In the denoising step > gate_step, T-GATE denoise latent in latent_model_input=latent way, I quote HaozheLiu-ST/T-GATE/blob/main/SDXL/pipeline_stable_diffusion_xl.py#L1700-L1709
if self.do_classifier_free_guidance and i < gate_step:
    latent_model_input = torch.cat([latents] * 2)
    prompt_embeds = cfg_embeds
    added_cond_kwargs = {"text_embeds": cfg_add_text_embeds, "time_ids": cfg_add_time_ids}
else:
    latent_model_input = latents
    prompt_embeds = negative_prompt_embeds
    added_cond_kwargs = {"text_embeds": negative_add_text_embeds, "time_ids": negative_add_time_ids}
latent_model_input = self.scheduler.scale_model_input(latent_model_input, t)

My current denoising super-parameters are:
# for FouriScale. I reduce inference step to gain a blance between generative qulity and cost
num_inference_step=30
start_step=12
end_step=21

# for T-GATE
gate_step=10

showed as:

When denoising to the cur_step = gate_step+1. At this point, the denoising process will be carried out in the same way as guidance_scale=0.0 mentioned in the question on this issue.
Traceback (most recent call last):
  File "FouriScale/text2image_xl.py", line 640, in <module>
    main()
  File "FouriScale/text2image_xl.py", line 618, in main
    images = pipeline.forward(
  File "torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "FouriScale/text2image_xl.py", line 394, in forward
    noise_pred = unet(
  File "torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
  File "diffusers/models/unet_2d_condition.py", line 1112, in forward
    sample, res_samples = downsample_block(
  File "torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
  File "diffusers/models/unet_2d_blocks.py", line 1160, in forward
    hidden_states = attn(
  File "torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
  File "diffusers/models/transformer_2d.py", line 392, in forward
    hidden_states = block(
  File "torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
  File "diffusers/models/attention.py", line 372, in forward
    hidden_states = attn_output + hidden_states
RuntimeError: The size of tensor a (2) must match the size of tensor b (3) at non-singleton dimension 0

I'm sry that I did not clearly state my problem in the last issus post, and thank for your replay. I think that your reply does not apply to integrating T-GATE into FouriScale for acceleration. And I haven't figured out how to further modify text2img_xl.py.
I hope I have made my problems clear this time. I am looking forward to your reply.
Sincerely,
Ruizhe

Modified text2img_xl.py is
text2image_xl.zip

According to the provided error, it appears that you should mainly modify the file of model.py.
Since you only use the unconditional estimation when cur_step > gate_step, you should feed a flag into the FouriConvProcessor_XL (Line 354 of text2image_xl.py). This flag would signal that the unconditional estimation is being utilized, akin to how the "apply_filter" flag functions.
Within model.py, this flag should be evaluated to determine if only unconditional estimation will be generated. If so, the input should be processed with the aforementioned adjustments:

Adjust the Mask Kernel Usage: Originally, our code utilized three mask kernels, as seen in line 261 of model.py: torch.cat([mask, mask, weak_mask], 0). To adapt to using a single mask kernel, modify this line to low_filtered_input_fft = filtered_input_fft * mask. This change simplifies the process by employing only one mask kernel.

Revise the Mask Repetition Process: In line 186 of model.py, the mask is repeated for a setup that assumes three latents: mask = mask.unsqueeze(0).unsqueeze(0).repeat(B // 3, C, 1, 1).to(input.device). Given that we are now working with a single latent scenario, change this line to mask = mask.unsqueeze(0).unsqueeze(0).repeat(B, C, 1, 1).to(input.device) to reflect the new requirement.

Please feel free to contact us if you have any further questions.


Make chokidar an optional dependency

I guess flow-copy-source has some watch commands, but I don't use them, and its old version of chokidar depends on an old version of fsevents which doesn't build on Node 12.

Fsevents itself is an optional dependency of chokidar, so there shouldn't be an issue. The fsevents dependency can fail to install (and will fail on any non-MacOS platform) without causing the install of flow-copy-source or chokidar to fail. Please let me know if you see flow-copy-source failing to install on any current version of Node.
If it can be avoided, I'd rather not have any functionality gated on an optional dependency. If an optional dependency was involved, I'd want it wrapped in something that could provide fallback support to give the functionality when the optional dependency wasn't there. Chokidar is that wrapper that provides fallback support in case fsevents isn't installed.
(The current version of flow-copy-source depends on the latest version of chokidar which optionally depends on the latest version of fsevents, though fsevents only compiles on MacOS.)

I see.  Unfortunately it seems like ignoring optional dependencies with yarn isn't very convenient.  In any case I'm out of luck until Babel 8 is released, because @babel/cli 7 depends on the old fsevents.


1.4 Use Cases

Change the second sentence to, "The description of these use cases provides examples for how the TOE and its Operational Environment could support the functionality required by this PP-Module."
The original wording mentions "instructions" but there are no instructions in the descriptions. Furthermore, the descriptions of the use cases simply provide examples of components in each scenario and say nothing about how to support the functionality required by this PP-Module.

This issue should have been attached to the client and server modules.

This issue should have been attached to the client and server modules.

Adoptd the recommendd language in both modules.

Adoptd the recommendd language in both modules.


make the number of vertices in testVertexCentricQuery configurable

LGTM.   Can you please accept the Titan CLA (http://titan-cla.datastax.com/) before I merge?

pulling into new PR based off titan11


Fix invalid data block being sent by hid_send_filled_feature_report

hid_send_filled_feature_report in it's current form sends the nobts parameter as part of the data, resulting in a invalid data block being sent and in my usecase, hidapi's hid_send_feature_report function failing and throwing ioctl (SFEATURE): Broken pipe. This PR fixes that. Also, as far as I can tell, the maximum length checks for the data didn't take all the non-data paramers into account, so I've adjusted the conditions for the error messages.
Both hid_send_feature_report and hid_send_filled_feature_report seem to be working with this fix applied, but I've only been able to test it on my machine (Arch Linux, X-Plane 11.55).

Thanks for the PR. Could you provide a script that I can use to make sure this is working on all platforms? It would be great if it was included in the Scripts (disabled) folder as a test case.

Thanks for the heads-up, I've added a basic test case/demo and verified that it works on my machine.


Auto theme detection not reliable when it depends on a classList value

This is a great package, thank you for maintaining @jerrywu001.
I have a small complaint on the auto theme detection.
It appears as though these lines of code assume that a user will be setting the theme as a classlist on the document element.
It would be more robust and user-friendly to detect theme from client theme preference, rather than forcing consumers of the package into the overhead of adding to the classlist of the document element.
Suggestion to use window.matchMedia, combined with listener for subsequent changes in theme preference, as it is more flexible for users.

export function getSystemTheme(): ToastTheme {
  const prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
  const customDark = document.documentElement.classList.contains('dark');

  return customDark ? 'dark' : prefersDark ? 'dark' : 'light';
}

The custom theme class should have a higher priority. When there is no 'dark' class on the html, the system theme change will be judged. I think this is more reasonable.


Add react-native-photoeditorsdk and react-native-videoeditorsdk

react-native-photoeditorsdk and react-native-videoeditorsdk are the official React Native integrations for the native PhotoEditor SDK and VideoEditor SDK.

Thanks for the PR.


Migrating to ec2_instance

Using ec2_instance module instead of ec2.
Using cloud-init facts to check if boot process is complete
Adding region setup for ec2 create and destroy

Is something missing?

I am closing as it seems that original OP did not pursuit in fixing noted issues. Please feel free to reopen.


json-schema-for-humans: 0.47 -> 1.0.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for json-schema-for-humans is: Quickly generate HTML documentation from a JSON schema
meta.homepage for json-schema-for-humans is: https://github.com/coveooss/json-schema-for-humans
meta.changelog for json-schema-for-humans is: https://github.com/coveooss/json-schema-for-humans/releases/tag/v1.0.1
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.0.1 with grep in /nix/store/qc22jczm0aac0lvkhpq7ysd9vd2v6g31-python3.11-json-schema-for-humans-1.0.1
found 1.0.1 in filename of file in /nix/store/qc22jczm0aac0lvkhpq7ysd9vd2v6g31-python3.11-json-schema-for-humans-1.0.1

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

4 package rebuild(s)

First fifty rebuilds by attrpath

json-schema-for-humans
python311Packages.json-schema-for-humans
python312Packages.json-schema-for-humans

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/qc22jczm0aac0lvkhpq7ysd9vd2v6g31-python3.11-json-schema-for-humans-1.0.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A json-schema-for-humans https://github.com/r-ryantm/nixpkgs/archive/7f16302d55f9a2849bcb0859417828f1cfb85812.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/7f16302d55f9a2849bcb0859417828f1cfb85812#json-schema-for-humans

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/qc22jczm0aac0lvkhpq7ysd9vd2v6g31-python3.11-json-schema-for-humans-1.0.1
ls -la /nix/store/qc22jczm0aac0lvkhpq7ysd9vd2v6g31-python3.11-json-schema-for-humans-1.0.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

4 packages built:

json-schema-for-humans (python311Packages.json-schema-for-humans)
json-schema-for-humans.dist (python311Packages.json-schema-for-humans.dist)
python312Packages.json-schema-for-humans
python312Packages.json-schema-for-humans.dist

Maintainer pings
cc @astro for testing.

Result of nixpkgs-review pr 310083 run on x86_64-linux 1

4 packages built:

json-schema-for-humans (python311Packages.json-schema-for-humans)
json-schema-for-humans.dist (python311Packages.json-schema-for-humans.dist)
python312Packages.json-schema-for-humans
python312Packages.json-schema-for-humans.dist


PB 35 Too many function parameters or unused ones

Proposed change

Removed unused function parameters to improve readability and maintainability.
Type of change

[ ] Dependency upgrade
[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New integration (thank you!)
[ ] New feature (which adds functionality to an existing integration)
[ ] Deprecation (breaking change to happen in the future)
[ ] Breaking change (fix/feature causing existing functionality to break)
[x] Code quality improvements to existing code or addition of tests

Additional information

This PR fixes or closes issue: PB-35
This PR is related to issue: Too many function parameters or unused ones
Link to documentation pull request: https://software-evolution-project-2023-group10.atlassian.net/jira/software/projects/PB/boards/1?selectedIssue=PB-35

Checklist

[x] The code change is tested and works locally.
[x] Local tests pass. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[ ] I have followed the development checklist
[ ] I have followed the perfect PR recommendations
[x] The code has been formatted using Black (black --fast homeassistant tests)
[ ] Tests have been added to verify that the new code works.

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated for www.home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[ ] The manifest file has all fields filled out correctly.
Updated and included derived files by running: python3 -m script.hassfest.
[ ] New or updated dependencies have been added to requirements_all.txt.
Updated by running python3 -m script.gen_requirements_all.
[ ] For the updated dependencies - a link to the changelog, or at minimum a diff between library versions is added to the PR description.
[ ] Untested files have been added to .coveragerc.

To help with the load of incoming pull requests:

[ ] I have reviewed two other open pull requests in this repository.

Unfortunately, there are failing tests:
test-log.txt
After a quick look at your changes, I think that the problem is that functions annotated by @callback are often registered in the core of home assistant. Hence, the functions have call sites that you can't refactor and some of the unused argument code smells are actually false positives.
@freahlChalmers How should we proceed with these changes?


[ENH] linearized log-loss

This adds the linearized log-loss as a probabilistic metric.

Codecov Report
Patch coverage: 52.38% and project coverage change: -0.11% :warning:

Comparison is base (a375be4) 71.06% compared to head (81b2c99) 70.95%.
Report is 1 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #81      +/-   ##
==========================================
- Coverage   71.06%   70.95%   -0.11%
==========================================
  Files          91       91
  Lines        4862     4886      +24
  Branches      892      802      -90
==========================================
+ Hits         3455     3467      +12
- Misses       1186     1197      +11
- Partials      221      222       +1

Files Changed
Coverage Δ

skpro/metrics/__init__.py
100.00% <ø> (ø)

skpro/metrics/_classes.py
83.07% <52.38%> (-5.92%)
:arrow_down:

... and 5 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Potential implementation of "indent" option.

My current work-around for #190. Not sure about the correctness, but in case I got it right, here's a PR for your convenience.

No thank you.

Ok then. Was my implementation bad (or too laborious to judge as right), or did you intentionally remove the indent option?
Independent of whether people should be able to configure it, would you prefer to have a named variable or constant for the magic 4s? (I could prepare that as another PR if you like.)

No thank you.


Prometheus 2 yields "no token found" when parsing Quobyte exports

Quobyte has its own metric system with a Prometheus export in every service. We use the Protocol Buffer format, which worked well with Prometheus <2.0.
All tested Prometheus 2 builds (beta+rc) yield a "no token found" error however and the following log output (prometheus-2.0.0-rc.2.linux-amd64):
level=warn ts=2017-11-02T09:27:49.860892044Z caller=scrape.go:673 component="target manager" scrape_pool=quobyte_consul target=http://<IP_ADDRESS>:55001/prometheus msg="append failed" err="no token found"
Here are the HTTP headers:
$ wget -S http://<IP_ADDRESS>:21001/prometheus
--2017-11-02 10:29:04--  http://<IP_ADDRESS>:21001/prometheus
Connecting to <IP_ADDRESS>:21001... connected.
HTTP request sent, awaiting response...
  HTTP/1.1 200 OK
  Date: Thu, 02 Nov 2017 09:29:04 GMT
  Content-type: application/vnd.google.protobuf; proto=io.prometheus.client.MetricFamily; encoding="delimited"
  Content-length: 209377
Length: 209377 (204K) [application/vnd.google.protobuf]

I tried both chunked and non-chunked encoding, adding and removing " in the values of the Content-type, none of that helped.
Output ist written with:
CodedOutputStream outputstream = CodedOutputStream.newInstance(bos);
... loop over Metrics and do:
outputstream.writeInt32NoTag(data.getSerializedSize());
metricFamily.writeTo(outputstream);
outputstream.flush();

Can you see if this is a response header problem or a problem in the response body? Is there any way to get better error information from Prometheus?

Hi, we are tracking protobuf support for Prom 2.0 here: https://github.com/prometheus/prometheus/issues/2788
Any chance you can move over to the text format? If you have good reasons to stick to protobuf, could you detail them in the issue linked, it will help us evaluate if we should be supporting protobuf in 2.0.

Ok, we'll add text format.


egui-extras: add ReqwestLoader as alternative to EhttpLoader

This PR adds new http loader (ReqwestLoader) to egui-extras, as an alternative to EhttpLoader.
If the rest of the project uses reqwest+tokio, using this new loader (that uses reqwest instead of ehttp) reduces project dependencies (in my case this was c. -35 crates & -0.3MB binary size in release).
Considering reqwest popularity (according to crates.io reqwest has more daily downloads than ehttp of all time, I don't know how this looks like for egui users only, but I guess it's still popular), I think this loader would better fit integrated into official egui-extras than as separate crate (but if You would find this fits better outside egui, I would probably release this as separate crate).
There is a small catch, about using ReqwestLoader, but I described it in feature description (even if sb misses it, it should error in a descriptive way).

This fits better as a 3rd-party crate. The point of the design of the byte-loaders is that you should easily be able to pick-and-chose which ones to use. In this case, disable the http feature of egui_extras and then just add the reqwest-based loader from a 3rd party crate (egui_reqwest_loader or whatever).
I appreciate that you want to minimize the number of dependencies. That's exactly why I chose ehttp (which uses the popular ureq on native) as the default. Here is a comparison of the dependency tree of ureq vs reqwest:


How to add an animation each time  Widget build(BuildContext context) is called

Hi everyone,
Here my Widget build(BuildContext context):
@override
Widget build(BuildContext context) {
if (isAuth) {
return buildAuthScreen();
} else if (isRegister) {
return buildRegisterUnAuthScreen();
} else {
return buildUnAuthScreen();
}
}
}
I wanted to know if there is way to called a animation each time my Widget build(BuildContext context) function is called and a new page is return, so that the new Page is return with an animation.
I already know, that there is a way to do it with Animation Page route, but i only want to display an animation when displaying a new buildScreen.
Thank you ,

Questions like these are better suited for Q&A sites like StackOverflow or on one of the flutter community sites at https://flutter.dev/community


Incorrect description of az webapp config storage-account command

Describe the bug
In the description of the az webapp config storage-account add command
Add an Azure storage account configuration to a web app. (Linux Web Apps and Windows Containers Web Apps Only).

However, Windows Web Apps can also mount  Storage Account file shares.
Perhaps we might consider revising this part for clarity?
Related command
none
Errors
none
Issue script & Debug output
none
Expected behavior
I would like to propose to remove the following sentence from the description of the az webapp config storage-account command
 (Linux Web Apps and Windows Containers Web Apps Only)

Environment Summary
none
Additional context
No response

Thank you for opening this issue, we will look into it.


Add configuration option to allow for a passphrase to be specified.

Add passphrase configuration for SSH connections
add strict.host.key.checking configuration flag
fixes #431
addresses strictHostKeyChecking request in #101

@cfraser Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

Put this up while I go through the internal process of getting approval to sign the CLA.

Current coverage is 68.42% (diff: 20.00%)

Merging #535 into master will decrease coverage by 0.38%

@@             master       #535   diff @@
==========================================
  Files            61         62     +1
  Lines          2068       2090    +22
  Methods           0          0
  Messages          0          0
  Branches        345        350     +5
==========================================
+ Hits           1423       1430     +7
- Misses          505        521    +16
+ Partials        140        139     -1

Powered by Codecov. Last update 25b25fe...3d619c5

@ryanjbaxter Working on them now.

Similar to #521

Working on getting the CLA approval now.

@cfraser Thank you for signing the Contributor License Agreement!

Looking forward to contributing more frequently.
Would the help wanted tagged items be a good place to start?

@ryanjbaxter @spencergibb Let me know if there's any additional work I need to complete in order for this PR to be accepted.
Thanks for taking the time to review my work.

Is there overlap with #521

I don't think there is direct overlap. I believe #521 is an attempt to implement the ssh with password authentication method that jGit supports. Here's an article that details the different authentication methods: http://www.codeaffine.com/2014/12/09/jgit-authentication/. This PR is only targetting passphrases and strict key checking.
Having said that, I think that #521 should consider using an approach that leverages the Session object as detailed in the article I linked.

@spencergibb Tried to resolve the merge conflict by rebasing to master. Let me know if there's further action I need to take.

github thinks there are still conflicts.

@spencergibb I'll re-resolve.

Aha! Added the upstream, fetched, and rebased. Will resolve a conflict and update.

looks like more conflicts. I'm trying to clear out the queue this week if you can get back to it.

@cfraser sorry it's taken so long.

@spencergibb I'm just happy I can contribute! Things get busy, I understand. :)
I'll try to clear up the conflicts tomorrow morning.

Thanks for you patience, contribution and politeness!

@spencergibb Resolved the conflicts. Sorry for the delay.

@cfraser I'm afraid I'm going to need your help. I'm trying to squash your commits and am not having any success.

@spencergibb squashed commits, and re-resolved conflicts.
:crossed_fingers:

As I mentioned on #521, I think the strict host key checking should maintain its behavior of being on by default. If I'm reading things correctly, this PR has changed it to off by default. That seems potentially unsafe and at least something that should be made clear as a behavior change if kept.

Thanks, I missed that. It should stay the same

The extra caveat is that previously file: URLs had strict host key checking off. Perhaps that should remain unconditionally off, and the newly introduced configuration property should only be for non file: URLs.

I'll open a PR with a fix.

I'll work on a PR that fixes these issues.


Test (this) pipeline for creating new endpoint in S3/Cloudfront

Using this pipeline, take stored files in S3, process them into (legacy low-level) JSON, create metadata, and push them into S3 for Cloudfront distribution.

Tested partial using noctua-models dev. Need to re-test with production.
See: https://github.com/geneontology/go-fastapi/issues/114#issuecomment-2542904291


Rewrite receive data path using Bytes as data buffers

The Bytes library can be used to implement zero-copy data manipulation. It should be possible to use Bytes to manage received data from UDP socket to data deserialization stage.

Implemented in version 0.2.4

Implemented in version 0.2.4


CFG Recover a simple ARM binary

Lets start with a simple binary, maybe the equivalent of:
int main() {
  return 0;
}

This will need some questions answered, and a new CFG.proto that will eventually hold ARM and x86.
Questions:

What are the idc.NN_ opcodes or ARM opcode?
How many memory/external/code references can each ARM instruction have?
How do we handle branching and returns?

This should now be working in mcsema-remill!


Splunk: Allow specifying port

Fixes #1214

Just FYI, I filed that issue because I found that bug writing tests. If you'd prefer to fix it I'll rebase mine on top of this.
See https://github.com/kk7ds/home-assistant/commit/0a904acd4dd163a7c09c5efd62b7b3dd1baebbeb

Oops, Didn't realize you already fixed it.


2638 create a course minor changes

Context
Content updates
Changes proposed in this pull request
Fixed page title consistence to be the same as the h1.
Amend content for GCSE requirements for applicants
Guidance to review
Create course
browser tab show be the same as h1
What type of course?

Pick a primary subject

Pick a secondary subject

Specify an age range

Pick a course outcome

Is it fee paying or salaried?

Full time or part time?

Pick the locations for this course

Who is the accredited body?

GCSE requirements for applicants

When will applications open?

When does the course start?

Check your answers before confirming

Is this a teaching apprenticeship?

Content change for GCSE requirements for applicants page content

Checklist

[x] Make sure all information from the Trello card is in here
[x] Attach to Trello card
[x] Rebased master
[x] Cleaned commit history
[x] Tested by running locally

 Create a course minor changes


Replace 'TrueClass' with 'Boolean'

After upgrading Fastlane from 2.81.0 to 2.95.0, we started getting an error when passing false for build_simulation_mode in update_info_plist_for_blackberry_mam.
You passed invalid parameters to 'update_info_plist_for_blackberry_mam'
'build_simulation_mode' value must be a TrueClass! Found FalseClass instead.

Doing some research into TrueClass reveals "The global value true is the only instance of class TrueClass and represents a logically true value in boolean expressions". Source
I fixed this by replacing TrueClass with Boolean which will allows both true and false.
Additionally, RuboCop was reported a few configuration errors (shown below) which I resolved.
.rubocop.yml: Style/VariableNumber has the wrong namespace - should be Naming
.rubocop.yml: Style/PredicateName has the wrong namespace - should be Naming
.rubocop.yml: Style/FileName has the wrong namespace - should be Naming
Error: The `Style/MethodMissing` cop has been split into `Style/MethodMissingSuper` and `Style/MissingRespondToMissing`.
(obsolete configuration found in .rubocop.yml, please update it)

@lyndsey-ferguson Please review

@lyndsey-ferguson Here's the output from when I run rake from the root of the repo. I thought you would be back today, when will you be back in the office?
c02w10dkhtd5:blackberry_mam frank.manns$ rake
/usr/local/Cellar/ruby/2.5.0/bin/ruby -I/usr/local/lib/ruby/gems/2.5.0/gems/rspec-support-3.7.1/lib:/usr/local/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib /usr/local/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb

Fastlane
  Fastlane::FastFile
    BlackberryMamNetworkCheckAction
      bxcheckin.good.com:443
Logging disabled while running tests. Force them by setting the DEBUG environment variable
        passes if able to connect
        fails if unable to connect
      bxenroll.good.com:443
        passes if able to connect
        fails if unable to connect
      gdentgw.good.com:443
        passes if able to connect
        fails if unable to connect
      gdmdc.good.com:443
        passes if able to connect
        fails if unable to connect
      gdmdc.good.com:49152
        passes if able to connect
        fails if unable to connect
      gdrelay.good.com:443
        passes if able to connect
        fails if unable to connect
      gdrelay.good.com:15000
        passes if able to connect
        fails if unable to connect
      gdweb.good.com:443
        passes if able to connect
        fails if unable to connect
      gdcloudgc.good.com:49160
        passes if able to connect
        fails if unable to connect
      gdcloudgc.good.com:49160
        is not checked when :check_cloud_control is false

Fastlane
  Fastlane::FastFile
    BlackberryMamVersionAction
      WHEN calling action with the GD.framework installed
        THEN the version number is returned
      WHEN calling action with the GD.framework not installed
        THEN an error is thrown

Fastlane
  Fastlane::FastFile
    UpdateInfoPlistForBlackberryMamAction
      WHEN setting the basic required values on a simple Info.plist
        THEN the GDApplicationID is set correctly
        THEN the GDApplicationVersion is set correctly
        THEN the GDLibraryMode is set to Enterprise
        THEN the CFBundleURLTypes contains only the Good URL Schemes
      WHEN setting the export method to app-store on a simple Info.plist
        THEN the CFBundleURLTypes does not contain the com.good.gd.discovery.enterprise scheme
      WHEN setting the export method to app-store on a Existing Info.plist
        THEN the CFBundleURLTypes is updated and does not contain the com.good.gd.discovery.enterprise scheme
      WHEN setting the optional Good Version Number on a Simple Info.plist
        THEN the GDApplicationVersion is set correctly
      WHEN setting the build_simulation_mode on the Simple Info.plist
        THEN the GDLibraryMode is set to GDEnterpriseSimulation
      WHEN providing a missing or invalid plist
        THEN it fails appropriately when no plist file provided
        THEN it fails appropriately when an invalid plist file provided
      WHEN providing a missing or invalid Good App Id
        THEN it fails appropriately when no Good App Id provided
        THEN it fails appropriately when an empty Good App Id provided
        THEN it fails appropriately when a Good App Id > 35 letters is provided
        THEN it fails appropriately when a Good App Id with uppercase letters is provided
      WHEN invalid Good Version Numbers
        THEN it fails appropriately when the Good Version Number begins with 0
        THEN it fails appropriately when the Good Version Number's first section has a non-digit
        THEN it fails appropriately when the Good Version Number's next section starts with 0
        THEN it fails appropriately when the Good Version Number's next section contains a non-digit
        THEN it fails appropriately when the Good Version Number has a section with too many numbers
        THEN it fails appropriately when the Good Version Number has too many sections
      WHEN invalid export method is given
        THEN it fails appropriately
      WHEN invalid build_simulation_mode is given
        THEN it fails appropriately
      WHEN the version of the Good SDK is v<IP_ADDRESS>08 or greater
        THEN there are no sc discover scheme's

Finished in 0.21769 seconds (files took 0.83087 seconds to load)
44 examples, 0 failures

Running RuboCop...
Inspecting 1 file
.

1 file inspected, no offenses detected

No, unfortunately I am stuck in Miami due to flight cancellations

Thanks Frank

Released v1.2.1


[ENG-6242] Missed a field to reset on public preregistrations

Ticket: ENG-6242
Feature flag: n/a

Purpose
A field was not reset on the changeSet and an error was occuring.
Summary of Changes
Reset the field when the user clicked "No" or "Not Applicable"

Update: reverted this fix and forced pushed previous version to the feature branch.


Update README.md

Are there any problem with this PR? @takahi-i

Oops! I am very sorry for making you wait @kenhys! And thank you so much for the fixes!

Thank you for merging PR!

LGTM


Update README with link to PHPStan website

I created a new PHPStan website with full-fledged documentation, so I'd like all links to reflect this :) Thanks.

@ondrejmirtes
Thank you for your pull request, but I'd prefer to keep the link to the canonical source, that is, the GitHub repository.


Add note about permissions to upgrading.md

@kostasb pointed this out:
The command that imports the meta directory in 0.12:
influxd restore -metadir=<path_to_012_meta_directory> <path_to_metastore_backup>

if run by the root user, will leave the /var/lib/influxdb/meta/meta.db file owned by root without write permission from anyone else.  I suspect that the InfluxDB service may not be able to write in the meta database if it starts with such permissions, but I’ve not seen or heard any issues so far. We should add a chown influxdb:influxdb /var/lib/influxdb/meta/* command.

👍


Remove Varnish interception of error pages

We should remove the default interception of error pages from the default Varnish configuration.
https://github.com/drupalwxt/helm-drupal/blob/master/drupal/values.yaml#L766

I guess it could be commented out such that it is kept as an example.

This is now commented out by default :)


RE7 crash

Hi,
The game crash at the start, working few days ago.
re2_framework_log.txt
reframework_crash.dmp.txt
I've done a clean Install Launch the game without vr mod --> OK
Copied the niglthly release or the stable REFramework release --> KO
Maybe since the last RE7 update on steam ?
Thanks !

Same here,
Crash at startup after last game update.
My logs are pretty the same (related to dinput8.dll)
[2022-06-18 00:30:37.458] [REFramework] [error] Exception occurred: c0000005
[2022-06-18 00:30:37.458] [REFramework] [error] RIP: 7ffb2747bcca
[2022-06-18 00:30:37.458] [REFramework] [error] RSP: d03b3ff170
[2022-06-18 00:30:37.458] [REFramework] [error] RCX: fffffffffffff000
[2022-06-18 00:30:37.458] [REFramework] [error] RDX: 200000000
[2022-06-18 00:30:37.458] [REFramework] [error] R8: 0
[2022-06-18 00:30:37.458] [REFramework] [error] R9: 1000
[2022-06-18 00:30:37.458] [REFramework] [error] R10: 8000
[2022-06-18 00:30:37.458] [REFramework] [error] R11: d03b3ff0d0
[2022-06-18 00:30:37.458] [REFramework] [error] R12: 240c49da490
[2022-06-18 00:30:37.458] [REFramework] [error] R13: 240c49da4a0
[2022-06-18 00:30:37.458] [REFramework] [error] R14: 7ff75af756b8
[2022-06-18 00:30:37.458] [REFramework] [error] R15: 240c49da520
[2022-06-18 00:30:37.458] [REFramework] [error] RAX: 0
[2022-06-18 00:30:37.458] [REFramework] [error] RBX: 23fb0470520
[2022-06-18 00:30:37.458] [REFramework] [error] RBP: d03b3ff270
[2022-06-18 00:30:37.458] [REFramework] [error] RSI: 8
[2022-06-18 00:30:37.458] [REFramework] [error] RDI: 1
[2022-06-18 00:30:37.458] [REFramework] [error] EFLAGS: 10256
[2022-06-18 00:30:37.458] [REFramework] [error] CS: 33
[2022-06-18 00:30:37.458] [REFramework] [error] DS: 2b
[2022-06-18 00:30:37.458] [REFramework] [error] ES: 2b
[2022-06-18 00:30:37.458] [REFramework] [error] FS: 53
[2022-06-18 00:30:37.458] [REFramework] [error] GS: 2b
[2022-06-18 00:30:37.458] [REFramework] [error] SS: 2b
[2022-06-18 00:30:37.458] [REFramework] [error] Module: 7ffb271f0000 D:\Jeux\steamapps\common\RESIDENT EVIL 7 biohazard\DINPUT8.dll

https://github.com/praydog/REFramework-nightly/releases/


Blank Customizer and console errors on 3.0.17-dev (Syntax and Reference errors)

Issue description:
Uncaught SyntaxError: Unexpected token .
script.js:3351
Uncaught ReferenceError: kirkiAllFonts is not defined
at child.getFonts (script.js:3351)
at child.renderFontSelector (script.js:3123)
at child.initKirkiControl (script.js:3035)
at child.ready (script.js:3023)
at Object. (customize-controls.js:3630)
at i (jquery.js:2)
at Object.add [as done] (jquery.js:2)
at child.initialize (customize-controls.js:3627)
at child.api.Class (customize-base.js:94)
at child [as constructor] (customize-base.js:35)
Version used:
3.0.17-dev
Using theme_mods or options?
theme_mods
Code to reproduce the issue (config + field(s))
Not sure it's coming from my code. I am on the latest Wordpress release nightly (5.0). Haven't got that far with the trouble-shooting.

same issue on our installation too...
we have this output on source code of our WP admin page on customization


[Event Request]Application “Tests-Workflow”, 134218 "WFWH Entries Test"

[Event Request]Application “Tests-Workflow”, 134218 "WFWH Entries Test"
Could you please insert the OnTestInitialize Event at the beginning of Initialize procedure:

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Add lowercase directives followup

Changes
Followup to PR #283.

Removed the UppercaseDirectives linter option from the code base.
Fixed the use of the new DirectiveCase linter option. Most references used DirectiveCasing, now all references use DirectiveCase.

Checklist

[x] have tested my change
[ ] updated relevant documentation
[x] Remove any/all console.logs I added
[x] eslint is not complaining
[x] have added myself to the contributors' list in the README
[ ] for feature PRs: PR only includes one feature enhancement.

@richardm90 Sorry my friend - any chance you can fix the conflicts here? I switched out our ugly test suite for a brand new one using vitest, which works across all platforms now!

Fixed conflicts


Typedoc?

It's in the repo name, but based on @Gerrit0 's comments and what we're trying to do, maybe it's not the right tool?
I think certainly it's the starting point, and the point of this project is not to create a TS doc generator.
The main motivating thought here is that typedoc has to do a ton of things that we don't care about:

plugins
different output formats
themes

Whereas we want basically to have consistent, generic docs for all the packages.  Possibly a narrower tool serves the purpose better, without the pain.
Or maybe using typedoc as a lib ultimately serves us perfectly, or we contribute what we need upstream.
Bonus points for ripping off Gerrit without attribution 🚎

This is a good question and I don't have any good answers.
I have always assumed typedoc is the only tool that correctly uses TS's typechecking APIs to document (inferred) types correctly.  That assumption might be wrong; I'm not sure.
Is apiextractor worth looking at?
https://api-extractor.com/

Things I would change if I was designing a tool from the ground up today, rather than maintaining something that's been around for a while:

Tie into what TypeScript does more. TypeScript parses comments, and there's a very nice Symbol.getDocumentationComment method that gives you parsed docs! This is what the VS language server uses, so what it returns will usually be better. TypeDoc doesn't use it because TypeDoc tries to provide good support for namespaces, and comments on namespaces merged with other types behave poorly when you use this method.
Focus on supporting common patterns, not every obscure awful pattern that people can contort TypeScript into doing. Mixins? Sorry, no.
Seriously consider what the point of the documentation is. I believe that a documentation site will never be able to compete with an IDE in being the go to reference for library methods. My usage of MDN dropped by a LOT when I started using VSCode and had go to definition for all the standard functions... I think I've been there like 3 times in the past month, and maybe 1 of those were for a JS function. If the documentation site's goal isn't to compete with quick references - what is it for? One thing it is useful for is getting a feeling for what the API surface of a library you are evaluating looks like. With that goal, do you care about the implementation details of UnionToIntersectionWithBooleanHandling, or do you just care that it exists and takes one type parameter? How much information is useful?

I wonder sometimes why I work on TypeDoc... Personally, I'd rather have a good definition file than TypeDoc generated docs.

Interesting, do you think 1. and 2. could be implemented as breaking changes in a fork of typedoc?  Could 3. be implemented as a more minimal theme?  Could be a fun project, to see how nice we can make typedoc if we embrace breaking changes.

This is a good question and I don't have any good answers.
I have always assumed typedoc is the only tool that correctly uses TS's typechecking APIs to document (inferred) types correctly. That assumption might be wrong; I'm not sure.
Is apiextractor worth looking at?
api-extractor.com

After having toyed with API Extractor for weeks on a similar-ish project on a much smaller small, my opinion is that, given Gerrit's comments on what a documentation site should do, your best bet would be to either go lower level with the TS Compiler API itself (or maybe a package like ts-morph to abstract away some of that) or to just use a hodgepodge of what TypeDoc provides.
API Extractor itself is somewhere in the middle, and in my opinion is just not the right tool if you're looking for a generic enough program that can generate documentation from anything that isn't written with the generator itself in mind.

Maybe it would be valuable to list what you like/don't like about similar projects, especially rust and deno, since those are mentioned as motivation.  I know when I'm stuck doing ruby, where IDE integration is somewhere between hard and impossible, I've found the universal-doc-site-with-all-the-versions to be really useful.
Stuff like layout/presentation is important. I personally find typedoc's default to be hard to navigate, but that's most likely due to lack of using it.  If we plan to take rendering upon ourselves, then we can do whatever we want, and the main problem is extracting the info.
One thing I don't know how to do in vscode for example is to look at the actual JS/TS sources of a function I'm looking at. Granted that's not my most common wish, but sometimes it's really important.

I just remembered https://paka.dev/npm/fp-ts/v/2.10.5/ today, which shares a lot of the same goals as this project, definitely worth looking at and maybe some discussion with @jasonkuhrt.

Oh yeah, I think I remember it popping up on Reddit years ago, but I didn't see it since.  Where is the code?

@cspotcode this is less than a year old so you must be thinking of something else. The tool is private source right now.

@jasonkuhrt that looks great. It's looks like that's actually pretty much the thing i want from the thing we've been talking about. I like all the info in one place.
Any place we can look for more info?  Is it something that's private-for-now or will probably stay that way? Sorry if I missed something obvious. Thanks for dropping in, BTW.

Any place we can look for more info?

You can join our discord for most up to date info if you're curious https://discord.gg/fEGNFsJs.

Is it something that's private-for-now or will probably stay that way?

Uncertain at this point.

that looks great. It's looks like that's actually pretty much the thing i want from the thing we've been talking about. I like all the info in one place.

That's great to hear! More feedback always welcome in Discord.


OAuth2 login broken for new users

information

Gitea version: d22cb600edc2605bd8be25c9079a5ce2c6643547 (recent master i think)
Git version: 2.25.1
Operating system: Ubuntu 20
Built Gitea myself
PostgreSQL

description

User goes to my.domain.com (gitea)
User goes to sign-in -> Sign in with OpenID
Redirection to my SSO OpenID provider login.my.domain.com (keycloak)
User creates a new account there
User redirects back to Gitea
Gitea displays a 500 error. (it cannot create the new user in the gitea database?)

This flow used to work on Gitea 1.13. The (new) gitea user would get a "registration screen" upon redirection from SSO. I recently upgraded to 1.14 and it broke. Today I "upgraded" to 1.15 and that also does not work.
The error from logs:
2021/08/24 15:57:40 ...s/context/context.go:700:1() [D] Session ID: 07facb24e44a0b6e
2021/08/24 15:57:40 ...s/context/context.go:701:1() [D] CSRF Token: fhpt1QEoeMpuc98jIfFK82X-B2o6MTYyOTgxNzI1NzE2NzczMDU2Ng
2021/08/24 15:57:40 models/oauth2.go:19:GetActiveOAuth2LoginSourceByName() [I] [SQL] SELECT "id", "type", "name", "is_active", "is_sync_enabled", "cfg", "created_unix", "updated_unix" FROM "login_source" WHERE (name = $1 and type = $2 and is_active = $3) LIMIT 1 [gitea OAuth2 true] - 767.331µs
2021/08/24 15:57:40 ...ers/web/user/auth.go:616:SignInOAuthCallback() [E] UserSignIn: could not find a matching session for this request
2021/08/24 15:57:40 ...s/context/context.go:184:HTML() [D] Template: status/500

The error is: UserSignIn: could not find a matching session for this request.
Which is this bit of code:
https://github.com/markbates/goth/blob/716f16114cccbcbb9ae15099ec2ffa3b006e43eb/gothic/gothic.go#L321-L331
Here is my (truncated) config:
[service]
REGISTER_EMAIL_CONFIRM            = false

[openid]
ENABLE_OPENID_SIGNIN = false
ENABLE_OPENID_SIGNUP = false

[cache]
ADAPTER  = redis
HOST  = [redacted]

[session]
PROVIDER = file
DOMAIN = my.domain.com
SAME_SITE = none

[oauth2]
JWT_SECRET = [redacted]

[oauth2_client]
ENABLE_AUTO_REGISTRATION = true
USERNAME = userid
ACCOUNT_LINKING = auto

[security]
SECRET_KEY     = [redacted]
INTERNAL_TOKEN = [redacted]

What were these?

Changed it to this:
[oauth2_client]
OPENID_CONNECT_SCOPES = openid
ENABLE_AUTO_REGISTRATION = false
USERNAME = nickname
ACCOUNT_LINKING = auto

Previously I had USERNAME = userid which uses the sub claim, which is a UUIDv4, which doesn't make for nice usernames ;)

I'm still kinda confused by what could be causing this. Maybe we just need to redirect back if we fail.

No idea, but surely it must be something regarding how Gitea uses Goth (goth uses its own session cookie)


Add extra charter controls

Adds quality of life controls to the charter.
Additions/changes:

Youtube hotkeys (without shift) for playback speed (< and >)
Go to start of section (Shift + S)
Go forward and back a step (W and S)

I'm a little unsure why you would need the sections functionality, considering the fact that Codename Engine lacks such a concept. It feels a little misleading to me, especially with how Codename replaces the idea with simple camera switches that are very customizable in how they work.

I'm a little unsure why you would need the sections functionality, considering the fact that Codename Engine lacks such a concept. It feels a little misleading to me, especially with how Codename replaces the idea with simple camera switches that are very customizable in how they work.

There are still no "sections" in the editor/chart. The snap to start of section is really just to snap to the start of the measure. It's just named section for consistancy with the other controls. If the devs want to keep it as section, or change it to measure is up to them.

I'm a little unsure why you would need the sections functionality, considering the fact that Codename Engine lacks such a concept. It feels a little misleading to me, especially with how Codename replaces the idea with simple camera switches that are very customizable in how they work.

There are still no "sections" in the editor/chart. The snap to start of section is really just to snap to the start of the measure. It's just named section for consistancy with the other controls. If the devs want to keep it as section, or change it to measure is up to them.

Ah, alright then. Thanks for the clarification.

I'm a little unsure why you would need the sections functionality, considering the fact that Codename Engine lacks such a concept. It feels a little misleading to me, especially with how Codename replaces the idea with simple camera switches that are very customizable in how they work.

well there is a concept of section, for example look at the public cne build

and u can also visually see a section in the charter by looking at the thickness of lines

and btw im avluing to merge this, im asking thoughts to the others first

I'm a little unsure why you would need the sections functionality, considering the fact that Codename Engine lacks such a concept. It feels a little misleading to me, especially with how Codename replaces the idea with simple camera switches that are very customizable in how they work.

well there is a concept of section, for example look at the public cne build
and u can also visually see a section in the charter by looking at the thickness of lines

Ah, alright. I just usually associated sections similarly to how Psych does (particularly with its cameras), since I tend to code and chart in Psych for some mods while using Codename for the rest.

I'm a little unsure why you would need the sections functionality, considering the fact that Codename Engine lacks such a concept. It feels a little misleading to me, especially with how Codename replaces the idea with simple camera switches that are very customizable in how they work.

well there is a concept of section, for example look at the public cne build
and u can also visually see a section in the charter by looking at the thickness of lines

Ah, alright. I just usually associated sections similarly to how Psych does (particularly with its cameras), since I tend to code and chart in Psych for some mods while using Codename for the rest.

fair fair

fun thingie i noticed: if u spam comma or period it goes beyond the slider's max and min values, lemme fix

lol


Add transposition Linop

This PR adds transposition LinOp such that build the transposition in lazy way or now.
When the behavior is lazy, building transposition will happen in first apply, get_transposition or prepare_transposition.
TODO:

[ ] is ConjTranspose needed? use template or parameter to control?

@Slaedr the original idea is to make IC always return two LinOp.
Currently, IC will return one or two according to both_factor setting
https://github.com/ginkgo-project/ginkgo/discussions/681