Synthesis failed for GroupsSettings

Hello! Autosynth couldn't regenerate GroupsSettings. :broken_heart:
Here's the output from running synth.py:
2020-05-09 05:13:57 [INFO] logs will be written to: /tmpfs/src/github/synthtool/logs/googleapis/elixir-google-api
2020-05-09 05:13:57,127 autosynth > logs will be written to: /tmpfs/src/github/synthtool/logs/googleapis/elixir-google-api
Switched to branch 'autosynth-groupssettings'
2020-05-09 05:13:58 [INFO] Running synthtool
2020-05-09 05:13:58,643 autosynth > Running synthtool
2020-05-09 05:13:58 [INFO] ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/groups_settings/synth.metadata', 'synth.py', '--']
2020-05-09 05:13:58,643 autosynth > ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/groups_settings/synth.metadata', 'synth.py', '--']
2020-05-09 05:13:58,852 synthtool > Executing /home/kbuilder/.cache/synthtool/elixir-google-api/synth.py.
On branch autosynth-groupssettings
nothing to commit, working tree clean
2020-05-09 05:13:59,055 synthtool > Cloning https://github.com/googleapis/elixir-google-api.git.
2020-05-09 05:13:59,510 synthtool > Running: docker run --rm -v/home/kbuilder/.cache/synthtool/elixir-google-api:/workspace -v/var/run/docker.sock:/var/run/docker.sock -e USER_GROUP=1000:1000 -w /workspace gcr.io/cloud-devrel-public-resources/elixir19 scripts/generate_client.sh GroupsSettings
2020-05-09 05:14:04,015 synthtool > No files in sources /home/kbuilder/.cache/synthtool/elixir-google-api/clients were copied. Does the source contain files?
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>
    main()
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main
    spec.loader.exec_module(synth_module)  # type: ignore
  File "/tmpfs/src/github/synthtool/synthtool/metadata.py", line 180, in __exit__
    write(self.metadata_file_path)
  File "/tmpfs/src/github/synthtool/synthtool/metadata.py", line 112, in write
    with open(outfile, "w") as fh:
FileNotFoundError: [Errno 2] No such file or directory: 'clients/groups_settings/synth.metadata'
2020-05-09 05:14:04 [ERROR] Synthesis failed
2020-05-09 05:14:04,046 autosynth > Synthesis failed
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 599, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 471, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 549, in _inner_main
    ).synthesize(base_synth_log_path)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 118, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/groups_settings/synth.metadata', 'synth.py', '--', 'GroupsSettings']' returned non-zero exit status 1.

Google internal developers can see the full log here.

Autosynth is still having trouble generating GroupsSettings. :sob:
Here's the output from running synth.py:
2020-05-11 05:12:30 [INFO] logs will be written to: /tmpfs/src/github/synthtool/logs/googleapis/elixir-google-api
2020-05-11 05:12:30,362 autosynth > logs will be written to: /tmpfs/src/github/synthtool/logs/googleapis/elixir-google-api
Switched to branch 'autosynth-groupssettings'
2020-05-11 05:12:31 [INFO] Running synthtool
2020-05-11 05:12:31,854 autosynth > Running synthtool
2020-05-11 05:12:31 [INFO] ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/groups_settings/synth.metadata', 'synth.py', '--']
2020-05-11 05:12:31,855 autosynth > ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/groups_settings/synth.metadata', 'synth.py', '--']
2020-05-11 05:12:32,041 synthtool > Executing /home/kbuilder/.cache/synthtool/elixir-google-api/synth.py.
On branch autosynth-groupssettings
nothing to commit, working tree clean
2020-05-11 05:12:32,305 synthtool > Cloning https://github.com/googleapis/elixir-google-api.git.
2020-05-11 05:12:32,735 synthtool > Running: docker run --rm -v/home/kbuilder/.cache/synthtool/elixir-google-api:/workspace -v/var/run/docker.sock:/var/run/docker.sock -e USER_GROUP=1000:1000 -w /workspace gcr.io/cloud-devrel-public-resources/elixir19 scripts/generate_client.sh GroupsSettings
2020-05-11 05:12:35,990 synthtool > No files in sources /home/kbuilder/.cache/synthtool/elixir-google-api/clients were copied. Does the source contain files?
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>
    main()
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main
    spec.loader.exec_module(synth_module)  # type: ignore
  File "/tmpfs/src/github/synthtool/synthtool/metadata.py", line 180, in __exit__
    write(self.metadata_file_path)
  File "/tmpfs/src/github/synthtool/synthtool/metadata.py", line 112, in write
    with open(outfile, "w") as fh:
FileNotFoundError: [Errno 2] No such file or directory: 'clients/groups_settings/synth.metadata'
2020-05-11 05:12:36 [ERROR] Synthesis failed
2020-05-11 05:12:36,014 autosynth > Synthesis failed
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 599, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 471, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 549, in _inner_main
    ).synthesize(base_synth_log_path)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 118, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/groups_settings/synth.metadata', 'synth.py', '--', 'GroupsSettings']' returned non-zero exit status 1.

Google internal developers can see the full log here.

Autosynth is still having trouble generating GroupsSettings. :sob:
Here's the output from running synth.py:
2020-05-11 15:15:01 [INFO] logs will be written to: /tmpfs/src/github/synthtool/logs/googleapis/elixir-google-api
2020-05-11 15:15:01,101 autosynth > logs will be written to: /tmpfs/src/github/synthtool/logs/googleapis/elixir-google-api
Switched to branch 'autosynth-groupssettings'
2020-05-11 15:15:03 [INFO] Running synthtool
2020-05-11 15:15:03,158 autosynth > Running synthtool
2020-05-11 15:15:03 [INFO] ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/groups_settings/synth.metadata', 'synth.py', '--']
2020-05-11 15:15:03,158 autosynth > ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/groups_settings/synth.metadata', 'synth.py', '--']
2020-05-11 15:15:03,375 synthtool > Executing /home/kbuilder/.cache/synthtool/elixir-google-api/synth.py.
On branch autosynth-groupssettings
nothing to commit, working tree clean
2020-05-11 15:15:03,663 synthtool > Cloning https://github.com/googleapis/elixir-google-api.git.
2020-05-11 15:15:04,135 synthtool > Running: docker run --rm -v/home/kbuilder/.cache/synthtool/elixir-google-api:/workspace -v/var/run/docker.sock:/var/run/docker.sock -e USER_GROUP=1000:1000 -w /workspace gcr.io/cloud-devrel-public-resources/elixir19 scripts/generate_client.sh GroupsSettings
/workspace /workspace
The mix.lock file was generated with a newer version of Hex. Update your client by running `mix local.hex` to avoid losing data.
Resolving Hex dependencies...
Dependency resolution completed:
Unchanged:
  certifi 2.5.1
  google_api_discovery 0.7.0
  google_gax 0.3.2
  hackney 1.15.2
  idna 6.0.0
  jason 1.2.0
  metrics 1.0.1
  mime 1.3.1
  mimerl 1.2.0
  oauth2 0.9.4
  parse_trans 3.3.0
  poison 3.1.0
  ssl_verify_fun 1.1.5
  temp 0.4.7
  tesla 1.3.3
  unicode_util_compat 0.4.1
A new Hex version is available (0.20.1 < 0.20.5), please update with `mix local.hex`
All dependencies are up to date
The mix.lock file was generated with a newer version of Hex. Update your client by running `mix local.hex` to avoid losing data.

22:15:06.665 [info]  FETCHING: https://www.googleapis.com/discovery/v1/apis/groupssettings/v1/rest

22:15:06.802 [info]  FOUND: https://www.googleapis.com/discovery/v1/apis/groupssettings/v1/rest
Revision check: old=20190725, new=20190725, generating=true
Creating leading directories
Writing Groups to clients/groups_settings/lib/google_api/groups_settings/v1/model/groups.ex.
Writing Groups to clients/groups_settings/lib/google_api/groups_settings/v1/api/groups.ex.
Writing connection.ex.
Writing metadata.ex.
Writing mix.exs
Writing README.md
Writing LICENSE
Writing .gitignore
Writing config/config.exs
Writing test/test_helper.exs
fixing file permissions
2020-05-11 15:15:07,721 synthtool > No files in sources /home/kbuilder/.cache/synthtool/elixir-google-api/clients were copied. Does the source contain files?
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>
    main()
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main
    spec.loader.exec_module(synth_module)  # type: ignore
  File "/tmpfs/src/github/synthtool/synthtool/metadata.py", line 180, in __exit__
    write(self.metadata_file_path)
  File "/tmpfs/src/github/synthtool/synthtool/metadata.py", line 112, in write
    with open(outfile, "w") as fh:
FileNotFoundError: [Errno 2] No such file or directory: 'clients/groups_settings/synth.metadata'
2020-05-11 15:15:07 [ERROR] Synthesis failed
2020-05-11 15:15:07,755 autosynth > Synthesis failed
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 599, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 471, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 549, in _inner_main
    ).synthesize(base_synth_log_path)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 118, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/groups_settings/synth.metadata', 'synth.py', '--', 'GroupsSettings']' returned non-zero exit status 1.

Google internal developers can see the full log here.

