Serialization: permit the directory layout on non-Apple targets

Permit the directory style .swiftmodule on non-Apple targets.  This
allows all platforms to use the directory layout enabling
multi-architecture SDKs.  This not only unifies the layout of the SDK
across the various targets, it also enables Windows to have a single
unified SDK.
The complexity here is due to the compatibility for older layouts.  This
change does not break compatibility on Linux/Android/Windows for the old
style layout.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

@swift-ci please test

I don't think it's a good idea to enable this unconditionally. If the target triple normalization  (Platform.cpp, swift::getTargetSpecificModuleTriple()) doesn't do something reasonable to a particular platform's triples, then tiny variations in the spelling of -target options will lead to module loading failures.
If you want to support swiftmodule directories on Windows, by all means create a mechanism for platforms to opt in to the directory layout, and then implement appropriate triple normalization for Windows. The goal is to ensure that any change in compiler flags that would be visible through #if os(), #if targetEnvironment(), #if arch(), etc. will result in a different triple, but irrelevant changes to -triple (like OS versions on Darwin or synonyms for the same architecture) will normalize away.

@brentdax this is just a cherry-pick from master; there is a small follow up change that is needed for loading the standard library in this layout though.

If the target triple normalization (Platform.cpp, swift::getTargetSpecificModuleTriple()) doesn't do something reasonable to a particular platform's triples, then tiny variations in the spelling of -target options will lead to module loading failures.

Unlike the Apple triples, most of the other triples are more or less incompatible if there are any tiny variation in the target spelling.  Outside of the pc vendor on x86 and x86_64 being treated as the unknown vendor, I don't know of much else that can be normalised.    What type of normalization did you have in mind?

If you want to support swiftmodule directories on Windows, by all means create a mechanism for platforms to opt in to the directory layout

The changes here are backwards compatible, so there can be a smooth transition to this layout.

and then implement appropriate triple normalization for Windows. The goal is to ensure that any change in compiler flags that would be visible through #if os(), #if targetEnvironment(), #if arch(), etc. will result in a different triple, but irrelevant changes to -triple (like OS versions on Darwin or synonyms for the same architecture) will normalize away.

The triple is as normalized as can be IMO.  There is no OS version attached to the other platforms.  The Windows triple do contain the MSVC version, but that is not a difference that can be normalized away - that defines the ABI as Windows does not provide a stable MSVC ABI.  On Linux, the environment differences are not really compatible and part of the ABI.  On android there is the android API version, but that is already normalized away in swift::getTargetSpecificModuleTriple().  I think that if we have missed something, that is definitely something that should be fixed in general, irrespective of this change.
Its very well possible that I'm overlooking something (a triple has what, nine parts?), and I'm happy to chase down something which has been missed on Linux/Windows/Android.

Triples are a poorly-specified Wild West of different tools all trying to cope with each other's bugs. You have to think through and define how this messy universe of broken and synonymous triples ought to map down to swiftmodule names; if you don't, you'll end up in situations where different build systems or even different projects can't load modules built by one another.

Outside of the pc vendor on x86

Yes, you definitely need to map the "vendor" field to something consistent. Even if there's a proper vendor everyone pretty much agrees upon, a lot of tools will pass "unknown" instead. Or just leave the vendor field out entirely, because, you know, everyone knows which vendor goes with that OS, right?

and x86_64 being treated as the unknown vendor, I don't know of much else that can be normalised.

A lot of the necessary normalization is making one choice for things with several synonyms. For instance, these two Darwin architecture normalizations should almost certainly be applied to Windows:
              .Cases("x86_64", "amd64", "x86_64")
              .Cases("i386", "i486", "i586", "i686", "i786", "i886", "i986",
                     "i386")

Similarly, you can't normalize away the MSVC version, but is there only one spelling for a given version? Or is msvc19 a synonym for msvc19.0.0? You'd better map those down to one spelling, or libraries built with one of them will fail to import in a build that uses the other.
I don't know enough about the various Windows ABIs and toolchains to know everything you should look at, but hopefully this gives you an idea. Currently, you're getting no normalization. Before you start using swiftmodule directories for real, you'll need to change that.

Triples are a poorly-specified Wild West of different tools all trying to cope with each other's bugs. You have to think through and define how this messy universe of broken and synonymous triples ought to map down to swiftmodule names; if you don't, you'll end up in situations where different build systems or even different projects can't load modules built by one another.

Yeah, though, I don't think that is any different from the current state.  The current triple is encoded into the swift module even outside of the module directory.  That is the state of the world with and without this change, this maintains that status quo.

Outside of the pc vendor on x86

Yes, you definitely need to map the "vendor" field to something consistent. Even if there's a proper vendor everyone pretty much agrees upon, a lot of tools will pass "unknown" instead. Or just leave the vendor field out entirely, because, you know, everyone pretty much agrees on the vendor and will fill it in for you if you omit it, so why bother specifying it?

You cannot just map the vendor field to something.  If a vendor is specified, it is material to the triple and cannot be normalized away.  Any vendor that is different can (and does) include vendor specific changes which you may not support.  There is no such thing as an agreed upon vendor.  The problem is that pc is a specific vendor that Linux adopted a long time ago, and it is unclear whether they are equivalent or not (in reality, a Linux vendor may modify the compiler and you wouldn't know until it fails at runtime).  The vendor needs to be preserved and honored.  The bit at the end is relevant to this.

and x86_64 being treated as the unknown vendor, I don't know of much else that can be normalised.

A lot of the necessary normalization is making one choice for things with several synonyms. For instance, these two Darwin architecture normalizations should almost certainly be applied to Windows:
              .Cases("x86_64", "amd64", "x86_64")
              .Cases("i386", "i486", "i586", "i686", "i786", "i886", "i986",
                     "i386")

Similarly, you can't normalize away the MSVC version, but is there only one spelling for a given version? Or is msvc19 a synonym for msvc19.0.0? You'd better map those down to one spelling, or libraries built with one of them will fail to import in a build that uses the other.

There is only one spelling per version, each version is a separate, incompatible, target.  The version that is targeted is implicit in clang, so if one is not specified, one will be provided for you.

I don't know enough about the various Windows ABIs and toolchains to know everything you should look at, but hopefully this gives you an idea. Currently, you're getting no normalization. Before you start using swiftmodule directories for real, you'll need to change that.

Yeah, I've thought about this in the past.  The only normalization that matters is llvm::Triple::normalize.  That should already be done by the driver, which means that the real normalization is already performed.  It is now the erasure of the specific fields that needs to occur here, but, unlike android, there is no guarantee on Windows of API compatibility, and in fact, documented fact that the ABI is incompatible.  That is, at the point that the triple is being used here, it is ready for use on Windows.  I could see the value in the replacement of pc with unknown for the vendor on Windows, but, again, because of the horrible long standing abuse of pc, it's unclear if pc means that it is the same or not.  I'd love to get some thoughts on that though.

This was for the 5.3 branch, no point in keeping this open.


[Request] possibility to overwrite arrays instead of merging

I'd love the possibility to overwrite arrays instead of merging

Thanks for the suggestion!  I've kept things simple on purpose for now, so it doesn't support this.  This will probably be the first thing I implement in the case I expand it to support options.  Thanks!


Authentication Token not persisted

For the past couple of months, after I restart my machine, I need to always re-authenticate toggl via the toggl auth <key> command.
I'm not sure if this means something in my hard-drive is getting corrupted or if toggl isn't storing it in disk any more and is just storing it in some temporary directory.
Would there be an easy way to know where it is storing this authentication information? I'm on linux (Arch).

Checking the code, I do see that it's using keyring, which uses keyutils. Not sure what I'll need to do to make it persistent across boots.

Hey @vHanda that's unfortunate, I'll try and replicate on a vm, meanwhile could you let us know the desktop environment you're using it with or if you're using it headless.

Okay looked into the keyring package this is from the docs

Persistence
The key management facility provided by the kernel is completely in-memory and will not persist
across reboots. Consider the keyring a secure cache and plan for your application to handle
cases where the entry is no-longer available in-memory.
In general you should prepare for Entry::get_password to fail and have a fallback to re-load
the credential into memory.
Potential options to re-load the credential into memory are:

Re-prompt the user (most common/effective for CLI applications)
Create a PAM module or use pam_exec to load a credential securely when the user logs in.
If you're running as a systemd service you can use systemd-ask-password to prompt the user
when your service starts.

https://github.com/hwchen/keyring-rs/blob/779dfe0dc3ebaf5b0bba04864ddc9c32d4a7c3d0/src/keyutils.rs#L19-L33
so it seems like we might have to rework this for linux I'll try and address it this weekend.

Thank you. That's really kind of you. But really, I'm happy to use the software as in - It clearly isn't your use-case.
Plus, I got to learn about something - linux keyring.
Thank you for providing this!

I'm having the same issue on WSL. Could it be possible to pull from environment variable as quick alternative? i.e. TOGGL_API_TOKEN

I'm also having this issue on linux, an env var (as suggested by @wd60622) would be a super flexible way to not only fix this issue but sidestep quite a few future ones.
Thank you so much @shantanuraj, it's still a really great tool even with having to re-auth every reboot! :grin:

Hey apologies for not getting to this sooner, I'll implement a fallback with a TOGGL_API_TOKEN environment variable, while we look into a proper fix for keyring on linux.

I've published version 0.4.8, it should allow to use your api tokens via the TOGGL_API_TOKEN environment variable.
TOGGL_API_TOKEN=xxxxx toggl list

Thanks for your patience!

It works! Thank you so much :grin:
❯ toggl
Please set your API token first by calling toggl auth <API_TOKEN>. Or export it as TOGGL_API_TOKEN.
You can find your API token at https://track.toggl.com/profile

❯ toggl auth ******

❯ TOGGL_API_TOKEN=****** toggl
No time entry is running at the moment


issue-12: implemented BinaryTree

Created AbstractTree and BinaryTree based on it.
Code is covered with tests.

Good job!


🐛 [firestore-bigquery-export] BigQuery sync table does not update if firestore collection is restored from backup

[READ] Step 1: Are you in the right place?
Issues filed here should be about bugs for a specific extension in this repository.
If you have a general question, need help debugging, or fall into some
other category use one of these other channels:

For general technical questions, post a question on StackOverflow
with the firebase tag.
For general Firebase discussion, use the firebase-talk
google group.
To file a bug against the Firebase Extensions platform, or for an issue affecting multiple extensions, please reach out to
Firebase support directly.

[REQUIRED] Step 2: Describe your configuration

Extension name:  firestore-bigquery-export
Extension version: 0.1.44
Configuration values (redact info where appropriate):

Default configuration values for extension

[REQUIRED] Step 3: Describe the problem
Firestore has a feature to import and export data which is used to backup databases. If a collection that is streaming data to BigQuery imports using this feature, the changes are not synced to BigQuery. This means that using this feature can cause the tables to be permanently out of sync with each other.
Steps to reproduce:

Create a collection and connect it to the Stream to BigQuery extension (default configuration values)
Add a new document to the collection. It will be synced to BigQuery
Use the Import/Export feature linked above to take a snapshot of the collection and store it to Cloud Storage
Delete the document
Import the snapshot

Expected result
The document gets recreated in firestore, and then synced to BigQuery so that the two tables have the same information.
Actual result
The document gets recreated in firestore, but not synced to BigQuery. The BigQuery table still says that the document has been deleted. The two tables are now out of sync.

Thanks for the link, I'll take a look at that. I think I misunderstood the official description of the extension. It says:

If you create, update, delete, or import a document in the specified collection, this extension sends that update to BigQuery. You can then run queries on this mirrored dataset.

If the extension doesn't support importing documents I think this description should be modified to make it clearer what the extension supports.


Updates Release Branch Naming

Fixes https://github.com/envoyproxy/gateway/pull/325#discussion_r996663482.
Signed-off-by: danehans<EMAIL_ADDRESS>

Reran build-and-test job due to codecov upload error.

Rerunning CI due to another Codecov upload error.

Codecov Report

Merging #582 (a5e3a62) into main (29d5189) will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #582      +/-   ##
==========================================
- Coverage   60.46%   60.45%   -0.02%
==========================================
  Files          46       46
  Lines        5593     5593
==========================================
- Hits         3382     3381       -1
- Misses       2001     2002       +1
  Partials      210      210

Impacted Files
Coverage Δ

internal/provider/kubernetes/gatewayclass.go
70.28% <0.00%> (-2.90%)
:arrow_down:

internal/provider/kubernetes/helpers.go
80.43% <0.00%> (+6.52%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Update FOLDER_README_TEMPLATE.md

PR Description 📜
I have developed a new game using HTML, CSS, and JS
Fixes #3148

Mark the task you have completed ✅

[x ] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x ] I have performed a self-review of my own code or work.
[x ] I have commented my code, particularly in hard-to-understand areas.
[x ] My changes generates no new warnings.
[x ] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x ] I have added screenshot for website preview in assets/images
[x ] I have added entries for my game in main README.md
[x ] I have added README.md in my folder
[x ] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @LordVaibhav ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

