[BUG] Delete/update deploy workflow.

Description of the bug
This workflow throws errors: https://github.com/WebXDAO/DevConf/blob/main/.github/workflows/deploy.yml

I don't think the repos need it as it's deployed on vercel
This workflows highly spams errors for maintainers

Please add screenshots (if applicable)
No response
Add any other context about the problem here
No response
Code of Conduct

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

Closing, fixed by 45e4628a2d6fd11799747b18a8b7e3d58b8e656e.


Add Track expense follow up questions as rows in details view of a Tracked expense

Explanation of Change

Add the track expense options into the details view of a tracked expense. We currently use the details view of an expense to surface other actions like Delete or Download, so this is a natural place to include the other missing track options. This will then allow users to go back to their tracked expenses and easily send them or share them when they wish
Fixed Issues

$ https://github.com/Expensify/App/issues/51358
PROPOSAL: https://github.com/Expensify/App/issues/51358#issuecomment-2433320766
Tests

Go to self DM, create a Track expense
Open report > Click header
Verify that you see the 3 options : Submit it to someone,  Categorize it, Share it with my accountant
Click on Submit it to someone, submit the expense to someone.
Verify that you are able to submit the expense

[x] Verify that no errors appear in the JS console

Offline tests

N/A
QA Steps

Go to self DM, create a Track expense
Open report > Click header
Verify that you see the 3 options : Submit it to someone,  Categorize it, Share it with my accountant
Click on Submit it to someone, submit the expense to someone.
Verify that you are able to submit the expense

[x] Verify that no errors appear in the JS console

PR Author Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Screenshots/Videos

Android: Native
https://github.com/user-attachments/assets/2c3dae93-444e-432f-9760-eb91bb010e3f

Android: mWeb Chrome
https://github.com/user-attachments/assets/c632d7f0-44ab-4856-a988-f3174759d20d

iOS: Native
https://github.com/user-attachments/assets/389b8287-98be-40a2-8848-8f507a0e1791

iOS: mWeb Safari
https://github.com/user-attachments/assets/2917d829-0999-4fce-b1cb-b44b3e4272f7

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/3ac297da-9e76-4d5c-b6ae-62af827b6b3d

MacOS: Desktop
https://github.com/user-attachments/assets/6b0acbfb-ecd0-4b1a-a4cb-91dd34753568

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


Unable to create project

always fail and end up on the image above

Seabass requires working Libertine to create/build projects.
It seems from the error message that Libertine crashes with segfault.
Does Libertine work on your device outside of the Seabass?
https://docs.ubports.com/en/latest/userguide/dailyuse/libertine.html


Bug Report: xserver quotes

Hi, I was struggling to get xserver working in the docker install due to a bug:

Comparing the xserver code in this repo vs in ai2thor-docker, I noticed the quotes were inverted. I think the inversion causes the above bug (so reverting will fix the issue), and am posting in case it helps others.

Fixed with 00ce88f701eb34cf6767a2b84342d21325f016fa


[blend2d] Update to beta_2021-03-17

Updated blend2d to beta_2021-03-17. Updated local asmjit to 2021-03-19.
versioning scheme changed from version-string to version-date
Fixed facepalm BLEND2D_BUILD_NO_JIT usage in portfile. Probably forgot to rename after blend2d changed variable naming to BLEND2D_NO_JIT.

Thanks!


fix: add decimal lib in dependencies

Hello!
Currently, decimal is added indirectly because ecto is an (optional) dependency in mix.exs.
However, if the project where you want to add logger_json doesn't have ecto in its dependencies, decimal is not added and then logger_json doesn't compile:
==> logger_json
Compiling 17 files (.ex)
    error: Decimal.__struct__/0 is undefined, cannot expand struct Decimal. Make sure the struct name is correct. If the struct name exists and is correct but it still cannot be found, you likely have cyclic module usage in your code
    │
 39 │   def encode(%Decimal{} = decimal, _redactors), do: decimal
    │              ^
    │
    └─ lib/logger_json/formatter/redactor_encoder.ex:39:14: LoggerJSON.Formatter.RedactorEncoder.encode/2

== Compilation error in file lib/logger_json/formatter/redactor_encoder.ex ==
** (CompileError) lib/logger_json/formatter/redactor_encoder.ex: cannot compile module LoggerJSON.Formatter.RedactorEncoder (errors have been logged)
    lib/logger_json/formatter/redactor_encoder.ex:39: (module)
could not compile dependency :logger_json, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile logger_json --force", update it with "mix deps.update logger_json" or clean it with "mix deps.clean logger_json"

You can easily reproduce the bug by removing the ecto dependency in the logger_json mix.exs file. You will see that the decimal dependency disappears in deps.tree and that the lib doesn't compile anymore (same error as above).
➜  mix deps.get
Resolving Hex dependencies...
Resolution completed in 0.055s
New:
  castore 1.0.8
  dialyxir 1.4.3
  earmark_parser 1.4.41
  erlex 0.2.7
  ex_doc 0.34.2
  excoveralls 0.18.3
  jason 1.4.4
  junit_formatter 3.4.0
  makeup 1.1.2
  makeup_elixir 0.16.2
  makeup_erlang 1.0.1
  mime 2.0.6
  nimble_parsec 1.4.0
  plug 1.16.1
  plug_crypto 2.1.0
  stream_data 1.1.1
  telemetry 1.3.0
All dependencies are up to date

It may be interesting to refactor the code in another PR so that decimal encoding is not compiled when decimal dependency doesn't exist in the project.
Regards

coverage: 100.0%. remained the same
when pulling d7ebd67dafc83077e5fac0a638993c865c3e0787 on davidjulien:fix-missing-decimal-dependency
into<PHONE_NUMBER>8c5f7102480d6f9eba650ebbb5ef9c on Nebo15:master.

I think it should be an optional dependency. Not every project has the decimal dependency included.

I opened another PR where we checked if the Decimal module is compiled to decide if the compiler includes the clause related to it. It was easier than I thought initialy.

Merged a PR that checks if Decimal is present, thank you ❤

Awesome! 🚀


Remove console statements from prod build

This PR removes console message when u click on any node from treeList

Thanks!


Not clear how to define the paths for ASR per-rule exclusions

Under "Configure ASR per-rule exclusions" there is point "4. Enter the names of the files or application that you want to exclude.". Here it would be helpful to explicitly describe if only full paths to individual files are supported or (like other exclusion lists) paths with all sub-paths and files or wildcards are supported and is the files already must exist to be excluded.
In my special use case, we are software developers and want to exclude the full directory where we store our git repo from the rule "Block executable files from running unless they meet a prevalence, age, or trusted list criterion". I did add a path like "c:\git" to the "ASR Only Per Rule Exclusions" for this specific rule, but still get many block events in Defender for files like "C:\git\mySource\myFile.exe". There seems to be no way to check whether "C:\git\mySource\myFile.exe" is excluded from a specific rule and the documentation is not clear whether a path is a valid value for a per rule exclusion list or if I need to specify each individual file, or if I need to use wildcards for sub-paths. It's also not clear if the list entry is case-sensitive or not.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 498a23d9-d5b0-2c98-edfa-d9871675f5ae
Version Independent ID: 498a23d9-d5b0-2c98-edfa-d9871675f5ae
Content: Test attack surface reduction rules
Content Source: microsoft-365/security/defender-endpoint/attack-surface-reduction-rules-deployment-test.md
Service: microsoft-365-security
Sub-service: mde
GitHub Login: @Dansimp
Microsoft Alias: dansimp

@Dansimp Please help us in resolving this issue. Thanks


Release PHI Deidentifier app for schema 1.0.1

@tschaffter I want to make sure I understand this ticket; I am supposed to incorporate schema v1.0.1 into the web client after the version is released, right?

Yes for the PHI Deidentifier API service and React app. I'll update the data node and the four example annotators. @thomasyu888 will update the Python client. I'll update this ticket when I release the new schema tomorrow morning. Meanwhile, if there is a last minute change you want to make to the schema, you can still do it today.

Done


Refactor Robotium to conform to the other translators

Specifically redo structure to make it so that it works the same was as Espresso and UiAutomator. Check them to see correct structure.

Refactoring shouldn't be labelled high priority. It's a minor difference.


Use synchronous API

This is a bit disruptive I know, but I was experiencing deadlocks and as all db calls where used sync anyway I changed to use the sync API Mongo added for 2.2.3. This resolves the deadlocks, improves readability and actually boosts performance.

How to reproduce deadlocks?

Disclaimer: Im guessing its some sort of deadlock.
This is a vanilla Console app with latest MongoDB nuget, latest Hangfire.Core nuget and latest Hangfire.Mongo nuget.
this is my Program.Main:
`class Program
{
static void Configure(IAppBuilder app)
{
LogProvider.SetCurrentLogProvider(new ColouredConsoleLogProvider());
GlobalConfiguration.Configuration.UseMongoStorage("mongodb://localhost:30000", "testjobs");
app.UseHangfireServer();
app.UseHangfireDashboard();
}
static void Main(string[] args)
{
using (WebApp.Start("http://localhost:8080", Configure))
{
var sw = Stopwatch.StartNew();
			RecurringJob.AddOrUpdate(() => Console.WriteLine("Job 1"), Cron.Minutely);
			RecurringJob.AddOrUpdate(() => Console.WriteLine("Job 2"), Cron.Minutely);
			RecurringJob.AddOrUpdate(() => Console.WriteLine("Job 3"), Cron.Minutely);
			Console.WriteLine("Started 3 jobs in {0} ms", sw.ElapsedMilliseconds);
			sw.Stop();
			Console.ReadLine();
		}
	}
}`

This is the print in Console: "Started 3 jobs in 31277 ms"
If I change to my fork the print is: "Started 3 jobs in 949 ms"
I can send you the zip of my Console app if you like.
Thanks,
Jonas

Thanks for explanation. I'll taike a look a bit later.