Autosynth is still having trouble generating GroupsSettings. :sob:
Here's the output from running synth.py:
2020-05-12 05:14:30 [INFO] logs will be written to: /tmpfs/src/github/synthtool/logs/googleapis/elixir-google-api
2020-05-12 05:14:30,665 autosynth > logs will be written to: /tmpfs/src/github/synthtool/logs/googleapis/elixir-google-api
Switched to branch 'autosynth-groupssettings'
2020-05-12 05:14:32 [INFO] Running synthtool
2020-05-12 05:14:32,409 autosynth > Running synthtool
2020-05-12 05:14:32 [INFO] ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/groups_settings/synth.metadata', 'synth.py', '--']
2020-05-12 05:14:32,410 autosynth > ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/groups_settings/synth.metadata', 'synth.py', '--']
2020-05-12 05:14:32,620 synthtool > Executing /home/kbuilder/.cache/synthtool/elixir-google-api/synth.py.
On branch autosynth-groupssettings
nothing to commit, working tree clean
2020-05-12 05:14:32,698 synthtool > Cloning https://github.com/googleapis/elixir-google-api.git.
2020-05-12 05:14:33,158 synthtool > Running: docker run --rm -v/home/kbuilder/.cache/synthtool/elixir-google-api:/workspace -v/var/run/docker.sock:/var/run/docker.sock -e USER_GROUP=1000:1000 -w /workspace gcr.io/cloud-devrel-public-resources/elixir19 scripts/generate_client.sh GroupsSettings
/workspace /workspace
The mix.lock file was generated with a newer version of Hex. Update your client by running `mix local.hex` to avoid losing data.
Resolving Hex dependencies...
Dependency resolution completed:
Unchanged:
  certifi 2.5.1
  google_api_discovery 0.7.0
  google_gax 0.3.2
  hackney 1.15.2
  idna 6.0.0
  jason 1.2.0
  metrics 1.0.1
  mime 1.3.1
  mimerl 1.2.0
  oauth2 0.9.4
  parse_trans 3.3.0
  poison 3.1.0
  ssl_verify_fun 1.1.5
  temp 0.4.7
  tesla 1.3.3
  unicode_util_compat 0.4.1
A new Hex version is available (0.20.1 < 0.20.5), please update with `mix local.hex`
All dependencies are up to date
The mix.lock file was generated with a newer version of Hex. Update your client by running `mix local.hex` to avoid losing data.

12:14:35.776 [info]  FETCHING: https://www.googleapis.com/discovery/v1/apis/groupssettings/v1/rest

12:14:35.930 [info]  FOUND: https://www.googleapis.com/discovery/v1/apis/groupssettings/v1/rest
Revision check: old=20190725, new=20190725, generating=true
Creating leading directories
Writing Groups to clients/groups_settings/lib/google_api/groups_settings/v1/model/groups.ex.
Writing Groups to clients/groups_settings/lib/google_api/groups_settings/v1/api/groups.ex.
Writing connection.ex.
Writing metadata.ex.
Writing mix.exs
Writing README.md
Writing LICENSE
Writing .gitignore
Writing config/config.exs
Writing test/test_helper.exs
fixing file permissions
2020-05-12 05:14:36,810 synthtool > No files in sources /home/kbuilder/.cache/synthtool/elixir-google-api/clients were copied. Does the source contain files?
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>
    main()
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main
    spec.loader.exec_module(synth_module)  # type: ignore
  File "/tmpfs/src/github/synthtool/synthtool/metadata.py", line 180, in __exit__
    write(self.metadata_file_path)
  File "/tmpfs/src/github/synthtool/synthtool/metadata.py", line 112, in write
    with open(outfile, "w") as fh:
FileNotFoundError: [Errno 2] No such file or directory: 'clients/groups_settings/synth.metadata'
2020-05-12 05:14:36 [ERROR] Synthesis failed
2020-05-12 05:14:36,845 autosynth > Synthesis failed
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 599, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 471, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 549, in _inner_main
    ).synthesize(base_synth_log_path)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 118, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'clients/groups_settings/synth.metadata', 'synth.py', '--', 'GroupsSettings']' returned non-zero exit status 1.

Google internal developers can see the full log here.

Autosynth passed, closing! :green_heart:


Disable PBS Pro test

This commit disables the PBS Pro test as the infrastructure only supports testing against CentOS 7 which is now EOL. The modules may work under CentOS 8, however they are untested.
Submission Checklist
Please take the following actions before submitting this pull request.

Fork your PR branch from the Toolkit "develop" branch (not main)
Test all changes with pre-commit in a local branch #
Confirm that "make tests" passes all tests
Add or modify unit tests to cover code changes
Ensure that unit test coverage remains above 80%
Update all applicable documentation
Follow Cloud HPC Toolkit Contribution guidelines #

Also need to disable test trigger for this test.


[BUG] Power off node during backup volume restore does not continue restore

Describe the bug
Power off node during backup volume restore re-attached to another node but does not resume restore. Note: Cannot detach either.

To Reproduce
Steps to reproduce the behavior:
1. Create a backup.
2. Create a restore volume from the backup.
3. Power off the volume attached node during the restoring.
4. Wait for the Longhorn node down.
5. Wait for the restore volume being reattached and starting restoring volume with state Degraded.
6. Wait for the restore complete.

Expected behavior
Volume should continue to restore, complete and change state to Degraded.
Log
none
Environment:

Longhorn version: master
Installation method (e.g. Rancher Catalog App/Helm/Kubectl): kubectl
Kubernetes distro (e.g. RKE/K3s/EKS/OpenShift) and version: k3s

Number of management node in the cluster:
Number of worker node in the cluster:

Node config

OS type and version: SLES15SP3
CPU per node: 4
Memory per node: 8
Disk type(e.g. SSD/NVMe): SSD
Network bandwidth between the nodes:

Underlying Infrastructure (e.g. on AWS/GCE, EKS/GKE, VMWare/KVM, Baremetal): AWS
Number of Longhorn volumes in the cluster: 2

Additional context
Add any other context about the problem here.

cc @khushboo-rancher it seems a regression.

@c3y1huang please help verify. thanks.

Verified with Master - 08/30/2021, it's working but don't see the backported PR.

Verified with Master - 08/30/2021, it's working but don't see the backported PR.

I will prepare the backported PR soon

I tried with v1.1.3-head 08/30/2021, it didn't work for me.

I tried with v1.1.3-head 08/30/2021, it didn't work for me.

To verify this issue In v1.1.3, you need to trigger the restore volume re-updating LastBackup after reattachment by clicking the Backup page or setting a short backup target poll interval.

Validation: PASSED
Verifying with Longhorn v1.1.3-head(20210831) on EC2 with 1 + 3 nodes
        image: longhornio/longhorn-manager:v1.1.3-head
        - longhornio/longhorn-engine:v1.1.3-head
        - longhornio/longhorn-instance-manager:v1_20210621
        - longhornio/longhorn-share-manager:v1_20210416
        - longhornio/backing-image-manager:v1_20210422
        - longhornio/longhorn-manager:v1.1.3-head
        image: longhornio/longhorn-ui:v1.1.3-head

Update the backup polling interval setting to 30s
restore a backup
observe the attached node and reboot that instance immediately
the volume will then be attached and begin restoring
Wait for the node come back online

The volume will be restored then detached. Create PV/PVC then attaching the volume to the workload scheduling node, the volume data can be access and verified.


Update archetype to new template

Before we can update the Pub.dev unlisted packages, we need to update the Github archetype.  See example for framework.

[x] Readme.md
[x] Contributing.md
[x] Check logo (example here)
[x] Add badges (example here)

To be updated (by @XavierChanth):

[x] at_demo_data
[x] at_contact & at_server_status
[x] at_commons & at_utils
[x] at_persistence_spec, at_persistence_secondary_server & at_server_spec

archetype(s) have been updated, along with all the repos using them


Derivation of the logcdf function

@thequackdaddy Do you have any sources which you can share to elaborate on the logcdf_1to2 implementation? I am trying to validate the correctness of this code.
def logcdf_1to2(x, mu, phi, p):
    # I couldn't find a paper on this, so gonna be a little hacky until I
    # have a better idea. The strategy is to create a (n, 1) matrix where
    # n is the number of observations and the first column represents where
    # there are 0 occurences. We'll add an additional column for 1 occurence,
    # and test for whether the difference between the added's column value
    # and the max value is greater than 37. If not, add another column
    # until that's the case. Then, sum the columns to give a vector of length
    # n which *should* be the CDF. (I think).

    # For very high rates, this funciton might not run well as it will
    # create lots of (potentially meaningless) columns.
    rate = est_kappa(mu, p) / phi
    scale = est_gamma(phi, p, mu)
    shape = -est_alpha(p)
    W = -rate.reshape(-1, 1)

    i = 0
    while True:
        i += 1
        trial = i * np.log(rate) - rate - gammaln(i + 1)
        # trial += gamma(a=i * shape, scale=scale).logcdf(x)
        trial += np.log(gammainc(i * shape, x / scale))
        W = np.hstack((W, trial.reshape(-1, 1)))

        if (np.all(W[:, :-1].max(axis=1) - W[:, -1] > 37) &
                np.all(W[:, -2] > W[:, -1])):
            break
    logcdf = np.log(np.exp(W).sum(axis=1))
    return logcdf

Haha not really. That said, I believe I was able, to validate the results against R’s package. So it’s roughly accurate. At low rates, it should be fine. Only in high rates could I see a problem.
This is pretty basic as I remember it. Essentially, it’s calculating log( CDF at zero events + CDF at one event + … + CDF at n events). That’s a sum of series with an infinite number of terms.
You only need to add the terms which are computationally meaningful. The rest are zero, so you can ignore them.
I highly suspect the way it’s done follows the strategy in this paper (though this is pdf, not CDF)
https://eprints.usq.edu.au/2335/1/Dunn_Smyth_Stats_and_Comp_v15n4.pdf
I never really put in the time to engineer a good solution for CDF.


Add trailing backslash to generated cURL code for easier paste-and-execute

And stop generating Content-Length header so it's easier to modify the generated code. Corresponding HTTP clients (like cURL) should handle Content-Type pretty well anyway.

