Pass data to previous composable in lib

I have 2 Screens: Screen A and Screen B. From Screen A, I open Screen B. And when I return Screen B to Screen A, I want to transfer data back to Screen A.
Is there any solution for this?

use   navController.previousBackStackEntry?.savedStateHandle?.set(key,value) to pass data from Screen B and receive it in A with navController.currentBackStackEntry?.savedStateHandle?.getLiveData(key)

Yeah at the moment there is no special help or support in the library to make this easier or safer.
So as @knightsamir said, that is your solution.
Maybe in the future I can explore something to make this also type safe. But that will be low priority enhancement.
I'm closing this issue. Let me know if this helped @amirzeinaly

yes this solution works but i want to know any safer and easier way is exist in Compose destination lib or not
thanks

It was a totally valid and relevant question! 👍
As I said, maybe I can check something to improve it later. No promises for now though.

@amirzeinaly @knightsamir
New release has a new feature to make this easier and safer. Let me know if you like it 🙂

Thank you you are wonderful


Check if the webui is reloading or being manually closed

This code will check for the string Reloading... to let webui reload without the popup appearing.

I think it's reliable enough at least for now this might break if gradio updates in future


feat(tokens): adds support for token creation to the SDK

Why
Need to support the creation of client side decrypt tokens in the Node JS SDK
How
Add a function to create these tokens
Checklist

[x] Commit messages are formatted as per the convention, and breaking changes are marked

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add column to report the error description for Rejected containers?

Is your feature request related to a problem? Please describe.
Yes. When running a stack in a swarm, and any service gets rejected, there's no way in Portainer to know why it was rejected. Clicking on the "log" icon for that container ("service") just says "No logs available" on the following page....
Describe the solution you'd like
Some way to see what caused the failure/rejection, so we can act accordingly upon it, w/out having to use an external tool (i.e. terminal).
Describe alternatives you've considered
Currently, I have to use the terminal command: docker stack ps --no-trunc <stack name> to see a description of the issue.
Additional context
There's space available where a column could be added to show the error description....

FYI you can click on the task Id in this list to be redirected to the task details view where it shows the error from the task

@itsconquest Thanks, I hadn't seen that before posting this. I suppose then this feature request isn't needed.

I would agree, as a long error would clutter the UI anyways


DynamicDependencies: fix PCWSTR[] access

Also fixed cert access in DevCheck.ps1 causing false errors

Is there a test that was failing, and now won't be?
What issue # are you fixing?