@sergeyzwezdin -- this is identical to the PR I sent a while back (https://github.com/sergeyzwezdin/Hangfire.Mongo/pull/24).  We have been running my fork in production for a month or so and have not seen a hang/deadlock since.  Until the code was deployed, we were having to restart our Hangfire instances daily.

It seems that the waiting happens in "MongoWriteOnlyTransaction", especially in "SetRangeInHash" and "AddToSet". I havent figured out why this is happening yet.
My traces:
Executed command SetRangeInHash in 503 ms
Executed command SetRangeInHash in 2808 ms
Executed command SetRangeInHash in 13004 ms
Executed command SetRangeInHash in 1047 ms
Executed command AddToSet in 945 ms
Executed command SetRangeInHash in 2 ms
Executed command SetRangeInHash in 46 ms
Executed command SetRangeInHash in 3 ms
Executed command SetRangeInHash in 1 ms
Executed command AddToSet in 2 ms
Executed command SetRangeInHash in 5 ms
Executed command SetRangeInHash in 157 ms
Executed command SetRangeInHash in 4 ms
Executed command SetRangeInHash in 3 ms
Executed command AddToSet in 2 ms
Added 3 jobs in 19008 ms

Ok, let's try to use sync API until Hangfire will have async API for data storage.
Can I ask you to update PR to have no conflicts and all tests green?

Off course! I'll fix it first thing Monday. :)

On 12 Mar 2016, at 03:49, Sergey Zwezdin<EMAIL_ADDRESS>wrote:
Ok, let's try to use sync API until Hangfire will have async API for data storage.
Can I ask you to update PR to have no conflicts and all tests green?
—
Reply to this email directly or view it on GitHub.

I took the liberty of adding an xunit  runner to the project also. I will remove it you dont want it as part of the commit.
Thanks

Hi,
Did you change your mind on this? :)
Thanks,
Jonas

@gottscj thanks for PR


Added support for Attribute Certificate data directory and misc. compatibility tweaks

Added support for Attribute Certificate data directory

ok


Set the background color for the active editor menu

Why was this change made?
Fixes #2436

How was this change tested?
Which documentation and/or configurations were updated?

@jermnelson how do we know if it's a template or a resource?  Aren't they now in the same editor?

Same question for https://github.com/LD4P/sinopia_editor/issues/2439

@jermnelson how do we know if it's a template or a resource? Aren't they now in the same editor?

I think the easiest way would be to check the URL and see if it ends with editor/sinopia:template:resource, @justinlittman may know of a better option.

@jermnelson I don't think findRootResourceTemplateId is going to work because that requires you to provide a dataset (which I beleive is for importing RDF).

@jcoyne I think this can merged after a rebase.

Editing a resource template:

Editing a resource:

Pinging @jermnelson for a review at your convenience.

@justinlittman This needs a rebase now.  Would you be able to put the styles in https://github.com/LD4P/sinopia_editor/blob/master/src/styles/resourceNav.scss ?

Done @jcoyne


There seems to be a bug in the JSON with dimensions export in the app

I've got Tabula 1.2.1 for Mac installed and working generally, the app is up, I'm able to load a PDF file, highlight tables, extract them in the app, etc.
However, the export feature does not produce the same data for some of the formats.
For instance, I selected "script" and got:
java -jar tabula-java.jar  -a 485.393,45.135,722.543,566.865 -p 1 "$1"
Then I selected JSON with dimensions and got:
[{"page":1,"extraction_method":"stream","selection_id":"T1564293407042","x1":45.135,"x2":566.865,"y1":485.3925,"y2":722.5425,"width":521.73,"height":237.15,"spec_index":0}]
As you can see, the script has
x1 = 485.393
y1 = 45.135
x2 = 722.543
y2 = 566.865
and the JSON with dimensions export has
"x1":45.135
"y1":485.3925
"x2":566.865
"y2":722.5425
From testing via the command line, the script has the right coordinates and the JSON does not. It's got x1 that's actually y1, it's got y1 that's actually x1, and x2 that's actually y2 and y2 that's actually x2.
Anyone else seeing this?

Hi @hexastax, I believe this is all correct behavior. The command line script accepts dimensions in top,left,bottom,right order, aka y1,x1,y2,x2. This is a little confusing, I realize. :)

Hi Jeremy,
So the doc says

-a,--area            Portion of the page to analyze. Accepts top, left,bottom,right.  Example: --area 269.875,12.75,790.5,561.

I'm sorry but I can't seem to follow how
-a 485.393,45.135,722.543,566.865
can the processed the same way as

"x1":45.135,"x2":566.865,"y1":485.3925,"y2":722.5425,"width":521.73,"height":237.15

That just does not look correct.
To me, in the JSON, x1 is actually y1, y1 is actually x1, and x2 is actually y2 and y2 is actually x2.
Simply going by what I see, this looks wrong to me. The "script" format is correct though.

-a 485.393,45.135,722.543,566.865 is the same as
   top,    left,  bottom, right which is the same as
   y1,     x1,    y2,      , x2
Both methods of specifying the rectangle are semantically identical, though I recognize that the CLI app's y1,x1,y2,x2 format is unconventional.
According to both the JSON and the CLI specification, the rectangle you appear to be specifying is twice as long as it is tall, right?

Yes, just re-edited my comment :)
Um "top, left, bottom, right which is the same as y1, x1, y2, x2"... err I can't see that as intuitive :)

I'm realizing that changing the order in the -a arguments may be drastic :)

-a,--area Portion of the page to analyze. Accepts top, left,bottom,right.

I'd be happy to make a pull request to clarify the doc there to say, "y coordinate of the top level corner, x coordinate of the top left corner, y coordinate of the bottom right corner, x coordinate of the bottom right corner".
Would that be useful in your opinion?

I can certainly see it not seeming entirely intuitive!
As you say, though, we're not likely to change it, on account of wanting to maintain backwards compatibility.
I was going to change it to something like this.
-a/--area = Portion of the page to analyze. Example: --area 269.875,12.75,790.5,561.
Accepts top,left,bottom,right i.e. y1,x1,y2,x2

Do you think that would accomplish the same goal? Happy to continue to wordsmith.

I think the "i.e." is definitely helpful, for sure.
The top, left, bottom, right continue to be confusing to me :)
Another thing that puzzled me a bit is the concept of "apply to all pages" and apply to next page. If you want to export a template, you'll see a rectangle applied to all the pages of the document you imported to create the template.
However, other documents that adhere to the same format may have fewer or more pages.
I guess what I'm saying is that there doesn't seem to be a way to capture the "apply to all pages" rule.  Unless I've missed it.

You're right that the JSON templates don't carry over that command. You'd be welcome to open up a feature-enhancement request for that.

I made that change to the README/help docs, btw. Thanks for raising this issue!

Thanks, Jeremy. Super quick fix! :)
I'll file the feature enh for capturing the pages/all.


Table-specific "migrations"

Is your feature request related to a problem? Please describe.
In my crusade to create modular code I have been quite successful with modular code generation,
which does allow me to create database agnostic tables.
However I am now running into the issue where I have certain requirements for my tables,
for example I need custom constraints which can be only expressed through triggers.
Describe the solution you'd like
Right now the only extra information tables carry are their uniqueKeys and customConstraints fields.
I think it would therefore be reasonable to also allow other kinds of database modifications like adding triggers.
I cant imagine how this would be implemented in practice though;
I dont think a full migration callback would be sensible since the table is most probably unrelated to the versioning of the database.
But adding something like a foreign key pragma or a trigger should be possible, which can be more table specific than database specific.
A limited "migration" (probably named differently) callback on the table class itself would somewhat limited because we of course cannot specify any triggers that would be table relation specific, like we can specify DAOs that are multiple-table.
However, for my current usecase this would probably be acceptable.

In the next drift version, we'll have something that goes into a similar direction by allowing @TableIndex annotations on table classes to attach a CREATE INDEX statement to the table automatically.
I'm not a big fan of custom migration callbacks since it breaks some of the tools we have for schema verification. It's beneficial if drift can know every schema element at compile-time, which is not the case for things created dynamically with a migrator callback. Deleting the trigger when the table is removed in a later version is another concern, that's tricky to do with callbacks.
Of course, you can define the trigger in a .drift file and include that on the database in the end. That also works with modular code generation, but there is no easy way to bundle everything up. How are you currently including the modular tables on databases? Are you listing them all in tables: or via the include: section? If you have a single drift file that exports everything, you can just include that and get the triggers. But there still wouldn't be a strong tie from the table to the trigger.

I strongly prefer to just write all things in dart, no .drift syntax files and no raw SQL strings if I can avoid it.
so right now I generate my tables with modular code and then use the tables parameter on the database annotation to add them.


Copy into DELTA lake. where is source location?

I don't understand where the file  location is located? Is it in my local filesystem (Windows) or in the Databricks filesystem, or in azure or in aws...? How can I provide it correctly? Thank you.

Hi, we are investigating your issue and will update you shortly.

@alfiyashka Can you please let me know which article you are referring to?

@alfiyashka Since we have not heard back from you I am closing out this issue. If you still have issue with a specific documentation page please navigate to the bottom of that page and submit feedback.


CI: Refactor e2e tests and add smoke tests for production environment

This PR adds simple short-lived smoke tests that we can use to do a sanity check after a deploy to production. Furthermore, it refactors the e2e suite as a whole by splitting up the actual e2e tests from the smoke tests so that we can execute them separately if needed. Both the e2e tests and the smoke tests rely on the same base and execution command, but one can filter which one(s) to run using the parameters --smoke and --e2e. Omitting the parameters executes both smoke and e2e tests.
The added smoke tests test the following things for now:

If you go to /server/admin, will it show you the admin login page? This tells us that the backend service is online.
If you go to /collection/thkids, does it show you the dashboard with experiments? This tells us that collections can be properly loaded and that the connection to the backend and its database works as well.

If so, can you click on an experiment and will it show you the first experiment page? This tells us that experiments can be loaded.

Resolves #1060
This workflow shows that it worked as expected when I temporarily turned off the requirements for the e2e/smoke tests (branch / tag / post deploy / etc.) => https://github.com/Amsterdam-Music-Lab/MUSCLE/actions/runs/9610351545

A teensy and somewhat nitpicky request: most of the committed files don't have an empty last line. While my editor isn't bothered by that, some editors are. That's why GitHub also flags this. Please configure your editor to add an empty last line, so future collaborators/maintainers don't curse over our graves. ;-)

This is kind of new to me. If we want empty last lines in every file, shouldn't we have an (opinionated) settings file for VS Code at least?

We have an .editorconfig which should take care of that. That has insert_final_newline = true, as a matter of fact.

We have an .editorconfig which should take care of that. That has insert_final_newline = true, as a matter of fact.

Ah I see.. VS Code does need a plugin to be able to work with that. Maybe it would be an idea to add it to the "Recommended plugins" in the .vscode folder or would that be overkill?


Max Levels

Is there a way to set the maximum number of levels?

You can use isAllowed callback to cout levels and deny insertion.

How would that work? Would that not stop all dragging and dropping completely? So if I just wanted the top level and then the one level underneath?

I am on the phone. But the first example in documentation contains c block which uses isAllowed calback to deny insertion. Open source code and you will see that.

Also you can style hint element by css e.g. with display none.

I am working on maxLevel feature. You can wait for it I you want. It was little complicated to handle levels via isAllowed callback. So I decided to add this feature.

That sounds great, I will do that. Other than that the plugin is great!

Almost there ...

