fixed bugs

Docs Build status updates of commit 11dfe73:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/about-this-design-guidance.md
:white_check_mark:Succeeded
View

mixed-reality-docs/add-custom-home-environments.md
:white_check_mark:Succeeded
View

mixed-reality-docs/get-apps-for-hololens.md
:white_check_mark:Succeeded
View

mixed-reality-docs/holograms-101.md
:white_check_mark:Succeeded
View

mixed-reality-docs/holograms-210.md
:white_check_mark:Succeeded
View

mixed-reality-docs/holograms-211.md
:white_check_mark:Succeeded
View

mixed-reality-docs/holograms-212.md
:white_check_mark:Succeeded
View

mixed-reality-docs/holograms-240.md
:white_check_mark:Succeeded
View

mixed-reality-docs/install-the-tools.md
:white_check_mark:Succeeded
View

mixed-reality-docs/mrtk-101.md
:white_check_mark:Succeeded
View

mixed-reality-docs/submitting-an-app-to-the-microsoft-store.md
:white_check_mark:Succeeded
View

mixed-reality-docs/types-of-mixed-reality-apps.md
:white_check_mark:Succeeded
View

mixed-reality-docs/voice-design.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit c74e89f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/TOC copy.md
:white_check_mark:Succeeded

mixed-reality-docs/about-this-design-guidance.md
:white_check_mark:Succeeded
View

mixed-reality-docs/add-custom-home-environments.md
:white_check_mark:Succeeded
View

mixed-reality-docs/get-apps-for-hololens.md
:white_check_mark:Succeeded
View

mixed-reality-docs/holograms-101.md
:white_check_mark:Succeeded
View

mixed-reality-docs/holograms-210.md
:white_check_mark:Succeeded
View

mixed-reality-docs/holograms-211.md
:white_check_mark:Succeeded
View

mixed-reality-docs/holograms-212.md
:white_check_mark:Succeeded
View

mixed-reality-docs/holograms-240.md
:white_check_mark:Succeeded
View

mixed-reality-docs/install-the-tools.md
:white_check_mark:Succeeded
View

mixed-reality-docs/mrtk-101.md
:white_check_mark:Succeeded
View

mixed-reality-docs/quick-start-basic.md
:white_check_mark:Succeeded

mixed-reality-docs/submitting-an-app-to-the-microsoft-store.md
:white_check_mark:Succeeded
View

mixed-reality-docs/types-of-mixed-reality-apps.md
:white_check_mark:Succeeded
View

mixed-reality-docs/voice-design.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 8c281f6:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/TOC copy.md
:white_check_mark:Succeeded

mixed-reality-docs/about-this-design-guidance.md
:white_check_mark:Succeeded
View

mixed-reality-docs/add-custom-home-environments.md
:white_check_mark:Succeeded
View

mixed-reality-docs/get-apps-for-hololens.md
:white_check_mark:Succeeded
View

mixed-reality-docs/holograms-101.md
:white_check_mark:Succeeded
View

mixed-reality-docs/holograms-210.md
:white_check_mark:Succeeded
View

mixed-reality-docs/holograms-211.md
:white_check_mark:Succeeded
View

mixed-reality-docs/holograms-212.md
:white_check_mark:Succeeded
View

mixed-reality-docs/holograms-240.md
:white_check_mark:Succeeded
View

mixed-reality-docs/install-the-tools.md
:white_check_mark:Succeeded
View

mixed-reality-docs/mrtk-101.md
:white_check_mark:Succeeded
View

mixed-reality-docs/quick-start-basic.md
:white_check_mark:Succeeded

mixed-reality-docs/scene-understanding-SDK.md
:white_check_mark:Succeeded
View

mixed-reality-docs/scene-understanding.md
:white_check_mark:Succeeded
View

mixed-reality-docs/submitting-an-app-to-the-microsoft-store.md
:white_check_mark:Succeeded
View

mixed-reality-docs/types-of-mixed-reality-apps.md
:white_check_mark:Succeeded
View

mixed-reality-docs/voice-design.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit f16c24e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/TOC copy.md
:white_check_mark:Succeeded

mixed-reality-docs/about-this-design-guidance.md
:white_check_mark:Succeeded
View

mixed-reality-docs/add-custom-home-environments.md
:white_check_mark:Succeeded
View

mixed-reality-docs/get-apps-for-hololens.md
:white_check_mark:Succeeded
View

mixed-reality-docs/holograms-101.md
:white_check_mark:Succeeded
View

mixed-reality-docs/holograms-210.md
:white_check_mark:Succeeded
View

mixed-reality-docs/holograms-211.md
:white_check_mark:Succeeded
View

mixed-reality-docs/holograms-212.md
:white_check_mark:Succeeded
View

mixed-reality-docs/holograms-240.md
:white_check_mark:Succeeded
View

mixed-reality-docs/install-the-tools.md
:white_check_mark:Succeeded
View

mixed-reality-docs/mrtk-101.md
:white_check_mark:Succeeded
View

mixed-reality-docs/quick-start-basic.md
:white_check_mark:Succeeded

mixed-reality-docs/scene-understanding-SDK.md
:white_check_mark:Succeeded
View

mixed-reality-docs/scene-understanding.md
:white_check_mark:Succeeded
View

mixed-reality-docs/submitting-an-app-to-the-microsoft-store.md
:white_check_mark:Succeeded
View

mixed-reality-docs/types-of-mixed-reality-apps.md
:white_check_mark:Succeeded
View

mixed-reality-docs/voice-design.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Platform inconsistencies in GSUB5/GPOS7 lookup check rationale

Check: com.google.fonts/check/gsub5_gpos7
Added: https://github.com/googlefonts/fontbakery/pull/3644
The rationale for the GSUB5/GPOS7 check states:
 Ensure no GSUB5/GPOS7 lookups are present.
    with build/font.ttf

      Rationale:
      Versions of fonttools >=4.14.0 (19 August 2020) perform an optimisation on
      chained contextual lookups, expressing GSUB6 as GSUB5 and GPOS8 and GPOS7
      where possible (when there are no suffixes/prefixes for all rules in the
      lookup).

      However, makeotf has never generated these lookup types and they are rare
      in practice. Perhaps before of this, Mac's CoreText shaper does not
      correctly interpret GPOS7, and certain versions of Windows do not
      correctly interpret GSUB5, meaning that these lookups will be ignored by
      the shaper, and fonts containing these lookups will have unintended
      positioning and substitution errors.

      To fix this warning, rebuild the font with a recent version of fonttools.

     WARN Font contains a GPOS7 lookup which is not processed by macOS
          [code: has-gpos7]

     WARN Font contains a GSUB5 lookup which is not processed by macOS
          [code: has-gsub5]

    Result: WARN

The body of the rationale indicates that the GPOS7 issue is macOS-specific and GSUB5 issue is Windows-specific.  The end of the report includes two WARN fields that indicate GPOS7 and GSUB5 are macOS-specific issues.  If the body of the rationale is valid, I think that it is only necessary to change:
WARN Font contains a GSUB5 lookup which is not processed by macOS
          [code: has-gsub5]

to:
WARN Font contains a GSUB5 lookup which is not processed by some versions of Windows
          [code: has-gsub5]

There also appears to be a minor typo in line 2 of paragraph 2.  "Perhaps before of this" ==> "Perhaps because of this"?

There is no proof about GSUB5 being an issue on Windows, it was just speculation IIRC.

Yes, I'm sorry, that was my fault. I saw that Yanone was having problems with a font which was generating GSUB5 lookups, and I had just been working on this issue and jumped to conclusions. GPOS 7 is definitely a problem, though.

This was addressed by @simoncozens at #3690


Misleading license header in MSBuildTasks.h in repo