Hey @ushuz,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: be0beb20-d220-11ea-9c70-53a116b43db5

Hey @ushuz,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: 273c60c0-d226-11ea-9c70-53a116b43db5

Hey @ushuz,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: a7809200-d227-11ea-9c70-53a116b43db5


Replace underscore with amp-* modules

Leave the underscore as a devDependency for test file, since there is no replacement for _.pick function available yet.

I came here to add this. Can we get this merged in? I don't want to have to include underscore in my project.

Yeah let's go ahead and get pick removed and made it a clean break! http://amp.ampersandjs.com/#amp-pick

Will do that tomorrow and update the pull request

Updated, no underscore anymore

+1 looks good, tests pass locally for me too.

+1 here too, i'm ready to ship this. this should be safe to do as a patch update right?

Yep this is just an underlying dependency change w/ parity of features.

published as 1.0.7

thanks @wizardzloy!


Italian locale

This is the italian localization for Camaleon CMS.
Where the default language was set to "es" we have put "en" (for example in app/javascripts/admin/data.js and app/views/layouts/admin.html.erb)

great!

Thanks to you


docs(project): add project README with intro.

We wrote an introduction on Cascade, where it
included the following:

What is Cascade?
Why do we need Cascade?
Roadmap and Current Features Sections.
How could we use Cascade? The introduction was made to get future users,
contributors and anyone interested in the project
to understand the purpose of this project.

Closes #1

The introduction fits the current issue, and a future issue will be opened for ongoing updates.


✨ [REQUEST] Webtrees

Which addon?

Addon name: Webtrees
Addon version: v2.1.7

Is your feature request related to a problem? Please describe.

I would like to connect to the Webtrees from outside of my local network and the simplest way to accomplish that is to use the Cloudflare Tunnels. Because of how the Webtrees works I am not able to connect to it, because it refuses the connections.
Describe the solution you'd like

As I saw on the Webtrees webpage, the additional line in a data/config.ini.php file needs to be added to allow connections from Cloudflare servers -> Using webtrees behind a proxy server.
trusted_headers="cf-connecting-ip"
Is it possible to add this to the Configurations of webtrees add-on? It would be perfect if we could just fill the cf-connecting-ip in webtrees configuration tab.
Describe alternatives you've considered

N/A
Additional context

N/A

Hi @alexbelgium, thanks for taking an action so quickly! ;)
I have another question, is it possible to manually specify the BASE URL?
I think there might be a problem with the URL, because when I configuring the BASE_URL in configuration it must be filled without the port. When I changing the base address to one from Cloudflare, e.g. some.address.tk (which is configured to get me to my local instance of Webtrees - ip-address:port), the base address is being modified to some.address.tk:port, so it is not able to reach my local server, because port is already given in Cloudflare configuration.

The addon is not starting properly now, because it occurred that for some reasons the data/config.ini.php file does not exists within the webtrees docker container.
sed: couldn't edit /share/webtrees: not a regular file
/etc/cont-init.d/99-run.sh: exiting 4

Hi, thanks ! Indeed I forgot the path for the ini file, should be solved with https://github.com/alexbelgium/hassio-addons/commit/88616f9935ad26030ff49669291ae13a11b71271

I think it could solve the problem

It works! ;) Thanks a lot for a quick response!

Great news! Enjoy


Use uint64 type for timestamps

This commit changes the numeric type of the timestamps from uint32 to uint64 as described in the paper.
As this is a breaking change, I'd recommend we introduce semantic versioning in this library.
For context, this change is a prerequisite for me to adopt this library in Vegeta for use in the plot command that ought to handle larger data sets gracefully.

Just found out this isn't working as it stands.

Yeah, I don't have the time to figure this out currently. I'll encode durations as milliseconds for now which should be OK for must use cases with an uint32.


[SP-5750] Backport of PDI-18972 - Out of Memory Errors can occur when…

… using Excel Writer step (8.3 Suite). Revert BACKLOG-31404.

:white_check_mark: Build finished in 31m 57s
Build command:
mvn clean verify -B -e -Daudit -amd -pl engine

:ok_hand: All tests passed!
Tests run: 3618, Failures: 0, Skipped: 7    Test Results

:information_source:  This is an automatic message

@ssamora

@pentaho/moseisley


Fix matrix unit test and make small fix to binning

Should fix issue #570 .
It was possible in binning to give an index that is actually invalid. This would cause an obscure error later on when only the length of the now string index is checked. Even more obscure, if the given index string happened to have the same length as the binning has dimensions ("pid"), it would pass the length check and break later with an even more obscure error.
Let's raise an exception instead with a helpful list of the keys that would have been valid.

Looks simple enough, will merge today unless someone says otherwise

Sorry for asking a dumb question, but how exactly do I deal with the build fails? I already suspect that it is because the branch I was editing from was not up to date and I'd have to merge the current master branch. Is that the right thing to do? I don't want to mess up this PR...