Please @kunjgit  merge this PR.

@kunjgit please merge this PR.

@kunjgit can you please guide me how I have to change. It will be very helpful for me as a beginner.

@kunjgit please review the updated PR.

@kunjgit please verify it if everything is alright

@VaibhavS0710 already the game is there on GameZone even graphics are same and we are not encouraging to adding same game again and again will recommend you to come up with some new ideas !

Thank you  @VaibhavS0710 , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


From @AndrewGable :

I would assume this is it: We share auth tokens between Old and New Apps and the encrypted auth token is used to view thumbnails due to “secured receipts” project. For some reason the encrypted auth token is the one that sometimes gets out of sync.

From @mateuuszzzzz:

The good news is that migrating to NewDot login page should solve this issue for us. But it will take some time to finish it. I bet we will need to handle this bug separately. I started research some time ago and here is related draft PR

From @trjExpensify:

P.s - that flow is super rough though. Why don’t we show the magic code input on the home page for the unvalidated account?
On this btw, I think we need to do something about that in the name of #convert.

Sign-up
Get signed in for an unvalidated session
Sign-out
Re-enter the email address
See a message saying to click the validation link in an email that never came
Click “Resend link”
Get the magic code email
Click the link in the email
Get taken to mWeb where you’re told to use the same device you requested from
After step 4, why don’t we 1) send a magic code email and 2) show the magic code input screen? I’m basically stuck at this point.

Just noting that this issue wil not block HybridApp release <IP_ADDRESS> as this is an existing authentication issue

FYI: Here's draft PR where I was investigating this issue https://github.com/Expensify/Mobile-Expensify/pull/13144

I merged the latest main branches to find potential problems, and it turns out that the app sometimes crashes during Sign Up. I'm going to investigate this.

Hi, I have an update. It seems like we don’t return the encryptedAuthToken to the old app, which is causing the current PR to break. We’re having a discussion about the next steps for the PR

Hi, I have a new update after another round of investigation.
I tried to implement another approach which was described here. Unfortunately, there are some issues with authentication on NewDot side with credentials generated on OldDot side.
I get the following error when I try to re-authenticate:
{"response": {"jsonCode": 404, "message": "404 No passwordless infinite login found.", "onyxData": [], "requestID": "8d4903949ac6b197-WAW"}

My guess is that we cannot make authentication request with HybridApp's partnerName (I compared how it behaves with NewDot partnerName and I did not encounter this issue).
I think we need someone from Expensify to look into this as it seems like backend issue.
Alternatively, we could switch to using NewDot's partnerName in HybridApp, but I'm not sure what impact that might have on the existing backend logic.

@jasperhuangg - I think you were looking into this specific case on the backend correct?

@AndrewGable, I don’t think the issue is related to partnerName. Both the PARTNER_ANDROID and PARTNER_IPHONE are being considered in this condition, which must pass before reaching the logic that throws the exception.
The problem @mateuuszzzzz is encountering seems to be because we aren’t creating a temporary login for the user when they sign into HybridApp, unlike what we do for NewDot, which makes this check fail. When a temporary login is created, an NVP is also set, which is checked in situations like this.
This issue is similar to this one because both involve differences in the HybridApp sign-in flow compared to NewDot. However, the root cause in each case is different, as different parts of the sign-in flow are inconsistent.

I hope to have more time to help triage the backend issues soon.

I tried to implement another approach which was described here.

Hey @mateuuszzzzz, this looks like an internal Slack, was there any useful info there you could share?

^^ It's actually just how Slack copies links when you share workspaces. Swap the swmansion portion for expensify and it'll work:
https://swmansion.slack.com/archives/C07HPDRELLD/p1729253146217929?thread_ts=1728999565.505529&cid=C07HPDRELLD
https://expensify.slack.com/archives/C07HPDRELLD/p1729253146217929?thread_ts=1728999565.505529&cid=C07HPDRELLD

I added my private test domain to the beta a while ago. Feel free to sign-up with any new account on<EMAIL_ADDRESS>

Thanks. Some logs.
As Jasper mentioned, Login::isInfiniteLoginType is returning true in this case. The Authenticate command fails because no temporary passwordless partnerID exists in the temp...pass NVP under that accountID. I wonder if accountID is being set correctly here?

I also noticed this week that If I invalidate auth token with button from troubleshooting section on NewDot then re-authentication works fine. On the other hand, calling reauthenticate function right after transition to NewDot (from code) results in failing request. I hope this helps

I can see what looks like two different cases in the logs. The receiptUpload auth token sticks out, but we do also use this as a generic token.
accountA) partnerID: 16, partnerUserID: 'google-pixel...', isValidated: false, isPasswordless: false
accountB) partnerID: 1, partnerUserID: '', type:: 'receiptUpload', isValidated: false, isPasswordless: true

My next step is to look further into the missing temporaryLogin NVP, but here are some initial notes:

Mateusz shared a reproduction method: modify setSessionDataAndOpenApp so that we call Authentication.reauthenticate() before App.openApp()

Why does invalidation fail immediately after transition, but NOT when the token is manually invalidated???
I plan to use a debuggable HybridApp build to catch the failing request and check the params

Using the encryptedAuthToken fixed the post transition receipt loading issue for validated accounts
PR to share authToken with ND
The transition is still occurring for initial sign in, so what is the difference? Is it that no encryptedToken is provided to an invalidated account?
Why are we using these two different auth params?

Per here, I'm putting this back on Daily as a showstopper to putting new sign-ups on the NewDot experience on mobile sign-up.

I have spent some time debugging HybridApp networking and Yapl flows. For now the plan is to ensure secureAuthToken is always set in HybridApp (with thanks to a hint from Marcin).
When Authenticate is called from HybridApp YAPL logic, we persist the returned encryptedAuthToken and then pass it during redirection. However, we don't appear to be doing this within the create account flow, meaning that the encrypted token isn't passed to NewDot during redirection.
Note for Monday: Debug build Expensify-oct25-logs-3.apk and test the new logs against expected response.

Chores and other tasks prevented me from having time for this today. I should have less blocking me from this task tomorrow.

I'll be also looking into that issue today one more time 👍

Back from OOO. Today I tested my backend changes that just hit staging against my WIP mobile changes and I'm pretty sure the issue is resolved 🎉
https://github.com/user-attachments/assets/0f7883af-0a40-4a1c-9d13-1ab79b3f123a
Thumbnails not blank after upload:

HybridApp PR submitted here.

Nice work here!! ❤


Error in strict mode (io.js 2.0.1 V8 4.2)

On enabling strict mode (iojs --strict_mode), we get an error in index.js line 19 :
mode = 0777 & (~process.umask());
The error is Octal literals are not allowed in strict mode.
I don't know if you wanted to make an octal literals but if not, you maybe would delete the 0 in order to fix the number to be considered as an octal number in ES6.

Isn't this fixed by 48e67fce39f1a5f2aba6196301b7be6d4545d6cf?

I got this error, too; but we were using 0.3.5 which is two minor versions out of date.
I suspect this error is resolved with newer releases and will be testing that assumption shortly :)

I just experienced this issue with version 0.5.1


Create flow for user creation via email invite

This is for the basic functionality, A proper design issue will follow

#3199 closes this issue


V0.0 dash

Update developer guide with user stories and NFR

Coverage remained the same at 89.093% when pulling eb88932b1d707384d0252ef357f3684f20ba643a on V0.0_dash into b3b6a340a1e32442b408f86c57439b42504dc29d on V0.0.

Can the Windows 7 requirement be considered as under the "mainstream-os" requirement?

Changes made, pls review and merge


AppCastGenerator - cannot generate keys

Hi,
I'm using latest preview as of writing this and I'm not able to generate keys.
I have tried adding Nuget to my project (using .NET Core 3.1), but I got an error:
Package 'NetSparkleUpdater.Tools 2.0.0-preview20200614001' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' instead of the project target framework '.NETCoreApp,Version=v3.1'. This package may not be fully compatible with your project.