The MSBuildTasks.h file (https://github.com/Microsoft/msbuild/blob/xplat/src/Tasks/MSBuildTasks.h) has a license header that looks a bit weird:
//--------------------------------------------------------------------------
//
// Copyright (C) 2015 Microsoft Corporation,
// All rights reserved
//

This seems to imply (with the "all rights reserved", and no license note) that this file is not open source. Would it  be possible to switch to the format used by other files in this repository? For example,

// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.

(From https://github.com/Microsoft/msbuild/blob/xplat/src/Tasks/AssemblyRemapping.cs). Or some header that is more consistent with the main LICENSE file in the repository? This would address my concerns. Thanks!

Thanks for the report, @omajid.


DO NOT MERGE YET - including ZFA in go-lego

Required for https://github.com/geneontology/noctua/issues/541

I am going to go ahead and merge this without the Uberon bridge. This way ZFA can be used in models. We should consider making a small bridge from ZFA to CARO to make use of some disjointness without bridging to Uberon.


No scene export option UE 4.17?

I've been having issues with exporting a scene in 4.16 and 4.17. At the moment in 4.17 my only option in the drop down menu next to build is 'Steam Audio: Bake Indirect Sound..'
I've followed the instructions for setting up the scene - creating the shortcut with -audiomixer and then tagging objects in the scene but just wondering what has happened to the export scene option/how to now get it to work?

Hey MM-N,
Check out the new manual for 4.17, here https://github.com/ValveSoftware/steam-audio/releases/download/v2.0-beta.6/steamaudio_manual_unreal_2.0-beta.6.pdf.
Basically, add a PhononScene actor to your level; you will find an "export scene" button in the actor's detail panel.

Ah right, thanks!


You can also map secret variables using the variables definition. This example shows how to use secret variables $(vmsUser) and $(vmsAdminPass) in an Azure file copy task.

[Enter feedback here]

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

ID: dd7e0bd3-1f7d-d7b6-cc72-5ef63c31b46a
Version Independent ID: dae87abd-b73d-9120-bcdb-6097d4b40f2a
Content: Define variables - Azure Pipelines
Content Source: docs/pipelines/process/variables.md
Product: devops
Technology: devops-cicd-process
GitHub Login: @juliakm
Microsoft Alias: jukullam

I think you should tell that ...When you are not using inline scripts, you can refer to secret variable as you described. other wise is a little confusing.


[Bug]: Logto does not work with Cloudflare Tunnel

Error Message and Logs
I have my domain name parked at Cloudflare Tunnel and have HTTPS redirect set up. I can browse the Coolify dashboard without any issue. I can also browse some of my Python applications when I set the domain name to http://my-python-app.mydomain.com without any problem, Cloudflare automatically redirects the traffic to https
However, when I set up a Logto application, and filled in the ADMIN_ENDPOINT url as http://logto-admin.mydomain.com, I get the following error when trying to create an account:
{
    "code": "oidc.invalid_redirect_uri",
    "message": "`redirect_uri` did not match any of the client's registered `redirect_uris`.",
    "error": "invalid_redirect_uri",
    "error_description": "redirect_uri did not match any of the client's registered redirect_uris",
    "state": "JKtuiY1FXwScYAPeMEGwBCFX80oyLtMx3C2oS9E-9ohfbboh9qorZCsSDzfkaGBb3bV4lAZIWUqmIecTtKdjHg",
    "iss": "http://logto-admin.mydomain.com/oidc"
}

I assume that's because Cloudflare redirected the traffic to https and it does not match the ADMIN_ENDPOINT
If I set the ADMIN_ENDPOINT to https://logto-admin.mydomain.com I get - logto-admin.mydomain.com redirected you too many times.
How do I solve this problem?
Steps to Reproduce

Setup Cloudflare Tunnel for the Coolify server
Enable HTTPS redirect, SSL/TLS forwarding in Cloudflare
Install Logto
Set the ADMIN_ENDPOINT to http://logto-admin.yourdomain.com
Browse the URL in your browser
Click the "Create Account" button

Example Repository URL
No response
Coolify Version
v4.0.0-beta.345
Are you using Coolify Cloud?
No (self-hosted)
Operating System and Version (self-hosted)
Ubuntu 24
Additional Information
No response

Not all services work using http in a tunnel.
If there is no optional env for you to change (endpoint) then you would need to switch to strict/full and then pass through https on the tunnel

@djsisson  Hi, thanks for your response. I am using Full (Strict) mode on Cloudflare but still getting the same problem. Can you please elaborate?

@clho40 if they dont give you the ability to set the redirecturis based on an env.
ps what does the base endpoint env do? or is that jsut the normal app?
can u check that first

Hello, I do have the same issue as him, just a cloudflare tunnel configured and no other changes done into the configuration file. When you enter in the admin panel, it returns the same error after clicking on "Create account"

if you are unable to set the https redirect url, from any of the env, then you will need to set https pass through
for this you will need to create an origin certificate in cf
use domain and *.domain
install to /data/coolify/proxy/certs
thenb create a dynamic file and add the following
tls:
  stores:
    default: {  }
  certificates:
    -
      certFile: /traefik/certs/domain.crt
      keyFile: /traefik/certs/domian.key

change names above as required
after saving check proxy logs to make sure you see no errors about invalid certificates
once that is done change cf ssl/tls to full/strict and https always
then change all of your domains in coolify to https ( you can jsut do this for logto only if you wish)
as well as change your tunnels , thats are currently set as http -> localhost 80
to now be https - localhost 443
finally for each of those tunnels goto additional
TLS - origin server name and enter your main domain name here
you will now have https all the way to your containers

The above solution worked for me, the origin server name was the part that I was missing in my setup that got it all to work for me.
I've spent some time writing up a guide that's a more wordy version of what @djsisson has said 😂 . I've put a PR out for it!
Thanks for that final bit that got this working
https://github.com/coollabsio/documentation-coolify/pull/50

I have updated the documentation with the details that will resolve this issue. It will be available soon.


Scalajs 1.0.0 support

Note there is one issue I will leave unsolved:
ScalaJS is more strict about linking errors since 1.0.0 and it fails for java.lang.Thread.UncaughtExceptionHandler which is used in UncaughtExceptionReporter.asJava.
The method is only used in JVM internals and arguably shouldn't be used in ScalaJS code.
It was only used in test so I moved it to JVM only.
I will make a PR to ScalaJS which will add the missing interface so the problem will disappear in the future.
To sum up:

If anyone is using java.lang.Thread.UncaughtExceptionHandler in ScalaJS code and tries to upgrade from 0.6.32 to 1.0.0 then it will fail at compile time but it would fail without Monix as well


fix(NODE-4647): improve error message

Description
What is changing?
The error message when trying to to an update op with both a hint and a write concern with w: 0.
Is there new documentation needed for these changes?
I don't believe so.
What is the motivation for this change?
The previous error message led the user to believe that the server was too old, even when that was in fact not the case. The code now only gives the old message when the server is old, and gives a new message if that is not the case.
We encountered this error today and it was hard to track down the actual source.
Double check the following

[x] Ran npm run check:lint script
[x] Self-review completed using the steps outlined here
[x] PR title follows the correct format: <type>(NODE-xxxx)<!>: <description> (not sure if this is correct since it's only a step in the right direction, doesn't close the entire bug)
[ ] Changes are covered by tests
[x] New TODOs have a related JIRA ticket (not new but points to an existing ticket)

@baileympearson thank you for reviewing, with the information you provided I managed to implement the entire feature instead of just updating the error message!
👉 https://github.com/mongodb/node-mongodb-native/pull/3415

Hey @LinusU - are you able to make the changes I requested?  If not, I'm happy to take over the PR from here if that's okay with you.

@baileympearson sorry for not getting back to you earlier, and thank you so much for landing this PR! ❤


fix: set Python 3.7 is deprecated

Is there an existing issue for this?

[X] I have searched the existing issues

Is your feature request related to a problem? Please describe.
Python 3.7 will be EOL at Jun 2022. We should put deprecated status into python 3.7 support.
Describe the solution you'd like.
No response
Describe an alternate solution.
No response
Anything else? (Additional Context)
No response

The Python version in Google Colab is 3.8.16 as of 2022-12-13.


Updating async function implementation by desugaring to generators

Updating async function implementation by desugaring to generators
This change removes the function wrapper implementation of async
functions. Now the async functions will behave similar to generator
functions. The actual function body will be in the sciptFunction field.
Symbols now need not be forced to slots. asyncspawn opcode and parse
node are no more needed.In the backend async functions are also
added to the generator JIT flag. await is desugared into yield.

@ianwjhalliday @pleath @akroshg Can you please take a look?

                sym->GetScope()->GetFunc()->root->sxFnc.IsAsync());

I think this IsAsync check should be removed from this assert now

Refers to: lib/Runtime/ByteCode/ByteCodeGenerator.cpp:2434 in 8727492. [](commit_id = 87274929d4e81b8a24e8e9e90f1b36f5f8119186, deletion_comment = False)

            if (parentFunc->root->sxFnc.IsAsync())

This should be removed, no longer true

Refers to: lib/Runtime/ByteCode/ByteCodeGenerator.cpp:5037 in 8727492. [](commit_id = 87274929d4e81b8a24e8e9e90f1b36f5f8119186, deletion_comment = False)

if (pnode->sxFnc.IsAsync())

Note for later, this may not be necessary with how we fix default parameter expression evaluation.  The try catch could probably go in the C++ code that does the initial next() call on the generator.

Refers to: lib/Runtime/ByteCode/ByteCodeEmitter.cpp:2897 in 8727492. [](commit_id = 87274929d4e81b8a24e8e9e90f1b36f5f8119186, deletion_comment = False)

I found a few cases where there was old code specific to async functions that no longer applied, in bytecode generator.  I did not do a look through our code base though.  Please do a quick look through search results for IsAsync to see if there are any other special cases that should be removed.

nit: the title of this PR is incorrect.  We were desugaring before, now we are implementing it natively (taking advantage of heavy reuse of JavascriptGeneratorFunction).

Overall looks good to me. Are you planning to add debugger tests as well?

I will add debugger test cases in a separate change set

@dotnet-bot test Windows x64_debug please


ComponentManager Rework

Requires space-wizards/RobustToolbox#1143
fix benchmark
improve some test diagnostics
fix some bug where order of shutdown of AiControllerComponent mattered or Processor was never initialized

Mosts tests complete just as fast or faster. Shaved some time off of larger tests.
Benchmark run for GetAllComponents:
old ComponentManager: 57,611.27 ns,
new ComponentManager: 82.34 ns


Hubble Responsive

Summary of changes
Provide a detailed description of proposed changes.

Update useDarkMode hooks with useLocalStorageState
Responsive design for Hubble Stats
Add SideBarMenu components in webb-ui-kit

Proposed area of change
Put an x in the boxes that apply.

[x] apps/bridge-dapp
[x] apps/hubble-stats
[ ] apps/stats-dapp
[ ] apps/webbsite
[ ] apps/faucet
[ ] apps/tangle-website
[x] libs/webb-ui-components

Reference issue to close (if applicable)
Specify any issues that can be closed from these changes (e.g. Closes #233).

Closes #1450
Closes #1444

Screen Recording
If possible provide a screen recording of proposed change.
https://github.com/webb-tools/webb-dapp/assets/69841784/e727a723-6d43-4438-a776-033b3b8df47d

Code Checklist
Please be sure to add .stories documentation if any additions are made to libs/webb-ui-components.

[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Left some comments.

Could you also add a responsive sidebar to the Hubble Bridge, or alternatively, create an issue for it? This way, we can keep track of it for future reference. Your help is greatly appreciated! 🙏

Additionally, there are quite a few warnings and errors appearing on the console. Could you please take a look at these as well?

Just a bit of feedback on the UI! The section that I've highlighted with a red rectangle seems a bit odd. I believe it might be due to the background blur on the cards behind it.

@devpavan04 since you are working on the charts for Hubble Stats maybe you can help me take a look at this after this PR got merged!

@vutuanlinh2k2 just tested the preview link on my tablet & mobile devices. I get these blue lines around the components, can you check on this as well? (I'm on IOS)

@vutuanlinh2k2 just tested the preview link on my tablet & mobile devices. I get these blue lines around the components, can you check on this as well? (I'm on IOS)

@monaiuu I believe this problem is solved in the latest preview link 😊 Can you check the site again!


Update ShellJS

This uses the latest version of ShellJS. We improved some aspects of cp('-R', ...) in this latest release. Behavior for cp() should stay consistent for v0.7+.
Cheers!

Thanks @nfischer !
I have updated the dependency in PR #266


check/pylint-changed-files: add dev_tools/qualtran_dev_tools to PYTHONPATH

fixes this error:
************* Module dev_tools/conf/.pylintrc
dev_tools/conf/.pylintrc:1:0: W0012: Unknown option value for '--enable', expected a valid pylint message and got 'wrong-or-nonexistent-copyright-notice' (unknown-option-value)
************* Module Command line or configuration file
Command line or configuration file:1:0: E0013: Plugin 'pylint_copyright_checker' is impossible to load, is it installed ? ('No module named 'pylint_copyright_checker'') (bad-plugin-value)

@mpharrigan could you merge this?


Broken on Padrino + ActiveRecord.

I've had weird things happening.
I was experimenting with Padrino framework Padrino + Sequel + rspec + sqlite3. Tests worked.
Then I dumped sequel and switched to ActiveRecord.
Everything was fine until I started writing/running tests.
I got this error
/home/graudeejs/.rvm/rubies/ruby-2.0.0-p247/bin/ruby -S rspec ./spec/models/user_spec.rb

Finished in 0.03415 seconds
0 examples, 0 failures
/home/graudeejs/.rvm/gems/ruby-2.0.0-p247@graudeejs/gems/database_cleaner-1.1.1/lib/database_cleaner/active_record/truncation.rb:123:in `db_version': undefined local variable or method `postgresql_version' for #<ActiveRecord::ConnectionAdapters::SQLite3Adapter:0x0000080717cb18> (NameError)
	from /home/graudeejs/.rvm/gems/ruby-2.0.0-p247@graudeejs/gems/database_cleaner-1.1.1/lib/database_cleaner/active_record/truncation.rb:131:in `restart_identity'
	from /home/graudeejs/.rvm/gems/ruby-2.0.0-p247@graudeejs/gems/database_cleaner-1.1.1/lib/database_cleaner/active_record/truncation.rb:140:in `truncate_tables'
	from /home/graudeejs/.rvm/gems/ruby-2.0.0-p247@graudeejs/gems/database_cleaner-1.1.1/lib/database_cleaner/active_record/truncation.rb:234:in `block in clean'
	from /home/graudeejs/.rvm/gems/ruby-2.0.0-p247@graudeejs/gems/activerecord-3.2.14/lib/active_record/connection_adapters/abstract_adapter.rb:168:in `disable_referential_integrity'
	from /home/graudeejs/.rvm/gems/ruby-2.0.0-p247@graudeejs/gems/database_cleaner-1.1.1/lib/database_cleaner/active_record/truncation.rb:230:in `clean'
	from /home/graudeejs/.rvm/gems/ruby-2.0.0-p247@graudeejs/gems/database_cleaner-1.1.1/lib/database_cleaner/base.rb:40:in `clean_with'
	from /home/graudeejs/.rvm/gems/ruby-2.0.0-p247@graudeejs/gems/database_cleaner-1.1.1/lib/database_cleaner/configuration.rb:85:in `block in clean_with'
	from /home/graudeejs/.rvm/gems/ruby-2.0.0-p247@graudeejs/gems/database_cleaner-1.1.1/lib/database_cleaner/configuration.rb:85:in `each'
	from /home/graudeejs/.rvm/gems/ruby-2.0.0-p247@graudeejs/gems/database_cleaner-1.1.1/lib/database_cleaner/configuration.rb:85:in `clean_with'
	from /home/graudeejs/src/ruby/graudeejs/spec/spec_helper.rb:31:in `block (2 levels) in <top (required)>'
	from /home/graudeejs/.rvm/gems/ruby-2.0.0-p247@graudeejs/gems/rspec-core-2.14.5/lib/rspec/core/hooks.rb:21:in `instance_eval'
	from /home/graudeejs/.rvm/gems/ruby-2.0.0-p247@graudeejs/gems/rspec-core-2.14.5/lib/rspec/core/hooks.rb:21:in `run'
	from /home/graudeejs/.rvm/gems/ruby-2.0.0-p247@graudeejs/gems/rspec-core-2.14.5/lib/rspec/core/hooks.rb:85:in `block in run'
	from /home/graudeejs/.rvm/gems/ruby-2.0.0-p247@graudeejs/gems/rspec-core-2.14.5/lib/rspec/core/hooks.rb:85:in `each'
	from /home/graudeejs/.rvm/gems/ruby-2.0.0-p247@graudeejs/gems/rspec-core-2.14.5/lib/rspec/core/hooks.rb:85:in `run'
	from /home/graudeejs/.rvm/gems/ruby-2.0.0-p247@graudeejs/gems/rspec-core-2.14.5/lib/rspec/core/hooks.rb:446:in `run_hook'
	from /home/graudeejs/.rvm/gems/ruby-2.0.0-p247@graudeejs/gems/rspec-core-2.14.5/lib/rspec/core/command_line.rb:27:in `block in run'
	from /home/graudeejs/.rvm/gems/ruby-2.0.0-p247@graudeejs/gems/rspec-core-2.14.5/lib/rspec/core/reporter.rb:58:in `report'
	from /home/graudeejs/.rvm/gems/ruby-2.0.0-p247@graudeejs/gems/rspec-core-2.14.5/lib/rspec/core/command_line.rb:25:in `run'
	from /home/graudeejs/.rvm/gems/ruby-2.0.0-p247@graudeejs/gems/rspec-core-2.14.5/lib/rspec/core/runner.rb:80:in `run'
	from /home/graudeejs/.rvm/gems/ruby-2.0.0-p247@graudeejs/gems/rspec-core-2.14.5/lib/rspec/core/runner.rb:17:in `block in autorun'
Coverage report generated for RSpec to /home/graudeejs/src/ruby/graudeejs/coverage. 28 / 38 LOC (73.68%) covered.
/home/graudeejs/.rvm/rubies/ruby-2.0.0-p247/bin/ruby -S rspec ./spec/models/user_spec.rb failed

I don't use PostgreSQL, so something is obviously wrong.
I started downgrading database_cleaner and v1.0.1 was the last release that works.
There's database_cleaner related content of spec/spec_helper.rb
  # # config.use_transactional_fixtures = false
  config.before(:suite) do
    DatabaseCleaner.strategy = :transaction
    DatabaseCleaner.clean_with(:truncation)
  end
  config.before(:each) do
    DatabaseCleaner.start
  end
  config.after(:each) do
    DatabaseCleaner.clean
  end

As you can see nothing special.

@graudeejs I believe that this is no longer an issue. You can see a sample app over here: https://github.com/etagwerker/clean-padrino
Please let me know if this is still happening and I'll reopen the issue.


Use LZMA instead of zlib

LZMA is about 10% more efficient in the worst case, and only increases as complexity goes up

(forget my earlier XZ statement. I do believe there was an issue around it,
but it seems my memory for what is recommended was incorrect. Also Python
uses lzma to do .xz decoding.)
On Wed, Oct 20, 2021 at 3:57 PM John Meinel @.***> wrote:

Is it possible to use XZ instead of lzma? I don't know what is supported,
but certainly for archival formats xz is preferred (debian went that way),
because the structure of the stream is more resilient, and it should have
the same compression characteristics.
John
=:->
On Mon, Oct 18, 2021 at 3:54 PM Ryan Barry @.***>
wrote:

LZMA is about 10% more efficient in the worst case, and only increases as
complexity goes up
You can view, comment on, or merge this pull request online at:
https://github.com/canonical/grafana-operator/pull/40
Commit Summary

Use LZMA instead of zlib
https://github.com/canonical/grafana-operator/pull/40/commits/7fb1b3f51b6636b612851bf4f883dadde2826b65

File Changes

M lib/charms/grafana_k8s/v0/grafana_dashboard.py
https://github.com/canonical/grafana-operator/pull/40/files#diff-69ab969563d8e0133c6a9e31a0a235f99a626617c456bc84bb1bd25899e36170
(8)
M tests/test_dashboard_consumer.py
https://github.com/canonical/grafana-operator/pull/40/files#diff-731d19d3097ffba798bce5a0f2007bd5789c5b13f0ec7f3151907ca60a13631b
(6)
M tests/test_dashboard_provider.py
https://github.com/canonical/grafana-operator/pull/40/files#diff-dc3b0728df171e998a12504c5d1a87a6292dba21a51f97cd94a03709cd0ead00
(9)

Patch Links:

https://github.com/canonical/grafana-operator/pull/40.patch
https://github.com/canonical/grafana-operator/pull/40.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/canonical/grafana-operator/pull/40, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABRQ7PWNCZU6ZVALFYPZ5LUHR3P3ANCNFSM5GHOD6VQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


[CLI]: Start method = 'thread' not working

Describe the bug
#1771 was still happening to me. It looks like setting the environment variable WANDB_START_METHOD solved the problem, but setting start_method='thread' in wandb.init() did not.
This did not work for me..
wandb.init(settings=wandb.Settings(start_method='thread'))

but this did.
os.environ['WANDB_START_METHOD'] = 'thread'
wandb.init()

I'm not sure if this is a bug or if something else is going on. I'm using PyTorch DDP with torchrun.
Additional Files
No response
Environment
WandB version: 0.12.15
OS: Linux
Python version: 3.8.13
Versions of relevant libraries: torch: 1.11.0+cu113
Additional Context
No response

Hi @collinmccarthy, thanks for reporting this. This is indeed an issue.
It was fixed here: #3510 and will be part of the next release in the first week of May.
For now you could avoid this by passing a regular dict as an argument to settings, like this: wandb.init(settings=dict(start_method='thread')).
cc: @dmitryduev

Hi @kptkin, thanks, that's cleaner. However now that I've switched to thread, I'm noticing that the uploading process fails to finish quite frequently when I'm running multiple processes on a single machine (one per GPU, because each GPU is processing a different run). I get output like this on most if not all of the processes / GPUs:
wandb: \ 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: | 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: / 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: - 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: \ 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: | 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: / 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: - 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: \ 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: | 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: / 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: - 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: \ 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: | 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: / 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: - 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: \ 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: | 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: / 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: - 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: \ 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: | 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: / 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: - 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: \ 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: | 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: / 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: - 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: \ 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: | 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: / 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: - 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: \ 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: | 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: / 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: - 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: \ 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: | 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: / 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: - 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: \ 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: | 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: / 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: - 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: \ 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: | 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: / 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: - 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: \ 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: | 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: / 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: - 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: \ 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: | 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: / 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: - 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: \ 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: | 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: / 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: - 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: \ 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: | 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: / 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: - 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: \ 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: | 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: / 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: - 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: \ 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: | 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: / 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: - 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: \ 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: | 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: / 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: - 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: \ 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: | 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: / 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: - 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: \ 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: | 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: / 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: - 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: \ 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: | 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: / 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: - 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: \ 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: | 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: / 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: - 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: \ 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: | 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: / 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: - 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: \ 879.082 MB of 879.082 MB uploaded (0.000 MB deduwandb: | 879.082 MB of 879.082 MB uploaded (0.000 MB dedu2022-04-24 20:36:10,936 - wandb.wandb_agent - INFO - Agent received command: stop

You get the idea. It works fine (albeit a bit slow) when I only run a couple of processes at a time. But when I run ~8-12 (2-4 per machine, up to 3 machines) this happens. The output above continues indefinitely until I stop the run in the Wandb API.
I noticed a couple of issues like https://github.com/wandb/client/issues/1345 talking about slow upload speeds, but does this make sense to you or could you point me to other issues with potential solutions? It only seems to happen now that I've switched to threading (which I have to since my workflow is Slurm -> Sweep / agent -> PyTorch DDP -> Logging on rank 0).
Thanks

The debug-internal.log file shows this when wandb.finish() starts:

2022-04-24 19:32:13,975 INFO    HandlerThread:776736 [handler.py:handle_request_defer():164] handle defer: 0
2022-04-24 19:32:13,990 DEBUG   SenderThread:776736 [sender.py:send_request():246] send_request: defer
2022-04-24 19:32:14,011 INFO    SenderThread:776736 [sender.py:send_request_defer():385] handle sender defer: 0
2022-04-24 19:32:14,030 INFO    SenderThread:776736 [sender.py:transition_state():389] send defer: 1
2022-04-24 19:32:14,041 DEBUG   HandlerThread:776736 [handler.py:handle_request():141] handle_request: defer
2022-04-24 19:32:14,047 INFO    HandlerThread:776736 [handler.py:handle_request_defer():164] handle defer: 1
2022-04-24 19:32:14,097 DEBUG   HandlerThread:776736 [handler.py:handle_request():141] handle_request: poll_exit
2022-04-24 19:32:14,097 DEBUG   SenderThread:776736 [sender.py:send_request():246] send_request: defer
2022-04-24 19:32:14,110 INFO    SenderThread:776736 [sender.py:send_request_defer():385] handle sender defer: 1
2022-04-24 19:32:14,125 INFO    SenderThread:776736 [sender.py:transition_state():389] send defer: 2
2022-04-24 19:32:14,136 DEBUG   SenderThread:776736 [sender.py:send_request():246] send_request: poll_exit
2022-04-24 19:32:14,136 DEBUG   HandlerThread:776736 [handler.py:handle_request():141] handle_request: defer
2022-04-24 19:32:14,146 DEBUG   SenderThread:776736 [sender.py:send():232] send: stats
2022-04-24 19:32:14,146 INFO    MainThread:776736 [wandb_run.py:_on_finish():1995] got exit ret: file_counts {
  other_count: 5
}
pusher_stats {
  uploaded_bytes: 921784149
  total_bytes: 921784149
}

2022-04-24 19:32:14,153 INFO    HandlerThread:776736 [handler.py:handle_request_defer():164] handle defer: 2
2022-04-24 19:32:14,174 DEBUG   SenderThread:776736 [sender.py:send_request():246] send_request: defer
2022-04-24 19:32:14,185 INFO    SenderThread:776736 [sender.py:send_request_defer():385] handle sender defer: 2
2022-04-24 19:32:14,203 INFO    SenderThread:776736 [sender.py:transition_state():389] send defer: 3
2022-04-24 19:32:14,217 DEBUG   HandlerThread:776736 [handler.py:handle_request():141] handle_request: defer
2022-04-24 19:32:14,229 INFO    HandlerThread:776736 [handler.py:handle_request_defer():164] handle defer: 3
2022-04-24 19:32:14,247 DEBUG   SenderThread:776736 [sender.py:send_request():246] send_request: defer
2022-04-24 19:32:14,259 INFO    SenderThread:776736 [sender.py:send_request_defer():385] handle sender defer: 3
2022-04-24 19:32:14,268 DEBUG   HandlerThread:776736 [handler.py:handle_request():141] handle_request: poll_exit
2022-04-24 19:32:14,280 INFO    SenderThread:776736 [sender.py:transition_state():389] send defer: 4
2022-04-24 19:32:14,316 DEBUG   SenderThread:776736 [sender.py:send_request():246] send_request: poll_exit
2022-04-24 19:32:14,316 DEBUG   HandlerThread:776736 [handler.py:handle_request():141] handle_request: defer
2022-04-24 19:32:14,327 INFO    MainThread:776736 [wandb_run.py:_on_finish():1995] got exit ret: file_counts {
  other_count: 5
}
pusher_stats {
  uploaded_bytes: 921784149
  total_bytes: 921784149
}

2022-04-24 19:32:14,340 INFO    HandlerThread:776736 [handler.py:handle_request_defer():164] handle defer: 4
2022-04-24 19:32:14,364 DEBUG   SenderThread:776736 [sender.py:send():232] send: summary
2022-04-24 19:32:14,385 INFO    SenderThread:776736 [sender.py:_save_file():946] saving file wandb-summary.json with policy end
2022-04-24 19:32:14,398 DEBUG   SenderThread:776736 [sender.py:send_request():246] send_request: defer
2022-04-24 19:32:14,406 INFO    SenderThread:776736 [sender.py:send_request_defer():385] handle sender defer: 4
2022-04-24 19:32:14,424 INFO    SenderThread:776736 [sender.py:transition_state():389] send defer: 5
2022-04-24 19:32:14,425 INFO    Thread-10 :776736 [dir_watcher.py:_on_file_modified():226] file/dir modified: /data/sparse-dnn/runs/imnet100/baseline/resnet50_imnet100_s96_e100_w5_adamw_b512_blr5e-4_mlr1e-6_wd5e-2/wandb/run-20220424_165726-rechwugz/files/output.log
2022-04-24 19:32:14,446 DEBUG   HandlerThread:776736 [handler.py:handle_request():141] handle_request: defer
2022-04-24 19:32:14,456 INFO    Thread-10 :776736 [dir_watcher.py:_on_file_modified():226] file/dir modified: /data/sparse-dnn/runs/imnet100/baseline/resnet50_imnet100_s96_e100_w5_adamw_b512_blr5e-4_mlr1e-6_wd5e-2/wandb/run-20220424_165726-rechwugz/files/slurm-74493.txt
2022-04-24 19:32:14,466 INFO    HandlerThread:776736 [handler.py:handle_request_defer():164] handle defer: 5
2022-04-24 19:32:14,477 INFO    Thread-10 :776736 [dir_watcher.py:_on_file_modified():226] file/dir modified: /data/sparse-dnn/runs/imnet100/baseline/resnet50_imnet100_s96_e100_w5_adamw_b512_blr5e-4_mlr1e-6_wd5e-2/wandb/run-20220424_165726-rechwugz/files/wandb-summary.json
2022-04-24 19:32:14,488 DEBUG   SenderThread:776736 [sender.py:send_request():246] send_request: defer
2022-04-24 19:32:14,489 DEBUG   HandlerThread:776736 [handler.py:handle_request():141] handle_request: poll_exit
2022-04-24 19:32:14,511 INFO    SenderThread:776736 [sender.py:send_request_defer():385] handle sender defer: 5
2022-04-24 19:32:14,787 INFO    SenderThread:776736 [sender.py:transition_state():389] send defer: 6
2022-04-24 19:32:14,795 DEBUG   SenderThread:776736 [sender.py:send_request():246] send_request: poll_exit
2022-04-24 19:32:14,796 DEBUG   HandlerThread:776736 [handler.py:handle_request():141] handle_request: defer
2022-04-24 19:32:14,802 INFO    MainThread:776736 [wandb_run.py:_on_finish():1995] got exit ret: file_counts {
  other_count: 5
}
pusher_stats {
  uploaded_bytes: 921784149
  total_bytes: 921784149
}

2022-04-24 19:32:14,812 INFO    HandlerThread:776736 [handler.py:handle_request_defer():164] handle defer: 6
2022-04-24 19:32:14,830 DEBUG   SenderThread:776736 [sender.py:send_request():246] send_request: defer
2022-04-24 19:32:14,854 INFO    SenderThread:776736 [sender.py:send_request_defer():385] handle sender defer: 6
2022-04-24 19:32:14,868 INFO    SenderThread:776736 [dir_watcher.py:finish():279] shutting down directory watcher
2022-04-24 19:32:14,923 DEBUG   HandlerThread:776736 [handler.py:handle_request():141] handle_request: poll_exit
2022-04-24 19:32:15,426 INFO    Thread-10 :776736 [dir_watcher.py:_on_file_modified():226] file/dir modified: /data/sparse-dnn/runs/imnet100/baseline/resnet50_imnet100_s96_e100_w5_adamw_b512_blr5e-4_mlr1e-6_wd5e-2/wandb/run-20220424_165726-rechwugz/files/config.yaml
2022-04-24 19:32:15,444 INFO    SenderThread:776736 [dir_watcher.py:finish():309] scan: /data/sparse-dnn/runs/imnet100/baseline/resnet50_imnet100_s96_e100_w5_adamw_b512_blr5e-4_mlr1e-6_wd5e-2/wandb/run-20220424_165726-rechwugz/files
2022-04-24 19:32:15,458 INFO    SenderThread:776736 [dir_watcher.py:finish():323] scan save: /data/sparse-dnn/runs/imnet100/baseline/resnet50_imnet100_s96_e100_w5_adamw_b512_blr5e-4_mlr1e-6_wd5e-2/wandb/run-20220424_165726-rechwugz/files/ckpt_latest.pth ckpt_latest.pth
2022-04-24 19:32:15,473 INFO    SenderThread:776736 [dir_watcher.py:finish():323] scan save: /data/sparse-dnn/runs/imnet100/baseline/resnet50_imnet100_s96_e100_w5_adamw_b512_blr5e-4_mlr1e-6_wd5e-2/wandb/run-20220424_165726-rechwugz/files/slurm-74493.txt slurm-74493.txt
2022-04-24 19:32:15,486 INFO    SenderThread:776736 [dir_watcher.py:finish():323] scan save: /data/sparse-dnn/runs/imnet100/baseline/resnet50_imnet100_s96_e100_w5_adamw_b512_blr5e-4_mlr1e-6_wd5e-2/wandb/run-20220424_165726-rechwugz/files/ckpt_min_loss.pth ckpt_min_loss.pth
2022-04-24 19:32:15,510 INFO    SenderThread:776736 [dir_watcher.py:finish():323] scan save: /data/sparse-dnn/runs/imnet100/baseline/resnet50_imnet100_s96_e100_w5_adamw_b512_blr5e-4_mlr1e-6_wd5e-2/wandb/run-20220424_165726-rechwugz/files/log_rank0.txt log_rank0.txt
2022-04-24 19:32:15,527 INFO    SenderThread:776736 [dir_watcher.py:finish():323] scan save: /data/sparse-dnn/runs/imnet100/baseline/resnet50_imnet100_s96_e100_w5_adamw_b512_blr5e-4_mlr1e-6_wd5e-2/wandb/run-20220424_165726-rechwugz/files/config.yaml config.yaml
2022-04-24 19:32:15,542 INFO    SenderThread:776736 [dir_watcher.py:finish():323] scan save: /data/sparse-dnn/runs/imnet100/baseline/resnet50_imnet100_s96_e100_w5_adamw_b512_blr5e-4_mlr1e-6_wd5e-2/wandb/run-20220424_165726-rechwugz/files/output.log output.log
2022-04-24 19:32:15,559 INFO    SenderThread:776736 [dir_watcher.py:finish():323] scan save: /data/sparse-dnn/runs/imnet100/baseline/resnet50_imnet100_s96_e100_w5_adamw_b512_blr5e-4_mlr1e-6_wd5e-2/wandb/run-20220424_165726-rechwugz/files/wandb-summary.json wandb-summary.json
2022-04-24 19:32:15,573 INFO    SenderThread:776736 [dir_watcher.py:finish():323] scan save: /data/sparse-dnn/runs/imnet100/baseline/resnet50_imnet100_s96_e100_w5_adamw_b512_blr5e-4_mlr1e-6_wd5e-2/wandb/run-20220424_165726-rechwugz/files/ckpt_max_acc.pth ckpt_max_acc.pth
2022-04-24 19:32:15,589 INFO    SenderThread:776736 [sender.py:transition_state():389] send defer: 7
2022-04-24 19:32:15,609 DEBUG   SenderThread:776736 [sender.py:send_request():246] send_request: poll_exit
2022-04-24 19:32:15,610 DEBUG   HandlerThread:776736 [handler.py:handle_request():141] handle_request: defer
2022-04-24 19:32:15,615 INFO    MainThread:776736 [wandb_run.py:_on_finish():1995] got exit ret: file_counts {
  other_count: 5
}
pusher_stats {
  uploaded_bytes: 921784149
  total_bytes: 921784149
}

2022-04-24 19:32:15,622 INFO    HandlerThread:776736 [handler.py:handle_request_defer():164] handle defer: 7
2022-04-24 19:32:15,652 DEBUG   SenderThread:776736 [sender.py:send_request():246] send_request: defer
2022-04-24 19:32:15,657 INFO    SenderThread:776736 [sender.py:send_request_defer():385] handle sender defer: 7
2022-04-24 19:32:15,673 INFO    SenderThread:776736 [file_pusher.py:finish():145] shutting down file pusher
2022-04-24 19:32:15,742 DEBUG   HandlerThread:776736 [handler.py:handle_request():141] handle_request: poll_exit
2022-04-24 19:32:15,760 DEBUG   SenderThread:776736 [sender.py:send_request():246] send_request: poll_exit
2022-04-24 19:32:15,773 INFO    MainThread:776736 [wandb_run.py:_on_finish():1995] got exit ret: file_counts {
  other_count: 5
}
pusher_stats {
  uploaded_bytes: 921784149
  total_bytes: 921784149
}

2022-04-24 19:32:15,897 DEBUG   HandlerThread:776736 [handler.py:handle_request():141] handle_request: poll_exit
2022-04-24 19:32:15,904 DEBUG   SenderThread:776736 [sender.py:send_request():246] send_request: poll_exit
2022-04-24 19:32:15,918 INFO    MainThread:776736 [wandb_run.py:_on_finish():1995] got exit ret: file_counts {
  other_count: 5
}
pusher_stats {
  uploaded_bytes: 921784149
  total_bytes: 921784149
}

2022-04-24 19:32:16,039 DEBUG   HandlerThread:776736 [handler.py:handle_request():141] handle_request: poll_exit
2022-04-24 19:32:16,044 DEBUG   SenderThread:776736 [sender.py:send_request():246] send_request: poll_exit
2022-04-24 19:32:16,054 INFO    MainThread:776736 [wandb_run.py:_on_finish():1995] got exit ret: file_counts {
  other_count: 5
}
pusher_stats {
  uploaded_bytes: 921784149
  total_bytes: 921784149
}

And then it just repeats this for a long time until I stop the run:
2022-04-24 20:36:10,080 DEBUG   HandlerThread:776736 [handler.py:handle_request():141] handle_request: poll_exit
2022-04-24 20:36:10,102 DEBUG   SenderThread:776736 [sender.py:send_request():246] send_request: poll_exit
2022-04-24 20:36:10,114 INFO    MainThread:776736 [wandb_run.py:_on_finish():1995] got exit ret: file_counts {
  other_count: 5
}
pusher_stats {
  uploaded_bytes: 921784149
  total_bytes: 921784149
}

2022-04-24 20:36:10,254 DEBUG   HandlerThread:776736 [handler.py:handle_request():141] handle_request: poll_exit
2022-04-24 20:36:10,280 DEBUG   SenderThread:776736 [sender.py:send_request():246] send_request: poll_exit
2022-04-24 20:36:10,286 INFO    MainThread:776736 [wandb_run.py:_on_finish():1995] got exit ret: file_counts {
  other_count: 5
}
pusher_stats {
  uploaded_bytes: 921784149
  total_bytes: 921784149
}

2022-04-24 20:36:10,457 DEBUG   HandlerThread:776736 [handler.py:handle_request():141] handle_request: poll_exit
2022-04-24 20:36:10,465 DEBUG   SenderThread:776736 [sender.py:send_request():246] send_request: poll_exit
2022-04-24 20:36:10,490 INFO    MainThread:776736 [wandb_run.py:_on_finish():1995] got exit ret: file_counts {
  other_count: 5
}
pusher_stats {
  uploaded_bytes: 921784149
  total_bytes: 921784149
}

2022-04-24 20:36:10,601 DEBUG   HandlerThread:776736 [handler.py:handle_request():141] handle_request: poll_exit
2022-04-24 20:36:10,625 DEBUG   SenderThread:776736 [sender.py:send_request():246] send_request: poll_exit
2022-04-24 20:36:10,638 INFO    MainThread:776736 [wandb_run.py:_on_finish():1995] got exit ret: file_counts {
  other_count: 5
}
pusher_stats {
  uploaded_bytes: 921784149
  total_bytes: 921784149
}


Display a "X" or trash icon on the element boundary when hovering it to allow deleting the element

Currently it's possible to delete elements from the page by clicking on the element, expanding the Delete section on the right sidebar, clicking Delete, and confirming. We want to optimize this whole process since deleting elements is an operation executed very often.
The idea we want to explore is adding some icon on the boundary of the element either when you hover or select such element to have quick access to the Delete operation, eg:

Personally I'd probably show the button to delete it not when hovering but when it's selected. That goes along the pattern i'm implementing in which, for drag and drop, I show some floating buttons next to the selected element to move it.

Personally I'd probably show the button to delete it not when hovering but when it's selected. That goes along the pattern i'm implementing in which, for drag and drop, I show some floating buttons next to the selected element to move it.

That makes sense and is the behavior that other tools are taking as well.


Wrong type hydration for DATETIME column mapped as string

Describe the bug
I want to store a date/time value in a MySQL DATETIME column, but managing it as a string. Given this entity:
import { Entity, Enum, PrimaryKey, Property } from '@mikro-orm/core';
import { ulid } from 'ulid';

export abstract class BaseEntity {
    @PrimaryKey({ columnType: 'char(26)' })
    id = ulid();
}

export enum PaymentAttemptStatus {
    PLANNED = 'planned',
    RUNNING = 'running',
    SUCCESS = 'success',
    FAILURE = 'failure',
    MANUAL = 'manual',
}

@Entity()
export class PaymentAttempt extends BaseEntity {
// ... other properties

    @Enum({ default: PaymentAttemptStatus.PLANNED })
    status: PaymentAttemptStatus = PaymentAttemptStatus.PLANNED;

    @Property({ type: 'string', columnType: 'datetime', nullable: true })
    effectiveExecution: string | null = null;

// ... other properties
}

If I try to edit and save like this:
await em
    .findOneOrFail(PaymentAttempt, 'abc123')
    .then((attempt) => {
        attempt.status = PaymentAttemptStatus.SUCCESS;
        return em.flush();
    });

I get an error like
ValidationError: Trying to set PaymentAttempt.effectiveExecution of type 'string' to 'Fri Dec 10 2021 12:15:20 GMT+0100 (Ora standard dell’Europa centrale)' of type 'date'
    at Function.fromWrongPropertyType (/home/belinde/NaN/paydeal-backend/node_modules/@mikro-orm/core/errors.js:22:16)
    at EntityValidator.validateProperty (/home/belinde/NaN/paydeal-backend/node_modules/@mikro-orm/core/entity/EntityValidator.js:45:44)
    at /home/belinde/NaN/paydeal-backend/node_modules/@mikro-orm/core/entity/EntityValidator.js:23:35
    at Array.forEach (<anonymous>)
    at EntityValidator.validate (/home/belinde/NaN/paydeal-backend/node_modules/@mikro-orm/core/entity/EntityValidator.js:12:20)
    at SqlEntityManager.merge (/home/belinde/NaN/paydeal-backend/node_modules/@mikro-orm/core/EntityManager.js:375:24)
    at SqlEntityManager.merge (/home/belinde/NaN/paydeal-backend/node_modules/@mikro-orm/core/EntityManager.js:364:25)
    at SqlEntityManager.fork (/home/belinde/NaN/paydeal-backend/node_modules/@mikro-orm/core/EntityManager.js:547:20)
    at SqlEntityManager.transactional (/home/belinde/NaN/paydeal-backend/node_modules/@mikro-orm/core/EntityManager.js:267:25)
    at managePayoutLogic (/home/belinde/NaN/paydeal-backend/src/tools/MangoPay/payin.ts:59:8) {
  entity: undefined
}

Expected behavior
effectiveExecution should be hydrated as a plain string.
Additional context
It's worth mentioning that this doesn't happen using a MySQL DATE type.
Versions

Dependency
Version

node
16.3

typescript
4.5.3

mikro-orm
4.5.9

mikro-orm/mysql
4.5.9

You might need a custom mapped type for this, combining just type and columnType like this has no semantic meaning. If it is a datetime column, it will be converted to date object, regardless of what you put into type (unless it is a custom mapped type). Note this datetime conversion happens usually at the driver/connector level, so outside of MikroORM and you might need to also adjust the configuration of such driver - namely for mysql there is dateStrings option for such use case.
MikroORM.init({
  driverOptions: {
    connection: { dateStrings: true }
  }
})

If you would want this to happen only for some datetime properties, you will actually need the opposite - a mapped type that will then handle those strings and convert them to date objects on runtime, as if you disable date conversion in driver, it will be applied to everything (and can have potentially breaking effect on change set tracking).
https://mikro-orm.io/docs/custom-types/

Sorry, I didn't know about the dateStrings option, and propably is exactly what I need. Thank you again for all your work!


Presenter and Presenter Factory; Closes #14

A rough prototype of a presenter and presenter factory classes that allow the
angular web application to inject a rendering class into each message recieved
via the transport. This allows for custom renderings.

LGTM, need to evaluate pull request #23
merging


Chapter overview layout issue for mobile view

Fixes #127
Fixed the layout for chapter page for mobile view.
ScreenShot

tACK


Factor level visualization(Missingness Report)

Currently the categories of factors in the report are presented as uninformative numbers, we are working on outputting the categories as what they represent.

Factor variables which are incorporated into the report now have labels describing what each level of the factor means. Factor variables in the future will be incorporated with labels from the get go.


Does keras support distributed computing?

Hi,
I have huge amount of training data (around 52Gb). I can't load it onto memory as numpy array to pass it to keras models.
So, I used spark to create an rdd. I am not sure how to pass the rdd's to keras?
What is the best approach to send that huge amount of data to keras models on local machine of 32Gb RAM?

There are various things you could do. Maybe the simplest would be to use third-party implementations of support for Keras on Spark.
E.g. dist-keras or elephas.
In general, if you want to feed a Keras model with a large amount of data you should be using fit_generator with a Python generator (or Keras Sequence instance). In your case, you'd need to figure out how to get your generator or sequence to pull data from remote sources.

@fchollet Thanks.
I don't find any good example that helps in creating a keras sequence instance and passing to keras models.
If the participants knows, please share it.
Thanks.

Thanks, I figured out it.
class KSequence(Sequence):
def init(self, **args):

def len(self, **args):

def getItem(self, **args):

def on_epoch_end(self, **args):


findmeta: maybe accept a default instead of error

https://github.com/MichaelHatherly/Docile.jl/blob/master/src/Cache/interface.jl#L68
I thought maybe findmeta should accept a default instead of throwing an error.
findmeta(m::Module, obj, field::Symbol, default = :notfound)

The other thing is I though key would be a better name instead of field as it searches the dictionary doesn't it? and the actual function uses key
function findmeta(cache::GlobalCache, m::Module, obj, key::Symbol)

A default would make it also more in line with what I had in mind for Lexicon: getconfig
function getconfig(n::Node, key::Symbol, default = :notfound)

just a though

Yes, I've been thinking about doing that. I'll sort it out later today if I have time.

7cdc941e09cdbf6d306181aa2e54de25c67b3688 makes findmeta return a Nullable{T} object that can then be unwrapped. This makes it a bit more type stable hopefully. It also puts the resposibilty of the caller to check they've got a value back.

I guess than getconfig should do the same?
Eventhough I do not really understand the whole purpose - I can try it based on your implementation.
Or should I better keep the default:  getconfig

Eventhough I do not really understand the whole purpose

The default value is the linked code is :notfound, a Symbol. If the value returned from the config is not a Symbol then the method is not type stable.

I guess than getconfig should do the same?

If you'd like to, yes. Might work out nicely.

Seems your documentation is not clear after the change: https://github.com/MichaelHatherly/Docile.jl/blob/master/src/Cache/interface.jl#L67
you still refer ti field even there is no argument with that name

Oh, thanks! Would be a nice feature for metamacros, a !!arg(field) that checks whether you actually have an argument called field and splices in "``field``" into its place.

Would be a nice feature for metamacros, a !!arg(field) that checks whether you actually have an argument called field and splices in "field" into its place.

maybe - the question would be what does it do if no field is found ?
Still think a 2 pass run for meta syntax might make sense.

Seems one needs additional converts for the Nullable
MethodError: `convert` has no method matching convert(::Type{Nullable{UTF8String}}, ::ASCIIString)
This may have arisen from a call to the constructor Nullable{UTF8String}(...),

No problem just wanted to let you know.

Seems one needs additional converts for the Nullable

Is this an error coming from the Docile codebase? Or just the behaviour of Nullable in general?

It was in Lexicon when I did something like: findconfig(n, :title, UTF8String) but I had forgotten that the title is only later converted to UTF8String so at the point of the call it was a ASCIIString.
I changed it to: ``findconfig(n, :title, AbstractString)` and it runs fine. But maybe something to look out - on the otherhand I guess this is the whole purpose of type stability isn't it ;)

We could put in a convert call perhaps. I'll look at that later this evening.

1ea0a71f4a2ded1ccda0b5716a09050175a8e93e adds a convert call to findmeta.


Curation Status Checkmark

Suggesting a checkmark added to sources for a source completely curated status. Exposed to Editors, can be checked and also unchecked by them if needed (if the data model expands, a paper may become no longer fully curated)

Should anyone be able to see this, but only editors change it?


corrected some grammatical errors

Description
There are some grammatical errors in the CONTRIBUTING.md file and had an extra line in the first terminal command to clone
the forked repo in your local machine. This PR corrects all of them.
Type of change
Modifying documentation
Checklist:

[x] My code follows the style guidelines of this project

[x] I have performed a self-review of my own code

[ ] I have commented on my code, particularly in hard-to-understand areas

[x] I have made corresponding changes to the documentation

[x] My changes generate no new warnings

[ ] I have npm run format before committing

[ ] I replicated the UI with the Design

ScreenShots (if any)

Can I know why you closed it?


Optimize series key parsing on startup

Required for all non-trivial PRs

[x] Rebased/mergable
[x] Tests pass
[x] CHANGELOG.md updated

This optimizes the ParseKey func to help speed up startup times for shards with many keys or very long keys. This should help #6250 in some cases.  ParseKey is called for every key when reloading the WAL and TSM file indexes.  The main change is avoiding calling the unescape funcs for tag keys and values which always returned a new string even if there was nothing escaped.  We also quickly scan the key to see if we might need to unescape anything and skip all of those calls if we don't need to.  The remaining allocation time is creating the tags map.  The tags map is really just a temporary holder to allow the tags to be indexed.  We could rework this further to avoid that map altogether and parse the key directly into the index structures.
benchmark               old ns/op     new ns/op     delta
BenchmarkParseKey-8     5621          2050          -63.53%

benchmark               old allocs     new allocs     delta
BenchmarkParseKey-8     25             24             -4.00%

benchmark               old bytes     new bytes     delta
BenchmarkParseKey-8     1318          1030          -21.85%

LGTM :+1:

We just moved our server (~2T of InfluxDB data) to the nightly from last night (with this in it) vs the nightly from the 23rd May. The startup time goes from over an hour to just over 10 minutes. The system load during the startup is roughly doubled (though there are still boat loads of CPUs doing nothing). The output of "perf top" shows totally different limiting factors.
Major CPU users now:
   7.37%  influxd                       [.] runtime.scanobject
   6.02%  influxd                       [.] runtime.heapBitsForObject
   5.57%  [kernel]                      [k] _raw_spin_lock
   5.51%  influxd                       [.] runtime.greyobject
   4.72%  influxd                       [.] sync.(*RWMutex).Lock
   4.55%  influxd                       [.] runtime.mallocgc
   4.14%  influxd                       [.] runtime.heapBitsSweepSpan
   3.78%  influxd                       [.] runtime.mapassign1
   3.37%  influxd                       [.] type..hash.[8]github.com/influxdata/influxdb/monitor/diagnostics.Client

This is a huge win. The next win is to just do more of startup in different goroutines, but thats a totally different kettle of fish.
Thank you!!


bump pnpm action-setup

Description
pnpm action-setup is failing, solution is to upgrade to v4.0.0
https://github.com/pnpm/action-setup/issues/135
Checklist

[ ] For UI or styling changes, I have added a screenshot or gif showing before & after
[ ] I have added a changeset
[ ] I have added to the docs where applicable
[ ] I have added to the VS Code extension where applicable

These tests will never pass, as the tests use pull-request-target, which means the existing tests run, not the ones in this branch


Fix workload would be created and deleted indefinitely

In https://github.com/kubernetes-sigs/kueue/pull/317, we will default workload resource requests to limits if requests not specified. But this will introduce a bug as in job controller reconciling, job will be judged as not equal to workload, so workload will be deleted and re-create indefinitely

What type of PR is this?
/kind bug

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes https://github.com/kubernetes-sigs/kueue/issues/590
Special notes for your reviewer:

cc @alculquicondor

/assign

/lgtm
/approve
/label tide/merge-method-squash

Instead, can we focus on the library?

Instead, can we focus on the library?

Yes, I was just thinking it makes sense to get rid of the issue as it is now fresh in our minds, and the fix should be just a couple of lines, but I agree with the priorities.

Let me rebase this one until https://github.com/kubernetes-sigs/kueue/pull/616 got merged.

Rebased.

@kerthcet wdyt about https://github.com/kubernetes-sigs/kueue/pull/600#issuecomment-1462272626?
I wonder if we should hold for this PR given that it would change significantly.

/close
superseded by https://github.com/kubernetes-sigs/kueue/pull/600


Ability to deploy multiple hosts/containers at once with the same configuration

Version v0.14.2
Similar to #369 and #279, it'd be nice if we could just deploy a specific number of hosts at once with the same configuration. Resolving the other issues, might eliminate this enhancement, but as a user if you are creating more than 1 additional host/container of same config, it might be annoying.

For host, the slider in the UI allows for multiple hosts to be created at once. Or you can clone a host.
For containers, multiple containers would be a service.

You can also clone containers and services.


grpc_performance_pull_requests a bloodbath

Between 9096 and 9124 only 9102 and 9112 passed. What's up?
9122 shows failures that could not possibly have arisen from the underlying change.

#9587 is tracking the current issue. It's a P0 issue that is being worked on.


Rebuild Mac app

Before this patch, our app consisted of basically two processes, the launcher, and the BEAM. Importantly, the GUI was running in the latter one, which seem to go against the grain of building Mac apps. For example, the native function to report the .app bundle path (Bundle.main.bundlePath in Swift) returns the wrong one which then caused many bugs in wxErlang and wxWidgets.
In this patch we're introducing a new way of bundling apps. We're building OTP ourselves (including its dependencies, at the moment just openssl) and statically linking it to the launcher program which then starts the VM.
Speaking of building OTP ourselves, in this patch we're cross-compiling it on both architectures. Since we can now create universal build locally (e.g. in public GitHub runners) we don't need a separate ARM Mac in the cloud anymore.
Before this patch we wanted to avoid any "runtime" in the bundler code Now we're taking the opposite approach, we're exposing functions that help building the app on both the native and Elixir side and communicate back and forth. (The communication now happens inside the same OS process and thus is much more efficient.) To mark the occasion we're renaming AppBundler to ElixirKit. Here are the APIs:
On the Swift side:
ElixirKit.start()
ElixirKit.startAsync()
ElixirKit.publish(name, data)
ElixirKit.publisher(name)
ElixirKit.subscribe(name, queue:, block:)

and on Elixir side:
ElixirKit.publish(name, data)
ElixirKit.subscribe(name)

See elixirkit/demo for a sample project that uses ElixirKit.
Here are relevant files for Livebook:

livebook_app.ex
launcher.swift

Previously we tried abstracting away all the app configuration, for example we were automatically generating an Info.plist. That approach worked pretty well but was obviously limiting. Now, we're asking users to bring their own Info.plist.eex (with access to @release) which gives them full flexibility. We're also adding a :resources configuration option to easily copy assets to the app bundle.
On the flip side, previously when the VM crashed we were able to catch that and show an error dialog. Now we can't because when the VM crashes, that's it. In the future, we could introduce a separate supervisor program that monitors the VM and acts accordingly. At the moment, we changed Livebook.Config.abort! to send a message to the frontend to display an error dialog and then quit.
Similarly, we now cannot simply redirect stdout/stderr to a log file. I think we should configure a logger file backend and change IO.puts to Logger.* calls.
At the moment we're not cross-compiling wxWidgets and thus our OTP doesn't not have the wx app and it's dependencies: debugger, observer, cdv, et. We don't include jinterface and odbc.
This PR does not address Windows side of things yet.

THIS IS HUGE!!!

Similarly, we now cannot simply redirect stdout/stderr to a log file. I think we should configure a logger file backend and change IO.puts to Logger.* calls.

Sounds good!

We're also adding a :resources configuration option to easily copy assets to the app bundle.

Could we use overlays instead?

The bundler could detect files copied using overlays and manually move them to appropriate place but not sure if that's a good idea. Is it? Any other ideas?

The other idea I have is to automatically check for rel/resources and automatically copy them to Contents/Resources/ but on second thought we should hold on doing anything filesystem based until we support Windows because odds are that it will require a completely different filesystem structure which makes the overlay system moot.

cool, let's wait.

Closing in favour of #1641


[Feature] Add new methods of authentification

In a current version of plugin we can access to endpoint using an apiToken.
It would be great to can use other authentication methods like Basic Authentication, OAuth2, etc.

Hi @IhorPatychenko Take a look at our new AuthLink, you can use it as an example to setup your own basic auth link.


 Bootstrap may take a few minutes; please be patient.

Downloading and installing packages into local source directory:

  Setting up CIPD package manager...done (4.7s)
  Setting up Python environment.....Traceback (most recent call last):
  File "/home/ubuntu/share32/connectedhomeip/third_party/pigweed/repo/pw_env_setup/py/pw_env_setup/env_setup.py", line 715, in <module>
    sys.exit(main())
  File "/home/ubuntu/share32/connectedhomeip/third_party/pigweed/repo/pw_env_setup/py/pw_env_setup/env_setup.py", line 707, in main
    return EnvSetup(**vars(parse())).setup()
  File "/home/ubuntu/share32/connectedhomeip/third_party/pigweed/repo/pw_env_setup/py/pw_env_setup/env_setup.py", line 419, in setup
    result = step(spin)
  File "/home/ubuntu/share32/connectedhomeip/third_party/pigweed/repo/pw_env_setup/py/pw_env_setup/env_setup.py", line 538, in virtualenv
    if not virtualenv_setup.install(
  File "/home/ubuntu/share32/connectedhomeip/third_party/pigweed/repo/pw_env_setup/py/pw_env_setup/virtualenv_setup/install.py", line 301, in install
    install_packages(gn_target)
  File "/home/ubuntu/share32/connectedhomeip/third_party/pigweed/repo/pw_env_setup/py/pw_env_setup/virtualenv_setup/install.py", line 269, in install_packages
    subprocess.check_call(gn_cmd,
  File "/usr/lib/python3.8/subprocess.py", line 359, in check_call
    retcode = call(*popenargs, **kwargs)
  File "/usr/lib/python3.8/subprocess.py", line 340, in call
    with Popen(*popenargs, **kwargs) as p:
  File "/usr/lib/python3.8/subprocess.py", line 858, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.8/subprocess.py", line 1704, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'gn'
ubuntu@ubuntu:~/share32/connectedhomeip$

@nanobert Have you followed all the pre-reqs from here?
https://github.com/project-chip/connectedhomeip/blob/master/docs/guides/BUILDING.md
Looks like gn isn't dropping in for some reason from CIPD?

I followed the setup, but note: I used a 32bit image.
There is no gn available for the target and it needed be be compiled from scratch.
After this, the next issue appeared; pigweed. I installed pigweed from pip.
Then protobuf woudn't install and I stopped

Had the same issue, changed to PI OS Lite 64bit then it worked

I have the same issue, and I need to use 32 bit system. Have you solved the problem?


Support MongoDBStore

This PR adds MongoDB as an option for storing sessions.
closes #4

Wonderful! Thank you for this.

It looks like we'll want to run cargo +nightly fmt to pass CI.

We're getting closer--it looks like the integration tests might not be passing.

Yeah, I'm investigating why it does not work, it's been 1hr but still no progress

Does it work for you locally?
I'm not too familiar with Mongo unfortunately, but I wonder if there could be some difference between the container's version of Mongo and a local version.

Unfortunately, it doesn't work locally. My guess is that Deserializing Object from MongoDB to Rust SessionRecord maybe the cause

My guess is that Deserializing Object from MongoDB to Rust SessionRecord maybe the cause

I'm not sure exactly how you're testing, but if you're using the HandleErrorLayer, you can bind BoxError to something like err and dbg!(err) to get a better idea of what's failing.

Tests passed on local


Fix URLs for GTL buttons

JavaScript code for toolbars will prepend correct controller name and append record id
when constructing the button's url.
Same instance of this problem has been fixed in pull request #7649 (for a different controller).

Hmm, the question is how did my changes to the toolbar building cause the issue. I don't get how it could have worked before this fix.

Could your changes have caused ManageIQ.controller to become set by any chance?

I doubt it. I just changed strings to symbols and turned enabled into bool. Yet @mzazrivec reported that my changes caused this breakage.
I don't get how this could have worked before. The code to add controller name to the toolbar button generated URLs was written by @skateman months ago.

@mzazrivec : looks good. Please, rename the method now that we know what it is actually doing.
Thx!

@martinpovolny Renamed url_for_save_button() -> url_for_button().


$route.meta.parentPath

Version
v1.4.0
Reproduction link
https://nuxtjs.org/guide/routing/
Steps to reproduce
make a nested routes
What is expected ?
to retun a parent path
What is actually happening?
nothing

This bug report is available on Nuxt community (#c7379)

Try: this.$router.currentRoute.matched.parent or this.$router.currentRoute.meta
Meta is optional. Did you configure it correctly?


[Material] [V2] [UnoApplicationTemplate] CalendarDatePicker foreground and Background color cannot be changed

Current behavior

on V1
on V2

Expected behavior

It should respect the configured values for the foreground and Background
How to reproduce it (as minimally and precisely as possible)

Migrate the Uno Material V2 on the UnoApplicationTemplate
PR with Migration: https://github.com/nventive/UnoApplicationTemplate/pull/290
Environment

Nuget Package:
Uno.Material.WinUI
Package Version(s):
2.2.0
Affected platform(s):

[x] iOS
[x] Android
[ ] WebAssembly
[x] UWP
[ ] MacOS

Anything else we need to know?

Related issue on a different control: https://github.com/unoplatform/Uno.Themes/issues/823

v2.2.0 is 9months old
can you check if the issue is still present in the recent versions?

stable: 2.5.3
latest: 2.6.0-dev.14

updated to both versions and issue still there, how ever i took the chance to keep the app on latest stable version(2.5.3)
@Xiaoy312

@Arieldelossantos can you check if this issue is still relevant please ?

@agneszitte I updated to the latest stable and my WinUI app is now crashing when opening the page containing that control.

Package
Previous
Current

Uno.Material.WinUI
2.5.3
3.0.40

Uno.Toolkit.WinUI.Material
2.5.8
4.2.22

I'm guessing there are breaking changes.
Where can I find the release notes and breaking changes for those versions?
This is the error:
Error HRESULT E_FAIL has been returned from a call to a COM component.
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|20_0(Int32 hr)
   at WinRT.ExceptionHelpers.ThrowExceptionForHR(Int32 hr)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverridesMethods.MeasureOverride(IObjectReference _obj, Size availableSize)
   at Microsoft.UI.Xaml.FrameworkElement.MeasureOverride(Size availableSize)
   at Microsoft.UI.Xaml.FrameworkElement.Microsoft.UI.Xaml.IFrameworkElementOverrides.MeasureOverride(Size availableSize)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverrides.Do_Abi_MeasureOverride_0(IntPtr thisPtr, Size availableSize, Size* result)
--- End of stack trace from previous location ---
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|20_0(Int32 hr)
   at WinRT.ExceptionHelpers.ThrowExceptionForHR(Int32 hr)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverridesMethods.MeasureOverride(IObjectReference _obj, Size availableSize)
   at Microsoft.UI.Xaml.FrameworkElement.MeasureOverride(Size availableSize)
   at Microsoft.UI.Xaml.FrameworkElement.Microsoft.UI.Xaml.IFrameworkElementOverrides.MeasureOverride(Size availableSize)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverrides.Do_Abi_MeasureOverride_0(IntPtr thisPtr, Size availableSize, Size* result)

Ok so my crash was due to a CheckBox and is unrelated to CalendarDatePicker.
The CalendarDatePicker issue is still happening. Setting Background and Foreground don't have any effect. Setting CornerRadius also doesn't seem to work.

The new default values seem to be the ones we want in this case though, so it's not as bad as before.
However, the original issue is still valid.


TextStyle cannot be customized

textstyle is by default set to white, and it cant be changed

Noted! I will update it as soon as possible. Thanks for this suggestion.

God bless . this is a beautiful plugin.
i hope to one day connect and also a contributor

Thanks buddy.


[PE] DLL export enumeration?

File::symbols() and File::dynamic_symbols() seem to be empty. Is this not supported yet?

No it's not supported yet. symbols should return the COFF symbols, but I think there aren't normally any when using the MSVC toolchain. Adding better import/export support is issue #182.


Asset pipeline

There.  I think its both the most hated and most powerful feature of Rails, so we should tread carefully here. I heard from multiple people that the absence of sprockets and ability to use something else is one of the reasons they really enjoy Padrino.
So, I'd personally prefer an approach similar to what we did before:
padrino gen project my_project --pipeline $my_favourite_asset_pipeline

Why do we need some kind of asset pipeline? In short:

setting up LESS/SCSS, uglify and all the rest every time you start a project is a waste of time and frustrating
it solves a very real problem with multiple apps that gets only harder with #1007: apps may want a different set of javascripts/css etc. compiled together while still reusing some parts of other packages.
properly done, they can also act as a test harness.

In our proper fashion, implementing one API and then trying to shoehorn another component in is not a way to go, so I went ahead and picked up some projects that can qualify as an "asset pipeline":

sprockets: the classic, as used in rails. A bit unwieldy to configure, but it has a track record. Written in Ruby.
rake-pipeline with rake-pipeline-web-filters: used by e.g. ember.js. Much simpler, basically a set of filters that transform directory trees. Written in Ruby.
grunt with bower: A task set to compile and manage assets, especially js libraries. A huge advantage is the integration in bower for library management. Written in Javascript.
sinatra-assetpack: Easy to integrate, dependencies differ from whats used. Written in Ruby.

There is a very good article about implementing the first two into sinatra and their respective benefits here. AFAIK, @dariocravero has been working on a grunt integration.
There are, in my opinion, multiple things that are crucial to a successful implementation:

the adoption of a default source file organization that works with all three options
a generic interface for the most default options (compile...)
a way for padrino to provide flexible path management, e.g. loading assets from gems. This should mostly be a problem with Grunt.

Another problem, in my opinion, is ease of development. Considering how much pain therubyracer, therubyrhino and other things have given me (as a developer and as someone that has to assist developers, especially on windows), I'd vastly prefer to take the high road and require node.js to be installed for all options for the first implementation. Its also a much better environment to actually get started with JS testing. This might be added setup effort for every developer, but provides a lot of smooth sailing from there on, especially as it ensures that you don't accidentally load a javascript runtime in you development system :). @ujifgc wouldn't want that.
So much for the general writeup. Any comments?
P.S.: I had a look at a few packaging engines using python. But 3 runtime systems would have been a bit inconvenient...

You can get Asset pipline (with sprockets) in your Padrino app without any additional gems. I described steps which you need to do here. I hope it will help you.

@dnesteryuk Nice!


No need to call raise_for_status in get_config_and_id_from_registry

query_registry already calls requests.Response.raise_for_status. So, no
need to call it again in get_config_and_id_from_registry.
Signed-off-by: Chenxiong Qi<EMAIL_ADDRESS>Maintainers will complete the following section

[ ] Commit messages are descriptive enough
[ ] Code coverage from testing does not decrease and new code is covered
[ ] JSON/YAML configuration changes are updated in the relevant schema
[ ] Changes to metadata also update the documentation for the metadata
[ ] Pull request has a link to an osbs-docs PR for user documentation updates
[ ] New feature can be disabled from a configuration file

/packit copr-build

Rebased on master. All CI jobs pass now.

/packit copr-build

No release notes, removal of dead code


Add backup procedure when running in Azure

If you are provisioning VM in Azure, there is enabled Auto shutdown. But in case of shutdown, you loose complete deployment. It will be great to have scripts to "backup" deployment from D: drive to another persistent drive

IMHO you can simply copy MSLab folder to C: drive. Once you resume machine, just copy content back. But you would like to have it as shutdown script?

Or we can add extra data drive and provision MSLab there? There are some VM sizes without temp disks anyway (e. g. Dv4). But that would increase cost.

Extra drive is slow (unfortunately). Often happens, that VMs refuse to domain join.


add ability to provide custom a AssetIo implementation

It works by allowing you to add a factory function as a resource before adding the default plugins. The factory function is given access to the AppBuilder instance so that it can look for any configuration it might require.

It's already possible to use a custom AssetPlugin, wrapping your own AssetIo!
For example, here is how I use a custom AssetIo that keeps everything in memory:
    builder
        .add_plugins_with(DefaultPlugins, |group| {
            return group
                .disable::<bevy::asset::AssetPlugin>()
                .add_after::<bevy::asset::AssetPlugin, _>(asset_io::InMemoryAssetPlugin);
        });

@mockersf thanks, that makes sense.
I think their may still be some value in allowing the default asset plugin to run. Replacing the whole AssetPlugin requires copying other parts of the AssetServer's initialization,  which if those details change, could then break a custom plugin that only cares about swapping out the AssetIo instance.

It is possible to get the existing AssetIo resource, wrap it and then insert own replacing the default one.
This is what https://github.com/emosenkis/bevy_prototype_inline_assets/blob/main/src/lib.rs#L123 does.

@smokku This still has the problem of copying potentially changing initialization code of the AssetServer just to override the AssetIo instance. In this example some of the initialization was skipped. Was that intentional?
From what I see, the AssetIo trait cleanly encapsulates the ability to load from an alternate files system abstraction. Needing to have knowledge of the implementation details of the rest of the infrastructure breaks that encapsulation somewhat.
One thing I am missing with my proposed approach is to export ability to construct the platform default AssetIo. This would allow the InlineAssetIo in your example to work correctly. I think making platform_default_asset_io_factory public would be enough.

I think the factory approach in this pr works, but maybe its too much machinery for what we get?
Is there a reason to not do something like this:
struct AssetIoOverride(Box<dyn AssetIo>);

That enables any plugin to override the defaults (or override overrides that came before) using arbitrary criteria (ex: platform, configuration, etc)

I started down that road at one point, but it would require taking ownership of the AssetIo instance from resource. That would mean that the AssetPlugin would have to remove the AssetIoOverride resource from the world in order to consume it. I don't see any reason why it wouldn't work, but it seems to go against the purpose of resources.
It made me think that it might be nice for there to be a separate channel for initialization data that is not needed once the world is up and running. I don't know how something like that would be structured though. I suppose it could just be a set of resources that only lives until the AppBuilder is run. On the other hand, maybe its fine to remove a resource once its purpose has been fulfilled.

I looked at taking the AssetIoOverride from the world but it is not currently possible. Is there a reason not to have some API to remove a resource from the world?

Alternatively it could be:
struct AssetIoOverride(Option<Box<dyn AssetIo>>)

But this feels wrong to me.

Alternatively: why not just let plugins insert their own AssetServer instance? AssetPlugin could just check to see if it exists before trying to create the default instance.
That keeps the api small and seems like it accomplishes the desired outcomes.

how about, in bevy::asset:
pub fn create_default_asset_io (settings: &AssetServerSettings);
pub fn build_asset_server_with_io (app: &mut AppBuilder, asset_io: Box<dyn AssetIo>);

and bevy::asset::AssetPlugin is just a thin wrapper over these two functions
then in user code:
builder.add_plugins_with(DefaultPlugins, |group| {
    group.disable::<bevy::asset::AssetPlugin>()
});
bevy::asset::build_asset_server_with_io (Box::new(CutomAssetIo));

This way the engine still handles all of the initialization, keeping user code from needing to know how to do it. And there is very little machinery, just two extra methods available.

I still think inserting a custom AssetServer feels like the simpler solution. No new interfaces, just a single existence check in AssetPlugin. I think people understand constructors pretty well.

That is certainly the most bang for our buck. I was just trying keep the lookup of the IO task pool out of user code, but it's not much of a savings.
I will update the PR to go with this approach.

I rework this PR to use the suggested approach and added an example to demonstrate the correct way to use it.

Looks good to me. Thanks!


Annotation file details for AV Diarization and Social Interactions

Hi,
I wonder if it's possible to provide an explanation for each field in the annotation files? Some particular problems I encountered while reading the annotation file includes:

What's the relationship between clip_uid, source_clip_uid, and video_uid? It seems like that clip_uid refers to canonical clip while video_uid refers to canonical video, but what about source_clip_uid? Similarly, what's the relationship between (video_start_sec, clip_start_sec), (frame, video_frame, clip_frame, start_frame), etc.?

Following the previous question, does this means that canonical videos are a concatenation of multiple canonical clip, and if so, how to determine which clips are concatenated together and their boundaries in canonical videos?

What does the following filed means?

videos/clips/valid
videos/clips/persons/tracking_paths/unmapped_frames
videos/clips/persons/tracking_paths/suspect
videos/clips/social_segments_talking/target

Regarding the person_id, it seems like the ids are zero-based where 0 indicating the camera wearer. However, the benchmark challenge description indicates that the camera wearer should have id -1, and -1 also appears in social_segments. Is it possible to clarify the meaning of person_id?

We'll get those updated on the docs.  source_clip_uid is effectively internal only - you won't need that.  video_ and clip_ fields respectively refer to canonical videos and clips as you mention.
The canonical videos are the primary videos.  Clips were constructed for various annotation tasks and are not necessarily (almost certainly) a full representation of the video, though particularly for narrations the coverage would be high.  Read more on the docs
valid is an indication internal checks all passed.  unmapped_frames and suspect treat as internal. target is the target that the person is interacting with.  (We'll update the annotations for that as well.
Agreed, that's a little confusing.  0 there is indeed the camera wearer.  -1 is correct in the social segments and indicates there isn't a target, which is effectively the same thing here.  (Please reach out to the specific repo for further questions there, or the forum.  Apologies on the delay here!


Update search box

This sends keyword searches from the homepage to the all content finder
and also sets the order to relevance.
We're going to talk about whether setting the relevance order makes more sense in finder-frontend, but it might prove clunky, so we'll do it here first.

Closing this as going via the redirect allows us to hit the search page /search if you search without a query.
I'll revert https://github.com/alphagov/static/pull/1692 so that it behaves the same as this again.  We'll have to plan in future work if we want to avoid the redirect because we'll still want the search boxes to navigate differently with different inputs, so not doing it now is the easiest option.


Use non-root user in Sonobuoy docker images

Follow up from #254.
We currently run Sonobuoy as root within our images. I'm not aware of anything within Sonobuoy requiring root permissions so we can probably change this to use a non-root user.
The initial Dockerfile for the project had a commented out USER directive  which the user and group nobody. We should determine whether root is necessary, and if not change to a non-root user.
Ideally we should have some integration tests available (from #668) before making this change.

Closing this for now; doing some grooming on the issue list in general and closing things if either:

they weren't been reported by the community
don't have a genuine need to get done

The reason for this is that we tended to use the issue list as a backlog of very minor or wish-list type items which we wish to clear out for now.


Update contribute/generate-ref-docs/quickstart.md

Update content/en/docs/contribute/generate-ref-docs/quickstart.md

Add a line export GO111MODULE=auto
(since if GO111MODULE=on, the ./update-imported-docs.py will fail.)
Related issue: https://github.com/kubernetes-sigs/reference-docs/issues/217

~Update imported docs~
~(How-to: https://kubernetes.io/docs/contribute/generate-ref-docs/quickstart/)~

~FYI: Imported docs are quite outdated.~
~For example: website/content/en/docs/reference/setup-tools/kubeadm/generated/ last updated on 4 Dec 2020~

~Somehow related with the PR #26979~

Hi @jihoon-seo .
Would you include only the change to the script in this PR?
Are you planning to build the reference documentation as part of the 1.21 release?

Holding for review
/hold

Hi @kbhawkey . Thank you for your comment.

I ran the script with providing K8s version as 1.20 to build the reference documentation from the source codes of K8s release 1.20.

Like this: ./update-imported-docs.py reference.yml 1.20
(FYI: Providing K8s version as 1.20.5 instead of 1.20 gives the same result)

If this PR is merged to kubernetes/website:master,
the reference documentation changes will affect the pages in https://kubernetes.io,
which is serving the docs for K8s v1.20 now.

I am not sure whether I should continue to include only the change to the script in this PR or not.
Please let me know.
Thanks!

👋 @jihoon-seo .
Are you building the reference docs for 1.21? The reference docs do not need to be rebuilt for 1.20?
Is there a release candidate available for v1.21?

Hi @kbhawkey . Thank you for your comment again.

Are you building the reference docs for 1.21?

=> No, I was not building the reference docs for 1.21.
I was building the reference docs for 1.20.

Is there a release candidate available for v1.21?

=> AFAIK, there isn't.

The reference docs do not need to be rebuilt for 1.20

=> Okay I got it.
I modified this PR to include only the change to the contribute/generate-ref-docs/quickstart.md.
Please take a look.
Thanks!

👋 @jihoon-seo .
I plan to close this pull request. At this point, the Quick Start page does not reflect the current reference docs generation.
I suggest to fully update the page or possibly log an issue.
Feel free to reopen this PR.
/close


Problem accounting for different status bar + notch sizes across different phones

Hi! First of all, thank you for such an amazing library! It works perfectly when I am not dealing with any appbars or status bars (when I am designing for full screen). However, when I finally need to take into account status bar + app bar, the library behaves unpredictably.
For example, for a design blueprint (iPhone X on Figma) screen size of (375, 812), I have a Column of components as follows:

Status bar + notch --> 44.h from original blueprint (but variable for each phone)
Appbar (preferred size) --> 44.h
Box --> 96.h
Another box --> 628.h
Total = 44 + 44 + 96 + 628 = 812

Now for my Pixel 3 emulator, setting status bar + notch to 14.h does the trick. However for other phones this does not work. I am not quite sure how to account for the differing status bar + notch heights. I am also not sure how to make use of ScreenUtil().statusBarHeight, as I have tried somehow including it in the equation but can't seem to make it work. Can you please assist me on this? Do let me know if you need more info. Thanks! (Apologies for my lack of understanding on how to use your library if ever)

现在， 最新版本初始化已经改成单位为dp了，不过因为影响较大可以依然使用px，只是不确定版本有没有对像素密度做处理。
以下内容基于最新版：
另外，获取状态栏高度的方法，拿到的值单位是pd，获取屏幕的高度单位也为dp，如果不确定当前使用的版本的行为，可以查看对应方法的注释。
另外，官方有获取状态栏高度以及屏幕高度的方法:
    MediaQuery.of(context).padding.top

 MediaQuery.of(context).size.height

Thank you for the swift reply. I've actually discovered a formula for calculating the proper height of the app bar given different status bar sizes.
a' = app bar height in code (in dp)
a = app bar height in blueprint (in dp)
s' = status bar height in code (in dp), retrievable by ScreenUtil().statusBarHeight
s = status bar height in bueprint (in dp)
Magic formula is --> a' + s' = (a + s).h
So I used a' = (a + s).h - s' to get the proper app bar height that changes based on status bar of any phone and maintains the total number of pixels in the height. In code, this is how it looks:
appBar: PreferredSize(
        preferredSize: Size(375.w, (88.h - ScreenUtil().statusBarHeight))
// 88.h is the combined height of app bar and status bar in the iPhone X blueprint (44.h + 44.h)

Just sharing this in case it might be helpful to everyone. Also not sure whether you @lizhuoyuan intended this magic formula but it's there and it works like a charm. Again, thank you for your great work on the library!


ClassMetadata.descriptor's ptr is sometimes nil

Not sure what other information I need to provide, but just ask! I'm trying to inspect Swift classes in third party apps.

In this instance it seems to be happening when you have a class defined in Swift, and then at runtime it is subclassed, and that subclass is what has the issue.
It's probably not an "issue" but it is something I'm not sure how to handle yet

I have updated my own fork with a fix; lmk if it's one you want to merge. I made SignedPointer have ! an implicitly unwrapped pointer, and I made ClassMetadata.descriptor optional and forcefully unwrapped it in your tests. Might add a test for "artificial subclasses" if you do want this merged