Don't worry about it for now, Philipp and I can merge this even if there are build failures. Not going to enforce this while we're still transitioning to getting the auto-build / auto-unit testing checks working.
In the future, though, that would be the strategy I'd follow (merge the latest master into your feature branch). But there might be some things that my latest (merged) PR makes tricky for you that there's no need for you to have to deal with (this is a "clean" PR right now, it just doesn't pass the tests), so I say just leave this as-is.


Unable to update macOS, fails with "boot snapshot" error - RIU / SIP problem?

Hello, appreciate this tool so much!
I have an issue that might indirectly be related to RIU, and perhaps someone has figured out a way around this:
On both my 12.6 systems with RIU installed and thereby SIP disabled, I'm unable to update to the latest 12.7.1 security update. The update fails immediately upon initiating with the error "“A snapshot is currently set to boot that is not the currently booted snapshot. Reboot to boot to the new snapshot to allow install to this volume.”
I'm suspecting this is because SIP. Web searches indicates that SIP is often the reason for this error, but there seems to be no consensus on why or how to fix it, most results indicate it should be disabled for the update to go through. I have tried to both enable it and disable it, multiple times, no matter what state SIP is in, I'm unable to update to 12.7.1....
So, has anyone of you RIU users generally been able to update your macOS while disabled SIP, and specifically then to 12.7.1 (if you could, then I probably should look elsewhere for the problem)
Thanks for any insights and thanks again for a superb tool.

In macOS Sonoma 14.4 or later, you can hide the recording indicator on external displays without using Recording Indicator Utility. Learn more ↗

That is awesome, fiiiiinally! This solution works for me (live performances with external screens). Thank you so much for updating this thread with this information - and again re-thanking you for your work with this utility. Cheers!


ingress-nginx external HelmRelease has dependsOn defined

https://github.com/onedr0p/cluster-template/blob/d62155849bf8b9ee0a1260fe0b25f1fe9dce8a7a/bootstrap/templates/kubernetes/apps/network/ingress-nginx/external/helmrelease.yaml.j2#L23
Just saw this scrubbing my apps for consistency.  Would this be better up in the ingress-nginx/ks.yaml dependsOn?

I don't think so, there's nothing in the cloudflared ks that needs to be ready other than the helm release.


Unit test for debug logTracker

Issue: https://github.com/swiftlang/vscode-swift/issues/1023

now that we've set new guidelines, can we close this? Doesn't fit into our definition of unit tests

Sure.


Replace #color_enabled= with #color= since it's removed in RSpec 3.0.0

When I use kelbim -t with RSpec 3.0+ environment, I receive an error like
[ERROR] undefined method `color_enabled=' for #<RSpec::Core::Configuration:0x007f9c6d6c3660>
Did you mean?  color_enabled?

It's caused by deprecation of #color_enabled= in RSpec 3.0.0, so I just replaced it with #color=.

Breaking Changes for 3.0.0:

Remove color_enabled as an alias of color. (Jon Rowe)

It may be a good idea to specify RSpec version requirement (">= 3.0.0") in gemspec but I didn't include that because it's not mandatory.

Thanks!


adding more context to the Readme

While documentation would be a future task, adding a bit of context here to the readme.

Codecov Report

Merging #229 (0a5cd6b) into main (0847eaa) will decrease coverage by 0.04%.
The diff coverage is n/a.

:exclamation: Current head 0a5cd6b differs from pull request most recent head 140652e. Consider uploading reports for the commit 140652e to get more accurate results

@@            Coverage Diff             @@
##             main     #229      +/-   ##
==========================================
- Coverage   68.60%   68.56%   -0.05%
==========================================
  Files          14       14
  Lines        7129     7129
==========================================
- Hits         4891     4888       -3
- Misses       1611     1613       +2
- Partials      627      628       +1

Impacted Files
Coverage Δ

map.go
71.31% <0.00%> (-0.11%)
:arrow_down:

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 0847eaa...140652e. Read the comment docs.

I would like to squash commits before merging

Looks great, thank you for writing this up! 👍


fps benchmark tool can't work

Hello everyone,
Firstly, I apologize for my English.
I have a problem: I trained a custom object detector, and for my use case, the Frames Per Second (FPS) is crucial. I used the following command:
python -m torch.distributed.launch --nproc_per_node=1 --master_port=29500 tools/analysis_tools/benchmark.py work_dirs/ca-o/ca-o.py work_dirs/ca-o/best_bbox_mAP_epoch_183.pth --launcher pytorch
Unfortunately, the command did not run properly. Instead, an error occurred, and I am unable to fix it. Maybe someone knows where the error is coming from.
/home/cuicui/anaconda3/envs/mmdet3/lib/python3.8/site-packages/torch/distributed/launch.py:180: FutureWarning: The module torch.distributed.launch is deprecated
and will be removed in future. Use torchrun.
Note that --use_env is set by default in torchrun.
If your script expects --local_rank argument to be set, please
change it to read from os.environ['LOCAL_RANK'] instead. See
https://pytorch.org/docs/stable/distributed.html#launch-utility for
further instructions
warnings.warn(
loading annotations into memory...
Done (t=0.00s)
creating index...
index created!
load checkpoint from local path: work_dirs/ca-o/best_bbox_mAP_epoch_183.pth
Traceback (most recent call last):
File "tools/analysis_tools/benchmark.py", line 188, in
main()
File "tools/analysis_tools/benchmark.py", line 182, in main
repeat_measure_inference_speed(cfg, args.checkpoint, args.max_iter,
File "tools/analysis_tools/benchmark.py", line 151, in repeat_measure_inference_speed
measure_inference_speed(cp_cfg, checkpoint, max_iter, log_interval,
File "tools/analysis_tools/benchmark.py", line 111, in measure_inference_speed
model(return_loss=False, rescale=True, **data)
File "/home/cuicui/anaconda3/envs/mmdet3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1194, in _call_impl
return forward_call(*input, **kwargs)
File "/home/cuicui/anaconda3/envs/mmdet3/lib/python3.8/site-packages/torch/nn/parallel/distributed.py", line 1040, in forward
output = self._run_ddp_forward(*inputs, **kwargs)
File "/home/cuicui/anaconda3/envs/mmdet3/lib/python3.8/site-packages/torch/nn/parallel/distributed.py", line 1000, in _run_ddp_forward
return module_to_run(*inputs[0], **kwargs[0])
File "/home/cuicui/anaconda3/envs/mmdet3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1194, in _call_impl
return forward_call(*input, **kwargs)
File "/home/cuicui/anaconda3/envs/mmdet3/lib/python3.8/site-packages/mmcv/runner/fp16_utils.py", line 139, in new_func
output = old_func(*new_args, **new_kwargs)
File "/home/cuicui/anaconda3/envs/mmdet3/lib/python3.8/site-packages/mmdet-2.22.0-py3.8.egg/mmdet/models/detectors/base.py", line 174, in forward
return self.forward_test(img, img_metas, **kwargs)
File "/home/cuicui/anaconda3/envs/mmdet3/lib/python3.8/site-packages/mmdet-2.22.0-py3.8.egg/mmdet/models/detectors/base.py", line 137, in forward_test
img_meta[img_id]['batch_input_shape'] = tuple(img.size()[-2:])
TypeError: 'DataContainer' object is not subscriptable
ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 0 (pid: 920690) of binary: /home/cuicui/anaconda3/envs/mmdet3/bin/python
Traceback (most recent call last):
File "/home/cuicui/anaconda3/envs/mmdet3/lib/python3.8/runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/home/cuicui/anaconda3/envs/mmdet3/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/home/cuicui/anaconda3/envs/mmdet3/lib/python3.8/site-packages/torch/distributed/launch.py", line 195, in
main()
File "/home/cuicui/anaconda3/envs/mmdet3/lib/python3.8/site-packages/torch/distributed/launch.py", line 191, in main
launch(args)
File "/home/cuicui/anaconda3/envs/mmdet3/lib/python3.8/site-packages/torch/distributed/launch.py", line 176, in launch
run(args)
File "/home/cuicui/anaconda3/envs/mmdet3/lib/python3.8/site-packages/torch/distributed/run.py", line 753, in run
elastic_launch(
File "/home/cuicui/anaconda3/envs/mmdet3/lib/python3.8/site-packages/torch/distributed/launcher/api.py", line 132, in call
return launch_agent(self._config, self._entrypoint, list(args))
File "/home/cuicui/anaconda3/envs/mmdet3/lib/python3.8/site-packages/torch/distributed/launcher/api.py", line 246, in launch_agent
raise ChildFailedError(
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
tools/analysis_tools/benchmark.py FAILED
Failures:
<NO_OTHER_FAILURES>
Root Cause (first observed failure):
[0]:
time      : 2024-05-15_18:41:58
host      : cuicui
rank      : 0 (local_rank: 0)
exitcode  : 1 (pid: 920690)
error_file: <N/A>
traceback : To enable traceback see: https://pytorch.org/docs/stable/elastic/errors.html**
============================================================

i meet the same problem. do u solve it?


Validation is deprecated, but it is not explained why

📖 Documentation
I just looked at Validation in the modules list, but everything is crossed out and there is a comment at the end that I should use EitherT. There is no documentation about what EitherT does, or what the T stands for. It would be good if there was at least some information on these classes on how to use them, what they do, why is it deprecated, etc.

Thanks for the explanation, I'll close this.

Still very new to FP, I'm sure there's a more efficient way to do this but this worked for me:
import { chain, match, left, right, Either } from "fp-ts/lib/Either";
import { pipe } from "fp-ts/lib/function";
import * as A from "fp-ts/lib/Array";

declare type Error = {
    key: string
}
declare type Errors = Array<Error>;
declare type Validation = Array<(a: any) => Either<Errors, any>>;

export const multipleValidations = (checks: Validation) => (input: any) =>
    pipe(
        checks,
        A.flap(input),
        A.lefts,
        A.flatten,
        result => result.length > 0 ? left(response(result)) : right(input)
    );

pipe(
    right(event),
    chain(multipleValidations([
        hasRequiredStringField('username'),
        hasRequiredStringField('password'),
        hasPasswordMinLength,
        _ => left([{ key: 'example' }])
    ])),
    match(
        (error) => error,
        _ => []
    )
)

My solution:
  let Ap = TE.getApplicativeTaskValidation(T.ApplyPar,
    pipe(string.Semigroup, S.intercalate(", "))
  )

  let res = await pipe(
    sequenceT(Ap)(
      validateFileName(input.fileName),
      validateBucket(input.bucket),
    ),
    TE.mapLeft((it)=> Error(it)),

let validateFileName = (fileName?: string): TE.TaskEither<string, string> => {
  if (!fileName) return TE.left("fileName is required")
  if (!fileName.match(/.*(-all|-docs|)\.zip/))
    return TE.left("fileName not supported")
  return TE.right(fileName)
}

repo


Add procurement section on accommodation to the procurement section

Related to #2
add something to our Event Organisation Guide that reminds organisers to look into accommodation as soon as possible a location is fixed (and ideally before registration is opened), and that cancellation policy is one of the things that should be included in the requirements for hotel suppliers
information has been added here: https://github.com/softwaresaved/operations-manual/blob/master/financial-administration.md
But this needs to be added to the Event Organisation Guide
A more general workflow that’s less Edinburgh specific should be added to the EOG

Added to eps-accommodation.rst and to eps-finance.rst


How to teardown a module instantiated with Elm.embed

The solution in #432 seems to be gone in 0.18

The issue tracker is not for questions. It is for bugs. See what process-robot says about that. Questions can be asked at several community places. http://elm-lang.org/community


AzureClient supports discovery endpoint URLs

AzureClient currently requires ordererUrl and storageUrl to connect to the Azure Fluid Relay service. This needs to be changed to support a single discover URL. This discovery url will be called to determine which endpoint to connect to and will allow for support of Data Recovery (DR) scenarios.
Goal
Developers can provide a discovery endpoint instead of explicit orderer and storage endpoints
Requirements

Developers will only ever need one URL (the discovery URL) to connect AFR

Current Config
// AFR Connected
const config = {
    connection: {
      tenantId: "_GUID_",
      tokenProvider: new TokenProvider(/*...*/),
      orderer: "https://myOrdererUrl",
      storage: "https://myStorageUrl",
    }
};

// Local Mode Connected
const config = {
    connection: {
        tenantId: LOCAL_MODE_TENANT_ID,
        tokenProvider: new InsecureTokenProvider("", { id: "userId" }),
        orderer: "http://localhost:7070",
        storage: "http://localhost:7070",
    }
};

Proposal
1. Use single discovery url for AFR and Local
In this model the developer would only supply one URL for local and remote scenarios. In the local case we would use the URL to craft the appropriate orderer and storage URLs.
Pros

Consistant Config

Cons

Discovery isn't really happening in local model and could be confusing to the developer

Config Examples
// AFR Connected
const config = {
    connection: {
      tenantId: "_GUID_",
      tokenProvider: new TokenProvider(/*...*/),
      discoveryUrl: "https://afr-discovery.azure.com/.../.../...",
    }
};

// Local Mode Connected
const config = {
    connection: {
        tenantId: LOCAL_MODE_TENANT_ID,
        tokenProvider: new InsecureTokenProvider("", { id: "userId" }),
        discoveryUrl: "http://localhost:7070",
    }
};

2. Use discover for AFR only
In this case we keep the params of the local config the same and move to a single endpoint only for the non-local scenario. This would require a typing change to make sure we can successfully support two types of configs with different properties.
Pros

type makes it clear what scenario they are in
more specific support for local vs remote scenarios

Cons

developer needs to understand different configs
developers don't need to understand orderer vs storage for local (internal concept to them)

Config Examples
// AFR Connected
const config = {
    connection: {
      type: "remote",
      tenantId: "_GUID_",
      tokenProvider: new TokenProvider(/*...*/),
      discoveryUrl: "https://afr-discovery.azure.com/.../.../...",
    }
};

// Local Mode Connected
const config = {
    connection: {
        type:"local",
        tokenProvider: new InsecureTokenProvider("", { id: "userId" }),
        orderer: "http://localhost:7070",
        storage: "http://localhost:7070",
    }
};

3. Use discover for AFR, reduce Local to single endpoint
This proposal is a hybrid of 1&2. It reduces the Local to only one endpoint since that's all developers really care about and it also keeps the remote vs local typing.
Pros

type makes it clear what scenario they are in
more specific support for local vs remote scenarios
aligned to what developers actually care about for local mode

Cons

developer needs to understand different configs
the same config with discovery vs endpoint might be overkill

Config Examples
// AFR Connected
const config = {
    connection: {
      type: "remote",
      tenantId: "_GUID_",
      tokenProvider: new TokenProvider(/*...*/),
      endpoint: "https://afr-discovery.azure.com/.../.../...",
    }
};

// Local Mode Connected
const config = {
    connection: {
        type:"local",
        tokenProvider: new InsecureTokenProvider("", { id: "userId" }),
        endpoint: "http://localhost:7070",
    }
};

Recommendation
After considering I would recommend 3. The reasons being:

It creates the most accurate representation of the required properties for both remote and local scenarios
It clearly outlines when the user is connecting to local vs remote.
Provides extensibility for future connection configurations if needed

Issues

[x] #10118

Should we close this issue?


strings, hide launcher icon, tap to open app drawer

So, it was a little confusing, because you made commits, during I worked on some changes... But it seems, that my commits are now able to be merged.
My changes:

Since swipe to open app drawer doesn't work very properly, I added tap on desktop to open app drawer.
I also added an option to hide the launcher icon. For that reason it was necessary to add the Activity_start. Otherwise the launcher wouldn't open anymore after disabling the icon.
I think I put most hardcoded strings in resources and translated in German. Other languages could now also be added without problems.

Again: thanks for your hard work. I really love the launcher.
Regards
Gaukler Faun

I am sorry the change I did cause conflict to the things you changed, as I immediately saw the problem of swipe to open the drawer in you previous commit, you just need to return true in the listener. But what I changed is to put the code in the on touch listener and use custom way to read the swipe up action.
The latest commit I did is to split the (swipe/click) to open app drawer (and some wording fix in the eng translation ), later I will put a picker over there to let user to choose instead of two boolean. I renamed the Activity_start to Activity_init. May I know why you add a new activity to start the Home, are you planning to add something like introduction there or something else.
Please update before you make any further changes, I don't want any conflicts to happen to you!

I added the Activity_init because when we hide the launcher, we remove the app from the system installed application list. So the system can't launch the app anymore. So we can hide the Activity_init but the system can still launch the launcher when pressing "home", because we left the "android.intent.category.HOME" and the other intents in the Home activity.
But yes, perhaps we can use it to show a short introduction activity. I just used  https://github.com/chyrta/AndroidOnboarder to build such an activity in an other app today...
BTW, thanks for the invitation.

I noticed that and I totally agree with why you did that!
Great job!
On Tue, Jan 24, 2017, 10:16 AM Gaukler Faun<EMAIL_ADDRESS>wrote:

I added the Activity_init because when we hide the launcher, we remove the
app from the system installed application list. So the system can't launch
the app anymore. So we can hide the Activity_init but the system can still
launch the launcher when pressing "home", because we left the
"android.intent.category.HOME" and the other intents in the Home activity.
But yes, perhaps we can use it to show a short introduction activity. I
just used https://github.com/chyrta/AndroidOnboarder to build such an
activity in an other app today...
BTW, thanks for the invitation.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/BennyKok/OpenLauncher/pull/6#issuecomment-274851378,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE4Ns1B6bS14B7fOMn_XC6PSyFhTAviyks5rViPMgaJpZM4LrQuf
.

One other thing I'd like to mention is that in all apps mode when you
uninstall a app the icon stays on the home screen until you go to move it
just wanted to let you guys know :)
On Tue, Jan 24, 2017, 10:17 AM Chris DeBrodie<EMAIL_ADDRESS>wrote:

I noticed that and I totally agree with why you did that!
Great job!
On Tue, Jan 24, 2017, 10:16 AM Gaukler Faun<EMAIL_ADDRESS>wrote:
I added the Activity_init because when we hide the launcher, we remove the
app from the system installed application list. So the system can't launch
the app anymore. So we can hide the Activity_init but the system can still
launch the launcher when pressing "home", because we left the
"android.intent.category.HOME" and the other intents in the Home activity.
But yes, perhaps we can use it to show a short introduction activity. I
just used https://github.com/chyrta/AndroidOnboarder to build such an
activity in an other app today...
BTW, thanks for the invitation.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/BennyKok/OpenLauncher/pull/6#issuecomment-274851378,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE4Ns1B6bS14B7fOMn_XC6PSyFhTAviyks5rViPMgaJpZM4LrQuf
.

Just created the intro screens ;-)

Looks amazing! Great job!
On Tue, Jan 24, 2017, 11:51 AM Gaukler Faun<EMAIL_ADDRESS>wrote:

Just created the intro screens ;-)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/BennyKok/OpenLauncher/pull/6#issuecomment-274881579,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE4Ns8f99yqjyihMeYcrEi2ye7UN9DTyks5rVjoRgaJpZM4LrQuf
.


More prominent placement of "how-to-use-our-ebooks"

In the other repo, I opened an issue on loading the book files and was pointed to the excellent page at https://standardebooks.org/help/how-to-use-our-ebooks. I would not have found that page otherwise. I suggest (without doing a PR because I don't know where y'all would want to put it) that a pointer to how-to-use-our-ebooks be made more prominent on the web site.

Right now the page is linked just  below the download links on every ebook page. Right now we don't have a generic "help for readers" section (only a "help for contributors") section, so at some point we should get something like that up and going. I'll put it on the to do list.


Optimize for itoa operations

Use strconv package for itoa operations instead of fmt.Sprintf. Note this change is non-functional and is not required.

I did some manual performance testing to validate my assumptions using the following benchmarks.


Feature: Make Lesson 6 Page-  Pointer Reassignment

Make the Lesson 6 Page based off the Figma:

The slideshow component is used here, so just leave a comment for where it should go. This refers to the middle part where there is the image of code tracing.

Assign to nathan


Google Webmaster tools can't be verified

Expected behavior (预期行为)
set up a verification string for Google Webmaster tools
Actual behavior (实际行为)
I followed the Google Webmaster Tools Document for configuration, but I got the following result at Google Webmaster Tools.
Verification failed for http://xxx.com/ using the Meta tag method (less than a minute ago). We couldn't find the verification meta tag.

Steps to reproduce the behavior (重现步骤)
Google Webmaster Tools Document
NexT Information
NexT Version:

✔ Master
Latest Release
Old version -

Site adress? Site scheme?

Site adress: lujianan.com
Site scheme: Mist
Next verson: 5.1.1

@LemonSprite ok, can u tell what u do step by step? Because, my 2 sites on Next already verified by meta tag in google webmasters. And i think, on other peoples there is no errors about this.

I solved the problem, probably because of my deployment problems


Add block 75 to program template

Summary of changes

Add block 75 to program template
If needed, we can also change the buttons at the bottom (currently hard-coded to a block as well if we know the ID)

Frontend

Add block 75 to program template
If needed, we can also change the buttons at the bottom (currently hard-coded to a block as well if we know the ID)

[x] My changes are accessible (at minimum WCAG 2.0 Level AA)
[x] My changes are responsive and appear as expected on mobile and desktop views.
[n/a] After merging, I will update the Content Hub documentation and ensure the Content Hub trainer understands how my changes will affect users.
Backend
None
Test Plan

Check all pages using the program template (anything starting with Bachelor e.g.)

Holding off on this change (sounds like they do not have a specific block they need to show on the program template yet)


Added clubhouse preset

Thanks, @TheAdventurer64. I changed the name to Golf Clubhouse since there are other types of clubhouses. I also added some fields and terms.

👍 Thank you for getting back to me on this. I appreciate the preset field improvements, as well as the fixes for the search terms. But I have to ask: Why did you edit the wig extensions?

Why did you edit the wig extensions?

@TheAdventurer64 What do you mean? I don't think this relates to the clubhouse preset…

Well, you edited the wig extension preset in 3e3f56f.

@TheAdventurer64 That's a link to the merge commit for this PR, so I'm afraid you're mistaken. In #8054 we added a search term to the Wig Shop preset, maybe that's what you mean?

Yes.

@TheAdventurer64 We often add more search terms for presets so they'll appear when someone types in related words. In this case, extention is a misspelling of extension, but instead of changing it we just added both.


[RIP-9] Add a delay example in RocketMQ

What is the purpose of the change
Add a delay example
Brief changelog
Add a delay example in RocketMQ
Verifying this change
Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test  to make sure integration-test pass.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Coverage increased (+0.003%) to 44.827% when pulling a1bf31b1ed2ad870a4974dc01442e092a8531700 on ThailandKing:develop into 6a573a773a87edbcdcc138614b756019fc280988 on apache:develop.


Fix: types in VerticalTabs Story

Types in packages/verticaltabs/src/react/__stories__/examples.story.tsx story need to be fixed. Remove @ts-ignore
See: https://github.com/pluralsight/design-system/pull/1868/files#r661611252

wont fix


nixos/pixelfed: Fix missing permissions for nginx serving files

Also fixes the service pixelfed-cron StateDirectory and uses the nginx user instead of group to define nginx appartenance to pixelfed's group
Fixes #235147
Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

cc @RaitoBezarius


when successfully cnfiguring the runner json is printed

When successfully registering the runner a lot of JSON is printed to the console.
In case of error, the JSON data can be printed to stderr for debugging purposes.
In case of success, there is no point in printing all that JSON, as the console output becomes unreadable.
Should just print success and return 0 exit code.

done, added wrong issue number to commit

if you are sure this is fixed by some of your commits, please close the issue.
I can test and close it only after a new release is made.

Ok, I happened to test it with some recent snapshot along when I had to test something else. This seems working, closing the issue.


pull request for e2e test at 01/01/2017 20:56:06

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

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


Ready to use?

Hi Paul,
Nice work here! What is the status of your plugin?
Thanks!

Hi Ibrahim,
The plugin has been tested and approved by the Paystack team.
There is a live version running without any issues so far on https://gospelbox.com.ng ... You can a song to cart, and select "Paystack" as the processor on checkout. Let me know how it goes.

Awesome. Thanks!

Ah pls, installation instructions?

Download the repo as a ZIP and extract to your plugins folder. Activate on
your WordPress dashboard and you've got it.
You need to have Easy Digital Downloads installed and activated in your
wordpress website for the gateway to work. You can define your Paystack
keys from the "Payment Gateways" tab in the Easy Digital Downloads settings.
On Wed, Mar 23, 2016 at 9:43 AM, Ibrahim Lawal<EMAIL_ADDRESS>wrote:

Ah pls, installation instructions?
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/pauloladimeji/paystack-easy-digital-downloads/issues/1#issuecomment-200250527

Not listed btw. I'll get around to that soon

Hi Paul,
The Paystack API used for the current version of this plugin is outdated. There's new endpoints and specs. How soon can you update?
Thanks!

Oh. I've been busy so haven't noticed that.
I'll try to make time during the weekend. You can also create a PR in case
that'll be faster.
Thanks!
On Wed, Mar 23, 2016 at 7:57 PM, Ibrahim Lawal<EMAIL_ADDRESS>wrote:

Hi Paul,
The Paystack API used for the current version of this plugin is outdated.
There's new endpoints and specs. How soon can you update?
Thanks!
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/pauloladimeji/paystack-easy-digital-downloads/issues/1#issuecomment-200495165

PR sent! :)


Remote connections not working as intended

With the latest version of beamngpy I can't remotely connect to a beamngpy instance on another computer.  Using beamngpy version 1.26.1 works perfectly fine but 1.27 gets a WinError 10060.  I've tried disabling firewalls and all that and I've used wireshark to see that the packets are making it to the host machine but nothing is being returned or showing up in the console log.  I am also having latency issues when connecting remotely and locally with getting camera data which I can fix with is_using_shared_memory being set to true but this crashes when trying to use it remotely which is what I intend on doing.

Hi,
for security reasons, BeamNGpy since 1.27 launches BeamNG to listen on the local network interface only by default, you can set it up to listen on all network interfaces by:
beamng = BeamNGpy('localhost', 64256)
beamng.open(listen_ip='*')

or you can set a binding IP address (see the docs) to listen on a network interface of your choice.
Shared memory cannot work with a remote host, but the user experience should be better than just crashing. We'll investigate it and put more meaningful error messages for this case.


Add ansc minor

Summary

This pull request is to add the Animal Science Minor. This minor previously existed (https://cals.cornell.edu/animal-science/degrees-programs/undergraduate-studies/minor-requirements), however was not yet implemented.

[x] implemented Animal Science minor

Test Plan

Test if ANSC 4270 counts towards the animal science minor
Confirm whether BIOAP 1100 counts towards the minor
Confirm MATH 1910 does not count towards Animal Science Minor

Notes

Anytime a new Animal Science course is added for the Animal Science minor, "src/data/minors/animal-sci.ts" should update to contain it.
Minor offered by AG (CALs).

Can you also revert the changes in package.json?

@PabloRaigoza Can you address my last comment?


Endpoint returning 404 to Mailgun?

Followed the setup tutorial here: https://johnbraun.blog/posts/incoming-mail-laravel-mailbox
Test runs without issue. Deployed to Forge and now the endpoint returns 404 error to Mailgun using the following route: https://our domain/laravel-mailbox/mailgun/mime
Is there a step I am missing to publish the route/endpoint?

Hi @kenschnetz , did you solve this problem?

Try running artisan route:list
It seems the endpoint paths are constructed like this:
/{path}/{driver}/mime
Where path is the path defined in config.mailbox.path

make sure you have set mailbox driver to mailgun


Override the top position of an item

I can render the items in the timeline, but when two items with same or one item less / more than other , then then items are rendered one below other.
How can I render both the items on the same line with one below and other on the top of it, instead of below the first one in the second line.
I tried to override the position: 'absolute' and top: 50 in getItemProps for all the items, but still the items are rendering one below the other.
Other props in getItemProps (eg. backgroundColor) can be overriden, but top: 50 is not working.

@VijayDinanath by default you can't override top/left position via prop renderer.  What you can do but is not recommended is to override the result of getItemProps  which is basically a styles object.
I will close this since we don't support this and we won't be working on it


GH actions updates

Aggregated dependabot changes for our CI actions

Codecov Report
Base: 61.97% // Head: 57.61% // Decreases project coverage by -4.36% :warning:

Coverage data is based on head (ef7aa00) compared to base (cdf064d).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1992      +/-   ##
==========================================
- Coverage   61.97%   57.61%   -4.37%
==========================================
  Files         179      179
  Lines       14523    14530       +7
==========================================
- Hits         9001     8371     -630
- Misses       4427     5070     +643
+ Partials     1095     1089       -6

Flag
Coverage Δ

acceptance-api
28.88% <ø> (-17.43%)
:arrow_down:

acceptance-apps
36.44% <ø> (-0.01%)
:arrow_down:

acceptance-cli
54.90% <ø> (-2.47%)
:arrow_down:

unittests
8.26% <ø> (-0.01%)
:arrow_down:

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

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Fixing delay caused in vscode due to pasteEdits

This pr fixes the delay in vscode. The delay happened due to iterating over the entire target file and going through each node to see if it needed to be resolved. This is fixed by going over only the pasted range of text and then stepping through each child node to see if it needs to be resolved

@typescript-bot cherry-pick this to release-5.6


[Discussion] Increasing minimum supported JDK (and dropping support for JDK 11)

Error Prone will eventually drop support for running on JDK 11. This bug is intended to collect input from the community on the timing of that decision. There aren't immediate plans to do this, but there are also reason to look forward to using Java > 11 language features in the implementation.
Note that using a newer JDK version to run javac during the build doesn't prevent building code that is deployed to earlier versions, the compiler just has to be configured with --release (or -source/-target/-bootclasspath). For example, it's supported to use the JDK 17 javac and pass --release 8 to compile Java 8 code that is deployed to a JDK 8 runtime.
Questions:

What would the next minimum supported version be? (I think a likely answer is 17, since it's the next LTS after 11.)

If you're currently running Error Prone on JDK 11, do you have a timeline for upgrading to a newer version?

Great topic. Some n=1 feedback: all Picnic-internal code targets JDK 17. For Error Prone Support we kept the baseline at JDK 11, but that does impede the use of text blocks in unit tests which is a shame, because they would be a great quality of life improvement i.c.w. CompilationTestHelper and BugCheckerRefactoringTestHelper (PicnicSupermarket/error-prone-support#198). (Given Error Prone's reliance on JDK internals we do want to run the tests against all supported JDKs, so testing only on JDK 15+ doesn't seem appropriate.)

Dropping JDK 11 in 2023 would be premature.  Where I work, we have not migrated everything off of JDK 8 yet.   Any place that has a large codebase to maintain, especially libraries that are still in use by JDK 8 / 11 applications, will have a long road ahead of them to get to 17.
Getting 95% of apps and libraries to 17 won't happen for us for 2+ years.

Thanks! That sort of input is why I opened the issue. When we eventually do start requiring JDK 17 to run Error Prone I don't want that to be too onerous. It'll still be possible to continue to use older versions of Error Prone to get compatibility with older JDK versions, but we also don't want to do that too soon and cause fragmentation.
One thing to note is that using JDK 17 to run javac during the build doesn't prevent building code that is deployed to JDK 8, the compiler just has to be configured with --release 8 (or -source/-target/-bootclasspath).
At Google we aren't using JDK 8 anymore, and are using the latest javac to build while still supporting deployments to JDK 11.

True about older versions.   As long as it is a major version update to require min jdk 17, should be clear what to expect.

I think it's too early to drop support for Java 11. Even the upcoming version 3 of the Quarkus framework still has Java 11 as the baseline.

We use Java 11 extensively and would prefer support is retained until it is out of LTS (2026?).

We use Java 11 extensively and would prefer support is retained until it is out of LTS (2026?).

@alexec do you know if using a newer javac version and passing --release 11 to target Java 11 would be an option for you (there's a note about that in https://github.com/google/error-prone/issues/3803#issue-1603438135)? Or is that not something you're likely to do?

@cushon using -release doesn't prevent from using Java api of later versions. So, you also need to use --system. I wouldn't say it's convenient for Error Prone users

We have 1000s of applications on Java 11. It's not feasible to migrate them.

@cushon using --release doesn't prevent from using Java api of later versions. So, you also need to use --system. I wouldn't say it's convenient for Error Prone users

That is not accurate, --release configures the language level and APIs, passing just --release 11 is equivalent to passing -source 11 -target 11 --system <path to JDK 11>.
(There are some situations --release doesn't support, e.g. I think it still can't be used together with --add-exports=, so --system is necessary for compilations that rely on that.)

We have 1000s of applications on Java 11. It's not feasible to migrate them.

Understood, to be clear that is not what I was asking. It's possible to use a newer version of javac at compile-time and still use an older JDK version in production, javac has support for targeting old JDK versions. E.g.:
$JAVA_17_HOME/bin/javac --release 11 Foo.java
$JAVA_11_HOME/bin/java Foo

@cushon have you tried it yourself? I have, and in my case it didn't work without --system. Which is logical, as javac don't know the path of JDK 11. And it doesn't search it.

@remal I'm guessing that you're thinking of -source 8, which has exactly the problem you are describing. --release 8 was introduced largely because of that problem, as discussed in the Motivation section of JEP 247.

@cushon have you tried it yourself?

Yes

in my case it didn't work without --system

Do you have an example of what didn't work?

javac don't know the path of JDK 11. And it doesn't search it.

It doesn't need a JDK 11, recent versions package data on the APIs for different JDK versions to allow cross-compilation.
Demo:
$ javac -fullversion
javac full version "17.0.2+8-86"
$ cat T.java
import java.util.List;

class T {
  List<Integer> xs = List.of(42);
}

Compilation with -source 8 -target 8 succeeds, even though the compilation is using an API that isn't available
$ javac -source 8 -target 8 T.java
warning: [options] bootstrap class path not set in conjunction with -source 8

Compilation with --release 8 fails, because it also configures the corresponding API version
$ javac --release 8 T.java
T.java:4: error: cannot find symbol
  List<Integer> xs = List.of(42);
                         ^
  symbol:   method of(int)
  location: interface List
1 error
$

@cushon I think as a corner case one might not be 100% safe with --release if code uses JDK-internal APIs?  See, e.g., the issues we ran into with Error Prone checkers and internal javac APIs changing in JDK 17 (https://github.com/google/error-prone/issues/4026).  Does --release catch these issues as well?

(There are some situations --release doesn't support, e.g. I think it still can't be used together with --add-exports=, so --system is necessary for compilations that rely on that.)

@cushon I think as a corner case one might not be 100% safe with --release if code uses JDK-internal APIs? See, e.g., the issues we ran into with Error Prone checkers and internal javac APIs changing in JDK 17 (#4026). Does --release catch these issues as well?

--release doesn't allow access to internal APIs, and javac doesn't allow using --add-exports= together with --release to export packages from system modules. So there's no risk of missing issues at compile-time that would fail at runtime, but it does mean code using internal APIs is stuck using -source/-target/--system instead of --release.

@cushon, I just checked --release without --system. I have to admit - you're right - it checks the public API. Don't know why it didn't work in my project.

BTW I found out why it didn't work in my project.
I used Gradle and set sourceCompatibility and targetCompatibility only. Without modifying JavaCompile.options.release. So, Gradle set -source and -target without setting --release.
So, I simply didn't use --release. That's why I needed to set --system. Looks like I can simplify the code a lot here.
Thanks!

Going to join the chorus of voices here saying this is likely premature...
It's not just a matter of the target source code/bytecode being accepted/generated. Upgrading the java compiler binary itself can be an involved process which interacts with other aspects of our monorepo build system, development environment (and CI) containers, and tooling (e.g. other Javac Plugins). Currently, for us (Uber), the work to migrate to JDK 17 is planned for next year and it's dependent on first migrating build systems (to bazel from buck, which I don't believe supports Java 17). It's extremely unlikely we would be able to get there within the next couple Error Prone releases and thus this would likely mean keeping the internal Error Prone version at whichever is the latest to support JDK 11.
cc: @msridhar @kageiit

Thanks @lazaroclapp. At Google we switched to using the latest version of javac around JDK 19, and have been able to continue to track the latest releases for javac, even though we're still using JDK 11 extensively in production. I definitely appreciate that upgrading just the javac version isn't effortless, though.

@cushon does this mean tracking for example java 20 and 21 as new versions of java come out? But specifically with ``--release 11`? Is there a specific reason (or reasons) to prefer this route?

@cushon does this mean tracking for example java 20 and 21 as new versions of java come out? But specifically with ``--release 11`? Is there a specific reason (or reasons) to prefer this route?

We've been using the latest versions of javac as they're released at Google, but to be clear Error Prone will not require using the latest JDK release. If it eventually drops support for running on JDK 11 the next minimum supported version will probably be 17.
(And in terms of why Google is using recent versions of javac: we're using the same version of javac for everything in our monorepo, and doing smaller upgrades more frequently is less work, and having a recent javac version is a prerequisite for being able to use newer language features.)

@cushon I'm not sure if I should open a separate issue for this, but one thing that impacts NullAway is that Error Prone does not yet have a BugChecker.SwitchExpressionTreeMatcher interface that we can implement to do checking of switch expressions.  Is addition of such a matcher blocked on increasing the minimum supported JDK?

@cushon I'm not sure if I should open a separate issue for this, but one thing that impacts NullAway is that Error Prone does not yet have a BugChecker.SwitchExpressionTreeMatcher interface that we can implement to do checking of switch expressions. Is addition of such a matcher blocked on increasing the minimum supported JDK?

Filing a separate issue for that SGTM, I don't think that is being tracked anywhere yet. I am not sure what all of the options are and am open to ideas. Increasing the minimum supported JDK would certainly make things like that easier, but there might be alternatives we could look at that used reflection etc. and avoided direct references to SwitchExpressionTree when running on older JDK versions.

We are currently using latest errorprone version to check code that targets Java 5, 6, and 7 (don't ask why).
Java 5 code already requires some hacks (bumping --release to Java 6 as Java 5 is no longer supported by javac 11 (javac --help):
  --release <release>
        Compile for a specific VM version. Supported targets: 6, 7, 8, 9, 10, 11

Switching to javac 17 would drop support for Java 6:
  --release <release>
        Compile for the specified Java SE release. Supported releases: 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17

Switching to javac 21 would drop support for Java 7:
  --release <release>
        Compile for the specified Java SE release.
        Supported releases:
            8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21

So switching to Java 17 could be a bit painful for those that are still stuck at Java 6. In our case I think applying the same hack (compiling all Java 5 and 6 code a second time with --release 7 for errorprone) should do the trick.

Thank you to everyone who has provided feedback so far!
I reviewed some of the input provided on the timeline for this:

I think it's too early to drop support for Java 11. Even the upcoming version 3 of the Quarkus framework still has Java 11 as the baseline.

It looks like Quarkus 3.7 will use Java 17 as the minimum JDK: https://quarkus.io/blog/java-17/

Currently, for us (Uber), the work to migrate to JDK 17 is planned for [2024]

@lazaroclapp are you able to provide any updates on that migration?

@cushon
We (Uber) have recently finished the migration of the build system from buck to bazel and some initial JDK 17 support is being rolled out. However, the mass migration will probably still take some time and likely won't finish before the end of this half.

What would the next minimum supported version be? (I think a likely answer is 17, since it's the next LTS after 11.)

We at Trino project (https://github.com/trinodb/trino) rely on error-prone for static code analysis.
Trino currently requires Java 22 for compilation. From that perspective support for new Java language syntax is more important than supporting older versions. (Obviously this is not the only perspective that matters.)

As a general update here, I'm expecting Error Prone will not support running on JDK 11 after September 2024.
(As before using Error Prone to compile code that is deployed to earlier versions will still be fully supported, it will just require using a newer JDK for compilation and setting --release or -source/-target/-bootclasspath.)

From that perspective support for new Java language syntax is more important than supporting older versions.

Thanks, that's something I expect to provide as well and is somewhat separate, we want Error Prone to be compatible with the latest available JDK versions and Java language features regardless of what the minimum supported JDK version is.
A related point about Java language syntax is that raising the minimum supported JDK removes support for some older Java language versions, -source 6 -target 6 was removed in JDK 12 and so Error Prone effectively won't support Java 6 language features if we raise the minimum supported JDK from 11 to 17. (And -source 7 -target 7 was removed in JDK 20, so that will eventually go away  the next time the minimum supported JDK is raised.)

Error Prone 2.32.0 has been released, which raises the minimum supported JDK version to JDK 17: https://github.com/google/error-prone/releases/tag/v2.32.0


add return_to_config option

This PR adds the feature discussed in #249

Awesome work! Thanks for the commit!


@BeforeSuite and @AfterSuite notation

TestNG Version
7.9.0
Expected behavior
no issue
Actual behavior
execution of test failed with following logs:
Native Injection is NOT supported for @BeforeSuite annotated beforeSuite.
Test case sample
create a test case with a 'beforeSuite' method like this:
	@BeforeSuite(alwaysRun = true)
	public void beforeSuite(ITestContext ctx) {
	}

this annotation was working in previous version of TestNG (from 6.13.1 to 7.8.0)

For a @BeforeSuite and @AfterSuite ITestContext ( this represents a <test> tag) is NOT relevant because if a <suite> tag contains 2 or more <test> tags, then which ITestContext object to inject becomes a question and also at a suite level, test level is not relevant because <test> tag is a child of the <suite> tag.
This was fixed as part of https://github.com/testng-team/testng/issues/2925
You can use Reporter.getCurrentTestResult() within your @BeforeSuite method and then work with it.

the problem is that this methods are not called anymore with 7.9.0.

@pierrehub2b - I didnt quite understand what you meant. Can you please clarify?

You can also refer to a similar issue that was recently closed with the same resolution https://github.com/testng-team/testng/issues/3029
This issue also has a sample that can be used.

when I launch a test execution with a java command line in debug mode, I have set a breakpoint with Eclipse int the method 'beforeSuite', the breakpoint is no more reached with the 7.9.0 version.
with 7.8.0 version I can see the execution reached the breakpoint

Have you tried setting up breakpoints to the sample that I had shared in the comments of #3029 ? Also maybe you need to also update the TestNG eclipse plugin ( I think it also went through with an update recently. Please correct me if I am wrong @missedone )

ok, it works now, I thaught we need to remove '(alwaysRun = true)' notation too with this last version.
Thanks for the example, it helps me to understand this evolution.
You can close this issue
Thank you for your time


ARM  VS 2017 binaries are not compatible with windows mobile

Hello @lukasf
I found that that the assemblies produced by the VS2017 script  are not valid for ARM. When attempting to call into ffmpeg stuff, a file not found exception is thrown. This is probably a SDK version issue.
Windows mobile devices are stuck on the 14XXX-15XXX versions of windows 10. This begs the question if it also breaks the library on older x86 devices as well.

In the build script I do not set an SDK version because to me it looked like it is not required. Maybe we need to set it for ARM to work. I can try to create a version which does set the sdk to 10280.
But I am a bit surprised, because ffmpeg does not really use any WinRT APIs, so I wonder which dll it is that cannot be found. Do you have a stack trace?

No stacktrace, I already rolback to VS2015 scripts.
I am pretty sure though that when we compile with /appcontainer flag, it leaves behind the SDK version used to compile, so when the runtime loads the dll, it will complain about it.
For ARM phone, the latest supported sdk is 13499.


cdkDragDrop: Logs error to the console in production

What are you trying to do?
I setup the drag drop functionality for angular cdk and everything works fine functionality wise. But it throws this error Unable to preventDefault inside passive event listener invocation. on drag-ref.ts:655. This only happens when actually moving the item, if you are just holding the drag nothing is thrown. This error only appears in production. Any help would be appreciated on this.
What troubleshooting steps have you tried?

Tried disabling pointer events when dragging
Tried updating to most recent minor version

Reproduction

{{product.name}}

                 {{product.active ? 'Active' : 'Inactive'}}

{{product.price}}

```

### Environment

- Angular: 11.0.9
- CDK/Material: 11.2.12 (and 11.0.9).
- Browser(s): Brave, Chrome
- Operating System (e.g. Windows, macOS, Ubuntu): Ubuntu, Windows

You're using a somewhat old version of the CDK. Do you see the same error with the newest version?

You're using a somewhat old version of the CDK. Do you see the same error with the newest version?

I tried upgrading to the latest (13.3.10) and I can confirm the error is still present.
Also I should clarify that the error is only thrown on a production build.

Bump, I have the same issue. There appears to be no way around the issue, except hiding the error. (Apologies if bumping is against any rules)

yep, same issue

For me it only happens in Chrome

I was testing in Chrome as well. I don't think that https://chromestatus.com/feature/5093566007214080 is the issue, because we explicitly set passive: false on the listeners that we need to call preventDefault on.

Hey guys,
I am having the same issue in a project I am working on, I was on v13 (Both Angular and Material packages) where this issue was occurring and I upgraded to v14 and it still exists, ran a clean install of Material with no avail, but I created a clean project and the issue wasn't occurring, I even tested the example on the CDK Drag page, and the error wasn't showing there either, I am not very sure but it might be that we all have something in common which we set up in our projects causing this.

In my case it has something to do with session recorders. I user LogRocket for that purpose, and the error does not pop up if ession recordings are disabled.

Thanks @aftvin, much appreciated.

Thanks @aftvin , we also use logrocket and that seems to be the issue

I have the same problem. The error appears in the production environment only (it is not present in the test env). And we also use Logrocket in the production. BTW. this is a console error in Chrome and Edge, but a warning only in FireFox.

Also I can confirm this in my local dev environment: with Logrocket the issue is present, without Logrocket the issue is gone.

Same problem with Marker.io

It's also happening with Sentry Replay. Removing Sentry Replay fix the issue for me
https://docs.sentry.io/platforms/javascript/guides/angular/?original_referrer=https%3A%2F%2Fwww.google.com%2F

It also started happening to me when using Sentry Replay.
Looks like it's the same issue as https://github.com/angular/angular/issues/45020.
The workaround suggested there by @VolodymyrBaydalka seems to work.
// dummy handler to fix issue with zone.js
document.addEventListener("mousemove", () => {}, { passive: false, capture: true });

I've added the above line in my polyfills.ts file.

It also started happening to me when using Sentry Replay. Looks like it's the same issue as angular/angular#45020.
The workaround suggested there by @VolodymyrBaydalka seems to work.
// dummy handler to fix issue with zone.js
document.addEventListener("mousemove", () => {}, { passive: false, capture: true });

I've added the above line in my polyfills.ts file.

This had an impact on the drag and drop performance for us. Dragging was slow and laggy until removing the line again.


[catnap] Use recv() Instead of read()

Description
Catnap does not handle when the read syscall returns 0. Pedro suggests moving to recv instead of read to get better error messages.

As discussed in our core meeting, error handling will be improved differently: we should encode EOF in the operation result.


Doing a force re-layout resets zoom level

Reproduce:

Zoom in on a topology
Re-layout button (bottom right toolbar)

Expected:
Re-layout happens
Actual:
Re-layout happens but zoom level is reset.

It's a feature, not a bug :) When I was refactoring the zooming logic, I decided that resetting the zoom state would be a desirable action when forcing relayouting - I do it explicitly in CLICK_FORCE_RELAYOUT action in root.js.
The reasoning was that that button is normally clicked either when there is something wrong with the layout or the nodes' layout is obviously non-optimal - in both cases, we might expect radical repositioning of nodes & edges so staying zoomed in somewhere on a big graph, we'd by all chance lose the context anyway (or at least that was my experience before I started doing these resets).
Should we ask other people what they think?
Ideally, we'd want to make that button less and less relevant though, but I think that's still a long way ahead. :)