The Nuget is not yet compatible with .NET Core 3.1, no problem, so I cloned the repo (develop branch) and built project NetSparkle.Tools.AppCastGenerator and it was built sucessfully.
Afterwards I opened cmd and ran command generate_appcast.exe --generate-keys and got error:
Cannot use stream for resource [C:\Repos\NetSparkle\src\NetSparkle.Tools.AppCastGenerator\obj\Release\netcoreapp3.0\generate_appcast.deps.json]: No such file or directory
A fatal error was encountered. The library 'hostpolicy.dll' required to execute the application was not found in 'C:\Program Files\dotnet'.
Failed to run as a self-contained app.
  - The application was run as a self-contained app because 'C:\Repos\NetSparkle\src\NetSparkle.Tools.AppCastGenerator\obj\Release\netcoreapp3.0\generate_appcast.runtimeconfig.json' was not found.
  - If this should be a framework-dependent app, add the 'C:\Repos\NetSparkle\src\NetSparkle.Tools.AppCastGenerator\obj\Release\netcoreapp3.0\generate_appcast.runtimeconfig.json' file and specify the appropriate framework.

Could you please advise, how should this be properly used? Maybe I'm just using it wrong...

Hmmm, it seems like there are two problems:

Adding the tools via NuGet should work -- the tools both target netcoreapp3.0, but clearly something thought it was for .NET Framework. Hm.
The tools aren't distributed as self-contained apps (they probably should be).

