[WIP] add Request.retry

I'm just opening this early sketch to see if there is interest in adding a Request.retry method. I'm aware of segmentio/superagent-retry, but it relies on some hacky behaviour to reset state between attempts, and doesn't seem to work with newer versions of superagent. There would seem to be quite a bit of resetting necessary to make this work properly for errors, timeouts, and aborts, so I think it might be better done as a core method rather than a plugin.
In any case, I'd be happy to work on adding this if there is interest.
Progress:

[x] Node: retry for errors
[x] Node: retry for timeouts
[x] Browser: retry for errors
[x] Browser: retry for timeouts
[x] Node: retry with redirects
[x] refactor end() into 2 phases for "lightweight" retry?

I think that would be a useful addition.
As you've noted, superagent has a quite a bit of internal state. Do you have a plan how to deal with that nicely?

"Nicely" will definitely be the challenge ;)
I don't yet have a full picture, but it looks like callback() would be the best place to trigger a reset (_aborted, timedout, called, _endCalled, etc) and re-execution of end(). I think the real challenge will be dealing with the event handlers for the internal req instance. On timeout, for instance, after abort() is called and an err passed to callback, if we reset _aborted, the error handler here will not return early and we'd end up with a double callback.

I suspect it may be necessary to change .end() and split it into 2 phases: things done once only (e..g append query string), and things done to launch the request (the latter call being repeated when retrying).

Ok, thanks. I'll start with some tests and start poking around.

@pornel I think things are looking pretty good so far. I just have a couple questions if you have time to look things over:

do you have any suggestions on how to avoid this mess when resetting _timeout or _responseTimeout after they have been cleared in clearTimeout?
is it necessary to reset headers here?

I've so far avoided touching end(). I can see how it would be more efficient to avoid initial parsing on each retry, but I'm a little hesitant to mess with anything in there if it's not absolutely necessary.

Answering your questions:

If you split and reuse part of end() that sets these timeouts, you won't need it

Doesn't seem needed. Does it break any tests?

I'd use retries, but attempts is fine too.

I'm a little hesitant to mess with anything in there if it's not absolutely necessary.

I could try to do that refactoring first if you want

I've split end() into public/private methods as you suggested. Seems to work fine. I'm not sure if there is anything else I've forgotten, but the browser tests are still failing.
I've added an (pseudo) unique id to the requests to work around the parallelisation problem you raised, but there still seems to be something wrong with the tests that require different responses from the same endpoint.

Thank you.
The failures were only due to short timeouts in the test.

That's great! Thanks for your help and patience


refactor: use ngrx store for user tags

This PR implement the root store with a user-tags part.
PR fixes #1014 #1140 #1143 #1142
Additionally fixed bugs:

There was a bug with agreement dialog during VM creation, because of the using deprecated functionality of angular - fixed.
If you enable autosave password for VMs and create new VM that does not have a password then you will have a VM password tag = undefined. Now if VM does not have a password a tag will not create.

Additional improvements:

Added error notification if the passwords do not match in the password change form. The error appears only when both fields are filled.
Added a dialog asking confirmation about password update (in the same way when you want to generate API keys).
Added a dialog notification if API keys regeneration produces an error.
Added a snackbar notification (currently for user-tags only) that notify when there was an error about data loading. This snackbar has a refresh button that refreshes the whole app. (see screenshot below)

Additional info:

There is a bug that when you open the VM creation agreement dialog scrolls this dialog to the end.
Update: test was fixed

Is it a good decision to separate a settings effects and settings view model selectors to the settings module or it will be better to place inside user-tags store effects and selectors?

I fix the tests for IDLE Monitor functionality.

Rewritten partially store for tags. Added actions for each system tag. Inspired by this video.
The configuration of the application has been rewritten. The system has an internal configuration file that merges with the user configuration file. Now the system does not have the conf.json file by default. In another PR, conf-example.json will be added.
For the following configuration parameters, validation exists:

defaultDomain - check for a string
sessionRefreshInterval - check for a number and a non-negative value
defaultFirstDayOfWeek - on a number from 0 to 1
defaultInterfaceLanguage - valid parameters 'en', 'ru'
defaultTimeFormat - valid parameters for 'hour12', 'hour24', 'auto'
defaultThemeName - valid parameters 'blue-red', 'indigo-pink'
sessionTimeout - check for a number and a non-negative value

The system displays a warning about an incorrect configuration in the console when:

if the parameter specified in the config does not exist
if the parameter has an invalid value (only for parameters with validation)
if the config is not a json object

run tests


[MHLO] unfuse batch norm ops with shape dialect, and split inference …

…and training pattern

lowering with shape dialect. The original lowering pattern is not a Progressive Lowering. As the shape dialect is more mature in MLIR, I think lowering dynamic shape pattern with shape dialect is more suitable.
split inference and training pattern for flexible integration. The original patterns have both mhlo.batch_norm_inference and mhlo.batch_norm_training lowering pattern. Sometimes we want to only lower one of them, so I split these pattern.

@joker-eph Could you please review this PR? Thanks.

Hi @qingyunqu Can you please resolve conflicts? Thank you!

Can you update the description with more context? Why this change?

Can you update the description with more context? Why this change?

Done

@jpienaar Could you please review this PR? Thanks.

Seems an internal failure here, I'll check

Seems an internal failure here, I'll check

Thanks!


tf.SparseTensor to tf.sparse.SparseTensor

Afaik, tf.SparseTensor is currently just an alias for tf.sparse.SparseTensor. But since the later might get removed in the future, suggest replacing usage with the more consistent alias.

Please resolve conflicts

Please resolve conflicts

Conflicts have been resolved.

Can you fix the sanity build please? It's a pylint error

@mihaimaruseac sorry, there are files with pylint warnings that I am not sure how to fix. Should I close this PR and reopen another PR to make sure only revised files without pylint errors occur? Please forgive me that I'm still new to the whole process.

 The pylint errors you mentioned are all fixed. Somehow I have more pylint warnings in my vscode, there must be some settings incorrect in my environment.

We also have a few warnings whitelisted, so ignore those


[IBCDPE-955] Bumps tower version to 23.4.3

This PR bumps the tower_version to the new baseline for the major change. Seqera's changelog lists v23.4.0 as the latest version but it is actually v23.4.3.

🤞🏻


Document CUDA drivers and native node modules setup, extraction, and integration in this vscode extension

Add notes from preliminary discussion with Paul Taylor (@trxcllnt) about their work on CUDA compute libs and apis for loading data via native nodejs libraries, and map out how they will be integrated in this vscode extension via platform specific extension packaging and publishing mechanisms: https://code.visualstudio.com/api/working-with-extensions/publishing-extension#platformspecific-extensions
See CUDA node rapidsai repo for more info for now: https://github.com/rapidsai/node

Closing this since docs on rapidsai node modules and interfaces has been refined enough in their repo for our integration with their APIs later.


Comment changes

Display a user's name when viewing their comment.

name is not an attribute of user, fullname is

"This comment was deleted" functionality

Unseen comments functionality

If a user has unseen comments on a page, the number of unseen comments will show up in the side nav bar. Else, it won't show anything

Make sure comment.author doesn't save as 'You' in the schemaData

@samchrisinger comments addressed

@samchrisinger ready for another pass


Display joined missions in My profile view

Hi @Kidd254
🎏 In this implementation, I:
✅ Create the JoinedMissions component to render the list of Joined Missions that the user has. In this component, I use the useSelector hook to get the data from the missions state.
✅ Import  the JoinedMissions components inside the MyProfile view component to display the list of Joined Missions on the page
✅ Add the CSS styles to improve the design of the MyProfile page
✅ Update the responsive styles of the application
✅ Update the README.md file to keep the documentation updated with the latest and future implementations
⭐To the code reviewer 👨💻
💝 I really thank 🙇♂ you, dear code reviewer 👨🎨 for dedicating your precious 🥇 time ⌚ to check the PR 🧾 .
I kindly ask 🙏 dear code reviewer 🤵 that if there is any kind of issue 🦯 in this project, please do list 📃 them in a descriptive 💡 manner and give your best suggestions 🎁 if needed.
If you think there are some big issues that are essential to be changed ♻ please kindly contact 📞 me through Zoom or Slack, I am available on Microverse UTC-6 time zone.

@Kidd254 Thanks for reviewing the code.


GPU memory requirements

Hi and thanks again for this cool project.
Could you provide some insight on the GPU memory requirements for training the different configurations of the online SpatialNet (MHSA vs. Retention vs. Mamba and 4-s vs. 32-s utterances)? I am currently facing GPU out-of-memory errors on a A100 40GB GPU when using Retention, 4-s utterances and a batch size of 4 utterances. My sampling rate is 16 kHz as opposed to 8 kHz in your paper but I doubled the STFT window and hop lengths so the dimensionality along the time axis should be the same.

Sorry, I forgot the memory usage. But, you can use --trainer.accumulate_grad_batches to reduce the memory usage without reducing the batch size.

I am trying to port the model to a different codebase that does not run Lightning so I cannot use that option.
Can you just maybe share what GPU model you used to run the experiments and more specifically how big it was? Was a batch size of 4 chosen because you where hitting the GPU memory limit or could you increase it?
Also can you confirm you are not using half-precision?

I am trying to port the model to a different codebase that does not run Lightning so I cannot use that option.

You can directly set --trainer.accumulate_grad_batches in lightning.

Can you just maybe share what GPU model you used to run the experiments and more specifically how big it was?

Information can be found in our papers.

Was a batch size of 4 chosen because you where hitting the GPU memory limit or could you increase it?

It's not. Batch size of 4 is chosen for the balance between training speed and convergence speed in terms of epoch.

Also can you confirm you are not using half-precision?

Half-precision and full-precision are both used in our paper. For the comparison with other methods, we generally use full-precision; for ablation experiments, we use half-precision. Full-precision generally produces better results.

You can directly set --trainer.accumulate_grad_batches in lightning.

As I tried to explain I cannot use Lightning so this is unfortunately not an option for me.

Information can be found in our papers.