I made it to dev branch https://github.com/camohub/jquery-sortable-lists/tree/dev But there is a problem with drop speed after few drag operation it starts to be very slow. Is 0:45 here I am going to sleep. Hope I will solve morning. You can test it but only non-mobile version.

I had a look last night and it is looking really good. The max levels works perfectly!

There was a bug. Now it is fixed in dev branch.

I made a release of 2.0.0 for NPM and BOWER. Try it if you can.


Add fossil VCS support to cargo new

Fossil is a simple, high-reliability, distributed software configuration management system https://www.fossil-scm.org/
I mostly followed https://github.com/rust-lang/cargo/pull/3842 as a template. Like that one, this only adds support for cargo new, not for pulling down fossil-hosted dependencies
A problem that i didn't tackle but I'd be willing to is a little more more traitifying of the VCSs. I would need some guidance on that since it looks like git has some more thorough support than e.g. hg does but it looks pretty doable

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @brson (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

There's a CI failure but it looks like it's happening in Windows stuff that I don't think I can have touched?
error: failed to run custom build command for `libz-sys v1.0.13`
process didn't exit successfully: `C:\projects\cargo\target\debug\build\libz-sys-7b5eea371d27baa2\build-script-build` (exit code: 1)
--- stdout
running: "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\bin\\amd64\\nmake.exe" "/nologo" "/f" "C:\\projects\\cargo\\target\\debug\\build\\libz-sys-0598af38eaebd697\\out\\build/win32/Makefile.msc" "zlib.lib"
command did not execute successfully, got: exit code: 2
--- stderr
Microsoft (R) Program Maintenance Utility Version 14.00.24210.0
Copyright (C) Microsoft Corporation.  All rights reserved.
NMAKE : fatal error U1065: invalid option '-'
Stop.
Build failed, waiting for other jobs to finish...
error: build failed
Command exited with code 101

@bors: r+
Thanks! That error may bounce this PR but I'll take care of it, no worries!

:pushpin: Commit 7eca7f2 has been approved by alexcrichton

:hourglass: Testing commit 7eca7f2 with merge 0279815...

:broken_heart: Test failed - status-appveyor

@bors retry
Looks like the spurious failure noted above.

@bors: retry

:hourglass: Testing commit 7eca7f2 with merge faa7668...

:broken_heart: Test failed - status-travis

@bors: retry
On Tue, Jun 13, 2017 at 9:41 PM, bors<EMAIL_ADDRESS>wrote:

💔 Test failed - status-travis
https://travis-ci.org/rust-lang/cargo/builds/242578683?utm_source=github_status&utm_medium=notification
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/rust-lang/cargo/pull/4155#issuecomment-308303475, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAD95PxT4NhO7b_t7VEL6VNUbeLywbKrks5sD0hIgaJpZM4N19k9
.

:hourglass: Testing commit 7eca7f2 with merge e934177...

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing e934177fca2cbe20fed853328c36c9d8d11d477c to master...

Awesome! Thanks all!


pipenv: 2018.11.26 -> 2020.5.28

Motivation for this change
https://github.com/pypa/pipenv/releases/tag/v2020.5.28
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[x] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

This derivation depends on invoke and parver:
https://github.com/NixOS/nixpkgs/blob/f93148b7b9cf222dcea82b5bf607b9e756720853/pkgs/development/tools/pipenv/default.nix#L38
Upstream's Pipfile no longer explicitly depends on these:
https://github.com/pypa/pipenv/compare/v2018.11.26...v2020.5.28#diff-1e61a31bf9b94805f869dc4137ec1885L18-L19
However, they still seem to be indirect dependencies, as they're still listed in upstream's Pipfile.lock.
Should (and can) we remove the explicit dependencies from the derivation?

Result of nixpkgs-review pr 89164 1

1 package built:
- pipenv

Upstream's Pipfile no longer explicitly depends on these:
<EMAIL_ADDRESS>However, they still seem to be indirect dependencies, as they're still listed in upstream's Pipfile.lock:

Pipenv team just changed how they included dev/test deps into Pipfile, instead of repeating setup.py deps in Pipfile they do pipenv = {path = ".", editable = true, extras = ["tests", "dev"]} in https://github.com/pypa/pipenv/blob/v2020.5.28/Pipfile#L2, as a result dev and test deps https://github.com/pypa/pipenv/blob/v2020.5.28/setup.py#L34-L46 included into Pipfile.lock.

Should (and can) we remove the explicit dependencies from the derivation?

The new version can be build without them, while the old version build fails, so I assume it's safe to remove them.

They were in setup_requires https://github.com/pypa/pipenv/blob/v2018.11.26/setup.py#L135, now it's empty https://github.com/pypa/pipenv/blob/v2020.5.28/setup.py#L148

Added patch that fixes resolver path in subprocess call.

Are the issues resolved now?

Yes but it would be good someone else tested it, I’ve tested on macOS and Ubuntu with my projects
On Sun, May 31, 2020, at 12:03, Jörg Thalheim wrote:

Are the issues resolved now?

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/NixOS/nixpkgs/pull/89164#issuecomment-636442919, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACZVG22EGAU7PF24V4ZKKLRUIMM5ANCNFSM4NN7WNXA.

--
Konstantin Alekseev

cc @das-g

For 947bbb4d12e on NixOS unstable:
Result of nixpkgs-review pr 89164 1

1 package built:
- pipenv

Tested with some pure-python packages:
(Non-pure packages might require a FHS environment with certain libs available.)

pipenv install ipython

output
Creating a virtualenv for this project…
Pipfile: /home/das-g/tmp/pipenv-foo/Pipfile
Using /nix/store/q732h09azy7lf0j30bnnhdl15p4rxpdy-python3-3.7.7/bin/python3.7m (3.7.7) to create virtualenv…
⠴ Creating virtual environment...created virtual environment CPython3.7.7.final.0-64 in 348ms
  creator CPython3Posix(dest=/home/das-g/.local/share/virtualenvs/pipenv-foo-7RzlY9FM, clear=False, global=False)
  seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=/home/das-g/.local/share/virtualenv/seed-app-data/v1.0.1)
  activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator

✔ Successfully created virtual environment!
Virtualenv location: /home/das-g/.local/share/virtualenvs/pipenv-foo-7RzlY9FM
Creating a Pipfile for this project…
⠋ Installing...Installing ipython…
Adding ipython to Pipfile's [packages]…
✔ Installation Succeeded
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Building requirements...
Resolving dependencies...
✔ Success!
Updated Pipfile.lock (c8fa08)!
Installing dependencies from Pipfile.lock (c8fa08)…
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 1/1 — 00:00:00
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.

pipenv run ipython

output
Python 3.7.7 (default, Mar 10 2020, 06:34:06)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.15.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]:

IPython session:
In [1]: ls
Pipfile  Pipfile.lock

In [2]:  # Pressed Ctrl-d
Do you really want to exit ([y]/n)?

pipenv install pytest

output
Installing pytest…
Adding pytest to Pipfile's [packages]…
✔ Installation Succeeded
Pipfile.lock (c8fa08) out of date, updating to (ae86da)…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Building requirements...
Resolving dependencies...
✔ Success!
Updated Pipfile.lock (ae86da)!
Installing dependencies from Pipfile.lock (ae86da)…
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 3/3 — 00:00:00
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.

pipenv shell

output
Launching subshell in virtual environment…
. /home/das-g/.local/share/virtualenvs/pipenv-foo-7RzlY9FM/bin/activate
(pipenv-foo) $>

pipenv shell session:
(pipenv-foo) $> pytest
============================= test session starts ==============================
platform linux -- Python 3.7.7, pytest-5.4.2, py-1.8.1, pluggy-0.13.1
rootdir: /home/das-g/tmp/pipenv-foo
collected 0 items

============================ no tests ran in 0.00s =============================
(pipenv-foo) $> exit

pipenv --rm

output:
Removing virtualenv (/home/das-g/.local/share/virtualenvs/pipenv-foo-7RzlY9FM)…

pipenv install

output
Creating a virtualenv for this project…
Pipfile: /home/das-g/tmp/pipenv-foo/Pipfile
Using /nix/store/q732h09azy7lf0j30bnnhdl15p4rxpdy-python3-3.7.7/bin/python3.7m (3.7.7) to create virtualenv…
⠼ Creating virtual environment...created virtual environment CPython3.7.7.final.0-64 in 225ms
  creator CPython3Posix(dest=/home/das-g/.local/share/virtualenvs/pipenv-foo-7RzlY9FM, clear=False, global=False)
  seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=/home/das-g/.local/share/virtualenv/seed-app-data/v1.0.1)
  activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator

✔ Successfully created virtual environment!
Virtualenv location: /home/das-g/.local/share/virtualenvs/pipenv-foo-7RzlY9FM
Installing dependencies from Pipfile.lock (ae86da)…
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 23/23 — 00:00:03
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.

pipenv run pip freeze

output
appdirs @ file:///build/appdirs-1.4.3/dist/appdirs-1.4.3-py2.py3-none-any.whl
attrs==19.3.0
backcall==0.1.0
certifi @ file:///build/certifi-2<IP_ADDRESS>/dist/certifi-2<IP_ADDRESS>-py2.py3-none-any.whl
decorator==4.4.2
distlib @ file:///build/distlib-0.3.0/dist/distlib-0.3.0-py3-none-any.whl
filelock @ file:///build/filelock-3.0.12/dist/filelock-3.0.12-py3-none-any.whl
importlib-metadata @ file:///build/importlib_metadata-1.5.0/dist/importlib_metadata-1.5.0-py2.py3-none-any.whl
ipython==7.15.0
ipython-genutils==0.2.0
jedi==0.17.0
more-itertools @ file:///build/more-itertools-8.0.2/dist/more_itertools-8.0.2-py3-none-any.whl
packaging==20.4
parso==0.7.0
pexpect==4.8.0
pickleshare==0.7.5
pipenv @ file:///build/pipenv-2020.5.28/dist/pipenv-2020.5.28-py2.py3-none-any.whl
pluggy==0.13.1
prompt-toolkit==3.0.5
ptyprocess==0.6.0
py==1.8.1
Pygments==2.6.1
pyparsing==2.4.7
pytest==5.4.2
six @ file:///build/six-1.14.0/dist/six-1.14.0-py2.py3-none-any.whl
traitlets==4.3.3
virtualenv @ file:///build/virtualenv-20.0.21/dist/virtualenv-20.0.21-py2.py3-none-any.whl
virtualenv-clone @ file:///build/virtualenv-clone-0.5.4/dist/virtualenv_clone-0.5.4-py3-none-any.whl
wcwidth==0.1.9
zipp @ file:///build/zipp-0.6.0/dist/zipp-0.6.0-py2.py3-none-any.whl