Could you try installing the .NET Core Runtime (https://dotnet.microsoft.com/download/dotnet-core/3.1 -- see the Desktop Runtime 3.1.5 section) and seeing if that helps, here?

After I reinstalled Desktop Runtime, it started working.
The interesting point here is that even though I had already installed .NET Core SDK and when I listed runtimes, Desktop Runtime was there. But it wasn't installed correctly, probably because of the missing dll, but after reinstalling it, just the Desktop Runtime, it was fixed and is working now.

Thanks again for this report. I've done a few things here:

Updated the readme in this repo to make it more obvious that you need the desktop runtime installed
Added a readme.txt to the tools NuGet to tell people to use the desktop runtime
Don't publish tools trimmed (in case this was the real cause...)
Updated tools to use .NET Core 3.1

I ran a test, and from a new .NET Core 3.1 project, I could successfully reference the NetSparkle tools preview with no issues.
Thanks!


Feature Request, Collaborative Bookmarks

Would it be possible that classes could collaborate their book marks. For example, there would be a list of all the bookmarks made in lecture recordings, and students can scan through them to find what they need to learn quickly.

Thanks for the great suggestion! The only thing I'm worried about is how to moderate the quality of the bookmarks (e.g. a bunch of "Bookmark 1"s would not be very useful). Perhaps there should be a 'share' button to publish that bookmark for everyone to see?


python release notes for the 2023-10 release

This is an automated pull request to gather the python release notes for the 2023-10 release. See Producing Release Notes for details of the processing.

/azp run azure-sdk - ci


How to load real data with apollo software platform?

We appreciate you go through Apollo documentations and search previous issues before creating an new one. If neither of the sources helped you with your issues, please report the issue using the following form. Please note missing info can delay the response time.
System information

OS Platform and Distribution (e.g., Linux Ubuntu 18.04): ubuntu 18.04
Apollo installed from (source or binary):  source
Apollo version (3.5, 5.0, 5.5, 6.0):  5.0
Output of apollo.sh config if on master branch:

Steps to reproduce the issue:

Please use bullet points and include as much details as possible:
I need run Apollo software platform on ubuntu system(not on hardware vehicle , not the demo_3.5_record file), So What should I do to realize the apollo  platfom running in real life data.    Whether I need to record files by myself,and run it on apollo? Is there any other way to make sure I'm running Apollo in real life

Supporting materials (screenshots, command lines, code/script snippets):
I can currently run in a simulation environment. BUT I need run in real life data.What are some ways to make cars run in the real world(or real world data)  on Apollo software platform?
I have the real life data at https://apollo.auto/southbay_cn.html .  Can I  use them on apollo platform? Any tutorial or document?

Except that I have run the Apollo platform independently with the demo file  demo_3.5_record ,and the state picture  such as :

Thanks for your reply.
Many thanks for your help.

The best way is to test on the dataset. If you want real data, you can collect it yourself, as far as I know, no one else is sharing real data other than public datasets


TypeError: No loop matching the specified signature and casting was found for ufunc add

I'm getting the following error on Google VM using Ubuntu 18.04, Python 3.6 when I try to run /merlin/egs/slt_arctic/s1 recipe.
  File "/home/virtuoso_irfan/merlin/src/run_merlin.py", line 1020, in main_function
    valid_dur_rmse, valid_dur_corr = calculator.compute_distortion(valid_file_id_list, ref_data_dir, gen_dir, cfg.dur_ext, cfg.dur_dim)
  File "/home/virtuoso_irfan/merlin/src/utils/compute_distortion.py", line 206, in compute_distortion
    dur_corr = self.compute_corr(ref_all_files_data, gen_all_files_data)
  File "/home/virtuoso_irfan/merlin/src/utils/compute_distortion.py", line 257, in compute_corr
    corr_coef = pearsonr(ref_data, gen_data)
  File "/home/virtuoso_irfan/.local/lib/python3.6/site-packages/scipy/stats/stats.py", line 3410, in pearsonr
    xmean = x.mean(dtype=dtype)
  File "/home/virtuoso_irfan/.local/lib/python3.6/site-packages/numpy/core/_methods.py", line 75, in _mean
    ret = umr_sum(arr, axis, dtype, out, keepdims)
TypeError: No loop matching the specified signature and casting
was found for ufunc add

The issue is with numpy version, reverting back to 1.15 fixed the issue.

I tried switching back to numpy 1.15, but now I get a different error while running the demo:
WARNING (theano.tensor.blas): Using NumPy C-API based implementation for BLAS functions. Traceback (most recent call last):   File "/home/advait/Documents/Merlin/merlin/src/run_merlin.py", line 65, in <module>     from frontend.parameter_generation import ParameterGeneration   File "/home/advait/Documents/Merlin/merlin/src/frontend/parameter_generation.py", line 50, in <module>     from .mlpg_fast import MLParameterGenerationFast as MLParameterGeneration   File "/home/advait/Documents/Merlin/merlin/src/frontend/mlpg_fast.py", line 53, in <module>     import bandmat as bm   File "/usr/local/lib/python3.5/dist-packages/bandmat/__init__.py", line 99, in <module>     from bandmat.core import *   File "__init__.pxd", line 861, in init bandmat.core (bandmat/core.c:13778) ValueError: numpy.ufunc has the wrong size, try recompiling

i have this exact same issue. reverting numpy to 1.15 did not help me fix it either

Okay, you can change the version to numpy==1.13.1. For my conda environment is also working.

hi Mirfan
Thanks for your info.
Deactivating my virtual environment, and the re-installing the packages globally worked fine. i used numpy (1.13.3). Not really sure though why they did not specify working versions of all the needed packages in the requirments.txt file.


Fix replicator cluster stability race condition

Replicator clustering module is in charge of keeping track of when the cluster
is stable or unstable. A cluster is said to be "stable" if there weren't any
new nodes added or removed for some period of time.
Replicator document processor uses cluster state to determine what to do with
document updates as they come in. If a document update comes during a time when
cluster is unstable, the update is skipped. The idea is that when cluster
becomes stable again, all the documents will be rescanned anyway.
In order for document updates to not be dropped, there is an implicit
constraint when cluster becomes stable again (couch_replicator_notifier
gen_event broadcasts {cluster, stable} event), any subsequent calls to
couch_replicator_clustering:is_stable() would return true. If that's not
the case then this sequence of events is possible:

mem3_cluster process calls the cluster_stable event

couch_replicator_notifier broadcasts {cluster, stable} event

couch_replicator_doc_processor start processing documents

On first document update couch_replicator_clustering:is_stable() is false,
because that gen_server wasn't notifier yet.

Document update is dropped.

There won't be any rescans until cluster membership is changed again.

To fix this, switch to setting stable state first via a gen_server call. This
way after the {cluster, stable} has been called, is_stable() is guaranteed to
return true.
Note: This issue is mostly theoretical. It was noticed by examinig the code
related to another bug. The chance of the clustering process going to sleep
immediately after gen_event broadcast, then not handling the cast long enough
for a document to be processed by doc processor is pretty low.
Checklist

[x] Code is written and works correctly;
[x] Changes are covered by tests;

FWIW, code LGTM and tests pass locally:
module 'couch_replicator_clustering'
  couch_replicator_clustering:217: t_stable_callback...ok
  couch_replicator_clustering:225: t_unstable_callback...ok
  [done in 0.577 s]


Decouple InteractionModelEngine from TimedHandler

Before this change, IM includes TimedHandler.h, and TimedHandler.cpp includes IM, which creates a very strong coupling between the two clases.
Split the TimedHandler needs into a separate interface. IM already has a vtable so the cost of this is adding a delegate pointer to TimedHandler. The gain is less coupling and more testability.
Generally trying to not use InteractionModelEngine::GetInstance in many places should be very beneficial as it would allow us to have in-process testing (e.g. one client and one server running in parallel as different IM engines). This brings us closer to that.
Before this looked like:

After this looks like:

I do not understand the large increase in sizes for boufallolab builds ... the other platforms seem more reasonable/expected.


Expand documentTypes

This change is

Pull Request Test Coverage Report for Build 2659

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 73.935%

Totals

Change from base Build 2656:
0.0%

Covered Lines:
1719

Relevant Lines:
2325

💛  - Coveralls


How to install Micro on WSL?

Description of the problem or steps to reproduce
Specifications
How can I install micro on wsl(ubuntu)?

Commit hash:
OS: Windows10
Terminal: ConEmu(WSL)

I think it should be the same as installing on Linux. You can either download the deb file/tarball (either is fine) from the releases page or use curl https://getmic.ro | bash (this command just downloads and extracts the tarball from the releases page).

I think it should be the same as installing on Linux. You can either download the deb file/tarball (either is fine) from the releases page or use curl https://getmic.ro | bash (this command just downloads and extracts the tarball from the releases page).

Thanks


Fix Data Preparation Failed in Container

Fix https://github.com/NVIDIA/NeMo-Framework-Launcher/issues/314

@dimapihtar PTAL, thanks!


False positive unused import when using named import syntax

It appears that a recent version of Hardhat VSCode has added support for detecting unused imports (which I think is powered by solhint-community).
The problem is that this feature does not work with imports of this form:
import { Foo as Bar } from "../src/Foo.sol";

Even if Bar is used in the code, the extension reports that it is not used:

To reproduce this:

Start from my Foundry template
Go to test/Foo.t.sol
Replace the Foo import as I have shown above
Replace all uses of Foo by Bar

We have not added an unused import feature. Is this coming in from another extension?
I couldn't reproduce based on your template.

Oh wow - so I was wrong in my tweet!
It looks like this "Unused import" feature is due to vscode-solidity-inspector.
Sorry for the false positive.

It is such a good idea, I will add it as an feature request.


Kitware Logo and link to a Kitware page

One panel or popup should be an "About" panel that talks about Kitware, gives a link to Kitware.com, gives a link to paraview.org, and mentions that we provide consulting support.   This popup/panel could also link to a "Help" page (or be the help page).

About page still needs work, but I threw up a quick one for now.


Fix docUrl and pageUrl in the Footer & image path

Fixes #1507

@edemaine Fixed! Thank you for spotting it.


Wire_obj ^ 2 should throw an error, I think

My understanding is that the caret operator, which is an overload for Wire.location_at() (or any other object which inherits from Mixin1D), accepts an argument where 0 <= distance <= 1 when position_mode = PositionMode.PARAMETER (the default).
If this is true, calling the caret operator with a 2nd-operand greater than 1 should be invalid, and should raise an error instead of acting silently.
This will help people's understanding of what the function does, and may help catch bugs as well.

No.  Although normally u, v values have the range of 0.0 - 1.0 one can legitimately use values outside of this range as the underlying curve object is valid beyond these end points.

Maybe this is a documentation request then, which explains how that works.
What happens when one does polyline ^ 2? Does it just extend the closest-to-the-end line segment?

Let's try and find out:
from build123d import *
from ocp_vscode import show_all

path1 = Polyline((0, 1, 0), (4, 1, 0), (4, 4, 0))
p1 = path1 ^ -1
p2 = path1 ^ 2

path2 = Spline((-2, 6), (0, 2), (2, 6))
p3 = path2 @ -1
p4 = path2 @ 2

show_all()

Within the kernel all lines are represented by an OCCT Geom_Curve which is "trimmed" to a given start and end point.  When a user asks for u values outside of 0.0-1.0 they are simply requesting  values on the base Geom_Curve.
Maybe a user would like to align text to a line and it goes a little off one or both ends - allowing values outside of the 0.0 to 1.0 range enables this. I don't recommend users do this unless they understand what they are doing though.

Thanks, I think that's a helpful example. Would be awesome to be able to create a similar clear example that could go in the docs!


Should it be possible to use malloc_host without specifying sycl namespace?

I just accidentally forgot to prepend sycl:: and it compiled. And I do not think that it is a good idea to put such thing in the global namespace.
#include <sycl/sycl.hpp>

int main()
{
	sycl::queue q;
	malloc_host(4096, q);
}

It's not in the global namespace. What you are seeing is the effect of C++ argument dependent lookup (ADL). C++ compilers will also consider namespaces of function arguments during overload resolution. This is why e.g. std::operator<< is found even though it is in std namespace when passing std::cout as argument.
You will see the same behavior with other SYCL implementations. It's regular C++ at work :)
https://en.cppreference.com/w/cpp/language/adl


Getting "command 'sqltools.executeQuery' not found" error when trying to run a query

Hi,
I have been using the SQLTools extension for a long time without any issue.
All of a sudden, since yesterday, I can no longer run queries and get the error "command 'sqltools.executeQuery' not found".
I tried to go to "Show Output  Channel Logs", but that led to a similar error.

SQLTools Version v0.28.3
VS Code Version 1.85.2
OS: Windows, remote SSH to Linux
Driver:

[x] PostgreSQL/Cockroach

I tried to kill the VS Code Server, and reinstall the extensions, but that did not work.
Your help would be much appreciated!
Thanks.

I suggest you upgrade your VS Code to the latest version (1.95.2} and re-test.

Thanks, @gjsjohnmurray, upgrading to 1.95.2 worked.

Hi,
Unfortunately, this issue is happening again today.
VS Code Version 1.95.2

@gjsjohnmurray , not entirely sure if this is the cause but I took a chance and updated the Remote - SSH extension to 0.115.1 (which is only six hours old as of time of writing), and it's now working again.
I am worried that it may stop working again any day.
Prior to a couple of days ago, it had been working fine for a long time.
Thanks for your help!


No battery or wifi icons on ASUS TUF FX505DY

I rebooted my laptop and there are missing icons on the taskbar (Battery Icon and Wifi Icon)
Steps to reproduce

Reboot an ASUS laptop
They're not there
Try with shell replaced

Expected behaviour
it wont show
System information:

Windows version: Windows 10
Cairo version: Latest Build (0.3.6842.0)
32-bit or 64-bit: 64-Bit
In Cairo Settings > Advanced, is Cairo set as shell?: yes

Additional context
Add any other context about the problem here.
Screenshots
If applicable, add screenshots to help explain your problem.

This is implemented in this build if you would like to give it a try before release.

These icons should now be present in the latest release.


Async relevant tools

#3506
Pull Request Checklist:

[x] Positive Test Case Written by Dev

[x] Automated Testing

[x] Sufficient User and Developer Documentation

[x] Passing Jenkins Build

[ ] Peer Code review and approval

Positive Test Case

The initial response of the resource landing page should take about 2 seconds with a copy of the production database.
Validate web app connectors show in the open with button as well as in the dropdown list for relevant aggregations and files.

@cuahsimarko - Could you take a look at this?  I'd like to get it merged and pull it into the aggregation without folder branch so @Maurier doesn't have to fix the open with on aggregations twice. #3514

There isn't any new functionality, we just modified it to load async.  I'm going to pull this in and get folderless aggregation code updated with develop.  There is a bug in the folderless aggregation code that needs to get fixed and this will help it along.


I'm having trouble getting calls when the app is closed in the background.

Good afternoon.
I'm having trouble getting calls when the app is closed in the background.
Situation:
I close the entire app in the background (shut down), When I get a call from a device it shows the notification that they are calling me and shows the notification with the option 'Answer'.
When clicking 'Answer' instead of opening the app and showing the call screen, nothing happens.
video for exemple: https://drive.google.com/file/d/1IQ9_UO_u7V7AmgwOPA5E2x8SF6Zgs5aV/view?usp=sharing

@cybex-dev any solution  for me help ?
Thankss.

Closing this as duplicate for #17


Change one last drake-shambhala to drake-external-examples

This change is

+@EricCousineau-TRI for review.


inserting a point in sideview uses strange altitudes

Inserting a waypoint in the sideview uses fractional altitudes. in particular when inserting a waypoint on the same level, it typically goes above or below and requires manual fixing in table view to be useful.

This is seen as an error as many people inserting a waypoint want to keep the current levels and minor deviations are not intended.
As the inserting using the mouse is a crude tool, it makes sense to round to the nearest legal flight level.


Entering size(, ) in eel.start() doesn't really work.

Eel version
I'm using 0.16.0 EEL version.
Describe the bug
When I try to create any app using eel, i cannot use:
eel.init('assets')
eel.start('github_issue.html', size=(500, 500), port=2023)

...because the effect looks like this:

Well, as you can see from the code, it should be smaller.
To Reproduce
Steps to reproduce the behavior:

Install eel using pip
Create main.py file
In the same directory as main.py, create assets folder
In the assets folder, create a file called index.html, and put some code in it. I've just put a pure string for test.
In the main.py, enter the code given down bellow:

import eel

eel.init('assets')
eel.start('index.html', size=(500, 500), port=2023)

Enter python -u <directory>/main.py in terminal / Execute the python file

Expected behavior
The window should be 500px by 500px. Well, it's not.
System Information

OS: EndeavourOS
Browser: Application opens with the Chrome icon, but i use Firefox
Python Distribution: Python 3.11.5

This might be a limitation of your browser and OS. Usually with Chrome in app mode the sizing works, but generally most browsers now do not let the user programmatically resize windows, least not without user interaction triggering this. You can try window.resizeTo() in JavaScript and see if that works.
It is using Chrome by default if the mode argument to eel.start() is not given. Firefox isn't specifically supported at this time, you'd have to do this with mode='custom'.

Okay, it works on another OS. Thank You for the help!


#0: remove sweeps workflow codeowners

Ticket
Problem description
We require review for every addition to this workflow, when it is just adding options to the dropdown in 99% of cases. We have a workflow in post-commit to make sure this happens, so we shouldn't need to review.
What's changed
Remove codeowners from the ttnn-run-sweeps.yaml file.
Checklist

[ ] Post commit CI passes
[ ] Blackhole Post commit (if applicable)
[ ] Model regression CI testing passes (if applicable)
[ ] Device performance regression CI testing passes (if applicable)
[ ] New/Existing tests provide coverage for changes

This is a workflow file.
I think one of us needs to approve ? Thoughts?
@ttmchiou @TT-billteng @blozano-tt

This is a workflow file.
I think one of us needs to approve ? Thoughts?
@ttmchiou @TT-billteng @blozano-tt

I have a small thoughts on this,

If this is to protect the remaining code apart from the module names, we can have another file that contains only the module names that can be imported to this, making the workflow protected
Is there any way to generate the options automatically based on the files inside sweeps directory?

Some context here:

We have already removed @sjameelTT @xanderchin and myself from the codeowners of /tests/sweep_framework/sweeps and limited our ownership to the framework itself.
We did this to prevent ourselves from having to review sweeps we don't actually own, because we really are only responsible for the framework itself, not necessarily the test cases being added.
We want to encourage teams to own their respective suites, some have been picked up already, i.e.

tests/sweep_framework/sweeps/eltwise/
tests/sweep_framework/sweeps/conv2d/
tests/sweep_framework/sweeps/data_movement/

have been picked up by respective teams.
4. Removal of the ownership of this file prevents us from having to review these PRs anyway, because the workflow file has to be updated with the addition of new sweeps, which is checked in post-commit.

Is there any way to generate the options automatically based on the files inside sweeps directory?

This question is relevant @jdesousa-TT
Unfortunately, via the GitHub Actions workflow dispatch UI, there is no way to dynamically generate options in a nice drop down the way you see right now. So, we can't have GitHub inspect inside the folder and generate options as a dropdown. The best we can do via the GitHub UI is to have a text input field which tries to match with available options.
I understand the need to not have to review the list of tests/tests themselves, and it creates unnecessary work.
I'm wondering if we can get around with a combination of local scripting.

We change from a dropdown -> text input
We provide a command line interface to generate a text input that sweep users can input into the text field.
The workflow will check if the input is valid by analyzing the available sweeps files.
(Optional) The above script can also launch the sweeps for the users and output the link to the sweep using the gh command-line tool or GitHub API.

This would be the responsibility of the sweeps infra team.
Thoughts?

@tt-rkim Interesting idea. What would be the failure mode if the incorrect text string were entered when launching?

Talked with @jdesousa-TT and @xanderchin in person
Conclusion is that ttnn sweeps workflow will ultimately be out of infra team hands.
The static check should ensure that sweep names match.

@ttmchiou @blozano-tt any objections to having no codeowners for sweeps workflow file?

can we find owners for individual suites and add those instead?
How many test sweeps are without owners?
perhaps this can be listed as another ticket as I don't think its necessarily a good idea to have no code owners for a workflow

I agree, I'm not comfortable with people able to edit workflow files at the outset.
But, the way the sweeps are set up, without changing how we supply the op name while still preserving the dropdown that people are used to, we can't assign owners by op or op type to the sweeps workflow.
We discussed further in person, but I also thought about it, the static check will not verify that there are no workflow file changes outside of the options.
Do we have any choice besides infra team owning this file? Otherwise, we run the risk of potentially having people make edits to the workflow on main, which is dangerous.


Add git to docker container

Install git in the docker container, proposed by #203. While it is possible that issue requires further discussion, this is just a proposal pull request. If that proposal is accepted, here's the pull request.

Describe in detail the problem you had and how this PR fixes it
This is a proposal pull request in response to an open issue
Is there an open issue you can link to?
#203

You want to put git after the second FROM where we install openssl for example.

Closing in preference to #231


[BUG] - Guest Page isn't generating new guests

Describe the bug
I added my second episode and for some reason the new guests are not being added to the guests page (even though they are added to the episode page).
All 3 of these files have type set to guest:
https://github.com/ctindel/softwareinblue.com/tree/main/content/guest
But the guest links for kyle and nick don't work:
https://softwareinblue.com/episode2.html
And they aren't listed on the guest page:
https://softwareinblue.com/guest
Is there something I'm doing wrong?  Any help would be appreciated.

you're mis-using the guest_group field; it means that any guest in that group should be considered the same guest.
Since you set guest_group = "guests" on all of them, it says they are all Gary :)
Check out https://github.com/mattstratton/castanet/blob/main/REFERENCE.md#guest-pages for a little more detail.
Anyway, remove that field from those guests and you should be fine.