This information is not in the SpatialNet and online SpatialNet papers.
For future readers, I managed to train the model at 16 kHz with the following settings:

STFT frame length: 512
STFT hop length: 256
Utterance length: 4-s
Batch size: 4
Half-precision
Retention

The reported GPU memory usage is ~30GB. One epoch takes ~20 min on a dataset of 1500 batches (~6 h 40 m).


Assessment template v0.9.0

Hi Pramod - Please review. Final push to the main branch will have after all internal deliberations.

Since this is the first release, merged to main branch and additional edits can be made there directly.


Remove support for Safari 13

Only to be done after the May 2022 release’s code freeze. Follow-up to #8051 – after raising this with @wagtail/ui, we agreed we’d be ok to remove support for Safari 13 a bit earlier than our policy normally mandates, as part of the August 2022 release. For this release, our target Safari support will be versions 14.1 (latest "14" release) and 15.1 (TBC). We’ll thus be able to:

[x] Remove all right and left CSS property definitions which are preceded with // Remove once we drop support for Safari 13. comments (or // Remove once we drop support for Safari 14., looks like I made a few typos).
[x] Same for right and left transitions in stylesheets
[x] For any remaining right / left inset properties and their transitions – switch to inset-inline-start / inset-inline-end without a fallback.
[ ] #8520

Moved the other parts to a new issue - dropping Safari 14 support https://github.com/wagtail/wagtail/issues/8520


feat: remove lndhub integration before service sunsets in april

Describe the changes you have made in this PR
The LNDHUB service is scheduled to sunset in April. As a result, this commit removes the LNDHUB integration from the payment processing module to ensure continued functionality of the app. This change is necessary to avoid any disruptions to the app's performance.
Link this PR to an issue [optional]
Fixes Issue #2194
Type of change
(Remove other not matching type)

feat!: Breaking change (fix or feature that would cause existing functionality to not work as expected)

Screenshots of the changes [optional]
Add screenshots to make your changes easier to understand. You can also add a video here.
How has this been tested?
i made multiple tests after the removal of lndhub and bluewallet and everything worked perfectly
Checklist

[x] My code follows the style guidelines of this project and performed a self-review of my own code
[x] New and existing tests pass locally with my changes
[x] I checked if I need to make corresponding changes to the documentation (and made those changes if needed)

Sunset has been moved to end of May:
https://twitter.com/bluewalletio/status/1652969929287630848

I think it's now time to get this in and delete the BlueWallet logo from the screens.
The lndhub connector will still be needed.
@0xZaddyy do you mind rebasing this one?

Closing due to inactivity in favor of #2875.


Unexpected end of input; expected '[', '{', or a literal

I'm annoyed I couldn't find a way to fix this myself becaise I feel like I am missing something obvious.
Put simply I am getting this error:
terminate called after throwing an instance of 'nlohmann::detail::parse_error'
  what():  [json.exception.parse_error.101] parse error at line 1, column 1: syntax error while parsing value - unexpected end of input; expected '[', '{', or a literal
Aborted (core dumped)

I am trying to parse an ifstream into a json object, and have tried many ways including:
std::string s = "built_in_langs/greek.json";
std::ifstream i(s);
json j = json::parse(i);

but also inlining the string, doing json j; i >> j;, and probably some other combinations of the same thing.
I'm on WSL using Ubuntu 18.04.3 LTS with g++7.4 (I want to get that high for various other reasons... but CMake isn't playing ball) and a host of Windows 10.
All variations of the above code snippet have worked perfectrly when I run on Windows with MSVC 19.25.28614.0... But Linux just doesn't??
I also tried an absolute path, didn't seem to help. I was able to read in the file fine on Linux with an ifstream, but json still threw this error.
I checked the file itself too. It most certainly does start with {, otherwise Windows would have cried too. The line endings are UNIX and there is no hidden BOM at the top. For the sake of completeness here is what it looks like:
{
    "keywords": {
        "and": "και",
        "for $$0 in $$1": "για $$0 στο $$1",
        "list": "λίστα",
        "as": "ως",
        "dict": "λεξ",
        "def $$0": "καθ $$0",
        "import $$0": "εισαγωγή $$0"
    },
    "customFunctions": {
        "print": "Τυπώνω",
        "array": "πίνακας",
        "random": "τυχαίος"
    }
}

Finally I pulled the project in to my work as a git submodule and am using PRIVATE nlohmann_json::nlohmann_json with all the recommended extras, like turning tests off.
Any help would be appreciated.

Can you double check that the file was successfully opened and that you could read its contents (e.g., by just printing it to cout)?

Thanks for the speedy reply. So:
std::string s = "built_in_langs/greek.json";
std::ifstream i(s);
std::cout << i.rdbuf();

Produces no output, while:
std::string s = "all/the/absolute/path/built_in_langs/greek.json";
std::ifstream i(s);
std::cout << i.rdbuf();

prints out perfectly. (And i must have not tested before for some reason, but with absolute path json::parse(i); works too).
As I say though, on windows it just works with rel paths, and for my application I think i'd really prefer them.

As I am writing this, I am also struggling with relative/absolute paths in a project ;-)
Good to know this works now.
Do you need further assistance?

If this is a known issue/not considered an issue then no, thanks a lot for the help once again.

It's not an issue of the library - it assumes a correctly opened stream to read from.

Hello!
Same problem. Can't understand why. I'm using the code of official doc.
`#include
#include <nlohmann/json.hpp>
using json = nlohmann::json;
// ...
std::ifstream f("example.json");
json data = json::parse(f);`

Most likely, example.json is not in your working directory.  Either use a fully qualified path instead of just "example.json", or make absolutely certain that you know what your working directory is when you start the program and that example.json is in that directory.  See https://github.com/nlohmann/json/issues/2066#issuecomment-619520131 for example.
Note that you can not both print the file contents and parse it without extra work in between, so just do one run to make sure that you're getting the file, and don't do any of the parsing, and then remove the extra code for verifying the output and do the parsing.

In my case the "problem" was the executable location, which is in project_root/cmake-build-debug, so if I have my json files in a json folder the relative path will be ../json/file.json (you have to move up the folder).
Special thanks to @jack23247

Hello to everyone
I have also this issue and i do not know how to handle it
my file is good when open with fstream but when i parse that to the json object
it says error :
" [json.exception.parse_error.101] parse error at line 1, column 1: syntax error while parsing value - unexpected end of input; expected '[', '{', or a literal"
this is my part of code
if (lg_AllAccounts.is_null())     {   cout<<"check null if ";         ifstream AllAccountsFILE("./AllAccountsFILE.json");         if (AllAccountsFILE.is_open())//AllAccountsFILE.good())         {   cout<<"check good if ";             cout<<"buffer : " <<AllAccountsFILE.rdbuf();             lg_AllAccounts = json::parse(AllAccountsFILE);             //AllAccountsFILE.close();         }     }
for my project i need your help
thsnks for reading

I had the same problem because i tried to parse the same .json file on two different objects:
std::string Dummy = "../settings/dummy.json";
std::ifstream DummyFile(Dummy, std::ifstream::binary);
json Jdid = json::parse(DummyFile); // Dummy Object
json Jdad = json::parse(DummyFile); // Dummy Object


Activity API - Direct Message Structure Fix

Addresses #802
updating to handle actual structure of direct message events for activity stream, twitter documentation is invalid and actual json received is different.  app data is not included for message sent events, but included for message received events

This has been verified and tested.
Thanks for the CR and reporting the bug :)


[bug] 300 scenario not working

Describe the bug
Attempted to run the 300 scenario in vnext branch and it would not plan
To Reproduce
[vscode@a8f4f57d9e9e caf]$ rover -lz /tf/caf/landingzones/caf_launchpad -launchpad -var-file /tf/caf/landingzones/caf_launchpad/scenario/300/configuration.tfvars -parallelism=30 -a plan

  /$$$$$$   /$$$$$$  /$$$$$$$$       /$$$$$$$
 /$$__  $$ /$$__  $$| $$_____/      | $$__  $$
| $$  \__/| $$  \ $$| $$            | $$  \ $$  /$$$$$$  /$$    /$$/$$$$$$   /$$$$$$
| $$      | $$$$$$$$| $$$$$         | $$$$$$$/ /$$__  $$|  $$  /$$/$$__  $$ /$$__  $$
| $$      | $$__  $$| $$__/         | $$__  $$| $$  \ $$ \  $$/$$/ $$$$$$$$| $$  \__/
| $$    $$| $$  | $$| $$            | $$  \ $$| $$  | $$  \  $$$/| $$_____/| $$
|  $$$$$$/| $$  | $$| $$            | $$  | $$|  $$$$$$/   \  $/ |  $$$$$$$| $$
 \______/ |__/  |__/|__/            |__/  |__/ \______/     \_/   \_______/|__/

              version: aztfmod/roveralpha:2009.180404

mode                          : 'launchpad'
terraform command output file : ''
tf_action                     : 'plan'
command and parameters        : '-var-file /tf/caf/landingzones/caf_launchpad/scenario/300/configuration.tfvars -parallelism=30'
level (current)               : 'level0'
environment                   : 'sandpit'
workspace                     : 'tfstate'
tfstate                       : 'caf_launchpad.tfstate'

@calling process_actions
@calling verify_azure_session
Checking existing Azure session
@calling verify_parameters
landingzone                   : '/tf/caf/landingzones/caf_launchpad'
@calling get_storage_id
No launchpad found.
Deploying from scratch the launchpad
@calling initialize_state
Installing launchpad from /tf/caf/landingzones/caf_launchpad
@calling_get_logged_user_object_id
 - logged in user objectId: 59547027-f863-4273-bfe4-11d352282a41<EMAIL_ADDRESS>Initializing state with user<EMAIL_ADDRESS>Upgrading modules...