cat Pipfile

output
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]

[packages]
ipython = "*"
pytest = "*"

[requires]
python_version = "3.7"

:+1: I'd say that looks good.

@das-g thanks for suggestions, I was in a hurry today morning so pushed fixed version without checking comment's wording. I have a question, I pass runtimeDeps into clojure instead of using clojure's argument ps https://github.com/NixOS/nixpkgs/pull/89164/files#diff-745b71166205f5309e101521f5e9148bR17, so that can be simplified to python3.withPackages(ps: runtimeDeps); but more importantly I'm not sure if this correct according to nix or we must use packages from function argument.

I have a question, I pass runtimeDeps into clojure instead of using clojure's argument ps https://github.com/NixOS/nixpkgs/pull/89164/files#diff-745b71166205f5309e101521f5e9148bR17, so that can be simplified to python3.withPackages(ps: runtimeDeps); but more importantly I'm not sure if this correct according to nix or we must use packages from function argument.

I think you mean "closure". Clojure's a programming language.
I guess this works because the packages that python3.withPackages will feed to the function it gets passed are the same ones as python3.pkgs anyway (or aren't they? I'm unsure), so the whole thing will evaluate to the same value in a different way. Whether it's good style, I don't know. It does seem kinda off, now that you point it out.

I think you mean "closure". Clojure's a programming language.

yes, thanks

One option would be to set the variable to the function instead of the list: das-g@82b639eeea1fa0cc2199ae489903e1c75acd3974

It looks cleaner for me one thing I would change is to use verb runtimeDeps -> buildRuntimeDeps.
What do you think should I update pr with that change?

It looks cleaner for me one thing I would change is to use verb runtimeDeps -> buildRuntimeDeps.

