[Question Answering] Adding Samples, Tests and Readme

This is a draft PR for adding tests and samples for the Question Answering. I will need to rebase this branch after #25348 gets merged, please ignore any changes related to the client itself for now.
What I've added so far is:

Client Tests for validation. (Not all tests are activated yet because of this issue)
Setting up the QuestionAnsweringProjectsClientLiveTestBase.
A sample with the title (sample3_CreateAndDeploy) as well as a markdown. This sample also includes adding a new knowledge base source, since we cannot deploy empty projects.
A sample for Exporting and Importing Knowledge Bases (sample4_ExportAndImport)
Adjusting and adding authoring methods to the migration guide
Sample 5 with APIs for changing knowledge sources
Adding the authoring client to the readme
Add live tests in addition to the samples

What still needs to be done:

Rebase this branch after LLC initialization PR is merged.

API changes have been detected in Azure.AI.Language.QuestionAnswering. You can review API changes here

API changes have been detected in Azure.AI.Language.QuestionAnswering. You can review API changes here

I have rebased this PR and Recorded all tests and samples. However, the tests that include the deploy() method are not yet functional due the the bug in the email thread.

On a seperate note, the CI pipeline seems to be complaining that some of the tests take too long to run (more than 10 seconds). Is there a way to adjust this 10 second value?

@AhmedLeithy I removed the ProjectReference to Azure.Core since that shipped - or is the new 1.22.0 version not the one you were expecting? - but looks like tests might need to be re-recorded, not to mention the test duration issue we discussed Thursday on Teams is happening.

@heaths thanks for handling the project reference/package issue. This PR now closes #26171.
I fixed the issue we discussed in teams regarding the slowed tests. I also disabled tests that include the deployProject() method for now, so that we can merge this PR. I added a tracking issue to remind us to renable those tests once the bug is fixed.


[Search] Add From & To advanced filters

Details

Implements From and To filters, which should behave similarly to existing participants/users selector (similar to for example MoneyRequestParticipantsSelector)
we are saving accountIDs for both filters and sending them as part of AST query
in future we might want to slightly differ options inside From and To filters, but for now they behave the same, which was agreed upon with @luacmartins

Two caveats:

the api is not working correctly yet, which means we get constant loading screen when these filters are set - please don't treat it as bug, backend will fix
on the SearchResults page we display the query to the user and for now we will show just ids: from:<id>,<id2> to:<id>. This looks bad but is a more general issue, and I suggest this is solved in a separate PR where we agree what we want to show to the user. Related discussion about other filters here: https://github.com/Expensify/App/pull/46799#issuecomment-2272081684

Fixed Issues

$ https://github.com/Expensify/App/issues/46035
PROPOSAL:
Tests

go to /search/filters
click on From filter and test selecting some users
click on To filter and test selecting some users
see that after clicking View Results the correct query is set in browser URL and correct Network request payload is sent; API might not return correct data yet

Offline tests

QA Steps

go to /search/filters
click on From filter and test selecting some users
click on To filter and test selecting some users
see that after clicking View Results data is correctly filtered

PR Author Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Screenshots/Videos

Android: Native
https://github.com/user-attachments/assets/6cf7d803-a9cf-494e-aa88-3ca288699b3c

Android: mWeb Chrome
https://github.com/user-attachments/assets/5c4d64f5-9d83-4454-9b57-4eaa4af70c6c

iOS: Native
https://github.com/user-attachments/assets/27979b2b-a710-4f95-a08b-37f549c6ab4b

iOS: mWeb Safari
https://github.com/user-attachments/assets/c06ad4c0-f056-479c-880b-b0a5c5238627

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/13330cac-665e-46f0-a996-310a017589ad

MacOS: Desktop

@luacmartins Please take a look at the code of SearchFiltersParticipantsSelector. I have mostly based this on MoneyRequestParticipantsSelector but the code there is quite complex so I only copied pieces of it.
The flow is moreless:

get personalDetails from usePersonalDetails
get options from useOptionsList
transform the data options -> OptionsListUtils.getFilteredOptions -> OptionsListUtils.filterOptions -> OptionsListUtils.formatSectionsFromSearchTerm
I kinda implemented this via trial&error.

If you search for InviteMemberListItem you will see that there are 6 other places where such a list is displayed and each is slight different:

Questions:

does my code make sense? are all the formatting functions needed?
my code right now will NOT do any api search calls like money request selector - should I add it?
Is saving accountID correct? and is the displaying of chosen values also correct? (If yes then I will modify the thing that displays query to the user so that it also displays the names instead of ids

does my code make sense? are all the formatting functions needed?

Answered above, but yes these options should mirror what we have in MoneyRequestParticipantsSelector

my code right now will NOT do any api search calls like money request selector - should I add it?

I think we can keep the same logic we have in MoneyRequestParticipantsSelector, so:
...

const [isSearchingForReports] = useOnyx(ONYXKEYS.IS_SEARCHING_FOR_REPORTS, {initWithStoredValues: false});

...

 useEffect(() => {
        Report.searchInServer(debouncedSearchTerm.trim());
    }, [debouncedSearchTerm]);

...

isLoadingNewOptions={!!isSearchingForReports}

Is saving accountID correct? and is the displaying of chosen values also correct? (If yes then I will modify the thing that displays query to the user so that it also displays the names instead of ids

Yea, this looked correct to me when I tested this PR.

conflicts with main are solved, I will be looking at review comments soon

Bug 1: We're handling persons in "From" and "To" filters but we're not correctly handling workspaces:

This bug is also partly on the backend, so I'll need to fix that in the API too.

Hmm, If we set a "To" account id filter, backend is returning expenses submitted to the user or to a policy in which the user is manager of the report. is this expected @luacmartins?

Yea, I think this is expected for now. I'm not sure if we have a way to tell them apart since the ultimate person that expense was submitted to is also the selected user.

@luacmartins for Bug 1 what id should be sent for workspace selection? should the list of ids saved in filter be a mix of accountID for people and policyID/reportID for workspaces?
Btw we also have a dedicated reportID filter (at least according to design doc) so how will these two coexist?

Great questions! I'm trying to figure that out too haha
@trjExpensify @JmillsExpensify what is the expected behavior when users select a workspace on the from/to filter? Do we lookup the admin accountIDs for that workspace and include all admins when searching?

I implemented most of the stuff, but still waiting on decision for Bug 1 whether to allow reports and what id to save.
As for Bug 1 it is solved but in a tricky way.
I looked at what function calls are made in NewChat page, because in there you can pick yourself. I noticed in there we set maxRecentReportsToShow: 0, which actually allows for all recentReports. The option representing own user is within these recentReports. So I did the same for Filters and now it seems to work.
In many other Pickers you can't select yourself, so I don't know whether there is a better solution to this problem or not.

I looked at what function calls are made in NewChat page, because in there you can pick yourself. I noticed in there we set maxRecentReportsToShow: 0, which actually allows for all recentReports. The option representing own user is within these recentReports. So I did the same for Filters and now it seems to work.

That seems like a workaround haha I spent some time trying to figure out where we filter the current user out, but got lost in the complex logic. Ideally we find out where we're filtering the current user out and add an option to not do so.

@Kicu so interesting development. The from and to filters should include only individuals, no reports or workspace chats. As part of a separate issue, we'll also be updating the table to show To as the manager of the report, instead of the policy, like we do today (see image below):

Seems worth a shot.

@luacmartins

I spent some time trying to figure out where we filter the current user out, but got lost in the complex logic.

I think I spent at least 1 hour (possibly more) going over the logic of both getFilteredOptions() and the other function and I agree these two are extremely hard to follow.
My best guess is that even if this is a workaround, recentReports are the actual source of You option everywhere, perhaps by chance or mistake. That is at least true for NewChat 🤷
I will try to implement the suggestion from @rayane-djouah now

I updated the function and the list looks ok. I had to leave the title of the section even though "Assign to me" is perhaps not the best phrase to have there.
But If I add no section title, then it looks bad because selectedOptions and You option kinda merge together (see screen).

We can change the title to something that makes more sense, but I think we need some title.

Not related to above I've found a bug:

Search list for someone, for example: mateu
The search results will update the list and you will see some new options, we select 1 of them (example: mateusz.titz)
leave From filter then come back to it
no option is selected because the option mateusz.titz is not on the initial list

So in general by default we only have a small amount of options, so when we save accountID in onyx we can't easily grab the corresponding options since it's not there.
I will now be trying to figure out how to fix this.
I hope it's the last thing to fix here 😅

I wonder if we need to separate those into sections at all cc @Expensify/design

I wonder if we need to separate those into sections at all

I honestly don't feel super strongly. I can see how having quick access to yourself could be helpful, but I don't think not having it would be the end of the world. I do agree that if we decide to separate it out, we should change the title to something that makes more sense than Assign to me. Not sure I have any good ideas about that though haha.

I'm just one vote, though I kind of think it's more confusing separating out members into sections – especially given that we don't really have data to support that Track matches the emphasis that we've given it in product.

I tend to agree - I would just display the list of users like we display any list of users.

Yea, I agree. @Kicu let's remove the sections and group all users together

Solved some conflicts and section names are now removed.

can we re-review and merge if this is ok? @rayane-djouah @luacmartins

fixed wrong name, fixed "no results" header message missing, and removed recent reports.

@rayane-djouah
About the slow loading, I don't know what else we can do. I have removed recents (which I think is a good idea).
Still we get part of results loaded immediately and then part of them gets delayed. However you can see in my video that this is not because of logic of passing options to list, but rather I think because of the List rendering itself.
In the video below I'm logging length of options passed to the component. This is logged in rendering SearchParticipantsSelector. You can see that at first we pass 0 options, then we pass all the options. There is no inbetween value, but the loading gets delayed anyways.
Feels like a problem inside SelectionList maybe 🤔
https://github.com/user-attachments/assets/37432685-25ae-4d35-bfb0-d8b1a09b4089

Nice, seems like we're really close to getting this merged!

Please re-review @rayane-djouah @luacmartins
Im busy today with something, but wanted to finalize this PR. Also I'm OOO and back on Monday, so would be best to merge this today if possible 🙏
I hope I implemented all the suggestions.
https://github.com/user-attachments/assets/3d6624e4-b5bc-41dd-9f8e-24d29db12b02

Yea, let's fix that in a follow up. cc @SzymczakJ @Guccio163 since you're working on the next filters.

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

🚀 Deployed to staging by https://github.com/luacmartins in version: 9.0.21-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

Hi @luacmartins @Kicu, We have a tiny problem here that we can work on as a follow-up: https://github.com/Expensify/App/issues/47537. I will assign the GH to you guys. Thanks.

Thanks for the ping! We'll work on a fix.

🚀 Deployed to production by https://github.com/Beamanator in version: 9.0.21-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
failure ❌

🍎 iOS 🍎
success ✅

🕸 web 🕸
failure ❌

🚀 Deployed to production by https://github.com/Beamanator in version: 9.0.21-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


⚠ Nextcloud has degraded performance

In 2e2a054, Nextcloud ($URL_NEXTCLOUD) experienced degraded performance:

HTTP code: 200
Response time: 23304 ms

Resolved: Nextcloud performance has improved in 5692bb9 after 4 minutes.


Copy an paste commands differnt devices

Hello! When I try to copy a command from a previously recognized device "1" to the list of commands of the device "2" nothing happens.
I get {" ok ":" Sent: ac2 "} but the device does not respond at all. What can be done?
I can not train each device separately, because I disassembled it and left only the control board to reduce its size.
thank

Please share your setting.ini file..

https://yadi.sk/d/8tGIF5hVUA17ug
https://yadi.sk/d/3KQscFXXAxPqfw
none of the options worked....

I would try debugging it first with just 1 RM2, for example HOFTEST only.


Little-endian vs big-endian (take 2)

In the last endianness debate we decided to favour little-endianness. Since then there have been various developments (see points 1-4 in favour of big-endianness) that warrant revisiting that decision.
Pros of little-endian

Consistent with WASM
Friendly to commodity hardware
Consistent with parity-codec

Pros of big-endian

Friendly to mathematical purity and spec readability/reasonability (we get nice things such as the ith bit corresponding to 2**i)
Friendly to generalised indices and bigints (see here)
Consistent with SHA256 (both external and internal serialisation), and potentially friendlier to MPCs and SNARKs/STARKs that involve hashed data.
Consistent with BLS12-381 (Zcash's big-endian implementation is likely to get standardised)
Consistent with big number implementations
Consistent with RLP

All things considered, big-endianness may now to be favoured option. Brief counter-arguments to the little-endianness arguments:

"Consistent with WASM" is the big one that made the scales favour of little-endianness last time. Would be good to get thoughts from WASM people. cc @wanderer, @axic, @jakelang, @lrettig, @cdetrio
As I understand "Friendly to commodity hardware" is a non-issue for dual-endian hardware, and a minor performance penalty for little-endian hardware.
As I understand "Consistent with parity-codec" is an annoyance for the Parity team and can be worked around relatively easily.

big-endian

Consistent with SHA256 (both external and internal serialisation)

This is crypto black-box that shouldn't affect us.

potentially friendlier to MPCs and SNARKs/STARKs that involve hashed data

I understand this is your hunch, but is there any actual evidence of this? source or something?

Consistent with BLS12-381

crypto black-box. Not sure it's relevant

Consistent with big number implementations

In general? Across languages? What big int implementations are you talking about?

Consistent with RLP

Consistency with VM serialization (single-endianness from top to bottom) trumps backwards compatibility imo

This is crypto black-box that shouldn't affect us.

crypto black-box. Not sure it's relevant

Serialisation inside crypto black boxes may matter when those black boxes are implemented as MPC/SNARK/STARK circuits. One generally wants to reduce the depth of these circuits so avoiding unnecessary "flip" circuitry may help. Imagine an MPC circuit that does bigint arithmetic (naturally done using big-endian) and then does some hashing with the same underlying data and SSZ little-endianness forces a bunch of unnecessary flipping. Imperceptible performance degradations in Silicon circuits can turn out to be hugely significant in MPC or SNARK circuits.

this is your hunch, but is there any actual evidence of this? source or something?

Yes, just a hunch. The thought is literally from a few hours ago—arguably FUD at this point 😂 To be confirmed/denied by an MPC expert. (I will be meeting with Muthu from Ligero at MIT mid-May and will discuss with him.)

In general? Across languages? What big int implementations are you talking about?

My source is @mkalinin (see here). He writes: "all big number implementations in Java that I've seen uses big-endian to encode/decode numbers to/from byte arrays. So does Milagro, even in C implementation". I'm not qualified to comment beyond that.

Consistency with VM serialization trumps backwards compatibility imo

Agreed. The good news that we likely do not have to enshrine VM serialisation inside consensus 🎉

Contrary to other debates like cough signed vs unsigned, I don't have any preference of big vs little endian but it is not true that big number implementations are big-endian:

GMP, which is probably the most used bigint library, is little endian: https://gmplib.org/manual/Integer-Internals.html
BearSSL is little-endian: https://bearssl.org/bigint.html#representation

The serialization of their internal representation is big-endian however (but even if it was little-endian you would need a specific serialization pass for most bigint libraries)

From a performance point of view, most architectures support some instruction which efficiently reverses the byte order of a register value (see BSWAP on x86 or REV on ARM). This is specifically to support fast decoding of network packets which are received in big-endian, but could be applicable to passing and retrieving data from our WASM VM.

dual-endian hardware

very rare, in particular, x86 and wasm are not on the list - x86 has instructions to help with bigendian (movbe, bswap), but they all work by converting back and forth, instead of operating on the data "natively" (there's no addbe).

wasm

wasm in particular does not have a native byte-swapping instruction, meaning that whenever you have to "read" big-endian data and convert to an integer, you have to do so byte-by-byte which takes (a lot of) space - here's a trivial example of implementing a simple add function operating on data serialized as BE and LE: https://gcc.godbolt.org/z/Dlcd46
compare how, if the data arrives in bigendian format, we have to use a lot of (contract) space to convert to little-endian and back, to perform an the operation.

Consistent with big number implementations

not sure what this means - big number implementations will typically use native endian internally for operations on the limbs (machine-word-size chunks) and compose these operations however is convenient - endianess doesn't come into play. for interoperability, big-endian is sometimes/often used during serialization, but that also depends. Here's GMP, popular bigint library supporting both endians in serialization: https://gmplib.org/manual/Integer-Import-and-Export.html - it supports both, and "native" for maximum efficiency when on a single platform. Most importantly, the serialization is completely arbitrary / disconnected from what goes on inside the library - it's up to the protocol to choose a serialization and be consistent.
if/when we implement a bigint library for wasm, it will first convert everything to little-endian words (like the add example above), perform the operation and convert back to store it. less conversion = smaller code size.

compare how, if the data arrives in bigendian format, we have to use a lot of (contract) space to convert to little-endian and back, to perform an the operation.

Would this conversion not happen on the native machine before handing off the data to the WASM runtime via the linear memory buffer?

Agreed. The good news that we may not have to enshrine VM serialisation inside consensus.

whoops, accidentally closed. Reopened!

Would this conversion not happen on the native machine before handing off the data to the WASM runtime via the linear memory buffer?

I guess that depends on where the data comes from and who does the interpreting of that data - a  conversion de facto has to happen somewhere unless there's mechanical sympathy between the parts that make up the whole, something to consider when choosing the parts. I'd think we want as much as possible to be possible at the execution layer, where "possible" includes the notion of efficient - for example so we don't have to add to many black boxes and precompiles.

I guess that depends on where the data comes from and who does the interpreting of that data
Since the data will flow into and out of the the WASM runtime via the EEI, I figured a reverse operation could occur at that boundary in the native client.

not sure what this means - big number implementations will typically use native endian internally for operations on the limbs (machine-word-size chunks) and compose these operations however is convenient - endianess doesn't come into play

Speaking of big numbers endianness may be used to specify an order of limbs in its representation. That what I meant in the post about Java big number impl; it uses an order with most significant byte (limb = byte) first ~ big-endian with no other options.
Why big numbers may matter? Cause, starting from UIntN, N > 64 type any language will have to use big number impl to carry values of these type as they are bigger than a word that processor's register can handle. But it's hardly the case that such types will come into play.
For UInt64 types little-endian is obviously a win for languages that able to work with memory pointers (C, C++, Go, Rust, etc.).
With regard to crypto black boxes. The best way for SSZ would be to serialise them as pure byte string which represents serialisation format of particular crypto black box, just in the same way we do it for BLS points.

I guess that depends on where the data comes from and who does the interpreting of that data

The only way for WASM to benefit from keeping SSZ little-endian that I can see is avoiding flipping in SSZ implementation written in WASM.
big-endian pros:

conformance with some big number implementations (maybe most significant part of them), a case that has low probability due to our needs

little-endian pros:

often win for a number of languages
win for WASM implementation of SSZ

Comparing both pros makes me think of keeping little-endian for SSZ as a rational decision.
P.S. A discussion on endianness in different systems that I've found an interesting one https://news.ycombinator.com/item?id=9451284

Big-endianness feels more natural to humans that are accustomed with decimal place value
With big endians, we have the invariant (a > b) <-> (int_to_bytesn(a) > int_to_bytesn(b))

Since the data will flow into and out of the the WASM runtime via the EEI, I figured a reverse operation could occur at that boundary in the native client.

It's worth noting that most of the serialization is going to happen on layers higher than the base protocol; eg. in the phase 2 proposal the "transaction" that gets passed into the top-level execution is just a bytearray. So if WASM is little endian and SSZ is big endian there is going to be a lot of byte flipping code at many levels of the stack.
So it does feel like WASM is forcing our hand quite a bit...

Closed as phase 0 spec is frozen


ol and ul in toolbar does not work if the editor component is under b-td tag (inside a row of a table)

Describe the bug
ol and ul in toolbar does not work if the editor component is under b-td tag (inside a row of a table)
To Reproduce
Steps to reproduce the behavior:

Go to editor
Click on ul or ol item on toolbar
Scroll down to view panel
See error

Expected behavior
the ul or ol feature should work
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: MacOS
Browser [e.g. chrome, safari] : Chrome
Version [e.g. 22]: latest

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

@tan-duong
Can you give me more detail information?
The screenshot or gif image will be helpful.


Avatar size fix

This properly passes through the size value if is a number to allow for arbitrary image sizes. Fixes #486
cc @toraora

@danoc Should we include an example of this usage in the docs? Or should we deprecate this and try to remove it? I'm guessing this was for legacy purposes.

Sweet, thanks for fixing. Seems like this got messed up in the TypeScript conversion.
I'd vote to not change the documentation since this is a feature that we don't want to encourage. It was added to help with a difficult breaking change a few months ago. We're unsure if we'll ever want to use it in the future and haven't scoped how hard it would be to remove all uses of size as a number.


Add python 3.x compatibility

This should fix #2. Please notice I've added six as a dependency to provide the iteritems() method. Also I've added a batch file to make it easy to run all examples to be sure that everything's working (in Windows).
Also I've made some small stylistic changes to make it more compatible with pep8 (i.e add spaces around =  etc)

Thank you very much for you great work!

You're welcome, thanks for merging!


Output template reverse date format ?

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2017.09.02. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2017.09.02

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[ ] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[x] Feature request (request for a new functionality)
[ ] Question
[ ] Other

Can a sister command be made for upload_date, for example upload_date_reverse so the date format turns into DDMMYYYY which is what I'm used to and have a hard time adapting to anything else.

Duplicate of what? I didn't found anything


mealie: 1.2.0 -> 1.6.0

Description of changes
This PR updates mealie from 1.2.0 -> 1.6.0. See the list of releases along with changelogs for each version here: https://github.com/mealie-recipes/mealie/releases
Breaking change: in mealie 1.4.0, the ALLOW_SIGNUP environment variable is now false by default instead of true, to improve the default security posture. See the relevant release notes.
I added a note about this to the 24.05 release notes. Though I also noticed that mealie was announced in these release notes, yet has been backported to 23.11. Should the mealie announcement thus be moved to the 23.11 release notes?
This update allowed for removing several workarounds in the package - thanks to @litchipi for their upstreaming efforts!
I've also added myself as maintainer for this package to help with the maintenance burden.
Recommended to review commit-by-commit.
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

Did you test it ?

I don't have a system to test it on yet - I'm currently struggling to integrate the package into my own NixOS config. Not due to issues with the package, but other things related to my setup.
I'll keep plugging away at it, otherwise would encourage others to try it in the meantime.

This build of mealie is now working on my setup (after a separate change to the package; https://github.com/NixOS/nixpkgs/pull/309969) :tada:

Mealie happened to release v1.6.0 while this PR was in flight, so I've updated it to point to 1.6.0 now. The new version also works in my setup :tada:
For review, the changes needed between 1.5.1 and 1.6.0 were:

Update the version number and hash (of course): https://github.com/NixOS/nixpkgs/pull/309671/commits/1bfeb7079b1e88008e2ca7ebc1f97209470ae751
Add pyjwt as a new dependency: https://github.com/NixOS/nixpkgs/pull/309671/commits/8c92b3e076dd7d6f4e744c599114154388de6247
Remove python-jose as a dependency, as it was replaced by pyjwt (see https://github.com/mealie-recipes/mealie/pull/3521): https://github.com/NixOS/nixpkgs/pull/309671/commits/193a5fe0edf1be0f15d6eb2f149187f774c698d6

A little things that should maybe be fixed now (that I missed in my first PR I think :sweat:)
BASE_URL should be defaulting to localhost:$[cfg.mealie.port}, as it's still using the 8080 port, that causes generated links to be faulty
Otherwise it works well !

@litchipi Good spot. Fixed in https://github.com/NixOS/nixpkgs/pull/309671/commits/c2d7d356ba50cb8766a926f89c4b1e0d9375f097.


TM - View my projects only

As a TM, on the Engagement Listing Page AND Survey Listing Page, I want to use a filter that allows me to only view assigned engagements so that I don’t have to search for them. The toggle setting should ON by default.
Acceptance criteria:
TM User logs in
TM User goes to Engagements
TM User sees their own in default state
TM User sees only assigned engagements when switch is off
High fidelity Wireframe:
https://xd.adobe.com/view/ad31b24f-9804-4ba8-a8ad-e6a83c6cb29c-f862/

Hey team! Please add your planning poker estimate with Zenhub @aforde-aot @saravanpa-aot @VineetBala-AOT @jadmsaadaot


gen-flow-files errors when type is referenced from with in it

Here is code example:
/* @flow */

export type Widget <message> = {
  init: () => HTMLElement,
  update: (previous:Widget<message>, node:HTMLElement) => ?HTMLElement,
  destroy: (node:HTMLElement) => void
}

Running flow gen-flow-files on that code produces following error:
Unhandled exception: End_of_file

Oddly using interface instead of type seems to avoid the error
export interface Widget <message> {
  init: () => HTMLElement,
  update: (previous:Widget<message>, node:HTMLElement) => ?HTMLElement,
  destroy: (node:HTMLElement) => void
}

Still output is not quite what I'd expect though, as no Widget export appears:
// @flow

declare class Class1 extends Element<> {

  accessKey: string;
  accessKeyLabel: string;
  className: string;
  contentEditable: string;
  contextMenu: ?HTMLMenuElement;
  dataset: {[key: string]: string};
  dir: "ltr" | "trl" | "auto";
  draggable: boolean;
  dropzone: any;
  hidden: boolean;
  id: string;
  innerHTML: string;
  isContentEditable: boolean;
  itemProp: any;
  itemScope: boolean;
  itemType: any;
  itemValue: Object;
  lang: string;
  offsetHeight: number;
  offsetLeft: number;
  offsetParent: Element;
  offsetTop: number;
  offsetWidth: number;
  onabort: ?Function;
  onblur: ?Function;
  oncancel: ?Function;
  oncanplay: ?Function;
  oncanplaythrough: ?Function;
  onchange: ?Function;
  onclick: ?Function;
  oncuechange: ?Function;
  ondblclick: ?Function;
  ondurationchange: ?Function;
  onemptied: ?Function;
  onended: ?Function;
  onerror: ?Function;
  onfocus: ?Function;
  oninput: ?Function;
  oninvalid: ?Function;
  onkeydown: ?Function;
  onkeypress: ?Function;
  onkeyup: ?Function;
  onload: ?Function;
  onloadeddata: ?Function;
  onloadedmetadata: ?Function;
  onloadstart: ?Function;
  onmousedown: ?Function;
  onmouseenter: ?Function;
  onmouseleave: ?Function;
  onmousemove: ?Function;
  onmouseout: ?Function;
  onmouseover: ?Function;
  onmouseup: ?Function;
  onmousewheel: ?Function;
  onpause: ?Function;
  onplay: ?Function;
  onplaying: ?Function;
  onprogress: ?Function;
  onratechange: ?Function;
  onreadystatechange: ?Function;
  onreset: ?Function;
  onresize: ?Function;
  onscroll: ?Function;
  onseeked: ?Function;
  onseeking: ?Function;
  onselect: ?Function;
  onshow: ?Function;
  onstalled: ?Function;
  onsubmit: ?Function;
  onsuspend: ?Function;
  ontimeupdate: ?Function;
  ontoggle: ?Function;
  onvolumechange: ?Function;
  onwaiting: ?Function;
  properties: any;
  spellcheck: boolean;
  style: CSSStyleDeclaration;
  tabIndex: number;
  title: string;
  translate: boolean;
  blur(): void;
  click(): void;
  focus(): void;
  forceSpellcheck(): void;
  getBoundingClientRect(): ClientRect;
}
declare class Class0 {

  destroy: (node: Class1) => void;
  init: () => Class1;
  update: (previous: Class<Class0<message>>, node: Class1) => ?Class1;
}

declare module.exports: {};

Thanks for the report!
Please note that gen-flow-files is highly experimental and doesn't work in many scenarios right now. We'll be sure to consider this as a test case when we finish it out, though -- so thanks, this is helpful.

@jeffmo I know it's experimental for now, but I also hope is by submitting cases where it brakes I'll get to have it usable sooner ;)

gen-flow-files replacement is coming soon


Cards don't sort anymore

Is the bug present when using the default Obsidian theme?
Yes
Is the bug present when snippets and plugins are disabled?
Yes
Minimal theme version
7.5.4
Describe the bug
Cards don't sort anymore. Sortable went into maintenance mode and perhaps that's why they don't sort anymore. Clicking on sorting doesn't work. Any workaround?
Debug info
SYSTEM INFO:
Obsidian version: v1.5.12
Installer version: v1.5.11
Operating system: Windows 10 Home 10.0.22631
Login status: logged in
Catalyst license: none
Insider build toggle: off
Live preview: on
Base theme: dark
Community theme: Minimal v7.5.4
Snippets enabled: 3
Restricted mode: off
Plugins installed: 87
Plugins enabled: 49
1: BackItUp v1.0.0
2: Better Word Count v0.10.1
3: Book Search v0.7.3
4: BRAT v1.0.1
5: Custom File Explorer sorting v2.1.9
6: ExcaliBrain v0.2.15
7: File Diff v1.1.1
8: Movie Search v1.3.1
9: Note Refactor v1.8.2
10: Novel word count v3.9.0
11: Onyx Boox Annotation & Highlight Extractor v1.1.0
12: Pandoc Plugin v0.4.1
13: TagFolder v0.18.7
14: Templater v2.3.1
15: Text Transporter v1.0.11
16: TreeFocus v1.1.4
17: Writing Goals v0.9.5
18: Wrap with shortcuts v1.3.0
19: Pomodoro Widget v1.0.1
20: Colored Text v1.0.0
21: Commentator v0.2.0
22: Dataview v0.5.66
23: DB Folder v3.5.1
24: Editing Toolbar v2.4.16
25: Excalidraw v2.1.8
26: File Color v1.1.0
27: File Tree Alternative v2.5.7
28: File Order v0.0.10
29: HelpMate v1.0.6
30: Kanban v1.5.3
31: Minimal Theme Settings v7.5.0
32: Paste URL into selection v1.7.0
33: Persistent Links v0.2.0
34: Pomodoro Timer v1.2.1
35: Projects v1.17.3
36: Show Whitespace (CM6) v0.1.5
37: Smart Typography v1.0.18
38: Style Settings v1.0.8
39: Text Format v3.0.3
40: Timer v1.0.7
41: Advanced Canvas v2.7.5
42: Canvas Card Background Remover v0.1.4
43: Canvas Filter v0.9.4
44: Canvas Links v1.1.4
45: Status Bar Organizer v1.3.0
46: Image Gallery v1.1.1
47: Note to Canvas v0.1.1
48: File Explorer++ v1.1.4
49: Local Images Plus v0.15.9
RECOMMENDATIONS:
Custom theme and snippets: for cosmetic issues, please first try updating your theme and disabling your snippets. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community theme and snippets.
Community plugins: for bugs, please first try updating all your plugins to latest. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community plugins.

Experiencing the same.

Same issue here

Same


Should data.json have something to let explorer sort versions into order?

Currently it has for each extension:
{ "name":"extension", ,,,, "versions": { "master": {...}, "v1.0.0": {...}, "v1.1.0": {...} }

However being unsorted, if you get all the keys in the versions array you may get
["master", "v1.0.0", "v1.1.0"]

one time and
[ "v1.1.0", "master", "v1.0.0"]

another time.
When building the website, we probably want the versions listed in a consistent order each time. Could the collector add some data to help with that?
Maybe extensions could have:
{ "name":"extension", , , ,, ,, "version_keys_ordered": [ "master", "v1.0.0", "v1.1.0" ] }

Or have a separation between semver and non semver, In case the website wants to present them differently?
{ "name":"extension", , , ,, ,, "semver_version_keys_ordered": [ "v1.0.0", "v1.1.0" ], "none_semver_version_keys_ordered": [ "master" ] }

@kindly

Conversation with @kindly:
If we can get ordered JSON out, with the "versions" data in the right order that would be cool.
But I'll also add some keys to the data. As this is a library, other people may be consuming the data and we want to make it totally simple and robust for them.

First attempt at this done, adds a basic key.
Should try and do the ordered JSON thing, and also discuss further with @kindly the best way of doing this.

The extension registry CSV already sorts versions in one of many possible, reasonable orders: master, followed by frozen versions in chronological order.
If applications want to re-sort versions, they can do so using e.g. the Date of the version, or other metadata available in the file.
I'm removing the key, as almost all JSON implementations have the option of keeping order when reading data, and users need to be reading the file with that option, as otherwise, for example, codelist fieldnames and rows will be read in the incorrect order.
Closing as the present solution is sufficient.


Align ddp and ddp-spawn strategies in setting up the environment

What does this PR do?
Aligns the regular ddp strategy and the ddp spawn strategy in setting up the environment (through the method setup_environement which is called in the Trainer._run).
Before:
DDP: Setup environment in setup_environment method/hook.
DDPSpawn: At spawn time, in worker_setup function (slightly earlier than setup_environment method/hook
Now:
Both DDP and DDPSpawn set the same variables in setup_environment method.
Before submitting

[x] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[x] Did you make sure to update the documentation with your changes? (if necessary)
[x] Did you write any new necessary tests? (not for typos and docs)
[x] Did you verify new and existing tests pass locally with your changes?
[x] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is free to review the PR once the tests have passed.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
I made sure I had fun coding 🙃
cc @borda @justusschock @awaelchli @rohitgr7 @kaushikb11 @akihironitta

I believe this will be a prerequisite for further consolidation efforts like https://github.com/PyTorchLightning/pytorch-lightning/pull/11021 and https://github.com/PyTorchLightning/pytorch-lightning/pull/11020 by moving up the setup_environment of DDP and TPU spawn

Hey @awaelchli. What is the status on this PR ?

The status is that I'm currently working on this and once #11163 is merged this will pretty much be ready.

@awaelchli is this important for Lite? Do you want to apply these changes to the Lite versions already in #14670 and #14675?

@carmocca I would say quite important for #14707. Yes, I can integrate this into the two PRs. The PR was ready long before starting with Lite, I should have pushed harder to get this merged 😅

@awaelchli mind checking the conflicts... :otter:

:tada:

🥳


Build fails seemingly randomly when changing default password

The integration tests fail in a seemingly random fashion (but consistently within a branch) when attempting to set the default admin user's password, e.g.: https://github.com/pulumi/pulumi-rancher2/runs/5060301083?check_suite_focus=true
Per @jaxxstorm, we should add the following line to the setup script to address the issue: https://rancher.com/docs/rancher/v2.5/en/faq/technical/#i-deleted-deactivated-the-last-admin-how-can-i-fix-it

numerous successful releases since ...


Stretch Lite from 11/18 compile failure

Any Ideas, I followed all instructions best I could ;~)>
Pi Zero W
-- Build files have been written to: /usr/local/src/v4l2rtspserver
Scanning dependencies of target v4l2rtspserver
[  8%] Building CXX object CMakeFiles/v4l2rtspserver.dir/src/ALSACapture.cpp.o
[ 16%] Building CXX object CMakeFiles/v4l2rtspserver.dir/src/DeviceSource.cpp.o
/usr/local/src/v4l2rtspserver/src/DeviceSource.cpp:17:20: fatal error: logger.h: No such file or directory
#include "logger.h"
^
compilation terminated.

Hi 03fatboy,
This file is in a submodule, probably something fails before the log you posted.
In order to download the submodule, you can run :
git submodule update --init

Best Regards,
Michel.


Show the number of previous grants submitted for a user

Fixes #103

Some notes to check:

Not sure if code comments are too obvious, lmk to delete 🙌
Should we name it "# submissions" or "# previous submissions"
I was getting the error below, so chatGPT recommended to move the useSWR code up there (before the if (grant.status !== PROPOSAL_STATUS.PROPOSED ...

Error: React Hook "useSWR" is called conditionally. React Hooks must be called in the exact same order in every component render.

Fixes #103

Some notes to check:

Not sure if code comments are too obvious, lmk to delete 🙌
Should we name it "# submissions" or "# previous submissions"
I was getting the error below, so chatGPT recommended to move the useSWR code up there (before the if (grant.status !== PROPOSAL_STATUS.PROPOSED ...

Error: React Hook "useSWR" is called conditionally. React Hooks must be called in the exact same order in every component render.

Yes, it's because you can't add a hook with a condition, because you always need to have the same hooks in the same order (this is an internal limitation from React hooks)
The code looks good to me (but I'm not familiar with Grant code, so maybe I'm missing something).
One little comment. The issue said to add the status of the submission on hovering, but maybe it is more useful (and it seems to have space) to show that information with no hovering, so it's easy to show all the information without having to do the hovering (something like 3 submissions (2 approved, 1 completed)).

 The issue said to add the status of the submission on hovering, but maybe it is more useful (and it seems to have space) to show that information with no hovering, so it's easy to show all the information without having to do the hovering (something like 3 submissions (2 approved, 1 completed)).

Yeah! I think we could show it right now, but the window started with very little info and we're adding a lot more stuff after admins feedback, so probably it's good to save some space here! 🙌

Looks graet @Pabl0cks !! added a couple of nitpick please feel free to ignore but this is already ready to merge 🙌 !!

Thanks for the review @technophile-04!! ♥
I think my brain was dead when I did that 😅, should always check if there is a daisyUI solution for my problem, but in this case I had already several tooltips in this page to look!! My fault, sorry!

testing and reviewing!


Pod Env Vars from SecretProviderClass (envFrom+secretRef) not updated upon deployment

What steps did you take and what happened:
I am using SecretProviderClass with objectName and objectAlias, with the objectAlias gets mapped to secretObject (objectName), and the latter's (key from yaml and value from azure key vault) gets injected as env vars using envFrom/secretRef.
I have automatic secretRotation enabled.
I have noticed that if I change the secretObjects.key for example and apply the yaml, then the newly created pod still has an env var with the old key. Only after I redeploy arfter 10 minutes for example the new key is used as env var name ...
What did you expect to happen:
New key must be used for the env var name
Anything else you would like to add:
I have the feeling this working before I enabled automatic secret rotation, but not sure.
If I apply the same yaml file without any changes a few minutes later, then the env var has the correct name.
Which access mode did you use to access the Azure Key Vault instance:
Pod Identity
Environment:

Secrets Store CSI Driver version: (use the image tag): v0.0.17
Azure Key Vault provider version: (use the image tag): 0.0.10
Kubernetes version: (use kubectl version and kubectl get nodes -o wide): v1.20.1/v1.19.3
Cluster type: (e.g. AKS, aks-engine, etc): AKS

apiVersion: secrets-store.csi.x-k8s.io/v1alpha1
kind: SecretProviderClass
metadata:
  name: csi-key-vault-func-secrets-svc-xxx-yyy-zzz
spec:
  provider: azure
  parameters:
    usePodIdentity: "true"
    keyvaultName: "xxx-yyy-kkk"          # the name of the KeyVault
    objects:  |
      array:
        - |
          objectName: IivvvSvcEventHubConnectionString
          objectAlias: IiVvvSvc_EventHub_ConnectionString
          objectType: secret
    tenantId: "11111111-1111-1111-1111-111111111111"              # the tenant ID of the KeyVault
  secretObjects:                              # [OPTIONAL] SecretObject defines the desired state of synced K8s secret objects
    - secretName: csi-func-secrets-svc-xxx-yyy-zzz                     # name of the Kubernetes Secret object
      type: Opaque                              # type of the Kubernetes Secret object e.g. Opaque, kubernetes.io/tls
      data:
      - objectName: IiVvvSvc_EventHub_ConnectionString
        key: IiVvvSvc_EventHub_ConnectionString
---
apiVersion: v1
kind: Service
metadata:
  name: ccc-xxx-yyy-zzz-http
  namespace: default
  annotations:
    osiris.deislabs.io/enabled: "true"
    osiris.deislabs.io/deployment: ccc-xxx-yyy-zzz-http
spec:
  selector:
    app: ccc-xxx-yyy-zzz
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80
  type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: ccc-xxx-yyy-zzz
  namespace: default
  labels:
    app: ccc-xxx-yyy-zzz
  annotations:
    osiris.deislabs.io/enabled: "true"
    osiris.deislabs.io/minReplicas: "1"
spec:
  replicas: 1
  selector:
    matchLabels:
      app: ccc-xxx-yyy-zzz
  template:
    metadata:
      labels:
        app: ccc-xxx-yyy-zzz
        aadpodidbinding: ccc-pppp-aks-mi
    spec:
      volumes:
        - name: csi-key-vault-func-secrets-svc-xxx-yyy-zzz
          csi:
            driver: secrets-store.csi.k8s.io
            readOnly: true
            volumeAttributes:
              secretProviderClass: "csi-key-vault-func-secrets-svc-xxx-yyy-zzz"
      containers:
      - name: ccc-xxx-yyy-zzz
        image: aaaaaaaa.azurecr.io/ccc-xxx-yyy-zzz:999999999999999999999999999
        imagePullPolicy: Always
        ports:
        - containerPort: 80
        volumeMounts:
<REMOVED>
        envFrom:
        - secretRef:
            name: csi-func-secrets-svc-xxx-yyy-zzz
        env:
<REMOVED>

@deyanp The automatic rotation is the one that updates the Kubernetes secret data with the latest value. The rotation is configured to run on a periodic interval. So after every x mins, the driver will check if there is a new version in Azure Keyvault and if there is, it'll update the pod mount and the corresponding key in the Kubernetes secret. The Kubernetes secret is an exact mirror of the pod mount contents and will only be updated after every x mins. If you create your new deployment after x mins, then it'll be able to get the latest key from the secret as it'll be updated. Until then it could be the old version because the rotation reconciler hasn't yet triggered.
The sync as Kubernetes secret handler doesn't update the Kubernetes secret to prevent possible overwrites by multiple controllers. The rotation controller is the only one which updates the Kubernetes secret and mount content periodically.

@deyanp The automatic rotation is the one that updates the Kubernetes secret data with the latest value. The rotation is configured to run on a periodic interval. So after every x mins, the driver will check if there is a new version in Azure Keyvault and if there is, it'll update the pod mount and the corresponding key in the Kubernetes secret. The Kubernetes secret is an exact mirror of the pod mount contents and will only be updated after every x mins. If you create your new deployment after x mins, then it'll be able to get the latest key from the secret as it'll be updated. Until then it could be the old version because the rotation reconciler hasn't yet triggered.
The sync as Kubernetes secret handler doesn't update the Kubernetes secret to prevent possible overwrites by multiple controllers. The rotation controller is the only one which updates the Kubernetes secret and mount content periodically.

@aramase, do you mean that if I change something in the SecretProviderClass section in the yaml, and my app depends on that (eg changed name of env var, new secret -> env var) then upon startup my app will always fail because it will not find the new/changed env var it needs??

@aramase, do you mean that if I change something in the SecretProviderClass section in the yaml, and my app depends on that (eg changed name of env var, new secret -> env var) then upon startup my app will always fail because it will not find the new/changed env var it needs??

If the existing SecretProviderClass is updated, then the contents in the pod mount and Kubernetes secret will be updated when the rotation reconciler is triggered. For new pods referencing the existing the Kubernetes secret, the pod deployment will need to wait for the Kubernetes secret to be updated.
The mount and Kubernetes secret creation are triggered first time when it doesn't exist. Subsequent updates to both only happen periodically during rotation. This is done to ensure there is no conflict in operations between the sync secret controller and the rotation controller trying to overwrite the Kubernetes secret with different values.

If the existing SecretProviderClass is updated, then the contents in the pod mount and Kubernetes secret will be updated when the rotation reconciler is triggered. For new pods referencing the existing the Kubernetes secret, the pod deployment will need to wait for the Kubernetes secret to be updated.
The mount and Kubernetes secret creation are triggered first time when it doesn't exist. Subsequent updates to both only happen periodically during rotation. This is done to ensure there is no conflict in operations between the sync secret controller and the rotation controller trying to overwrite the Kubernetes secret with different values.

@aramase I think I understand what you said twice - the secret is created (or re-created) only during rotation, not upon deployment, but I am still wondering if nobody else is bothered by the major (in my opinion) drawback that there is long (e.g. 2 minutes) wait time until the pod can be deployed.
We have a single yaml file per pod which includes both the SecretProviderClass CRD as well as the Deployment (+ some IngressRoutes for traefik etc), and we deploy that one using Azure DevOps pipeline (which simply kubectl applies it). Do you mean I have to break up this file in 2 parts, and build in a Wait/Sleep of 2 minutes in between?

@aramase I think I understand what you said twice - the secret is created (or re-created) only during rotation, not upon deployment, but I am still wondering if nobody else is bothered by the major (in my opinion) drawback that there is long (e.g. 2 minutes) wait time until the pod can be deployed.
We have a single yaml file per pod which includes both the SecretProviderClass CRD as well as the Deployment (+ some IngressRoutes for traefik etc), and we deploy that one using Azure DevOps pipeline (which simply kubectl applies it). Do you mean I have to break up this file in 2 parts, and build in a Wait/Sleep of 2 minutes in between?

@aramase I think I understand what you said twice - the secret is created (or re-created) only during rotation, not upon deployment, but I am still wondering if nobody else is bothered by the major (in my opinion) drawback that there is long (e.g. 2 minutes) wait time until the pod can be deployed.

@deyanp The default rotation interval is 2m, but it can be changed with --rotation-poll-interval. Also, the secret is created if it doesn't exist but update only happens in rotation. My recommendation would be to update the deployment after the secret has been rotated.

@aramase I think I understand what you said twice - the secret is created (or re-created) only during rotation, not upon deployment, but I am still wondering if nobody else is bothered by the major (in my opinion) drawback that there is long (e.g. 2 minutes) wait time until the pod can be deployed.

@deyanp The default rotation interval is 2m, but it can be changed with --rotation-poll-interval. Also, the secret is created if it doesn't exist but update only happens in rotation. My recommendation would be to update the deployment after the secret has been rotated.

We'll also explore what it would mean to enable the Kubernetes secret update during new deployments with the rotation feature also enabled.

We'll also explore what it would mean to enable the Kubernetes secret update during new deployments with the rotation feature also enabled.

Closing this issue because it's part of a CSI driver spec.


Sample Request - Options page with WPF UI (UIElementDialogPage)

Installed products

Visual Studio: Enterprise 2017 v15.8.9

Description
There is a good SDK example for creating a custom Options page using the automatic rendering, but there do not seem to be any examples for creating a custom Options page that displays a custom UI, specifically WPF via the UIElementDialogPage base class. This has proven to be exceptionally difficult because Visual Studio and the WPF data bindings fight each other during saving and cause user selections to be lost.
Steps to recreate

Create a custom options page that stores a list of values and a selected value.
Create a custom WPF UI for the options that allows the user to add/edit/delete the collection of values and remembers the current one.
Use INotifyPropertyChanged/data binding to connect the WPF UI and underlying options.

Current behavior
While opening and closing the dialog/saving and loading the settings, Visual Studio interacts with the underlying settings objects in weird ways, and the data-bound WPF UI interprets that as deleting all the settings and clearing the selected value.
Expected behavior
Visual Studio should not clear out and destroy data while attempting to save it.

@qidydl I tried implementing UIElementDialogPage using your example but I ended up with this...

...I don't think that's right...


Bug: Arc browser. 401 cors to /rpc/v3/scw/getAccounts

Describe the bug
When launching smart wallet in Arc browser, it opens it in a new tab, but it never loads. I see bunch of polled /rpc/v3/scw/getAccounts requests with 401 status
Steps

Using latest rainbowkit, wagmi, and @coinbase/wallet-sdk: "4.0.0-beta.12"
Click a button to connect a wallet using coinbase connector
Arc browser opens a new tab for https://keys.coinbase.com/sign/eth-request-accounts and loading start but never finishes
console shows a bunch of polled requests to https://api.wallet.coinbase.com/rpc/v3/scw/getAccounts with status 401

Same code works in Brave browser
Expected behavior
Smart wallet popup/tab to load
Version
4.0.0-beta.12
Additional info
"@rainbow-me/rainbowkit": "^2.0.7",
"viem": "^2.10.1",
"wagmi": "^2.8.1"

"resolutions": {
    "@coinbase/wallet-sdk": "4.0.0-beta.12"
  }

Desktop

OS: Mac OSX
Browser: Arc Version 1.41.0 (49440)

Smartphone
No response

I think it might be due to how Arc treats popup more like a new full tabs

Yup :( It occurs in this too https://coinbase.github.io/coinbase-wallet-sdk/

Demo video :

https://github.com/coinbase/coinbase-wallet-sdk/assets/80153681/a6f5c8db-6bd2-40bc-b296-e2efd66d98e5

I have also tried with latest dependencies :
"dependencies": {
  "@rainbow-me/rainbowkit": "2.1.0",
  "viem": "2.10.9",
  "wagmi": "2.9.2",
}

Since wagmi and raibowkit now directly support v4 but it still doesn't work

Is this still happening on version 4.0.2?

Looks like it's fixed now


Adds some opt-in Unicode comments and sample solution to chapter 08

This commit adds a couple of comments to the exercise that shows our test string is not using Unicode in a tricky place.  The solution, however, does support Unicode, even though our test doesn't require it.  A comment explains what's going on.
FWIW, I spent a little time reading about utf-8 and the char type and I believe that using len_utf8 is the best way to get the byte offset.
Nevertheless, I won't mind if you choose to leave this out entirely. I do see how it can be a distraction. My only concern is that someone new to Rust might think the solution with the hardcoded 1 (and hence limited to ASCII) is the "right way" to do it, since it's showing up in a learning exercise. OTOH, I may simply be overthinking it.

Beautiful! I think the len_utf8 solution is really elegant, and I don't think it adds that much complexity.
At the end of the day, a solution (I think) should be a model example for people to read. So I think the added complexity is offset by it being "correct".
I've just added a small note in the book itself about the changes we've made. Happy to change them further if you'd like, but figured it'd be quicker just to add two sentences and push :)


Resolved space in MSA bug, updated table highlighting

Made MiniMap smaller to allow full key to be displayed
Fixed styling issues with left navigation / header
Added FAQ Partial
Added script to add / remove table selector styles on click

:+1:


plz help

usage: ipykernel_launcher.py [-h] FILE
ipykernel_launcher.py: error: unrecognized arguments: -f
An exception has occurred, use %tb to see the full traceback.


Add BPF unit tests for IPsec

A typical datapath for pod to pod ipsec connection is:
local host:
1. ingress on lxc, where skb->mark is for encryption;
2. stack, xfrm encrypts skb data;
3. egress on cilium_host, where tunnel key is set and skb is redirected to cilium_vxlan;
4. egress on cilium_vxlan
5. egress on eth0
remote host:
6. ingress on eth0
7. ingress on cilium_vxlan (1st), where skb->mark is set for decryption;
8. stack: xfrm decrypts skb data
9. ingress on cilium_vxlan (2nd), skb is redirected to lxc
10. egress on lxc
This PR checks step 1 (from-container), step 3 (from-host), step 7 (1st from-overlay), and step 9 (2nd from-overlay). All the tests are done with TUNNEL_MODE enabled, both IPv6 and IPv4 are covered.
Step 2 and step 8 will be covered by control plane test mentioned by https://github.com/cilium/cilium/issues/20707
Step 4, 5, 6, 10 have nothing special for IPSec, so I'll leave them aside.
Corner cases and failure cases are to be tested in a separate PR.

BPF coverage test is killing me :sob:

/test

/test-1.26-net-next

/test-1.26-net-next

Removing myself as a reviewer as cilium/loader was removed again and I miss a lot of context to meaningfully review this PR.

/test

/test

I'm marking for backport up to v1.12 because it seems likely to be easy to backport and can give us feedback on IPsec backports. If it gets too complicated (i.e., depends on other PRs being backported), I'll drop the backports.

Removing from v1.12 backports as the BPF unit tests are too different there for this to be easily backportable.


Feature Suggestion: Channel list filter

Not sure if this conflicts with some of your road map, but I thought I'd throw this out there.  I was trying to sift through my list to find some channel I'd subbed to and wished I could have filtered it down.  So I thought I'd just slap it in real quick and see what you guys thought about adopting it.
Some of the classes may not be semantically perfect, but I figured I'd just run it by you guys to even see if it's something you'd want to adopt and let you decide on what better classes or styles, if any, might be applied.

I think we'd wanna add this, as long as the PR comments are addressed, including the styling.
It probably only makes sense to display this option after X channels are followed, and not initially. Maybe the same logic as the Show More expansion?

Updated the PR to address the comments.  Also, I factored out the input into a debounced input component to isolate the rerenders.  Feels much smoother on even 6x throttled cpu than before.
I'm still familiarizing myself with the existing patterns for classes and tried to be as minimally invasive as possible.  Let me know if you want me to make any adjustments to match.

The performance seemed fine on mobile, gave it some testing. Seems to work well! Thanks again @david0178418, I'll get some appreciation over later. Rebasing on master and shipping when green.


Create test / example application

If we want to pursue a test application, could create sample projects but would create maintenance overhead.
Can be useful to have the CodeSandboxes.
Test application would want to have examples of all our components and patterns.
💡 Could add a page in Storybook or GitHub with examples of components in use then promote a few.

Working with @paul-balchin-ibm and @davidmenendez to investigate #3959 and definitely feel like we should have a test application for us evaluate issues more swiftly.

Can probably leverage @matthewgallo’s starter templates ... but still need to determine whether we want examples for people to quickly spin up or just to have as testing / convenience for issues.

@elycheea When you get a chance, can you please evaluate this Epic and determine if it is still relevant? Thx cc: @RichKummer


A694379226563213 transferring

Update app_meta.yaml due to new transferring plugin
Depends on:

https://github.com/openprocurement/openprocurement.auctions.core/pull/124

Pull Request Test Coverage Report for Build 28

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 85.698%

Totals

Change from base Build 27:
0.0%

Covered Lines:
755

Relevant Lines:
881

💛  - Coveralls


conneg is still failing against php-solid-server as well as node-solid-server

i'll check whether the fixtures used in the conneg tests are correct.
it should be possible to get it working somewhere. :)

Done


Desktop - After update app reopened with blank screen and some lines of code

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:

Update the desktop app and wait for it to reopen

Expected Result:
App should reopen without any white screen
Actual Result:
After update app reopened with a blank screen with some lines of code
Workaround:
Closing and reopening solves the issue.
Platform:
Where is this issue occurring?

[ ] Web
[ ] iOS
[ ] Android
[ ] Desktop App
[ ] Mobile Web

Version Number: 1.0.79-0
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:

Expensify/Expensify Issue URL:
View all open jobs on Upwork

From @arielgreen https://expensify.slack.com/archives/C01GTK53T8Q/p1627321718290400

App updated, and when it opened, it looked like this. Exiting/reopening resolved it.

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

@cead22 per this SO, if this can be worked on by a contributor, please add External so we can get it posted to Upwork. Otherwise, add Internal.

Whoops, checking with engineering-chat since I think it can be posted to Upwork but I'm not 100% sure

Triggered auto assignment to @trjExpensify (External), see https://stackoverflow.com/c/expensify/questions/8582 for more details.

@chiragsalian mentioned he couldn't repro on prod

Is anyone able to reproduce this? I updated to v1.0.80-2 on desktop and didn't get the error. @parasharrajat you mentioned something in the Slack thread about what the cause might be?

@trjExpensify Huh... This is 4 days overdue. Who can take care of this?

I've been OoO, Melvin! Either way, is anyone able to reproduce this? I just updated desktop to v1.0.82-3 without a hitch.

Alright, seems like @conorpendergrast ran into it earlier so there seems to be something lingering:

Posted to Upwork here.

Triggered auto assignment to @thienlnam (Exported), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

Waiting for proposals, seems like the workaround is to restart the app

Still waiting for proposals, it appears that this issue is not consistently reproducible

Maybe let's give it another week, and if we have no new reports, close it out? I haven't had this happen since I originally reported this.

Anyone heard anymore on this? Let me know if we're good to take the Upwork post down.

Nope, I think we're good to close it out and remove the Upwork post.


scrcpy white/blank screen (only on second windows desktop)

I have everything working. scrcpy is connected to two windows desktops via wifi.

on the main desktop I can see and control my android
the second desktop is also connected and I'm able to control the android. But shows a white screen (so I can't see anything)

I've tried a lower resolution with scrcpy -m 800 -b 2M
(nokia 7 plus, android version 9)
How can I solve this? Thx in advance :-)

Maybe a graphic driver issue on this computer?

No, adb server on the device accepts only 1 connection.


[SPARK-5753][CORE] JdbcRDD overflow on large range with high number of partitions

Fix a overflow bug in JdbcRDD when calculating partitions for large BIGINT ids

Wrong ticket


[zh] Update CSR v1 API reference

The misplaced <!-- and --> are disrupting the structure of the document page.
This PR fixes the indentation of these marks.

/approve


TPUs on Colab: training stuck at 0 in first epoch

🐛 Bug
Custom LightningModule does not train on TPUs in Google Colab. Training gets stuck on Epoch 0, 0% for both 1 and 8 cores. Sometimes a runtime crash is observed. The same model trains successfully on 1 GPU in Colab and locally.
Using High-RAM environment and get "TPU has started up successfully with version pytorch-1.8" confirmation on initializing LightningModule in code cell.
Failure first observed with custom dataset, and reproduced with DummyDataset.
Please reproduce using the BoringModel
N/A.
To Reproduce
Please use this Colab shared below:
https://colab.research.google.com/drive/1IeJRghHFegfvBjeLAbW2sK0I-9yVZxPx?usp=sharing
Uses a DummyDatatset to reproduce. LightningModule implemented in a code cell with dependancies loaded through a repo cloned into runtime. All steps setup to reproduce easily.
Used High-RAM environment with Colab Pro.
Multiple params used to reproduce error on TPUs:
batch_size: 64, 128
tpu_cores: 1, 8
num_workers: 1, 8
With GPUs, works with:
batch_size = 2, 4
image_size = 256
num_workers = 1
Expected behavior
Should successfully train on TPUs or give a clear error.
Environment
Installing TPU client with !pip install cloud-tpu-client==0.10 https://storage.googleapis.com/tpu-pytorch/wheels/torch_xla-1.8-cp37-cp37m-linux_x86_64.whl
Multiple custom Python modules imported by setting up code repo and imported as needed.
On running the collect_env_details.py script:

CUDA:

GPU:
available:         False
version:           10.1

Packages:

numpy:             1.19.5
pyTorch_debug:     False
pyTorch_version:   1.8.1+cu101
pytorch-lightning: 1.3.4
tqdm:              4.41.1

System:

OS:                Linux
architecture:

64bit

processor:         x86_64
python:            3.7.10
version:           #1 SMP Tue Apr 20 19:55:43 PDT 2021

Additional context
The Lightning Module is fairly complex is multiple nn.Module submodules and external dependancies.
Model is not that big: 386.669 MM  is the Total estimated model params size.
No .device(), .cuda() calls, etc. in the minimal code being used while reproducing.
When running with custom dataset wrapped in a LightningDataModule, gets stuck on Validation Sanity Check at the start. Colab shows the stack where I can see that it's stuck on a _poll_process() call. Note that using the DummyDataset does to initiate a Validation Sanity check (presumably intended behaviour).
Running with the custom dataset with 1 TPU core has also given the following output while at 0 in validation sanity check, and then the runtime crashes:
tcmalloc: large alloc<PHONE_NUMBER> bytes == 0x55a7fdac8000 @  0x7fc39bb23b6b 0x7fc39bb43379 0x7fc38446025e 0x7fc3844619d2 0x7fc237248853 0x7fc236a4c9cf 0x7fc2371fa48a 0x7fc236b6b9e8 0x7fc236b6dd05 0x7fc236fd6471 0x7fc236f7bf50 0x7fc236ead314 0x7fc30d36154d 0x7fc30d47f01a 0x7fc236f7bf50 0x7fc236ead314 0x7fc2386db4a2 0x7fc2386db9f4 0x7fc236f7bf50 0x7fc236ead314 0x7fc3955e7c00 0x55a766e10cc0 0x55a766e10a50 0x55a766e87aba 0x55a766e7f7ad 0x55a766e123ea 0x55a766e847f0 0x55a766e12849 0x55a766e12ea1 0x55a766e81bb5 0x55a766e7f4ae
tcmalloc: large alloc<PHONE_NUMBER> bytes == 0x55a87dac8000 @  0x7fc39bb23b6b 0x7fc39bb43273 0x7fc1ecd5e19a 0x7fc1f6d4b5f2 0x7fc1ecd5d46c 0x7fc1ecd298ff 0x7fc1ecd2cdf8 0x7fc39a4236df 0x7fc39b8f66db 0x7fc39aa2b71f
tcmalloc: large alloc<PHONE_NUMBER> bytes == 0x55a9112e4000 @  0x7fc39bb43887 0x7fc39a439c29 0x7fc39a439ff2 0x7fc39a43a65e 0x7fc1f00e9047 0x7fc1f00e9a94 0x7fc1ecd9d486 0x7fc1ecd9d10c 0x7fc1ecd5f3e1 0x7fc1ecd298ff 0x7fc1ecd2cdf8 0x7fc39a4236df 0x7fc39b8f66db 0x7fc39aa2b71f
/usr/lib/python3.7/multiprocessing/semaphore_tracker.py:144: UserWarning: semaphore_tracker: There appear to be 6 leaked semaphores to clean up at shutdown

On initializing the LightningModule, prints:
WARNING:root:TPU has started up successfully with version pytorch-1.8
/usr/local/lib/python3.7/dist-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.24.3) or chardet (4.0.0) doesn't match a supported version!
  RequestsDependencyWarning)

Hi Madhav, went through the code, manual optimization is not yet supported for TPUs in Lightning.
That's why the Error AttributeError: 'LightningDistributedModule' object has no attribute 'require_backward_grad_sync' for Single TPU core.

Hi @kaushikb11, thanks for looking into it.
Update
Switched to automatic optimization. The errors of training being stuck at 0 and runtime crashing without error still persist for some batch_size cases, albeit that now Resource Exhausted Errors occur for another set of them. The model trains for 1-Core batch_size=4.
Note that this is all with the DummyDataset.
Automatic Optimization Implementation
Fairly confident that the automatic optimization for the GAN  is implemented correctly: its structurally based on the documentation section on the same and the Bolts DCGAN implementation . So I doubt that it is a source of error now.
Debugging for Batch Size causing memory errors
Presuming memory issues might be a problem, I focused on testing out cases with varying batch_size. Kept the num_workers constant at 16 with ample Runtime RAM remaining.
I ran the following variations:
For 1 Core TPU run:

Batch Size
Success/Failure

128**
Runtime Crash

64
Resource Exhausted Error

32
Resource Exhausted Error

16
Resource Exhausted Error

8
Resource Exhausted Error

4
Trains

For 8 Core TPU run, the errors are as follows:

Batch Size
Failure

128**
Runtime Crash

64
Runtime Crash

32
Stuck

16
Stuck

8
Stuck

4
Stuck

Additional Context
Model is not that big:
  | Name                   | Type            | Params
-----------------------------------------------------------
0 | a_net                  | ANet            | 13.8 M
1 | p_net                  | PNet            | 4.9 M
2 | g_net                  | GNet            | 70.4 M
3 | vgg16_perceptual_model | VGG16Perceptual | 7.6 M
-----------------------------------------------------------
72.5 M    Trainable params
24.2 M    Non-trainable params
96.7 M    Total params
386.669   Total estimated model params size (MB)

Questions
Are the errors of training being stuck at 0 and runtime crashing being caused by memory exhaustion issues too?
Are these failure cases expected behaviour for training with TPUs using PL?
Any ideas on why it trains for the 1-Core, batch_size = 4  case, and not for the 8-core batch_size = 4 case?
Any suggestions from the community on maximizing TPU usage here would be welcome. Already looking at  https://pytorch-lightning.readthedocs.io/en/latest/advanced/tpu.html#performance-considerations.
Thanks.

Hey @ms337, you seemed to have left Cato Slack.
Something to note here, while training on multiple tpu cores, the effective batch size is batch_size & num_tpu_cores which might be causing the memory issue.

@ms337 Closing the issue.


Admin - Application Settings

Need admin tools for managing application settings

Basic settings UI is done. Additional settings will be added as they are addresses in the back-end infrastructure.


Incorporate type names into Bicep symbol table

Resolves #8811
This PR adds array, bool, int, string, and object as properties to the sys namespace and updates the NameBindingVisitor to look for type symbols on imported namespaces when resolving the symbol to which a name refers.
This change allows for some simplification in the parser, as the parser does not need to distinguish between SimpleTypeSyntax (for ARM primitive types), TypeAccessSyntax (for user-defined types), and VariableAccessSyntax (for all other identifiers that are assumed to correspond to a defined symbol). Instead, VariableAccessSyntax is used for all three cases. Most lines changed in this PR are updates to main.syntax.bicep baseline files in which SimpleTypeSyntax is being replaced with VariableAccessSyntax.
There are two breaking changes that would result from merging this PR:

If a template defines a symbol that masks an ambient type, the masked type can only be accessed with a namespace-qualified expression. E.g., param string string is legal today, but with this change, it would need to be expressed as param string sys.string.
It's currently permitted to overwrite a built-in namespace using an import statement. Doing so already removes any functions or decorators defined in the namespace, and with this change, it would also remove all types defined in the namesapce. For example, import<EMAIL_ADDRESS>as sys (without an aliasing import of the sys namespace in the same template) already blocks the use of most decorators and functions, but with this change, it would also block the use of string, int, bool, array, and object.

Microsoft Reviewers: Open in CodeFlow

I didn't try the build, but I have some questions:

Do we need to update any of the completions logic? For example, will sys.| completions show the types that are available?
Does go to def, find refs, rename, and highlights all work as expected with types?

I didn't try the build, but I have some questions:

Do we need to update any of the completions logic? For example, will sys.| completions show the types that are available?
Does go to def, find refs, rename, and highlights all work as expected with types?

Go to def, find refs, renaming, and highlighting work as expected. You can't go to the definition of sys.*, but that's in line with how go to def works with functions.
The completion logic added in the PR kicks in when the user is in a location that expects a type expression, and any masked ambient types are added to the completions list as fully qualified references. sys.| relies on the existing property access completion, which could be specialized a bit so that type completions don't show built-in functions and value completions don't show ambient types:


Feature Request: provide a way to add comments inline with scale data

I'd like to be able to write text notes about the scales I'm working on. For example, I'd like to write out the MOS steps, etc. It would improve the experience of sharing or bookmarking scale URLs if we can leave reminders or clarifications that aren't easy to notice later on. Maybe this is already supported, but not documented?
I tried using an ! at the beginning of each line and that actually seems to work mostly. But the capital L doesn't get encoded into the URL correctly. For example, this was a scale that I wanted to bookmark, but the L characters came back as < characters when I opened the URL in another tab: https://sevish.com/scaleworkshop/?n=MOS 7L 5s&l=!SEsELEsLEsLLEsLEsLL_2Bv_5Bv_7Bv_aBv_cBv_fBv_iBv_kBv_nBv_pBv_sBv_vBv_&c=-~-~--~-&f=64&version=2.4.1
Seems that only the first L is encoded correctly as EL, while subsequent Ls are encoded just as L.
But I was able to fix the URL and bookmarking this URL leads to something that seems to work just fine:
https://sevish.com/scaleworkshop/?n=MOS 7L 5s&l=!SEsELEsLEsELELEsELEsELEL_2Bv_5Bv_7Bv_aBv_cBv_fBv_iBv_kBv_nBv_pBv_sBv_vBv_&c=-~-~-~~-~-~~&f=64&version=2.4.1
So maybe this is a bug report instead of a feature request. Using those URLs above should illustrate for you what I'm talking about.
I hope you understand how wonderful this tool is, and what a joy it is to explore and play with it.

We're currently in beta: https://sw3.lumipakkanen.com/?version=3.0.0-beta.24
Comments are straightforward:
"This is your scale title."
5/4 "this is a label for the note 5/4"
// This is an inline comment
3/2 green // CSS colors supported
/*
This
is a
multiline comment.
*/
2/1

Marking as bug for the encoding issue in SW2.

Fixed in the primary deployment on plainsound: https://scaleworkshop.plainsound.org/?version=2.5.2


feat: usdt specific allowance approval flow for swapper

Description
This is work-in-progress behind a feature flag, disabled by default. When the feature flag is disabled, this should behave the same as production with no changes.
Implements a USDT specific allowance approval flow where the user is prompted to reset the allowance to 0 before approving the actual allowance, where a non-zero allowance exists for USDT that is insufficient for the current trade. The UI is an initial implementation before the designs were created, so further work is required to get this live (see updated ticket)
NOTE: this PR does not implement the designs provided by product. It was the initial POC and is WIP for handover, intended to merge to prevent going stale so the next assignee can continue without stale code.
Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[x] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)
progresses #7156
Risk

High Risk PRs Require 2 approvals

High risk as this updates the core state management of the swapper.

What protocols, transaction types or contract interactions might be affected by this PR?

All swappers and token allowance approvals in the swapper
Testing

Check trades and allowance approvals work same as prod with no changes with feature flag off
Ensure non-evm trades are unaffected
With feature flag on, check the user is prompted to reset the allowance to 0 before approving the actual allowance, where a non-zero allowance exists for USDT that is insufficient for the current trade

Engineering

Operations

Screenshots (if applicable)
Feature flag on
USDT allowance reset followed by allowance approval:
https://github.com/user-attachments/assets/bbbae439-8185-421e-ab0e-6548fea4f0b7
Regular allowance approval
https://github.com/user-attachments/assets/a38d4d39-27ab-4fc1-b1a1-074fe8e22066
Feature flag off
Allowance approval and swap:
https://github.com/user-attachments/assets/efbd7eb7-36b4-4b1c-ae66-8e442c5e1553
Completed non-evm trade:

❌ Choosing another swapper
If you submit a first 1 USDT allowance trade, if you want to submit another USDT trade, you have to reset the allowance
But if you choose another swapper (0x for example instead of cowswap), the UI doesn't display the allowance reset anymore, is this wanted?
I suspect the same problem if you want to deposit some funds into some LPs or vaults after a first swap

Well spotted. I've pushed a fix to solve this, but resetting the state when the quote ID changes:
https://github.com/user-attachments/assets/22219cd1-cff9-4b16-a920-b87dc948a5b6

After revoke I am not seeing an update to the normal approval step. Also not seeing state updated for the reset allowance flow. Getting a bit lost in this PR tbh as to what the intended state is supposed to be... Down to pile for handoff

Looking much better now thanks @woodenfurniture. I have validated that the reset flow works now and not seeing anything that would raise flags for handoff.
Two comments that can be added to the hand-off issue for tackling/clarifying with product:

The success copy looks good and makes sense for the reset stage, but it does feel a bit weird that we now show sucess first on the approval (tx confirmation), but then there is a delay until the allowance check is queried and setApprovalStepComplete is called allowing progression to sign & broadcast. This is different from the previous flow and feels like we can tighten that up with the follow up UI/UX work.
We are only storing the tx hash of the approval transaction and displaying as it stands. Feels like we will want to add the same isReset flag to setApprovalTxHash and display both approval tx hashes for full visibility on the reset flow.

Going to approve as is given the intention of this PR is not to be release ready (feature flagged), but just ready to hand off :beers:

https://github.com/user-attachments/assets/d5b76434-7827-4ab3-a839-da1ab44e973a
Here is a screen recording of the success copy state before moving onto sign and broadcast. it can be in this state for up to 15 seconds depending on when it shows during the polling interval. This will go to prod with this PR as this change is not related to the feature flag.
Can you weigh in on this @shapeshift/product? I think it looks a bit odd, but let me know if you like the change of success (tx confirmed) -> sign and broadcast (allowance validated), and if not, do you want to block on this before merge. Thanks!

https://github.com/user-attachments/assets/89e47d0b-6307-4457-8eb8-f3061abde9f7
https://github.com/user-attachments/assets/af7c4085-b303-4bbc-a8cf-2d30267bc294


Bug: Setting file permissions fails when admin access is required

Description
I have tested this with an image file in the programs folder on my C drive. File explorer says it required admin whilst files doesn't do anything. Reopening the properties menu, it will remove the permissions I had set/changed.
Steps To Reproduce

Open an admin access only folder (e.g. C:/Users)
Open security page
Add a user to permission
Click ok
See nothing happens. Reopening the security page will have the original permissions

Expected behavior
UAC prompt should be displayed asking for admin access
Files Version
<IP_ADDRESS>
Windows Version
10.0.19043.1387
Relevant Assets/Logs
Logs were deleted and didn't show anything when re doing the issues steps.

This seem to apply every ware permissions can be set

Can you fill out the steps to repro?

Done

Isn't this linked to #10422

This is an issue that was present in the UWP versions before that issue.

Oh ok

@Josh65-2201 What do you think about closing this issue since setting permissions is not available at the first place, and problem code has been removed, for now, and that feature is tracked in other feature request issues.

Sure


Fix failing PR labelling

Currently PRs are not being labelled for triage (due to missing write permission in actions)
pull_request_target as event type gives permissions required to label PR
Following issue #3281 and PR #3754

Reference:- https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target

Thanks @swarajsaaj


Unexpected behavior of datepicker component inside modals

Overview of the problem
Buefy version: 0.5.1
Vuejs version: 2.4.2
OS/Browser: OSX Sierra Chrome
Description
When use the datepicker inside little modals, the datepicker doesn't float.
Steps to reproduce

Create any component within a modal.
Use the b-datepicker
Try to open :D

Expected behavior
Datepicker respect the z-indexes and floats overall.
Actual behavior
Datepicker is hidden because the modal doesn't have the sufficient height.

@wanxe Datepicker uses a dropdown component and there is an open issue https://github.com/jgthms/bulma/issues/936

@jtommy Oh sorry, nice to know :)
Thanks.

I have same issue .. plz. exist some fix ?

I've solved with that
body.modal-open {
  overflow: hidden;
}

Thank you for your reply .. but it not works me :(
What of kind object is exactly your modal-open ?
This code is from parent or in child component ?

Can you try that?
.modal .animation-content .modal-card {
  overflow: visible !important;
}

.modal-card-body {
  overflow: visible !important;
}

BINGO ! .. thank you very much .. this works

Yes I think that I can do a PR with that fix. Dunno if Bulma fix this.

I've this issue too. In adition if you open the documentation (https://buefy.github.io/#/documentation/datepicker) in mobile version with chrome debugger all selectors fails.
On my web app I've the same.

Just found this open issue and the css worked!
While the css only applies to modal-card can the fix be added to the Modal component?

I prefer a standard fix, it's only a workaround and sometimes it's no enough

overflow: visible workaround will break modal scroll, if content is long enough. So we need a fix, that take this into account.

Is there a way to force a mobile datepicker (appears in smaller screens) in desktop also to get over this annoying problem?

@sookoll No but you might try it:
.modal-card {
    // force datepicker as mobile when is into a modal
    .datepicker {
        .background {
            display: block;
        }
        .dropdown-menu {
            position: fixed;
            width: calc(100vw - 40px);
            max-width: 460px;
            max-height: calc(100vh - 120px);
            top: 25% !important;
            left: 50% !important;
            transform: translate3d(-50%, -25%, 0);
            white-space: normal;
            overflow-y: auto;
            .dropdown-item {
                padding: 1rem 1.5rem;
            }
        }
    }
}

@jtommy thanks, it works indeed, I only needed to adjust .background and .dropdown-menu z-indexes

Same issue applies for taginput / autocomplete dropdowns within modals:

Same issue because autocomplete uses Bulma dropdown style

The taginput dropdown is quite specific issue as it will need to retain access to the text box to autocomplete a term. I realise this is a different issue to tackle.

I revisited this and have got a working hack which doesn't touch js or clip the bottom of tall modals.
.modal.has-overflow {
  position: fixed !important;
  overflow: auto !important;
  .modal-background {
    position: fixed !important; // so page stays dark as we scroll
  }
  .modal-content, .modal-card, .modal-card-body {
    overflow: visible !important;
  }
}

https://codepen.io/will-abbott/pen/zgEOmW

@wanxe @donaldinos @wrabit @kerbo @sookoll Added append-to-body prop https://github.com/buefy/buefy/commit/6fcd9bf2edb08ebb1fa52f531eb463bacfbfe4e2


Add read only CP values yaml

Purpose

$subject

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


status.version does not return server version

I don't know if that's intended or not, but when i do this:
status = server.status()
print(status.version)

i get this in the console:
<mcstatus.pinger.PingResponse.Version object at 0x00000211FD2BA710>

I would like to get 1.19.2 instead, as this is the version of my minecraft server.
Is there a way to do this?
edit: typo

Looks like Version is missing a __str__ method.

Thanks, that did it!

Thanks that did it !

Keeping this open since I was counting the missing __str__ method as a bug. #306 rewrites the Version class, so this issue can be closed after it has been verified that the new version classes have a __str__ method for printing.

Keeping this open since I was counting the missing __str__ method as a bug. #306 rewrites the Version class, so this issue can be closed after it has been verified that the new version classes have a __str__ method for printing.

Currently, __str__ in #306 gives just
>>> from mcstatus.status_response import JavaStatusVersion
>>> v = JavaStatusVersion("1.19.2", 123)
>>> v
JavaStatusVersion(name='1.19.2', protocol=123)
>>> str(v)
"JavaStatusVersion(name='1.19.2', protocol=123)"

Should it instead give 1.19.2? I'm quite unsure. __str__ can be used anywhere, and this anywhere can produce unexpected results and possible bugs.

Yeah, I agree that we probably shouldn't make __str__ just return the pure minecraft version, as the class also includes the protocol version (and perhaps other things in the future). I don't see anything wrong with having the users access the actual underlying variable with version.name

Fixed by #306


Revert "Use Qdrant cluster-0 as default clusters for all new data sources."

Reverts dust-tt/dust#5239

PMRR.


Broken Link

Broken Link
https://docs.substrate.io/tutorials/v3/forkless-upgrades/rustdocs/latest/pallet_scheduler/pallet/enum.Call.html#variant.schedule
Expected Location
No response
Context and Origin
The link came from this section of the forkless upgrades tutorial:
https://docs.substrate.io/tutorials/v3/forkless-upgrades/#schedule-an-upgrade

Thanks for reporting this @guzzit - fixed now! Cheers.


Update RSE expression for output rules to tape

Impact of the new feature
MSOutput
Is your feature request related to a problem? Please describe.
Ops would like to be able to control the tape RSEs to which MSOutput sends outputs to. Currently, MSOutput uses this RSE expression for output rules to tape [1]. Ops needs to go through WM to update it. This is not optimal in case of urgencies
[1] https://gitlab.cern.ch/cmsweb-k8s/services_config/-/blob/aa6f6a38ec85409f676d2a08f6fdbde50b27cfb1/reqmgr2ms-output/config-output.py#L83
Describe the solution you'd like
Ops will define a new RSE attribute, whose name could be wmcore_output_tape and make it wmcore_output_tape=True for tape RSEs to which we want outputs to go. WMCore should provide wmcore_output_tape=True as an RSE expression instead of rse_type=TAPE\(cms_type=test|rse=T1_RU_JINR_Tape). This way,

we'll not have to hack the expression whenever we need a change
we'll be protected by syntax errors that we can make while changing the RSE expression.

Describe alternatives you've considered
I cannot think of a better solution
Additional context
We need to stop output transfers to T0_CH_CERN_Tape asap
@drkovalskyi @ahmedmu @llavezzo fyi

This has been fixed with: https://gitlab.cern.ch/cmsweb-k8s/services_config/-/merge_requests/234
and also deployed to the production Kubernetes cluster, followed by a restart of MSOutput.
Thanks to Hasan for helping me to validate the new Tape RSE expression.

@haozturk you might want to create a GH ticket under the Rucio repository to make sure that this new RSE attribute gets properly considered whenever Rucio is upgraded and/or a new kubernetes cluster is created.
BTW, thank you for suggesting this neat change.

@dynamic-entropy said that these attributes are stored in Rucio db and shouldn't be affected by any upgrade.