Downloading aztfmod/caf-enterprise-scale/azurerm 0.3.8 for launchpad...
- launchpad in /home/vscode/.terraform.cache/modules/launchpad
- launchpad.aks_clusters in /home/vscode/.terraform.cache/modules/launchpad/modules/compute/aks
- launchpad.app_service_environments in /home/vscode/.terraform.cache/modules/launchpad/modules/webapps/ase
- launchpad.app_service_environments.diagnostics in /home/vscode/.terraform.cache/modules/launchpad/modules/diagnostics
- launchpad.app_service_plans in /home/vscode/.terraform.cache/modules/launchpad/modules/webapps/asp
- launchpad.app_services in /home/vscode/.terraform.cache/modules/launchpad/modules/webapps/appservice
- launchpad.application_gateways in /home/vscode/.terraform.cache/modules/launchpad/modules/networking/application_gateway
- launchpad.application_gateways.diagnostics in /home/vscode/.terraform.cache/modules/launchpad/modules/diagnostics
- launchpad.automations in /home/vscode/.terraform.cache/modules/launchpad/modules/automation
- launchpad.automations.diagnostics_automation in /home/vscode/.terraform.cache/modules/launchpad/modules/diagnostics
- launchpad.azuread_applications in /home/vscode/.terraform.cache/modules/launchpad/modules/azuread/applications
- launchpad.azuread_groups in /home/vscode/.terraform.cache/modules/launchpad/modules/azuread/groups
- launchpad.azuread_groups_members in /home/vscode/.terraform.cache/modules/launchpad/modules/azuread/groups_members
- launchpad.azuread_groups_members.group_keys in /home/vscode/.terraform.cache/modules/launchpad/modules/azuread/groups_members/member
- launchpad.azuread_groups_members.group_name in /home/vscode/.terraform.cache/modules/launchpad/modules/azuread/groups_members/member
- launchpad.azuread_groups_members.object_id in /home/vscode/.terraform.cache/modules/launchpad/modules/azuread/groups_members/member
- launchpad.azuread_groups_members.service_principals in /home/vscode/.terraform.cache/modules/launchpad/modules/azuread/groups_members/member
- launchpad.azuread_groups_members.user_principal_names in /home/vscode/.terraform.cache/modules/launchpad/modules/azuread/groups_members/member
- launchpad.azuread_roles_applications in /home/vscode/.terraform.cache/modules/launchpad/modules/azuread/roles
- launchpad.azuread_roles_msi in /home/vscode/.terraform.cache/modules/launchpad/modules/azuread/roles
- launchpad.azuread_users in /home/vscode/.terraform.cache/modules/launchpad/modules/azuread/users
- launchpad.azurerm_application_insights in /home/vscode/.terraform.cache/modules/launchpad/modules/app_insights
- launchpad.azurerm_firewall_application_rule_collections in /home/vscode/.terraform.cache/modules/launchpad/modules/networking/firewall_application_rule_collections
- launchpad.azurerm_firewall_nat_rule_collections in /home/vscode/.terraform.cache/modules/launchpad/modules/networking/firewall_nat_rule_collections
- launchpad.azurerm_firewall_network_rule_collections in /home/vscode/.terraform.cache/modules/launchpad/modules/networking/firewall_network_rule_collections
- launchpad.azurerm_firewalls in /home/vscode/.terraform.cache/modules/launchpad/modules/networking/firewall
- launchpad.azurerm_firewalls.diagnostics in /home/vscode/.terraform.cache/modules/launchpad/modules/diagnostics
- launchpad.bastion_host_diagnostics in /home/vscode/.terraform.cache/modules/launchpad/modules/diagnostics
- launchpad.container_registry in /home/vscode/.terraform.cache/modules/launchpad/modules/compute/container_registry
- launchpad.container_registry.diagnostics in /home/vscode/.terraform.cache/modules/launchpad/modules/diagnostics
- launchpad.container_registry.private_endpoint in /home/vscode/.terraform.cache/modules/launchpad/modules/networking/private_endpoint
- launchpad.custom_roles in /home/vscode/.terraform.cache/modules/launchpad/modules/roles/custom_roles
- launchpad.databricks_workspaces in /home/vscode/.terraform.cache/modules/launchpad/modules/analytics/databricks_workspace
- launchpad.diagnostic_storage_accounts in /home/vscode/.terraform.cache/modules/launchpad/modules/storage_account
- launchpad.diagnostic_storage_accounts.container in /home/vscode/.terraform.cache/modules/launchpad/modules/storage_account/container
- launchpad.diagnostic_storage_accounts.container.blob in /home/vscode/.terraform.cache/modules/launchpad/modules/storage_account/blob
- launchpad.diagnostic_storage_accounts.data_lake_filesystem in /home/vscode/.terraform.cache/modules/launchpad/modules/storage_account/data_lake_filesystem
- launchpad.diagnostic_storage_accounts.private_endpoint in /home/vscode/.terraform.cache/modules/launchpad/modules/networking/private_endpoint
- launchpad.keyvault_access_policies in /home/vscode/.terraform.cache/modules/launchpad/modules/security/keyvault_access_policies
- launchpad.keyvault_access_policies.azuread_apps in /home/vscode/.terraform.cache/modules/launchpad/modules/security/keyvault_access_policies/access_policy
- launchpad.keyvault_access_policies.azuread_group in /home/vscode/.terraform.cache/modules/launchpad/modules/security/keyvault_access_policies/access_policy
- launchpad.keyvault_access_policies.logged_in_aad_app in /home/vscode/.terraform.cache/modules/launchpad/modules/security/keyvault_access_policies/access_policy
- launchpad.keyvault_access_policies.logged_in_user in /home/vscode/.terraform.cache/modules/launchpad/modules/security/keyvault_access_policies/access_policy
- launchpad.keyvault_access_policies.managed_identity in /home/vscode/.terraform.cache/modules/launchpad/modules/security/keyvault_access_policies/access_policy
- launchpad.keyvault_access_policies.object_id in /home/vscode/.terraform.cache/modules/launchpad/modules/security/keyvault_access_policies/access_policy
- launchpad.keyvault_access_policies_azuread_apps in /home/vscode/.terraform.cache/modules/launchpad/modules/security/keyvault_access_policies
- launchpad.keyvault_access_policies_azuread_apps.azuread_apps in /home/vscode/.terraform.cache/modules/launchpad/modules/security/keyvault_access_policies/access_policy
- launchpad.keyvault_access_policies_azuread_apps.azuread_group in /home/vscode/.terraform.cache/modules/launchpad/modules/security/keyvault_access_policies/access_policy
- launchpad.keyvault_access_policies_azuread_apps.logged_in_aad_app in /home/vscode/.terraform.cache/modules/launchpad/modules/security/keyvault_access_policies/access_policy
- launchpad.keyvault_access_policies_azuread_apps.logged_in_user in /home/vscode/.terraform.cache/modules/launchpad/modules/security/keyvault_access_policies/access_policy
- launchpad.keyvault_access_policies_azuread_apps.managed_identity in /home/vscode/.terraform.cache/modules/launchpad/modules/security/keyvault_access_policies/access_policy
- launchpad.keyvault_access_policies_azuread_apps.object_id in /home/vscode/.terraform.cache/modules/launchpad/modules/security/keyvault_access_policies/access_policy
- launchpad.keyvaults in /home/vscode/.terraform.cache/modules/launchpad/modules/security/keyvault
- launchpad.keyvaults.diagnostics in /home/vscode/.terraform.cache/modules/launchpad/modules/diagnostics
- launchpad.keyvaults.initial_policy in /home/vscode/.terraform.cache/modules/launchpad/modules/security/keyvault_access_policies
- launchpad.keyvaults.initial_policy.azuread_apps in /home/vscode/.terraform.cache/modules/launchpad/modules/security/keyvault_access_policies/access_policy
- launchpad.keyvaults.initial_policy.azuread_group in /home/vscode/.terraform.cache/modules/launchpad/modules/security/keyvault_access_policies/access_policy
- launchpad.keyvaults.initial_policy.logged_in_aad_app in /home/vscode/.terraform.cache/modules/launchpad/modules/security/keyvault_access_policies/access_policy
- launchpad.keyvaults.initial_policy.logged_in_user in /home/vscode/.terraform.cache/modules/launchpad/modules/security/keyvault_access_policies/access_policy
- launchpad.keyvaults.initial_policy.managed_identity in /home/vscode/.terraform.cache/modules/launchpad/modules/security/keyvault_access_policies/access_policy
- launchpad.keyvaults.initial_policy.object_id in /home/vscode/.terraform.cache/modules/launchpad/modules/security/keyvault_access_policies/access_policy
- launchpad.log_analytics in /home/vscode/.terraform.cache/modules/launchpad/modules/log_analytics
- launchpad.log_analytics_diagnostics in /home/vscode/.terraform.cache/modules/launchpad/modules/diagnostics
- launchpad.machine_learning_workspaces in /home/vscode/.terraform.cache/modules/launchpad/modules/analytics/azure_machine_learning
- launchpad.managed_identities in /home/vscode/.terraform.cache/modules/launchpad/modules/security/managed_identity
- launchpad.mssql_databases in /home/vscode/.terraform.cache/modules/launchpad/modules/databases/mssql_database
- launchpad.mssql_servers in /home/vscode/.terraform.cache/modules/launchpad/modules/databases/mssql_server
- launchpad.mssql_servers.private_endpoint in /home/vscode/.terraform.cache/modules/launchpad/modules/networking/private_endpoint
- launchpad.networking in /home/vscode/.terraform.cache/modules/launchpad/modules/networking/virtual_network
- launchpad.networking.diagnostics in /home/vscode/.terraform.cache/modules/launchpad/modules/diagnostics
- launchpad.networking.nsg in /home/vscode/.terraform.cache/modules/launchpad/modules/networking/virtual_network/nsg
- launchpad.networking.nsg.diagnostics in /home/vscode/.terraform.cache/modules/launchpad/modules/diagnostics
- launchpad.networking.special_subnets in /home/vscode/.terraform.cache/modules/launchpad/modules/networking/virtual_network/subnet
- launchpad.networking.subnets in /home/vscode/.terraform.cache/modules/launchpad/modules/networking/virtual_network/subnet
- launchpad.private_dns in /home/vscode/.terraform.cache/modules/launchpad/modules/networking/private-dns
- launchpad.public_ip_addresses in /home/vscode/.terraform.cache/modules/launchpad/modules/networking/public_ip_addresses
- launchpad.public_ip_addresses.diagnostics in /home/vscode/.terraform.cache/modules/launchpad/modules/diagnostics
- launchpad.recovery_vaults in /home/vscode/.terraform.cache/modules/launchpad/modules/recovery_vault
- launchpad.recovery_vaults.diagnostics in /home/vscode/.terraform.cache/modules/launchpad/modules/diagnostics
- launchpad.redis_caches in /home/vscode/.terraform.cache/modules/launchpad/modules/redis_cache
- launchpad.resource_groups in /home/vscode/.terraform.cache/modules/launchpad/modules/resource_group
- launchpad.route_tables in /home/vscode/.terraform.cache/modules/launchpad/modules/networking/route_tables
- launchpad.routes in /home/vscode/.terraform.cache/modules/launchpad/modules/networking/routes
- launchpad.storage_accounts in /home/vscode/.terraform.cache/modules/launchpad/modules/storage_account
- launchpad.storage_accounts.container in /home/vscode/.terraform.cache/modules/launchpad/modules/storage_account/container
- launchpad.storage_accounts.container.blob in /home/vscode/.terraform.cache/modules/launchpad/modules/storage_account/blob
- launchpad.storage_accounts.data_lake_filesystem in /home/vscode/.terraform.cache/modules/launchpad/modules/storage_account/data_lake_filesystem
- launchpad.storage_accounts.private_endpoint in /home/vscode/.terraform.cache/modules/launchpad/modules/networking/private_endpoint
- launchpad.subscriptions in /home/vscode/.terraform.cache/modules/launchpad/modules/subscriptions
- launchpad.subscriptions.diagnostics in /home/vscode/.terraform.cache/modules/launchpad/modules/diagnostics
- launchpad.synapse_workspaces in /home/vscode/.terraform.cache/modules/launchpad/modules/analytics/synapse
- launchpad.virtual_machines in /home/vscode/.terraform.cache/modules/launchpad/modules/compute/virtual_machine
- launchpad.virtual_wans in /home/vscode/.terraform.cache/modules/launchpad/modules/networking/virtual_wan
- launchpad.virtual_wans.hubs in /home/vscode/.terraform.cache/modules/launchpad/modules/networking/virtual_wan/virtual_hub

