NWPS-233: Blog moderation implementation

Moderated ? field (hee:moderated) [defaulting to false] has been introduced on hee:blogComment CompoundType in order to record comment moderation status.
uk.nhs.hee.web.components.BlogPostComponent has been updated to add only moderated comments to the model.
blog-comment-form (catalog) component has been updated to use uk.nhs.hee.web.components.eforms.NoAutoDetectFormComponent from com.onehippo.cms7.eforms.hst.components.AutoDetectFormComponent in order to avoid auto detecting and adding default behaviours.
An extension of com.onehippo.cms7.eforms.hst.behaviors.MailFormDataBehavior has been implemented uk.nhs.hee.web.eforms.hst.behaviors.BlogPostCommentMailFormDataBehavior for blog-comment-form to replace ##BLOG_POST_DOCUMENT## placeholder with blog post (hee:blogPost) document CMS link to which the comment has been submitted to.
uk.nhs.hee.web.eform.behaviors.StoreBlogCommentBehavior has been updated to throw com.onehippo.cms7.eforms.hst.exceptions.EformBehaviorException in case of error in order to fail the subsequent behaviours.
Default com.onehippo.cms7.eforms.hst.behaviors.StoreFormDataBehavior has been removed from blog-comment-form component as we do not need to store them on JCR default location [/formdata/permanent] (as we already storing them on the corresponding blog post documents).
Added conf/context-dev.xml (containing 'mail/Session' JavaMail connection factory JNDI resource) and configured local instance (cargo.run profile) to use it (so that the packages/distributions for other env will continue using conf/context.xml). An example of how to configure/pass Java mail smtp properties is available in pom.xml:

File: pom.xml
450:                   <!-- Example to pass JavaMail connection factory JNDI resource attribute values as system properties -->
451:                   <!-- Alternatively these could directly be configured on 'conf/context-dev.xml'  -->
452:                   <!-- <mail.smtp.host><<mail.smtp.host>></mail.smtp.host></mail.smtp.host>
453:                   <mail.smtp.port><<mail.smtp.port>></mail.smtp.port>
454:                   <mail.smtp.user><<mail.smtp.user>></mail.smtp.user>
455:                   <mail.smtp.password><<mail.smtp.password>></mail.smtp.password>
456:                   <mail.smtp.auth><<mail.smtp.authv</mail.smtp.auth>
457:                   <mail.smtp.starttls.enable><<mail.smtp.starttls.enable>></mail.smtp.starttls.enable> -->

The following updater scripts have been added for the indicated purposes:

AddModerationStatusToBlogPostDocuments: Adds moderation status i.e. hee:moderated property to existing comments of the blog post documents (hee:blogPost).
UpdateBlogCommentFormContainerComponentsWithBlogPostModerationComponentConfig: Updates blog-comment-form (container) component with blog post moderation component config (e.g. hst:componentclassname, hst:parameternames, etc)

CICD pipeline setup to deploy distribution with hee-smtp.properties (containing mail SMTP properties) as Java system properties on all brCloud env.

Manual steps: The following manual steps needs to be executed post-release of the PR:

Create a blog comment form separately for each channel with Mail form data behaviour enabled and configure 'To' e-mail address field with the corresponding channel moderator email addresses.
Execute the following updater scripts:

AddModerationStatusToBlogPostDocuments
UpdateBlogCommentFormContainerComponentsWithBlogPostModerationComponentConfig

Note that Editors should be advised to publish the blog post document after moderation so that the document will not be locked and so future comment submissions will be stored without any issues.
For information: Same From email name (CMS Admin) and address<EMAIL_ADDRESS>has been configured for email moderation notification for all env to keep it simple for now.
Thanks!

Hi @smanivasag - thanks for doing this. tested and works fine, and the code is looking awesome.

Thank you @Raq-HEE 👍


Spamming Character Button Allows for Item Duplication

When you click on a character to load the information, you are able to spamclick to load the information multiple times. This information will all be submitted into the same form with no errors.
=> add a boolean check.
=> may allow for specific character checking also, for example, allowing a user to load another character if it is not the same.

=> add a boolean check. => may allow for specific character checking also, for example, allowing a user to load another character if it is not the same.
Both added.


Add explicit pbr requirement

Why? pbr is a build requirement, not a runtime requirement

Running pip install bandit installs it as required by setup.py:
pip install bandit
Collecting bandit
  Downloading bandit-1.7.4-py3-none-any.whl (118 kB)
     |████████████████████████████████| 118 kB 5.0 MB/s
Collecting GitPython>=1.0.1
  Downloading GitPython-3.1.29-py3-none-any.whl (182 kB)
     |████████████████████████████████| 182 kB 40.1 MB/s
Collecting PyYAML>=5.3.1
  Downloading PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (682 kB)
     |████████████████████████████████| 682 kB 120.2 MB/s
Collecting stevedore>=1.20.0
  Downloading stevedore-4.1.0-py3-none-any.whl (50 kB)
     |████████████████████████████████| 50 kB 3.7 MB/s
Collecting gitdb<5,>=4.0.1
  Downloading gitdb-4.0.9-py3-none-any.whl (63 kB)
     |████████████████████████████████| 63 kB 2.4 MB/s
Collecting pbr!=2.1.0,>=2.0.0
  Downloading pbr-5.11.0-py2.py3-none-any.whl (112 kB)
     |████████████████████████████████| 112 kB 128.2 MB/s
Collecting smmap<6,>=3.0.1
  Downloading smmap-5.0.0-py3-none-any.whl (24 kB)
Installing collected packages: smmap, pbr, gitdb, stevedore, PyYAML, GitPython, bandit
Successfully installed GitPython-3.1.29 PyYAML-6.0 bandit-1.7.4 gitdb-4.0.9 pbr-5.11.0 smmap-5.0.0 stevedore-4.1.0
WARNING: You are using pip version 21.3.1; however, version 22.3 is available.
You should consider upgrading via the '/tmp/bandit/test/env/bin/python3 -m pip install --upgrade pip' command.