What would that changed name mean? That the function builds the runtime dependencies? (It doesn't. It just selects some entries from a set and returns them as a list.) Or that it returns buildtime and runtime dependencies? (Is that the case?)

The problem is my limited experience with nix so I'm just trying to mimic things and names that I already saw somewhere in the code, so I think you are right buildRuntimeDeps is not good name for that. Let me know if I should push your original patch and thanks for your help.

The problem is my limited experience with nix so I'm just trying to mimic things and names that I already saw somewhere in the code, so I think you are right buildRuntimeDeps is not good name for that.

Yeah. I myself thought about renaming the variable now that it holds a function rather than a list, but I'm not aware of any naming convention in Nix to indicate that fact. Some functions seem to be named after what they do, others after what they return.

Let me know if I should push your original patch and thanks for your help.

If you feel that it's an improvement, sure. I'm probably not that much more experienced in Nix than you. Feel free to use my commit https://github.com/das-g/nixpkgs/commit/82b639eeea1fa0cc2199ae489903e1c75acd3974 as-is or to fold it into yours, whichever you prefer.
If we need expert judgment, maybe @FRidh or @jonringer (code owners of Python related things in NixPkgs) can chime in?
https://github.com/NixOS/nixpkgs/blob/5e898d1cb86ef524e1000de7732ecccc4a616b2d/.github/CODEOWNERS#L64-L71

FRidh merged commit 5e8e887 into NixOS:master 3 hours ago

Eh, that works, too. :shrug: I'll make a separate PR of das-g@82b639e then.

Eh, that works, too. shrug I'll make a separate PR of das-g/nixpkgs@82b639e then.

Done: #89293


Mobile usability report

Text too small:

Clickable elements too close:

Content wider than screen:

Adding more info:
The real error comes because Google Search Console tries to reach https://metal3.io/2019/04/30/Metal-Kubed-Baremetal-Provisioning-for-Kubernetes.html instead of https://metal3.io/openshift/kubernetes/metal3/2019/04/30/Metal-Kubed-Baremetal-Provisioning-for-Kubernetes.html
The error/s appears because the page cannot be reached, all three errors comes from this one.

Fixed by adding:
permalink: /blog/:year/:month/:day/:title:output_ext
to _config.yml so that all articles have url based on date and not on tags


Fix dead apriltags

Hi All,
Bad news! The aprlitags_ros package is dead and it's causing a problem in the latest version of ROS available in the repositories. There's a fix for it here:
https://github.com/RIVeR-Lab/apriltags_ros/pull/30
But the authors are not taking pull requests. This pull request removes the git submodule and adds the code back in as plain files. Unfortunately, the submodule mechanism is pretty broken so you have to do this before you can pull this update:
rm -rf src/apriltags_ros
Any team that does an "apt upgrade" on their rovers will be bitten by this bug.

Mike, thanks for figuring this out! I'm uncomfortable with the idea of just dropping the april tags code in to our repository since it could make merging upstream bug fixes difficult. A better solution might be to fork april tags, add the OpenCV fix, and change to submodule to refer to our fork.

Hi Will. Gratuitous Obi-Wan quote: "Your instincts serve you well." That's exactly the right thing to do and I considered forking the repo for that purpose. I decided against it for two reasons. It didn't seem proper for other teams to depend on my repo and the upstream project already has a pull request that fixes the problem but the author seems to be busy.
https://github.com/RIVeR-Lab/apriltags_ros/pull/30
There's one more thing, git submodules don't pull when you do a git pull of the main repository (or even when you do a git submodule update). So I was a little worried that the update instructions would get complicated. But I suppose they already are.
In any case, feel free to reject this PR. It's here for your reference/convenience. If you decide to go another way we'll revert our repo to match yours.
Happy New Year!


Add Has query parameter

What problem does this solve or what need does it fill?
A common pattern is to use Option<&C> query parameters, then check if it's .is_some.
Unfortunately, this is slightly more verbose than needed (and the intent is less clear). More critically, it pointlessly locks the resource to a higher permissions level than needed.
What solution would you like?
Add a Has<C: Component> query parameter, which returns true if the entity has the particular component. This does not require any read permissions, as components cannot be changed during the execution of a parallel stage.
What alternative(s) have you considered?
Use the existing strategy.
Additional context
Idea blatantly borrowed from @ralith's HECS, where it is called Satisfies, and can also be used to check whether an entity matches a given query. We don't need that particular bit of functionality: if anything, a simple Query::contains(entity) method would work well (but should be a seperate PR). See #3089 for that issue.
A Not query parameter, used for this and query filters, might be helpful for clarity but is not essential.

Option<With> and then calling .is_some() is the same behaviour as Has isnt it?

Yes, but the intent to the reader is dramatically less clear. I don't think I've ever seen With<T> being used in a non-filtering position.

Another "problem" with Option<With<T>> is, that the Some(false) will never occur, because either the Entity has it (Some(true)) or it doesn't (None). https://github.com/bevyengine/bevy/issues/2665#issuecomment-904855810

Closing this out; I don't think it's useful enough to be worth expanding the API.

If we can only have one, I think it needs to be With because of the symmetry with Without. Has and DoesNotHave is a no-go.

cart in #3093.


WIP: feat(transformer): add support for babel-plugin-transform-instanceof

Hi, I have tried to implement the plugin https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-instanceof.
I have made a progress of transform code from a instanceOf b to babelHelpers.instanceof(a, b);
But I am quiet confused about the original code of try to find if the binary expression is already under a babelHelpers function part. Does OXC has utils can performance the same function of those codes?
const isUnderHelper = path.findParent(path => {
            return (
              (path.isVariableDeclarator() && path.node.id === helper) ||
              (path.isFunctionDeclaration() &&
                path.node.id &&
                path.node.id.name === helper.name)
            );
          });

https://github.com/babel/babel/blob/d2928229f6a09e6213475bf8a183d8d9115227af/packages/babel-plugin-transform-instanceof/src/index.ts#L19

But I am quiet confused about the original code of try to find if the binary expression is already under a babelHelpers function part. Does OXC has utils can performance the same function of those codes?

We are still figuring out how to support these kind feature in Rust. Feel free to explore ways to achieve this without sacrificing performance.
As for this PR, can use clean up the errors and get CI to pass so I can start merging?

But I am quiet confused about the original code of try to find if the binary expression is already under a babelHelpers function part. Does OXC has utils can performance the same function of those codes?

We are still figuring out how to support these kind feature in Rust. Feel free to explore ways to achieve this without sacrificing performance.
As for this PR, can use clean up the errors and get CI to pass so I can start merging?

Got it. I'll mark that as TODO and clean the errors first.

I tried using those way to access the parent of the current visiting expression. But it look like we have AstKind -> Expression, but we do not have reference from Expression -> AstKind, thus, it is unable to visit the parent of current Expression?
let is_under_helper = self
                    .ctx
                    .semantic()
                    .nodes()
                    // FIXME: how to get the AstNodeId of the expression?
                    .iter_parents(AstNodeId::new(1)) // expr.get_id or sth
                    .any(|parent| {
                        if let AstKind::CallExpression(CallExpression { callee, .. }) =
                            parent.kind()
                        {
                            return callee.is_specific_member_access("babelHelpers", "instanceof");
                        };
                        false
                    });

A little thoughts. In order to acquire the ability of trace back AstNode from an expression, I think maybe we can maintain a HashMap of AstNodeId and the Expression?


Packages update

Updated version of selenium and dependencies. Fixed tests apart from MockHttpBackendTests.ShouldFilter.

The orginal project now (finally) supports .NET Standard too and is up-to-date.


Actions Cache Granular Control Implementation

Description
To address the granular control asks from our users, we have tackled the 4 use cases in this PR.
We added two new actions

restore/action.yml - to only restore cache
save/action.yml - to only save cache
Fail on cache miss
Save cache on failure

Motivation and Context

This will grant our users more control - especially in cases where they only want to restore or save cache explicitly.
How Has This Been Tested?
Testing right now, will update with new workflows for the same.
Screenshots (if appropriate):
NA
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation (add or update README or docs) - will be done in subsequent PRs.

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Effectively, to summarise @bishal-pdMSFT,
We can eliminate both save-on-any-failure (if we come to conclusion on this comment) and exit-on-cache-miss as these use cases can be achieved by using either the split actions or using output of our action.
So ultimately we will only ship two new actions, nothing else. Is that correct?

Yep, simpler is better! We can any day revisit these inputs based on feedback.


Automatic scope for apps

Apps that are meant to be hosted in a subdomain of Lastuser (such as *.hasgeek.com) will inherit the session cookie from the parent domain, but may not necessarily have that user registered already. While they can query Lastuser for user details, such a query does not go through the auth workflow required to get a token with the necessary scope.
Lastuser needs a new mechanism, similar to the current trusted client flag, where such apps have their scope defined in the client record, and have automatic access to that scope for all users, without specific authorization for each user.
The mechanism could either be (a) via an API endpoint that generates a user token on demand, or (b) removes the need for tokens entirely, using client credentials alone, so that there is no need for additional database storage. This will let client apps remove the User table entirely and just store UUID foreign keys with constraint validation in the app layer.

The implementation in 084944b75c6e609322399073237b202bec7d4abd uses approach A: generates a token on demand. It does not remove the need for tokens. This means clients must still store tokens.


Naive Fault Tolerance Support

Added naive mock of worker crashes through controlled sleep via worker_timeout and worker_timeout_choice flags.
Added naive detection of worker crashes in scheduler based on a retry and backoff logic.
Added naive fault tolerance logic in scheduler - re-split the original IR and distribute to healthy workers to (re)-execute again.
Upreved benchmarks based on data branch (though require some additional modifications to make these updates suitable for distr context (will be updated in a separate PR in dish repo).

This merge into dspash-ft is reverted. In a separate pr: https://github.com/binpash/pash/pull/707, I retargeted it to ft-future.


[backport] Implement return_indices option to F.max_pooling_nd

Backport of #4891

Jenkins CI test (for commit 9a518e5b2d056786fecb346df382e9983987e0c4) succeeded without errors!

LGTM!

Jenkins CI test (for commit 9a518e5b2d056786fecb346df382e9983987e0c4) failed with status FAILURE.
(For contributors, please wait until the reviewer confirms the details of the error.)


Way to add GitHub OAuth scopes

Hi there thank you for this great wrapper! I am using a custom attribute to capture the GitHub access token, and I was wondering if there was a way to specify additional GitHub OAuth Scopes? The wrapper is currently requesting limited scopes to gather basic info like email, but in my case I need a bit more, is there any way to specify additional GitHub specific scopes like repo etc?

Yes, this wrapper passes on any scopes it gets from Cognito. So, in the finalise cognito configuration setup step, you can add scopes there.
Note that if you want to do anything with those scopes, it would have to be a code change. You would have to implement the client for anything extra in the github module, and then use that call in the userinfo's Promise array in the openID layer.

Got it @TimothyJones got it thank you sir! Closing this

@TimothyJones do you know of any way to have scopes defined in a passthrough manner?
My use case is that I'd like my app to have certain scopes during the initial registration, but on a certain event (user-initiated), we'd re-authorise them with the additional scopes?


Windows: fix pipe IPC deadlock

win,pipe: fix IPC pipe deadlock
This fixes a bug where IPC pipe communication would deadlock when both
ends of the pipe are written to simultaneously, and the kernel pipe
buffer has already been filled up by earlier writes.
The root cause of the deadlock is that, while writes to an IPC pipe are
generally asynchronous, the IPC frame header is written synchronously.
So when both ends of the pipe are sending a frame header at the same
time, neither will read data off the pipe, causing both header writes
to block indefinitely.
Additionally, this patch somewhat reduces the spaghetti level in
win/pipe.c.
cc @bzoz, @cjihrig, @bnoordhuis
Fixes: #1099
Fixes: nodejs/node#7657
Fixes: electron/electron#10107
Fixes: parcel-bundler/parcel#637
Fixes: parcel-bundler/parcel#900
Fixes: parcel-bundler/parcel#1137

CI: https://ci.nodejs.org/view/libuv/job/libuv-test-commit/847/
CI-node: https://ci.nodejs.org/view/libuv/job/libuv-in-node/20/

CI is red, on Linux it complains about undefined reference to ipc_helper_heavy_traffic_deadlock_bug, on Windows one of the test is failing:
not ok 150 - pipe_getsockname_blocking
# exit code -1073741819
# Output from process `pipe_getsockname_blocking`: (no output)

@bnoordhuis
I am at a loss about why the test added in be7978d2c276821f09148807f3f783ecf2d9291b fails on linux.
It seems that writev() blocks after writing ~160kb of data to the socket.
I would not expect it to do that; it is properly set to nonblocking mode, so why doesn't it fail with EAGAIN?

It seems that writev() blocks after writing ~160kb of data to the socket.

I haven't analyzed the test but by calling the test with strace it does not seem that way: it seems every call to writev completes. These are the last lines before the test runner kills the test due to exceed the timeout
[pid  4225] 12:42:38.858250 <... writev resumed> ) = 24576
[pid  4223] 12:42:38.858257 <... epoll_wait resumed> [{EPOLLIN, {u32=11, u64=11}}], 1024, -1) = 1
[pid  4225] 12:42:38.858267 writev(0, [{iov_base="********************************"..., iov_len=8192}, {iov_base="********************************"..., iov_len=8192}, {iov_base="********************************"..., iov_len=8192}], 3 <unfinished ...>
[pid  4223] 12:42:38.858282 recvmsg(11,  <unfinished ...>
[pid  4225] 12:42:38.858293 <... writev resumed> ) = 24576
[pid  4223] 12:42:38.858306 <... recvmsg resumed> {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="********************************"..., iov_len=65536}], msg_iovlen=1, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 49152
[pid  4225] 12:42:38.858318 brk(0x556880b48000 <unfinished ...>
[pid  4223] 12:42:38.858353 epoll_wait(4,  <unfinished ...>
[pid  4225] 12:42:38.858751 <... brk resumed> ) = 0x556880b48000
[pid  4225] 12:42:38.858766 epoll_wait(4, [{EPOLLOUT, {u32=0, u64=0}}], 1024, 0) = 1
[pid  4225] 12:42:38.858792 epoll_ctl(4, EPOLL_CTL_DEL, 0, 0x7ffe5796edb0) = 0
[pid  4225] 12:42:38.858822 epoll_wait(4,

@santigimeno If you run the test without supervision of the test harness (out/Debug/run-tests ipc_heavy_traffic_deadlock_bug ipc_heavy_traffic_deadlock_bug), does it complete for you on linux?

I see two potential issues:

ASSERT(nread >= 0); in read_cb : I guess we cannot guarantee this given the uv_read can return negative values on error?
it is so possible that the test takes longer than the prescribed timeout by the runner?

What I see is that the child process receives all the data and exits correctly but the parent process is stuck. It looks some pending handle needs to be closed.

@gireeshpunathil

ASSERT(nread >= 0); in read_cb : I guess we cannot guarantee this given the uv_read can return negative values on error?

Where in the code is this / should it be?

It is so possible that the test takes longer than the prescribed timeout by the runner?

I think that's unlikely. The tests makes 256 write calls and sends a grand total of 6mb of data to the child process. The child process does the same in the other direction. That should not even take a second.

@piscisaureus - highlighted the point above. Agreed on the timeout stuff, shouldn't take that much ( I was speculating). Now that @santigimeno has spotted a hang, I guess that looks to be the right direction.

The ipc channel needs to be closed. This patch fixes the issue locally for me:
diff --git a/test/test-ipc-heavy-traffic-deadlock-bug.c b/test/test-ipc-heavy-traffic-deadlock-bug.c
index 62868e6a..d1b54bff 100644
--- a/test/test-ipc-heavy-traffic-deadlock-bug.c
+++ b/test/test-ipc-heavy-traffic-deadlock-bug.c
@@ -81,6 +81,15 @@ static void alloc_cb(uv_handle_t* handle,
 static void read_cb(uv_stream_t* handle, ssize_t nread, const uv_buf_t* buf) {
   ssize_t i;
   int r;
+  uv_shutdown_t shut_req;
+
+  if (nread == UV_EOF) {
+    ASSERT(bytes_read == XFER_SIZE);
+    r = uv_read_stop(handle);
+    ASSERT(r == 0);
+    uv_close((uv_handle_t*)handle, NULL);
+    return;
+  }

   ASSERT(nread >= 0);
   bytes_read += nread;
@@ -91,7 +100,7 @@ static void read_cb(uv_stream_t* handle, ssize_t nread, const uv_buf_t* buf) {
   free(buf->base);

   if (bytes_read >= XFER_SIZE) {
-    r = uv_read_stop(handle);
+    uv_shutdown(&shut_req, handle, NULL);
     ASSERT(r == 0);
   }
 }

libuv ci looks green: https://ci.nodejs.org/job/libuv-test-commit/857/

libuv-in-node ci: https://ci.nodejs.org/view/libuv/job/libuv-in-node/

CI:
https://ci.nodejs.org/job/libuv-test-commit/859/
https://ci.nodejs.org/view/libuv/job/libuv-in-node/24
In node, there seems to be one occasional failure that is related to this patch series: test-child-process-fork-net sometimes dies due to an unhandled EPIPE error.
This is expected - the tests spawns a child process and attempts to send a message to it after the child process has exited, so the pipe between them breaks. In other words, the test is buggy.
I would suggest to land this and fix the test in node.
@bzoz, @santigimeno, @gireeshpunathil PTAL

Node test is broken right now: https://github.com/nodejs/node/issues/20836
But this looks related (from https://ci.nodejs.org/job/node-test-binary-windows/17578/COMPILED_BY=vs2017,RUNNER=win10,RUN_SUBSET=0/console):
not ok 7 async-hooks/test-graph.pipeconnect
  ---
  duration_ms: 0.311
  severity: fail
  exitcode: -1073740791
  stack: |-
    Assertion failed: r || GetLastError() == ERROR_NOT_FOUND, file src\win\pipe.c, line 708
  ...

https://ci.nodejs.org/job/libuv-test-commit/860/
https://ci.nodejs.org/view/libuv/job/libuv-in-node/25/

https://ci.nodejs.org/job/libuv-test-commit/862/
https://ci.nodejs.org/view/libuv/job/libuv-in-node/26/console

https://ci.nodejs.org/view/libuv/job/libuv-test-commit/863/
https://ci.nodejs.org/view/libuv/job/libuv-in-node/27/

also
https://ci.nodejs.org/view/libuv/job/libuv-test-commit/864/
https://ci.nodejs.org/view/libuv/job/libuv-in-node/28/ (with node v10.x)

https://ci.nodejs.org/view/libuv/job/libuv-test-commit/866/
https://ci.nodejs.org/view/libuv/job/libuv-in-node/28/ (with node/v10.x)
https://ci.nodejs.org/view/libuv/job/libuv-in-node/27/ (with node/master)
^-- pretty green, no failures related to this patch series.
@bzoz, @santigimeno PTAL

LGTM

I think this is done.
Can I get one more approval from @bzoz, @santigimeno, @cjihrig, @bnoordhuis.
(I understand the patch set is a large -- but it also solves a real problem and I would rather not have it bitrot away.)

@addaleax Thanks for your review!
@ all: I am going to keep this PR open until Tuesday morning PST to allow for the other reviewers to raise further objections or approve.


fix simple typos

The build fails for this on the Danger step:
Could not set up API to Code Review site for Danger

For your GitHub repo, you need to expose: DANGER_GITHUB_API_TOKEN
You may also need: DANGER_GITHUB_HOST, DANGER_GITHUB_API_BASE_URL

@SteveMarshall do you know who I can ping about this? I've not got access to Travis or Danger AFAIK.

Closing in favour of #81 which is copied from this PR, but which Danger prefers (I think because it's a branch of this repo, and not a fork)


FEATURE: NEED TO ADD GAMEPLAY PAGE #616

GSSOC EXTD
Fixes:  #616
Description
Basically i made a new page "ADD GAMEPLAY PAGE" which engage users to participate and motivate them to score more.
AS I ADDED:-

interactive designing approach
GIVES FEATURES SECTION
GIVES SEPARATE CONTROLS TUTORIAL
try to give a interactive interface

U CAN ACCESS IT BY CLICKING  "GAMEPLAY" BUTTON WHICH PRESENT IN THE TESTIMONIALS PAGE

NEED TO ADD GAMEPLAY PAGE #616

[ ] Bug fix
[x] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
DESIGNING:-

Checklist:

[x] I have made this change from my own.
[x] My code follows the style guidelines of this project.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generate no new warnings.
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers and screenshots after making the changes.

@YadavAkhileshh KINDLY MERGE THIS PR UNDER GSSOC AND LET ME KNOW IF THERE IS ANY ISSUE.

@YadavAkhileshh KINDLY MERGE THIS PR UNDER GSSOC AND LET ME KNOW IF THERE IS ANY ISSUE.

@YadavAkhileshh KINDLY MERGE THIS PR UNDER GSSOC AND LET ME KNOW IF THERE IS ANY ISSUE.

@YadavAkhileshh KINDLY MERGE THIS PR UNDER GSSOC AND LET ME KNOW IF THERE IS ANY ISSUE.


SLIM-1999 Remove bcd conversion in DeviceChannelsHelper

SonarQube analysis reported 1 issue

 1 minor

Watch the comments in this conversation to review them.

retest this please

Retest this please

Retest this please


add conv1d getWeight helper

I added a getWeight helper function for the Conv1D class for double-checking the weights loaded were what I expected.

Yeah, this looks good! Eventually, I should probably do this for all the other layers too...


kconfig: Enable CODING_GUIDELINE_CHECK by default

Enforce more compiler options by default.
Reading the comments, it appears that there are compiler options to verify coding guidelines, but not enforced.
For example, gcc:
-Werror=vla
-Wimplicit-fallthrough=2
-Wconversion
-Woverride-init

Is it still the intention to force these, as the current codebase does not comply?

CC: @nashif

I'll add the dev-review label so it can be looked at, if this isn't desired, please remove it again.

@pdgendt
Will the -Wimplicit-fallthrough=2 code be run on the HALs as well?
I don't mind enforcing this on Zephyr-based code but not having companies modify their HAL modules.

Will the -Wimplicit-fallthrough=2 be run on the HALs as well? I don't mind enforcing this on Zephyr-based code but not having companies modify their HAL modules.

I honestly don't know, I bumped into the Kconfig option by coincidence, and started from there. It appears this was intended to become a default, but was forgotten over time.

-Wimplicit-fallthrough=2

Last time I looked at this, portability across toolchains was a bit of a nightmare.

Unfortunately we can't enable this by default without fixing the issues first, and there are many, mostly related to the 'conversion' flag if I am not mistaken (logging basically full of such violations). The best approach is to start enabling rules one by one and start with those with the least of existing violations to avoid new violations from going in. Enabling this all at the same time will be impossible.

@pdgendt - Can we track the various options?  So they can be enabled one by one, and have other folks help out?
@nashif - HALs remove the warnings, we can't enforce these warning on code that is not owned by Zephyr.
@nashif - tried enabling this, but running into problems with logging macros
@pdgendt - it would great to get HALs to adopt this eventually, and only allow exceptions
@dkalowsk - Downstream they override the macros to fix warnings
@nashif - there are different warning levels in the Cmake system now.   At level 3, -Wconversion gets added, and generates many warnings.  Suggest undefing the logging macros to reduce the noise so the higher priority warnings can be addressed first.
@pdgendt will open an issue to track the effort to enable warnings.  Will plan to break it out by level 1, 2, 3 to start.

Close this test


Draft: [ESP32] Update esp-idf to v5.1 release

ESP-IDF v5.1 was release some time back, so updating the documentation and Dockerfile to v5.1.

https://github.com/jeremyjh/ESP32_TFT_library/pull/28 is needed to fix the ESP32 ci.

ESP-IDF v5.1 was release some time back, so updating the documentation and Dockerfile to v5.1.

The description needs to be updated. This is no longer just updating the documentation and dockerfile :-D


[BUG] Integer division error in sparse Conv3d forward

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
First of all thanks for the useful library!
I am currently getting an integer division error when forwarding a torchsparse.nn.Conv3d layer:
RuntimeError: Integer division of tensors using div or / is no longer supported, and in a future release div will perform true division as in Python 3. Use true_divide or floor_divide (// in Python) instead.
It originates from: torchsparse/nn/functional/downsample.py", line 28, in spdownsample
Looking through the existing issues I found this one that looks a lot like my current error #125. It seems that the proposed fix has caused the issue, I am not familiar with contributing to GitHub projects but am open to applying changes if necessary.
Let me know!
Expected Behavior
No response
Environment
- GCC: (Debian 8.3.0-6) 8.3.0
- NVCC: release 11.3, V11.3.109
- PyTorch: 1.6.0
- PyTorch CUDA: 10.2
- TorchSparse: 1.4.0

Anything else?
No response

Hi @Teaksters thanks for the report! I see you're using pytorch 1.6.0, would you be able to update your pytorch version and see if it still occurs? I think version 1.8 or 1.9 may work. Let me know if not.


Difference between frame2time and upbd file

Hi there! Thanks for your great work.
What's the difference between frame2time_{split} and upbd_{split}? It looks exactly the same.

Hi, yes, they are the same.

Hi, yes, they are the same.

Thanks for your timely reply. In addition, could you please provide the file 'train_gpt4_sub.json'?

Hi, I have uploaded it into the datasets folder.

Thanks a lot!


Error

what should i do ?

I did what you asked me
I struggled a bit and searched youtube and found solutions
But I didn't find a solution to this...


flutter_maps: Activity Livecycle Event 'DISPOSE' not handled

Hi.
first of all I want to say that the new approach is awesome!!! I'm able to place other Flutter Widgets on top that is amazing!
I found today an interesting bug when integrating the new version into my App. Depending if I logged in with Facebook or email I got an Exception that read
"Cannot interpret  6 as an activity state"
I dug a bit deeper into the java code and found that it comes from GoogleMapController.Init
  void init() {
    switch (activityState.get()) {
      case STOPPED:
        mapView.onCreate(null);
        mapView.onStart();
        mapView.onResume();
        mapView.onPause();
        mapView.onStop();
        break;
      case PAUSED:
        mapView.onCreate(null);
        mapView.onStart();
        mapView.onResume();
        mapView.onPause();
        break;
      case RESUMED:
        mapView.onCreate(null);
        mapView.onStart();
        mapView.onResume();
        break;
      case STARTED:
        mapView.onCreate(null);
        mapView.onStart();
        break;
      case CREATED:
        mapView.onCreate(null);
        break;
      default:
        throw new IllegalArgumentException(
            "Cannot interpret " + activityState.get() + " as an activity state");
    }
    registrar.activity().getApplication().registerActivityLifecycleCallbacks(this);
    mapView.getMapAsync(this);
  }

In GoogleMapsPlugin I found
public class GoogleMapsPlugin implements Application.ActivityLifecycleCallbacks {
  static final int CREATED = 1;
  static final int STARTED = 2;
  static final int RESUMED = 3;
  static final int PAUSED = 4;
  static final int STOPPED = 5;
  static final int DESTROYED = 6;

Which makes me guess that when I login with facebook the Fluttter Activity is destroyed but this isn't handled by the plugin.
I see two ways to solve this,

Handle DESTROYED correctly with saving the current context of the Map and restoring it
Don't register to the live-cycle events on AppStartup but in an Init function that an app can call after authentication.

If you know any workaround for now I would be happy :-)

@amirh did you know that?

Thanks @escamoteur, happy to read that you are already finding it useful!
And thanks for pinpointing this bug! we should definitely handle onDestroy without crashing 😄
I'm not sure about saving the current map state, as we are probably losing the rest of the Flutter app's state on destroy.
Can you add some details about the specific flow in your application that leads to the crash? Are you trying to only show the map after the user was logged in?
Another thing I'll mention is that the maps plugin should be still considered experimental, I'm currently focusing on looking for an iOS solution so it might take me some time to get to bug fixes / new features / pull requests.

@amirh We actually really need a working map_view in our App so we have to find a solution. I have a working one using the old version with the overlay but that involves a lot of activating/deactivating the overlay to be able to show things above the map.
Yeah, I use FirebaseAuth together with the Facebok_Auth. So it starts up the browser to do the login. May App then listens for the completion of the login and does a replace_plage to show a Page that also contains the map.
I already tried to just add an empty DISTROYED case or replicating what's done on a STOP. The App then doesn't crash but also don't display the map anymore. I fear that could be a problem not only for the map but also for all AndroidViews.  As most App offer a social login I think this is a quite important issue.
Cheers
Thomas

It's actually somewhat surprising that GoogleMapController#init is called while the activity is destroyed, I would expect that the map widget will first be added to the tree after you returned from the browser, and at that point the activity should be resumed.
Are you pumping a new frame with the map just before launching the auth flow?
Will be great if you can provide a short example that reproduces the crash.

Hi @amirh,
I did some further research and you are right init isn't called in a disposed state but called with a wrong/outdated livecycle state.
I added some debug output in GoogleMapsPlugin in all live cycle event handlers
[+10520 ms] D/map_view_Plugin( 5598): onActivityPaused: ----------------------------------------------
[  +13 ms] D/map_view_Plugin( 5598): onActivityCreated: ----------------------------------------------
[   +8 ms] D/map_view_Plugin( 5598): onActivityStarted: ----------------------------------------------
[   +8 ms] D/map_view_Plugin( 5598): onActivityResumed: ----------------------------------------------
[  +22 ms] W/System  ( 5598): ClassLoader referenced unknown path: /system/app/Chrome/lib/x86
[        ] D/ApplicationLoaders( 5598): ignored Vulkan layer search path /system/app/Chrome/lib/x86:/system/app/Chrome/Chrome.apk!/lib/x86:/system/lib:/vendor/lib for namespace 0xa94c40d0
[        ] I/WebViewFactory( 5598): Loading com.android.chrome version 55.0.2883.91 (code 288309112)
[   +7 ms] I/cr_LibraryLoader( 5598): Time to load native libraries: 1 ms (timestamps 6126-6127)
[   +1 ms] I/cr_LibraryLoader( 5598): Expected native library version number "55.0.2883.91", actual native library version number "55.0.2883.91"
[  +38 ms] D/map_view_Plugin( 5598): onActivityPaused: ----------------------------------------------
[   +9 ms] D/map_view_Plugin( 5598): onActivityCreated: ----------------------------------------------
[  +14 ms] D/map_view_Plugin( 5598): onActivityStarted: ----------------------------------------------
[   +2 ms] D/map_view_Plugin( 5598): onActivityResumed: ----------------------------------------------
[   +3 ms] D/map_view_Plugin( 5598): onActivityPaused: ----------------------------------------------
[ +286 ms] D/EGL_emulation( 5598): eglMakeCurrent: 0x99bd6680: ver 3 1 (tinfo 0x7bb7e240)
[ +915 ms] D/map_view_Plugin( 5598): onActivitySaveInstanceState: ----------------------------------------------
[   +2 ms] D/EGL_emulation( 5598): eglMakeCurrent: 0x99bd6680: ver 3 1 (tinfo 0x7bb7e240)
[   +4 ms] D/map_view_Plugin( 5598): onActivityStopped: ----------------------------------------------
[   +2 ms] D/map_view_Plugin( 5598): onActivitySaveInstanceState: ----------------------------------------------
[  +12 ms] D/map_view_Plugin( 5598): onActivityStopped: ----------------------------------------------
[   +2 ms] D/map_view_Plugin( 5598): onActivitySaveInstanceState: ----------------------------------------------
[   +7 ms] D/map_view_Plugin( 5598): onActivityStopped: ----------------------------------------------
[+40889 ms] D/map_view_Plugin( 5598): onActivityCreated: ----------------------------------------------
[   +4 ms] D/map_view_Plugin( 5598): onActivityStarted: ----------------------------------------------
[   +4 ms] D/map_view_Plugin( 5598): onActivityResumed: ----------------------------------------------
[  +14 ms] D/map_view_Plugin( 5598): onActivityPaused: ----------------------------------------------
[  +42 ms] D/EGL_emulation( 5598): eglMakeCurrent: 0x99bd6680: ver 3 1 (tinfo 0x7bb7e240)
[  +15 ms] D/map_view_Plugin( 5598): onActivityStarted: ----------------------------------------------
[  +33 ms] D/EGL_emulation( 5598): eglCreateContext: 0x99bf29c0: maj 3 min 1 rcv 4
[  +14 ms] D/EGL_emulation( 5598): eglMakeCurrent: 0x99bf29c0: ver 3 1 (tinfo 0x99b9e320)
[   +6 ms] E/eglCodecCommon( 5598): glUtilsParamSize: unknow param 0x000082da
[        ] E/eglCodecCommon( 5598): glUtilsParamSize: unknow param 0x000082da
[  +84 ms] D/EGL_emulation( 5598): eglMakeCurrent: 0x99bd6680: ver 3 1 (tinfo 0x7bb7e240)
[   +3 ms] D/EGL_emulation( 5598): eglMakeCurrent: 0x99bf29c0: ver 3 1 (tinfo 0xa9283970)
[ +122 ms] D/map_view_Plugin( 5598): onActivityResumed: ----------------------------------------------
[ +371 ms] D/map_view_Plugin( 5598): onActivityDestroyed: ----------------------------------------------
[        ] D/map_view_Plugin( 5598): onActivityDestroyed: ----------------------------------------------
[   +8 ms] D/map_view_Plugin( 5598): onActivityStopped: ----------------------------------------------
[        ] D/map_view_Plugin( 5598): onActivityDestroyed: ----------------------------------------------

This was the last event change that GoogleMapsPlugin received

[ +161 ms] W/DynamiteModule( 5598): Local module descriptor class for com.google.firebase.auth not found.
[        ] W/BiChannelGoogleApi( 5598): [FirebaseAuth: ] getGoogleApiForMethod() returned Gms: com.google.firebase.auth.api.internal.zzal@a1998fe
[        ] W/DynamiteModule( 5598): Local module descriptor class for com.google.firebase.auth not found.
[   +1 ms] I/FirebaseAuth( 5598): [FirebaseAuth:] Loading module via FirebaseOptions.
[        ] I/FirebaseAuth( 5598): [FirebaseAuth:] Preparing to create service connection to gms implementation
[+1301 ms] D/FirebaseAuth( 5598): Notifying id token listeners about user ( WeeIOFjbaYhP5RB9irqKtZEzIbJ2 ).
[   +4 ms] D/FirebaseAuth( 5598): Notifying auth state listeners about user ( WeeIOFjbaYhP5RB9irqKtZEzIbJ2 ).
[   +2 ms] D/FirebaseApp( 5598): Notifying auth state listeners.
[        ] D/FirebaseApp( 5598): Notified 0 auth state listeners.

here the login process is finished and returned a valid user

[   +6 ms] I/flutter ( 5598): ++++++++++++++++++++++++++++++++++++++++++++++++++++++FirebaseUser({providerData: [{email<EMAIL_ADDRESS>uid: WeeIOFjbaYhP5RB9irqKtZEzIbJ2, providerId: firebase, displayName: Tom Bennett, photoUrl: https://graph.facebook.com/2081746548506774/picture}, {email<EMAIL_ADDRESS>uid:<PHONE_NUMBER>506774, providerId: facebook.com, displayName: Tom Bennett, photoUrl: https://graph.facebook.com/2081746548506774/picture}], providerId: firebase, photoUrl: https://graph.facebook.com/2081746548506774/picture, email<EMAIL_ADDRESS>isAnonymous: false, uid: WeeIOFjbaYhP5RB9irqKtZEzIbJ2, isEmailVerified: false, displayName: Tom Bennett})
[  +15 ms] I/flutter ( 5598): signed in Tom Bennett
[   +3 ms] W/Firestore( 5598): (0.6.6-dev) [Firestore]: The behavior for java.util.Date objects stored in Firestore is going to change AND YOUR APP MAY BREAK.
[        ] W/Firestore( 5598): To hide this warning and ensure your app does not break, you need to add the following code to your app before calling any other Cloud Firestore methods:
[        ] W/Firestore( 5598):
[        ] W/Firestore( 5598): FirebaseFirestore firestore = FirebaseFirestore.getInstance();
[        ] W/Firestore( 5598): FirebaseFirestoreSettings settings = new FirebaseFirestoreSettings.Builder()
[        ] W/Firestore( 5598):     .setTimestampsInSnapshotsEnabled(true)
[        ] W/Firestore( 5598):     .build();
[        ] W/Firestore( 5598): firestore.setFirestoreSettings(settings);
[        ] W/Firestore( 5598):
[        ] W/Firestore( 5598): With this change, timestamps stored in Cloud Firestore will be read back as com.google.firebase.Timestamp objects instead of as system java.util.Date objects. So you will also need to update code expecting a java.util.Date to instead expect a Timestamp. For example:
[        ] W/Firestore( 5598):
[        ] W/Firestore( 5598): // Old:
[        ] W/Firestore( 5598): java.util.Date date = snapshot.getDate("created_at");
[        ] W/Firestore( 5598): // New:
[        ] W/Firestore( 5598): Timestamp timestamp = snapshot.getTimestamp("created_at");
[        ] W/Firestore( 5598): java.util.Date date = timestamp.toDate();
[        ] W/Firestore( 5598):
[        ] W/Firestore( 5598): Please audit all existing usages of java.util.Date when you enable the new behavior. In a future release, the behavior will be changed to the new behavior, so if you do not follow these steps, YOUR APP MAY BREAK.
[   +4 ms] W/common.FileUtils( 5598): Failed to set dir world executable: java.io.FileNotFoundException: /data/user_de/0/com.google.android.gms/files/gmscore_global_dirs.txt: open failed: EACCES (Permission denied)
[        ] W/common.FileUtils( 5598): Failed to set dir world executable: java.io.FileNotFoundException: /data/user_de/0/com.google.android.gms/files/gmscore_global_dirs.txt: open failed: EACCES (Permission denied)
[   +3 ms] W/common.FileUtils( 5598): Failed to set dir world executable: java.io.FileNotFoundException: /data/user_de/0/com.google.android.gms/files/gmscore_global_dirs.txt: open failed: EACCES (Permission denied)
[        ] W/common.FileUtils( 5598): Failed to set dir world executable: java.io.FileNotFoundException: /data/user_de/0/com.google.android.gms/files/gmscore_global_dirs.txt: open failed: EACCES (Permission denied)
[   +1 ms] W/linker  ( 5598): /system/priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk!/lib/x86/libconscrypt_gmscore_jni.so: unused DT entry: type 0xf arg 0x91
[        ] V/NativeCrypto( 5598): Registering com/google/android/gms/org/conscrypt/NativeCrypto's 279 native methods...
[   +6 ms] I/ProviderInstaller( 5598): Installed default security provider GmsCore_OpenSSL
[  +31 ms] W/art     ( 5598): Before Android 4.1, method double java.util.concurrent.ThreadLocalRandom.internalNextDouble(double, double) would have incorrectly overridden the package-private method in java.util.Random
[        ] W/art     ( 5598): Before Android 4.1, method int java.util.concurrent.ThreadLocalRandom.internalNextInt(int, int) would have incorrectly overridden the package-private method in java.util.Random
[        ] W/art     ( 5598): Before Android 4.1, method long java.util.concurrent.ThreadLocalRandom.internalNextLong(long, long) would have incorrectly overridden the package-private method in java.util.Random
[+1202 ms] I/flutter ( 5598): Success! Event ID: a69ab6519aeb4bf5a9562bfb5e0a2d1f

Here my app has received an AuthState changed event

[        ] I/flutter ( 5598): Before replacing loging page with main page
[  +17 ms] I/flutter ( 5598): Building MainPage

It creates the GoogleMap Object here the activity is clearly alive but no state update

[ +121 ms] I/flutter ( 5598): Building Creating GoogleMap

Using GoogleMap in the build method

[   +3 ms] I/flutter ( 5598): Creating MapView

Init in GoogleMapController is called with last reported state: DESTROYED

[  +21 ms] D/map_view_init( 5598): map_view_init: 6   ----------------------------------------------
[        ] I/zzbz    ( 5598): Making Creator dynamically
[   +5 ms] I/DynamiteModule( 5598): Considering local module com.google.android.gms.maps_dynamite:0 and remote module com.google.android.gms.maps_dynamite:219
[        ] I/DynamiteModule( 5598): Selected remote version of com.google.android.gms.maps_dynamite, version >= 219
[   +7 ms] W/System  ( 5598): ClassLoader referenced unknown path:
[        ] W/System  ( 5598): ClassLoader referenced unknown path: /system/priv-app/PrebuiltGmsCore/lib/x86
[   +4 ms] D/ApplicationLoaders( 5598): ignored Vulkan layer search path /system/priv-app/PrebuiltGmsCore/lib/x86:/system/fake-libs:/system/priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk!/lib/x86:/system/lib:/vendor/lib for namespace 0xa94c4110
[  +78 ms] I/Google Maps Android API( 5598): Google Play services client version: 12451000
[   +5 ms] I/Google Maps Android API( 5598): Google Play services package version: 12521024
[  +30 ms] D/        ( 5598): HostConnection::get() New Host Connection established 0x6d976f40, tid 5692
[ +139 ms] D/        ( 5598): HostConnection::get() New Host Connection established 0x6cc7f1c0, tid 5610

onMapCreated callback is called

[  +54 ms] I/flutter ( 5598): onMapCreated!!!!!!!!!!!!!!!!!!!!!!!!
My theory is that GoogleMapsPlugin.registerWith is only called with the initial activity but not updated when this activity is destroyed  and the new one is created.
This could be a problem that applies to all plugins if they all to registration like this
I have for now changed the 'DESTROYED` case to
      case DESTROYED:
      // This is only a preliminary fix. For the case that the newly created MapVIewController gets a wrong livecycle state
      // Withthin you know can use the map_plugin together with any authetication that destroys the Activity
        mapView.onCreate(null);
        mapView.onStart();
      break;

Which seems to fix the problem although I'M not sure if it can lead to other problems.
Would be great if we could find a final solution here.
Cheers
Thomas

@eseidel Could this be a general problem for plugins registering to live cycle events?

@escamoteur @amirh or @bparrishMines would know better than I. :)

My first guess won't be a problem with the activity lifecycle callback registration (as the plugin is directly using a mature Android mechanism for that).
Your theory that there's some issue with the invocation of the plugin's registerWith sounds reasonable.
We will need to further investigate here, I hope to get to it sometime soon.
Are you using the standard project template? (A FlutterActivity that calls GeneratedPluginRegistrant.registerWith(this); in its onCreate)

@amirh yes, standard template. But Is the MainActivity.onCreate called again after the app is called over the return link from the Authprovider, meaning does the plugins get registered again?
I would recommend adding my fix for now to the code so that people can use it together with an Authprovider.
@eseidel I copied in case this is a general problem of the plugin ecosystem.

Thanks for the detailed report @escamoteur, it's been really helpful!
I have a consistent repro of this by modifying the example app to immediately finish() and then start a new MainActivity the very first time it's resumed.
The root issue to me looks like the code in GoogleMapsPlugin.java is trying to equate the Application.ActivityLifecycleCallbacks from Application.registerWith with just one instance of MainActivity's lifecycle, and then using those directly to try and update the activityState for GoogleMapController.java. In cases where MainActivity is destroyed and recreated the callbacks appear to be called out of order since they're really being called multiple times for each of the two activities, so state ends up getting set incorrectly.
Here's the output from some debug logs I added to the application lifecycle callbacks in GoogleMapsPlugin.java, with the instance of the activity they're associated with included.
onCreate, registering callbacks under io.flutter.plugins.googlemapsexample.MainActivity@2f6bee6
onActivityStarted (io.flutter.plugins.googlemapsexample.MainActivity@2f6bee6)
onActivityResumed (io.flutter.plugins.googlemapsexample.MainActivity@2f6bee6)
Finishing and restarting MainActivity
onActivityPaused (io.flutter.plugins.googlemapsexample.MainActivity@2f6bee6)
onCreate, registering under io.flutter.plugins.googlemapsexample.MainActivity@edfe372
onActivityStarted (io.flutter.plugins.googlemapsexample.MainActivity@edfe372)
onActivityResumed (io.flutter.plugins.googlemapsexample.MainActivity@edfe372)
onActivityStopped (io.flutter.plugins.googlemapsexample.MainActivity@2f6bee6)
onActivityDestroyed (io.flutter.plugins.googlemapsexample.MainActivity@2f6bee6)
# open map view
creating PlatformView
activityState in init() is: 6, DESTROYED

Fix is in progress.

Hi, it sounds like the issue I faced and I also made a pull request to address it. Hope that it's useful:
https://github.com/flutter/plugins/pull/874

Hi @hnvn  I'm sorry I missed your PR, and thanks for the contribution!
Left some feedback on the PR.


What is the default "connection-timeout" value ?

Hello,
I'm a programmer from china , i try to study rabbimtmq ,i use springboot ,but when i didn't set the key "spring.rabbitmq.connection-timeout", i can't connect to the rabbitmq server, so i set the key to 30000ms, it works.
and i read the  sources ,i didn't find where is the default value for "spring.rabbitmq.connection-timeout", can you tell me where is
the default value  is seted.
thanks

Spring Boot auto-configuration delegates to the RabbitConnectionFactoryBean:
	map.from(this.rabbitProperties::getConnectionTimeout).whenNonNull().asInt(Duration::toMillis)
				.to(factory::setConnectionTimeout);

That one, in turn, to the com.rabbitmq.client.ConnectionFactory:
	/**
	 * @param connectionTimeout the connection timeout.
	 * @see com.rabbitmq.client.ConnectionFactory#setConnectionTimeout(int)
	 */
	public void setConnectionTimeout(int connectionTimeout) {
		this.connectionFactory.setConnectionTimeout(connectionTimeout);
	}

And this one has a default like this:
    /** The default TCP connection timeout: 60 seconds */
    public static final int    DEFAULT_CONNECTION_TIMEOUT = 60000;

Not sure what difference it makes for you, but probably a connection problem is not related to this timeout value.
Please, consider next time to ask questions on StackOverflow.


fix: improve mfa.enroll return types

What kind of change does this PR introduce?
Bug fix for the TypeScript types.
What is the current behavior?

Fixes https://github.com/supabase/auth-js/issues/955

What is the new behavior?
Use TypeScript's function overloading to return

TOTP data when mfa.enroll was passed factorType: 'totp',
phone data when mfa.enroll was passed factorType: 'phone'.

This fixes a breaking change in the types in b957c30782065e4cc421a526c62c101d35c443d4.
Additional context
This PR would also expose the new following types:

MFAEnrollTOTPParams
MFAEnrollPhoneParams
AuthMFAEnrollTOTPResponse
AuthMFAEnrollPhoneResponse
AuthMFAEnrollErrorResponse (it might be better to roll this type in with the other two).

It might be better to keep these types private, since once they're exposed, you can't easily remove them again without creating a breaking change.

It might be better to keep these types private, since once they're exposed, you can't easily remove them again without creating a breaking change.

Would agree with this
Thanks for the PR! Looks great so far

Will follow up with the corresponding PR for challengeParams and verifyParams (if they are at all needed)

It might be better to keep these types private, since once they're exposed, you can't easily remove them again without creating a breaking change.

Would agree with this

If you are still interested in this, I think the easiest way to do this would be to make a new file called something like src/lib/internal-types.ts that isn't exported outside of the package using export * from './lib/types'.
Then, src/GoTrueClient.ts and src/lib/types.ts could both import types from this file.
(the hardest thing would be picking the right conventional commit prefix :laughing:, since this PR has already been merged, but not released, so it's not yet a breaking change)

Will follow up with the corresponding PR for challengeParams and verifyParams (if they are at all needed)
Upd: shouldn't be needed, except in relation to MFA (WebAuthn).

Yep, we use both supabase.auth.mfa.challenge and supabase.auth.mfa.verify in our code (based of the example in https://github.com/supabase/supabase/blob/10ba4999cd33f796e89c50a0821e46b3d346eb7c/apps/docs/content/guides/auth/auth-mfa/totp.mdx?plain=1#L245-L261), and v2.65.0 works fine in those cases!
And I'm excited to see WebAuthn support!

@aloisklink, thanks for the update.
I think an internal-types file would work. Let me do that shortly. Thanks!


How to get the name of the active state?

Sorry, I tried to read the documentation but I must have missed the obvious.
I'm using this plugin in conjunction with another plugin, and before I got away with just looking at the @active but apparently I'm not supposed to do that? (It stopped working in the latest bleeding edge nightly that I'm using, but not for reasons related to this plugin.)
So what's the official way of asking StateChart which state is active? (And by extension, getting the name of that state?)

The nature of state charts is that more than one state can be active at the same time, even for the simplest cases (e.g. when you have two parallel states, both are active and when you have compound states both the parent and one child are active at the same time). As such there is no function built-in to retrieve the one currently active state. The idea is to use events and signals to drive state dependent logic. If you have logic that is specific to a certain state you can connect this state's state_processing signal to a function to have this code running every frame while the state is active. Another option would be to connect to the state's event_received signal to react when a certain event is received in a certain state. Finally , if you need to know whether a specific state is currently active you can also get this state with get_node and check its active property,  e.g.
if get_node("StateChart/Root/Invulnerable").active:
    # ignore damage

If none of these work for you, I would very much like to know more about your use-case.

Thank you for taking your time to explain!
Since I'm a beginner with both Godot and this plugin (and the other plugin I'm using), I got confused when @Active disappeared from my editor which now with the latest version did properly change to .active so yes, all is good.
Thank you for making this plugin. 🙏


pls no steal original work

i make all of this pl giff back thef

no I own dis now. None of it isi soayduu your worc

Pls stop commenting Drew

thank


CLI access

Feature request: Send commands to pms from shell. E.g. 'pms add-random '

I think a feature like this is better accomplished using standard shell tools and UNIX pipes, together with the mpc tool.
E.g.
find /music | sort -R | sed 1q | mpc add


Fix for CLI issue:1208,1218 and few more CLI improvment

What this PR does / why we need it:
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Fix for CLI issue:1208,1218 and few more CLI improvment
Release note:

Please put proper comments for :
What this PR does / why we need it:
Which issue this PR fixes (optional, in fixes #(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Fix for CLI issue:1208,1218 and few more CLI improvment
Release note:

LGTM


Fix link from gcp stacks guide to stacks guide

Signed-off-by: Hasan Turken<EMAIL_ADDRESS>
Description of your changes

Checklist

I have:

[ ] Run make reviewable to ensure this PR is ready for review.
[ ] Ensured this PR contains a neat, self documenting set of commits.
[ ] Updated any relevant documentation, examples, or release notes.
[ ] Updated the RBAC permissions in clusterrole.yaml to include any new types.

[skip ci]

Congratulations on your first commit to Crossplane @turkenh! 🚀 💪