Restart Grid work

Pull Request Description
What issue does this change request address?
Closes #2037
What are the significant changes in functionality due to this change request?
This adds a fix helpful for loading data and then saving it again.
This also adds a test and some documentation on how to restart a failed run.

For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.

[ ] 1. Review all computer code.
[ ] 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual and xsd schema. If the input syntax change deprecates existing input files, a conversion script needs to be added (see Conversion Scripts).
[ ] 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the wiki for details.
[ ] 4. Automated Tests should pass, including run_tests, pylint, manual building and xsd tests. If there are changes to Simulation.py or JobHandler.py the qsub tests must pass.
[ ] 5. If significant functionality is added, there must  be tests added to check this. Tests should cover all possible options.  Multiple short tests are preferred over one large test. If new development on the internal JobHandler parallel system is performed, a cluster test must be added setting, in  XML block, the node <internalParallel> to True.
[ ] 6. If the change modifies or adds a requirement or a requirement based test case, the Change Control Board's Chair or designee also needs to approve the change.  The requirements and the requirements test shall be in sync.
[ ] 7. The merge request must reference an issue.  If the issue is closed, the issue close checklist shall be done.
[ ] 8. If an analytic test is changed/added is the the analytic documentation updated/added?
[ ] 9. If any test used as a basis for documentation examples (currently found in raven/tests/framework/user_guide and raven/docs/workshop) have been changed, the associated documentation must be reviewed and assured the text matches the example.

Job Precheck on 0cb0c7d : invalidated by @joshua-cogliati-inl
ERROR  : Failed to get file information for file descriptor 14: Bad file descriptor

Job Mingw Test on fc21545 : invalidated by @joshua-cogliati-inl
Failed tests/framework/ensembleModelTests/testEnsembleModelLateralInsertions  Failed tests/framework/ensembleModelTests/testEMReusability

Checklist is good, and PR can be merged.


In scan mode, Narrator is not reading proper information when focus lands on the whole calendar picker control

A team member will update this issue with more details soon.

This is your friendly Microsoft Issue Bot. I created this issue automatically as requested by a team member.


White space being added before and after element

I created a word document using version 1.8 of htmltoword.  It was interpreted fine in Openoffice, but after trying to open with a copy of microsoft word, the software reported the file was corrupted.  I upgraded to version 2.0 and copied to the xslt to where I believe was the correct place, and regenerated the document.  This document could be opened in word, but alot of preserve whitespace xml nodes were added, creating undesirable formatting.  Is there something im missing here?  I removed everything complex in the end, and tried to just render a paragraph, but still excessive white space appeared above and below the paragraph in the produced word document.  I can attempt to write another xslt, but I'm wondering if there's anything obvious that ive missed....

Could you try this fork?:
https://github.com/karnov/htmltoword
There has been a lot of cleanup in this gem. I think the version you are using are not 1.8?, but 0.1.8?
The maintained version above is a 0.4.0 now

Hi mate, thanks for getting back to me :) i am indeed using 0.1.8, but I wrote another xslt to get the job done.  Thank you for your help though!


⚠ GitHub has degraded performance