Later remove  pbr:
$ pip uninstall pbr
Found existing installation: pbr 5.11.0
Uninstalling pbr-5.11.0:
  Would remove:
    /tmp/bandit/test/env/bin/pbr
    /tmp/bandit/test/env/lib/python3.10/site-packages/pbr-5.11.0.dist-info/*
    /tmp/bandit/test/env/lib/python3.10/site-packages/pbr/*
Proceed (Y/n)? y
  Successfully uninstalled pbr-5.11.0

Bandit is not able to work without pbr:
$ bandit
Traceback (most recent call last):
  File "/tmp/bandit/test/env/bin/bandit", line 5, in <module>
    from bandit.cli.main import main
  File "/tmp/bandit/test/env/lib64/python3.10/site-packages/bandit/__init__.py", line 5, in <module>
    import pbr.version
ModuleNotFoundError: No module named 'pbr'

File bandit/__init__.py imports pbr:
bandit/__init__.py:import pbr.version
bandit/__init__.py:__version__ = pbr.version.VersionInfo("bandit").version_string()

I'm packaging Bandit for Fedora and pbr was being installed in the past as dependency of stevedore. stevedore doesn't depend on pbr anymore so in newer Fedora releases bandit started to fail. As I had to add a dependency on pbr I guessed that adding it upstream would make sense.

stevedore doesn't depend on pbr anymore

Which version are you referring to? I see that stevedore 3.5.2 and 4.1.0 both require pbr (!=2.1.0,>=2.0.0).

File bandit/__init__.py imports pbr:
bandit/__init__.py:import pbr.version
bandit/__init__.py:__version__ = pbr.version.VersionInfo("bandit").version_string()

Yes, I agree that if it's directly imported by bandit, it should be explicitly specified in requirements.

stevedore doesn't depend on pbr anymore

Which version are you referring to? I see that stevedore 3.5.2 and 4.1.0 both require pbr (!=2.1.0,>=2.0.0).

Sorry, I meant runtime dep but stevedore never had it.
Let me add more context. stevedore package in Fedora used to had a runtime dep on pbr, but maintainers removed that dep as upstream stevedore doesn't require it for runtime, but kept dep for building phase.
https://src.fedoraproject.org/rpms/python-stevedore/c/4b53b0bdf5f7e694561a6bd5926e99dbe5f327be?branch=rawhide
bandit's runtime dep on pbr was satisfied when stevedore required pbr, but once it was removed from stevedore bandit started to fail due to missing runtime dep was not being installed.

PR https://github.com/PyCQA/bandit/pull/1016 has removed the runtime dependency on pbr. As a result, I don't believe this PR is needed any longer.


Integrate TAP Agent with gateway registry contract

Problem statement
Currently the TAP Agent relies on a user-provided list of sender addresses with corresponding TAP aggregator endpoint URLs. This is a stopgap solution for integration testing.
Expectation proposal
Once the gateway registry contract is implemented (TBD), TAP Agent will be modified to get the TAP aggregator endpoint URLs from there.
Alternative considerations
A clear and concise description of any alternative solutions or features you've considered.
Additional context
https://github.com/graphprotocol/indexer-rs/blob/1178c6386768c98b7efb8463c024c57286ef7d1b/tap-agent/src/agent.rs#L70-L73

Closing in favor of #342


Add EmbeddedTerraform UI

Depends on:

[x] https://github.com/ManageIQ/manageiq/pull/22995
[ ] https://github.com/ManageIQ/manageiq-ui-classic/pull/9117

Depend
TODO

[x] Routes
[x] Menu Items
[x] db_to_controller
[x] title_from_layout
[x] WorkflowRepositoryForm, WorkflowCredentialsForm javascript forms

Menu:

Credentials Show List:

Credentials Show:

Credentials Show -> Repositories Show List:

Repositories Show List:

Repositories Show:

Repositories Show -> Templates Show List:

Templates Show List:

Templates Show:

Here is what I have in manageiq-ui-classic for this to work
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index b79781784d..f88505a2b4 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -403,6 +403,12 @@ module ApplicationHelper
       controller = "ansible_playbook"
     when "ManageIQ::Providers::EmbeddedAnsible::AutomationManager::Credential"
       controller = "ansible_credential"
+    when "ManageIQ::Providers::EmbeddedTerraform::AutomationManager::Credential"
+      controller = "embedded_terraform_credential"
+    when "ManageIQ::Providers::EmbeddedTerraform::AutomationManager::ConfigurationScriptSource"
+      controller = "embedded_terraform_repository"
+    when "ManageIQ::Providers::EmbeddedTerraform::AutomationManager::ConfigurationScriptPayload"
+      controller = "embedded_terraform_workflow"
     when "ManageIQ::Providers::Workflows::AutomationManager::Workflow"
       controller = "workflow"
     when "ManageIQ::Providers::Workflows::AutomationManager::ConfigurationScriptSource"
diff --git a/app/helpers/application_helper/title.rb b/app/helpers/application_helper/title.rb
index e8f4b2b5fa..6d97fdec17 100644
--- a/app/helpers/application_helper/title.rb
+++ b/app/helpers/application_helper/title.rb
@@ -89,13 +89,11 @@ module ApplicationHelper
         _("Playbooks (Ansible Tower)")
       when "manageiq/providers/embedded_ansible/automation_manager/playbook"
         _("Playbooks")
-      when "manageiq/providers/embedded_ansible/automation_manager/credential", "manageiq/providers/workflows/automation_manager/credential"
+      when "manageiq/providers/embedded_ansible/automation_manager/credential", "manageiq/providers/workflows/automation_manager/credential", "manageiq/providers/embedded_terraform/automation_manager/credential"
         _("Credentials")
-      when "manageiq/providers/embedded_ansible/automation_manager/configuration_script_source"
+      when "manageiq/providers/embedded_ansible/automation_manager/configuration_script_source", "manageiq/providers/workflows/automation_manager/configuration_script_source", "manageiq/providers/embedded_terraform/automation_manager/configuration_script_source"
         _("Repositories")
-      when "manageiq/providers/workflows/automation_manager/configuration_script_source"
-        _("Repositories")
-      when "manageiq/providers/workflows/automation_manager/workflow"
+      when "manageiq/providers/workflows/automation_manager/workflow", "manageiq/providers/embedded_terraform/automation_manager/configuration_script_payload"
         _("Workflows")

       else

This pr depends on UI PR: https://github.com/ManageIQ/manageiq-ui-classic/pull/9117 and core PR: https://github.com/ManageIQ/manageiq/pull/22943

Note, https://github.com/ManageIQ/manageiq-providers-embedded_terraform/pull/9 has been merged, renaming ConfigurationScriptPayload to Template

Okay it was pretty involved to rename this but I think I got everything done and tested

I'm going to take this out of WIP, I've tested creating SCM credentials, creating a repository, and viewing imported templates on the UI and everything appears functional.

@jrafanie I think this is ready to merge we just wont have https://github.com/ManageIQ/manageiq-ui-classic/pull/9117 until we add this plugin to the core Gemfile

@jrafanie I think this is ready to merge we just wont have ManageIQ/manageiq-ui-classic#9117 until we add this plugin to the core Gemfile

yes, I tried it out yesterday and it was working so let's get this in.  It's in the new provider anyway so you would need to have added the provider in the first place to encounter any problems this PR may introduce.

@jeffibm feel free to review/comment on this after it's merged, we can always fix any problems you see.  Thanks!


Thank you

Snap Camera lenses have helped me spend time with friends during COVID using my webcam despite having very, very bad body dysmorphia. I don't know if this is the most appropriate place to say it, but thank you so much for creating this tool. Its impact is felt.
Sorry for creating an "issue"; please consider it solved.

No worries about creating a issue for this. I'm glad I could help. Thank you for sharing.


⚠ Bofrost.at has degraded performance

In 9137fed, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1203 ms

Resolved: Bofrost.at performance has improved in a6600ba after 7 minutes.


Confirm we're doing it right

@technoweenie, when you get a chance (absolutely no rush), hoping to once again borrow some of your avatar expertise, as this plugin is an attempt to put into (broader) practice your guidance from https://github.com/github/government.github.com/pull/406 (regarding using avatar0-3 to ensure caching and load avatars in parallel).
You can see all ~50 lines in https://github.com/benbalter/jekyll-avatar/blob/master/lib/jekyll/avatar.rb, if you're interested, but the key bits:
To calculate avatars0-3:
Zlib.crc32(path) % SERVERS

(where SERVERS is 4)
The resulting output:
<img class="avatar avatar-small" src="https://avatars3.githubusercontent.com/hubot?v=3&s=40" alt="hubot" width="40" height="40" />

Any red flags / potential improvements there? Seeing how often we use this on GitHub-properties alone, figured it be worth putting things into a Jekyll plugin to codify best practices.
/cc @parkr

Looks fine, that's still what we're using:
https://github.com/github/github/blob/7a6943bd0cba4d1c33a30fa9b157bf82e453ca21/lib/github/config.rb#L3032-L3043

:metal: Thanks @technoweenie!


dropdown-menu-end in RTL

In RTL .dropdown-menu-end has wrong position
.dropdown-menu-end {
    right: 0;
    left: auto;
}

It should be
.dropdown-menu-end {
    right: auto;
    left: 0;
}

Would you mind providing a reduced test case showing the issue please?
For now [both .dropdown-menu-* positions are ignored from RTLCSS)(https://github.com/twbs/bootstrap/blob/main/dist/css/bootstrap.css#L3465) because Popper takes care of positioning for us (using CSS translate() function), and it works as intended in RTL too (the latest dropdown line, with a single dropdown, shows a .dropdown-menu-end demo, successfully right aligned).
So AFAIC this works fine, despite the counter-intuitive CSS.

Here is an example showing the issue:  https://codepen.io/ferhado/pen/bGqrBmx

/* rtl:ignore */ precisely says to not change this. That's its purpose.
So it might only be some forgotten rules, since dropdowns have been refactored quite a lot recently.
@twbs/js-review I recall Popper was messing around: dropdowns in navbar don't use Popper, but they still get [data-bs-popper="none"] which matches our current selectors. Is that intended? Should we stop ignoring them from RTLCSS, finally?
I'll open a small PR to test this.

[data-bs-popper="none"] is intended @ffoodd, it means that dropdown is not handled by the Popper and should be handled by the CSS only (in case of RTL as well). [data-bs-popper] selector is used for two situations: when the dropdown is static ([data-bs-popper="static"]) or placed inside the navbar ([data-bs-popper="none"]).

So we're safe to remove the RTL ignore part :)


Support Hand Off, so that you can jump between the site / app

From @orta on December 15, 2014 15:20
http://www.imore.com/best-handoff-compatible-apps-iphone-ipad-mac
Copied from original issue: artsy/eigen-private#2060

This is a great article on the subject: http://www.sailthru.com/codeship/one-click-app-login-arrived-magic-continuity/

This is in!


book-store: Add styles for book store

In this project, I

[ ] added new JSX elements,
[ ] used styles from Zeplin design,
[ ] added styles to the bookstore to stick with Zeplin,

Thank you!!!


Add New Swatch Groups

It would be awesome to be able to add/remove custom color groups. I was able to do this manually by editing the plugin files, but it would be awesome to be able to do this out of the box. Maybe, it makes the most sense to add a button to "create a new group from document colors" and ask for a custom name? This may be more straightforward than having the user input individual color names and hex codes.
Maybe something down here?

Agree, this would be a much used feature for me!

Hi everybody. Just had the same thought as demersdesigns after using the swatches plugin for a few minutes. It would be a killer feature to have custom color groups since so many people out there can't wait to get rid of the ineffective color selection within the sketch app. Great plugin so far!

+1 ;)

Same for me
+100 ;-)
Would like to add may current colors (brand)

+1 this would be super useful if only i could specify my client's branding colors!

same for me
+1

Yes, the plugin and UI are very nice but definitely would be great to have the ability to easily create and add custom colors.

+1, same here, if a button is not an option maybe just being able to add all the document colors as new swatch?

Is there any news on if this is going to happen?

Ok, so I am no programmer, but I've gotten pretty far on adding code to this plugin so I can add my own swatch file. I'll outline it below, and I also request HELP on the final part, which is getting the rows to have 16 swatches across. I just can't figure that out.
To make your own swatch file:

Copy Swatches.sketchplugin
Right-click the copied Swatches.sketchplugin, choose “Show package contents”
Find a swatch color file to copy in Contents > Resources. I had copied the Google Material Design file because it had 15 swatches across, and I needed 16
Keep your file in the same folder. I replicated the naming convention of the color files by adding “_colors” after my chosen name. Not sure if that matters?
In the new file, replace
“var init_material_design_colors = function(title) {“
with
“var init_YOUR_FILE_NAME_HERE_colors = function(title) {"
In Resources, open swatches.js and copy/paste a section (make sure you include the brackets and stuff). Then change the line from
"title" : "Google Material Design",
to
"title" : “Your Name Here“,
and change
"handler" : "init_material_design_colors"
to
"handler" : “init_YOUR_FILE_NAME_HERE_colors”
In index.html under the Resources folder, search for
script src="colors/material_design_colors.js" and copy/paste.
The order here determines the order in the Sketch plugin interface. Put your name in there like this:
script src="colors/YOUR_FILE_NAME_HERE_colors.js"
Then find the Swatches.sketchplugin file and double-click to install (in figuring this out through trial and error, I have had to delete the plugin via the Manage Plugins menu item and then restart Sketch in order to get things to work right).

This is the swatchbook I am copying. It is one the swatches installed in Photoshop/Illustrator called Visibone. I like it because it is arranged sort of like I would arrange paint on a physical palette.

So, this is the Google Material Design swatchbook that I was using as a template:

And this is my file. I only made one line of the Visibone colors, as I didn't want to waste time on this if I couldn't make it work. Remember that the Material Design swatchbook has rows of 15 swatches max, and that the Visibone swatchbook has 16 swatches across? Well, you can see that there is a "blank" line under the first row of colors. Actually on the far left, there is a selectable FFFFFF swatch; you just can't see it because the background is white as well. It's the row wrapping.

This is the part I can't figure out, how to tell the plugin the maximum number of swatches across, as the swatch interface window is not resizable. This is also important if you, gentle reader, what to make your own swatch file.
Help!

STOP THE PRESSES!
I fought through the whole thing only to fail at the 1yd line. Thanks to a friend, all you do is use a smaller px dimension in your color file. In my case, the material_design_colors.js file used 24px at its dimension. Changing all four instances to 22px solved the problem.
Yaaaa!


This prevents other apps to be hidden using command+h when Ark is open

There is actually no need for it, electron should have command+h working by default on the app.
https://github.com/ArkEcosystem/ark-desktop/blob/e9b320b53360b279cd199b93c1055653f8441d42/main.js#L288

This seems related to #69. I suspect cmd+h wasn't working, as it wouldn't have been added otherwise 🤔

Well, someone should dig deeper but blocking system wide cmd+h to have it work in Ark is a terrible workaround 🤣

I would do it but I don't have time, if someone wants to do it, here's how it should be done.
Basically, you need different app menu for macOS (darwin). With these as the first menu:
{
    label: app.getName(),
    submenu: [
      {role: 'about'},
      {type: 'separator'},
      {role: 'services', submenu: []},
      {type: 'separator'},
      {role: 'hide'},
      {role: 'hideothers'},
      {role: 'unhide'},
      {type: 'separator'},
      {role: 'quit'}
    ]
  }


onefetch: 2.20.0 -> 2.21.0

Description of changes

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

the zstd pkg-config patch needs to be rebased

I searched for a while but still don't really understand how to update the patch file, can you guide me into the right direction?


Fixed id_length in decodeMessage.

When there is a record with header.il === false, in the variable id_length will remain a value from the previous record (previous while cycle). In some situations it could result in malformed records that follows an record with header.il === false.

@rrrasti it's awesome, thanks for the contribution!


How does the trip-routes in the examples load data ?

Dig into this demo and also read the code for a long time, still can't figure out where the taxi route data is and how does this demo load data. Could anyone explain? Thanks!

@Pessimistress @apercu who have worked most on the demo

All credit goes to @Pessimistress, but I think I can tell you the data comes from this file, is requested in this component and the data decoded in the loadData action. Correct me if I'm wrong ;)

@Apercu Is the script for creating that file anywhere in the repo?

Don't think so

@jjdblast the trips data is loaded from this txt and processed with this worker. The extra effort is mostly for optimizing loading speed (compression), and visual flare (create a seamless loop), but has nothing to do with the data format that the TripsLayer consumes. Eventually the data is an array of trips, each trip containing an array of turn points in the form of [longitude, latitude, timestamp].
It's easier to see if you inspect the vis store state on the demo page.
@contra The raw data went through a pipeline of several scripts that perform routing, aggregation, sampling, and then compress with the encoded polyline format. Some of them use private APIs and are tuned for this specific dataset, so I figure there's little reuse value.

@Pessimistress If the scripts have private APIs in them it would still be really helpful to see them - if the routing portion is a private uber thing I can swap in something that uses the mapbox routing API.

Cool method and thanks for explanations !


[SR-560] merge conflict: remove allowUnboundGenericTypes assert

It appears that an independent change to:
<https://github.com/apple/swift/commit/b5880f386b814f8b5cb220d1c4e65e74c04eccf4>

now allows unbound generic patterns to appear in protocol conformance records. Restoring the assert was causing the struct_resilience test to fail when emitting conformance records for StructWithDependentAssociatedType. This patch removes the assert.

Ah, @eeckstein reverted the patch that restored the assert, so we just need to remove the unused parameter instead.


Override needs to be applied to all steps of all tasks

I've just noticed the Override settings don't get applied to all steps. Can be reproduced with this template:
https://github.com/dmwm/WMCore/blob/master/test/data/ReqMgr/requests/DMWM/ReDigi_3steps.json
and this workflow in testbed
amaltaro_ReDigi_3steps_HG1805_Validation_180426_114348_7098

Override setting need to be applied only for logArchive step currently. Does that changed in log archive step?

It's getting applied to the first (top?) level task only, and all steps in that task:
amaltaro_ReDigi_3steps_HG1805_Validation_180426_114348_7098.section_('overrides')
amaltaro_ReDigi_3steps_HG1805_Validation_180426_114348_7098.overrides.eos-lfn-prefix = ''

amaltaro_ReDigi_3steps_HG1805_Validation_180426_114348_7098.tasks.StepOneProc.steps.cmsRun1.tree.children.stageOut1.section_('override')
amaltaro_ReDigi_3steps_HG1805_Validation_180426_114348_7098.tasks.StepOneProc.steps.cmsRun1.tree.children.stageOut1.override.eos-lfn-prefix = ''

amaltaro_ReDigi_3steps_HG1805_Validation_180426_114348_7098.tasks.StepOneProc.steps.cmsRun1.tree.children.logArch1.section_('override')
amaltaro_ReDigi_3steps_HG1805_Validation_180426_114348_7098.tasks.StepOneProc.steps.cmsRun1.tree.children.logArch1.override.eos-lfn-prefix = ''

amaltaro_ReDigi_3steps_HG1805_Validation_180426_114348_7098.tasks.StepOneProc.steps.cmsRun1.section_('override')
amaltaro_ReDigi_3steps_HG1805_Validation_180426_114348_7098.tasks.StepOneProc.steps.cmsRun1.override.eos-lfn-prefix = ''


Add support for INACTIVE action resume

This adds another method to the APT blueprint for doing a resume
operation. This is to be called to signal that an INACTIVE action
status may be resumed. This includes the case where the action is
INACTIVE because it requires additional consent which should be
signaled to the user by using the ConsentRequired value on the
code of the action status details returned and setting the
required_scope value to the scope the user should consent to
recover.
To help with setting proper details on INACTIVE state and on
FAILED states helper model classes have been added for encoding the
correct properties on FAILED and INACTIVE action statuses. These are
intended to be extensible by the user, but should include the code
and description fields. Further extending these for particular
cases (e.g. the ConsentRequired INACTIVE cause) could/should be
considered.

@jimPruyne can you check up on why the CI is failing?

@urimandujano Looks like tests are passing now.

@urimandujano typos fixed. Ready for final(?) review.


[Feature Request] A way to get chapter from other sources

I wish there's a way to get chapter from other sources like Mangapark, I know Neko is specific for Mangadex but i can't find some chapter like in Onepunch-man and others
Why/User Benefit/User Problem
There's a lot of manga that have been taken down from Mangadex so it'd be nice if we get a way to get from other source without leaving Neko since it's the best Tachiyomi fork for me

Have you tried the merged button? On the manga info screen.


Added warning about 3.x.x support to top of README

Could you make the warning 10x bigger and light it on fire?


Sometimes have to run Disconnect-MicrosoftTeams before connection "works"

It seems like a connection times out or gets "broken" after a period.
Calling Teams cmdlets throws a "You must call the Connect-MicrosoftTeams cmdlet before calling any other cmdlets."
If you then call
Connect-MicrosoftTeams -AccountID myUPN@domain

It appears to complete successfully, but other Teams cmdlets continue to throw the "You must call the Connect-MicrosoftTeams...." error.
If I then run:
Disconnect-MicrosoftTeams
Connect-MicrosoftTeams -AccountID myUPN@domain

Everything seems normal
Teams version 4.1.0
Windows 10 21H2 x64
Windows PowerShell

Hi @dsolodow - which cmdlets are you seeing this with? And what's the time gap between Connect- & the cmdlet run which gives the error?

I see this with pretty much any cmdlets from the module I use. I'll have to do some further testing to get time gaps, but here's an example from just now:

Hello @dsolodow Damien, how are you?
As here, we are limited to documentation fixes, I tried to reproduce with those exact cmdlets in that order to understand if any change to documentation under this repository is needed however I couldn't.
Also using 4.1.0 (but yesterday 4.2.0 came out)
Be sure to have only one version of the module installed at any time.
Other than that, I do not identify a documentation or article fix.
Thank you!

Is there a different repo for issues for the MicrosoftTeams module itself? Everything I see points me here. :(

@get-itips Thank you very much for the contribution and sharing this explanation. @dsolodow Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


mpv not opening with vo=dmabuf-wayland option

Hyprland Version
 System/Version info
Hyprland, built from branch main at commit 7ce781e87cf7cf789a54d37af7d78f1c11d66dbc dirty (keybinds: better follow xkb translation state).
Date: Sat Mar 2 02:46:55 2024
Tag: v0.36.0-25-g7ce781e8

flags: (if any)

System Information:
System name: Linux
Node name: Hyprland-Arch
Release: 6.7.6-arch1-2
Version: #1 SMP PREEMPT_DYNAMIC Thu, 29 Feb 2024 19:08:51 +0000

GPU information:
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 610 [8086:5906] (rev 02) (prog-if 00 [VGA controller])

os-release: NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo

plugins:

Bug or Regression?
Bug
Description
MPV is not opening since Thursday I can't remember which commit did this.
This is the error which I'm getting in the terminal when launching mpv:
❯ mpv ~/2024-02-20\ 11-05-49.mp4
Resuming playback. This behavior can be disabled with --no-resume-playback.
 (+) Video --vid=1 (*) (h264 1280x720 30.000fps)
 (+) Audio --aid=1 (*) (opus 2ch 48000Hz)
Cannot load libcuda.so.1
wp_viewport@3: error 0: wl_viewport.set_destination sent with invalid values
[vo/dmabuf-wayland/wayland] Error occurred on the display fd
Saving state.
Exiting... (Quit)

Tested with stable mpv and mpv-git, no luck.
How to reproduce
Add this in your mpv.conf:
hwdec=auto
vo=dmabuf-wayland
fs=yes
save-position-on-quit

# uosc provides seeking & volume indicators (via flash-timeline and flash-volume commands)
# if you decide to use them, you don't need osd-bar
osd-bar=no

# uosc will draw its own window controls and border if you disable window border
border=no

Now play any video or simply open mpv with terminal to see the error.
Crash reports, logs, images, videos
No response

WAYLAND_DEBUG=1 from mpv please

Here you go:
❯ WAYLAND_DEBUG=1 mpv ~/2024-02-20\ 11-05-49.mp4
Resuming playback. This behavior can be disabled with --no-resume-playback.
 (+) Video --vid=1 (*) (h264 1280x720 30.000fps)
 (+) Audio --aid=1 (*) (opus 2ch 48000Hz)
[4226311.119]  -> wl_display@1.get_registry(new id wl_registry@2)
[4226311.167]  -> wl_display@1.sync(new id wl_callback@3)
[4226311.294] wl_display@1.delete_id(3)
[4226311.329] wl_registry@2.global(1, "wl_shm", 1)
[4226311.345]  -> wl_registry@2.bind(1, "wl_shm", 1, new id [unknown]@4)
[4226311.367] wl_registry@2.global(2, "wl_drm", 2)
[4226311.380] wl_registry@2.global(3, "zwp_linux_dmabuf_v1", 4)
[4226311.405]  -> wl_registry@2.bind(3, "zwp_linux_dmabuf_v1", 4, new id [unknown]@5)
[4226311.420]  -> zwp_linux_dmabuf_v1@5.get_default_feedback(new id zwp_linux_dmabuf_feedback_v1@6)
[4226311.440] wl_registry@2.global(4, "wl_compositor", 6)
[4226311.453]  -> wl_registry@2.bind(4, "wl_compositor", 6, new id [unknown]@7)
[4226311.473]  -> wl_compositor@7.create_surface(new id wl_surface@8)
[4226311.492]  -> wl_compositor@7.create_surface(new id wl_surface@9)
[4226311.505]  -> wl_compositor@7.create_surface(new id wl_surface@10)
[4226311.524]  -> wl_compositor@7.create_region(new id wl_region@11)
[4226311.537]  -> wl_surface@10.set_input_region(wl_region@11)
[4226311.559]  -> wl_surface@9.set_input_region(wl_region@11)
[4226311.573]  -> wl_region@11.destroy()
[4226311.580]  -> wl_compositor@7.create_surface(new id wl_surface@12)
[4226311.589] wl_registry@2.global(5, "wl_subcompositor", 1)
[4226311.598]  -> wl_registry@2.bind(5, "wl_subcompositor", 1, new id [unknown]@13)
[4226311.605] wl_registry@2.global(6, "wl_data_device_manager", 3)
[4226311.612]  -> wl_registry@2.bind(6, "wl_data_device_manager", 3, new id [unknown]@14)
[4226311.618] wl_registry@2.global(7, "zwlr_export_dmabuf_manager_v1", 1)
[4226311.624] wl_registry@2.global(8, "zwlr_data_control_manager_v1", 2)
[4226311.630] wl_registry@2.global(9, "zwp_primary_selection_device_manager_v1", 1)
[4226311.636] wl_registry@2.global(10, "wp_viewporter", 1)
[4226311.644]  -> wl_registry@2.bind(10, "wp_viewporter", 1, new id [unknown]@15)
[4226311.653] wl_registry@2.global(11, "zwlr_gamma_control_manager_v1", 1)
[4226311.660] wl_registry@2.global(12, "zwlr_output_power_manager_v1", 1)
[4226311.666] wl_registry@2.global(13, "xdg_wm_base", 6)
[4226311.677]  -> wl_registry@2.bind(13, "xdg_wm_base", 6, new id [unknown]@16)
[4226311.682] wl_registry@2.global(14, "wl_seat", 9)
[4226311.689]  -> wl_registry@2.bind(14, "wl_seat", 8, new id [unknown]@17)
[4226311.694] wl_registry@2.global(15, "wp_presentation", 1)
[4226311.699]  -> wl_registry@2.bind(15, "wp_presentation", 1, new id [unknown]@18)
[4226311.704] wl_registry@2.global(16, "ext_idle_notifier_v1", 1)
[4226311.708] wl_registry@2.global(17, "zwlr_layer_shell_v1", 4)
[4226311.713] wl_registry@2.global(18, "org_kde_kwin_server_decoration_manager", 1)
[4226311.717] wl_registry@2.global(19, "zxdg_decoration_manager_v1", 1)
[4226311.722]  -> wl_registry@2.bind(19, "zxdg_decoration_manager_v1", 1, new id [unknown]@19)
[4226311.727] wl_registry@2.global(20, "zwlr_output_manager_v1", 4)
[4226311.731] wl_registry@2.global(21, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[4226311.735] wl_registry@2.global(22, "zwp_pointer_constraints_v1", 1)
[4226311.739] wl_registry@2.global(23, "zwp_relative_pointer_manager_v1", 1)
[4226311.743] wl_registry@2.global(24, "zwp_virtual_keyboard_manager_v1", 1)
[4226311.749] wl_registry@2.global(25, "zwlr_virtual_pointer_manager_v1", 2)
[4226311.754] wl_registry@2.global(26, "zwlr_foreign_toplevel_manager_v1", 3)
[4226311.759] wl_registry@2.global(27, "wp_drm_lease_device_v1", 1)
[4226311.765] wl_registry@2.global(28, "zwp_tablet_manager_v2", 1)
[4226311.770] wl_registry@2.global(29, "zwp_idle_inhibit_manager_v1", 1)
[4226311.775]  -> wl_registry@2.bind(29, "zwp_idle_inhibit_manager_v1", 1, new id [unknown]@20)
[4226311.781] wl_registry@2.global(30, "zxdg_exporter_v1", 1)
[4226311.785] wl_registry@2.global(31, "zxdg_importer_v1", 1)
[4226311.790] wl_registry@2.global(32, "zxdg_exporter_v2", 1)
[4226311.794] wl_registry@2.global(33, "zxdg_importer_v2", 1)
[4226311.798] wl_registry@2.global(34, "zwp_pointer_gestures_v1", 3)
[4226311.802] wl_registry@2.global(35, "zwp_text_input_manager_v3", 1)
[4226311.807] wl_registry@2.global(36, "zwp_input_method_manager_v2", 1)
[4226311.812] wl_registry@2.global(37, "xdg_activation_v1", 1)
[4226311.817] wl_registry@2.global(38, "ext_session_lock_manager_v1", 1)
[4226311.821] wl_registry@2.global(39, "wp_cursor_shape_manager_v1", 1)
[4226311.825]  -> wl_registry@2.bind(39, "wp_cursor_shape_manager_v1", 1, new id [unknown]@21)
[4226311.830] wl_registry@2.global(40, "wp_tearing_control_manager_v1", 1)
[4226311.834] wl_registry@2.global(41, "wp_single_pixel_buffer_manager_v1", 1)
[4226311.841]  -> wl_registry@2.bind(41, "wp_single_pixel_buffer_manager_v1", 1, new id [unknown]@22)
[4226311.848] wl_registry@2.global(42, "xwayland_shell_v1", 1)
[4226311.853] wl_registry@2.global(43, "hyprland_toplevel_export_manager_v1", 2)
[4226311.857] wl_registry@2.global(44, "wp_fractional_scale_manager_v1", 1)
[4226311.862]  -> wl_registry@2.bind(44, "wp_fractional_scale_manager_v1", 1, new id [unknown]@23)
[4226311.867] wl_registry@2.global(45, "zwp_text_input_manager_v1", 1)
[4226311.871] wl_registry@2.global(46, "hyprland_global_shortcuts_manager_v1", 1)
[4226311.875] wl_registry@2.global(47, "zwlr_screencopy_manager_v1", 3)
[4226311.880] wl_registry@2.global(48, "zxdg_output_manager_v1", 3)
[4226311.884] wl_registry@2.global(49, "wl_output", 4)
[4226311.888]  -> wl_registry@2.bind(49, "wl_output", 4, new id [unknown]@24)
[4226311.893] wl_callback@3.done(1650)
[4226311.900]  -> wp_viewporter@15.get_viewport(new id wp_viewport@3, wl_surface@8)
[4226311.906]  -> wp_viewporter@15.get_viewport(new id wp_viewport@25, wl_surface@12)
[4226311.912]  -> wp_viewporter@15.get_viewport(new id wp_viewport@26, wl_surface@10)
[4226311.917]  -> wp_viewporter@15.get_viewport(new id wp_viewport@27, wl_surface@9)
[4226311.922]  -> xdg_wm_base@16.get_xdg_surface(new id xdg_surface@28, wl_surface@8)
[4226311.927]  -> xdg_surface@28.get_toplevel(new id xdg_toplevel@29)
[4226311.932]  -> wl_subcompositor@13.get_subsurface(new id wl_subsurface@30, wl_surface@10, wl_surface@9)
[4226311.939]  -> wl_subcompositor@13.get_subsurface(new id wl_subsurface@31, wl_surface@9, wl_surface@8)
[4226311.945]  -> wp_fractional_scale_manager_v1@23.get_fractional_scale(new id wp_fractional_scale_v1@32, wl_surface@8)
[4226311.950]  -> wl_data_device_manager@14.get_data_device(new id wl_data_device@33, wl_seat@17)
[4226311.966]  -> zxdg_decoration_manager_v1@19.get_toplevel_decoration(new id zxdg_toplevel_decoration_v1@34, xdg_toplevel@29)
[4226311.972]  -> zxdg_toplevel_decoration_v1@34.set_mode(1)
[4226311.980]  -> xdg_toplevel@29.set_app_id("mpv")
[4226312.011]  -> wl_surface@9.frame(new id wl_callback@35)
[4226312.017]  -> wl_surface@8.commit()
[4226312.022]  -> wl_display@1.sync(new id wl_callback@36)
[4226312.581] wl_display@1.delete_id(11)
[4226312.604] wl_display@1.delete_id(36)
[4226312.616] zwp_linux_dmabuf_feedback_v1@6.main_device(array[8])
[4226312.625] zwp_linux_dmabuf_feedback_v1@6.format_table(fd 20, 3152)
[4226312.654] zwp_linux_dmabuf_feedback_v1@6.tranche_target_device(array[8])
[4226312.663] zwp_linux_dmabuf_feedback_v1@6.tranche_flags(0)
[4226312.673] zwp_linux_dmabuf_feedback_v1@6.tranche_formats(array[394])
[4226312.682] zwp_linux_dmabuf_feedback_v1@6.tranche_done()
[4226312.691] zwp_linux_dmabuf_feedback_v1@6.done()
[4226312.700] wl_seat@17.name("seat0")
[4226312.710] wl_seat@17.capabilities(3)
[4226312.720]  -> wl_seat@17.get_pointer(new id wl_pointer@11)
[4226312.731]  -> wp_cursor_shape_manager_v1@21.get_pointer(new id wp_cursor_shape_device_v1@37, wl_pointer@11)
[4226312.743]  -> wl_seat@17.get_keyboard(new id wl_keyboard@38)
[4226312.753] wp_presentation@18.clock_id(1)
[4226312.761] wl_output@24.geometry(0, 0, 340, 190, 0, "BOE", "0x0674", 0)
[4226312.777] wl_output@24.mode(1, 1366, 768, 59999)
[4226312.789] wl_output@24.scale(1)
[4226312.798] wl_output@24.name("eDP-1")
[4226312.807] wl_output@24.description("BOE 0x0674 (eDP-1)")
[4226312.816] wl_output@24.done()
[4226312.825] wp_fractional_scale_v1@32.preferred_scale(120)
[4226312.835] wl_callback@36.done(1651)
[4226312.845] xdg_toplevel@29.wm_capabilities(array[16])
[4226312.855] xdg_toplevel@29.configure(683, 733, array[0])
[4226312.866] zxdg_toplevel_decoration_v1@34.configure(2)
[4226312.888] xdg_surface@28.configure(1651)
[4226312.898]  -> xdg_surface@28.ack_configure(1651)
[4226312.973]  -> wp_single_pixel_buffer_manager_v1@22.create_u32_rgba_buffer(new id wl_buffer@36, 0, 0, 0,<PHONE_NUMBER>)
[4226312.989]  -> wl_surface@8.attach(wl_buffer@36, 0, 0)
[4226313.023]  -> wl_display@1.get_registry(new id wl_registry@39)
[4226313.034]  -> wl_display@1.sync(new id wl_callback@40)
[4226313.282] wl_display@1.delete_id(40)
[4226313.295] wl_registry@39.global(1, "wl_shm", 1)
[4226313.306] wl_registry@39.global(2, "wl_drm", 2)
[4226313.317]  -> wl_registry@39.bind(2, "wl_drm", 2, new id [unknown]@41)
[4226313.328] wl_registry@39.global(3, "zwp_linux_dmabuf_v1", 4)
[4226313.339] wl_registry@39.global(4, "wl_compositor", 6)
[4226313.349] wl_registry@39.global(5, "wl_subcompositor", 1)
[4226313.360] wl_registry@39.global(6, "wl_data_device_manager", 3)
[4226313.370] wl_registry@39.global(7, "zwlr_export_dmabuf_manager_v1", 1)
[4226313.381] wl_registry@39.global(8, "zwlr_data_control_manager_v1", 2)
[4226313.391] wl_registry@39.global(9, "zwp_primary_selection_device_manager_v1", 1)
[4226313.402] wl_registry@39.global(10, "wp_viewporter", 1)
[4226313.412] wl_registry@39.global(11, "zwlr_gamma_control_manager_v1", 1)
[4226313.421] wl_registry@39.global(12, "zwlr_output_power_manager_v1", 1)
[4226313.432] wl_registry@39.global(13, "xdg_wm_base", 6)
[4226313.442] wl_registry@39.global(14, "wl_seat", 9)
[4226313.452] wl_registry@39.global(15, "wp_presentation", 1)
[4226313.463] wl_registry@39.global(16, "ext_idle_notifier_v1", 1)
[4226313.473] wl_registry@39.global(17, "zwlr_layer_shell_v1", 4)
[4226313.483] wl_registry@39.global(18, "org_kde_kwin_server_decoration_manager", 1)
[4226313.494] wl_registry@39.global(19, "zxdg_decoration_manager_v1", 1)
[4226313.504] wl_registry@39.global(20, "zwlr_output_manager_v1", 4)
[4226313.514] wl_registry@39.global(21, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[4226313.525] wl_registry@39.global(22, "zwp_pointer_constraints_v1", 1)
[4226313.535] wl_registry@39.global(23, "zwp_relative_pointer_manager_v1", 1)
[4226313.546] wl_registry@39.global(24, "zwp_virtual_keyboard_manager_v1", 1)
[4226313.556] wl_registry@39.global(25, "zwlr_virtual_pointer_manager_v1", 2)
[4226313.566] wl_registry@39.global(26, "zwlr_foreign_toplevel_manager_v1", 3)
[4226313.576] wl_registry@39.global(27, "wp_drm_lease_device_v1", 1)
[4226313.586] wl_registry@39.global(28, "zwp_tablet_manager_v2", 1)
[4226313.596] wl_registry@39.global(29, "zwp_idle_inhibit_manager_v1", 1)
[4226313.607] wl_registry@39.global(30, "zxdg_exporter_v1", 1)
[4226313.617] wl_registry@39.global(31, "zxdg_importer_v1", 1)
[4226313.627] wl_registry@39.global(32, "zxdg_exporter_v2", 1)
[4226313.636] wl_registry@39.global(33, "zxdg_importer_v2", 1)
[4226313.647] wl_registry@39.global(34, "zwp_pointer_gestures_v1", 3)
[4226313.657] wl_registry@39.global(35, "zwp_text_input_manager_v3", 1)
[4226313.667] wl_registry@39.global(36, "zwp_input_method_manager_v2", 1)
[4226313.677] wl_registry@39.global(37, "xdg_activation_v1", 1)
[4226313.686] wl_registry@39.global(38, "ext_session_lock_manager_v1", 1)
[4226313.696] wl_registry@39.global(39, "wp_cursor_shape_manager_v1", 1)
[4226313.706] wl_registry@39.global(40, "wp_tearing_control_manager_v1", 1)
[4226313.714] wl_registry@39.global(41, "wp_single_pixel_buffer_manager_v1", 1)
[4226313.720] wl_registry@39.global(42, "xwayland_shell_v1", 1)
[4226313.727] wl_registry@39.global(43, "hyprland_toplevel_export_manager_v1", 2)
[4226313.734] wl_registry@39.global(44, "wp_fractional_scale_manager_v1", 1)
[4226313.741] wl_registry@39.global(45, "zwp_text_input_manager_v1", 1)
[4226313.748] wl_registry@39.global(46, "hyprland_global_shortcuts_manager_v1", 1)
[4226313.755] wl_registry@39.global(47, "zwlr_screencopy_manager_v1", 3)
[4226313.762] wl_registry@39.global(48, "zxdg_output_manager_v1", 3)
[4226313.769] wl_registry@39.global(49, "wl_output", 4)
[4226313.778] wl_callback@40.done(1651)
[4226313.789]  -> wl_display@1.sync(new id wl_callback@40)
[4226313.940] wl_display@1.delete_id(40)
[4226313.969] wl_drm@41.device("/dev/dri/renderD128")
[4226314.136] wl_drm@41.capabilities(1)
[4226314.163] wl_drm@41.format(1211384385)
[4226314.176] wl_drm@41.format(1211384408)
[4226314.188] wl_drm@41.format(942948929)
[4226314.197] wl_drm@41.format(942948952)
[4226314.205] wl_drm@41.format(808669761)
[4226314.212] wl_drm@41.format(808669784)
[4226314.219] wl_drm@41.format(808665665)
[4226314.226] wl_drm@41.format(875713089)
[4226314.231] wl_drm@41.format(875708993)
[4226314.237] wl_drm@41.format(875713112)
[4226314.243] wl_drm@41.format(875709016)
[4226314.249] wl_drm@41.format(892424769)
[4226314.254] wl_drm@41.format(842093121)
[4226314.260] wl_drm@41.format(909199186)
[4226314.266] wl_drm@41.format(538982482)
[4226314.272] wl_drm@41.format(540422482)
[4226314.278] wl_drm@41.format(943215175)
[4226314.283] wl_drm@41.format(842224199)
[4226314.289] wl_drm@41.format(961959257)
[4226314.295] wl_drm@41.format(825316697)
[4226314.300] wl_drm@41.format(842093913)
[4226314.306] wl_drm@41.format(909202777)
[4226314.312] wl_drm@41.format(875713881)
[4226314.318] wl_drm@41.format(961893977)
[4226314.324] wl_drm@41.format(825316953)
[4226314.330] wl_drm@41.format(842094169)
[4226314.335] wl_drm@41.format(909203033)
[4226314.341] wl_drm@41.format(875714137)
[4226314.346] wl_drm@41.format(842094158)
[4226314.352] wl_drm@41.format(825382478)
[4226314.358] wl_drm@41.format(808530000)
[4226314.363] wl_drm@41.format(842084432)
[4226314.368] wl_drm@41.format(909193296)
[4226314.374] wl_drm@41.format(808661072)
[4226314.379] wl_drm@41.format(909203022)
[4226314.384] wl_drm@41.format(1448433985)
[4226314.389] wl_drm@41.format(1448434008)
[4226314.394] wl_drm@41.format(808531033)
[4226314.399] wl_drm@41.format(842085465)
[4226314.503] wl_drm@41.format(909194329)
[4226314.509] wl_drm@41.format(1448695129)
[4226314.515] wl_drm@41.format(1431918169)
[4226314.521] wl_drm@41.format(1498831189)
[4226314.527] wl_drm@41.format(1498765654)
[4226314.532] wl_drm@41.format(808530521)
[4226314.538] wl_drm@41.format(842084953)
[4226314.544] wl_drm@41.format(909193817)
[4226314.550] wl_callback@40.done(1651)
[4226314.567]  -> wl_display@1.sync(new id wl_callback@40)
[4226314.752] wl_display@1.delete_id(40)
[4226314.762] wl_callback@40.done(1651)
Cannot load libcuda.so.1
[4226321.169] wl_keyboard@38.keymap(1, fd 20, 64756)
[4226324.788] wl_keyboard@38.repeat_info(25, 600)
[4226324.823]  -> wl_compositor@7.create_region(new id wl_region@40)
[4226324.830]  -> wl_region@40.add(0, 0, 683, 733)
[4226324.835]  -> wl_surface@8.set_opaque_region(wl_region@40)
[4226324.840]  -> wl_region@40.destroy()
[4226325.661]  -> wl_shm@4.create_pool(new id wl_shm_pool@42, fd 20, 2005488)
[4226325.683]  -> wl_surface@10.attach(nil, 0, 0)
[4226325.697]  -> wl_surface@10.commit()
[4226325.704]  -> wp_viewport@3.set_destination(0, 0)
[4226325.711]  -> wp_viewport@27.set_destination(0, 0)
[4226325.723]  -> wl_subsurface@31.set_position(0, 0)
[4226325.733]  -> wp_viewport@26.set_destination(683, 733)
[4226325.744]  -> wl_subsurface@30.set_position(0, 0)
[4226325.764]  -> xdg_toplevel@29.set_title("2024-02-20 11-05-49.mp4 - mpv")
[4226325.919] wl_display@1.delete_id(40)
[4226325.934] wl_display@1.error(wp_viewport@3, 0, "wl_viewport.set_destination sent with invalid values")
wp_viewport@3: error 0: wl_viewport.set_destination sent with invalid values
[vo/dmabuf-wayland/wayland] Error occurred on the display fd
Using hardware decoding (vaapi).
Saving state.
Exiting... (Quit)

[4226325.711]  -> wp_viewport@27.set_destination(0, 0)

This is an mpv bug.


"Refactor connection code to use pg8000 and return a cursor for JSON converter"

hi, the get_conn function should just return the connection so that I can access the db using my function. the get_conn function doesn't need to query the db

It's only querying the DB to demonstrate that the connection is working.  It should absolutely be replaced by the actual query functionality we're going to use for real.

oh okay, i didnt read the code properly! my bad!


197 convertannotationstomask doesnt give an empty mask when there are no annotations

Fixes #197 by adding an extra parameter to the ConvertAnnotationsToMask

Throwing an error only when annotations are None might be better. The ConvertAnnotationsToMask outputs a mask with only zeros for the empty list now, which works like intended. Libraries that use this functionality, like ahcore, might expect "annotation_data" to exist. For example thePreTransformTaskFactory will fail on OneHotEncodeMask when returning a TileSample. Although a function like AllowCollate could be used to fix this, it would have to be called directly after ConvertAnnotationsToMask instead of at the end of the pre-transforms. It seems like a ValueError when sample["annotations"] is None would be appropriate behaviour for ConvertAnnotationsToMask.


feat: whether or not to handle (e.g. sending an event) themis auth failures (besides ignoring the failure)

https://github.com/xmidt-org/xmidt-agent/blob/1b1515e57b8e501ad1daca5e730ccfc3cc10be58/internal/websocket/ws.go#L205-L206

related to #87 as the likely solution


Fix compilation from scratch

These changes are required to install on Arch Linux from scratch:

Also pass system ar, ranlib and ld to the build scripts of binutils. Otherwise they fail trying to use llir_x86_64-unknown-linux-{ar,ranlib,ld}
configure cc/ld/ranlib for the musl package. These are in line with the setenv command, which doesn't seem to get picked up
Update the installation instructions: Now uses the default repository for the ocaml package, and suggested to add arch-amd64, otherwise it defaults to arch-power

This has been fixed upstream.


Icons In black Colour

The icons are in default black colour, The data from SimpleIcon is not working as expected.  In prevoius the icons are respective to the default icon colour.

Thanks for creating an issue for this. I've fixed the icons rendering all black in 4.1.5. Please use version 4.1.6 since so that upstream changes in simple icon repo don't cause this issue again.


_fast_inner_training_loop has ZeroDivisionError

Stack:
  File "my_file_name.py", line 68, in train
    self.inner.train()
  File "<string>", line 142, in train
  File "<string>", line 29, in _fast_inner_training_loop
ZeroDivisionError: integer division or modulo by zero

Ok find it is unrelated to unsloth. However, it would be great if there could be some stack traces! Then it will be very easy to spot which line is going wrong.


Fix Go Report Card Issues

Fix all issues identified in our latest Go Report Card for v1.6.0

I would like to work on this,Pls assign it to me.

@HakanVardarr started to implement it in #131

@kehoecj could you assign the issue to @HakanVardarr ?
Also, is there any other issue that @ashish111333 could look at?

GitHub…
OK, thanks

@kehoecj could you assign the issue to @HakanVardarr ?
Also, is there any other issue that @ashish111333 could look at?

I tired but it doesn't seem like I can until @HakanVardarr makes a comment on the issue

😀

I think the issue is now closed as #131 was merged


show changelogs for new proton github tags/releases

There is no changelog or a list of merged PR in the proton release or tag
https://github.com/timeplus-io/proton/releases/tag/v1.3.14
Open source users are expecting to see such changelogs.
Please refer to axion/neutorn CI process.

(Jove Github Bot) assuming it is not done, deferred this ticket to the next sprint.

(Jove Github Bot) assuming it is not done, deferred this ticket to the next sprint.

after https://github.com/timeplus-io/proton/pull/269
changelog in the release asset display normally. (automatically generated)
https://github.com/timeplus-io/proton/pull/269/files#diff-f9cb62ec2ff97fce91a3cdefb34fecb45bd54fe32ca3e3aaa454905d7710aa59R169


Does we need to tweak any other variable to make this work

Do we need to adjust terminationGracePeriodSeconds or any other value? I am trying to achieve zero downtime deployment using IP as targets as mentioned in the posts
https://easoncao.com/zero-downtime-deployment-when-using-alb-ingress-controller-on-amazon-eks-and-prevent-502-error/
Do I need to adjust any variable in target group like deregistration delay to make this work?

I've created this package to avoid adjusting terminationGracePeriodSeconds.
You can adjust it if you want to.

It is 100 seconds, I will see if I have to adjust it. What is it doing behind the scenes, can you tell me a bit? thanks for the prompt response.

It does what is written in README.

pod-graceful-drain solves this by abusing admission webhooks. It intercepts the deletion/eviction of a pod deletion/eviction process to prevent the pod from getting terminated for a period. It'll take appropriate methods to delay the pod deletion: deny the admission, response the admission very slowly, mutate the eviction request to dry-run, etc. Then the pod will be eventually terminated by the controller after designated timeouts. With this delay, traffics are drained safely since the pod is still alive and can serve misdirected new traffics.

https://github.com/foriequal0/pod-graceful-drain/blob/main/README.md#what-is-this


Can't scan Docker images

Hello,
I'm working on setting up a docker image build a test pipeline (Jenkins 2.x) and one stage is to scan the docker image via Clair. I have both Clair and Postgres containers running and they appear healthy. I'm then trying to use either Klar or Hyperclair in the scan stage to test the just built image. I'm using Clair 1.2.2 and Postgres 9.5. When I run the scan via Klar this is what I get:
klar registry.domain.com:31832/my_team/centos7:ce83214
Decode error
Can't pull image: json: cannot unmarshal number into Go value of type docker.Image

My registry and also the Clair container are running in a Mesos cluster launched via Marathon which registers them with Consul so I'm hitting them via their service hostname. I've seen previous issues related to unmarshaling errors around DNS and I wonder if these are related but the error I see isn't related to DNS.
Any advice or pointers would be appreciated, I'd really love to get this working.

This was an issue with Klar and a fix has been provided.


Dependant running before DOM Loads

I am trying to use the React Big Calendar component with this gem. I installed the component using NPM and include it in my jsx component file for the gem to register. When the JavaScript tag is included in the HEAD, an error is thrown by one of React Big Calendar's dependencies because it is running before the DOM has loaded completely. How do I configure my app to run my webpack-bundle after the page loads? I know there has be be something small that I am over looking. I have been reading about this issue for almost a week with out success. Any help would be greatly appreciated.

Hi @BrianTatum, this would probably take a little yak shaving to get you through all the correct setup, depending on if you're using Webpack v1 or v2, and how the rest of your Rails app is setup.
I doubt that you want to load your webpack bundle after the page loads. In fact, I'm almost sure that would cause other problems.
If you want individual help, get in touch with me directly at<EMAIL_ADDRESS>You can also post your issue to https://forum.shakacode.com/ and maybe Stack Overflow.


Handling manifest.json and other Files on S3/Cloud Storage or CDN for production

How to use when manifest.json and other files are on S3 or Cloud storage(or other CDN)?
django-vite expects manifest.json is on local environment, and bring it.
But in my environment, manifest.json and other static files produced by vite are on Cloud Storage.
With setting like below
DJANGO_VITE_MANIFEST_PATH = STATIC_ROOT + "/manifest.json":

I get error, although the file exists there and includes the key "src/main.js". As you know, it works fine in dev env.
RuntimeError: Cannot find src/main.js in Vite manifest at https://my-cloud-storage-bucket/manifest.json

What is the best practice in this situations? Downloading manifest.json in local before using takes some redirects and delay.
Also, similar discussions here: #20 and #44

The manifest.json file needs to be read in all cases to generates URLs to your assets.
I think putting it with your Python code makes sense, to not call the network to read the file on S3 or in any other service
as reading it on the disk is much faster (the file is read when Django starts up and is cached in memory).
Then use the Django static file system to prefix your assets URLs with the domain to your cloud storage.


Serialization: Fix crash when deserializing store_unowned SIL instruction [4.1]

Description: We would crash in deserialization when deserializing the store_unowned instruction.

Scope of the issue: Now that we preserve SIL when merging modules, there are more ways to trigger this in normal code, but in Swift 4.0 you could hit this by an @inline(__always) function that assigned to an unowned property.

Origination: Bug was present in the original implementation of "new" unowned properties that was added to Swift 3.0.

Risk: Very low, it's a trivial fix.

Tested: New test case added.

Radar: rdar://problem/35980211.

Reviewed by: @jckarter

@swift-ci Please test


7-add-loading-screen-to-the-project

Need to add loading screen to the project. Ideally, it will also check if everything on the page is loaded.

Added loading screen to the project. It will fade, if page is fully loaded. Loading process is monitored by jquery in script section.


fix markdown and ruby ignore for Rust workflows

Summary of changes

Changes introduced in this pull request:

the ignores were not recursive,
Ruby scripts linting the Rust code shall not be ignored in the Rust lint workflow,

Reference issue to close (if applicable)

Closes
Other information and links

Change checklist

[x] I have performed a self-review of my own code,
[x] I have made corresponding changes to the documentation,
[x] I have added tests that prove my fix is effective or that my feature works (if possible),
[x] I have made sure the CHANGELOG is up-to-date. All user-facing changes should be reflected in this document.

If a markdown file is included in rust as doc, there is chance the markdown change could break rust doc test right?

Hm, I wasn't aware of this feature. That being said, it's present only in: https://github.com/ChainSafe/forest/blob/fix-markdown-ruby-ignore-actions/node/forest_libp2p/bitswap/src/lib.rs
It's a valid point, though. Perhaps we should only ignore markdown files in the project's root directory and under documentation? What do you think?


[red-knot] Improve the unresolved-import check

Summary
This PR improves the unresolved-import check so that it once again is able to recognise unresolved import from imports. It adds the same tests as #12986, but doesn't add the UnknownTypeKind enum that that PR introduces.
I've had to comment out some assertions in the tests for now. One case that passes with #12986 but doesn't work with this PR is this:

src/a.py: import foo as foo
src/b.py: from a import foo

This should only cause an unresolved-import diagnostic to be emitted on a.py, and this is the case with #12986, but with this PR unresolved-import diagnostics are emitted on both files.
Another case that passes with #12986 but not with this PR is the case where a symbol that exists, but has an inferred type of Unknown, is imported from another module. This should not trigger an unresolved-import diagnostic, but does with this PR, as it's hard to determine the root cause of the Unknown type.
Overall, this PR feels to me like it's an improvement on the status quo, but inferior to #12986. It's also a less significant change than #12986, however, since it's not a significant change to the design of how we think about types in red-knot, so the idea is that it should be possible to land this and then rebase #12986 on top of it.
Test Plan
Several tests added to crates/red_knot_python_semantic/src/types.rs and crates/red_knot_python_semantic/src/types/infer.rs. The assertions in the benchmarks have also been updated.

I would still have preferred to implement a holistic solution to how we handle unresolved members

Well, so would I! #12986 was my attempt 😆 The idea behind this PR was to try to implement as many of the fixes implemented there as possible without fundamentally reworking red-knot's design, so that it would be clearer exactly what the pros and cons of doing so would be.

I ask you to at least add a TODO comment to make it clear that this pattern should not be copied.

I'll add this

While I'm making notes on this PR of things that I'd like to address in this area: we've started to accumulate some tests in types.rs that (as far as I can see) are indistinguishable in purpose and kind from the tests we already have in infer.rs. Maybe all of the tests should be moved out to types.rs instead of infer.rs, or should actually live in their own file (or better should be in a more concise testing framework), but I don't think we should be accumulating these tests in two different files without a clear rationale for which tests go in which file.

While I'm making notes on this PR of things that I'd like to address in this area: we've now started to accumulate some tests in types.rs that (as far as I can see) are indistinguishable in purpose and kind from the tests we already have in infer.rs. Maybe all of the tests should be moved out to types.rs instead of infer.rs, or should actually live in their own file (or better should be in a more concise testing framework), but I don't think we should be accumulating these tests in two different files without a clear rationale for which tests go in which file.

I think the idea is that the tests in types.rs are specifically testing which diagnostics are emitted, whereas the tests in infer.rs are (currently) solely focussed on which types are inferred

I think the idea is that the tests in types.rs are specifically testing which diagnostics are emitted, whereas the tests in infer.rs are (currently) solely focussed on which types are inferred

My initial idea was to only test that typecheck emits diagnostic and I picked the only existing diagnostic. My plan wasn't to test diagnostics.

I think the idea is that the tests in types.rs are specifically testing which diagnostics are emitted, whereas the tests in infer.rs are (currently) solely focussed on which types are inferred

Ah! Yes, I see that distinction does seem to apply currently. I think longer-term it doesn't necessarily make sense to split tests according to this distinction, though. At some point I suspect ~all of our tests will be tests of diagnostics, which can include a diagnostic from reveal_type() as one edge case.


Fix rake task: apply settings on index creation and fix progress bar

Settings are not applied if index is created from rake task. Added settings to index creation in rake task.
When using rake task with mongoid, progress bar goes over 100%. This is because mongodb ignores limit and skip parameters for a count query. Additional parameter must be passed to take limit into account. Ref: http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-{{count()}}

Hi, thanks for the catch, the settings fix pushed in karmi/tire@28989ec.
As for the Mongobar, could you please extract that into a karmi/tire-contrib extension?
I really don't want the Tire codebase to be sprinkled all over with if/defined/whatever Mongo just because all the Mongo gems and ecocystem play by their own rules.

Will look into the tire-contrib gem and see if I can move the progress bar fix there.


Add reasonable default service name if none is entered

Perhaps try to grab the assembly name or similar?

https://github.com/dotnet/corefx/issues/1784 has an example of how to get the executing assembly, which seems like a reasonable default.
As part of this we can make options optional for IServiceCollection.AddGenki


CI: Upgrade to Python 3.11

https://docs.python.org/3.11/whatsnew/3.11.html

Python 3.11 is between 10-60% faster than Python 3.10. On average, we measured a 1.25x speedup on the standard benchmark suite.

Hi Christian, thank you for the PR.
Python is currently pinned to 3.10 as node-gyp version 6.x that ships with Node.js 14 does not work with Python 3.11.
It looks like it was you that fixed node-gyp to support Python 3.11, available since version 8.x, so thank you very much for doing so.
https://github.com/nodejs/node-gyp/commit/c3c510d89ede3a747eb679a49254052344ed8bc3
When we drop support for Node.js 14 sometime after May next year we can unpin Python. Happy to leave this PR open until then, or perhaps mark as draft, so we don't forget.

I guess this can proceed now. Node 16 is EOL within a month as well.

Thank you Christian.


Add make check and Windows support

I've had my own log4cpp recipe for a little while. Now that conda-forge has one, it would be good to merge the couple features I have working (make check, Windows) so I can drop my recipe.

Checklist

[x] Used a fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Re-rendered with the latest conda-smithy
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

After you correct the build number to 1 and the it passed in our CI, I will merge that
Thanks for your help!
:)

Requested changes done!

Looks good to me. After the CI passed for windows I will merge that
Thanks @ryanvolz !
:)

Thanks @ryanvolz !


i18n(zh-cn): Update editor-setup.mdx

Description (required)
Update editor-setup.mdx

Related issues & labels (optional)

#8238

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

zh-cn
editor-setup.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


Android library should not include application attributes

https://github.com/INPS-it/SPIDlibraryAndroid/blob/7389606a74cdfccad3c8e60b25ed1b9b3f8598d9/spid/src/main/AndroidManifest.xml#L14-L17
Hello there,
First off, apologies that I do not speak Italian, I hope Google Translate will be helpful if needed. I noticed that this library specifies some attributes within the <application> tag of the AndroidManfiest.xml file. I don't believe this should be done as it could cause manifest merge issues when referenced in apps that specify those same attributes.

For example, in my build, I was required to add tools:replace="android:theme" in my own app's AndroidManifest.xml to resolve the manifest mergers at build time.

Hello, we are going to release a fix for this issue in the upcoming hours.
Thank you for your feedback


Feature request: Pass "selected" to MiniMap nodeClassName callback

Use case: Render selected nodes on minimap with custom styling (e.g. with custom border color).
As present time only node object is passed to nodeClassName callback, which is missing selected property (assume it's not included by design, since interface Node is also missing it).
Possible changes for API:

Add second argument to nodeClassName callback, like nodeClassName(node: Node, extraProps: { selected: boolean }).
Extend Node interface with selected prop (this may require more significant update of codebase).

Added since v10.


Author footnotes

Additional custom footnotes occasionally required to denote special statuses on the author list (e.g. ‘Authors listed in alphabetical order’).
User Stories
Author

As an author, I want to be able to add a footnote to authors so that I can list non-standard information about them.
As an author, I want to be able to remove an author footnote so that I correct errors.

Production staff

But what if . . . ?

Considerations

These are specifically to cover information that cannot be captured in a more semantic manner. The example we usually go to for this is 'Authors are listed in alphabetical order.'
At eLife, we dislike using these but they are a publishing convention and we accept that they are going to be required.

XML requirements
Miscellaneous footnotes contained in <author-notes> which are a child of
. The content is captured in a <fn fn-type=”other”> element:

    ...
    <contrib-group content-type="author">
        <contrib>
            <name>
                <surname>Atherden</surname>
                <given-names>Frederick P</given-names>
            </name>
            <xref ref-type="fn" rid="fn1">§</xref>
        </contrib>
        ...
    </contrib-group>
    …
    <author-notes>
        <fn fn-type="other" id="fn1">
            §

Author order was determined both alphabetically and in order of increasing seniority.

        </fn>
    </author-notes>
    …

PMC guidance:

Example from the JATS documentation:

Taken from: https://github.com/elifesciences/TextureRequirements/issues/16

See inVision files for author footnote


migrate project to .netstandard 1.3

This PR is to solve issue https://github.com/infobip/infobip-api-csharp-client/issues/3. I didn't test manually all of classes changed, but I believe that everything it works. Migrating to .netstandard, this package will be compatible with more versions of .net, mainly new versions of this framework, but only projects with .net 4.6 and above will work, according to this link  https://docs.microsoft.com/pt-br/dotnet/standard/net-standard

Hi,
We just released a new major version of the library, now it is based on .NET Standard 2.0.
Code contained within this repository is auto-generated, hence the changes will need to be made by us within library generation configuration.
Feel free to open issues on the repository for any issue or feature request.


Provide a CLI for converting without electron dependency

[x] I agree to follow the Code of Conduct that this project adheres to.
[x] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Is your feature request related to a problem? Please describe.
I'm creating graphs for documentation on readthedocs.io using your wonderful tool and have them committed to my project. Right now, I have to manually export to .png and .html (for use within an iframe) and commit them.
Describe the solution you'd like
I would like to only commit the .drawio file, convert it to all the formats I need in the CI, and do so reasonably quickly without having to download electron. An npm, pip or single binary would be great.
Describe alternatives you've considered
readthedocs.io supports using a custom docker image, so I could create one with the AppImage in it and call it. I'm not sure if it can run headless withou XvFB though.
Additional context
I thought mxgraph-js would be what I needed, but the repo is archived and I have no idea how to use the library to convert files. It doesn't seem to be a nodejs lib.

Any of:

https://github.com/olberger/docker-drawio-desktop-linux
https://github.com/rlespinasse/drawio-cli
https://github.com/rlespinasse/drawio-export

work?

Hi,
Those solution all wrap the desktop/electron app and are >100MB. That's massive for a CLI application and still doesn't work on CI services, who use their own docker images with their own dependencies.
Most CIs have pip or npm installed. Would it be a lot of work to provide a npm install -g drawio-cli that doesn't have external dependencies like electron and xvfb?
I was assuming mxgraph-js could be used for this since conversion shouldn't need a DOM, right? Or is it only for use in browsers?

mxgraph-js needs a DOM. The project started in 2005, node wasn't a thing...

I see... are there any plans at all to make it node compatible? Is there any way I could help doing so? The project is archived but still seems to get updates but there's no message as to why, hence the question.
If there are no plans for node or a non-electron CLI then this issue can be voided.

Yes it works with Xvfb.
We first tried https://github.com/Burnett01/actions-drawio but when that fail we smashed something together.
Here's what we came up with as a GitHub Action. The cli lines can obviously also be used directly in other scripts.
name: Render network diagrams

# Controls when the action will run.
on:
  # Triggers the workflow on push or pull request events but only for the main branch
  push:
    branches: [ main ]
    paths:
      - 'diagram.xml'
  pull_request:
    branches: [ main ]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  # This workflow contains a single job called "build"
  build:
    # The type of runner that the job will run on
    runs-on: ubuntu-20.04

    steps:
    - uses: actions/checkout@v2
    - run: wget --quiet https://github.com/jgraph/drawio-desktop/releases/download/v14.1.8/draw.io-amd64-14.1.8.deb
    - run: sudo apt install --yes libgtk-3-0 libnotify4 libnss3 libxss1 libxtst6 xdg-utils libatspi2.0-0 libuuid1 libappindicator3-1 libsecret-1-0 xvfb
    - run: sudo dpkg -i draw.io-amd64-14.1.8.deb
    - run: xvfb-run drawio --export --format pdf diagrams.xml
    - run: xvfb-run drawio --export --format png diagrams.xml

    - name: Upload PDF as artifact
      uses: actions/upload-artifact@v1
      with:
        name: pdf
        path: diagrams.pdf
    - name: Upload PNG as artifact
      uses: actions/upload-artifact@v1
      with:
        name: png
        path: diagrams.png

Any news on this?
We had plans to use our custom Docker image with mkdocs-drawio-exporter that requires Drawio desktop, but put it aside, because it seems impossible to get it working on Windows 10 WSL (only works on Windows 11 WSL preview) and it is a pain to create a small Docker image without plenty of dependencies.
As of now, we completely gave up this idea and started to use editable .svg or .png files.
An official Drawio CLI version would help to overcome those issues.


parse_str

parse_str leaves ? in the first parameter when used in the following form:
parse_str(window.location.search);

The same way behaves PHP, at least version 5.2.5 that I could test on codepad.org http://codepad.org/DK2Lzvkk

You are correct, assuming that the user uses ?var=1 on the parse_str, but in PHP, I would do the following: parse_str($_SERVER["QUERY_STRING"]) and get the vars. I know there is no equivalent in JS, but this JS function could perfected this way.

I got your point, it's a valid one, but since - afaik - the aim of this project is to be as much php-compliant as possible, this is a won't fix. But let's @kvz make the final decision.

Not sure if I follow. What I understand is that PHP accepts both:
?var=1

and
var=1

if so, php.js should aim to support the same inputs. a rule of thumb is that test cases written for a php function (if reasonably possible) should also work on a php.js version.

In php if you pass ?a=b&c=d then the result array will be array('?a' => 'b', 'c' => 'd') and phpjs' implementation also follows this behaviour. What jarodium is asking for is to return {'a': 'b', 'c': 'd'} (without the question mark in property name)

I see, in that case you are right @kukawski, it's not php.js' job to stray from php's behavior even if that make life easier for developers.
There has been some work done by @brettz9 in the past to also create php-like globals in js here: https://github.com/kvz/phpjs/blob/master/experimental/language/%24_GET.js to smoothen these things over - but that remains experimental as there doesn't seem to be a clean way to do it.

http://jsfiddle.net/10swk7v9/ ?

Nice work :) and definitely worth saving/documenting/replacing in experimental :) but (as I expect you agree) too invasive to give a place in main imho

Yeah, Object.defineProperty had not existed at the time of writing, but if one is not using functions anyways, one could just adapt your code, @kukawski's , like this:
window.$_GET = {};
(location.search.substr(1) + '&').replace(/([\w%]+)=?([^&]*)&/g, function (ignore, name, value){
    window.$_GET[decodeURIComponent(name)] = decodeURIComponent(value);
});

FYI, the URLSearchParams object could make this even more elegant once implemented across browsers (currently in Firefox: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams ).
Off topic somewhat, but in case it interests people, I've built a fork of a project at https://github.com/brettz9/form-serialize which lets you serialize forms into URL strings, and if one uses this with onhashchange (say by changing the hash after "submitting" a form), one can allow for retrieving of $_GET-like parameters by the app but after the hash ('#'), so one doesn't need a page refresh.

Closing this for now gents, as with this projects renewed goals (http://locutus.io/2016/05/announcing-locutus/) touching globals is a bit out of scope


⚠ Bofrost.at has degraded performance

In 2af3ed0, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 857 ms

Resolved: Bofrost.at performance has improved in 5385463 after 20 minutes.


feat: backup restore

Ref #2068
https://user-images.githubusercontent.com/11502495/175021176-937c8e6f-a986-4cae-a795-8df8f395cb01.mp4
https://user-images.githubusercontent.com/11502495/175021182-ad62224f-4fdc-4096-89a0-3dea3b4677a3.mp4

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 80 (2.5%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.1%) to 26.752%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/apis/ConfigApis.js
0
10
0.0%

app.ts
0
68
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.1%

Covered Lines:
3670

Relevant Lines:
14463

💛  - Coveralls

TODOs:

[ ] Scheduled backup settings
[ ] NVM backups
[ ] Fix backups not saved on backups dir
[ ] Backups dir env var

Couple of thoughts:

[ ] Show "Please wait, backing up NVM..." instead of "Inclusion starting..." or "Exclusion starting..." while the NVM backup is being made. Ideally show a progress bar in the dialog.
[ ] Give the NVM backup (on event) a name that helps remember what was done, e.g. NVM_12345_before_exclusion or  NVM_12345_before_replace_node_2
[ ] Add a backup/restore everything button that does both the store and NVM backup/restore

@AlCalzone Should I wait for a new zwavejs release befgore merging this?

Awesome. From the preview:

settings. Regular backups are enable/disable and have cron expressions. Makes sense.
nvm backup has both enable disable, cron and then additionally “on event” - will I disable on event, if I disable backups, do i disable them in events as well?
It says nvm backups are before events. Will it make sense to do them after as well?

the nvm backup takes seconds last I did it, does this change over time - will we encounter minutes waiting while clicking include?

are all backups in a backup folder I can point my backup tool at?
How is the restore process - simple unpack zip and point at nvm?

Awesome. From the preview:

Settings. Regular backups are enable/disable and have cron expressions. Makes sense.
nvm backup has both enable disable, cron and then additionally “on event” - will I disable on event, if I disable backups, do i disable them in events as well?
It says nvm backups are before events. Will it make sense to do them after as well?

the nvm backup takes seconds last I did it, does this change over time - will we encounter minutes waiting while clicking include?

are all backups in a backup folder I can point my backup tool at?
How is the restore process - simple unpack zip and point at nvm?

If I disable backups, do i disable "on events" as well?

NVm scheduled backups and NVM backup on event are indipendent each others but yeah maybe add 'scheduled' on the switch could make this more obivious

Will it make sense to do them after as well?

I think it could makes sense but IMO the best woould be to have also it enabled scheduled so at worst you loose the last operation if it fails before the scheduled backup, making one before and one after it's too much (takes some time)

The nvm backup takes approx. 30 seconds on my end, does this change over time (more devices = more time?)

I have no clue, I don't think so as I think it backups all the memory but I let @AlCalzone answer to this.

Maybe when some events occur, there could be a checkbox to "do backup before (event)" - its default state (checked/unchecked) will depend on this setting

Could make sense but IMO if someone has it enabled could also disable it if he has lot of nodes to add. Would just be an (useless) additional step in inclusion/esclusion process

How is the restore process - simple unpack zip and point at nvm?

The store restore process simply asks you to upload a zip file and it unzips the things he has backuped in the same place them was. The nvm restore is done from the adbanced dialog in control panel

Nice!... Sorry I didn't see your reply, must've missed an email, but it was merely thoughts after all :)
I'm on the snap train now, so I'm not sure how to test out stuff anyways.
Looking forward to getting some backups in place :)

Hello,
thank you for this new functionality.
So NVM backup will be 1 more file inside the "store".
the video shows a manual store backup, from the UI, where you can download your backup file and do place it where you want. But where is going to be stored the Automatic scheduled "store Backup" ?
Using the Zwavejs2mqtt container, should I Bind all the container "store" folders to a folder naturally accessible from my Host (for back-up purposes mainly) ?

Both NVM and store backups are stored inide store/backups folder.

@rezzalex I would map the entire store dir to a local folder, not only the backup one :) Like suggested in docs