@mattstratton So i removed the guest_group from all the guest pages and now when I run locally it the guest page url doesn't even show anything its just blank.
I also tried setting the guest group to be a different name in each one (gary, kyle, nick) and that didn't change anything either.
I can't figure out what I'm doing wrong here.

I had the same issue when I tried to reproduce this locally; the uglyUrls is likely the cause (when I removed that it worked).
I saw your note you need it for cloudflare; I'm not quite sure why the theme wouldn't be working with uglyUrls but I know there are a lot of places where we directly path to things so that could be a contributing factor.

Yeah you're right, I turned off the uglyUrls feature in config.toml and it started working.  It seems like something in the theme is broken when that option is enabled.
Thanks for pointing that out, I never would have tried that.


Add validator MekongLabs.json

Validator Information Submission
Validator Details

Validator Name: MekongLabs
Fiamma Address: fiamma1dj654tehgly9sucqre2cmnxpgszwl3x3yvpc8d
Fiamma Validator Address: fiammavaloper1dj654tehgly9sucqre2cmnxpgszwl3x3tj3t52
BTC Address: tb1p5urj26yhy24fzgh5vpx2qnk5pd94a9cnce54l8w8shwsm59282fqglzgne
Website: https://mekonglabs.tech
Description: Professional Trusted Validator, More info: https://linktr.ee/mekong_labs
Contact Email<EMAIL_ADDRESS>
Checklist

[x] I have read and understood all instructions in the README.md
[x] I have created a new .json file in the validators directory
[x] My file is named <validator-name>.json
[x] I have filled in all required information completely
[x] I have the required amount of SBTC(signet) for the committee program
[x] I understand and agree to the rules and terms of the Fiamma network

Declaration
I confirm that all information I have provided is accurate and truthful. I understand that providing false information may result in the disqualification of my validator status.

Balance updated!


docs: add CD onboarding path

Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the CODEOWNERS.
What Type of PR is This?

[ ] Issue
[X] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[X] Tested Locally
[ ] Optional Screen Shoot.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://655daac19cde316769a65f15--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://656445da25d30a09af29619e--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://6564a22daf5aa34ffc98dec2--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://6565caca742d4660084dc7c9--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65679327fe8d95069b5ee3fe--harness-developer.netlify.app

this PR is now incorporated into https://github.com/harness/developer-hub/pull/4379.
Closing.


Uncaught Error: Invalid LatLng object: (40.7999350265614, NaN)

I'm getting this error when I call start() function.
   var locate = new new L.control.locate({
        keepCurrentZoomLevel: true,
        locateOptions: {
            enableHighAccuracy: true,
            maxZoom: 16,
        },
   });

  setTimeout(function(){
     locate.start();
  }, 500);

Then error occurs, my map won't drawing and zoom level is undefined.
https://map.minu.mn/beta/#/?c=47.9131:106.9359:undefined

I'm using:
"angular": "^1.4.5",
"angular-leaflet-directive": "^0.8.8",
"leaflet": "^0.7.5",
"leaflet.locatecontrol": "^0.44.0",

You have to add the control to the map. Also, don't call new on the function that returns the control.
var locate = L.control.locate().addTo(map)


Set autocommit explicitly to false

Autocommit is turned on by default for example DB2.
Although unfortunate that autocommit even exists as feature, it cannot be relied on that it will be always off by default. Hence it is better to explicitly turn it off at connection establishment.

Fixed


Implement Metro UI in MVC4 project

I'm new to MVC4. I have created few html pages with metro UI CSS. now i want to integrate them with my MVC4 project Please give me full tutorial how to intergrate them with my project.

On http://metroui.org.ua there is a small demo, what you have to do.

        ... markup page ...

If you implement all the scripts and css you can use it within your MVC4 structure.
My advice: Try to understand the structure of your MVC4-Project first, and then import these scripts.
To use it, you have to update your _Layout.cshtml-file. It is the foundation of a MVC4-Project.
I assume that u mean ASP.Net MVC4 as you said "MVC4". If you understand the structure of a MVC-Project you can import/use every framework. It's not very different rom HTML-Websites.


.tikignore file

allows ignoring files

Probably better to have a config file so that we can store additional options there


Single cell not working

When I run my single cell example (that used to work fine) with the previous installer, I get a NaN error. Pasted below.
It seems to be cycling through each cell multiple times.  In the jpg attached, I should only have 2 entries for each month (2 aspen cohorts and one ecoregion), but I have 10 entries.
Maybe caused by your changes to Output.cs???
2017-10-30 19:32:49,686 -    Opening NECN_Hydro calibrate log file "NECN_Hydro-calibrate-log.csv" ...
2017-10-30 19:32:49,688 -    Opening a NECN_Hydro log file "NECN_Hydro-prob-establish-log.csv" ...
2017-10-30 19:32:49,748 - Using the following extensions ...
Extension Name            Extension Filename

NECN_Hydro Succession     NECN_VIFF_092017-SC.txt
2017-10-30 19:32:49,749 - Current time: 5
2017-10-30 19:32:49,749 - Running NECN_Hydro Succession ...
2017-10-30 19:32:49,825 -   LIMIT N CALCULATION = NaN!
2017-10-30 19:32:49,826 -   Site_Row=1, Site_Column=1.
2017-10-30 19:32:49,826 -   Nallocation=NaN, Nfraction=0.37, availableN=NaN.
2017-10-30 19:32:49,826 -   LIMIT N CALCULATION = NaN!
2017-10-30 19:32:49,826 -   Site_Row=1, Site_Column=1.
2017-10-30 19:32:49,826 -   Nallocation=NaN, Nfraction=0.63, availableN=NaN.
2017-10-30 19:32:49,827 -   EITHER WOOD or LEAF NPP = NaN!  Will set to zero.
2017-10-30 19:32:49,827 -   Yr=5,Mo=6.     Other Information: MaxB=15000, Bsite=343, Bcohort=123.7, SoilT=19.2.
2017-10-30 19:32:49,828 -   Yr=5,Mo=6.     WoodNPP=NaN, LeafNPP=NaN.

Want me to work on it today? Or do you have it covered?

I haven't touched calibrate log in a while.  Mysterious.  Do the other log files look OK?

No.  OK, so I tracked down the error to your changes in SoilWater.  You added three plus signs to PET, SoilM and snowpack around L223 and you end up with soil water values of 1300+ and it cycles through each cohort more than it should.  When I remove them, it runs without any NaN values and the values max out at 10, which is more reasonable when you take FC-WP and multiple by soil depth.

Ah, nuts, my error.  I was trying to fix a AET-PPT map and got rambunctious.  I'll fix and commit now.

Fixed and committed.  Please close if new installer works.

Yes, the single cell runs properly now.  I'll go back to testing the full VIFF landscape now.


Establish connections between RoadContainers

Until now, users have not been able to make connections between two different RoadContainers with the interactive tool (and doing so manually with paths would create unexpected artifacts). In this branch, we first start to allow for connections. This is a stepping stone to fully support generalize custom prefab scene creation while retaining traffic AI guides (RoadLanes).

While working on this, we need to address a few scenarios. Subscene below refers to a scene file saved to disk, added as an instance in the open scene where the editing is being done. Once we have all below scenarios implemented (along with some testing), this will conclude the v0.4.0 release:

Connecting open scene to subscene:
-> Create new roadpoint at same pos as the target edge roadpoint
-> Perform the inter-container connection
Connecting sub scene to sub scene:
-> Create new container
-> Add roadpoints at both edges in question
-> pick a material at random?
Connecting open scene/ContainerA to open scene/ContainerB
-> Add new point as part of ContainerA
-> Perform the inter-container connection with B and new point
Add button when a subscene is selected
-> Create new container
-> Add 2 roadpoitns, once at point of click and one at connected edge
-> Perform the inter-container connection
-> glhf with undo/redo

Further future:

Pick a saved scene to add as the next segment, as opposed to placing a single RoadPoint