Is there a test that was failing, and now won't be?
Wasn't noticed due to a test gap. Closing that gap is tricky so won't happen this week (I'm on VACA and traveling, just happened to see the issue and have a few...). But @AdamBraden has an easy manual repro,

What issue # are you fixing?
@AdamBraden  just created one. Microsoft-internal task 33487794

/azp run


Separate our storage components into a separate library

A la #1952. I bet tests will fail and I haven't gone through the dependency list yet, but this should let us shrink the classpath of sbt-common.
It also gets most of the VHS pieces out of the common lib, which should make them easier to extract later if we want.

Okay, now I’ve chased all the compiler errors, this is what the new structure looks like:
storage/
    dynamo/
    s3/
    test/fixtures/
    type_classes/
    vhs/


⚠ Legistar has degraded performance

In ccc38fb, Legistar (https://santaclara.legistar.com/) experienced degraded performance:

HTTP code: 200
Response time: 23923 ms

Resolved: Legistar performance has improved in 5e8225c after 23 minutes.


Access denied for user 'root'@'localhost'

I am using nodejs v8.11.1
mariasql 0.2.6
username root
no password
and this is my client config
var c = new Client({
host: '<IP_ADDRESS>',
user: 'root'
});
when I run I have this error
Error: Access denied for user 'root'@'localhost'
when I use mysql -u root
it works fine

you need set port number, and password of maria db


Persist data on our Backend IO Apps (graphql or node API)

What is to be discussed?
For GET request, should we only use the HTTP Cache-control headers and trust the browser?
For caching values, should we use Master Data, VBase that comes with IO, or In-memory DataStores like our Redis clusters?
For persisting values that we would like to retrieve after should we use Master Data, VBase that comes with IO or our Redis clusters?
Describe the solution you'd like
It depends on each case.
If to assemble the response is fast enough, don't even persist or cache anything.
HTTP Cache-control is good enough for resources that don't change based on the url (not suited for graphql) and which is fast enough to assemble the response.
Redis is more suitable for caching instead of persisting values and is faster than persist on VBase, but I've never used on a IO App because it wasn't possible when I wanted (but if it makes sense to be a pattern, we should demand it)
VBase is good enough when you want to store data based on key / value
Master Data is more suitable for complex data with relations that you want to do a search and bring related data

@saviofelixmuniz has solid plans on doing a default MasterData client to be exported from @vtex/api, what would help a lot. He also have been talking about plans to create a UI admin to MasterData, what I think that, when done, could put MD closer to almost all solutions


Add io.opentracing.Span.isFinished() method

To implement the GRPC tracing client interceptor we need to be able to discern if the span has finished or not.  Currently, a volatile variable external to the span is used to track this state.  See https://github.com/opentracing-contrib/java-grpc/pull/36.
The client span needs to be finished in either the ClientCall.cancel() or ClientCall.Listener.onClose() method.  These methods are the last to run in the outbound and inbound threads, respectively.  Depending on whether the client call succeeds or fails, either or both methods may be executed in any order.  See https://github.com/grpc/grpc-java/blob/master/core/src/main/java/io/grpc/ClientCall.java#L47-L50.
By using io.opentracing.Span.isFinished(), each method can check if the span has not already been closed by the other, thus ensuring that span.finish() is only run once.

Currently, a volatile variable external to the span is used to track this state.

What's the problem with that?
Overall, I don't think is the best approach to keep changing OpenTracing API to compensate for the deficiencies of instrumented framework. What about asking gRPC to provide a callback method that is reliably called at the end of the operation such that you don't have to guess where to finish the span?

There is no problem using AtomicBoolean to save span finished state (See https://github.com/opentracing-contrib/java-grpc/pull/36).  The Span.isFinished() API would be a convenience, but then again access to the finished state would need to be synchronized for this use case and that is OpenTracing API implementation dependent.
I have also filed a bug with grpc-java to ensure the onClose() is always called as it is expected: https://github.com/grpc/grpc-java/issues/5576, so we only call span.finish() in the onClose() method.
As per GRPC expected behaviour, ClientCall.Listener.onClose() is the last method to be called in the ingress client thread and, if there is a client error, the ClientCall.cancel() is the last method to be called in the egress client thread.  Since they run in different threads and cancel() may run after onClose(), we would still need to check that the span is not already finished, before adding logs/tags to the span in the cancel()` method.


Win an Award

Closing -> http://greenvillesc.gov/CivicAlerts.aspx?AID=476

Good job folks.

Adam Grutsch :joy:

@agautsc we picked up a plaque for your award.  Next time you're in the neighborhood, come in a grab it.


Exposed netty version as a constant

The Houston client will need to use the same version of netty as that which is on the hadoop CP, so this change exposes it.

:+1:


Operator api server modularization

Modularize the operator api server into its own independent cell.  The refactoring aims to keep the same behavior of the previous implementation. The refactored server:

adds a custom handler for /healthz as an alias to /v1/healthz
in case of an empty server address option, it starts two HTTP servers, one listening on "<IP_ADDRESS>:0" and the other on "[::1]:0", in case the user is running ipv4 or ipv6 only, respectively

To answer the health checks, the operator api server should always be up and running, whether the operator has been elected leader or not.
Therefore, the health handler behavior should change based on the operator instance being elected leader or not, so it is refactored to accept a function that returns the current leading status of the operator instance.
Integration style unit tests have been added for both the handlers and the server.
Fixes: https://github.com/cilium/cilium/issues/24064

/test

LGTM, just one non-blocking nit: I think we meant to squash "operator/api: Add api server tests" with the previous commit.

You're right, I was missing that. Squashed :+1:

/test

Seems like a legit failure with the Operator

Seems like a legit failure with the Operator

Previous revision was incorrectly trying to check for external kvstore status from the operator replica not elected leader. Fixed it with this patch:
--- a/operator/api/health.go
+++ b/operator/api/health.go
@@ -61,11 +61,9 @@ func (h *healthHandler) Handle(params operator.GetHealthzParams) middleware.Resp
                return operator.NewGetHealthzNotImplemented()
        }

-       if h.isOperatorLeading() {
-               if err := h.checkStatus(); err != nil {
-                       h.log.WithError(err).Warn("Health check status")
-                       return operator.NewGetHealthzInternalServerError().WithPayload(err.Error())
-               }
+       if err := h.checkStatus(); err != nil {
+               h.log.WithError(err).Warn("Health check status")
+               return operator.NewGetHealthzInternalServerError().WithPayload(err.Error())
        }

        return operator.NewGetHealthzOK().WithPayload("ok")
@@ -74,7 +72,12 @@ func (h *healthHandler) Handle(params operator.GetHealthzParams) middleware.Resp
 // checkStatus verifies the connection status to the kvstore and the
 // k8s apiserver and returns an error if any of them is unhealthy
 func (h *healthHandler) checkStatus() error {
-       if h.kvstoreEnabled() {
+       // We check if we are the leader here because only the leader has
+       // access to the kvstore client. Otherwise, the kvstore client check
+       // will block. It is safe for a non-leader to skip this check, as the
+       // it is the leader's responsibility to report the status of the
+       // kvstore client.
+       if h.isOperatorLeading() && h.kvstoreEnabled() {
                client := kvstore.Client()
                if client == nil {
                        return errors.New("kvstore client not configured")

/test-1.26-net-next


Idva5 743 limited journey] update content for company types

-update is your company page content

CI: No security warnings found


Improvements for #348

Here are some small improvements to #348 as discussed there, including

comments where assumptions are made
a slightly improved progress dialog
get_bstream is now a static method

I tested this on LibreELEC 9.2.2 VM with faked sys_arch = 'arm' and it works. It's okay to merge this.


Rename endpoints to routes

Not sure it's really useful... Actually an endpoint is a specialized route...


Re-adding size: view.physicalSize / devicePixelRatio, because the printing dependency in version 5.11.1 was making the build impossible!

Re-adding size: view.physicalSize / devicePixelRatio, because the printing dependency in version 5.11.1 was making the build impossible!

Could you link the issue related to this issue, as well as reproducible code before and after the change?

I am going to close this since this appears to be incomplete (see failing analyzer check) and size has deliberately been replaced with constraints.


Replace Forum link in k-NN plugin README.md

Signed-off-by: cwillum<EMAIL_ADDRESS>Description
Replaced the link to the Forum discussion in the README.md file so that it points to the OpenSearch forum rather than the defunct Open Distro forum.
Issues Resolved
This fixes the issue for the k-NN plugin in #921.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@opensearch-project/k-nn Thanks for the reviews. When there's time, could someone merge this PR? Apparently I don't have that permission in this repo. Thanks.

@opensearch-project/k-nn Thanks for the reviews. When there's time, could someone merge this PR? Apparently I don't have that permission in this repo. Thanks.

doing that. and also adding a backport tag to the commit.

@cwillum While doing the backport there is sign-off error: https://github.com/opensearch-project/k-NN/pull/543 Can you raise a PR for 2.x branch?


【Bug?】Optimization of d.ts

TypeScript Version:  3.0.3

Search Terms: Optimization
Code
https://github.com/kgtkr/typeclass-ts/tree/c27ea953ea540289aaa32517c8f9487704588b29
↓
npm run build
Expected behavior:
lib/index.d.ts
export declare function Data<Props>(): <S extends Keys>(...impls: TypeClassImpl<S, Props>[]) => (props: Props) => ImpledData<Props, S>;

Actual behavior:
lib/index.d.ts
export declare function Data<Props>(): <S extends never>(...impls: TypeClassImpl<S, Props>[]) => (props: Props) => ImpledData<Props, S>;

Playground Link:
Related Issues:

Keys = never so this seems correct.

Correct: https://github.com/kgtkr/typeclass-ts/blob/c27ea953ea540289aaa32517c8f9487704588b29/src/hkt.ts

TypeScript has a function called Declaration Merging
This is incorrect
https://www.typescriptlang.org/docs/handbook/declaration-merging.html

//Keys="Array"

declare module "typeclass-ts/lib/hkt" {
    interface HKT<T> {
        Array:T[]
    }
}

Duplicate of #27171


New room - Creating a room in non admin workspace showing as normal chat with that admin user

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

Action Performed:

Launch the app
Log in with expensifail account
Tap on Plus button and Select New Room
Enter any room name
Select any Workspace in which the user is not an admin  and tap Create Room
After room created tap on room name on top of the page.

Expected Result:
Non admin user of the workspace of any room will be treated as room chat
Actual Result:
Non admin user of the workspace any room will be treated as as a regular chat
Workaround:
Unknown
Platform:

Where is this issue occurring?

Web
iOS
Android
Desktop App
Mobile Web

Version Number:  v1.1.20-2
Reproducible in staging?: Yes
Reproducible in production?: No, new feature
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
https://user-images.githubusercontent.com/43996225/146041209-70d5c2c7-730e-4dab-8a01-3ca429f199fb.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause
Slack conversation:
View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

Triggered auto assignment to @TomatoToaster (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

Right now rooms are still a work in progress and when you create them, they are not correctly shared with you. That looks like it is the regular chat with the other user. I am working on this problem in this issue: https://github.com/Expensify/App/issues/6726, so I think this is safe to close.


Refactor get_typing_notification_recipients() (in lib/actions.py) so that do_send_messages() can use it

The new method get_recipient_user_profiles() has code that was common to both do_send_messages() and get_typing_notification_recipients() (which is used by do_send_typing_notifications()). This is to fix #2095.

Merged as 01665d9c3cf3f9b27c6ee9eca904d44d885fb1ef after fixing the first lines of your commit messages being too long (and squashing the commits).  Check out the Zulip commit message guidelines for more details: https://zulip.readthedocs.io/en/latest/version-control.html#commit-messages.
Thanks @arpith!

Oh, you just added another commit while I was typing that.

Closing since the new commit is in #2111.


Platformer interaction input hard-coded to A

Describe the bug
The input for interaction seems to be hard-coded to the A button right now, no matter what you set it to in the settings.
To Reproduce
In platform.c the interaction input is defined as BUTTON_A.
Expected behavior
It should take the input defined in settings.
Platform (please complete the following information):

OS: Windows 10
App version 3.0.2

Does this happen even after Cleaning the build cache?

I haven't tried that, but as it defines it as INPUT_A in platform.c I would've thought it's hard-coded.

#define INPUT_PLATFORM_INTERACT    INPUT_A
#endif

platform.c defines INPUT_PLATFORM_INTERACT to INPUT_A only if it isn't already defined. states_defines.h is included at the top of platform.c and contains the constants as configured in settings, if INPUT_PLATFORM_INTERACT is in that file then it'll never be defined in platform.c (the file is generated at compile time).

Okay, then I misunderstood it. I will try to empty the cache and see if the issue is still there.

Clearing the cache fixed this issue. Sorry for jumping to conclusions. 😅


unify network and shared memory modes.

Only for pulseaudio clients in this patch. The aim is to deduplicate
code, so it's better to unify the output drivers as well in the future
instead of duplicating these changes to the alsa and raw variants.
The patch splits off the initialization and audio data transfer for both
receive methods and generalizes access to the audio data and stream
properties so that they're receiver encoding independent.
The main loop simply calls receiver_rcv_fn, a function pointer to a
specific receiver implementation, which fills the supplied receiver_data
structure with audio data and the stream properties. The rest of the main
loop can then control the output driver from this data.

As said in the commit message, this is only done for pulseaudio output driver.
I wanted to get your feedback first before attempting to unify the output drivers into one as well (this probably needs some build system like CMake, otherwise ppl will probably scream (pun intended) when e.g. pulseaudio is not an optional dependency)

oh two more remarks:
There's no extra copying of audio data done, so performance is not impacted
And sorry for the big delta, git didn't recognize scream-pulse.c was changed, so it recorded it as a delete + new file :(

That is a much-needed refactoring. The number of receivers grew over time, and copying the code was non-invasive for existing receivers ... but as you noticed, adding general improvements was getting cumbersome.
Thanks for this! :)

Good job @accumulator, this was needed.
May I suggest that we add a note about this change in the main README? I know there are a few tutorials out there that explain how to setup these receivers, including the arch wiki, and users may get confused now that the binary have a different name.
Also we should update the last paragraph that still have the old binary name.

Wow, didn't expect this change to be merged already :)
I'm progressing a bit on unifying the outputs too, but I'll open another PR for that.


⚠ Fortnite has degraded performance

In 6de89db, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1553 ms

Resolved: Fortnite performance has improved in 3ccdbd9.


[Evaluation] Make 'EvaluationResult' strict

I was looking at Core and that popped up. Let's see.

Easy wins! Remind me why we're not using StrictData everywhere yet???

Easy wins! Remind me why we're not using StrictData everywhere yet???

I strongly believe that should be the default and all laziness in data types (not functions) should be explicit. In Zonk I just enabled StrictData globally.


questions about jade route

I am new to serverless, and try to get my simple express site working on AWS lambda + api-gateway.
When testing you need to append /pets(whatever) in the browser address after the stage name of the api gateway, while in my jade code is something like:
ul.nav.navbar-nav
li
a(href="/page1") Page1
li
a(href="/page") Page2
The jade route does not have the stage name, so it gives errors after deploying to api gateway. Just want to know if I understand correctly and how i can fix it to get it work publicly?

Hi @JadyLiu, if you're using the middleware (it's used in the example), you can pass req.apiGateway.event.eventContext.stage to your Pug (Jade) template and change your links to be a(href="/#{stage}/page1")
pug.renderFile('template.pug', {
  stage: req.apiGateway.event.eventContext.stage
})

Alternatively (and probably preferred for production apps), you can look into setting up a Custom Domain Name.

@brettstack I use the middleware and pass the variable to my jade template and it works locally.
But after deploying to AWS, lambda function has errors as
TypeError: Cannot read property 'stage' of undefined
I render the page from my app.js:
app.get('/*/page1', (req, res) => {
res.render('page1' ,{
stage: req.apiGateway.event.eventContext.stage
});
});
Is there anything I should change to get it work ?

Apologies, it is requestContext (req.apiGateway.event.requestContext.stage)

I will update the example to showcase this.

Added in #52


[$250] mWeb - Group chat - Not here page appears briefly when last member leave the group chat

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: 9.0.38-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: https://expensify.testrail.io/index.php?/tests/view/4985233&group_by=cases:section_id&group_order=asc&group_id=229067
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause Internal Team
Slack conversation:
Action Performed:

Create a group chat
Click on the header
Remove all existing members from the group
Click Leave the group
Confirm leaving the group participant

Expected Result:
There should be no error page
Actual Result:
Not here page appears briefly when last member leave the group chat
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

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

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

Screenshots/Videos
https://github.com/user-attachments/assets/54b99f2c-9da9-42fb-99ae-bd458914589f

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021836833773766101729
Upwork Job ID:<PHONE_NUMBER>766101729
Last Price Increase: 2024-10-10
Automatic offers:

wildan-m | Contributor | 104431872

Issue OwnerCurrent Issue Owner: @parasharrajat

@strepanier03  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

Edited by proposal-police: This proposal was edited at 2024-09-19 14:29:35 UTC.
Proposal
Please re-state the problem that we are trying to solve in this issue.
mWeb - Group chat - Not here page appears briefly when last member leave the group chat
What is the root cause of that problem?
We dismissModal and then call the leaveGroupChat here
https://github.com/Expensify/App/blob/3657a67bd5de993f52cf48b7a981b1f1a9d3ea90/src/pages/ReportDetailsPage.tsx#L222-L225
We are deleting the report optimistically before navigating to recent chat in leaveGroupChat
https://github.com/Expensify/App/blob/3657a67bd5de993f52cf48b7a981b1f1a9d3ea90/src/libs/actions/Report.ts#L2795
hence if the navigation is not quick enough we will see a not found page as the group chat is deleted in onyx
What changes do you think we should make in order to solve the problem?

We should execute the deleting code after the navigateToMostRecentReport has finished.
We can do that by either calling navigateToMostRecentReport first and call the optimistic code and api call after/in

isNavigationReady
InteractionManager.runAfterInteractions
after some custom set timeout

What alternative solutions did you explore? (Optional)

This is exactly the same issue as https://github.com/Expensify/App/issues/48316, so I'm copying my proposal here.
Proposal
Please re-state the problem that we are trying to solve in this issue.
When leaving a group chat, not found briefly shows while navigating to the most recent report.
What is the root cause of that problem?
When we leave a group chat, we first dismiss the modal and then navigate to the most recent report and calls the request which will merge the optimistic data.
https://github.com/Expensify/App/blob/9e5887df791dbe2eabd72f3253cc67c4d3dd7152/src/libs/actions/Report.ts#L2791-L2792
So, while the navigation is happening, the group chat is already cleared from Onyx, so, the not found page is shown while the navigation is happening.
What changes do you think we should make in order to solve the problem?

We can wait for the navigation animation before deleting the group chat. One way to do it is by using InteractionManager.
navigateToMostRecentReport(report);
InteractionManager.runAfterInteractions(() => API.write(WRITE_COMMANDS.LEAVE_GROUP_CHAT, {reportID}, {optimisticData}));

We can do the same approach to leaveRoom too if needed.

Proposal
Please re-state the problem that we are trying to solve in this issue.
The "Not here" page briefly appears when the last member leaves the group chat in mWeb.
What is the root cause of that problem?
When we set the report to null
https://github.com/Expensify/App/blob/b4b59651d38deb3d91b1fd561458fe0d4e23752c/src/libs/actions/Report.ts#L2760-L2766
shouldShowNotFoundPage will be true for a brief moment
https://github.com/Expensify/App/blob/b4b59651d38deb3d91b1fd561458fe0d4e23752c/src/pages/home/ReportScreen.tsx#L376
What changes do you think we should make in order to solve the problem?
I think delete the report using set is too fast, even when we've already navigate first.
https://github.com/Expensify/App/blob/b4b59651d38deb3d91b1fd561458fe0d4e23752c/src/libs/actions/Report.ts#L2776-L2777
If we follow the same pattern as leaveRoom, this issue will be resolved.
We can use merge to optimistically remove the reportID and flag the report as closed

    const optimisticData: OnyxUpdate[] = [
        {
            onyxMethod: Onyx.METHOD.MERGE,
            key: `${ONYXKEYS.COLLECTION.REPORT}${reportID}`,
            value: {
                reportID: null,
                stateNum: CONST.REPORT.STATE_NUM.APPROVED,
                statusNum: CONST.REPORT.STATUS_NUM.CLOSED,
                participants: {
                    [currentUserAccountID]: {
                        notificationPreference: CONST.REPORT.NOTIFICATION_PREFERENCE.HIDDEN,
                    },
                },
            },
        },

    ];

And then when the API success, we can remove the rest of object

    const successData: OnyxUpdate[] = [
        {
            onyxMethod: Onyx.METHOD.MERGE,
            key: `${ONYXKEYS.COLLECTION.REPORT}${reportID}`,
            value: Object.keys(report).reduce<Record<string, null>>((acc, key) => {
                          acc[key] = null;
                          return acc;
                      }, {}),
        },
    ];

Adding failureData is nice to have:

    const failureData: OnyxUpdate[] = [
        {
            onyxMethod: Onyx.METHOD.MERGE,
            key: `${ONYXKEYS.COLLECTION.REPORT}${reportID}`,
            value: report,
        },
    ];

Branch for this solution
What alternative solutions did you explore? (Optional)
N/A

@parasharrajat sure,
Proposal Updated

Add result video

@parasharrajat This is offline behavior. I haven't noticed any offline behavior side effects yet.
https://github.com/user-attachments/assets/3183c3ac-3e59-4c50-924e-97825f983c99

@parasharrajat The PR is ready https://github.com/Expensify/App/pull/50846. Thanks!

Thanks for the offer @allgandalf. I didn't see it in time, but this wasn't a highly urgent issue so it was OK to wait for @parasharrajat to get back.

BugZero Checklist:

[ ] [Contributor] Classify the bug:

Bug classification

Source of bug:

[ ] 1a. Result of the original design (eg. a case wasn't considered)
[ ] 1b. Mistake during implementation
[ ] 1c. Backend bug
[ ] 1z. Other:

Where bug was reported:

[ ] 2a. Reported on production
[ ] 2b. Reported on staging (deploy blocker)
[ ] 2c. Reported on a PR
[ ] 2z. Other:

Who reported the bug:

[ ] 3a. Expensify user
[ ] 3b. Expensify employee
[ ] 3c. Contributor
[ ] 3d. QA
[ ] 3z. Other:

[ ] [Contributor] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.
Link to comment:

[ ] [Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.
Link to discussion:

[ ] [Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.

Regression Test Proposal Template

[ ] [BugZero Assignee] Create a GH issue for creating/updating the regression test once above steps have been agreed upon.
Link to issue:

Regression Test Proposal
Precondition:

Test:

Do we agree 👍 or 👎

BugZero Checklist:

[ ] [Contributor] Classify the bug:

Bug classification

Source of bug:

[ ] 1a. Result of the original design (eg. a case wasn't considered)
[ ] 1b. Mistake during implementation
[ ] 1c. Backend bug
[ ] 1z. Other:

Where bug was reported:

[ ] 2a. Reported on production
[ ] 2b. Reported on staging (deploy blocker)
[ ] 2c. Reported on a PR
[ ] 2z. Other:

Who reported the bug:

[ ] 3a. Expensify user
[ ] 3b. Expensify employee
[ ] 3c. Contributor
[ ] 3d. QA
[ ] 3z. Other:

[ ] [Contributor] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.
Link to comment:

[ ] [Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.
Link to discussion:

[ ] [Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.

Regression Test Proposal Template

[ ] [BugZero Assignee] Create a GH issue for creating/updating the regression test once above steps have been agreed upon.
Link to issue:

Regression Test Proposal
Precondition:

Test:

Do we agree 👍 or 👎

HOLD FOR CHECKLIST
Payment Summary

[ ] $250 - @wildan-m via Upwork automatic offer (Contributor)
[ ] $250 - @parasharrajat via New Expensify Manual Requests

@parasharrajat - I'll check in later for the checklist. Once it's done I'll make the reg test and remove the hold from the payment summary.

All right @parasharrajat thanks for doing that checklist! I have removed the hold from the payment summary so feel free to request payment. Thanks again!

$250 approved for @parasharrajat


User friendly message should be displayed if the email update for an Org is successful or NOT.

Open "https://staging.fightpandemics.work/"
Login using valid email/pwd
Navigate to Profile -> Org_name[Already added]
Click on EDIT icon to edit account information
Update the 'Organisation email" to existing email in the system, say for e.g. try with the individual user email ID and click on 'Save Changes' button.

Issue#: You will observe that nothing will happen and only the focus moves to the top of the screen and revert the changes.
Refer below GIF.
https://share.getcloudapp.com/2NuyK5X1

Now update the email with valid unique email ID and click on 'Save Changes'
You will observe that email for the Org is updated and user is directed to Org Profile page.

Expected behavior: Ideally, user should get user friendly message if the email update is successfully or unsuccessful.

We should also confirm the email right @rabbi08?

We should also confirm the email right @rabbi08?

Yeah, valid email address, which should be confirmed while be added/updated for an Org just like we do for individual profiles.

@rabbi08 two questions regarding this one:

in regards to displaying a user friendly error, do we want this message to show an error under the email input filed ?
in regards to success message, do we want an alert to show? are we still redirecting the users back to org page?

isplaying a user friendly error, do we want this message to show an error under the email input filed ?
in regards to success message, do we want an alert to show? are we still redirecting t

@nr431207 Below are the answers for the qs raised above:

No, the message should be displayed on the top after user update email and clicks on 'Save Changes' button.
To keep consistency throughout the application, let's display the error message in same way as we have unique email error messages on 'Create profile' page.

Please note that currently in FP we are displaying email address validation under the email input field, for e.g. refer below screenshot:

It will be great if we can display "Email successfully updated" message but
here I wanna highlight what @manualzuru suggested above that-

-> we need to confirm the email after email is updated, as we do for individual user email. So, after user update valid email address ->send email verification -> User will confirm the email and then email should be updated for an organisation.
-> "Email successfully updated" message should be displayed after updated email is verified.
Please let me know if answer your question or if any other query.
Thanks

@rabbi08 does the user actually need to confirm the changed and verified email address for an org? how are we thinking this email confirmation should be done? Im not sure if Im following.

@rabbi08 ok I think I understand it now, youre talking about the email verification that is sent to the user's provided email address along with a link to confirm the account, right?

@rabbi08 ok I think I understand it now, youre talking about the email verification that is sent to the user's provided email address along with a link to confirm the account, right?

Yes, we need to verify email, which user is trying to update.

@rabbi08 I looked into this further, and what we have in place for email verification is designed for new user signup, so our backend is currently expecting password along with other data to perform verification through Auth and we are dealing with different set of data in org profile edit page. I think I will need some backend help on this if we are trying to implement the email confirmation portion. But if we want to proceed without that piece, I can implement the user friendly messages.

@rabbi08 I looked into this further, and what we have in place for email verification is designed for new user signup, so our backend is currently expecting password along with other data to perform verification through Auth and we are dealing with different set of data in org profile edit page. In that case I will need some backend help on this if we are trying to implement the email confirmation portion. But if we want to proceed without that piece, I can implement the user friendly messages.

@nr431207 Agree. Currently this email verification process is only working for Individual profile creation only.
I will suggest that's lets currently work with only error handling part for successful and unsuccessful email Update during Org ->EDIT process.
And then we can add email verification for Organisation profile while 'Creating and  updating Organisation' i.e. we have to verify the email while Org is added and then we have to verify the email when Org email is updated during EDIT process.
We can have separate ticket for Org email verification process.
@manualzuru great if you can add your thoughts/input on the same.
Thanks

@idjevm @nr431207
Please display the message for any updates made in the fields.
Rest looks good


[Enhancement] Paimon Catalog 支持谓词下推

Search before asking

[X] I had searched in the issues and found no similar issues.

Description
支持谓词下推
Solution
No response
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

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

i want to pick it


What to use for channel name?

While "iJustine" is working fine, I cannot figure out what name to use for the other channels.  For instance for "Dave2D" or "Bullet Journal", I have tried different variations and still could not get it to work.  Thanks!

Hi @richardchui
Sadly the YouTube Player iFrame API documentation doesn't provide detailed information about this issue as the channel name is passed to the user_uploads parameter when loading the player.
https://developers.google.com/youtube/iframe_api_reference


Remove unnecessary cd commands; Output errors to stderr

As discussed in a YouTube comment, the cd commands to "return" back to the original directory are unnecessary, because it is impossible for a script to change the working directory of a shell.
When you run a cd command in a script, the working directory does change, but only for the script. When the script exits, nothing has happened to the working directory of the shell where you ran the script.
In fact, it is impossible for a script to change the working directory of the shell, even if you wanted to do that. Some ways you can change the working directory:

an alias that runs a cd command (an alias is equivalent to running the commands in your shell)

alias gohome="cd ~"

a shell function that runs a cd command (this is the primary reason why things like z.lua are implemented as a shell function, not a script)

function gohome() { cd ~ }

sourcing a script (so there is a way to do it with a script, but you have to run the script in a specific way, and this will also make exit to exit the shell, not just the script)

source ./script-name

These are the ways I know of doing it, there may be some others.
Even if a script could change the shell's working directory, fla.sh is doing cd "$PWD", which is basically a no-op, because $PWD is automatically updated:
echo "$PWD"

# go to the flashcard decks directory
cd "$DIR"

echo "$PWD"

The above outputs:
/home/sami
/home/sami/.local/share/flash

So, doing cd "$PWD" actually would not return back to the original directory, it would stay in whatever directory you've cd'd into.

Another minor change in this PR is to output errors to stderr instead of stdout (before this change, errors were output to stdout).
With fla.sh, this doesn't really make much of a difference, but generally you want to output errors to stderr. This is useful, if you want to run a script quietly, but still want to see errors. If errors are output to stderr, this can be done by running e.g.:
./script-name > /dev/null

The above will hide all regular output (redirecting stdout to /dev/null), but will still show anything output to stderr (i.e. error messages). To also hide error messages (make a script run completely silently), you can run:
./script-name > /dev/null 2>&1

The above 2>&1 syntax redirects stderr (2>) to the same place where stdout is redirected, and > /dev/null is redirecting stdout to /dev/null.
To only hide error messages, but show regular output, you could run ./script-name 2> /dev/null, but that might not be a smart thing to do (if there are errors, you probably want to know about them).
The proposed change uses >&2, which redirects stdout to stderr, so that regular print commands (e.g. echo) are displayed on stderr. Both stdout and stderr are shown similarly in a terminal, but they're still separate, so they can be redirected, etc. Some terminals may also show stderr messages differently.
Both echo "..." >&2 and >&2 echo "..." work identically, but I've used >&2 echo "..." because I think it's more intentional ("the following output is an error"), and if there's a long error message, the >&2 could get "lost" at the end of a line. I picked it up on Stack Overflow, and I've used it ever since.

@tallguyjenks, I'm not sure why the CI checks are failing... Looks like an error related to the CI workflow, not the changes in the PR? I did some basic testing with the changes (tested every changed line at least once). Is it working for you?
The CI might be freaking out, because I didn't make normal a fork of the repo, but instead made all of the changes in my browser. I clicked "Edit file" on the flash file, made the changes, copied the script into a local file to test the changes, and then opened the PR. So, I never made a regular fork, which the CI might be attempting to clone? Or the CI build could just be broken, I'm not sure.

@tallguyjenks, I'm not sure why the CI checks are failing... Looks like an error related to the CI workflow, not the changes in the PR? I did some basic testing with the changes (tested every changed line at least once). Is it working for you?
The CI might be freaking out, because I didn't make normal a fork of the repo, but instead made all of the changes in my browser. I clicked "Edit file" on the flash file, made the changes, copied the script into a local file to test the changes, and then opened the PR. So, I never made a regular fork, which the CI might be attempting to clone? Or the CI build could just be broken, I'm not sure.

LOL it looks like its just a GH action that thanks on first pull request, not sure, but it passes shellcheck which is what i care about, gonna read through and test these changes and will get back to you. Thanks for the hard work and detailed breakdown of the change, really makes this easy! :)

LOL it looks like its just a GH action that thanks on first pull request, not sure, but it passes shellcheck which is what i care about, gonna read through and test these changes and will get back to you. Thanks for the hard work and detailed breakdown of the change, really makes this easy! :)


Dockview never auto-resizes to smaller height in flex layout

Describe the bug
Dockview has an auto-resize feature, but it doesn't work if the new height should be smaller than the previous one inside flex layout.
To Reproduce
Steps to reproduce the behavior:

Go to https://stackblitz.com/edit/dockview-resize-issue?file=src%2FApp.tsx
Make the window's height smaller
See vertical scrollbar, div.dv-dockview height remains the same

Expected behavior
.dv-dockview should change its size to the smaller one
Screenshots
-
Desktop (please complete the following information):

Browser: Chrome
Version: Version 121.0.6167.139 (Official Build) (arm64)

Additional context
(btw docs for the auto-resizing feature are missed. There is this statement in the docs Read about auto-resizing before using, but nothing about auto-resizing anywhere)

Thanks for repo. If you place overflow: hidden on the .content class then I believe your example auto-sizes the dock correctly?

@mathuo nope, only the scrollbar is removed, but the panel's height is still bigger than the new window height

Is this still an issue or been fixed since? The overflow: hidden fixed it for me, and also seems to have fixed it in your stackblitz link.
@artaommahe .


Can a .html file be rendered in cards

Can a .html file be rendered in cards

No. Cards use their own schema and don't accept HTML. None of the channels in the Bot Framework actually supports HTML rendering either:

Channel
Markdown Support
HTML in Markdown Support

Bing
Yes
No

Cortana
Yes
No

Facebook
No
-

GroupMe
No
-

Kik
No
-

Slack
Partial
No

Telegram
Yes
No

Twillio (Web)
No
-

WeChat
No
-

Email
Yes
Yes

Microsoft Teams
Partial
Partial

Skype
Partial
Partial

Skype for Business
Partial
Partial

WebChat
Yes
No

Source:
https://github.com/Microsoft/BotFramework-WebChat/issues/604
Regards,
Francisco


Thread Interlocking while Resolving

Hi,
There is an issue in Unity in the following scenario:
-Create a class referencing another one in its ctor.
-Register this class using PerResolveLifetimeManager.
-Regiser the referenced class using HierarchicalLifetimeManager.
-Resolve the first class (the one marked with PerResolveLifetimeManager) multiple times from different threads.
Sometimes, threads interlock themselves. See the following code to reproduce. Note: it does not happen every time I run the code on my computer. I have to relaunch multiple time to raise the issue.
`class Program
{
static void Main(string[] args)
{
var container = new UnityContainer();
        container.RegisterType<IClassPerResolveReferencingHierarchical, ClassPerResolveReferencingHierarchical>(
            new PerResolveLifetimeManager());

        container.RegisterType<IClassHierarchical, ClassHierarchical>(
            new HierarchicalLifetimeManager());

        var childContainer = container.CreateChildContainer();

        Parallel.For(0, 1000, i =>
        {
            var resolved = childContainer.Resolve<IClassPerResolveReferencingHierarchical>();
            Console.WriteLine(resolved);
        });

        childContainer.Dispose();
    }
}

internal class ClassHierarchical : IClassHierarchical
{
}

public interface IClassHierarchical
{
}

internal class ClassPerResolveReferencingHierarchical : IClassPerResolveReferencingHierarchical
{
    private readonly IClassHierarchical _classHierarchical;

    public ClassPerResolveReferencingHierarchical(IClassHierarchical classHierarchical)
    {
        _classHierarchical = classHierarchical;
    }
}

public interface IClassPerResolveReferencingHierarchical
{
}`

Code seems to be freezing in
Microsoft.Practices.Unity.SynchronizedLifetimeManager.GetValue()
public override object GetValue()         {             Monitor.Enter(this.lockObj);             object result = this.SynchronizedGetValue();             if (result != null)             {                 Monitor.Exit(this.lockObj);             }             return result;         }

This behavior is by design. SynchronizedGetValue() will block until value has been set.

Starting with 5.0.0-beta2 all internal storage is implemented with ConcurrentDictionary. This should take care of the issue.

When will this be fixed in the Unity.Abstractions nuget package? The Unity.Mvc and Unity.AspNet.WebApi packages rely on Unity.Abstractions instead of Unity, which contains all assemblies and seems to be updated. Also, this is confusing that the Unity package contains everything instead of referencing the other packages.

https://github.com/unitycontainer/container/blob/v5.x/src/Utility/ConcurrentDictionary.cs


Publish/Subscriber model for Push Notifications

Scenario
A backend service wants to send a push notifications to one particular customer. It does only knows the customer ID and the app ID.
The backend service does not know the customers device id or if he/she has an Android or iOS device.
Describe the solution you'd like
Azures Notification Hub and AWS Pinpoint provide the possibility to the clients, to register to certain "topics".
As soon as the customer is logged in within the app (Android or iOS), the app registers (subscribe) the client to the topic "app ID + customer ID".
The backend service can now simply publish a message to "app ID + customer ID" which is then send to the client through the aggregator service.
In MS App Center Push I do not see how this publish / subscriber model could work.
Furthermore it seems that the REST API is designed to know the "app name"
/v0.1/apps/{owner_name}/{app_name}/push/notifications
Since there is no way to use the same "app name" for Android and iOS the backend service has to know both identifiers as well.
Describe alternatives you've considered
Store the "device ID" to each customer (which is not a good idea, since it is not invariant!)
Add additional logic into the business service :-(

get customers "device IDs"
get the app name for Android and iOS
send the notification to the Android app (hope the user has an Android device)
send the notification to the iOS app (hope the user has an iOS device)

Additional context
Either I miss something, or the solution is not as competitive as the one in Azure or AWS.

@SteffenBurger you can accomplish this in App Center push today using custom properties (Custom properties in App Center Push are similar to Tags in Azure Notification Hubs). You can set the property, then use it in an audience when sending notifications to users.
Regarding the API, you're right - the App Center REST API uses the  App Center app name as part of the request URL, so to target devices for multiple apps you must submit multiple API calls. We have an initiative around implementing project groups which should fix this - please give your vote for the feature at https://github.com/microsoft/appcenter/issues/352.

@jwargo thank you for your quick reply!
I simply haven't seen it. Thanks a lot!

It's worth mentioning that you can only have up to 200 audiences per app. So if you'd want to target small user groups with topics, that won't work - if I understand correctly.

@alex-makarov that's correct. For more flexible audience options you must use Azure Notification Hubs.

@SteffenBurger @alex-makarov  Thank you very much for your feedback on App Center Push. We announced yesterday in a blog post that we’re retiring the Push service later this year and recommending customers transition to Azure Notification Hubs instead. The good news is that the same team operates both App Center Push and Azure Notification Hubs, so all customer feedback and feature requests have been transferred to the Azure Notification Hubs roadmap.


**Singham Again (2024) FuLLMovie Free Online On 123movies

The "Singham" series, directed by Rohit Shetty, is back with its third installment, Singham Again (2024). The latest in this much-loved franchise brings back the iconic cop, Bajirao Singham, played by Ajay Devgn, to tackle new adversaries and navigate intense action sequences. Here's everything we know so far about Singham Again, from the plot and cast to its expected release date.
➤ ►🌍📺📱👉 Singham Again (2024) F𝚞ll Mo𝚟ie
➤ ►🌍📺📱👉 Singham Again (2024) F𝚞ll Mo𝚟ie
➤ ►🌍📺📱👉 W𝚊tch Singham Again (2024) F𝚞ll Mo𝚟ie Downl𝚘ad
Singham Again 2024: Get all the latest details on the action-packed third installment of the iconic franchise, starring Ajay Devgn.
After the success of Singham (2011) and Singham Returns (2014), the 2024 release promises an even more thrilling plot. In Singham Again, Singham faces a dangerous new crime syndicate with stakes that impact not only his life but also the broader fabric of justice. The film combines intense action scenes with emotional moments, trademark humor, and social commentary, making it much more than just an action flick.
Ajay Devgn returns as Bajirao Singham, a role that has defined him in recent years. Directed by Rohit Shetty, known for his signature explosive action scenes, the film also brings back Kareena Kapoor Khan in a special role, with Deepika Padukone reportedly joining the cast in a cop avatar, adding a fresh dimension to the franchise.
What’s New in Singham Again?
Enhanced Action Sequences: Expect intense car chases, perfectly executed stunts, and well-crafted fight sequences, all trademarks of Rohit Shetty's direction.
Socially Relevant Storyline: Singham Again addresses current societal issues, which give the story a realistic, impactful layer.
Female Cop Lead: The addition of Deepika Padukone in a cop role marks a significant shift in the franchise, giving audiences a fresh dynamic.
Key Details You Don’t Want to Miss
Music: Known for its energetic tracks, Singham Again will feature original music and scores by top composers.
Action Scenes: Rohit Shetty has promised that the action sequences in this film will be “bigger and bolder” than ever.
Run Time: Expected to be a slightly longer watch, allowing the storyline and action sequences more space to develop.
The Trailer: What Does It Reveal?
The Singham Again trailer has already generated buzz with intense teasers showing Ajay Devgn’s return to the iconic role. It features glimpses of action sequences, and the chemistry between the cast adds to the anticipation.
Release Date: When Will Singham Again Be in Theaters?
The film is set to release in late 2024, with potential for it to become a major festival season hit. Given the popularity of the series, Singham Again is expected to have a wide release, both domestically and internationally.
Frequently Asked Questions

Is Singham Again a sequel to Singham Returns?
Yes, Singham Again is the third film in the Singham series, following Singham and Singham Returns.
Who are the main actors in Singham Again?
Ajay Devgn returns as Bajirao Singham, with key roles played by Kareena Kapoor Khan and Deepika Padukone.
Who is the director of Singham Again?
Rohit Shetty, known for his action-packed films, is directing the film.
Will Singham Again be released internationally?
Yes, like previous films, Singham Again is expected to have an international release.

Singham Again (2024) looks set to bring fans of the franchise and new viewers alike a power-packed, action-filled experience. With its socially relevant themes, fresh additions to the cast, and explosive scenes, it has all the elements to become a massive hit.
The "Singham" series, directed by Rohit Shetty, is back with its third installment, Singham Again (2024). The latest in this much-loved franchise brings back the iconic cop, Bajirao Singham, played by Ajay Devgn, to tackle new adversaries and navigate intense action sequences. Here's everything we know so far about Singham Again, from the plot and cast to its expected release date.
➤ ►🌍📺📱👉 Singham Again (2024) F𝚞ll Mo𝚟ie
➤ ►🌍📺📱👉 Singham Again (2024) F𝚞ll Mo𝚟ie
➤ ►🌍📺📱👉 W𝚊tch Singham Again (2024) F𝚞ll Mo𝚟ie Downl𝚘ad
Singham Again 2024: Get all the latest details on the action-packed third installment of the iconic franchise, starring Ajay Devgn.
After the success of Singham (2011) and Singham Returns (2014), the 2024 release promises an even more thrilling plot. In Singham Again, Singham faces a dangerous new crime syndicate with stakes that impact not only his life but also the broader fabric of justice. The film combines intense action scenes with emotional moments, trademark humor, and social commentary, making it much more than just an action flick.
Ajay Devgn returns as Bajirao Singham, a role that has defined him in recent years. Directed by Rohit Shetty, known for his signature explosive action scenes, the film also brings back Kareena Kapoor Khan in a special role, with Deepika Padukone reportedly joining the cast in a cop avatar, adding a fresh dimension to the franchise.
What’s New in Singham Again?
Enhanced Action Sequences: Expect intense car chases, perfectly executed stunts, and well-crafted fight sequences, all trademarks of Rohit Shetty's direction.
Socially Relevant Storyline: Singham Again addresses current societal issues, which give the story a realistic, impactful layer.
Female Cop Lead: The addition of Deepika Padukone in a cop role marks a significant shift in the franchise, giving audiences a fresh dynamic.
Key Details You Don’t Want to Miss
Music: Known for its energetic tracks, Singham Again will feature original music and scores by top composers.
Action Scenes: Rohit Shetty has promised that the action sequences in this film will be “bigger and bolder” than ever.
Run Time: Expected to be a slightly longer watch, allowing the storyline and action sequences more space to develop.
The Trailer: What Does It Reveal?
The Singham Again trailer has already generated buzz with intense teasers showing Ajay Devgn’s return to the iconic role. It features glimpses of action sequences, and the chemistry between the cast adds to the anticipation.
Release Date: When Will Singham Again Be in Theaters?
The film is set to release in late 2024, with potential for it to become a major festival season hit. Given the popularity of the series, Singham Again is expected to have a wide release, both domestically and internationally.
Frequently Asked Questions

Is Singham Again a sequel to Singham Returns?
Yes, Singham Again is the third film in the Singham series, following Singham and Singham Returns.
Who are the main actors in Singham Again?
Ajay Devgn returns as Bajirao Singham, with key roles played by Kareena Kapoor Khan and Deepika Padukone.
Who is the director of Singham Again?
Rohit Shetty, known for his action-packed films, is directing the film.
Will Singham Again be released internationally?
Yes, like previous films, Singham Again is expected to have an international release.

Singham Again (2024) looks set to bring fans of the franchise and new viewers alike a power-packed, action-filled experience. With its socially relevant themes, fresh additions to the cast, and explosive scenes, it has all the elements to become a massive hit.
The "Singham" series, directed by Rohit Shetty, is back with its third installment, Singham Again (2024). The latest in this much-loved franchise brings back the iconic cop, Bajirao Singham, played by Ajay Devgn, to tackle new adversaries and navigate intense action sequences. Here's everything we know so far about Singham Again, from the plot and cast to its expected release date.
➤ ►🌍📺📱👉 Singham Again (2024) F𝚞ll Mo𝚟ie
➤ ►🌍📺📱👉 Singham Again (2024) F𝚞ll Mo𝚟ie
➤ ►🌍📺📱👉 W𝚊tch Singham Again (2024) F𝚞ll Mo𝚟ie Downl𝚘ad
Singham Again 2024: Get all the latest details on the action-packed third installment of the iconic franchise, starring Ajay Devgn.
After the success of Singham (2011) and Singham Returns (2014), the 2024 release promises an even more thrilling plot. In Singham Again, Singham faces a dangerous new crime syndicate with stakes that impact not only his life but also the broader fabric of justice. The film combines intense action scenes with emotional moments, trademark humor, and social commentary, making it much more than just an action flick.
Ajay Devgn returns as Bajirao Singham, a role that has defined him in recent years. Directed by Rohit Shetty, known for his signature explosive action scenes, the film also brings back Kareena Kapoor Khan in a special role, with Deepika Padukone reportedly joining the cast in a cop avatar, adding a fresh dimension to the franchise.
What’s New in Singham Again?
Enhanced Action Sequences: Expect intense car chases, perfectly executed stunts, and well-crafted fight sequences, all trademarks of Rohit Shetty's direction.
Socially Relevant Storyline: Singham Again addresses current societal issues, which give the story a realistic, impactful layer.
Female Cop Lead: The addition of Deepika Padukone in a cop role marks a significant shift in the franchise, giving audiences a fresh dynamic.
Key Details You Don’t Want to Miss
Music: Known for its energetic tracks, Singham Again will feature original music and scores by top composers.
Action Scenes: Rohit Shetty has promised that the action sequences in this film will be “bigger and bolder” than ever.
Run Time: Expected to be a slightly longer watch, allowing the storyline and action sequences more space to develop.
The Trailer: What Does It Reveal?
The Singham Again trailer has already generated buzz with intense teasers showing Ajay Devgn’s return to the iconic role. It features glimpses of action sequences, and the chemistry between the cast adds to the anticipation.
Release Date: When Will Singham Again Be in Theaters?
The film is set to release in late 2024, with potential for it to become a major festival season hit. Given the popularity of the series, Singham Again is expected to have a wide release, both domestically and internationally.
Frequently Asked Questions

Is Singham Again a sequel to Singham Returns?
Yes, Singham Again is the third film in the Singham series, following Singham and Singham Returns.
Who are the main actors in Singham Again?
Ajay Devgn returns as Bajirao Singham, with key roles played by Kareena Kapoor Khan and Deepika Padukone.
Who is the director of Singham Again?
Rohit Shetty, known for his action-packed films, is directing the film.
Will Singham Again be released internationally?
Yes, like previous films, Singham Again is expected to have an international release.

Singham Again (2024) looks set to bring fans of the franchise and new viewers alike a power-packed, action-filled experience. With its socially relevant themes, fresh additions to the cast, and explosive scenes, it has all the elements to become a massive hit.

moxw

vfet

bb


Need update to Dart SDK 2.x

The current Dart SDK version is 2.1.0-dev.0.0.flutter-be6309690f.
Because zoomable_image 1.2.0 requires SDK version >=1.19.0 <2.0.0 and no versions of zoomable_image match >1.2.0 <2.0.0, zoomable_image ^1.2.0 is forbidden.
So, because flutter_test_1 depends on zoomable_image ^1.2.0, version solving failed.
pub get failed (1)

I merged a PR for this but haven't put out a pub build yet. Will do soon

Should be fixed in 1.2.1+1 supporting < 3.0.0


Add "ipykernel" to list of co_filenames to remove

Should resolve #5157

I don't know how I could add some tests for this, although jupyter is not among the dependencies so at least that would need to be added. If someone can tell a recommended way I will try to do it!

So testing by myself and looking around the jupyter codebase it looks like the co_filename of objects created within jupyter is of the form f"{tempfile.tempdir}/ipykernel_{id1}/{id2}.py" however I can't find the exact command setting it so I asked in discourse. For now adapted the co_filename filter and added tests according to this I hope to get an answer and possibly fix based on that.

Ok ! I think it's fine to just check if the parent folder is named like ipykernel_* then
see the source code of how it's created:
https://github.com/ipython/ipykernel/blob/7f73ff705510b35d1e2faad7f5a676c620ce08d4/ipykernel/compiler.py#L72-L75

Should look better now didn't notice the duplicated tests

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

Should work now on windows too

I did the changes you suggested and tried to rebase, the first part went fine, the second less so :(
If you have time to spare, can you tell me what should I do now to fix this? thanks

Instead of rebasing you can just merge main into your branch, otherwise the GitHub preview of your PR shows changes of from main.
Feel free to close this PR and create a new one. Or alternatively your can force push to this PR with a new clean git history.

I have force-pushed and merged main, only shows the right changes, if you can run CI one more time it should be ok now

Hi, sorry I have been busy, the thing is I can't really understand why the test fail, besides the ugly thing I had done in the last commit to check if within CI smth stange happened with os, locally tests pass

The CI wasn't passing when using the latest version dill==0.3.6. We have a separate function to dump CodeType objects for 0.3.6
I applied the same changes you did to this other function as well - it should be all good now

The CI wasn't passing when using the latest version dill==0.3.6. We have a separate function to dump CodeType objects for 0.3.6
I applied the same changes you did to this other function as well - it should be all good now

Thanks, it would have taken a long time to figure out :)


[WIP] Integrates google calendar API

Checklist

[x] I have read the Contribution & Best practices Guide.
[x] My branch is up-to-date with the Upstream development branch.

Short description of what this resolves:
Integrated Google Calendar API, which enables add to calendar feature and provide notifications and reminders for any session.
Changes proposed in this pull request:

Integrated google calendar API.

Screenshots:
Calendar-

Email Notifications-

Offline notifications-

Server Link: https://openeveweb.herokuapp.com/
-Note: For test purpose, Enable the google calendar by checking the checkbox and do not enter any Key and Client ID, as the default Key and Client ID works for our server links. The organizer needs to change this Key and ID depending on the server where he is deploying.
Fixes #1154 #1513

@geekyd we have an option like this:

Should I remove the default API Key and Client ID?

@agbilotia1998 Yes we should only add the feature using the API provided by the user.

@geekyd I've made the changes please review. Thanks :)

@ritikamotwani done! Please review.


FEATURE: Add --print-width support using extension setting

@kddnewton when compiling it locally it's failing to work with
mainThreadExtensionService.ts:111 Activating extension 'ruby-syntax-tree.vscode-syntax-tree' failed: Cannot find module 'semver/functions/parse'
Require stack:
- /home/falco/.vscode-oss/extensions/ruby-syntax-tree.vscode-syntax-tree-0.2.3/node_modules/vscode-languageclient/lib/node/main.js
- /home/falco/.vscode-oss/extensions/ruby-syntax-tree.vscode-syntax-tree-0.2.3/node_modules/vscode-languageclient/node.js
- /home/falco/.vscode-oss/extensions/ruby-syntax-tree.vscode-syntax-tree-0.2.3/out/extension.js
- /usr/lib/code/out/vs/loader.js
- /usr/lib/code/out/bootstrap-amd.js
- /usr/lib/code/out/bootstrap-fork.js.

Have you seen something similar?

@xfalcox nope never seen that. Any chance you need to yarn install again?

Something with my local setup is messed up, and the packaged VSIX node_modules vscode-languageclient doesn't have it's own node_modules.
Since vsce depends on semver 5.x and vscode-languageclient on 7+, they can't use the shared one and fail to boot. Manually replacing the vsccode-languageclient node_modules with the one I have on dev environment fixes the resulting VSIX package and the extension work.
Well, anyway this isn't related to this PR and the code change here works fine, so it's safe to merge and release on marketplace @kddnewton !

@xfalcox out in the marketplace at 0.3.0


Node creation form improvements

Hi All contributors,
In order to avoid errors on node creation, i would suggest to add the following :
x Tooltip (or labels) on IDs :

DEVEUI / APPEUI : should be in little endian format (lsb)
APPKEY : should be in big endian format (msb)

x Allow to enter uppercase (Hex alpha values) IDs and trim spaces (for lazy users like me).
Thanks !

Yes, I agree the input of HEX data could be improved? Maybe by implementing a HEX input widget for ReactJS?
I don't think that DevEUI / AppEUI should be LSB and AppKey should be MSB. This really depends on  your node. In the current format you can use the field value directly with an RN2483 (Microchip) node, but this does indeed not work with the IMST nodes.
Eventually, I'll improve this, but maybe somebody would want to help out to speed up the development? I think in essence what is needed is:

ReactJS component for HEX input
Configurable byte length (so that it can be re-used for DevAddr, DevEUI, AppEUI, AppKey, GW MAC, ...) + validation
Toggle for LSB / MSB?

What do you think?

Agree with you, i will submit a PR soon.

Great! That is much appreciated. Maybe for the LSB / MSB toggle, you could use the input-group-addon class from bootstrap? See: http://getbootstrap.com/css/#forms

How is this work going? I could collaborate.

@camilorojasg : don't have time to add it. Feel free to implement it !

I've made some updates (not yet pushed to github). I would appreciate your feedback on this input:

The input is better formatted so that you can clearly see the character pairs 01020304 => 01 02 03 04
When editing, the keys are hidden by default (click on the eye icon to view / edit)
Using the MSB button you can switch to LSB, which will reverse the key input


feat: add archive sbom.json in Jenkins build.

Ref: https://github.com/adoptium/temurin-build/issues/2900

@smlambert / @andrew-m-leonard could you do review on this PR?


how to detect more faces by setting  adjust_threshold equal to negative infinity

as 'object_detector_abstract.h' says ' This means that, for example, you can obtain the maximum possible number of detections by setting adjust_threshold equal to negative infinity.' So,how should I do?
should I modify the source code or set adjust_threshold in my program?

I would call the function and set that argument to a number rather than editing the code.

I am so sorry that i have clearly express my issues, this is the segment of face_detector.py
'''
detector = dlib.get_frontal_face_detector()
img = io.imread(f)
dets = detector(img, 1)
'''
so what should I call the function and set that argument.
ps : I am poor in python and c++

http://dlib.net/face_detector.py.html

@davisking yes,I have run the code of 'http://dlib.net/face_detector.py.html' and it performs well. I know I can set 'dets = detector(img, 1)' to detect more faces.Now,the question is that in 'object_detector_abstract.h'you say 'setting adjust_threshold equal to negative infinity' can detect more faces.so what should i do to detect more faces by setting ' adjust_threshold equal to negative infinity'

Read the example

please say the code of 'https://github.com/davisking/dlib/blob/master/dlib/image_processing/object_detector_abstract.h#L257'
It says '- #dets[i].detection_confidence >= adjust_threshold
This means that, for example, you can obtain the maximum possible number
of detections by setting adjust_threshold equal to negative infinity.'
I have read the example of 'https://github.com/davisking/dlib/tree/master/examples'  But i do not find a example about how to set the value of adjust_threshold.Could you please give me any examples or tell me how to set the value of adjust_threshold .


Memory leak when a retry policy triggers a retry

Is this a bug report?
Yes
Can you also reproduce the problem with the latest version?
Yes
Environment

Operating system: Windows 10 Professional
Visual Studio version: VS 2017 Version 15.9.6
Dotnet version: .NET Framework 4.7.2 & .Net Core 2.1

Steps to Reproduce

Create a bus with a retry policy
Plug a consumer that just throws on a message reception
Run and consume messages

You will see that memory is growing.
Expected Behavior
Memory should stay in reasonable limits.
Actual Behavior
Memory grows over time, even if GC is collecting.

Delta between the two snapshots:

Memory retention graph for the RetryPolicyContext

Root cause analysis
Issue lies in the way RetryPolicyContexts lifecycle is managed.
While implementing IDisposable, their Dispose method is never called.
Implementations typically register a Cancel event on the CancellationToken provided in the constructor, which is signaled when stopping the bus.
_registration = context.CancellationToken.Register(_cancellationTokenSource.Cancel);
This registration is then removed in the Dispose method
_registration.Dispose();
Not calling the Dispose method on the RetryPolicyContext creates a situation where the (long-lived) CancellationToken holds a reference (to call the Cancel method) to each and every RetryPolicyContext created in the application.
Reproducible Demo
class Program
{
    static async Task Main(string[] args)
    {
        IServiceCollection sc = new ServiceCollection();
        RegisterServices(sc);
        var container = sc.BuildServiceProvider();
        var busControl = container.GetService<IBusControl>();
        await busControl.StartAsync();
        Console.WriteLine("Listening");
        Console.ReadLine();
        await busControl.StopAsync();
    }

    private static void RegisterServices(IServiceCollection sc)
    {
        sc.AddMassTransit(mtc =>
        {
            mtc.AddBus(
                p => Bus.Factory.CreateUsingAzureServiceBus(bc =>
                {
                    var host = bc.Host(Consts.ServiceBus.HostUri, hc =>
                    {
                        hc.SharedAccessSignature(s =>
                        {
                            s.KeyName = Consts.ServiceBus.KeyName;
                            s.SharedAccessKey = Consts.ServiceBus.SharedAccessKey;
                            s.TokenTimeToLive = Consts.ServiceBus.TokenTimeToLive;
                            s.TokenScope = Consts.ServiceBus.TokenScope;
                        });
                    });
                    bc.UseRetry(retryConfig => retryConfig.Interval(5, TimeSpan.FromSeconds(0)));
                    bc.ReceiveEndpoint(host, "data", ec => ec.ConfigureConsumer<Listener>(p));
                }));
            mtc.AddConsumer<Listener>();
        });
    }

    internal sealed class Listener : IConsumer<Data>
    {
        public Task Consume(ConsumeContext<Data> context)
        {
            throw new InvalidOperationException("Error");
        }
    }
}

Nicely done, great research, and happy to get this merged into the next release. Thank you!

Dang, I just realized how many objects are held because of this one object not being disposed. Crazy.

Indeed! 😊
Good news is that it means people probably have very few errors or they would have noticed sooner!
Thanks à lot for your work on MassTransit btw! Happy to have been able to give back a little bit as we use this lib extensively in my company.
Thanks for your work on these libs, very
From: Chris Patterson<EMAIL_ADDRESS>Sent: Tuesday, February 19, 2019 9:05:12 PM
To: MassTransit/MassTransit
Cc: Arnaud TAMAILLON; Author
Subject: Re: [MassTransit/MassTransit] Memory leak when a retry policy triggers a retry (#1334)
Dang, I just realized how many objects are held because of this one object not being disposed. Crazy.
—
You are receiving this because you authored the thread.
Reply to this email directly, viewhttps://github.com/MassTransit/MassTransit/issues/1334#issuecomment-465309354 https://github.com/MassTransit/MassTransit/issues/1334#issuecomment-465309354 ithttps://github.com/MassTransit/MassTransit/issues/1334#issuecomment-465309354 on https://github.com/MassTransit/MassTransit/issues/1334#issuecomment-465309354 GitHubhttps://github.com/MassTransit/MassTransit/issues/1334#issuecomment-465309354, or mute https://github.com/notifications/unsubscribe-auth/AIKEas00tmeC2XDBNe8DFbPCDdCQfJtUks5vPGcIgaJpZM4bDmCs thehttps://github.com/notifications/unsubscribe-auth/AIKEas00tmeC2XDBNe8DFbPCDdCQfJtUks5vPGcIgaJpZM4bDmCs https://github.com/notifications/unsubscribe-auth/AIKEas00tmeC2XDBNe8DFbPCDdCQfJtUks5vPGcIgaJpZM4bDmCs threadhttps://github.com/notifications/unsubscribe-auth/AIKEas00tmeC2XDBNe8DFbPCDdCQfJtUks5vPGcIgaJpZM4bDmCs.
[Image]


Cannot render React Component on Clone Drop

When clone is set to true from container1 to container2, the drop function will not return a referenced React Component but rather the source el as either an object or html wrapping the object. Is there any way to reference the replacement of el correctly to render the React Component in place of el on drop?
Use Case: container1 holds a preview image and when dropped into container2, the image reference creates the React Component on drop.
drake.on('drop', function(el, target, source, sibling) {
   if (source === container1) {
     var type = el.getAttributeNode('data-type').value;
     var ReactComponent = window[type + 'Component'];
     // variation A
     el = <ReactComponent/> //result -> [object][object]
     // variation B
     el.innerHTML = <ReactComponent/> //result -> <div>[object][object]</div>
     // variation C
     el.parentNode.replaceChild(<ReactComponent/>, el);
     //result -> Failed to execute 'replaceChild' on 'Node': parameter 1 is not of type 'Node'
     //Using React.createElement fails as well
});

I can't seem to get around any of these errors to create the element as an actual node to the DOM.

Found this source for anyone running into this issue:
    var temp = document.createElement("div");
    ReactDOM.render(<ReactComponent/>, temp);
    el.parentNode.replaceChild(temp.firstElementChild, el);

https://discuss.reactjs.org/t/trying-to-do-a-reactdom-render-a-el-replacing-the-el-not-appending-to-it/2681


Various BoundsControl fixes

Overview
This PR addresses the following problems:

Currently setting flatten axis to anything other than nothing or auto creates exceptions at scene start if bounds control is set to active on start.
After setting the flattened axis a user can still scale the bounded gameObject along that axis. This PR changes the behavior to the following: if uniform scaling is used, the user can choose whether the flattened axis is also uniformly scaled with the other axes through UniformScaleOnFlattenedAxis; if non-uniform scaling is used, the user cannot scale along the flattened axis.

Changes

Fixes: #8904

/azp run

/azp run

/azp run mrtk_docs


travis is broken

Looks like format/syntax of .travis.yml has changed. lint now fails.
https://travis-ci.org/jessesquires/DefaultStringConvertible/builds/171262111

cc @broadwaylamb

we almost had everything good, here:
https://travis-ci.org/jessesquires/DefaultStringConvertible/builds/171143213
the problem is that travis has an old version of cocoapods (which is why pod lint fails), so we need to update cocoapods before linting

@jessesquires I'll take a look at it in a few days.


SAK-29559 - Remove commented out pre-morpheus code

Udaya - Make sure you are ready to say good-bye to this code.

Absolutely, we don't need that anymore.

Thanks - It is gone.


Whitelisting, strange results

I'm getting very strange results with the new with_whitelist_url feature.
Are there any working examples?  Or am I using it incorrectly?
The same str argument that works for blacklisting doesn't work for whitelisting.
website = Website("https://choosealicense.com").with_whitelist_url(['/license'])
website.scrape()
website.get_pages()
[]

However, blacklisting successfully eliminates the pages without "/license" in the url, returning everything else.
website = Website("https://choosealicense.com").with_blacklist_url(['/license'])
website.scrape()
website.get_pages()
[<builtins.NPage object at 0x28d35ff30>, <builtins.NPage object at 0x28d36c030>, <builtins.NPage object at 0x28d36c0a0>, <builtins.NPage object at 0x28d36c110>, <builtins.NPage object at 0x28d36c180>, <builtins.NPage object at 0x28d36c1f0>, <builtins.NPage object at 0x28d36c260>, <builtins.NPage object at 0x28d36c2d0>]

Similarly, for regular expressions.  Initially, I was trying to use Python regular expression objects, e.g. re.compile('/lic.*').
But it appears it has to be a regular string containing the regular expression? I found that confusing. How do you know whether the user is providing a string or a regular expression?  There are characters valid in urls that have special meaning in a regular expression.
>>> url = 'https://choosealicense.com/licenses/'
>>> s1 = '/license?'
>>> re_s1 = re.compile(s1)
>>> s1 in url
False
>>> re_s1.findall(url)
['/license']
>>> s2 = '/licenses+'
>>> re_s2 = re.compile(s2)
>>> re_s2.findall(url)
['/licenses']
>>> s2 in url
False
>>>

I really want the whitelisting to work, it will clean up my code a lot. But so far, it's not.

Hello, There is no url on the website with /license. There is a /licenses.  The string compiles to a regex.
Here is an example.

First of all, my expectation was that '/license' would also match '/licenses'. If you are turning that into a regular regular expression then it should match.
It's not documented whether you're anchoring the re at the start. I've been assuming it can be found anywhere in the path part of the url.
There is a discrepancy between the behavior with scrape() and crawl().  crawl() does find some links, as you demonstrated in the example above.  I had expected that scrape() would apply the same rules in selecting the pages to return. It does not. It returns an empty list.
However, it appears that crawl() misses a bunch of links that match the whitelist string. It finds these:
https://choosealicense.com - status: 200
https://choosealicense.com/licenses/ - status: 200
https://choosealicense.com/licenses/mit/ - status: 200
https://choosealicense.com/licenses/unlicense/ - status: 200

However, if you don't whitelist anything, get_links() or get_pages() return links/pages for all of these, which include many urls with '/licenses/ in the url:
https://choosealicense.com - status: 200
https://choosealicense.com/licenses/mit/ - status: 200
https://choosealicense.com/licenses/ - status: 200
https://choosealicense.com/no-permission/ - status: 200
https://choosealicense.com/community/ - status: 200
https://choosealicense.com/terms-of-service/ - status: 200
https://choosealicense.com/non-software/ - status: 200
https://choosealicense.com/about/ - status: 200
https://choosealicense.com/ - status: 200
https://choosealicense.com/licenses/unlicense/ - status: 200
https://choosealicense.com/appendix/ - status: 200
https://choosealicense.com/licenses/isc/ - status: 200
https://choosealicense.com/licenses/isc - status: 200
https://choosealicense.com/appendix - status: 200
https://choosealicense.com/licenses/bsd-2-clause/ - status: 200
https://choosealicense.com/licenses/unlicense - status: 200
https://choosealicense.com/licenses/mit - status: 200
https://choosealicense.com/licenses/bsd-2-clause - status: 200
https://choosealicense.com/licenses/vim - status: 200
https://choosealicense.com/licenses/wtfpl - status: 200
https://choosealicense.com/licenses/zlib - status: 200
https://choosealicense.com/licenses/ms-pl - status: 200
https://choosealicense.com/licenses/bsd-3-clause - status: 200
https://choosealicense.com/licenses/postgresql - status: 200
https://choosealicense.com/licenses/bsd-3-clause-clear - status: 200
https://choosealicense.com/licenses/bsd-2-clause-patent - status: 200
https://choosealicense.com/licenses/ms-rl - status: 200
https://choosealicense.com/licenses/0bsd - status: 200
https://choosealicense.com/licenses/mit-0 - status: 200
https://choosealicense.com/licenses/ncsa - status: 200
https://choosealicense.com/licenses/bsd-4-clause - status: 200
https://choosealicense.com/licenses/bsd-3-clause/ - status: 200
https://choosealicense.com/licenses/ms-pl/ - status: 200

I expected scrape() with get_pages() to get all of the pages with '/licenses' in the url if the whitelist was set to ['/licenses'], but it does not.

Try to add the sitemap. The link has to be found on the page. Feel free to push a PR for any changes under scrape. The API needs refactoring.

 by default the regex is unanchored. https://docs.rs/regex/latest/regex/struct.RegexSet.html

I'm not a Rust programmer, so my capacity to help is limited to reporting my experience using the Python bindings.
If you look at the page, the links returned are almost correct for that specific page.  I say almost correct because there's one that it misses.
https://choosealicense.com/licenses/gpl-3.0/
in the html it's:
GNU GPLv3

But the main problem is that apparently it doesn't continue crawling the whitelisted urls!
That would explain the discrepancy in crawl() vs scrape() behavior.
Yes, it can get the links on that first page, but since it doesn't follow the /licenses/ path, it never sees the pages that are linked to, so get_pages() returns an empty list.
I think the whitelisting and blacklisting have to be approached differently.
If you're blacklisting you can examine each url as you get to it, to see if it matches and ignore it if it does.
If you're whitelisting, you have to crawl the whole site first, and then only follow/scrape the ones that match.
That's because there's no guarantee that the whitelisted links will be on the site's '/' page.
This is the approach that I was taking previously.  First, I got all the links for the entire site, then I filtered them based on my own regex expressions, and used Page to get them individually. It works, but it seems cumbersome.
[I tried the alternative of blacklisting everything that wasn't what I wanted, but that seemed like it would be hard to maintain.]
I was a little surprised that
website = Website("https://choosealicense.com/licenses/") didn't start by crawling that page, apparently. It would be useful to me to start on a particular page and then only crawl/scrape pages that match the whitelist regular expressions.
It seems like the string that's passed in is used in a regex, but is not converted to a regex itself.
It would be very convenient to pass in an actual regex, or to have the string converted to a Rust regex.
Then you could blacklist/whitelist everything that started with some pattern, or get as granular as necessary.
In my case what I would like would be to start on a particular page, and only crawl/scrape pages accessible from that page that matched the whitelisted url.
website = Website('https://eventlisting.com/all_events/').with_whitelist_path(['^/event/'])
website.crawl()
website.get_links()
[https://eventlisting.com/event/event1/', https://eventlisting.com/event/event2/', ]


F-Droid Badges

Description

Added F-Droid badges for android
Updated Readme.md because the spee.ch one is ded

@tzarebczan done

Thanks @LaroTayoGaming. Sorry it took so long to get this up. I sent you a tip to your channel.


Explain cert-manager repo structure

For a new contributor it could maybe be useful if the Contributing section of the website contained some information about the repository structure (i.e what cert manager's component's functionality goes into which subdirectory)

/kind documentation
/assign

/priority backlog


cups vm tests: fix race condition, add more tests

Description of changes
Motivated by https://github.com/NixOS/nixpkgs/pull/337748#issuecomment-2313621353 , this adds

cups-pdf to cups' passthru.tests
two additional cups vm tests that ensure it works even with listenAddresses = []

While developing the new tests, I hit a rare race condition in the existing vm tests, which is also fixed as part of this pull request.  Details are explained in the respective commit message.
Notifying maintainers @domenkozar @matthewbauer and inspirator @risicle
Note: Although the inspiring bug occured on NixOS 24.05, I don't think this should be backported, as it's quite unlikely that such a bug happens again during the remaining lifetime of NixOS 24.05.
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable ( including added tests ):

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

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

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

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review run on x86_64-linux 1
(nothing)

Add a :+1: reaction to pull requests you find important.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/4534

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/4592

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/4628

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/4673

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/4735

Thanks @Aleksanaa, I applied your suggestion.  I also rebased onto current nixos-unstable, and re-ran all affected tests (still build/pass).

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 338193

Tests pass on x64 Linux, thanks! Might need to exclude them from Darwin, though, based on the build failure.


User trying to edit BookStack page does not get a warning message when there is already another user editing the same page

This does not seem to be true.

Hi @indyng,
Congrats on being the proud owner of issue #2000! What a milestone :tada:
Anyway, Just given it a test, the system I referred to there still looks to be in place:

My comment highlighted above was rather brief so does not detail exactly how that system works, so it could be a case of that particular condition not being triggered.
When you start editing a page BookStack will look at the page revisions table for any draft copies of the page created by others users, within the last hour, since the page was last saved. If such a draft exists then the above screenshotted message will be shown.
If you think the system definitely does not work in that case feel free to list the exact steps you're taking and I can look into it.

Thanks Dan for the quick reply.
Rick
Sent from my iPhone

On Apr 3, 2020, at 5:35 PM, Dan Brown<EMAIL_ADDRESS>wrote:

Hi @indyng,
Congrats on being the proud owner of issue #2000! What a milestone 🎉
Anyway, Just given it a test, the system I referred to there still looks to be in place:
My comment highlighted above was rather brief so does not detail exactly how that system works, so it could be a case of that particular condition not being triggered.
When you start editing a page BookStack will look at the page revisions table for any draft copies of the page created by others users, within the last hour, since the page was last saved. If such a draft exists then the above screenshotted message will be shown.
If you think the system definitely does not work in that case feel free to list the exact steps you're taking and I can look into it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Since this has been explained I'll close this off.


fix(markdown): ignore empty completion documentation tables

This is, for now, a quick fix for #819 - I would love to have a discussion of a better way to handle it. It works, but it's a dirty band-aid.

Thanks!


Fixes for failing linting checks

This fixes lint failures introduced in #2087
Contributor checklist

[ ] Included tests for the changes.
[ ] PR title is short, clear, and ready to be included in the user-facing changelog.

Maintainer checklist

[x] Verified one of these labels is present: backwards incompatible, feature, enhancement, deprecation, bug, dependency, docs or skip-changelog as they determine changelog listing.
[ ] Assign the PR to an existing or new milestone for the target version (following Semantic Versioning).

Thanks! Sorry for overlooking these.


intro.ipynb: Trial and Errors

First of all: I wish all papers came with step by step reproductions and iterative improvements like this one does. Kudos!
I attempted to run this on Colab and immediately ran into the problem of a missing OpenAI key. Easy enough, but conflicts with the statement in the notebook.  Then Programs 3 and 5 failed to complete -- no errors were reported but they ran much longer than reasonable so I eventually killed them.
I also noticed that when updating the LLM from text-davinci-002 to -003 most of the improvements provided by DSP went away: while -002 got a measly 23.1%, -003 was able to answer correctly 38.5% of the time in Program 1, and with -003 Program 2's score went DOWN to 30.8% while Program 4 "only" achieved 46.2%.  Certainly good, but not quite the improvement I hoped for. (Also, if using -002 shouldn't this be referred to as GPT3? IIRC the 3.5 moniker was introduced with -003? [My memory may be wrong, and Google wasn't helpful])  Since I could not make Program 5 run I'm not sure how much that improves things
I'd be interested in seeing how Turbo or 4 improves on the basic task, but have not myself attempted to change the API call.
FWIW this is my modestly forked version: https://gist.github.com/oaustegard/6edf2ed6f5b17a04d307a4593b6af3f7#file-intro-ipynb

Thanks for summarizing these findings!
I just opened the intro notebook in Colab and selected "Run all" and it works just fine without an API key. Notice you'll need an API key if you make changes to the models or examples. The original content doesn't need one.
GPT-3.5 includes text-davinci-002, -003, and the turbo model. See, e.g., https://platform.openai.com/docs/models/gpt-3-5
About the speed of runs, it seems that -003 (and possibly other models, I haven't check) is experiencing some load issues or throttling. I'm seeing much higher response times than usual (maybe 7x or more slower than usual), at least when generating many completions. You might want to try later, or reduce the n=20 setting that's doing self-consistency.
As for your evaluations, it's not unreasonable to look at these scores for some weak signal but keep in mind these are 13 examples and a % score here means very little. What they're useful for is the instructiveness of inspecting individual examples and seeing the patterns of mistakes in each program and LLM pair. We note in the notebook: "This tiny set is not meant to be a reliable benchmark, but it'll be instructive to use it for illustration." So don't read much into these scores.
If you're looking for a more reliable evaluation, check out the paper. It has tests at a much larger scale.
Anyway, I ran them for you with -003. Program 3 gets 46.2%, Program 4 gets 53.8%, and Program 5 gets a 69.2%. Seems reasonable to me: all scores are within 1-2 questions from the davinci-002 runs, as you'd expect from an LLM upgrade that's reported to lower academic benchmark scores.
As for Program 2 going down by one example from Program 1 with -003, that's not necessarily surprising. Indeed, they perform very close to one another in the original -002 run anyway. Program 2 isn't something we advise you to use. Indeed, this is the retrieve-then-read paradigm that we're advocating the need to go beyond in DSP. The goal of the notebook isn't to show some single best system; it's show the scope of thing you can implement and DSP and how it's done, and why it makes sense and what the tradeoffs are. That's why we don't have a UI demo of some cool program; we take you on the journey of building five different programs of varying complexity.
Think of DSP like PyTorch. We're not telling you Program 2 is a better program than program 1 (although, at large scale, it does work better on many tasks!). We're saying there's a natural program that can be built here with our primitives, and here's how it can be done. That's like a PyTorch tutorial saying here's how to do a CNN and here's how to do a Transformer. We're not endorsing the specific architecture of each program.
Hope this breakdown helps! Check out the compiler notebook too, while you're at it! Expect more large releases around the compiler quite soon.

My apologies: I realize a number of these issues are due to me running the notebook from Github: I started running into similar issues with compiler then thought; this can't be right and ran in the "native" environment instead and can confirm your results -- I had hoped to correct my findings before you noticed the errant issue-filing...
Again, I do wish every academic paper came with this type of iterative demonstration: now that I see Program 5 run to completion the results are very encouraging, and I'm surprised I haven't seen more discussion of this approach among the explosion of LangChain/LlamaIndex RAC use-cases and how-tos.
Closing this as a case of PEBCAK. Thanks again!

No worries at all! Always happy to help as issues arise. We do need to update a lot of the material and release more soon.


feat(ConfigProvider): inject useId to provide composable from different framework

Allow user to provide useId as an alternative from Vue 3.5 (coming soon hopefully) useId.
How to use:
<!-- in Nuxt's app.vue -->
<script setup lang="ts">
import { ConfigProvider } from 'radix-vue'

const useIdFunction = () => useId()
</script>

<template>
  <ConfigProvider :use-id="useIdFunction">
    …
  </ConfigProvider>
</template>

credit to:  Headless UI

Allow user to provide useId as an alternative from Vue 3.5 (coming soon hopefully) useId.
How to use:
<!-- in Nuxt's app.vue -->
<script setup lang="ts">
import { ConfigProvider } from 'radix-vue'

const useIdFunction = () => useId()
</script>

<template>
  <ConfigProvider :use-id="useIdFunction">
    …
  </ConfigProvider>
</template>

credit to: Headless UI

I tried the above with shadcn/nuxt, however I still get hydration mismatch issues in the console. The UI seems to be functional however. I'm not sure if this is expected.


Indian Defense: Anti-Grünfeld, Basman-Williams Attack

Adding the Basman-Williams Attack as referred to e.g. by Carsten Hansen in the eponymous book, cf. https://lichess.org/@/Minckwitz/blog/review-the-basman-williams-attack-by-carsten-hansen/ZOnJsOTG

https://de.wikipedia.org/wiki/Basman-Williams-Angriff


API keys Update

Removed API keys from project. Changed API keys to ensure that old keys cannot be used to hack into project authentication.

Makes sense, we've got to keep these secret 😄