It sounds safe to do so, but I thought the documentation told me not to do so :
https://zwave-js.github.io/zwavejs2mqtt/#/getting-started/docker
I used the docker-compose.yml, where there is no bind at all.
Now I need to "move" the "store" folder content to a local folder, without losing everything...

https://zwave-js.github.io/zwavejs2mqtt/#/getting-started/docker?id=run-using-a-local-folder

yes, but if I do so right now, I could lose the content of the current volume. I will try to find a solution.
What do you think about modifying the docker-compose file in the doc so that it include the bind ? that would prevent my case to happen again

It will probably be for all’s nvm backups and restores.
As an aside. I had a thought today. Maybe a scheduled nvm backup will hide issues that come from running for a long period of time. If I backup each week, then the driver will be reset every week, potentially hiding an issue that could arise from running - think a millisecond counter that overflows or a list of things that becomes too large.
Fun thought. :P

From: Marley Jaffe @.>
Sent: Thursday, July 7, 2022 12:01:13 AM
To: zwave-js/zwavejs2mqtt @.>
Cc: Michael Bisbjerg @.>; Comment @.>
Subject: Re: [zwave-js/zwavejs2mqtt] feat: backup restore (PR #2469)
@marleyjaffe commented on this pull request.
I'm looking to start using this new functionality and looking for clarity.

In src/components/Settings.vuehttps://github.com/zwave-js/zwavejs2mqtt/pull/2469#discussion_r915288976:

@@ -299,7 +299,7 @@

<v-switch

                                                                  hint="Enable/Disable backup before node add/remove/replace operations. DISCLAIMER: After an NVM backup controller will be soft-resetted, if you disabled soft-reset you should NOT use this feature"

                                                                  hint="Enable/Disable backup before node add/remove/replace operations. DISCLAIMER: After an NVM backup controller will be soft-resetted, please make sure your stick can be soft-reset before enabling this feature"

Does this warning/disclaimer only apply to the Backup on Event functionality or is it applicable to all NVM backup actions?
—
Reply to this email directly, view it on GitHubhttps://github.com/zwave-js/zwavejs2mqtt/pull/2469#pullrequestreview-1030760055, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAH2YJYAZONYXDCVXL6LQHTVSX62TANCNFSM5ZCLTREQ.
You are receiving this because you commented.Message ID: @.***>

That's what I figured. This disclaimer should probably be moved to underneath the Controller (NVM) Backup header instead of on the Backup on Event toggle so it's clear its for all NVM backup actions.

Every NVM backup currently triggers a bug in the 700 series controller firmware. Silabs confirmed the issue, hope we'll see a fix soon. For now the soft-reset is a workaround.

That's what I figured. This disclaimer should probably be moved to underneath the Controller (NVM) Backup header instead of on the Backup on Event toggle so it's clear its for all NVM backup actions.

I'm going to fix this now, thanks


Load model directly on cuda device for the ONNX export

Significantly reduces load time, especially for large models

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.