Some good progress so far, with new coverage tests included. We don't yet have auto creation of new RoadPoints on placement yet, but that's the next step, and should largely be able to leverage the current existing rp placement do/undo functions in sequence with the connect/disconnect functions.
What remains is a way to visualize the undo step, ie the "disconnect" tool between different RoadContainers, as right now there's no clear way to do that. Expecting that:

If the RoadPoints overlap (as they should), just display an X or maybe even an unlink chain icon
If they roadpoints don't overlap (ie the user manually moved them separately and our code did not keep up), could be a similar red connection line as the other disconnection tool.

Need to clean up the commit still, but this is great progress here, basically wrapping up the outstanding items above:
https://github.com/TheDuckCow/godot-road-generator/assets/2958461/00182acf-259e-4b6f-8734-02ef0e5ed9f1

Oh and of course, right after posting the video do I first notice the issue of flipped lane order depending on the order of connections/directions the edge RoadPoints are facing. Hm will need to contemplate that one further how best to solve.

Just uncovered this issue, but after some investigating, this is not something introduced by the changes here. So will track it as a separate bug.

With this final push, I'm calling this good for now - there might still be some edge cases, and there are some user interactions which aren't really refined right now (e.g. disconnecting containers where they already have overlap), but it's a good enough starting point.
*** Run Summary ***
All tests passed

Totals
Scripts:          4
Passing tests     22
Failing tests     0
Risky tests       0
Pending:          0
Asserts:          153 of 153 passed

22 passed 0 failed.  Tests finished in 1.7s


Can't get intellisence/tooltips working after 2.6.11 version

I've noticed the issue it earlier and fall back to 2.6.11 version, where everything works for me.
What I see in the devtools for the versions higher than 2.6.11:

It shows that Linter.fs handlerOpen fails with exception. I tried to debug it but got weird results - when I hit breakpoint and examine "event" variable via hover-over tooltip - it shows that the "document" property is undefined. But if enter "event.document" into the console - it shows the document properly.
PS: I used vscode 1.6 and Insiders versions - result is the same. There is some regression after 2.6.11.

It looks like things break in b91455df4a55ed09ebc63669e9a0d06970673314

Offender is src/Components/Errors.fs

Can you try 2.6.14 ?

It works now, thanks! The solution was simple :)

Thanks a lot for spotting the issue, @kirill-gerasimenko! It will be fixed in next Fable's version. Ionide must return a value in the active pattern for the time being, sorry!

No problem :) It was a helpful accident


[SPARK-21587][SS] Added pushdown through watermarks.

What changes were proposed in this pull request?
Filter predicates can be pushed through EventTimeWatermark if they're deterministic and do not reference the watermarked attribute.
Projects can be pushed through EventTimeWatermark if they include the watermarked attribute.
This is a copy of PR 18790, which I had to make so I could build the right commit history.
How was this patch tested?
new unit tests
Please review http://spark.apache.org/contributing.html before opening a pull request.

Can one of the admins verify this patch?


Support for granular ACL when publishing techdoc to S3 endpoint

🔖 Feature description
Hi,
When publishing techdoc to S3 endpoint we need ACL ListBucket permission on the root bucket and not only to the published namespace. For example publishing via
techdocs-cli publish --publisher-type awsS3 --entity my-namespace/Component/my-component --awsEndpoint <endpoint> --awsS3ForcePathStyle --storage-name techdoc

We need
{
 "Effect": "Allow",
 "Action": "s3:ListBucket",
 "Resource": "arn:aws:s3:::techdoc",
}

But I would like to set
{
 "Effect": "Allow",
 "Action": "s3:ListBucket",
 "Resource": "arn:aws:s3:::techdoc",
 "Condition": {
       "StringLike": {
          "s3:prefix": "my-namespace/*"
       }
 }
}

Where 'my-namespace' match the entity tripled that is being published.
Because of the separation of project we don't want those service account to list content at the root (even if it's just folder name)
Hope is clear enough.
I'm more than happy to submit a PR, but for the moment I'm not sure where to look
Thanks
🎤 Context
The use case  is that we are using different CI and teams/project to build the docs with each a separate service account / namespace to the S3 endpoint. We cannot grant each service account with ListBucket at the bucket root but only on the corresponding namespace/folder
✌ Possible Implementation
No response
👀 Have you spent some time to check if this feature request has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
Yes I am willing to submit a PR!

not stale

Do you have any suggestion on how we could surface this to users? It's probably some new CLI option right?

Hi,
I didn't check the code, but I don't see why it's needed to list folder at the root level. Perhaps it's used only to verify the the bucket exists ?
I don't think any new parameter is necessary

If we can ship this without adding any new flags that's even better 👍. Not sure why the existing implementation works the way it does

not stale

Can anyone help post the right backstage config so that it pulls techdocs from an S3 repo in the same account? Backstage is in ECS and has enough permissions etc.
What I need is likely the right config in the app-config.yml file...

Under the hood, the techdocs-cli publish command is calling the AWS S3 sdk, so there won’t be much option to change how it works in a significant manner (imho).
The reason it needs s3:ListBucket permission against the bucket itself is that the integration uses a HeadBucket call to establish that the bucket exists. This call requires the s3:ListBucket permission.
@jonesbusy if you need to be able to provide segregation at the IAM level like this, I would suggest using a custom CI script to upload the docs to S3 within your permissions structure. As long as you use techdocs-cli generate to render the docs, the publish command is really just a sync of the local folder to the S3 bucket. I don’t believe it does anything special that can’t be achieved with the aws cli tools or a python script.

Can anyone help post the right backstage config so that it pulls techdocs from an S3 repo in the same account? Backstage is in ECS and has enough permissions etc.
What I need is likely the right config in the app-config.yml file...

@kotowick This is my config:
# app-config.yaml
techdocs:
  builder: 'external'
  publisher:
    type: 'awsS3'
    awsS3:
      bucketName: ${TECHDOCS_S3_BUCKET}
      region: ${AWS_REGION}
      sse: AES256

And the policy statement on the ECS Task:
        {
            "Action": [
                "s3:GetBucket*",
                "s3:GetObject*",
                "s3:List*"
            ],
            "Resource": [
                "arn:aws:s3:::<TECHDOCS_S3_BUCKET>",
                "arn:aws:s3:::<TECHDOCS_S3_BUCKET>/*"
            ],
            "Effect": "Allow"
        }

Under the hood, the techdocs-cli publish command is calling the AWS S3 sdk, so there won’t be much option to change how it works in a significant manner (imho).
The reason it needs s3:ListBucket permission against the bucket itself is that the integration uses a HeadBucket call to establish that the bucket exists. This call requires the s3:ListBucket permission.
@jonesbusy if you need to be able to provide segregation at the IAM level like this, I would suggest using a custom CI script to upload the docs to S3 within your permissions structure. As long as you use techdocs-cli generate to render the docs, the publish command is really just a sync of the local folder to the S3 bucket. I don’t believe it does anything special that can’t be achieved with the aws cli tools or a python script.

Thanks for the details. I will try using the AWS CLI instead for the upload directly to the correct location


Fixes #2397 - Removed NOT NULL constraints on 'value' from parameters…

… table. Removed api validation on 'value'. Removed required in ui for 'value.'

Can one of the admins verify this patch?

This looks fine to me and is the simplest solution (which is good). My only concern is are there any downstream impacts of a null parameter value?

I have the same concerns. What's the valid use case for a value-less parameter?
I thought the old UI/API set values to the empty string, when someone submitted an empty value--is that not true?

@mitchell852 -- I agree with @rob05c on this one -- removing "required" validation on value in the go code would take care of this.  The column in the db should be NOT NULL with a default of empty string.  This eliminates the need to distinguish between empty string and null in code.

+1 After discussing with @dewrich I think the consensus is that the column should be NOT NULL as well due to how parameters are used to generate config files.

@DylanVolz - Requested changes compete. db migration removed and nil value is changed to empty string before create and update queries.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/2315/
Test PASSed.


Structure definition in requestBody every time?

Suppose I have a request with multiple request body parameters
POST /path/to/api/@action

{
  "paramA": {...} // might be an object
  "paramB": {...} // might be another object
}

For this, I have to define a data structure and set in requestBody
ActionStruct {
  paramA: SomeObject,
  paramB: AnotherObject
}

For every request like this, do I have to define a request body structure each (maybe paramC or paramD in other requests)?
In previous version, I just need to add entry in parameters stated "in": "body"

The short answer is yes, the longer answer is you can re-use entire requestBodies using $refs to components/requestBodies and create composite requestBodies (e.g. if you mix your ParamA, ParamB, ParamC and ParamD) using $refs to schemas under components/schemas.
See the examples at https://swagger.io/docs/specification/data-models/oneof-anyof-allof-not/
Apologies for the delay in you receiving a reply.


isOpen ComboBox menu items sizing is occasionally too large

🐛 Bug Report
Pulling this out of https://github.com/adobe/react-spectrum/issues/1443. Initial investigation showed that the incorrect sizes were reflected within Virtualizer. Only happens occasionally, perhaps a race condition

🤔 Expected Behavior
ComboBox menu items should render with a consistent size
😯 Current Behavior
ComboBox items render too large occasionally. Seems to only happen if isOpen = true or defaultOpen = true is provided
💁 Possible Solution

🔦 Context

💻 Code Sample

🌍 Your Environment

Software
Version(s)

react-spectrum

Browser

Operating System

🧢 Your Company/Team
RSP
🕷 Tracking Issue (optional)

@LFDanLu looks like let size = getSize(ref.current) in useVirtualizerItem when we update the size we get different values

@LFDanLu looks like let size = getSize(ref.current) in useVirtualizerItem when we update the size we get different values

Digged a little deeper,
We have two resizes one for the menu based on the input, and then the resize for the items in the list
Even though they seem to execute in the correct order, i am sure that we modify some stuff on layoutInfo by reference and console.logs don't reflect the reality that seems to be that in the situation when the combobox isOpen the resize of the item is not done really when the menu has finished setting the size.
A solution would be to not open the popover until we have set the state for the menuWidth something in the lines of
isOpen={state.isOpen && !!menuWidth}

The above seems to fix the issue.
But i am getting a an error on AriaHideOutside, we have a null node.
 if (![...visibleNodes, ...hiddenNodes].some(node => node.contains(change.target)))