This was brought up by @ekimekim in Slack.
My vote is to always have the layout re-organize automatically. I thought the "dancing nodes" was preferable, as the motion indicated something was changing.

No, dancing nodes is not preferable.

I think the problem was that the nodes would "dance" around too much if we'd let the layout engine re-run on every update from backend. So we're re-organizing the layout only if the change to the nodes is significant, gaining some graph stability that way. I guess that code there in nodes-layout.js is not bullet-proof, so sometimes the layout breaks.
Letting the nodes dance too much might be really chaotic on higher zooms in big graphs, so my vote is to not change that logic too much unless there are some strong pros (or layouting bug fixes) :)

My most common reason for pressing the update button is that a new container has become connected, and I want to see it in its proper place instead of way off to the side in the pile of unconnected containers. I find that a layout update does not often drastically change what I'm looking at.
The new behaviour means I lose what I'm looking at entirely every time I press refresh, since the default zoom includes all nodes including unconnected ones, not just the part I'm interested in. This is especially bad if nodes are becoming disconnected and connected rapidly, so I'm pressing the button every few seconds.
I would prefer dancing nodes.

Why can't we have the original behaviour back? Nobody was complaining.

I would prefer dancing nodes.

Believe me, you don't.

Why can't we have the original behaviour back? Nobody was complaining.