In 4d54f22, GitHub (https://www.githubstatus.com/api/v2/status.json) experienced degraded performance:

HTTP code: 200
Response time: 370 ms

Resolved: GitHub performance has improved in 3d6f304.


Name Learning

Hi All, can you use both ner_crf and ner_spacy as entity extractor?
I plan to create a chatbot for registration using RASA NLU , I plan to get the name ( First Name would be fine for now) and email address.
Using ner_crf , i placed around 50 first names (some starts with capital letters while some do not) it does not trigger my entity "first_name" if the name is not capitalized and not in my training data. If the names is not in my training data but starts with a capital letter, RASA NLU mostly can trigger my "first_name" entity. Any tips on name learning? I am okay with first name for now. Thanks All!

In these images, I did not place "donald" or "Donald" in my training data.

The crf component is case sensitive by default. You can change that though by modifying the features the CRF is looking at:
  "ner_crf": {
    "BILOU_flag": true,
    "features": [
      ["low", "title", "upper", "pos", "pos2"],
      ["bias", "low", "word3", "word2", "upper", "title", "digit", "pos", "pos2", "pattern"],
      ["low", "title", "upper", "pos", "pos2"]],
    "max_iterations": 50,
    "L1_c": 1,
    "L2_c": 1e-3
  }

You need to remove the "low" from the feature lists and add the whole "ner_crf" config to your models configuration.

actually low is the whole word just lowercased. Removing this means the CRF doesn't have access to the identity of the word (which may or may not be desired)
Full set of features is here : https://sklearn-crfsuite.readthedocs.io/en/latest/tutorial.html#features
I think you want to remove the title feature

Ah right, sorry for that.

@efvaldez did the above help answer your questions?
to answer your other one, yes you can use ner_spacy with ner_crf just add it to your pipeline:

Hello Sir @tmbo @wrathagom @amn41  sorry for the late reply, thank you so much for the answers, I will try these right now.  The chatbot I am creating is for registration (name,email etc.) for now. Would it be better if I configure ner_crf to accept lower case names instead of using nlp_spacy's Person Entity for the name?
Lastly, around how many training data should I use for ner_crf to recognize first names in lower or upper case? Thanks

Hello Sir @tmbo @wrathagom @amn41 sorry for the late reply, thank you so much for the answers, I will try these right now. The chatbot I am creating is for registration (name,email etc.) for now. Would it be better if I configure ner_crf to accept lower case names instead of using nlp_spacy's Person Entity for the name?
Lastly, around how many training data should I use for ner_crf to recognize first names in lower or upper case? Thanks

Hi All, I want to create a chat bot for registration, for now I am okay with name(first name is okay for now) and email address. I removed the title feature in config_defaults.json

However I find it weird that now , when I try to input "vincent" and "brian which are not in my training data and then I tried "eduardo" which is in my training , the entity is first_name which is correct but the intent is get_email, which should be get_name.

here is my training data
testjson.txt

Hi All, I tried adding regex features, but I get "ValueError": Unknown Training format, even thou I copied and paste this:
"rasa_nlu_data": {
"regex_features": [
{
"name": "zipcode",
"pattern": "[0-9]{5}"
},
{
"name": "greet",
"pattern": "hey[^\s]*"
},
]
From the tutorial http://rasa-nlu.readthedocs.io/en/latest/dataformat.html?highlight=regex_features#regular-expression-features
But if I only used the zipcode,it works. Why so? Thanks

Sorry I don't see any get_email intents in the training data?
Also, I am pretty sure duckling can do e-mail: https://rasa-nlu.readthedocs.io/en/latest/pipeline.html#ner-duckling

Closing @efvaldez let us know if you still had more questions.

Good day, I am very sorry for the late reply. May I ask with this training data
textjson.txt
and with this as my config_defaults.json
config_defaults_json.txt
My app could still not get all email and first_name intents:

The conversation goes as:
Me: hi
bot: what is your name?
Me: ludovic is my name.
Then it goes index zero for it does not have a first_name intent in the response. I plan to create a simple registration chatbot that gets name (first name for now) and email. When I test my bot using other names and emails and if it triggers get_name and get_email intent and with first_name and email entities , it gives me 80%+ accuracy. However when I test it with a name like "ludovic" from wiki leaks , it is not accurate. What can I do? Thanks

Hello!
I want achieve the same. I think if user enters just the name
Me: hi
bot: what is your name (just name please)?
Me: ludovic
http://rasa.com/docs/core/slotfilling/ freetextinput can help or,
https://github.com/mrbot-ai/rasa-addons swap intents

I need a better names understanding too, should i use giant vectors to achieve this?


Do not use pointers in options.

Instead of pointers use defaulOptions to fill default values for
options.
See:

https://stackoverflow.com/a/39161308/1387612
https://github.com/dcos/dcos-diagnostics/pull/159#discussion_r331935835

Fixes: https://jira.mesosphere.com/browse/DCOS_OSS-5472

:wave: @drewvanstone @br-lewis @bamarni @rgo3  Can you review, please?

Codecov Report

Merging #160 into master will increase coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #160      +/-   ##
==========================================
+ Coverage   66.64%   66.65%   +0.01%
==========================================
  Files          30       30
  Lines        2965     2966       +1
==========================================
+ Hits         1976     1977       +1
  Misses        796      796
  Partials      193      193

Impacted Files
Coverage Δ

api/rest/cluster_bundle_handler.go
73.3% <100%> (+0.11%)
:arrow_up:

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 68d1154...c832280. Read the comment docs.


Theme downloads are not tracked

When a theme is normally downloaded via Obsidian's theme browsers, the download is tracked by sending a request to https://releases.obsidian.md/stats/theme/THEME-NAME/download.
Not sure how many people actually download themes via this plugin, but this ensures that those downloads are being tracked too!

Thanks for reaching out. BRAT is designed as a testing tool. The assumption is only testers would use BRAT for instal and testing. Eventually when theme or plugin finish their testing, users would disconnect BRAT and just use the available solution from within Obsidian's community plugin or themes tools.
Some may use BRAT though for installing themes and plugins, and it works, but its beyond the scope of this tool.  Hence the BR in BRAT "Beta Reviewer's".


[type:refactor] remove hutool

Make sure that:

[ ] You have read the contribution guidelines.
[ ] You submit test cases (unit or integration tests) that back your changes.
[ ] Your local test passed ./mvnw clean install -Dmaven.javadoc.skip=true.

Codecov Report

Merging #4773 (a9f6e33) into master (fa5ca90) will decrease coverage by 0.03%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #4773      +/-   ##
============================================
- Coverage     65.61%   65.58%   -0.03%
+ Complexity     8114     8111       -3
============================================
  Files          1130     1130
  Lines         32965    32953      -12
  Branches       2960     2956       -4
============================================
- Hits          21629    21612      -17
- Misses         9615     9619       +4
- Partials       1721     1722       +1

see 17 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Create Dockerfile

Initial Commit of Dockerfile

I made a Dockerfile and entryscript for Docker - please merge to main branch


Preparing for spring 2023 biannual (March 13-14th)

Hi @teixeirak and @rudeboybert,
We're planning to complete the spring biannual measurement on March 13th and 14th this year. I've created a spring biannual form, but had to cobble things together a bit. I think with only picking this up 2x a year, I'm just not following things through properly. Could we plan a meeting sometime to discuss the following?

Adding 'area' as a permanent field to the dendro_trees.csv file
Removing some fields (if they will no longer be collected) - crown.condition, crown.illum, lianas
Discuss the workflow - I had said I'd update some of those and haven't. I know Bert has put a lot of work into them, but more details can be added to help myself/others prep forms
Clarify the corrections process - field_fix files, etc.
No longer adding files to resources/field_forms?

Also, we'll want to address #125 (should be easy).


Removes dead code and unnecessary nullables from tests

:scroll: Description
Removes dead code, dead files and unecessary nullable parameters from dart/test and dart/lib with the help of dart_code_metrics
:bulb: Motivation and Context
Fixes #949
:green_heart: How did you test it?
dart test
:pencil: Checklist

[x] I reviewed submitted code
[x] I added tests to verify changes
[x] I updated the docs if needed
[x] All tests passing
[x] No breaking changes

The cases here https://github.com/getsentry/sentry-dart/issues/949#issuecomment-1257566705 are not addressed

@marandaneto I've added some ignore: unused-code to the parts that were breaking the tests if removed

@hugobrancowb there are some classes or methods that are removed but it's likely false positive.
there are conditional imports if it's Web or not, and in some cases, it's only used if it's web or io, and those classes or methods are found as not used but they are.
You'd need to double-check all of that, I suspect that you should delete any class or method most likely.

Closing the issue as a part of large repository cleanup, due to it being inactive and/or outdated.
Please do not hesitate to ping me if it is still relevant, and I will happily reopen and work on it.
Cheers!


Bro nii.gz dimension is 141,178,128 how to resize it into 128,128,128 before saving ?

See SaleToFixed class in transforms.py

Bro tht I saw but I planning to save nii.gz I'm referring your work for
only cropping volume. Actually I'll later convert it into Hdf5 so .... Is
there a way so tht in preprocessing.py I can resize nifty1image to smaller
dimension??
On Tue 26 Feb, 2019, 9:37 PM Sachin Mehta<EMAIL_ADDRESS>wrote:

See SaleToFixed class in transforms.py
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/sacmehta/3D-ESPNet/issues/2#issuecomment-467499680,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AijbZUp32Ei84ukkgM-XLcW3l9kyePNZks5vRVu_gaJpZM4bSelX
.


Transformations to a Path3D applies to CSG that uses said Path3D twice when scene is first loaded.

Tested versions
Found in Windows 10 - Godot v4.2.1.NET, but is not specific to C and works on the normal Godot v4.2.1
Issue also found on 4.0.4 stable, 4.1.3 stable, and 3.5.3 stable.
Currently testing other versions.
System information
Windows 10 - Godot v4.2.1.NET
Issue description
Applying a transform such as moving the Node of a Path3D left 20 units, results in the geometry of the CSG moving 40 units/doubling up.
Steps to reproduce

Make a Path3D
Create a csg polygon or anything that has a length that can be set to a path or curve
Move the Path3D's node from the origin
This causes multiple issues:
The double transform happens when the csg is unselected inside the editor
The double transform happens when the scene is first loaded in game
When using "get_tree().reload_current_scene()" the csg double transform will be undone

https://github.com/godotengine/godot/assets/73031279/c41d3894-01ec-4a93-ba16-27d5d2a4b65f
Example in my project
https://github.com/godotengine/godot/assets/73031279/b4ccee91-8a8e-4c13-9fcb-d2f811403edb
Minimal reproduction project (MRP)
Files.zip

Interestingly also causes issues on reload when you move the csg and not the path


Test Python 3.7

Added some tox envs for testing compatibility with Python 3.7

Thanks for the contribution!

@blag Hello! I just realized that flex v6.14.1 (the latest published version) doesn't contain this change yet, and it's from 2019. Would it be possible to have a newer version released with the latest changes in the main branch? Thanks in advance 🙏🏻


Support fp8 w8a8 for pt backend

Motivation
Support fp8 w8a8 for pt backend
Modification
Support fp8 w8a8 for pt backend
BC-breaking (Optional)
None
Use cases (Optional)
fp8 quant
lmdeploy lite smooth_quant \
  meta-llama/Meta-Llama-3-8B-Instruct \
  --work-dir Meta-Llama-3-8B-Instruct-fp8-w8a8 \
  --quant-dtype fp8

chat
lmdeploy  chat Meta-Llama-3-8B-Instruct-fp8-w8a8 --backend pytorch

Checklist

Pre-commit or other linting tools are used to fix the potential lint issues.
The modification is covered by complete unit tests. If not, please add more unit tests to ensure the correctness.
If the modification has a dependency on downstream projects of a newer version, this PR should be tested with all supported versions of downstream projects.
The documentation has been modified accordingly, like docstring or example tutorials.

https://github.com/mit-han-lab/smoothquant/blob/c61476d728e42ae0d8a35e7e78494edcac3237b5/smoothquant/smooth.py#L61
cc @AllentDan
The official smoothquant clamp weight scales using 1e-5

https://github.com/mit-han-lab/smoothquant/blob/c61476d728e42ae0d8a35e7e78494edcac3237b5/smoothquant/smooth.py#L61 cc @AllentDan The official smoothquant clamp weight scales using 1e-5

It performs clamp directly on the weight while in our codes it only influence the Denominator.

May remove the conflict

cc @jinminxi104 will it affect dlinfer?

May check if dlinfer support w8a8-int8/fp8
If it hasn't done it yet, may raise NotImplementedError

May check if dlinfer support w8a8-int8/fp8
If it hasn't done it yet, may raise NotImplementedError

dlinfer is planning supporting w8a8-int8. But no fp8 plan.

ut failed


Using as a module

Can this package be used as a module instead of the CLI? If yes, are there any examples? Thanks!

Just finished a major refactor, this is now possible in the newest version.
Documented in https://github.com/ssine/pptx2md?tab=readme-ov-file#api-usage .


KaTeX is not working with AJAX (fetch)

Before reporting a bug

[x] Check common issues.
[x] Check the bug is reproducible in the demo. If not, check KaTeX is up-to-date and installed correctly.
[x] Search for existing issues.

Describe the bug:
KaTeX is not working with AJAX.
To Reproduce:
In my file katex.txt
$a$
$$b$$

In js file
fetch("katex.txt")
  .then(function(response) {
  return response.text()
  }).then(function(body) {
    document.getElementById("body").innerHTML = body;
  })

In html
<html>
  <head>
    ... KaTeX and jQuery includes
  </head>
  <body id="body"></body>
</html>

And I just see $a$ $$b$$
Environment (please complete the following information):

KaTeX Version: 0.12
Device: Plasma Desktop
OS: ArchLinux
Browser:  Chrome
Version: I'm not sure

Additional context:
None

Oh I know, put KaTeX's options function into PJAX/AJAX callback function.
fetch(value)
  .then(function(response) {
    return response.text()
  }).then(function(body) {
    renderMathInElement(document.body,{
    delimiters: [
      {left: "$$", right: "$$", display: true},
      {left: "$", right: "$", display: false}
    ]
    })
  })


Candidate-Job Match Percentage

Create a button that gives managers a functionality of getting match % for applicants using resume and job description.

Create a button that gives managers a functionality of getting match % for applicants using resume and job description.

Okay, should I use a similar workflow as the ATS checker?

Create a button that gives managers a functionality of getting match % for applicants using resume and job description.

Okay, should I use a similar workflow as the ATS checker?

Yes

Yes

Will get started on it then.

Added the functionality with a similar structure to the ATS score checker, but with a different prompt and job description fetching from database.

Done!


Fix chart deployment ENABLE_WEBHOOK env var

The env var is defined as plain true in the rendered chart, making the deployment fail.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm


Minor module improvements

Motivation for this change
Some tiny improvements to the module system:

Removing _module from the evaluation result, this will be very useful for https://github.com/NixOS/nixpkgs/pull/82743, as it means that people won't have to filter out that key manually from every submodule that's used.
Improving one error message
Fixing another error message

Ping @roberth
Previous discussion regarding the removal of _module is in https://github.com/NixOS/nixpkgs/pull/82461#discussion_r392178468, where @roberth mentioned that he uses it for debugging sometimes. This could still be exposed via an explicit and non-module-internal option specifically for NixOS modules though.
Things done

[x] Implemented tests for the error message bits
[x] Successfully evaluated my system configs with the _module change

_module still is used by nixpkgs/eval-config.nix.

https://github.com/NixOS/nixpkgs/blob/2719f569d212291379a6c3d48eefcd83db21a867/nixos/lib/eval-config.nix#L50
https://github.com/NixOS/nixpkgs/blob/2719f569d212291379a6c3d48eefcd83db21a867/nixos/lib/eval-config.nix#L72

This ends up breaking the Mobile NixOS eval.
The current implementation has a copy of that file, but I just tried locally with an import re-using the one from Nixpkgs and it fails the same way:
trace: **********************************
trace: * Evaluating device: qemu-x86_64 *
trace: **********************************
trace: WARNING: evaluation includes ./local.nix
error: attribute '_module' missing, at /Users/samuel/Projects/mobile-nixos/nixpkgs/nixos/lib/eval-config.nix:72:12
(use '--show-trace' to show detailed location information)

I'll be coming soon with better repro info and a deeper investigation.

@samueldr Thanks for the report! Fixed in https://github.com/NixOS/nixpkgs/pull/82960

@Infinisil I used the following as an evaluation-time check against accidentally mis-spelling systemd service names, like so:
# Example:
#   serviceUnitOf cfg.systemd.services.myservice == "myservice.service"

serviceUnitOf = service: "${service._module.args.name}.service";

This now no longer works in the places I use it (e.g. top-level nixops deployments).
Do you happen to know what I can use instead?

@nh2 The systemd module could be improved to provide this. Something like:
$ cd nixpkgs
$ nix repl .
nix-repl> n = nixos {}

nix-repl> n.config.systemd.services.nix-daemon.unitName
"nix-daemon.service"

Proof of concept:
diff --git a/nixos/modules/system/boot/systemd-unit-options.nix b/nixos/modules/system/boot/systemd-unit-options.nix
index 4154389b2ce..69c764df719 100644
--- a/nixos/modules/system/boot/systemd-unit-options.nix
+++ b/nixos/modules/system/boot/systemd-unit-options.nix
@@ -43,6 +43,16 @@ in rec {
       '';
     };

+    unitName = mkOption {
+      type = types.str;
+      description = ''
+        The name of the unit, such as <literal>foo.service</literal>, <literal>bar.socket</literal>, etc.
+
+        This value is derived from the name of the attribute that contains the unit. It can not be set. If you need to base the name on a variable, use a dynamic attribute. See <link xlink:href="https://nixos.org/manual/nix/stable/expressions/language-values.html#sets">https://nixos.org/manual/nix/stable/expressions/language-values.html#sets</link>
+      '';
+      readOnly = true;
+    };
+
     requiredBy = mkOption {
       default = [];
       type = types.listOf types.str;
diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix
index 8fcf62d7fbf..9427f9988b6 100644
--- a/nixos/modules/system/boot/systemd.nix
+++ b/nixos/modules/system/boot/systemd.nix
@@ -262,7 +262,9 @@ let

   serviceConfig = { name, config, ... }: {
     config = mkMerge
-      [ { # Default path for systemd services.  Should be quite minimal.
+      [ {
+          unitName = "${name}.service";
+          # Default path for systemd services.  Should be quite minimal.
           path = mkAfter
             [ pkgs.coreutils
               pkgs.findutils
@@ -345,7 +347,7 @@ let
                 "Environment=${builtins.toJSON "${n}=${env.${n}}"}\n";
               # systemd max line length is now 1MiB
               # https://github.com/systemd/systemd/commit/e6dde451a51dc5aaa7f4d98d39b8fe735f73d2af
-              in if stringLength s >= 1048576 then throw "The value of the environment variable ‘${n}’ in systemd service ‘${name}.service’ is too long." else s) (attrNames env)}
+              in if stringLength s >= 1048576 then throw "The value of the environment variable ‘${n}’ in systemd service ‘${def.unitName}’ is too long." else s) (attrNames env)}
           ${if def.reloadIfChanged then ''
             X-ReloadIfChanged=true
           '' else if !def.restartIfChanged then ''
@@ -1114,7 +1116,7 @@ in

     systemd.units =
          mapAttrs' (n: v: nameValuePair "${n}.path"    (pathToUnit    n v)) cfg.paths
-      // mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.services
+      // mapAttrs' (n: v: nameValuePair v.unitName     (serviceToUnit n v)) cfg.services
       // mapAttrs' (n: v: nameValuePair "${n}.slice"   (sliceToUnit   n v)) cfg.slices
       // mapAttrs' (n: v: nameValuePair "${n}.socket"  (socketToUnit  n v)) cfg.sockets
       // mapAttrs' (n: v: nameValuePair "${n}.target"  (targetToUnit  n v)) cfg.targets
@@ -1128,7 +1130,7 @@ in

     systemd.user.units =
          mapAttrs' (n: v: nameValuePair "${n}.path"    (pathToUnit    n v)) cfg.user.paths
-      // mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.user.services
+      // mapAttrs' (n: v: nameValuePair v.unitName     (serviceToUnit n v)) cfg.user.services
       // mapAttrs' (n: v: nameValuePair "${n}.slice"   (sliceToUnit   n v)) cfg.user.slices
       // mapAttrs' (n: v: nameValuePair "${n}.socket"  (socketToUnit  n v)) cfg.user.sockets
       // mapAttrs' (n: v: nameValuePair "${n}.target"  (targetToUnit  n v)) cfg.user.targets

Actually the systemd module can be cleaned up a lot and be more useful, but I have my hands full with improvements in other areas.

I have extracted the above discussion on evaluation-time checking of systemd units into its own issue for discussion: https://github.com/NixOS/nixpkgs/issues/153369


replaced ifconfig

it was slow as hell with multiple timeouts

Pull Request Test Coverage Report for Build 670994109

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 97.959%

Totals

Change from base Build 670732178:
0.0%

Covered Lines:
749

Relevant Lines:
761

💛  - Coveralls


Apply custom theme properties

Ability to define custom properties in createMuiTheme() and reference them via e.g. makeStyles(theme => ({ theme.custom }) ) so that it wouldn't be necessary to re-declare static variables what are used for the styling of multiple components.
Use case
Consider separating the code contents of one of the examples shown at the Drawer component page.
Most of these examples have a fixed constant what defines the "drawersWidth". Once you divided the AppBar, Drawer en main/content into separate wrapper components and into separate files. Then you will notice that the "drawerWidth" constant is repeatedly defined. Of course this is not very useful. The most favorable way of retrieving this value is by using the injected theme variable. This will be in line with how colors are retrieved and other theme related variables.
Motivation
Implementation of this feature prevents the export and import of this custom property or properties. Like I already said before these type of theme related variables should not be part of the local variable definitions or imports. It should rather be a property in the injected theme object since it's part of the theme definition.

This should already be possible, did you check the TypeScript guide?

This should already be possible, did you check the TypeScript guide?

Not sure where to look for, but I tried the following.
import React from "react";
import {ThemeProvider} from '@material-ui/styles';
import {createMuiTheme, Theme} from '@material-ui/core/styles';

export interface CustomTheme extends Theme {
	measurements: {
		[index: string]: number
	}
}

const defaultTheme = createMuiTheme();

const defaultThemeContext: CustomTheme = {
	measurements: {
		drawerWidth: 240,
	},
	...defaultTheme
};

const ThemeContextProvider: React.FC = ({children}) => (
	<ThemeProvider theme={createMuiTheme(defaultThemeContext)}>
		{children}
	</ThemeProvider>
);

export default ThemeContextProvider;

When calling  theme.measurements.drawerWidth typescript returns the following error:

TS2339: Property 'measurements' does not exist on type 'Theme'.

@DragosMocrii This looks like an elegant solution. I have tried to make it work in https://codesandbox.io/s/customcolor-material-demo-forked-y0iup?file=/demo.tsx but couldn't. Any help?

@oliviertassinari I think that you also need to extend the Palette/PaletteOptions interfaces. See this https://material-ui.com/customization/palette/#adding-new-colors

@oliviertassinari I've made some changes to your codesandbox, and created a Sidebar.tsx file showing that custom properties work well with TS. Although I noticed this is MUI v5 which I am not familiar with, and looks like some things changed over there.


Adding subscription blocking and other status validation

Purpose
fixes https://github.com/wso2/apk/issues/2147

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

Project coverage is 26.02%. Comparing base (3db33a1) to head (3643b55).
Report is 5 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2148      +/-   ##
==========================================
- Coverage   27.95%   26.02%   -1.93%
==========================================
  Files         124       68      -56
  Lines       14585     4741    -9844
  Branches     2674     2431     -243
==========================================
- Hits         4077     1234    -2843
+ Misses      10377     3507    -6870
+ Partials      131        0     -131

Flag
Coverage Δ

adapter
?

common-controller
?

config-deployer-service
26.02% <ø> (-0.02%)
:arrow_down:

idp-domain-service
?

router
?

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

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


Add Word Count exercise

Shows usage of regular expressions and forEach method.
Passes all specified tests.
I couldn't find how to get the uuid for this exercise to enter it in the config.json file.

Can anyone tell me how would i format my code so that the travis ci build passes

@kabiir pub run dart_style:format -l 120 -w Just be sure to include the path to the exercise after the -w
Thanks for the work!

@Stargator, I'll be finishing this PR in couple of hours. My time zone is different so I'll start working on other exercises a bit late than you would expect.

@Stargator Please review again, i've refactored the code. i was hoping to add default parameter to the word_count.dart but didn't know if i should. Beginners won't know where to start from so i think i should add
void countWords(String inputString){   // Put your code here }
or
additionally
Map<String, int> countWords(String inputString){   // Put your code here }
The later might force them to go for a specific approach.
So which one should i add?

Leave the class empty. It's up to the user to determine a solution. They already know a function named countWords is expected. It wouldn't add anything.
I recommend setting the value of myWordCounter.countWords to a final List<Map, String>.
Sort the topics alphabetically.
In the config.json, I recommend moving the word-count exercise after bob. Update the "unlocked_by" parameter respectively for both.

Looking good, @kabiir! Sorry for the back a forth, there's a lot to consider and review.

@Stargator it's fine, I'm enjoying dart.

I recommend setting the value of myWordCounter.countWords to a final List<Map, String>.

I don't understand what you mean by that.

@kabiir Sorry, I can see how I didn't word that correctly.
I meant to say, I recommend having the value returned by myWordCounter.countWords set to a variable of final List<Map, String>. The intent is to take some of the logic out of the expect so that users can read just that one line. With the result being the test suite is a bit more readable.

@Stargator oh! So you mean to save the value to a variable first and then compare it with the expected value. So the variable will be of type Map<String, int>. That would mean I would need to repeat the same in each test case & hence repetition of code.
Also if I do that, the user will get too much hint, I think they should explore and learn on there own about Maps. They might learn about Maps and implement it too but the tests would still fail and they'll slowly realize that the function return type also needs to be the same map. After all tests are supposed to be that way. If nothing else they can pull the example. This exercise has topics maps and lists. This is what they are supposed to learn on there own. Your thought?

@kabiir I can see your point, but I think we can be easier on the core exercises.
But I'll leave it to you.


Rdpsnd server stable 2.0

Backport #7949

Tested (with https://gitlab.gnome.org/GNOME/gnome-remote-desktop/-/merge_requests/104). Works fine.


Opacity of code blocks in dark mode

I just observed the following point,

Well, I just tested the code block and not able to see what is written in the code. Below I am sharing the screenshot.

When code block is in the very end, then not able to generate a new line or paragaph.

Thanks for catching this @whysoawesome0207. I'll tag it as a bug and get to it as soon as I can, unless you want to beat me to it and submit a PR 😉

Currently, I can only work om weekend due to hectic schedule may be you are in winning zone. 😀

Since this deals with the 3rd party package highlight.js, there isn't much that can be done without some hacking. Closing this until a proper solution can be proposed and submitted.

Since this deals with the 3rd party package highlight.js, there isn't much that can be done without some hacking. Closing this until a proper solution can be proposed and submitted.


consider renaming 'base' variable

In https://github.com/alangrafu/lodspeakr/wiki/Special-URIs you show code example:
{%for h in base.header %}

perhaps it would be easier to use if it were something like:
{%for h in lodspeakr.header %}

much like how jquery is the (long-named) object you use to use jquery. It would help developers know when they are talking to lodspeakr and when they are talking to, say haanga or something.
or something shorter like lodspk so it is easier to type.

Fixed in 28ce7c0c12fe468d0fcd9c57ca3ece7677c17cbd

what is the rename change?

base -> lodspk
r -> models


Translate glossary/image into Japanese

This is a Feature Request

What would you like to be added
Translate glossary/image into Japanese.
Why is this needed
This glossary has not been translated.
Comments
/language ja
/assign

/close


dask and dask-image to improve ImageContainer

@GenevieveBuckley thanks a lot for the discussion today! Pinging @hspitzer, key points that I got (please add more if missing):

dask-image could replace rasterio to read images? It's using pims under the hood, and it should be able to handle multi page tiffs https://github.com/soft-matter/pims/
dask-image has good handling of edge cases in e.g. filters etc. should look into it for pre-processing that we currently do with scikit-image (related to #101, segmentation at crop boundaries)

I was able to open the large tiff file with dask-image==0.4.0, pims, and tifffile.
I tried this in a new conda environment
conda create -n squipy-test python=3.8 pip ipython
conda activate squidpy-test
python -m pip install dask-image==0.4.0
python -m pip install tifffile

and then in ipython:
In [1]: from dask_image.imread import imread

In [2]: img = imread('V1_Adult_Mouse_Brain_Coronal_Section_2_image.tif')

In [3]: img
Out[3]: dask.array<concatenate, shape=(3, 24240, 24240), dtype=uint16, chunksize=(1, 24240, 24240), chunktype=numpy.ndarray>

In [4]: img.shape
Out[4]: (3, 24240, 24240)

I can see all three fluorescence channels (I also checked this by loading it into the napari viewer, and it looks fine to me).
By default, you get one chunk in the dask array for each fluorescence channel, but those are pretty big. It's probably more sensible to control the dask array chunksize yourself. You can do that with something like:
img = imread('V1_Adult_Mouse_Brain_Coronal_Section_2_image.tif', chunks=(1, 1000, 1000))

BTW, I recommend using dask_image==0.4.0 for now. We've identified a bug in the latest version (0.5.0) and while it probably won't affect you it's still simpler just to steer clear of it.

thanks again @GenevieveBuckley ! We'll check it out soon and let you know!

Sorry for the mix up! Let me set aside some time to write a response in the next couple of days for you

I'd postpone imageread integration 'till https://github.com/dask/dask-image/issues/181 gets resolved
as for other other cases where dask/dask-image could be used, I think we can start with processing functions and then go into segmentation.

@michalk8 I think we need to prioritize this and move towards full integration with dask_image.
I followed discussion in https://github.com/dask/dask-image/issues/181 and it seems like there is a much bigger effort on the way that is likely to take long.
Also, from @GenevieveBuckley comment here: https://github.com/dask/dask-image/issues/181#issuecomment-792379002 it seems that

For array creation, since dask.array.image.imread reads the first tp from disk for determining image shape and dask_image.imread.imread uses pims to determine shape, the latter can be faster in the case of a few huge files. Otherwise dask.array.image.imread is much faster.

"large images" is exactly our case (we don't really have exaples with many z-stacked images) and should do the job.
The chunking seems to still be an issue (as I can't really pass it in the nframes argument, see https://github.com/theislab/squidpy/issues/296#issuecomment-794499755 ).
The pure dask approach from here: https://github.com/dask/dask-image/issues/181#issue-788900805
also seems to work and could be an option. Do you mind having a look?
In short, if we can use dask_image to do everything I think it's better, even if might not be fastest implementation to read images (but again, in our case I think we are working at much smaller scale than the one described in issue).

Ok, I will start by refactoring the loading to use dask/dask-image + for pre-prorcessing. For the latter, I think we can get rid of the size argument, i.e. for sq.im.process and sq.im.segment.

closed via #324


Training a ImageGPT on 64 size pictures.

Hey,
I wrapped your implementation of ImageGPT for a project I am doing in collab.
I have single channel images of size 64 with the intention of scaling it to 128.
Running you code crashes (out of memory) even if I set batch_size to 2.
It runs only with batch_size=1 and it doesn't use that much of memory around 3GB, while being extremely slow 60 hours for ~200Kpictures (20 s per picture).
Is this normal or is there something wrong?

Hey @ysig,
Attention computation is very expensive and scales quadratically with the size of the input image (both in memory and time). For a 64 * 64 = 4096 image, the amount of memory needed is roughly 4096^2 * 32 * n_attention_heads * batch_size (where 32 is the number of bytes per float). So, for 1 attention layer with n_attention_heads=1 and batch_size=1, this consumes ~.5g of memory just for the attention activations. Our default ImageGPT architecture, which has 8 attention layers with n_attention_heads=4 each, would consume ~17g of memory per image just for the attention activations (so the the model parameters, optimizer variables, activations of other layers, etc, would need even more memory).
Scaling to 128 * 128 images on Colab is probably impossible with a single GPU.
To reduce the amount of memory, you could try a few things:

use AMP during training which cuts down the memory in half
use LinearMaskedAttention which scales linearly in the size of the input and saves a ton of memory (though I have to warn you that it's much slower that regular attention and not very well tested)
don't store the activations for all attention layers and recompute them in the backwards pass (hard to implement)

while being extremely slow 60 hours for ~200Kpictures (20 s per picture)

ImageGPT is a heavy model (as discussed above) so this is not surprising, especially if you only use batch_size=1. It might be possible to optimize things further but it's hard to say up front without knowing your training setup. That being said, one thing that will almost surely speed up your training is to swap out our MaskedAttention with PyTorch's MultiheadAttention. The latter is implemented as a CUDA kernel and is much faster.

Ok! Thanks a lot for your answer! Really appreciate it :)
Στις Δευ, 2 Νοε 2020 στις 4:49 μ.μ., ο/η Eugen Hotaj <
<EMAIL_ADDRESS>έγραψε:

Hey @ysig https://github.com/ysig,
Attention computation is very expensive and scales quadratically with
the size of the input image (both in memory and time). For a 64 * 64 =
4096 image, the amount of memory needed is roughly 4096^2 * 32 *
n_attention_heads * batch_size (where 32 is the number of bytes per
float). So, for 1 attention layer with n_attention_heads=1 and
batch_size=1, this consumes ~.5g of memory just for the attention
activations. Our default ImageGPT architecture
https://github.com/EugenHotaj/pytorch-generative/blob/master/pytorch_generative/models/image_gpt.py#L59-L75,
which has 8 attention layers with n_attention_heads=4 each, would consume
~17g of memory per image just for the attention activations (so the the
model parameters, optimizer variables, activations of other layers, etc,
would need even more memory).
Scaling to 128 * 128 images on Colab is probably impossible with a single
GPU.
To reduce the amount of memory, you could try a few things:

use AMP https://pytorch.org/docs/stable/amp.html during training
which cuts down the memory in half
use LinearMaskedAttention
https://github.com/EugenHotaj/pytorch-generative/blob/master/pytorch_generative/nn.py#L241
which scales linearly in the size of the input and saves a ton of memory
(though I have to warn you that it's much slower that regular
attention and not very well tested)
don't store the activations for all attention layers and recompute
them in the backwards pass (hard to implement)

while being extremely slow 60 hours for ~200Kpictures (20 s per picture)
ImageGPT is a heavy model (as discussed above) so this is not surprising,
especially if you only use batch_size=1. It might be possible to optimize
things further but it's hard to say up front without knowing your training
setup. That being said, one thing that will almost surely speed up your
training is to swap out our MaskedAttention
https://github.com/EugenHotaj/pytorch-generative/blob/master/pytorch_generative/models/image_gpt.py#L38-L42
with PyTorch's MultiheadAttention
https://pytorch.org/docs/stable/generated/torch.nn.MultiheadAttention.html.
The latter is implemented as a CUDA kernel and is much faster.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/EugenHotaj/pytorch-generative/issues/22#issuecomment-720517498,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGY7H2MXBZNASB5CPR52SL3SN3BHJANCNFSM4TGVZTTQ
.


[Enhancement] Modify the navbar

I wish to modify the navbar design to a properly visible nice looking navbar. Please assign me this

@Its-Aman-Yadav Sir I want to work on this project could you please kindly assign me this project. I really have a great idea to modify the navbar design my aim is to redesign the navbar to create a visually appealing and prominently visible navigation bar that enhances the overall user experience.

Hello @Its-Aman-Yadav Sir Please assign me this task . I wish to modify the navbar design and also make navbar responsive.

@Its-Aman-Yadav Please assign this issue to me, I too want to work on this.

@Its-Aman-Yadav can you please assign this task to me

@Its-Aman-Yadav please assign me this

I noticed the navbar could benefit from a design refresh. I'm confident I can create a visually clear and engaging navbar. Would you be open to assigning this to me @Its-Aman-Yadav?

Sure @sau-mili work on this

hey , can you assign me to enhance and modify the nav bar


merge package from arlac77/npm-package-template-esm-only

package.json

chore(package<EMAIL_ADDRESS>chore(scripts): cover@#overwrite c8 --temp-directory build/coverage ava && c8 report -r lcov --temp-directory build/coverage

Codecov Report

Merging #25 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #25   +/-   ##
=======================================
  Coverage   91.24%   91.24%
=======================================
  Files           6        6
  Lines         217      217
  Branches       37       37
=======================================
  Hits          198      198
  Misses         19       19

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 150126c...35a4ef0. Read the comment docs.

:tada: This PR is included in version 1.0.10 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Write documents in better English

My english is poor 😥 please write documents in better English. For examples:

README

What is Hono
Features
Usage
API
Demo
With Cloudflare Workers
With Fastly Compute@Edge

Usage of middleware  src/middleware/powered-by/README.md
How to run example examples/basic/README.md

After I finish writing the documentation for the middleware, I will come back here and help with editing the documentation for these things as well. 😄 But I will say, most of your documentation is already very clear and useful! It just may need a little editing.

+1 the english is okay and shows your passion for the project :) Could use some grammar fixes here and there, but overall the intent of the docs is very clear.

I can close this Issue for now!


TASK: Make MessageMetadata immutable

This change makes the MessageMetadata truly immutable and normalizes the naming of "metadata" variables and methods.
Resolves #2

@albe can you solve the conflicts? Then we can finally merge this.


update deps

Codecov Report

Merging #124 (897ff2b) into master (95c7fa5) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #124   +/-   ##
=======================================
  Coverage   90.67%   90.67%
=======================================
  Files           2        2
  Lines         536      536
  Branches       51       51
=======================================
  Hits          486      486
  Misses         50       50

Flag
Coverage Δ

unittests
90.67% <100.00%> (ø)

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

Impacted Files
Coverage Δ

src/adima.ts
90.61% <100.00%> (ø)

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 95c7fa5...897ff2b. Read the comment docs.


pyinfra v2

Tracking the upcoming v2 release, which removes Python 2 support and anything that currently shows a warning. Will also bring in a number of new backwards compatible changes/warnings that will be removed in v3.

Closing/merged, now 2.x branch which is the default.


Fix cleanCloseHandler

fix https://github.com/NebulousLabs/Sia/issues/2385 and two issues with the timer

Honestly I'm in favor of just calling build.Critical and not actually closing the connection. It's a developer error, so we should be eliminating the source of the problem instead of patching over it. cleanCloseHandler has been its own source of headaches, and at this point it doesn't feel worth it.

cleanCloseHandler is a workaround for the problem of canceling a running goroutine which has no general solution. Golang provides https://golang.org/pkg/context/ package; it requires adding ctx argument to all functions that can block. Currently Sia uses the approach with "stop chans". Ideally we should rewrite it all to context.

If we're going to go that route, we should start by passing context.Context only where we need it most, i.e. in calls that are most likely to take a while to complete. It might be a good idea to test this out on renter endpoints as part of our redesign. Those routes seem like the most likely to take a while anyway.


fix 2017 build

fixes https://github.com/hzqst/unicorn_pe/issues/35

"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\Tools\VsDevCmd.bat"
MSBuild unicorn_pe.sln /p:Platform=x64

.\x64\Debug\unicorn_pe.exe
BlackBone: PDB: Failed to load msdia140.dll, error 0x0000007e
BlackBone: PDB: blackbone::PDBHelper::Init: (CoCreateDiaDataSource()) failed with HRESULT 0x8007007e
BlackBone: PatternData: LdrProtectMrdata not found
usage: unicorn_pe (filename) [-k] [-disasm]

.\x64\Debug\unicorn_pe.exe C:\Users\Brandon\Desktop\redacted.exe
BlackBone: PDB: Failed to load msdia140.dll, error 0x0000007e
BlackBone: PDB: blackbone::PDBHelper::Init: (CoCreateDiaDataSource()) failed with HRESULT 0x8007007e
BlackBone: PatternData: LdrProtectMrdata not found
BlackBone: Allocate: Allocating at address 0x00000174E00B0000 (0x1000 bytes)
BlackBone: Allocate: Allocating at address 0x00000174E00C0000 (0x1000 bytes)
BlackBone: Allocate: Allocating at address 0x00000174E00D0000 (0x4000 bytes)
BlackBone: ManualMap: Mapping image 'C:\Users\Brandon\Desktop\redacted.exe' with flags 0x5d001
BlackBone: ManualMap: Loading new image 'C:\Users\Brandon\Desktop\redacted.exe'
BlackBone: ManualMap: Image base allocated at 0x00000174e00e0000
BlackBone: ManualMap: Performing image copy
BlackBone: ManualMap: Relocating image 'c:\users\brandon\desktop\redacted.exe'
BlackBone: ManualMap: Can't relocate image, no relocation flag
BlackBone: Free: Free at address 0x00000174E00E0000
failed to MapImage
BlackBone: Free: Free at address 0x00000174E00B0000
BlackBone: Free: Free at address 0x00000174E00D0000
BlackBone: Free: Free at address 0x00000174E00C0000

@hzqst any recommendation on
BlackBone: PDB: Failed to load msdia140.dll, error 0x0000007e
BlackBone: PDB: blackbone::PDBHelper::Init: (CoCreateDiaDataSource()) failed with HRESULT 0x8007007e
BlackBone: PatternData: LdrProtectMrdata not found
BlackBone: Allocate: Allocating at address 0x00000174E00B0000 (0x1000 bytes)
BlackBone: Allocate: Allocating at address 0x00000174E00C0000 (0x1000 bytes)
BlackBone: Allocate: Allocating at address 0x00000174E00D0000 (0x4000 bytes)
BlackBone: ManualMap: Mapping image 'C:\Users\Brandon\Desktop\redacted.exe' with flags 0x5d001
BlackBone: ManualMap: Loading new image 'C:\Users\Brandon\Desktop\redacted.exe'
BlackBone: ManualMap: Image base allocated at 0x00000174e00e0000
BlackBone: ManualMap: Performing image copy
BlackBone: ManualMap: Relocating image 'c:\users\brandon\desktop\redacted.exe'
BlackBone: ManualMap: Can't relocate image, no relocation flag
BlackBone: Free: Free at address 0x00000174E00E0000
failed to MapImage
BlackBone: Free: Free at address 0x00000174E00B0000
BlackBone: Free: Free at address 0x00000174E00D0000
BlackBone: Free: Free at address 0x00000174E00C0000


Using ListView in a SharePointFullPage component

Category
[ ] Enhancement
[ ] Bug
[ X] Question
Version
Please specify what version of the library you are using: [  3.4.1  ]
Expected / Desired Behavior / Question
I've added a ListView in a SPFX component. I want to use this component as a full page component (I have added the SharePointFullPage in the supportedHosts setting to the part manifest).
Observed Behavior
The component is rendered on the page into a div that limits the height of the component, as you can see in the attached image

Steps to Reproduce

create a new Web Part with yeoman
add the the scaffolded code a ListView component that loads data via PnP/JS
add the SharePointFullPage  entry to the supportedHosts setting in the part manifest
deploy the package and create a new page using the new component

dupe of #1065


Resampler: "Operation not supported"

While trying to send and receive L16 audio I got the message that resampling the audio to/from 16/48000/2 is not supported:
audio: using account specific source: (alsa,in12)
audio: using account specific player: (alsa,out12)
call: use_video=0
answering call from<EMAIL_ADDRESS>with 200
call: update media
audio: peer changed ptime_tx 20ms -> 4ms
stream: update 'audio'
stream: audio: starting RTCP with remote <IP_ADDRESS>:5005
audio: Set audio decoder: L16 32000Hz 2ch
audio: start
audio: enable auplay resampler: 32000Hz/2ch --> 48000Hz/2ch
audio: could not setup auplay resampler (Operation not supported)
audio: Set audio encoder: L16 32000Hz 2ch
audio: start
alsa: reset: srate=48000, ch=2, num_frames=960, pcmfmt=S16_LE
alsa: playback started (out12)
audio: player started with sample format S16LE
audio: enable ausrc resampler: 32000Hz/2ch <-- 48000Hz/2ch
audio: could not setup ausrc resampler (Operation not supported)
<EMAIL_ADDRESS>session closed: Connection reset by peer
alsa: stopping playback thread (out12)
audio: destroyed (started=0)

I setup a G.722 call resampling does work correctly:
audio: using account specific source: (alsa,in12)
audio: using account specific player: (alsa,out12)
call: use_video=0
answering call from<EMAIL_ADDRESS>with 200
call: update media
stream: update 'audio'
stream: audio: starting RTCP with remote <IP_ADDRESS>:20017
audio: Set audio decoder: PCMA 8000Hz 1ch
audio: start
audio: enable auplay resampler: 8000Hz/1ch --> 48000Hz/2ch
alsa: reset: srate=48000, ch=2, num_frames=960, pcmfmt=S16_LE
alsa: playback started (out12)
audio: player started with sample format S16LE
audio: Set audio encoder: PCMA 8000Hz 1ch
audio: start
audio: enable ausrc resampler: 8000Hz/1ch <-- 48000Hz/2ch
alsa: reset: srate=48000, ch=2, num_frames=960, pcmfmt=S16_LE
alsa: recording started (in12) format=S16LE
audio: source started with sample format S16LE
audio tx pipeline:        alsa ---> vumeter ---> PCMA
audio rx pipeline:        alsa <--- vumeter <--- PCMA
call: stream start (active=1)
audio: start
<EMAIL_ADDRESS>Call established<EMAIL_ADDRESS>stream: incoming rtp for 'audio' established, receiving from <IP_ADDRESS>:20016
call: got re-INVITE (SDP Offer)
call: update media
stream: update 'audio'
stream: audio: starting RTCP with remote <IP_ADDRESS>:20017
stream: audio: SSRC changed 0x71f658b1 -> 0xd182b9ee (160 bytes from <IP_ADDRESS>:20016)
<EMAIL_ADDRESS>session closed: Connection reset by peer
alsa: stopping recording thread (in12)
alsa: stopping playback thread (out12)
<EMAIL_ADDRESS>Call with<EMAIL_ADDRESS>terminated (duration: 31 secs)
audio: destroyed (started=1)

What is the reason here?

Oh no...!
Scrolling through the code I found the resampler code in librem resamp.c ... and it says:
Note The sample rate ratio must be an integer
So this seems to be a kind of useless for these cases.
And this is why the MPA (and AAC) module needs additional internal resampling...
The question is: How can this be improved in a way that there is only one universal resamling code required for converting all common sampling rates [8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000] to each other?
Extra Feature ToDo: Add clock drift compensation via dynamic resampling (streching) instead of buffer underrun/overflow on unsynchronised peers.

the audio resampler in librem, which baresip is using, does only support
conversion rates where the ratio is an integer:
for example:
8000 Hz -> 16000 Hz
48000 Hz -> 8000 Hz
one solution is to change the audio pipeline, so that we can "plug-in"
other resamplers, for example:

speex resampler
libresample
sox
ffmpeg libswresample
librem resampler

re-designing the audio pipeline will be a large job and not w/o risk.
as a work-around, can you try to disable the internal resampler ?
perhaps you can use the one in ALSA instead ?

An example of a redesigned audio pipeline for encode direction:
 .    .-------.   .--------.   .--------.
 |    |       |   |        |.  |        |
 |O-->| ausrc |-->| aufilt |-->| encode |---> RTP
 |    |       |   |        ||  |        |
 '    '-------'   '--------'|  '--------'
                   '--------'

An example with resampler and auconv as aufilter modules:

module
i/o
samplerate
channels
format

alsa
o
48000
2
Float

--------
---
----------
--------
------

resample
i
48000
2
Float

o
32000
2
Float

--------
---
----------
--------
------

auconv
i
32000
2
Float

o
32000
2
S16

--------
---
----------
--------
------

l16
i
32000
2
S16

--------
---
----------
--------
------

Would it not be much less complicated to just replace the librem resampler with libspeex-resampler (for example)?

the baresip core should only link to libre, librem and openssl.
modules can link to external libraries.
it is not given that libspeex resampler is "better" than librem resampler.
librem resampler has been optimized for performance.

Maybe we should also think of moving to a dynamic clock recovery resampler for playback like this to prevent buffer overflow and underrun:
https://roc-project.github.io/roc/docs/internals/fe_resampler.html

these config options are used to enable the internal resampler,
on the ausrc/auplay level:
#ausrc_srate            48000
#auplay_srate           48000
#ausrc_channels         0
#auplay_channels        0

it is mainly useful when a certain audio hardware device only works
with a certain samplerate.
does your audio device require that ?

Yes, it does. We have RME HDSPe Madi Interface cards here. They are sample locked to 48000/64 S32_LE. Nothing else. Alsa config splits it to 32x2 input and output devices using dmix/dsnoop und plug.

aha, I understand.
and there is no way to use the software conversion in ALSA:
plughw:CARD=PCH,DEV=10
    HDA Intel PCH, HDMI 4
    Hardware device with all software conversions

if your samplerate is locked to 48000 Hz the following samplerates
can be used by the codec:

48000
24000
16000
12000
8000

which excludes 32000 Hz as was listed in the original question (L16/32000)
L16 has 10 different codecs:
{LE_INIT,    0, "L16", 48000, 48000, 2, 2,  5, 0, 0, encode, 0, decode, 0,0,0},
{LE_INIT, "10", "L16", 44100, 44100, 2, 2,  5, 0, 0, encode, 0, decode, 0,0,0},
{LE_INIT,    0, "L16", 32000, 32000, 2, 2, 10, 0, 0, encode, 0, decode, 0,0,0},
{LE_INIT,    0, "L16", 16000, 16000, 2, 2, 20, 0, 0, encode, 0, decode, 0,0,0},
{LE_INIT,    0, "L16",  8000,  8000, 2, 2, 20, 0, 0, encode, 0, decode, 0,0,0},
{LE_INIT,    0, "L16", 48000, 48000, 1, 1, 10, 0, 0, encode, 0, decode, 0,0,0},
{LE_INIT, "11", "L16", 44100, 44100, 1, 1, 10, 0, 0, encode, 0, decode, 0,0,0},
{LE_INIT,    0, "L16", 32000, 32000, 1, 1, 20, 0, 0, encode, 0, decode, 0,0,0},
{LE_INIT,    0, "L16", 16000, 16000, 1, 1, 20, 0, 0, encode, 0, decode, 0,0,0},
{LE_INIT,    0, "L16",  8000,  8000, 1, 1, 20, 0, 0, encode, 0, decode, 0,0,0},

perhaps you can try to use a different L16 that is compatible with the resampler ?

Let me say I am very happy that the card it is running now in this configuration. ;-)
It took me several days to get it working this way.
Keep in mind that there is only one 48000/64-stream to/from the hardware and no hardware or driver-integrated mixing of independent streams like on most consumer grade devices.
Maybe there is another way purly inside of alsa with something like DSP chains and even more virtual devices (nx32x2) but I did not get anything else I tried up and running with the little documentation or examples and this very specific (but powerful und stable) peace of hardware.
But I am far away from beeing an alsa expert...
My goal is to build a system which is running silently in background and simply does support all well known codecs and their variants without beeing annoyed of "unsupported codec" here "no audio" there. I do not know who is calling and what software/hardware or codec settings is used on peer.

I think the solution is to use the audio filter plugins, to handle any
combination of samplerates.
but this will take me some time to do, not sure when I have time to start working
on it.
in the meantime, I dont want to keep this issue open for many months,
so I have added the wishlist to the roadmap, and hopefully I will have
time to return to it soon, along with many other things that has to be implemented.

I am fine with that.


Issue #2728

Made it easier to distinguish the different types of criteria in the “Marking Scheme” view by adding icons and extra title information.

Please add the attributes so that hovering brings up the alt tag.  (I think it needs a title attribute.)


fix(dashboard): Fill form with the latest values when undo in native filters

SUMMARY
This PR fixes several issues related to the undo functionality in native filters. It stores the latest form data and adds it back to the form when the user removes a filter and then undoes the removal.
BEFORE
See issue #16821
AFTER
https://user-images.githubusercontent.com/60598000/134869243-74396a24-218d-4fc2-beec-27b1ed8e3879.mp4
TESTING INSTRUCTIONS

Open a Dashboard with native filters enabled
Add a filter
Remove the filter
Undo your action and make sure the latest data was preserved

ADDITIONAL INFORMATION

[x] Has associated issue: Fixes #16821
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

@jinghua-qa @junlincc

/testenv up FEATURE_DASHBOARD_NATIVE_FILTERS=true FEATURE_DASHBOARD_CROSS_FILTERS=true FEATURE_DASHBOARD_NATIVE_FILTERS_SET=true FEATURE_DASHBOARD_FILTERS_EXPERIMENTAL=true

@geido If I'm not mistaken when the user removes a filter, it only marks that filter as deleted but the form values are preserved. If that's the case, why do we need the undoFormValues state? Can't we just use the original form?

@geido If I'm not mistaken when the user removes a filter, it only marks that filter as deleted but the form values are preserved. If that's the case, why do we need the undoFormValues state? Can't we just use the original form?

@michael-s-molina I checked that and it appears that when the filter is removed the form is also cleaned up. You won't have the most recent state of the form, hence I am storing it on removal and reapplying the values on undo.

@geido If I'm not mistaken when the user removes a filter, it only marks that filter as deleted but the form values are preserved. If that's the case, why do we need the undoFormValues state? Can't we just use the original form?

@michael-s-molina I checked that and it appears that when the filter is removed the form is also cleaned up. You won't have the most recent state of the form, hence I am storing it on removal and reapplying the values on undo.

Do you know where the form is being cleared? This is the handler for the delete action and it's only marking it as removed.
export const createHandleTabEdit = (
  setRemovedFilters: (
    value:
      | ((
          prevState: Record<string, FilterRemoval>,
        ) => Record<string, FilterRemoval>)
      | Record<string, FilterRemoval>,
  ) => void,
  setSaveAlertVisible: Function,
  addFilter: Function,
) => (filterId: string, action: 'add' | 'remove') => {
  const completeFilterRemoval = (filterId: string) => {
    // the filter state will actually stick around in the form,
    // and the filterConfig/newFilterIds, but we use removedFilters
    // to mark it as removed.
    setRemovedFilters(removedFilters => ({
      ...removedFilters,
      [filterId]: { isPending: false },
    }));
  };

  if (action === 'remove') {
    // first set up the timer to completely remove it
    const timerId = window.setTimeout(
      () => completeFilterRemoval(filterId),
      REMOVAL_DELAY_SECS * 1000,
    );
    // mark the filter state as "removal in progress"
    setRemovedFilters(removedFilters => ({
      ...removedFilters,
      [filterId]: { isPending: true, timerId },
    }));
    setSaveAlertVisible(false);
  } else if (action === 'add') {
    addFilter();
  }
};

@michael-s-molina as stated above, I confirm that the form is wiped out as soon as the form rerenders after the remove action. Any data you already have about the filter (such as the one in the filterConfigMap ) might be outdated as it does not contain the most recent state of the form. Thus, the only solution that seems to solve both scenarios is to store the current state of the form. I am happy to consider a different solution but it does not appear to be obvious at the moment. Let me know if anything different comes to your mind. Thank you!

@michael-s-molina as stated above, I confirm that the form is wiped out as soon as the form rerenders after the remove action. Any data you already have about the filter (such as the one in the filterConfigMap ) might be outdated as it does not contain the most recent state of the form. Thus, the only solution that seems to solve both scenarios is to store the current state of the form. I am happy to consider a different solution but it does not appear to be obvious at the moment. Let me know if anything different comes to your mind. Thank you!

So I was reviewing and found this:

This is the code that is clearing the form. preserve={false} is forcing the values to be cleared. The default value of Ant Design is true. If we change it to true, the values are preserved after restoring. The only thing is that I don’t know why this was set to false.

@geido We can investigate this in a follow-up since this is a P1. Approving for now.

🏷 2021.38


Create a Markdown Link Checker

Add a workflow for Markdown Link Checker.

A Markdown Link Checker GitHub workflow is added.


specify dt in benchmark configs

Purpose
The benchmark runs failed this weekend because dt was not specified correctly (see error here).
The benchmark AMIP config files (e.g. config/benchmark_configs/amip_diagedmf.yml) were previously relying on dt being specified in the atmos config files they use (e.g. config/benchmark_configs/climaatmos_diagedmf.yml), rather than specifying dt explicitly in the AMIP configs. When the configs were merged in get_atmos_config_dict, the atmos config's dt was inherited by the coupled config file (here). After https://github.com/CliMA/ClimaCoupler.jl/pull/1059, we overwrite the dt entry in the atmos config with the entry in the coupler config (here). This requires that the coupler config does have an entry for dt (or all component dts), so we can no longer rely on the atmos dt.
This is a change in behavior, but the previous behavior was not necessarily desired. It seems reasonable to me that the config file requires that dt is specified there, rather than inherited from an atmosphere config, so I think we can keep the current setup and just add dt entries to the coupled configs that didn't have it before.
To Do

[x] Add a dt entry to AMIP benchmark configs
[x] Verify that all configs specify dt or component model dts

Seems good to me. In general, why do we merge atmos_config_dict into config_dict? The merge adds a lot of fields to config_dict, and it seems like only one of the fields that gets added intoconfig_dict is accessed later on.

That's a good question! I'm not really sure why - my guess is that during initial coupler development we relied heavily on simulation parameters defined in atmos config files, rather than defining our own. From a design perspective, it would be better to isolate anything we need to set up the atmos simulation in atmos_config_dict, and anything we need to set up/run the coupled simulation in config_dict, and remove the merge. We should clean this up as we isolate the argument parsing in the driver.
Which is the one field that gets added into config_dict and accessed later on?

We should clean this up as we isolate the argument parsing in the driver.

I didn't look into it super carefully, but I only saw dt_rad being added and then later accessed.


Editing the color palette / style globally

Prerequisites
Please answer the following questions for yourself before submitting an issue.

[x] I am running the latest version
[x] I checked the documentation and found no answer
[x] I checked to make sure that this issue has not already been filed
[x] I'm reporting the issue to the correct repository (for multi-repository projects)

I'm a material dashboard react pro subscriber with current premium support.
It would appear that every single value for the color palette is hardcoded RGB, this has been reported once before by @vbartusevicius in https://github.com/creativetimofficial/material-dashboard-react/issues/66
The issue has a trivial fix, which would be making use of https://material-ui.com/customization/themes/#theme-provider along with https://material-ui.com/style/color/
Instead of doing this, the palette appears to be hardcoded which makes customization in any dynamic way very difficult to achieve.
Last time, you responded that currently this was not in the roadmap. Has that changed?

Hello there, @Wintereise ,
Thank you for your interest in working with our products.
You will find all of our colors here: src/assets/jss/material-dashboard-react.jsx, between lines 73 and 92. We didn't make use of the theme provider since some of our clients did not like the fact that the boxShadows were using the same colors as the states colors, but in rgba.
For example, in the past we had
const primaryColor = "#9c27b0";

and
const primaryBoxShadow = {
  boxShadow:
    "0 12px 20px -10px rgba(156, 39, 176, 0.28), 0 4px 20px 0px rgba(0, 0, 0, 0.12), 0 7px 8px -5px rgba(156, 39, 176, 0.2)"
};

As you can see, rgba(156, 39, 176, 0.2) (or, more accurate rgb(156, 39, 176)), is the same color as #9c27b0. And this is kind of unacceptable, since if you change the primary color, you would also have to change this box shadow.
So what we've done, was to create a function hexToRgb, that transforms a hex to an RGB. So when you change the primary color variable, it automatically changes the box shadow as well (you do not have to make two changes, only one is required now).
So now the above code looks like:
// we have different variations of the primary color used along the product
const primaryColor = ["#9c27b0", "#ab47bc", "#8e24aa", "#af2cc5"];

const primaryBoxShadow = {
  boxShadow:
    "0 4px 20px 0 rgba(" +
    hexToRgb(blackColor) +
    ",.14), 0 7px 10px -5px rgba(" +
    hexToRgb(primaryColor[0]) +
    ",.4)"
};

As said above, now, if you change the first primary colors, it will change the primary box shadow as well, and everywhere you have primaryColor[0]. Once again, this was a request by many of our clients, on both the PRO and the FREE products, as well as the KIT's ones.
If we were to make use of the theme provider, we would have to revert back to the old way, i.e, we would have something like this:
...
primaryColor: "#9c27b0"
...
primaryBoxShadow: "0 12px 20px -10px rgba(156, 39, 176, 0.28), 0 4px 20px 0px rgba(0, 0, 0, 0.12), 0 7px 8px -5px rgba(156, 39, 176, 0.2)"

Which will make our clients once again frustrated.
For the moment, I believe this is the best way to make our product as customizable as we can.
I have although one question, you say something about the PRO version in your comment, you also checked the I'm reporting the issue to the correct repository (for multi-repository projects). Why did you open this issue here, and not on the PRO repository?
All the best,
Manu
ReactJS Developer at Creative-Tim.com (http://creative-tim.com/)
Trying to help the open source community:

https://medium.freecodecamp.org/how-to-use-reactjs-with-webpack-4-babel-7-and-material-design-ff754586f618

https://medium.freecodecamp.org/how-to-use-redux-in-reactjs-with-real-life-examples-687ab4441b85

https://medium.freecodecamp.org/how-to-connect-a-react-design-system-with-firebase-and-redux-9646ca1c733f

https://www.youtube.com/watch?v=raKV5Rb8oOM&list=PLWxSJr7LCl87rGlQtTo2PoX8hboUU0R8a

https://www.youtube.com/watch?v=no2PD2kq-dE&list=PLWxSJr7LCl87OomktWFQVW30QDWtBqFlx

https://www.udemy.com/learn-reactjs-with-webpack-4-babel-7-and-material-design/

If you've liked what you saw, help me with a comment, like, share or subscribe.

Hey @EINazare,
Thanks for explaining why you had to do it. The thing is though, there's no reason you couldn't maintain this collection of 4 primary colors using the MUIThemeProvider as well.
See https://github.com/mui-org/material-ui/blob/0912310353382afea946ff57eaee7085c1479b2e/packages/material-ui/src/styles/createMuiTheme.js#L45
Basically, it'll pass in anything you place in the ThemeOptions -> palette: PaletteOptions property. Using this, you could do:
{ palette { primary: { main: <whatever>, shades: [ every single shade you need ] } } }

In fact, if you're worried about that augmentColors call (which does things like figuring out light/dark/contrastText if not provided), there's no reason this has to under the primary color at all.
Your
const primaryBoxShadow = {
  boxShadow:
    "0 4px 20px 0 rgba(" +
    hexToRgb(blackColor) +
    ",.14), 0 7px 10px -5px rgba(" +
    hexToRgb(primaryColor[0]) +
    ",.4)"
};

example would simply be
const primaryBoxShadow = theme => ({
  boxShadow:
    "0 4px 20px 0 rgba(" +
    hexToRgb(theme.palettes.black.main) +
    ",.14), 0 7px 10px -5px rgba(" +
    hexToRgb(theme.palettes.primary.shades[0]) +
    ",.4)"
});

The real downside for this is that you now have to use the withStyles HoC EVERYWHERE, but we made peace with that the moment we chose to work with mui, I think.
This is how we made it dynamic, works great for on the fly theme updates backed by a redux store. HTH.

Hello again, @Wintereise ,
I wanted to write that in my last comment and forgot about it.
The problem is that now you use the theme provider, but you also need to keep variables like
const primaryBoxShadow = theme => ({
  boxShadow:
    "0 4px 20px 0 rgba(" +
    hexToRgb(theme.palettes.black.main) +
    ",.14), 0 7px 10px -5px rgba(" +
    hexToRgb(theme.palettes.primary.shades[0]) +
    ",.4)"
});

Isn't this a bit frustrating?
This being said, we try to make all of our customers happy with the product they get. We'll see what we can do about this in our next updates - I can't promise you that we'll add the theme provider in our very next update, once again due to the time-consuming. Hope you understand us.
All the best,
Manu
ReactJS Developer at Creative-Tim.com (http://creative-tim.com/)
Trying to help the open source community:

https://medium.freecodecamp.org/how-to-use-reactjs-with-webpack-4-babel-7-and-material-design-ff754586f618

https://medium.freecodecamp.org/how-to-use-redux-in-reactjs-with-real-life-examples-687ab4441b85

https://medium.freecodecamp.org/how-to-connect-a-react-design-system-with-firebase-and-redux-9646ca1c733f

https://www.youtube.com/watch?v=raKV5Rb8oOM&list=PLWxSJr7LCl87rGlQtTo2PoX8hboUU0R8a

https://www.youtube.com/watch?v=no2PD2kq-dE&list=PLWxSJr7LCl87OomktWFQVW30QDWtBqFlx

https://www.udemy.com/learn-reactjs-with-webpack-4-babel-7-and-material-design/

If you've liked what you saw, help me with a comment, like, share or subscribe.

Hi,
It's all good, just a suggestion. We went with named shades instead that signify purpose instead of just an array.
Since you have full control over the injection context, you can pretty much do anything.


Added check for custom-url placeholder

Q
A

Bug fix?
no

New feature?
no

BC breaks?
no

Deprecations?
no

Fixed tickets
none

Related issues/PRs
none

License
MIT

Documentation PR
none

What's in this PR?
This PR adds validation for custom-url.
Why?
A custom-url has to contain a placeholder *.

@danrot fixed


Multi-file Dependencies

Migrate from httpx to fsspec for handling file interactions. Offloads dependency fetching abstraction to simply being fsspec compatible.

TODO: eventually allow list and dict dependency specifications. dict will probably just specify a fsspec configuration.

TODO: parse and take action if a multi-file dependency has a manifest.py.
Each dependency now has its own whole folder, regardless if it's single file or not.

If it's a single-file dependency, it gets renamed to __init__.py in the dependency folder.

Introduce unit tests that interact with the internet via the network pytest marker.

Codecov Report

Merging #85 (ac7493e) into main (39347de) will decrease coverage by 0.71%.
The diff coverage is 80.70%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main      #85      +/-   ##
==========================================
- Coverage   81.74%   81.04%   -0.71%
==========================================
  Files          24       29       +5
  Lines         964     1018      +54
  Branches      165      171       +6
==========================================
+ Hits          788      825      +37
- Misses        124      139      +15
- Partials       52       54       +2

Flag
Coverage Δ

unittests
81.04% <80.70%> (-0.71%)
:arrow_down:

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

Impacted Files
Coverage Δ

belay/packagemanager/sync.py
52.77% <52.77%> (ø)

belay/packagemanager/group.py
76.92% <87.09%> (ø)

belay/packagemanager/downloaders/common.py
96.00% <96.00%> (ø)

belay/packagemanager/__init__.py
100.00% <100.00%> (ø)

belay/packagemanager/downloaders/__init__.py
100.00% <100.00%> (ø)

belay/packagemanager/downloaders/_github.py
100.00% <100.00%> (ø)

belay/typing.py
100.00% <100.00%> (ø)

belay/executers.py
82.65% <0.00%> (-0.18%)
:arrow_down:

belay/hash.py
100.00% <0.00%> (ø)

belay/cli/identify.py
28.00% <0.00%> (+1.07%)
:arrow_up:

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


Update test temp folder name to be more consistent with others

This change was dropped out of #26227 because it seems to inexplicably result in timeouts talking to the VM service on Windows Cirrus. Opening as its own change for easier debugging/head scratching.

I've no idea what changed, but this test now seems to pass even with the new name despite repeatedly failing earlier (both as part of #26227 and in my own testing on a Cirrus fork).
I'll rebase onto latest and if it goes green again, land this to keep things consistent (and if the issue comes back, we can dig more).

Looks like GitHub didn't update this properly for you, but the tree was red when this landed :(

Yeah, I mentioned this in chat :( Bitten by https://github.com/flutter/cocoon/issues/231 again!


cli-go: cli: Used alternative validation approach in Bats tests #108

I've already had my first "Bats hurt" =) so please consider this testing approach. It uses slightly relaxed condition - checks that the substring appears anywhere in the output.
Another possible solution: use relative line numbers, e.g. from the end of the file
   [ "${lines[${#lines[@]}-1]}" = "HINT violations: 1" ]
    [ "${#lines[@]}" -eq 71 ]

We may still replace Bats eventually, but this makes the maintenance of the integration tests much easier. Thanks!
:+1:

Nice fix!


Broken with Matomo 4.x

The plugin is no longer available to activate on Matomo 4, but even editing the plugin.json to have require => piwik set to >=4.0.0-b1,<5.0.0-b1 (making the plugin able to be activated on Matomo 4.x) still has the normal numeric IDs being used for tracking.
As such, any property using this plugin previously no longer resolves properly and data isn't being recorded properly.
I had this being used for numerous sites so it's important to have this working as it did previously to avoid needing to update the tracking code for all of the sites to go back to unprotected site IDs.

Or... it seems to be working for the noscript image ID while the JavaScript ID isn't working.

Please turn to https://github.com/joubertredrat/Piwik-ProtectTrackID/pull/15 for what appears to be a fix for Matomo 4 support.

While https://github.com/joubertredrat/Piwik-ProtectTrackID/pull/15 has been merged, please see https://github.com/joubertredrat/Piwik-ProtectTrackID/issues/16#issuecomment-769463809 when it comes to getting this plugin updated on the official plugin directory.

While https://github.com/joubertredrat/Piwik-ProtectTrackID/pull/15 has been merged, please see https://github.com/joubertredrat/Piwik-ProtectTrackID/issues/16#issuecomment-769463809 when it comes to getting this plugin updated on the official plugin directory.

Hi guys, sorry for a big delay to update this plugin, but is here. https://plugins.matomo.org/ProtectTrackID


Detecting w i p commits

As asked in #10, this PR proposes to detect commits containing wip in the pull request, and sets the commit status to pending if so.

oops I'm sorry I made a reivew and forgot to submit it. I see you made a few changes since then, I'll have another look

I apologise in advanced for being overly diligent. Usually I'd accept the pull request already because it's great, then take the discussion to a follow up pull request, because merging is fun 🎉
The wip-bot is special because me and others use it for learning purpose, too, so I want to make double sure that it's good code and easy to read.
I really like the ida by @HeeL. What I would like to avoid is to send a request for the commits with the title already contains a WIP.
I gave it some thought and came up with this
module.exports = handlePullRequestChange

async function handlePullRequestChange (robot, context) {
  const {title, html_url} = context.payload.pull_request
  const isWip = containsWIP(title) || await commitsContainWip(context)
  const status = isWip ? 'pending' : 'success'

  console.log('Updating PR "%s" (%s): %s', title, html_url, status)

  context.github.repos.createStatus(context.repo({
    sha: context.payload.pull_request.head.sha,
    state: status,
    target_url: 'https://github.com/apps/wip',
    description: isWip ? 'work in progress – do not merge!' : 'ready for review',
    context: 'WIP'
  }))
}

async function commitsContainWip ({github, payload, repo}) {
  const commits = await github.pullRequests.getCommits(repo({
    number: payload.pull_request.number
  })

  return commits.data.map(element => element.commit.message).some(containsWIP)
}

function containsWIP (string) {
  return /\b(wip|do not merge)\b/i.test(string)
}

It's only a base of discussion. I'd love to hear what you think. Maybe we can make it even simpler while keeping it readable? Fun exercise in group refactoring :)

Hmm can't tell from the code, I can give this a try myself.
For debugging, if you run this code locally, I recommend to use the Chrome Devtools Inspect. Put a debugger statement on top of the  handlePullRequestChange function. Install the chrome extension, then start the probot app with
node --inspect probot run ./index.js

Open chrome and it should open the devtools automatically. Now the execution should stop when the code gets to the function and you have the full chrome devtools available for debugging :)

Thanks for the tip!
I used VS Code and LocalTunnel instead to inspect variables, and looks like there is a problem with the strict mode
Here is what I get:

In detail what's in repo
TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them

that's a weird error you get. What node version are you running the app in? Make sure it's Node 8 or 9

I use 8.9.4

ah wait I know what this is, I run into it before. The context.repo method is not properly bound and is using the this keyword. It would be a nice PR to probot to fix that ;)
For this code to work we can't pass {github, payload, repo} but need to pass context instaed and then use context.repo etc. Could you give that a try please?

Yep, and it works! 👌 Do I push that?

yes please update the PR 👍

You welcome, it was a pleasure working on it! 🎉

I fear the deployment failed, I'm looking into it

alright, all set, enjoy the new WIP :)

Great! I was afraid I broke something 😅


Add pipeline for auto release page creation.

sample for preview https://github.com/SamYuan1990/fabric-admin-sdk/releases
git checkout origin main
git checkout main
git pull
git tag v0.0.0-alpha
git remote -v
git push origin v0.0.0-alpha

fix #76

I don't think this is a good idea. The README should provide information for people coming to the repository, not anything specific to a particular release version. The text for a GitHub release is more what you would expect to find in a chanegelog. It should provide a summary of that specific release.
An approach that seems to work well in other repositories is to have the creation of the GitHub release and its text (and associated Git tag) as a manual task, but then to have a GitHub Actions workflow triggered by the new tag drive any automated release pipeline.

@bestbeforetoday , so we will ref https://github.com/hyperledger/fabric to have tag to document link and release pages? or https://github.com/hyperledger/fabric-sdk-go#retired-versions

I would suggest creating a GitHub release using the GitHub Web UI when you want to publish a release version. Here you can add the release notes for the release, and it will also create a Git tag for you. Any automated processes you want to run as part of that release can be triggered by the tag in a GitHub Actions workflow, like how Fabric does here (although you might want to use v** as the tag name to trigger from any tag starting with a v).

ok, let's close this one and use github web ui


Cannot use global plugins with Typescript

What are you trying to achieve?
I am trying to use plugins like tryTo globally in Typescript, however, it seems that they are not defined.
What do you get instead?
Typescript is throwing Cannot find name 'tryTo'.ts(2304)
Scenario('login', ({ I }) => {
  tryTo(() => I.amOnPage('/login'); // this fails
  I.seeElement({ name: 'login' });
  // ...
});

A workaround would be
const tryTo = codeceptjs.container.plugins('tryTo');

Scenario('login', ({ I }) => {
  tryTo(() => I.amOnPage('/login'); // this works, but parameters are any
  I.seeElement({ name: 'login' });
  // ...
});

However, tryTo then has no type definition (defined as any). My question would be if it is possible to use plugins like tryTo globally and with a type definition in Typescript (latter one being more important).
See this Stackblitz as example (note that there are a few more type issues).
Details

CodeceptJS version: 3.2.1
NodeJS Version: 14.17.6
Operating System: MacOS

 Configuration file
require('ts-node/register');

exports.config = {
  tests: './src/e2e/tests/*_test.ts',
  output: './logs/e2e/',
  helpers: {
    Playwright: {
      url: 'https://localhost:8080/',
      show: !process.env.HEADLESS,
      browser: 'chromium',
    },
  },
  include: {
    I: './steps_file.js',
  },
  bootstrap: null,
  mocha: {},
  name: 'TS-Test',
  plugins: {
    pauseOnFail: {},
    retryFailedStep: {
      enabled: true,
    },
    tryTo: {
      enabled: true,
    },
    screenshotOnFail: {
      enabled: true,
    },
  },
};

I was looking at the documentation and it seems that you need to use registerGlobal:
Configuration
registerGlobal - to register tryTo function globally, true by default
If registerGlobal is false you can use tryTo from the plugin:
const tryTo = codeceptjs.container.plugins('tryTo');
tryTo: {
      enabled: true,
      registerGlobal: true
    },

[https://codecept.io/plugins/#:~:text=click(%27Agree%27%2C%20%27.cookies%27))%3B-,%23,-Configuration]

According to the docs, registerGlobal should be enabled by default if tryTo is set to enabled 😕

Thanks for your reply @emanuelwong , but as you mentioned in your quote, registerGlobal should be enabled by default if tryTo is set to enabled, so Typescript theoretically should pick it up, shouldn't it? 😕

I cannot find any type definitions for the global plugin functions in CodeceptJS's d.ts files.

any news on this ?

hey @sboudouk hope this https://github.com/codeceptjs/CodeceptJS/pull/3461 will kill the issue.

Thanks @PeterNgTr , will look forward to this.


readme: add a mention of my experimental VCS "Jujutsu"

I'm glad you found my project and mentioned it in the wiki and on Hacker News :) Thanks! Also, I really like the interactive undo feature. I've wanted to add that kind of "time travel" feature to jj too.
This PR adds a mention of it to the READMe's list of alternative tools. Let me know what you think. I'd understand if you think it should not be listed either because it's still experimental, or because it's too different by not being able to run in an existing git working copy.

That jj wasn't in the list of alternatives was an oversight! Thanks for
adding. As I work on some of the git-branchless features, like undoing
staged changes, I've come to appreciate the effectiveness of a more
principled solution to source control...
śr., 23 cze 2021, 09:24 użytkownik Martin von Zweigbergk <
@.***> napisał:

I'm glad you found my project and mentioned it in the wiki and on Hacker
News :) Thanks! Also, I really like the interactive undo feature. I've
wanted to add that kind of "time travel" feature to jj too.
This PR adds a mention of it to the READMe's list of alternative tools.
Let me know what you think. I'd understand if you think it should not be
listed either because it's still experimental, or because it's too
different by not being able to run in an existing git working copy.
You can view, comment on, or merge this pull request online at:
https://github.com/arxanas/git-branchless/pull/22
Commit Summary

readme: add a mention of my experimental VCS "Jujutsu"

File Changes

M README.md
https://github.com/arxanas/git-branchless/pull/22/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
(1)

Patch Links:

https://github.com/arxanas/git-branchless/pull/22.patch
https://github.com/arxanas/git-branchless/pull/22.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/arxanas/git-branchless/pull/22, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADO3KNQF5V5NVPBFXVGCLTTUIDC5ANCNFSM47GEWB7Q
.


Report: No memoy devices printed for IMGR machines

It appears that all of the IMGR machines (1 to 24) have no devices listed under the "Memory" section of the report.

http://sdp-services.sdp.kat.ac.za/servers/imgr10/imgr10.pdf - fixed.

http://sdp-services.sdp.kat.ac.za/servers/imgr10/imgr10.pdf - fixed.


Fix some word not wrapping issues in the Configurator

Overview
Make sure the texts wrap properly for certain texts that could be potentially truncated. Fixes #9708

/azp run


Add sperate bat files for windows.

These files will give the user a chance to determine which system he/she is using.
When I open the PDI(CE) first time, there is just a cmd windows telling me "DEBUG: Using JAVA_HOME". It seems being blocked. After I restart my system several times, still nothing better comes out.
I find a find proccess started after Spoon.bat is called, and the find proccess will be terminated if the Spoon cmd window is closed.
So I think the find proccess blocks the real application to be started. And I erase FOR /F %%a IN ('.\java.exe -version 2^>^&1^|%windir%\system32\find /C "64-Bit"') DO (SET /a IS64BITJAVA=%%a)(Spoon.bat,line 74) and FOR /F %%a IN ('java -version 2^>^&1^|%windir%\system32\find /C "64-Bit"') DO (SET /a IS64BITJAVA=%%a) (Spoon.bat, line77), instead, I just put SET /a IS64BITJAVA=1 there. And it works!
Maybe it's a good idea to give the user a chance to choice there platform instead of being determined automaticly by a find thing.
P.S. My system is a 64 bit win7 with 8G ram and Interl Core i5-4590 cpu.

Hello, This is an automated comment from our build system. Since this pull request originated from a user  not in the Pentaho organization, we will not proceed  with automatic validation of the pull request.  However, rest assured that it will be reviewed manually as soon  as we get the chance. Thanks for your contribution!


NETBEANS-109 fix server generation

add test
fix related javadoc

Could you please check the completeness of this PR? You mention that you added a test, but there is no test.

test added sorry for that

In general this looks good. My personal preference for the commit message is a short explanation/reasoning for the change, that way a reader can deduce from the commit log why a change was introduced. I suggest to adjust that.
The test looks to be modeled following the existing tests and so the structure is generally ok. A comment, that applies to the existing and new tests is, that relying on a specific formatting is IMHO dangerous, using an XML parser and checking the DOM would give a more stable test (this is just an observation and no request for a change). One thing, that should be removed are the superfluous imports.

tried to ajust the commit message.  (maybe I can comment more on jira; )
is it possible to get a link to jira according to the issue number ?
I keep the test the way they was done. Only want to fix this issue for now. Will wait until licence check over to put effort on refactor/coverage...

I reworded the commit message a bit and merged it into master. Thank you!


Can't resolve 'react-flow-renderer' when trying to run examples

According to the readme development, to run the examples you need to install the React Flow dependencies via npm install and the ones of the examples cd example && npm install, and run the example app via:
cd example && npm start

However, the example app uses "react-flow-renderer": "file:../" and the module for the react-flow-renderer package is   "module": "dist/ReactFlow.esm.js" . The readme should have a step for building the react-flow-renderer package via npm run build in the root directory to run the examples I believe?
When I run npm run build however, I get:
$ npm run build

><EMAIL_ADDRESS>build
> rollup -c --environment NODE_ENV:production && postcss src/*.css --dir dist

src/index.ts → dist/ReactFlow.js, dist/ReactFlow.esm.js...
Created bundle ReactFlow.js: 442.12 kB → 93.46 kB (gzip)
Created bundle ReactFlow.esm.js: 437.92 kB → 93.12 kB (gzip)
created dist/ReactFlow.js, dist/ReactFlow.esm.js in 32.4s

src/index.ts → dist/nocss/ReactFlow-nocss.js, dist/nocss/ReactFlow-nocss.esm.js...
Created bundle ReactFlow-nocss.js: 436.67 kB → 92.08 kB (gzip)
Created bundle ReactFlow-nocss.esm.js: 432.46 kB → 91.74 kB (gzip)
created dist/nocss/ReactFlow-nocss.js, dist/nocss/ReactFlow-nocss.esm.js in 21.3s
(node:15300) ExperimentalWarning: The ESM module loader is experimental.
internal/modules/run_main.js:54
    internalBinding('errors').triggerUncaughtException(
                              ^

Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]: Only file and data URLs are supported by the default ESM loader
    at Loader.defaultResolve [as _resolve] (internal/modules/esm/resolve.js:698:11)
    at Loader.resolve (internal/modules/esm/loader.js:97:40)
    at Loader.getModuleJob (internal/modules/esm/loader.js:243:28)
    at ModuleWrap.<anonymous> (internal/modules/esm/module_job.js:47:40)
    at link (internal/modules/esm/module_job.js:46:36) {
  code: 'ERR_UNSUPPORTED_ESM_URL_SCHEME'
}

Hi !
I tried running the "examples" folder with an npm install, but during the npm run start it encountered a problem.
The logical procedure is as follows :
git clone https://github.com/wbkd/react-flow.git
cd react-flow
cd example
npm install
npm run start

But as I said it has a problem. To operate, the following operations must be carried out :
git clone https://github.com/wbkd/react-flow.git
cd react-flow
cd example

Remove react, react-dom and react-flow-renderer lines of your package.json and save.
npm install react react-dom react-flow-renderer
npm install
npm run start

And your localhost should start with the whole example folder ;)
Hoping I could help

Yup I ended up removing the example folder from the react-flow directly and installing the react, react-dom and react-flow-renderer separately.
Thanks for the detailed run down of how you addressed the issue.

Hey @Yi-Jiahe
you need to do npm start in the examples folder (for the examples) and in the root folder (for building the library)


Specify sample return type based on args

Right now, Sorbet has the return type of [].sample as either an array or an Elem, However the array is only possible if you pass an arg to sample
The types are still inaccurate for the [].sample(random: Random.new) case, but that is hopefully less common.
Motivation
More accurate type information
Test plan
ran tools/scripts/update_testdata_exp.sh and found no changes to apply.

Hey, unfortunately this doesn't work, because of #37.
I have opened a PR to say as much, because half a dozen people have attempted to make this PR in the past: #8223
Thanks and sorry to have wasted your time.

This seems to already be working the way the OP expected in any case, maybe there's a bad sig somewhere in the OP's codebase. See sorbet.run

Thanks @jez Sorry, I tried to search the history, but failed to find that. ❤

@marknuzz the difference between your example and @HParker's example is that [] has type [] (0-tuple) and [1] has type [Integer] (1-tuple). It is likely not a problem with HParker's codebase.
Sorbet has special-case support for Array#sample on tuple types, see here.

Yes, @jez is correct. My examples are confused by my use of empty arrays. I think my examples should have been,
[1,2,3].sample # => 1 # type: Array, or Elem (in this case Integer), but actually can only be Elem (Integer) and
[1,2,3].sample(2) # => [3,1] # type: Array, or Elem, but can only actually be Array