i guess it does not heart to filter
if (![...visibleNodes, ...hiddenNodes].filter(node => !!node).some(node => node.contains(change.target))) {

what do u think ?

Digged a little deeper,
We have two resizes one for the menu based on the input, and then the resize for the items in the list
Even though they seem to execute in the correct order, i am sure that we modify some stuff on layoutInfo by reference and console.logs don't reflect the reality that seems to be that in the situation when the combobox isOpen the resize of the item is not done really when the menu has finished setting the size.
A solution would be to not open the popover until we have set the state for the menuWidth something in the lines of
isOpen={state.isOpen && !!menuWidth}

The above seems to fix the issue.
But i am getting a an error on AriaHideOutside, we have a null node.
 if (![...visibleNodes, ...hiddenNodes].some(node => node.contains(change.target)))

i guess it does not heart to filter
if (![...visibleNodes, ...hiddenNodes].filter(node => !!node).some(node => node.contains(change.target))) {

what do u think ?

@razvanip This certainly seems to work and seems reasonable to me, thank you for taking the time to debug here! I'll include this fix in https://github.com/adobe/react-spectrum/pull/1449 and see what the team thinks.

@razvanip This certainly seems to work and seems reasonable to me, thank you for taking the time to debug here! I'll include this fix in https://github.com/adobe/react-spectrum/pull/1449 and see what the team thinks.

@razvanip Looks like https://github.com/adobe/react-spectrum/issues/1288#issuecomment-768493058 might be a more root level fix, I'd have to test it out, just wanted to let you know.

@LFDanLu thanks, commented on the main PR.
I guess the million dollar question would be why we get different sizes in useVirtualizerItem


Peer Review

The goal of this library is to provide a .factoryFor implementation that is as close as possible to the one in Ember 2.12+.  There are obviously some things that fall short (e.g. it is impossible to prevent double extend when using .factoryFor in Ember versions prior to 2.12), but every attempt was made to be true to the original RFC.
I'd like to get some review on this from the following folks that were involved in the original implementation of this feature in Ember 2.12+:

[ ] @stefanpenner
[ ] @mixonic
[ ] @chadhietala

The primary polyfill is located at vendor/ember-factory-for-polyfill/index.js.

Question:

is https://github.com/rwjblue/ember-factory-for-polyfill/blob/master/index.js#L23 to emulate a highlander dependency?
should the following directories by deleted addon app
do we strip Ember.runInDebug from vendor code? https://github.com/rwjblue/ember-factory-for-polyfill/blob/master/vendor/ember-factory-for-polyfill/index.js#L22

is https://github.com/rwjblue/ember-factory-for-polyfill/blob/master/index.js#L23 to emulate a highlander dependency?

No, it is to ensure that this.import is present (ember-cli addons have only had it since ember-cli@2.7).

should the following directories by deleted addon app

Yep! Will remove.

do we strip Ember.runInDebug from vendor code?

It is not stripped, but Ember.runInDebug === function() { }; in production versions so the code is never ran.

is https://github.com/rwjblue/ember-factory-for-polyfill/blob/master/index.js#L23 to emulate a highlander dependency?
No, it is to ensure that this.import is present (ember-cli addons have only had it since ember-cli@2.7).

Ah ok. I think we should explore higlander stuff in the next month or so. (but obviously wont block this one)

do we strip Ember.runInDebug from vendor code?
It is not stripped, but Ember.runInDebug === function() { }; in production versions so the code is never ran.

Seems fine for now.

I think we should explore higlander stuff in the next month or so.

Totally agreed.

Nothing else to add. 👍


[WIP] Disallow deletion of Assigned Chargeback Rate

Added call back to model
Added spec code
BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1206285

@dclarizio @h-kataria Ready for review. Need to add another spec for the controller.

@GregP is the idea that this PR replaces #4717?  If so, close that one with an appropriate message linking this PR to it.

@dclarizio @h-kataria Added more spec code to controller. Ready for review.

@dclarizio @h-kataria Fixed rubocop issues, please review.

@dclarizio @h-kataria @chessbyte Updates applied, ready for review.

@tenderlove's comment from the other PR seems have been lost: https://github.com/ManageIQ/manageiq/pull/4717#issuecomment-151960406

@dclarizio @h-kataria @chessbyte Virtual column dropped per discussion, code retested. Ready for review.

@GregP not ready for final review yet.  Let's finish the begin/rescue discussion now.

@chessbyte In regard to using begin/rescue block, found a number of controllers setting their own flash messages after calls to process_elements(), these would need to be deleted once we switch to a begin/rescue block code that works with a callback. List follows:
/Users/gpiatigorski/Projects/manageiq/app/controllers/miq_ae_class_controller.rb:
Line 1863
add_flash(_("The selected %{record} were deleted") %
{:record => ui_lookup(:models => "MiqAeInstances")}) if @flash_array.nil?
Line 1891
add_flash(_("The selected %{record} were deleted") %
{:record => ui_lookup(:models => "MiqAeMethod")}) if @flash_array.nil?
/Users/gpiatigorski/Projects/manageiq/app/controllers/miq_policy_controller/alert_profiles.rb:
Line 116 add_flash()
add_flash(_("The selected %s was deleted") % ui_lookup(:models => "MiqAlertSet")) if @flash_array.nil?
/Users/gpiatigorski/Projects/manageiq/app/controllers/miq_policy_controller/alerts.rb:
Line 60
add_flash(_("The selected %s was deleted") % ui_lookup(:models => "MiqAlert")) if @flash_array.nil?
/Users/gpiatigorski/Projects/manageiq/app/controllers/miq_policy_controller/conditions.rb:
Line 132
add_flash(_("The selected %s was deleted") % ui_lookup(:models => "Condition")) if @flash_array.nil?
/Users/gpiatigorski/Projects/manageiq/app/controllers/miq_policy_controller/miq_actions.rb:
Line 80
add_flash(_("The selected %s was deleted") % ui_lookup(:models => "MiqAction")) if @flash_array.nil?
/Users/gpiatigorski/Projects/manageiq/app/controllers/miq_policy_controller/policies.rb:
Line 129
add_flash(_("The selected %s was deleted") % ui_lookup(:models => "MiqPolicy")) if @flash_array.nil?
/Users/gpiatigorski/Projects/manageiq/app/controllers/miq_policy_controller/policy_profiles.rb:
Line 83
add_flash(_("The selected %s was deleted") % ui_lookup(:models => "MiqPolicySet")) if @flash_array.nil?
/Users/gpiatigorski/Projects/manageiq/app/controllers/ops_controller/ops_rbac.rb:
Line 418
add_flash(_("The selected %s was deleted") % ui_lookup(:models => "ScanItemSet")) if @flash_array.nil?
/Users/gpiatigorski/Projects/manageiq/app/controllers/ops_controller/settings/analysis_profiles.rb:
Line 418
add_flash(_("The selected %s was deleted") % ui_lookup(:models => "ScanItemSet")) if @flash_array.nil?
/Users/gpiatigorski/Projects/manageiq/app/controllers/report_controller/dashboards.rb:
Line 188
unless flash_errors?
add_flash(_("The selected %s was deleted") % "Dashboard",
:info, true)
/Users/gpiatigorski/Projects/manageiq/app/controllers/report_controller/widgets.rb:
Line 107:
unless flash_errors?
if widgets.length > 1
add_flash(("The selected %s were deleted") % ui_lookup(:models => "MiqWidget"),
:info, true)
else
add_flash(("The selected %s was deleted") % ui_lookup(:model => "MiqWidget"),
:info, true)
end
end

@chessbyte Some may need fixing, most will be rendered redundant once begin/rescue block in process_elements() is fixed.

@GregP what is the status of this PR?

@chessbyte Not sure, its ready for review.

@GregP when trying to delete a Chargeback rate that is assigned, it should render a flash message div and should remain on rate summary screen, currently it jumps back to list view.

@h-kataria Added a check to see if we are dealing with a mix of Assigned/Unassigned rates while deleting. Ready for review.

:+1: verified fix in UI

@h-kataria Rubocop warnings corrected, ready for review.

:+1:


[Impeller] Potentially poor performance with Vulkan on Motorola Edge 30.

Working title as I'm still investigating. This is based on this report on Reddit.
The user reports poor performance ("less fluid on simple scrolls") and loss of fidelity ("quality of backdrop blurs and gradients").
The device is a Motorola Edge 30. The GPU Info report says it is an Adreno 645L and it has a 144Hz screen. GPU Info had listings for a Motorola Edge 30 Pro, Fusion, and Ultra and I need to verify which one the user has.
I've tried to reproduce this observation on the high refresh rate device I have on me right now (Pixel 7 Pro) and was unsuccessful (also with the macrobenchmarks app). Though, I also think we only have devices that go up to 120Hz in the lab. Though I don't see how, perhaps the 144Hz is relevant to swapchain setup? Just a guess.
The loss of fidelity is also difficult to explain since the implementations are identical between the backends for stuff like blurs (theres only so many ways to blur stuff and we did do the dithering fixes as well). My guess here is again something to do with the swapchain setup as we don't do that in the OpenGL backend for Skia and perhaps we messed up the surface format.
I'll try to get more information from the original poster but the action item for the team is to get our hands on a Motorola Edge 30 with a 144Hz panel.
Questions for the original poster:

Is the device a Motorola Edge 30 Regular, Pro, Fusion, or Ultra?
Are you able to reproduce this is issue in any app? Say, for instance, the macrobenchmarks app (just flutter run in that directory)?
Can you post screenshots of the loss of fidelity (s after flutter run)? Both the before and after?

I'll followup on getting our hands on the device of this kind as it seems like a good configuration to have on hand. Its a high refresh-rate device at a non-standard rate with a great screen and an upper-mid tier GPU.

Seems like this could be related to my issue #148496 too with IOS jank in impeller on ListView scrolling. This doesn't happen when running with Skia.

Is the device a Motorola Edge 30 Regular, Pro, Fusion, or Ultra?

Motorola Edge 30 Regular

Are you able to reproduce this is issue in any app? Say, for instance, the macrobenchmarks app (just flutter run in that directory)?

I wasn't able to compile the project for Android, I got this error:

Can you post screenshots of the loss of fidelity (s after flutter run)? Both the before and after?

Blur-1 Impeller

Blur-1 Skia

Blur-2 Impeller

Blur-2 Skia

Motorola Edge 30 Regular

Thanks for confirming. I'm trying to get my hands on this device now and will try to reproduce the performance observations.
Thanks for the comparison of the blurs. You also mentioned gradients. Do you have screenshots of those too. Or is it all gradients? If so, we can setup a reduced test case for those on our own.

@ercantomac can you create a minimal test case that shows how you're using blurs?

Also I don't think https://github.com/flutter/engine/pull/51761 is in 3.22, so since blurs use mipmaps for the downsample I'd expect lower fidelity. Will confirm next week, otherwise you could try on master channel

Assigning to myself to track getting our hands on this specific device.

@ercantomac can you create a minimal test case that shows how you're using blurs?

 Colors.transparent : backgroundColor,
                borderRadius: BorderRadius.circular(fullScreen ? 0.0 : borderRadius),
                border: fullScreen
                    ? null
                    : Border.all(
                        color: currentTheme == ThemeMode.light ? Colors.black.withOpacity(0.08) : Colors.white.withOpacity(0.08),
                        width: 0.5,
                      ),
              ),
              child: child,
            ),
          ],
        ),
      ),
    );
  }
}