Original behaviour being not resetting the zoom when refreshing the layout? If yes, then I could easily remove those couple of lines of code that nobody seems to like :(

I am still (or again?) seeing this in both dev and prod. It's very, very, annoying!

@rade So this issue was fixed 10 days ago, but it never made it to neither dev nor prod because now we need to manually update scope reference in service-ui/package.json every time we make changes to its UI and nobody did it since this fix was merged.


{CI} how_to_introduce_breaking_changes.md | add more info on required properties

This checklist is used to make sure that common guidelines for a pull request are followed.

[X] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Thank you for your contribution! We will review the pull request and get back to you soon.


⚠ Bofrost.lu has degraded performance

In 7c1e81e, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1980 ms

Resolved: Bofrost.lu performance has improved in b17b036 after 8 minutes.


Move Prometheus related images to Rancher Dockerhub

As we are using Prometheus as monitoring tools, maybe we need to move the related images into rancher dockerhub.

The enhancement is validated on Rancher: master 2/21
Steps:

enable cluster and project monitoring
for each of related workloads check the image used from its yaml file


cluster tests

TODO:

qsub_mode array==1 with parallel_flag == 1

compile_flag with cluster_flag is working.

tested mode, one-file, compile, and par. par and comp + par currently break


Subclass PC algorthm so it's the more traditional PC algorithm

Ask @adam2392 for details.  Involves refactoring how the algorithm deals with colliders.  Requires only one method to be rewritten.

@robertness I think I am not following what was stated here. The current PC algorithm is the original one implemented. Is there an even more "OG one"?
I'm trying to clean up these issues for first contributors. I think they'll need a bit more info and outline, unless they're pretty knowledgable already.

I am closing this one as IIUC, the PC algorithm we have implemented is the "traditional one".


How to open datetimepicker inside modal window

Once i clicked inside datetimepicker input box the datepicker is not fully visible as you can see in above picture.
Please help...

overwrite the z-index setting for class .cdk-overlay-container


allows the client to use the desired TLS version for TLS handshake with the Redis Server.

The client config now holds a settings for TLS version. Older JDK libraries might use version 1.0 or 1.1 as default, this setting allows this value to be overwritten with value "TLSv1", "TLSv1.1", "TLSv1.2" for tls 1.0, 1.1 and 1.2.

Hi,
I was wondering would it be possible for someone to review my PR? Really appreciate it.
Thank you

Implemented in https://github.com/redisson/redisson/commit/a9d54c36a8451a97dff98c346e7338a01befa728


Add issue and PR tempalte

Closes #17

This change is

Are there additional steps after this merges?

If you mean a preview release. A preview release will be automatically released when a PR's is merged into master. It can be avoided by adding [skip ci] to the merge commit title or description.

You need to update the changelog too 😄

You need to update the changelog too 😄

Done.


UI Dex server improvements

Summary

The Dex server used for AuthN does not have TLS enabled.
There are multiple configuration files need to update (numaflow-cmd-config, dex-config, etc) when enabling Dex. Investigate how to simplify the process. Check how Argo CD does it.

Use Cases
When would you use this?

Message from the maintainers:
If you wish to see this enhancement implemented please add a 👍 reaction to this issue! We often sort issues this way to know what to prioritize.

Closed by #1440