Initializing the backend...

Initializing provider plugins...
- terraform.io/builtin/terraform is built in to Terraform
- Finding hashicorp/azuread versions matching "~> 1.0.0"...
- Finding hashicorp/random versions matching "~> 2.2.1"...
- Finding hashicorp/external versions matching "~> 1.2.0"...
- Finding hashicorp/null versions matching "~> 2.1.0"...
- Finding hashicorp/tls versions matching "~> 2.2.0"...
- Finding aztfmod/azurecaf versions matching "~> 1.1.0"...
- Finding hashicorp/azurerm versions matching "~> 2.28.0"...
- Using hashicorp/azuread v1.0.0 from the shared cache directory
- Using hashicorp/random v2.2.1 from the shared cache directory
- Using hashicorp/external v1.2.0 from the shared cache directory
- Using hashicorp/null v2.1.2 from the shared cache directory
- Using hashicorp/tls v2.2.0 from the shared cache directory
- Using aztfmod/azurecaf v1.1.1 from the shared cache directory
- Using hashicorp/azurerm v2.28.0 from the shared cache directory

Terraform has been successfully initialized!

You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.

If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.
Line 198 - Terraform init return code 0
calling plan
@calling plan
running terraform plan with -var-file /tf/caf/landingzones/caf_launchpad/scenario/300/configuration.tfvars -parallelism=30
 -TF_VAR_workspace: tfstate
 -state: /home/vscode/.terraform.cache/tfstates/level0/tfstate/caf_launchpad.tfstate
 -plan:  /home/vscode/.terraform.cache/tfstates/level0/tfstate/caf_launchpad.tfplan
/tf/caf/landingzones/caf_launchpad
Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but will not be
persisted to local or remote state storage.

data.azurerm_client_config.current: Refreshing state...
module.launchpad.data.azurerm_client_config.current: Refreshing state...
module.launchpad.data.azurerm_subscription.primary: Refreshing state...

Warning: Value for undeclared variable

The root module does not declare a variable named "azuread_app_roles" but a
value was found in file
"/tf/caf/landingzones/caf_launchpad/scenario/300/configuration.tfvars". To use
this value, add a "variable" block to the configuration.

Using a variables file to set an undeclared variable is deprecated and will
become an error in a future release. If you wish to provide certain "global"
settings to all configurations in your organization, use TF_VAR_...
environment variables to set these instead.

Terraform plan return code: 0
Terraform returned errors:

Error: Unsupported attribute

  on /home/vscode/.terraform.cache/modules/launchpad/modules/storage_account/private_endpoint.tf line 20, in data "terraform_remote_state" "vnets":
  20:     storage_account_name = var.tfstates[each.value.remote_tfstate.tfstate_key].storage_account_name
    |----------------
    | each.value is object with 5 attributes

This object does not have an attribute named "remote_tfstate".

Error: Unsupported attribute

  on /home/vscode/.terraform.cache/modules/launchpad/modules/storage_account/private_endpoint.tf line 21, in data "terraform_remote_state" "vnets":
  21:     container_name       = var.tfstates[each.value.remote_tfstate.tfstate_key].container_name
    |----------------
    | each.value is object with 5 attributes

This object does not have an attribute named "remote_tfstate".

Error: Unsupported attribute

  on /home/vscode/.terraform.cache/modules/launchpad/modules/storage_account/private_endpoint.tf line 22, in data "terraform_remote_state" "vnets":
  22:     resource_group_name  = var.tfstates[each.value.remote_tfstate.tfstate_key].resource_group_name
    |----------------
    | each.value is object with 5 attributes

This object does not have an attribute named "remote_tfstate".

Error: Unsupported attribute

  on /home/vscode/.terraform.cache/modules/launchpad/modules/storage_account/private_endpoint.tf line 23, in data "terraform_remote_state" "vnets":
  23:     key                  = var.tfstates[each.value.remote_tfstate.tfstate_key].key
    |----------------
    | each.value is object with 5 attributes

This object does not have an attribute named "remote_tfstate".

Error on or near line 450: Error running terraform plan; exiting with status 2000

@calling clean_up_variables
cleanup variables
clean_up backend_files

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Configuration (please complete the following information):

OS and version: [e.g. Windows 10 1909]
Version of the rover[e.g. 22]
Version of the landing zone[e.g. 11]

Additional context
Add any other context about the problem here.

hi @picardsrcd - scenario 300 is still undergoing refactoring so please bear with us on this one - please let us know what you like and dont like of level 200 so we can tweak it. Generally, the philosophy is that 300 will bring additional RBAC and restrictions from level 200 configuration as per:

level
scenario
supported environments

100
Start with this one! basic functionalities and features, no RBAC or security hardening - for demo and simple POC
working on AIRS subscriptions

200
intermediate functionalities includes diagnostics features
may not work in AIRS, need AAD permissions

300
advanced functionalities, includes RBAC features
not working in AIRS, need AAD permissions

400
advanced functionalities, includes RBAC features and security hardening
not working in AIRS, need AAD permissions

I have been pushing the 200 scenario and i now feel comfortable making the changes. It did require quite a bit of trial and error. Having a few how-to / example and explanations would help ramping up on the use. At a 1,000 lines of config, it is not for the faint of the heart.
In terms of feedback questions, thank you for asking. See below:

I see a mention of AIRS in the documentation. What does AIRS stand for?
The script https://github.com/Azure/caf-terraform-landingzones/tree/vnext/landingzones/caf_launchpad/scripts/grant_consent.sh is not called anywhere.  It seems to be run for the Enterprise Scale instead in a sub-module. I logged a related issue which you have now assigned someone to investigate :) (https://github.com/aztfmod/terraform-azurerm-caf/pull/62)
What is the intent of the multiple subnets per "level" ? https://github.com/Azure/caf-terraform-landingzones/blob/vnext/landingzones/caf_launchpad/scenario/200/configuration.tfvars#L1210,L1234
Similarly, how are the multiple MSI's used by AzDo? https://github.com/Azure/caf-terraform-landingzones/blob/vnext/landingzones/caf_launchpad/scenario/200/configuration.tfvars#L512,L535
The AzDo secrets, obviously we should not write them in the tfvars directly. Do you typically set them as TF_VAR_ env variables or just have an operator put the value in AKV after the deploy

^^ Happy to share a git gist privately to give you an idea of the configuration

hi @picardsrcd sure, we welcome your feedbacks/ideas!
on the questions you mention:

AIRS is microsoft internal subscription for field employees
the grant_consent.sh scripts is called to enable API access for a given Application, its used by level200 launchpad and also for AKS landing zone. thanks for your PR, we will test and update!
multiple subnets are defined per level in order to segregate VM with different privileges. Also since we can have more than one VM per level (typically you can have an availability set for the selfhosted agents) we have small subnet for each.
the MSI are used by the Azure DevOps selfhosted agents as authentication method do deploy the configuration. that is to avoid to create and manage SPN for the different levels
for the azdo secrets, nothing is stored in variables, everything to AKV. We use the Azure DevOps provider and use secrets to keyvault storage. rover retrieves them from AKV, and for user secrets (VM password or private keys, they are also stored in AKV).

Thanks for your feedback and reviews and contribution!
Arnaud

Last question, I also see mentions of credential rotation in the config and code. Is there a service deployed to manage this?

not currently


[BugFix] Fix version not found when transactional stream load and clone run concurrently