And here is the noise.png file:

Thanks for clarifying the gradients and the reduced test case on the blurs (will take a look). I've placed an Edge 30 on order and should have it in hand ~ May 24-29.

On Performance
I have the Edge 30 on hand. I locked the screen refresh rate to 144Hz (from the default "Auto") and cycled thorough the macrobenchmarks and didn't notice any performance degradation. On simple scrolls, frame times are 2-3 ms which is well within the ~7ms frame budget.

I was able to observe dropped frames on a couple of benchmarks like "Animated complex opacity perf." The stalls are in next drawable acquisition which means its the GPU workload that is too high for a sustained 144Hz frame rate. Unfortunately, my Edge 30 can't receive updates past Android 12 so the GPU frame capture tools aren't suitable. But, the same scene renders in ~10ms on the GPU on the Pixel 7 and is barely within the 90Hz budget on that device. But that scene isn't faster with the old renderer either.

There isn't a reduced test case for the "simple scrolls" performance issue in the original post but we have been able to reproduce @voxelbee s report and are working on improving that case. So my takeaway for the team is to make progress on that actionable issue (and they are).
If you have more information on what you are rendering in the "simple scrolls", that'd be super helpful.
On Blur Fidelity
I was able to observe a difference in the blur fidelity like you reported. I've filed https://github.com/flutter/flutter/issues/149431 to track closing that gap.
On Gradient Fidelity
Like your update, I wasn't able to reproduce any differences.
Conclusion
We have a couple of actionable issues to work on that I've cross-referenced. I'll keep an eye out for reduced test cases of the buggy simple scrolls. Closing this issue as I am concluding my investigation. Thanks for previewing the renderer. You are helping more than you think you are.


[INFRA] randomize test order

Codecov Report

Merging #37 (855736b) into main (7093603) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 855736b differs from pull request most recent head ab71281. Consider uploading reports for the commit ab71281 to get more accurate results

@@           Coverage Diff           @@
##             main      #37   +/-   ##
=======================================
  Coverage   98.21%   98.21%
=======================================
  Files          16       16
  Lines         336      336
=======================================
  Hits          330      330
  Misses          6        6

Flag
Coverage Δ

macos-latest_matlab-R2021a
?

macos-latest_matlab-R2021b
?

macos-latest_matlab-R2022a
?

macos-latest_matlab-R2022b
?

macos-latest_matlab-R2023a
?

ubuntu-latest_matlab-R2021a
98.21% <ø> (ø)

ubuntu-latest_matlab-R2021b
98.21% <ø> (ø)

ubuntu-latest_matlab-R2022a
98.21% <ø> (ø)

ubuntu-latest_matlab-R2022b
98.21% <ø> (ø)

ubuntu-latest_matlab-R2023a
98.21% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.


New authorized middleware

This should follow #75 and #79
This adds a middleware that checks if the user is authorized and returns 403 if not. This middleware is enabled/disabled based on the WHITELIST_REDIRECT environment variable which uses the existing redirect middleware by default. The new middleware should be enabled in environments with the new frontend, but won't break the existing templates, just won't redirect.
Making sure that one of the two authorize check middlewares is always enabled makes sure drf endpoints will always be checked for an authorized user as well.
helxplatform/development#622

@muralikarthikk please review before Monday 3/22.


Feature/22 expose is not path

This PR is related to issue #22.
It adds a new variable to babelrc configuration to support full path in expose.

I'm not sure the variable is needed. Based on the value, you should be able to know if it's a "path" since it contains a /.
Could you also add tests to make sure everything works as expected?

good points.

@tleunen I have added tests and removed that logic, please take a look

Oh ok, I see what you did.. But it's a little bit more complex to make it right.
Currently, the code only handle the case when the user used the exact exposed name, not its subfiles.
Even the current implementation has limitations because only 1 sub level is handled. I'd like to make it more generic. I'll think of a way to make it that way.

Fix released in 1.2.0


Reshaping COO sparse matrices fails if the matrix has 2^31 or more elements

The coo_matrix.reshape method computes the linear index of each nonzero element (variable flat_indexes in the code) as an intermediate step. If there are more than 2^31 elements, the linear index overflows to negative and then the construction of the new matrix blows up. (This is the number of elements in the abstract matrix, not the number of nonzero elements in the sparse representation.)
This is particularly problematic because COO reshape is the default reshape method for sparse matrices so it affect CSC, CSR, and others.
What do you think the best solution is?
The obvious path is to do nothing and require that users supply the indexes as int64 if they want correct reshape behavior even if int32 is sufficient for the row and column indexes. However, this is very painful. Constructing CSR and CSC matrices with int64 indexes is not possible. If the user provides the rows and columns or indices and indptr as int64, the indexes and indptr get lowered to int32 anyway.
There are a couple of conservative solutions to the problem:

Raise the dtype to np.int64 for the linear index calculation.
Raise the dtype to np.int64 for the linear index calculation only when then number of elements is 2^31 or greater.

In the first two cases, we would have to decide under what circumstances we should lower the dtype back down to int32.
It might be possible to rewrite the index calculation so that it simply does not overflow, but it is not obvious to me how to do that.

If you want to experiment with alternative calculation methods, you have an expression of the form divmod(a * b + c, d). If we rewrite a = a0 * d + a1, b = b0 * d + b1 and c = c0 * d + c1 we have divmod((a0 * b0 * d + a1 * b0 + a0 * b1 + c0) * d + a1 * b1 + c1, d), which is very striaghtforward to calculate. So at the cost of replacing one division with 3, maybe 4:
rows, cols = self.shape
new_rows, new_cols = shape
cols_quot, cols_rem = divmod(cols, new_cols)
row_quot, row_rem = divmod(self.row, new_cols)
col_quot, col_rem = divmod(self.col, new_cols)

new_row = (cols_quot * row_quot * new_cols + cols_rem * row_quot +
           cols_quot * row_rem + col_quot)
new_col = cols_rem * row_rem + col_rem

if np.any(new_col > new_cols):
    row_delta, new_col = divmod(new_col, new_cols)
    new_row += row_delta

I am trying @jaimefrio's solution. I think that

if np.any(new_col > new_cols):

needs to be
if np.any(new_col >= new_cols):

Yup, I think you are right, have edited my answer to not trip future readers.

I am planning on making a pull request soon for this. I think this is the full chunk of code that needs to be added:
        if self.size == 0:
            # Special case an empty matrix to avoid divide by zero error
            new_row = []
            new_col = []
        elif order == 'C':
            ncols_quot, ncols_rem = divmod(ncols, new_ncols)
            row_quot, row_rem = divmod(self.row, new_ncols)
            col_quot, col_rem = divmod(self.col, new_ncols)

            new_row = (ncols_quot * row_quot * new_ncols + ncols_quot * row_rem +
                       ncols_rem * row_quot + col_quot)
            new_col = ncols_rem * row_rem + col_rem

            if np.any(new_col >= new_ncols):
                row_delta, new_col = divmod(new_col, new_ncols)
                new_row += row_delta
        elif order == 'F':
            nrows_quot, nrows_rem = divmod(nrows, new_nrows)
            col_quot, col_rem = divmod(self.col, new_nrows)
            row_quot, row_rem = divmod(self.row, new_nrows)

            new_col = (nrows_quot * col_quot * new_ncols + nrows_quot * col_rem +
                       nrows_rem * col_quot + row_quot)
            new_row = nrows_rem * col_rem + row_rem

            if np.any(new_row >= new_nrows):
                col_delta, new_row = divmod(new_row, new_nrows)
                new_col += col_delta

One question I have is: is that if np.any(new_col >= new_ncols) check worth it? As far as I can tell, this doesn't change the behavior of the method at all; it merely avoids an integer division when the quotient would be zero anyway. Is this to improve performance? This will trigger pretty much anytime the number of columns shrinks and this logical comparison will have been for naught.
Another question is should this new method only be triggered when the size will overflow, and it should follow the original path for small matrices?

I can't seem to get this approach to work reliably. For example, this operation fails:
mat1 = coo_matrix(([1], ([3000000], [1000])), (3000001, 1001))
mat2 = mat1.reshape((1001, 3000001), order='C')

It happens because ncols_rem * row_rem + col_rem which is 1001 * 300000 + 1000 which overflows. This happens because the new columns do not go evenly into the current rows, which is probably a rare use case anyway.

I've changed my opinion about this issue. Fundamentally, the origin of the problem lies with scipy.sparse.sputils.get_index_dtype. This function looks at the maximum values of the index arrays and returns numpy.int32 if all the indices will fit in 32 bits, otherwise it returns numpy.int64. This dtype is then passed to numpy.asarray in multiple sparse matrix constructors. I am beginning to suspect that this is a flawed approach. For one, it is rather complicated given that this is what asarray dose by default (asarray([2**30]) has dtype int32 while asarray([2**31]) has dtype int64). Furthermore, if you know that dtype=int32 is not large enough to work in intermediate calculations (like this issue) and pass in an array with dtype=int64, all the sparse matrix constructors downcast it to dtype=int32.
I am fine with having to upgrade my index arrays to int64 manually in order for them to work. I just want the constructor to not downgrade them anyway.
Would there be a drawback I am not thinking of to abolish get_index_dtype and just use asarray?


Django Boiler Plate Code

Aim

To create a boilerplate code that works for most Django applications with a brief description of what it can do.

Details

All the methods such as GET, POST, PUT etc will be included along with instructions on how to set up the app in readme.md file.
All the methods will be briefly described in the comments.
Users can use this as a starter code to accelerate their development.

Not a kind of a script, as in Not Applicable for this Repo, Do Let me know if you are planning it make is as some kind of script. Till then keeping the issue on hold

@devkakeri06 can u assign me this issue