Why I'm doing:
There is a bug which will cause "version not found" error in BE:
Begin ingestion transaction on replicas (A, B, C)
Begin clone from A to A'
Clone finish, replicas become (A', B, C)
Load finish, and try to update replica (A', B, C) version and success,
but A' doesn't have new load data, so a query on A' will return "version not found"

We need a way to find out if this replica has new load data or not.
What I'm doing:
Using TabletCommitInfo to record if this replica has new load data, only the replica containing new load data can update the version. Also make TabletCommitInfo persistent so that after FE restart, this way can still work.
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.2
[x] 3.1
[x] 3.0
[ ] 2.5

Load finish, and try to update replica (A', B, C) version and success,

A' is on the same host or another host?


Add platform and update image name

Resolves #371

This PR shouldn't be merged until a single server docker image is being published and https://github.com/spring-cloud/spring-cloud-dataflow/issues/2627 is merged

merged changed and copied files into the PR for single server implementation of scdf server.


Expose url::ParseError as UrlParseError

This allows various Url parsing functions to be used in combination with
custom errors that need to know the type of the error returned.
I have taken the liberty to rename ParseError to UrlParseError to make it less ambiguous.

My personal feeling is that this is somewhat niche, and so for those who don't need it, it just clutters the API. For anyone who does need to inspect for this specific error, they can add the url crate as a dependency.


Profile page

Resolves #27

between 7e01b78 and 27b30e8 it seems inserting has stopped working. to look into / chat about tomorrow.

Inserting issue resolved  via most recent commit


Can't now dev on a fresh nodejs-micro project with port 3000 used

now init nodejs-micro .
now dev

> Now CLI 15.1.0 dev (beta) — https://zeit.co/feedback/dev
> Setting up 1 Builder
> Success! Builder setup complete
> NOTE: Requested port 3000 is already in use
> Ready! Available at http://localhost:3001
> GET /
events.js:183
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE :::3000
    at Object._errnoException (util.js:1022:11)
    at _exceptionWithHostPort (util.js:1044:20)
    at Server.setupListenHandle [as _listen2] (net.js:1367:14)
    at listenInCluster (net.js:1408:12)
    at Server.listen (net.js:1492:7)
    at Object.<anonymous> (/private/var/folders/r0/ppg8c9dx4lnfzd15406wr9rr0000gn/T/zeit-fun-82406800

Works well for nodejs
now init nodejs .
now dev

> Now CLI 15.1.0 dev (beta) — https://zeit.co/feedback/dev
> Setting up 1 Builder
> Success! Builder setup complete
> NOTE: Requested port 3000 is already in use
> Ready! Available at http://localhost:3001
> GET /

This is actually a problem with now-micro. Issue reported here


Some questions about the baseline accuracy in the paper

Firstly, thank very much for your contribution. Your paper gave me a lot of inspiration.
But I still have some questions. I ran the source code again in my environment, but I can't achieve the same accuracy especially in NTU_RGBD dataset. My environment is one GeForce RTX 2080 Ti, Python is 3.6.5, Pytorch is 1.2.0 and  I use python virtual environment instead of Anaconda.
Here is my experiment results:

Please🙏, your replay is very important to me.

Firstly, thank very much for your contribution. Your paper gave me a lot of inspiration.
But I still have some questions. I ran the source code again in my environment, but I can't achieve the same accuracy especially in NTU_RGBD dataset. My environment is one GeForce RTX 2080 Ti, Python is 3.6.5, Pytorch is 1.2.0 and I use python virtual environment instead of Anaconda.
Here is my experiment results:

Please🙏, your replay is very important to me.

hello, i have the same question as you, i checked all factor which may have effect on the final performance but still cannot get the results described in the article. but i also tested another earlier work,. i think we can communicate with each other. you can add my QQ(541968679) or my wechat(h541968679) if you don't mind. thank you very much!

👌

Firstly, thank very much for your contribution. Your paper gave me a lot of inspiration.
But I still have some questions. I ran the source code again in my environment, but I can't achieve the same accuracy especially in NTU_RGBD dataset. My environment is one GeForce RTX 2080 Ti, Python is 3.6.5, Pytorch is 1.2.0 and I use python virtual environment instead of Anaconda.
Here is my experiment results:

Please🙏, your replay is very important to me.

The version of cuda (9.2 or higher) is important.

Firstly, thank very much for your contribution. Your paper gave me a lot of inspiration.
But I still have some questions. I ran the source code again in my environment, but I can't achieve the same accuracy especially in NTU_RGBD dataset. My environment is one GeForce RTX 2080 Ti, Python is 3.6.5, Pytorch is 1.2.0 and I use python virtual environment instead of Anaconda.
Here is my experiment results:

Please🙏, your replay is very important to me.

The version of cuda (9.2 or higher) is important.

hello, i checked my cuda version and it is 10.2.89，but i still cannot get right result. Could you please share your environment config if you can reproduce the result in the paper?

The version of my cuda is 10.0, should I upgrade to 10.1?

Firstly, thank very much for your contribution. Your paper gave me a lot of inspiration.
But I still have some questions. I ran the source code again in my environment, but I can't achieve the same accuracy especially in NTU_RGBD dataset. My environment is one GeForce RTX 2080 Ti, Python is 3.6.5, Pytorch is 1.2.0 and I use python virtual environment instead of Anaconda.
Here is my experiment results:

Please🙏, your replay is very important to me.

The version of cuda (9.2 or higher) is important.

hello, i checked my cuda version and it is 10.2.89，but i still cannot get right result. Could you please share your environment config if you can reproduce the result in the paper?

I graduated one month ago.  Therefore, I can only provide you the environment config based on my memory. The version of Python is 3.6 (Anaconda), the version of Pytorch is 1.3, the version of cuda is 10.0.

Thank you very much for your replay! Recently I upgraded the Pytorch from 10.2 to 10.3. And Xsub can achieve the accuracy of 87.50% but the accuracy of Xview is still 94.221%😂. Next I will re-test it according to your environment and I hope to succeeded this time🙏.

Thank for your help! I upgrade my Pytorch version from 1.2 to 1.3 and it is really useful😄.

@SouGongngai  Do you mean that your Xsub can achieve the accuracy of 89.00% after upgrade the pytorch version form 1.2 to 1.3?

Yes, but you need to try a few more times.

@SouGongngai Thank you. But what is the meaning of "a few more times"? Do you mean more epoches? If I want to train more epoches, what should I do?  Will change the "max_epochs" in main.py works? It seems that I change the "max_epochs" in main.py  from 120 to 200, the training process still ended by 120.  What should I do? Thank you.

@SouGongngai  My fault. I can train more epoches now. But I cannot achieve the accuracy. How many epoches you train to achieve 89.00%?

You are welcome. My epoch is still 120. I mean it may be necessary to do more experiments, because there may be a fluctuation between the results of each time, which is about 0.3.

Thank you for your reply. But the random seed is fixed in main.py:
np.random.seed(1337)
So why the result is different for every try? Do you have any idea?

You are welcome. My epoch is still 120. I mean it may be necessary to do more experiments, because there may be a fluctuation between the results of each time, which is about 0.3.

So you mean we can reach a low limit of 88.5% for NTU60 CS every trail? I can only get 87%+.

You are welcome. My epoch is still 120. I mean it may be necessary to do more experiments, because there may be a fluctuation between the results of each time, which is about 0.3.

@SouGongngai  So you mean we can at least reach 88%+ for NTU60 CS for each trail? I can only get 87%+.

According to the environment given by the author, I retest the code.Slightly different, but small.

Firstly, thank very much for your contribution. Your paper gave me a lot of inspiration.
But I still have some questions. I ran the source code again in my environment, but I can't achieve the same accuracy especially in NTU_RGBD dataset. My environment is one GeForce RTX 2080 Ti, Python is 3.6.5, Pytorch is 1.2.0 and I use python virtual environment instead of Anaconda.
Here is my experiment results:

Please🙏, your replay is very important to me.

The version of cuda (9.2 or higher) is important.

hello, i checked my cuda version and it is 10.2.89，but i still cannot get right result. Could you please share your environment config if you can reproduce the result in the paper?

I graduated one month ago. Therefore, I can only provide you the environment config based on my memory. The version of Python is 3.6 (Anaconda), the version of Pytorch is 1.3, the version of cuda is 10.0.

According to the environment given by the author, I retest the code. Here are the results. Almost the same, except for the results of Xsub(NTU_RGBD_A60).

The pictures are not showed.

you can set:
torch.backends.cudnn.deterministic = True
torch.backends.cudnn.benchmark = False
and can got 88.750 for xsub

@SouGongngai
The authors only provide the codes to get the NTU60 data. But how to get the NTU120 data?  I will grateful if you teach me or could you please upload your codes? Thank you very much.

话说做这个领域的全都是中国人，你们还用什么英文嘛
我在下面的配置是可以还原出ntu60 xsub 89.0的结果：
python: 3.6.10(anaconda)
显卡：单个RTX2080
驱动：440.33.01
cuda: 10.2.89
cudnn: 765
此外还需要设置：
torch.backends.cudnn.deterministic = True
torch.backends.cudnn.benchmark = False

作者没有提供NTU120数据集的相关处理代码，但自己写起来也并不难，只需要从官网下载NTU120数据集然后与NTU60合并，接着重新生成statistics目录下的txt文件，最后运行数据处理代码即可，嫌麻烦可以找我要，微信在上面。
个人认为这篇文章还是非常具有研讨和跟进意义的，主要有以下几个点：

网络结构轻量化，这是最明显的一个点。但其实作者没有明说能让网络轻量化的关键点在哪，
我个人通过实验发现数据的预处理是最关键的点，作者将原始的不规则长度的样本通过下采样的统一采样为长度为20的样本，这在很大程度上降低了网络对时域感受野的要求，而时域感受野与参数量有直接关系，一个最明显的对比例子就是基于ST-GCN的那些工作，他们都采用了9层网络，并且统一将序列填补到300帧，但这篇文章证明GCN完全不用堆叠9层，只需要三层（甚至两层）也能达到相同的效果，不管是训练速度还是网络规模都远优于基于STGCN的工作（例如2S-AGCN，以及今年的其他几篇CVPR）。我个人认为这是这篇文章最重要的贡献。
2.第二个最重要的贡献是网络直接使用注意力机制对关节关系进行建模，实际上从这个层面来讲就与GCN无关了。
3.第三个才是网络提出的semantic编码，其实就是位置编码，并且用不用one-hot都无所谓。

对了他这种时序抽样的训练和测试模式其实也是有缺点的，在NTU120上的表现就明显不如2S-AGCN，当然也可能是网络体量的原因

Firstly, thank very much for your contribution. Your paper gave me a lot of inspiration.
But I still have some questions. I ran the source code again in my environment, but I can't achieve the same accuracy especially in NTU_RGBD dataset. My environment is one GeForce RTX 2080 Ti, Python is 3.6.5, Pytorch is 1.2.0 and I use python virtual environment instead of Anaconda. Here is my experiment results:
Please🙏, your replay is very important to me.

您好，请问您的代码中有’./data/ntu/NTU_CS.h5‘这个文件吗


Content page for fiat tip leads to incorrect path

we link to channelname:contentclaim_id: https://github.com/OdyseeTeam/odysee-frontend/blob/553a801bc3a6088439c55a44c5ba20576474aa83/ui/component/walletFiatPaymentHistory/view.jsx#L81
We don't have the content claim name, but we can eventually add in the backend.
If possible, on click it would claim search the source claim id and then navigate. If we have to do it for every entry before navigating, probably hold off.
Can't think of any other way without the claim name...

Seems to work properly now


Can DifferentiationInterface be useful for Turing?

Hi there!
@adrhill and I recently started https://github.com/gdalle/DifferentiationInterface.jl to provide a common interface for automatic differentiation in Julia. We're currently chatting with Lux.jl, Flux.jl and Optimization.jl to see how they can benefit from it, and so my mind went to Turing.jl as another AD power user :)
DifferentiationInterface.jl only guarantees support for functions of the type f(x) = y or f!(y, x) with standard numbers or arrays in and out. Within these restrictions, we are compatible with 13 different AD backends, including the cool kids like Enzyme.jl and even the hipsters like Tapir.jl. Do you think it could come in handy?
Ping @yebai @willtebbutt

Some issues that seem related to AD support (not sure they are all relevant here):

https://github.com/TuringLang/Turing.jl/issues/2186
https://github.com/TuringLang/Turing.jl/issues/2141
https://github.com/TuringLang/Turing.jl/issues/2000
https://github.com/TuringLang/Turing.jl/issues/1988
https://github.com/TuringLang/Turing.jl/issues/1835
https://github.com/TuringLang/Turing.jl/issues/1754
https://github.com/TuringLang/Turing.jl/issues/1481
https://github.com/TuringLang/Turing.jl/issues/1419

Looks great!
Is there a summary of how this is different from AbstractDifferentiation.jl somewhere?:)

I updated the summary in this issue: https://github.com/JuliaDiff/AbstractDifferentiation.jl/issues/131

Hi, I think DifferentiationInterface could be perfectly useful for AdvancedVI. However, for that, I think it would be useful to add an interface where auxiliary information can be passed to the target function. For example, like this. This should be very useful for any statistical application that uses minibatch subsampling.

Sounds reasonable, I have opened this issue to keep track:

https://github.com/gdalle/DifferentiationInterface.jl/issues/311

The PR above (https://github.com/tpapp/LogDensityProblemsAD.jl/pull/29) was closed, so we still aren't using DI.
https://github.com/TuringLang/Turing.jl/pull/2354 though will introduce a dependency on<EMAIL_ADDRESS>through OptimizationBase.

For the record I tried again with https://github.com/tpapp/LogDensityProblemsAD.jl/pull/39, now that DI has all the features necessary, but @tpapp said he wants to redesign his library first

If Turing maintainers need this I am happy to merge the above PR as is, and we can address those changes later.

Note that the PR mentioned above (https://github.com/tpapp/LogDensityProblemsAD.jl/pull/39) only implements the use of DI for backends that were not supported by LogDensityProblemsAD. It will be up to that package to gradually remove their existing extensions (if they want) and let DI take over for them.


boards: imxrt1060_evk_hyperflash: added hyperflash to board dts

This fixes the build issue with chosen zephyr,flash missing.
Fixes: #40021
Signed-off-by: Nicolai Glud<EMAIL_ADDRESS>

This is also an  issue for imxrt1050_evk_qspi. Want me to add that fix to this one or create a new PR?

This is also an  issue for imxrt1050_evk_qspi. Want me to add that fix to this one or create a new PR?

Just add it here if it is solving the same issue.


_train_variance_forward_seq

Hi @NGoetz,
First thanks for releasing your implementation. I tried to run the example in readme, but got the following error:
line 244, in _train_variance_forward_seq
    integ[i+1]+=torch.mean(fres)/n_minibatches
IndexError: index 11 is out of bounds for dimension 0 with size 11

Do you have any idea why? Does the  integ array stores the integral value after each training epoch? Thanks in advance.

Hi!
Thank you for your interest in my project. I forgot to update the readme after some changes. Basically, I added another option to define the starting epoch in case one wants to interrupt training. You have to add a zero after the 300 in order to not run into this issue.
Yes, integ stores the integral value calculated in each epoch in case one wants to use them, although this is discouraged for integrands with high variance due to the behaviour of the traing.
In the updated readme, I have also linked a Demo Jupyter notebook which explains the usage a tiny bit better, but feel free to ask me!
Additionally, you should know that this project here is not continued anymore. Instead, I work on a further developed project, based on the same algorithm and with more extensive functionalities: https://github.com/ndeutschmann/zunis

Hi @NGoetz ,
Thank you for your reply. I found the Jupyter notebook Demo quite helpful!
And I will take a look into the new projects. Thanks.


The region parameter of generateTexture seems to be ignored in 5.0.0-rc3

Hi, I've been generating previews from sections of my main renderer using generateTexture with the region parameter. This works in Pixi 4.8.7, but not in 5.0.0-rc3.
Example with 4.8.7: https://www.pixiplayground.com/#/edit/ac2myHBKVqT9xqzm5k2d7

Example with 5.0.0-rc3: https://www.pixiplayground.com/#/edit/xa1Hx9m9MbJqLiAzf1MmF

Clicking the "Crop" button should generate a cropped texture from a region in app.stage, create a sprite and render it onto a different renderer which we then get a PNG from using toDataURL on the view canvas. In 5.0.0-rc3 the region sent into generateTexture is just ignored it seems.
Code used to generate texture with the region parameter
var cropTexture = myRenderer.generateTexture(
    app.stage,
    PIXI.SCALE_MODES.LINEAR,
    1,
    new PIXI.Rectangle(x, y, w, h),
);

Then generateTexture in turn calls this.render, which takes in the region as a transform. Comparing the code for 4.8.7 and 5.0.0-rc3 I can see that handling of the transform sent into the render function has changed.
4.8.7; transform is used on the renderTexture
Renderer.prototype.render = function render (displayObject, renderTexture, clear, transform, skipUpdateTransform)
{
    ...
    this.bindRenderTexture(renderTexture, transform);
    ....
}

5.0.0-rc3; transform is still sent in, but not used at all
Renderer.prototype.render = function render (displayObject, renderTexture, clear, transform, skipUpdateTransform)
{
    ....
}

I don't have the insight into the inner workings of Pixi to say if this matters or not, but I thought I should mention it :)

Has something changed and I'm just doing it wrong, or is this a bug?
Is there some other/better way I should be creating thumbnails from sections of a renderer?

#5603 , fixed 4 days ago.
It works with latest dev, https://pixijs.download/dev/pixi.js


Feature/nginx migration

Description of the change
Migration to nginx from traefik.
Benefits

no custom CRDS
single cert no tls secrets needed
stable overall
more simple

Possible drawbacks
Nginx has no GUI?
Applicable issues

fixes https://github.com/axeII/home-ops/issues/592

🦙 MegaLinter status: ✅ SUCCESS

Descriptor
Linter
Files
Fixed
Errors
Elapsed time

See detailed report in MegaLinter reports
Set VALIDATE_ALL_CODEBASE: true in mega-linter.yml to validate all sources, not only the diff
MegaLinter is graciously provided by


Feature Request: Programmatically Create Incoming Webhooks for Specific Channels

Description:
I am developing a service/application that has the capability to create and delete channels, and add or remove members from these channels. One of the primary features of this service is enabling users to send messages, but I want to enforce strict channel permissions, such that users can only send messages within their own channels.
The chat.postMessage method in the Slack API does provide the capability to send messages, but it doesn't enforce channel-specific permissions - once the app has the scope to post messages, it can post in any channel. This makes it unsuitable for my use case, as I want to ensure users can only post messages in specific channels.
To solve this issue, I considered using incoming webhooks, each tied to a specific channel. This approach enforces the channel-specific permissions, as each webhook can only post in the channel it was created for. However, as far as I known, incoming webhooks can only be created manually. So is there a way to do it programmatically?
I look forward to a positive consideration of this feature request.
Category (place an x in each of the [ ])

[x] slack_sdk.web.WebClient (sync/async) (Web API client)
[x] slack_sdk.webhook.WebhookClient (sync/async) (Incoming Webhook, response_url sender)
[ ] slack_sdk.models (UI component builders)
[ ] slack_sdk.oauth (OAuth Flow Utilities)
[ ] slack_sdk.socket_mode (Socket Mode client)
[ ] slack_sdk.audit_logs (Audit Logs API client)
[ ] slack_sdk.scim (SCIM API client)
[ ] slack_sdk.rtm (RTM client)
[ ] slack_sdk.signature (Request Signature Verifier)

Hey @yuhao-postnl 👋 Incoming webhooks can be generated programmatically during the OAuth installation flow, but I am not certain that this matches your use case... Unfortunately there is no way to programmatically generate these for arbitrary channels and no immediate plans to support this.
As a workaround, I might suggest storing and validating a user's posting permissions before calling chat.postMessage.
You might also consider exploring a workflow-based approach which has a variety of built-in functions that might match the features you're using, as well as a way to create webhook triggers at runtime. This method would require using the Deno SDK instead of the Python SDK, but I am happy to explore this with you if you're curious!
I know this is inconvenient, but I hope these workarounds offer you a path forward! Please feel free to follow up with any other questions you might have!

Hey Ethan! Thank you for kindly reply!
Also,I have a couple of additional questions:

Regarding programmatically generating Incoming Webhooks during the OAuth installation flow: my current understanding of the process is that I need to initiate a POST request to receive the incoming webhook for a specific channel. This process might also require setting up a public-facing server and dealing with HTTPS, which I understand is related to the redirect URL.
In my use case, each channel necessitates a unique webhook to send messages, I believe the sequence of actions should be as follows: the creation of a channel, the execution of a POST request to 'https://slack.com/api/oauth.v2.access', and
the next step is to obtain the incoming webhook specifically created for that channel. Here's the Python code snippet showcasing my current approach: Here's the Python code for your reference:

import requests

response = requests.post(
    "https://slack.com/api/oauth.v2.access",
    data={
        "client_id": "your-client-id",
        "client_secret": "your-client-secret",
        "code": "the-temporary-oauth-code",
    },
)

data = response.json()

incoming_webhook_url = data.get("incoming_webhook", {}).get("url")

As a workaround, I might suggest storing and validating a user's posting permissions before calling chat.postMessage, does slack provide an api or a way to storing and validating a user's posting permissions or we need to do it by ourselves like create a database or yaml config file to store it?

Furthermore, I wonder why such a feature is not directly offered via the Slack API, such as through chat.postMessage, but instead requires user configuration via webhooks. Could there be any specific reasons, potential drawbacks, or disadvantages to this approach?

I really appreciate your patientice and support!

Of course! Love seeing interesting use cases like this! And also thank you for your patience 😌

You're right about needing a server to handle a response to the redirect URL after the OAuth request was granted! The sequence of actions looks good too, as long as the OAuth handshake begins after the channel has been created since there's an option to select a channel to post to (similar to this). However, a webhook might not be needed in this case...
Continuing with OAuth and collecting a user token seems like a good solution for enforcing that users can only post in channels that they're a member of. When using a user token, chat.postMessage will error with not_in_channel if the user hasn't joined the channel and channel_not_found for private channels that the user hasn't joined.
The following URL can be visited to gather an OAuth code with the proper scopes to post (but replacing your client ID):

https://slack.com/oauth/v2/authorize?user_scope=chat:write&client_id=1234567890

Your snippet could then be adjusted to extract the user token from the response of oauth.v2.access and used in subsequent requests! However, these tokens would need to be securely stored, which seems related to the next point:

These permissions (or tokens) would have to be stored with your app, preferably in a database if you're handling tokens.
Depending on the approach you take and how channel membership is handled, it might also be possible to make use of conversations.members to determine where a user can post, but a database feels slightly more sturdy in my opinion.

I raised the limitations around webhooks for internal consideration as I agree that this is a useful case, and it seems like this is an area that we haven't prioritized recently. As for chat.postMessage, I believe these methods are meant to remain simple and only do one thing, so with the correct scopes and permissions provided the method should execute successfully; it will be up to you (or any developer) to decide when these methods should be called.

I realize this strayed a bit from programmatically generating webhooks, but please let me know if using user tokens is a suitable solution for enforcing posting permissions! Also happy to continue exploring this as needed!

Thank you for the detailed explanation! I really appreciate it!

Hi Ethan! After some attempts on the solution you provided with OAuth, I find that the app has to worry about three steps to make OAuth work: Asking for scopes, waiting for a user to give the okay, and exchanging a temporary code for a full access token.
I've managed to handle the redirect part programmatically and get the user token in response, but I'm still struggling with automatically getting the user's approval for accessing their channel. Is there a way to programmatically simulate the "Allow" button click in Python or via an HTTP request? I would like to automate this process if possible.
Currently, the manual steps involve entering the redirect URL and clicking the "Allow" button to generate a token or webhook. I'm wondering if there's a way to replicate these actions in code.
Any help or guidance on this matter would be greatly appreciated! Thank you.

Of course! Love seeing interesting use cases like this! And also thank you for your patience 😌

You're right about needing a server to handle a response to the redirect URL after the OAuth request was granted! The sequence of actions looks good too, as long as the OAuth handshake begins after the channel has been created since there's an option to select a channel to post to (similar to this). However, a webhook might not be needed in this case...
Continuing with OAuth and collecting a user token seems like a good solution for enforcing that users can only post in channels that they're a member of. When using a user token, chat.postMessage will error with not_in_channel if the user hasn't joined the channel and channel_not_found for private channels that the user hasn't joined.
The following URL can be visited to gather an OAuth code with the proper scopes to post (but replacing your client ID):

https://slack.com/oauth/v2/authorize?user_scope=chat:write&client_id=1234567890

Your snippet could then be adjusted to extract the user token from the response of oauth.v2.access and used in subsequent requests! However, these tokens would need to be securely stored, which seems related to the next point:

These permissions (or tokens) would have to be stored with your app, preferably in a database if you're handling tokens.
Depending on the approach you take and how channel membership is handled, it might also be possible to make use of conversations.members to determine where a user can post, but a database feels slightly more sturdy in my opinion.
I raised the limitations around webhooks for internal consideration as I agree that this is a useful case, and it seems like this is an area that we haven't prioritized recently. As for chat.postMessage, I believe these methods are meant to remain simple and only do one thing, so with the correct scopes and permissions provided the method should execute successfully; it will be up to you (or any developer) to decide when these methods should be called.

I realize this strayed a bit from programmatically generating webhooks, but please let me know if using user tokens is a suitable solution for enforcing posting permissions! Also happy to continue exploring this as needed!


WIP: Import Remaining CSAF Examples / Notebooks

Summary

creates a new module, csaf_examples, to import remaining older CSAF examples
add CanSat example
add Dubins rejoin example

Closing as its superseded by a new PR


Tiles disappear before they go out of view

I think https://github.com/openseadragon/openseadragon/pull/987 may have introduced an issue where the tiles close to going out of the view are removed too early (only on master).
Here's an example with debugMode enabled:

As the image is panned left the ones on the edge vanish before they are actually out of view:

It also happens on the top edge as well (bottom and right seem OK). The distance grows as you move further from the top / left of the image where it's less noticeable.

Provide code to reproduce, please.

Use master.
Run grunt dev.
Goto http://localhost:8000/test/demo/iiif.html
Zoom in towards the bottom / right of the image.
Pan and look at the top - left edges as tiles are close to leaving the viewport.

That repro works for me... I see the bug. @VoidVolker have you been able to repro it?
I can also repro with the duomo image (the test pattern image is too shallow to repro with), by modifying the code of basic.html to:
        var duomo = {
            Image: {
                xmlns: "http://schemas.microsoft.com/deepzoom/2008",
                Url: "http://openseadragon.github.io/example-images/duomo/duomo_files/",
                Format: "jpg",
                Overlap: "2",
                TileSize: "256",
                Size: {
                    Width:  "13920",
                    Height: "10200"
                }
            }
        };

        var viewer = OpenSeadragon({
            debugMode: true,
            id: "contentDiv",
            prefixUrl: "../../build/openseadragon/images/",
            tileSources: duomo,
            showNavigator:true
        });

This should be fixed in master.

Confirmed


shallow_net_in_keras.ipynb

The dimension of the dataset has changed. You may want to update the notebook if you are still maintaining it. Just came upon this while going through the Safaribooks online course.

Thanks for this, @raokrutarth. It's greatly appreciated.
Because my installation instructions recommend using a Docker container, the libraries are fixed at the versions indicated in my Docker file and so this isn't an issue.
That said, I'm curious about this for future materials that I develop with newer libraries. Can you please describe the issue in more detail, e.g., in what dimension has the dataset changed?


VM size "Standard_DS2_v3" for Windows nodes?

I'm creating a Windows node pool, and I can't find the mentioned default size in any region:
Standard_DS2_v3
Is this is the correct size stated, or should it be Standard_DS3_v2?
If I try to deploy a Windows node pool with this size I see the following error:
The behavior of this command has been altered by the following extension: aks-preview
Deployment failed. Correlation ID: 34ba5b56-cf3b-4464-bebe-4b30817289a6. VMSSAgentPoolReconciler retry failed: deployment operations failed with error messages: {
"code": "InvalidParameter",
"message": "The requested VM size Standard_DS2_v3 is not available in the current region.

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

ID: 8c420b2c-e868-9a6a-49fb-913f2cd007ef
Version Independent ID: 5c543e08-7d75-21eb-9510-22e2cd56d16b
Content: Use multiple node pools in Azure Kubernetes Service (AKS) - Azure Kubernetes Service
Content Source: articles/aks/use-multiple-node-pools.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: mlearned

@AdamSharif-MSFT
Thanks for your feedback! We will investigate and update as appropriate.

The correct VM size is is D2s_V3 as mentioned in this doc: https://docs.microsoft.com/en-us/azure/aks/windows-container-cli#add-a-windows-server-node-pool
I have created a PR with the correction and changes will be live shortly.


Small edit of readme based on the latest issue

Hi, I have this reccommendations:
On the android Step 3, the first line is the name of the app package instead of the example app
So, this package your.appname.package instead of this package rekab.app.background_locator_example
On the Android Step 4:
is only necessary this line
<application         android:name=".LocationService"
instead of
<application         android:name="rekab.app.background_locator_example.LocationService"
Also, the example app, have the LocationService.kt named as Application.kt, and doen't have this line
FlutterMain.startInitialization(this) , I'm think that both need to be the same.

Thats a great catch ! If you find another problem let me know 😃


Implement node classification

Currently, the repo support binary graph-level classification. However, for tasks like hit clearning, node-level classification would be relevant.

@RasmusOrsoe one question here: GNNs generally have a number of message-passing layers and local node updates (using MLPs) followed by a global pooling operations (sum, max, avg) and a number of densely connected layers. This is true for the DynEdge class, for instance. However, if we want to use the same base GNN architecture (e.g. DynEdge) for node-level predictions we would need to drop the global pooling. I see two ways of doing this:

Either we subdivide the current GNN class into a message-passing component and a pooling component; then graph-level predictions will use both while node-level predictions will only use the former.
Implement separate GNN classes for each type of prediction, i.e. writing a separate DynEdge-like class but without the global pooling and subsequent layers.

There may also be other options. Of these two, I would probably vote for (1.) as (2.) involves essentially writing each GNN architecture twice. What do you think?

I'd prefer 2) as that means no changes to the sensitive code for the paper. Further down the road we could do something fancy like 1).
Rasmus

But the paper code is separate from this, right? This does not affect paper_branch. 🙂

I figure we can close this following #190, where approach (2.) above has been followed.


disable felling via config in favor of HT's Treechop

pls bossman

This is something HT's treechop needs to fix, their mod could have a block blacklist to prevent dynamic trees branches from interacting. Nothing we can do on our side.

okie dokie


Add/unify tags and engines to package metadata

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: sstone1:x: dselmanYou have signed the CLA already but the status is still pending? Let us recheck it.


split into two lessons: Organization and Literate Programming

At the September 2015 sprint we discussed splitting this lesson into two separate lessons: 1. language-agnostic Organization; and 2. Literate Programming (in R now, but could add python lesson later).

Starting work on this now.

This lesson is now split into two: rr-organization1 and rr-literate-programming. @tracykteal will remove unnecessary/redundant content from rr-organization1 and I will remove the content/restructure rr-literature-programming.

Done, closing.


Fix contour

add volume options
modified values bug
modified test

ref: https://github.com/heptio/contour/blob/master/docs/troubleshooting.md#envoy-container-not-listening-on-port-8080-or-8443

@cw-sakamoto

add volume options
Please tell me the use case to use.

ref: https://github.com/heptio/contour/blob/master/docs/grpc-tls-howto.md
Secrets for tls can be mounted when tls between Contour and Envoy.


Input.ChoiceSet accessibility issues

Platform

.NET WPF
UWP

Author or host
Author
Version of SDK
Latest master
Issue
ComboBox has a few accessibility issues.

No accessible name/label when focused (the issue with not using the Header property, or setting another external element as the label)
This seems to be due to input not having an affordance to specify a title/label. The "title" property seems to no-op.
Current selection text isn't read when focused.
Advanced navigation (CapsLock + Left/RightArrow) into the ComboBox read out a redundant element. Only the deepest element indicated the current selection.

Adaptive Card JSON Payload:
{
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "type": "AdaptiveCard",
    "version": "1.0",
    "body": [
        {
            "type": "TextBlock",
            "text": "This is intended as the ComboBox label"
        },
        {
            "type": "Input.ChoiceSet",
            "id": "myColor",
            "style": "compact",
            "title": "Is this not the label?",
            "value": "1",
            "choices": [
                {
                    "title": "Red",
                    "value": "1"
                },
                {
                    "title": "Green",
                    "value": "2"
                }
            ]
        }
    ]
}

@Paulcam206, FYI resurrecting this from the backlog as part of the Accessibility work.

This bug should be fixed in the latest release; please re-open if you find that is not the case. Thanks!


fix(utils): init ffmpeg once

Signed-off-by: pingkai<EMAIL_ADDRESS>

Codecov Report

Merging #88 into develop will increase coverage by 1.62%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop      #88      +/-   ##
===========================================
+ Coverage    66.02%   67.65%   +1.62%
===========================================
  Files          200      200
  Lines        10618    10618
===========================================
+ Hits          7011     7184     +173
+ Misses        3607     3434     -173

Impacted Files
Coverage Δ

framework/tests/dataSource/ipList.h
0% <0%> (-100%)
:arrow_down:

framework/tests/demuxer/demuxerUnitTest.cpp
0% <0%> (-100%)
:arrow_down:

framework/tests/decoder/decoderUnitTest.cpp
0% <0%> (-93.48%)
:arrow_down:

framework/tests/dataSource/dataSourceUnitTest.cpp
0% <0%> (-93.34%)
:arrow_down:

framework/tests/demuxer/demuxerUtils.cpp
0% <0%> (-76%)
:arrow_down:

framework/data_source/ffmpeg_data_source.cpp
9.37% <0%> (-65.63%)
:arrow_down:

framework/demuxer/AVBSF.cpp
25.27% <0%> (-40.66%)
:arrow_down:

framework/data_source/curl/CURLShareInstance.cpp
69.44% <0%> (-27.78%)
:arrow_down:

framework/data_source/ffmpeg_data_source.h
80% <0%> (-10%)
:arrow_down:

framework/data_source/IDataSource.h
16.66% <0%> (-8.34%)
:arrow_down:

... and 25 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b829487...de1ca36. Read the comment docs.


Turn the version script into a Makefile snippet

... and include it as appropriate from Makefile.inc and Makefile (the latter is necessary for the initial Dapper image build).
This ensures CUTTING_EDGE, DEV_VERSION and VERSION are exported everywhere, with the same value, calculated only once.
Signed-off-by: Stephen Kitt<EMAIL_ADDRESS>

One thing I don't like though, it that now we always have to remember to checkout the GH repos with depth 0 :/

One thing I don't like though, it that now we always have to remember to checkout the GH repos with depth 0 :/

I’m not 100% sure we need this all the time, it just results in an error message without breaking anything.


BackdropFilter not working with new Single Threaded SKWasm

Steps to reproduce

Upgrade to latest master with skwasm_st support from this pr
Use a Positioned widget + Backdrop Filter combination as seen in demo code

Expected results
The repeated 0s are blurred
Actual results
No blur is applied
Code sample
Code sample
import 'dart:ui' as ui;

import 'package:flutter/material.dart';

void main() {
  runApp(const Demo());
}

class Demo extends StatelessWidget {
  const Demo({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Stack(
        fit: StackFit.expand,
        children: <Widget>[
          Text('0' * 10000),
          Positioned.fill(
            child: ClipRect(
              child: BackdropFilter(
                filter: ui.ImageFilter.blur(
                  sigmaX: 5.0,
                  sigmaY: 5.0,
                ),
                child: SizedBox.shrink(),
              ),
            ),
          ),
        ],
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
skwasm_st on left, debug run on right.

Screenshot confirming skwasm_st:

Logs
Logs
// Build the demo project
flutter build web --release --target lib/main.dart --wasm --no-strip-wasm

// Run it with dhttpd
dart pub global run dhttpd --path build/web

Flutter Doctor output
Doctor output
We use flutterw, so it reports a weird version here. But this is master channel, commit 574b7e765d86f3f70eac8817a2906ac3099c0bf9.

[!] Flutter (Channel [user-branch], 3.27.0-1.0.pre.346, on macOS 15.0.1 24A348 darwin-arm64, locale en-US)
    ! Flutter version 3.27.0-1.0.pre.346 on channel [user-branch] at /Users/brian/superlist/superlist/.flutter
      Currently on an unknown channel. Run `flutter channel` to switch to an official channel.
      If that doesn't fix the issue, reinstall Flutter by following instructions at https://flutter.dev/setup.
    ! Upstream repository https://github.com/superlistapp/flutter.git is not a standard remote.
      Set environment variable "FLUTTER_GIT_URL" to https://github.com/superlistapp/flutter.git to dismiss this error.
    • Framework revision 574b7e765d (3 days ago), 2024-11-02 11:57:29 +0800
    • Engine revision 05cb5d7f79
    • Dart version 3.7.0 (build 3.7.0-95.0.dev)
    • DevTools version 2.40.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0)
    • Android SDK at /Users/brian/Library/Android/sdk
    • Platform android-35, build-tools 35.0.0
    • ANDROID_HOME = /Users/brian/Library/Android/sdk
    • Java binary at: /usr/bin/java
    • Java version OpenJDK Runtime Environment Zulu17.50+19-CA (build 17.0.11+9-LTS)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 16.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 16B40
    • CocoaPods version 1.16.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/to/macos-android-setup for detailed instructions).

[✓] IntelliJ IDEA Ultimate Edition (version 2024.2.4)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 82.0.3
    • Dart plugin version 242.22855.32

[✓] VS Code (version 1.95.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.98.0

[✓] Connected device (4 available)
    • Briphone (mobile)               • 00008120-000A20980233401E • ios            • iOS 18.0.1 22A3370
    • macOS (desktop)                 • macos                     • darwin-arm64   • macOS 15.0.1 24A348 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad     • darwin         • macOS 15.0.1 24A348 darwin-arm64
    • Chrome (web)                    • chrome                    • web-javascript • Google Chrome 130.0.6723.92
    ! Error: Browsing on the local area network for Brian’s iPad. Ensure the device is unlocked and attached with a cable or associated with the same local area network as this Mac.
      The device must be opted into Developer Mode to connect wirelessly. (code -27)

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 2 categories.

cc @eyebrowsoffire. I didn't experience this problem with the normal dart renderer, old wasm renderer, or on our mac / ios / android app, so I think it may be related to the new single threaded renderer?

Actually, wait... I'm wrong. I also see the problem with the multithreaded skwasm... sorry for the noise

Working with the JS version:

Yes, this is a duplicate of https://github.com/flutter/flutter/issues/152026

Thanks!
In that case, We'll disable the effect on wasm web for now.
Best,
Brian
On Mon, Nov 4, 2024 at 20:31 Jackson Gardner @.***>
wrote:

Yes, this is a duplicate of #152026
https://github.com/flutter/flutter/issues/152026
—
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/158128#issuecomment-2455643259,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVTJTG6GSJYYA7ISTSASGFTZ67DSRAVCNFSM6AAAAABRE7OGO2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJVGY2DGMRVHE
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Superlist Software GmbH
Joachimstr. 7 c/o Pitch | 10119 Berlin | Germany
Managing Director: Niklas Jansen
District Court Charlottenburg HRB 219633 B
Web https://www.superlist.com | Twitter
https://www.twitter.com/SuperlistHQ


Update workflows

Build and push toolkit and os flavor before build-iso and build-disk.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (f3d8258) 72.05% compared to head (bd14f7b) 72.05%.

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

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1945   +/-   ##
=======================================
  Coverage   72.05%   72.05%
=======================================
  Files          72       72
  Lines        8022     8022
=======================================
  Hits         5780     5780
  Misses       1779     1779
  Partials      463      463

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.