Allow testcases to run on s390x architecture

Description

This PR attempts to address following issues observed on s390x arch - In particular:
o	Calicoctl component replaces “amd64” with ARCH to make is applicable to “s390x” – I have used ARCH here making it consistent with earlier uses of ARCHs in the Makefile
o	Felix testcase removes hardcoded “amd64” declaration with Go runtime built-in
o	Confd corrects ARCH linking for s390x
o	Kube-controller Dockerfile is changed to produce working version of the image (also brings it closer to amd64)
o	Node/calico_test Dockerfile is changed to produce working version of the image (also brings it closer to amd64)
Related issues/PRs

This issue https://github.com/projectcalico/calico/issues/7654 should clarify the status of calico/bpftool:v5.3-s390x image
This PR https://github.com/projectcalico/go-build/pull/442 enhances calico/go-build image for s390x which will be needed to build and run testcases on s390x arch
Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

TBD

Reminder for the reviewer
Make sure that this PR has the correct labels and milestone set.
Every PR needs one docs-* label.

docs-pr-required: This change requires a change to the documentation that has not been completed yet.
docs-completed: This change has all necessary documentation completed.
docs-not-required: This change has no user-facing impact and requires no docs.

Every PR needs one release-note-* label.

release-note-required: This PR has user-facing changes. Most PRs should have this label.
release-note-not-required: This PR has no user-facing changes.

Other optional labels:

cherry-pick-candidate: This PR should be cherry-picked to an earlier release. For bug fixes only.
needs-operator-pr: This PR is related to install and requires a corresponding change to the operator.

@marvin-tigera Please let me know how we can proceed with this PR - Thanks!

Sorry for the delay! Running CI, and LGTM

Removing "merge-when-ready" label due to new commits

@rposts sorry for yet another delay - I was coming to merge this now, but it looks like there are some conflicts that need to be resolved first.

Hi @caseydavenport - sure, if it makes things easier for you then go ahead with resolving them yourself.  I am here for any s390x problems encountered. Also note that there are couple of inter-reflated Related issues/PRs in the section above that will be required to make it more complete.
Thanks for all your help!

Merged it here: https://github.com/projectcalico/calico/pull/8073
I haven't been able to actually run it on s390x, so if you find any issues with it please open any follow on PRs we need!


Fix bug with Status Bar control not displaying information through multiple tabs

This is fixed by making the properties specific to the tab instances themselves. We also rename IShellPage.ViewModel to IShellPage.FilesystemViewModel to help with the distinction between these view model properties.

@duke7553 It looks like some merge conflicts came up, can you resolve them?


Suggestions required. Adding multiple identical components to the same entity

Hey!
Here's the deal. I have a certain functionality that needs to be shared between multiple components within the same entity. For example I have a character that has Health, Mana, Stamina, different skills. I can make each of them separate objects but they all can get bonuses, buffs, debuffs in other words they share a lot of functionality. So, it would be wise to combine them into a single component type and then create a feature that processes each of them with the same logic. But as I can imagine I can't add the same component to an entity multiple times.
At this time i'm trying to solve this problem by creating multiple "Property" entities and binding them to the same "Unit" entity via "UnitId" and then getting them like this:
Contexts.sharedInstance.gameState.GetEntitiesWithUnitOwner(entity.unit.Id)
                    .Where(e => e.hasProperty && e.property.name == "Health");

or
Contexts.sharedInstance.gameState.GetEntitiesWithProperty("Health")
                    .Where(e => e.hasUnitOwner && e.unitOwner ==entity.unit.Id);

As you can see both ways are clunky. I don't mind to adapt to them but may be I'm doing it the wrong way? Can you suggest more straight forward way?
Thank you!

You could implement your own index that reacts to entities with unit owners and properties and puts them in a like Dictionary<int, Dictionary<string, GameStateEntity>> for fast lookups. int would be the unit Id, string the property type, and GameStateEntity is the entity that contains the property.
Just look at the implementation for GetEntitiesWithUnitOwner() and roll your own that fits your usecase.

Hi, having a separate entity for bonuses etc and binding them to the owner entity with id makes sense. When your processing your owner entity you can do context.GetBonusesForEntity(e.id.value) or sth like this.


[BUG] Istio test worker nodes refusing to connect to demo book service after k8s upgrade 1.24.10 -> 1.25.6

Rancher Server Setup

Rancher version: v2.7.2-rc6
Installation option (Docker install/Helm Chart): Helm

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): RKE1

Proxy/Cert Details: byo-valid

Information about the Cluster

Kubernetes version: 1.24.10 (start) -> v1.25.6
Cluster Type (Local/Downstream): Downstream

If downstream, what type of cluster? (Custom/Imported or specify provider for Hosted/Infrastructure Provider): EC2

User Information

What is the role of the user logged in? (Admin/Cluster Owner/Cluster Member/Project Owner/Project Member/Custom): Admin

Describe the bug
After upgrading the downstream cluster from k8s version v1.24.10 to v1.25.6, the worker nodes are no longer available when trying to access them using the Istio test URL -- <worker-node-ip>:31380/productpage
To Reproduce

Deploy an HA
Deploy a downstream EC2 RKE1 cluster (3 workers, 1 control plane, 1 etcd) on k8s v1.24.10
On the downstream cluster, install the monitoring chart (v102.0.0+up40.1.2)
On the downstream cluster, install the Istio chart (v102.0.0+up1.15.3) and ensure Jaeger is enabled
NOTE: This seems to happen regardless of PSPs being enabled, but my most recent reproduction of this did have PSPs enabled when installing the Istio chart
On the downstream cluster, create a new namespace and add the label istio-injection=enabled
Import the demobookservice.yaml into the new namespace (you can reach out to me if you need it)
Grab one of the worker node's external IP address' and open a new tab
Go to <worker-node-ip>:31380/productpage (if you don't wait for the deployment of the demobookservice.yaml to complete you may have to retry after a minute or so)
Once the demo app comes up go back to Rancher and upgrade the downstream cluster to k8s version v1.25.6
After the upgrade is complete, go back to the demo page -- <worker-node-ip>:31380/productpage

Result
After the upgrade, the demo book service is unavailable because the node IP is refusing to connect.
Expected Result
The demo book service is still available after upgrading the k8s version of the cluster.
Screenshots

@nickwsuse @ronhorton Seems this is not reproducible as posted in the comments above - Can we re-test this please?

@prachidamle I tried to reproduce the issue by following the steps mentioned here. However, the issue was not reproducible.
Tested two test case scenarios by installing an istio chart with PSP enabled and PSP disabled.
In both cases the demobook app was accessible even after upgrade from k8s v1.24.10 --> 1.25.6.


Synthesis failed for nodejs-asset

Hello! Autosynth couldn't regenerate nodejs-asset. :broken_heart:
Here's the output from running synth.py:
kbuilder/.cache/synthtool/googleapis/WORKSPACE:42:1
DEBUG: Rule 'gapic_generator_python' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "8d11f06b408ac5f1c01da3ca17f3a75dc008831509c5c1a4f24f9bde37792a57"
DEBUG: Call stack for the definition of repository 'gapic_generator_python' which is a http_archive (rule definition at /home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/bazel_tools/tools/build_defs/repo/http.bzl:296:16):
 - <builtin>
 - /home/kbuilder/.cache/synthtool/googleapis/WORKSPACE:224:1
DEBUG: Rule 'com_googleapis_gapic_generator_go' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "12bfed7873f085093cd60615bd113178ecf36396af0c2ca25e6cd4d4bebdd198"
DEBUG: Call stack for the definition of repository 'com_googleapis_gapic_generator_go' which is a http_archive (rule definition at /home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/bazel_tools/tools/build_defs/repo/http.bzl:296:16):
 - <builtin>
 - /home/kbuilder/.cache/synthtool/googleapis/WORKSPACE:261:1
DEBUG: Rule 'gapic_generator_typescript' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "ca322b5e7b0d03b3cc44a90444e3a7f944c9ba3345f0505ee48c8e715d19dd95"
DEBUG: Call stack for the definition of repository 'gapic_generator_typescript' which is a http_archive (rule definition at /home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/bazel_tools/tools/build_defs/repo/http.bzl:296:16):
 - <builtin>
 - /home/kbuilder/.cache/synthtool/googleapis/WORKSPACE:280:1
DEBUG: Rule 'gapic_generator_csharp' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "40ddae63d2729ef5ccbd8b60123327ea200ce9400d0629238193ff530dcaea18"
DEBUG: Call stack for the definition of repository 'gapic_generator_csharp' which is a http_archive (rule definition at /home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/bazel_tools/tools/build_defs/repo/http.bzl:296:16):
 - <builtin>
 - /home/kbuilder/.cache/synthtool/googleapis/WORKSPACE:318:1
DEBUG: Rule 'bazel_skylib' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "1dde365491125a3db70731e25658dfdd3bc5dbdfd11b840b3e987ecf043c7ca0"
DEBUG: Call stack for the definition of repository 'bazel_skylib' which is a http_archive (rule definition at /home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/bazel_tools/tools/build_defs/repo/http.bzl:296:16):
 - <builtin>
 - /home/kbuilder/.cache/synthtool/googleapis/WORKSPACE:35:1
Analyzing: target //google/cloud/asset/v1beta1:asset-v1beta1-nodejs (1 packages loaded, 0 targets configured)
Analyzing: target //google/cloud/asset/v1beta1:asset-v1beta1-nodejs (10 packages loaded, 116 targets configured)
INFO: Call stack for the definition of repository 'npm' which is a yarn_install (rule definition at /home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/build_bazel_rules_nodejs/internal/npm_install/npm_install.bzl:411:16):
 - <builtin>
 - /home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/build_bazel_rules_nodejs/index.bzl:87:5
 - /home/kbuilder/.cache/synthtool/googleapis/WORKSPACE:293:1
ERROR: An error occurred during the fetch of repository 'npm':
   yarn_install failed: yarn install v1.19.1
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
info If you think this is a bug, please open a bug report with the information provided in "/home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/gapic_generator_typescript/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
 (error An unexpected error occurred<EMAIL_ADDRESS>Request failed \"404 Not Found\"".
)
ERROR: /home/kbuilder/.cache/synthtool/googleapis/google/cloud/asset/v1beta1/BUILD.bazel:236:1: //google/cloud/asset/v1beta1:asset_nodejs_gapic depends on @gapic_generator_typescript//:protoc_plugin in repository @gapic_generator_typescript which failed to fetch. no such package '@npm//@bazel/typescript': yarn_install failed: yarn install v1.19.1
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
info If you think this is a bug, please open a bug report with the information provided in "/home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/gapic_generator_typescript/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
 (error An unexpected error occurred<EMAIL_ADDRESS>Request failed \"404 Not Found\"".
)
ERROR: Analysis of target '//google/cloud/asset/v1beta1:asset-v1beta1-nodejs' failed; build aborted: no such package '@npm//@bazel/typescript': yarn_install failed: yarn install v1.19.1
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
info If you think this is a bug, please open a bug report with the information provided in "/home/kbuilder/.cache/bazel/_bazel_kbuilder/a732f932c2cbeb7e37e1543f189a2a73/external/gapic_generator_typescript/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
 (error An unexpected error occurred<EMAIL_ADDRESS>Request failed \"404 Not Found\"".
)
INFO: Elapsed time: 1.967s
INFO: 0 processes.

DEBUG:synthtool:Wrote metadata to synth.metadata.
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 "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/kbuilder/.cache/synthtool/nodejs-asset/synth.py", line 31, in <module>
    library = gapic.node_library(name, version)
  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_bazel.py", line 52, in node_library
    return self._generate_code(service, version, "nodejs", **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_bazel.py", line 183, in _generate_code
    shell.run(bazel_run_args)
  File "/tmpfs/src/github/synthtool/synthtool/shell.py", line 39, in run
    raise exc
  File "/tmpfs/src/github/synthtool/synthtool/shell.py", line 33, in run
    encoding="utf-8",
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 438, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['bazel', '--max_idle_secs=240', 'build', '//google/cloud/asset/v1beta1:asset-v1beta1-nodejs']' returned non-zero exit status 1.
2020-08-06 04:11:44,121 autosynth [ERROR] > Synthesis failed
2020-08-06 04:11:44,122 autosynth [DEBUG] > Running: git reset --hard HEAD
HEAD is now at 11629d4 docs: add links to the CHANGELOG from the README.md for Java and Node (#375)
2020-08-06 04:11:44,129 autosynth [DEBUG] > Running: git checkout autosynth
Switched to branch 'autosynth'
2020-08-06 04:11:44,136 autosynth [DEBUG] > Running: git clean -fdx
Removing __pycache__/
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 690, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 539, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 670, in _inner_main
    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 375, in synthesize_loop
    has_changes = toolbox.synthesize_version_in_new_branch(synthesizer, youngest)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 273, in synthesize_version_in_new_branch
    synthesizer.synthesize(synth_log_path, self.environ)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 120, 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', 'synth.metadata', 'synth.py', '--']' returned non-zero exit status 1.

Google internal developers can see the full log here.

Autosynth passed, closing! :green_heart:


New maintainers wanted

Finally my last WinForms project depending on this component has been replaced by a Blazor web app, so I think it is time to announce my plan to retire from maintaining this project.
If you are an active user of DockPanel Suite and would like to take it over, feel free to contact me via this site.

Hints for candidates,
Create your own fork and start the typical maintenance works,

reviewing commits from PRs and/or other forks
cherry picking what's reasonable into your fork
try to create new releases from there

Once you get something ready, post back to this issue to initialize an official talk so that we can review the quality of your work and determine if you can be assigned the permissions on this repo.
An ideal candidate should consider the following areas to prove his/her technical skills,

creating a new theme (VS2019/VS2022)
solving long live issues that require significant amount of efforts to troubleshoot and debug

You can check the list  here

Hi @lextm, Any update on #690?


Can't install using "pip -v install glove_python" or "python .\setup.py install" on Windows 10

Hi,
Recently, when trying to install this project i've got the following error using the command "python .\setup.py install"

running install
running bdist_egg
running egg_info
writing glove_python.egg-info\PKG-INFO
writing dependency_links to glove_python.egg-info\dependency_links.txt
writing requirements to glove_python.egg-info\requires.txt
writing top-level names to glove_python.egg-info\top_level.txt
reading manifest file 'glove_python.egg-info\SOURCES.txt'
adding license file 'LICENSE'
writing manifest file 'glove_python.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
running build_py
running build_ext
building 'glove.glove_cython' extension
C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.33.31629\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\My Softwares\Python\include -IC:\My Softwares\Python\Include -IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.33.31629\include -IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt -IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um /Tcglove/glove_cython.c /Fobuild\temp.win-amd64-3.10\Release\glove/glove_cython.obj -fopenmp -ffast-math -march=native
cl : Command line warning D9002 : ignoring unknown option '-fopenmp'
cl : Command line warning D9002 : ignoring unknown option '-ffast-math'
cl : Command line warning D9002 : ignoring unknown option '-march=native'
glove_cython.c
glove/glove_cython.c(1692): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
glove/glove_cython.c(1701): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
glove/glove_cython.c(2348): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
glove/glove_cython.c(2357): warning C4244: '=': conversion from 'Py_ssize_t' to 'int', possible loss of data
glove/glove_cython.c(14104): error C2105: '++' needs l-value
glove/glove_cython.c(14106): error C2105: '--' needs l-value
glove/glove_cython.c(14388): error C2105: '++' needs l-value
glove/glove_cython.c(14390): error C2105: '--' needs l-value
glove/glove_cython.c(14625): error C2105: '++' needs l-value
glove/glove_cython.c(14627): error C2105: '--' needs l-value
glove/glove_cython.c(15114): warning C4996: 'PyEval_InitThreads': deprecated in 3.9
glove/glove_cython.c(15221): error C2039: 'tp_print': is not a member of '_typeobject'
C:\My Softwares\Python\include\cpython/object.h(191): note: see declaration of '_typeobject'
glove/glove_cython.c(15224): error C2039: 'tp_print': is not a member of '_typeobject'
C:\My Softwares\Python\include\cpython/object.h(191): note: see declaration of '_typeobject'
glove/glove_cython.c(15235): error C2039: 'tp_print': is not a member of '_typeobject'
C:\My Softwares\Python\include\cpython/object.h(191): note: see declaration of '_typeobject'
glove/glove_cython.c(15244): error C2039: 'tp_print': is not a member of '_typeobject'
C:\My Softwares\Python\include\cpython/object.h(191): note: see declaration of '_typeobject'
glove/glove_cython.c(15587): warning C4996: '_PyUnicode_get_wstr_length': deprecated in 3.3
glove/glove_cython.c(15603): warning C4996: '_PyUnicode_get_wstr_length': deprecated in 3.3
glove/glove_cython.c(16714): warning C4996: 'PyUnicode_FromUnicode': deprecated in 3.3
glove/glove_cython.c(16753): error C2039: 'exc_type': is not a member of '_ts'
C:\My Softwares\Python\include\cpython/pystate.h(60): note: see declaration of '_ts'
glove/glove_cython.c(16754): error C2039: 'exc_value': is not a member of '_ts'
C:\My Softwares\Python\include\cpython/pystate.h(60): note: see declaration of '_ts'
glove/glove_cython.c(16755): error C2039: 'exc_traceback': is not a member of '_ts'
C:\My Softwares\Python\include\cpython/pystate.h(60): note: see declaration of '_ts'
glove/glove_cython.c(16767): error C2039: 'exc_type': is not a member of '_ts'
C:\My Softwares\Python\include\cpython/pystate.h(60): note: see declaration of '_ts'
glove/glove_cython.c(16768): error C2039: 'exc_value': is not a member of '_ts'
C:\My Softwares\Python\include\cpython/pystate.h(60): note: see declaration of '_ts'
glove/glove_cython.c(16769): error C2039: 'exc_traceback': is not a member of '_ts'
C:\My Softwares\Python\include\cpython/pystate.h(60): note: see declaration of '_ts'
glove/glove_cython.c(16770): error C2039: 'exc_type': is not a member of '_ts'
C:\My Softwares\Python\include\cpython/pystate.h(60): note: see declaration of '_ts'
glove/glove_cython.c(16771): error C2039: 'exc_value': is not a member of '_ts'
C:\My Softwares\Python\include\cpython/pystate.h(60): note: see declaration of '_ts'
glove/glove_cython.c(16772): error C2039: 'exc_traceback': is not a member of '_ts'
C:\My Softwares\Python\include\cpython/pystate.h(60): note: see declaration of '_ts'
glove/glove_cython.c(16815): error C2039: 'exc_type': is not a member of '_ts'
C:\My Softwares\Python\include\cpython/pystate.h(60): note: see declaration of '_ts'
glove/glove_cython.c(16816): error C2039: 'exc_value': is not a member of '_ts'
C:\My Softwares\Python\include\cpython/pystate.h(60): note: see declaration of '_ts'
glove/glove_cython.c(16817): error C2039: 'exc_traceback': is not a member of '_ts'
C:\My Softwares\Python\include\cpython/pystate.h(60): note: see declaration of '_ts'
glove/glove_cython.c(16818): error C2039: 'exc_type': is not a member of '_ts'
C:\My Softwares\Python\include\cpython/pystate.h(60): note: see declaration of '_ts'
glove/glove_cython.c(16819): error C2039: 'exc_value': is not a member of '_ts'
C:\My Softwares\Python\include\cpython/pystate.h(60): note: see declaration of '_ts'
glove/glove_cython.c(16820): error C2039: 'exc_traceback': is not a member of '_ts'
C:\My Softwares\Python\include\cpython/pystate.h(60): note: see declaration of '_ts'
glove/glove_cython.c(16842): error C2039: 'exc_type': is not a member of '_ts'
C:\My Softwares\Python\include\cpython/pystate.h(60): note: see declaration of '_ts'
glove/glove_cython.c(16843): error C2039: 'exc_value': is not a member of '_ts'
C:\My Softwares\Python\include\cpython/pystate.h(60): note: see declaration of '_ts'
glove/glove_cython.c(16844): error C2039: 'exc_traceback': is not a member of '_ts'
C:\My Softwares\Python\include\cpython/pystate.h(60): note: see declaration of '_ts'
glove/glove_cython.c(16845): error C2039: 'exc_type': is not a member of '_ts'
C:\My Softwares\Python\include\cpython/pystate.h(60): note: see declaration of '_ts'
glove/glove_cython.c(16846): error C2039: 'exc_value': is not a member of '_ts'
C:\My Softwares\Python\include\cpython/pystate.h(60): note: see declaration of '_ts'
glove/glove_cython.c(16847): error C2039: 'exc_traceback': is not a member of '_ts'
C:\My Softwares\Python\include\cpython/pystate.h(60): note: see declaration of '_ts'
error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.33.31629\bin\HostX86\x64\cl.exe' failed with exit code 2

The same error appears when using pip -v install glove_python. I already tried reading this repo issues in order to try to solve the problem, so i found the option to run "pip install glove-python-binary" and it gave the same error.
Futhermore, when trying to run this project using "python .\setup.py", it shows the following error:

UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead
warnings.warn(
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: no commands supplied

With that in mind, i opened VSCode and searched in the current path for the "description-file" in order to change it to "description_file" (using underline instead of hyphen). Then it asked for Cyphon, so i installed it using "pip install Cyphon" and got no errors. I tried to do all the steps above again, but i ended with the same problem.

Same issue. It'd be great if someone could give it a look

I have the same issue. Can you tell how to solve it? @mgutierrezc @BrenoFariasdaSilva


ERROR LOADING PLUGIN homebridge-ecowitt

Describe Your Problem:
homebridge-ecowitt plugin is not loaded on homebridge startup
Homebridge IP address is: <IP_ADDRESS>
Device: GW1000 , outdoor sensor and two indoor sensors
WS View settings:
Server: Customized
Enable
Protocol Type Same as: Ecowitt
Server IP: <IP_ADDRESS>
Path: /weather/data/
Port: 4199
Upload interval: 60 Seconds
Logs:
[31/10/2022, 11:45:05 am] [Homebridge UI] Changes to config.json saved.
[31/10/2022, 11:45:08 am] [Homebridge UI] Homebridge restart request received
[31/10/2022, 11:45:08 am] [Homebridge UI] UI / Bridge settings have not changed; only restarting Homebridge process
[31/10/2022, 11:45:08 am] [Homebridge UI] Sending SIGTERM to Homebridge
[31/10/2022, 11:45:08 am] Got SIGTERM, shutting down Homebridge...
[31/10/2022, 11:45:13 am] [HB Supervisor] Homebridge Process Ended. Code: 143, Signal: null
[31/10/2022, 11:45:18 am] [HB Supervisor] Restarting Homebridge...
[31/10/2022, 11:45:18 am] [HB Supervisor] Starting Homebridge with extra flags: -I -P /var/lib/homebridge/node_modules --strict-plugin-resolution
[31/10/2022, 11:45:18 am] [HB Supervisor] Started Homebridge v1.5.1 with PID: 8776
[31/10/2022, 11:45:18 am] Loaded config.json with 1 accessories and 3 platforms.
[31/10/2022, 11:45:18 am] Loaded 1 cached accessories from cachedAccessories.
[31/10/2022, 11:45:18 am] ---
[31/10/2022, 11:45:19 am] ====================
[31/10/2022, 11:45:19 am] ERROR LOADING PLUGIN homebridge-ecowitt:
[31/10/2022, 11:45:19 am] TypeError: Cannot set property closed of # which has only a getter
at patch (/var/lib/homebridge/node_modules/homebridge-ecowitt/node_modules/restify/lib/request.js:848:30)
at Object. (/var/lib/homebridge/node_modules/homebridge-ecowitt/node_modules/restify/lib/server.js:33:1)
at Module._compile (node:internal/modules/cjs/loader:1159:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1213:10)
at Module.load (node:internal/modules/cjs/loader:1037:32)
at Function.Module._load (node:internal/modules/cjs/loader:878:12)
at Module.require (node:internal/modules/cjs/loader:1061:19)
at require (node:internal/modules/cjs/helpers:103:18)
at Object. (/var/lib/homebridge/node_modules/homebridge-ecowitt/node_modules/restify/lib/index.js:10:14)
at Module._compile (node:internal/modules/cjs/loader:1159:14)
[31/10/2022, 11:45:19 am] ====================
[31/10/2022, 11:45:19 am] No plugin was found for the platform "Ecowitt" in your config.json. Please make sure the corresponding plugin is installed correctly.
Plugin Config:
{
"bridge": {
"name": "Homebridge ",
"username": "",
"port": 51765,
"pin": "",
"advertiser": "bonjour-hap"
},
"platforms": [
{
"name": "Config",
"port": 80,
"auth": "form",
"theme": "dark-mode",
"tempUnits": "c",
"lang": "auto",
"platform": "config"
},
{
"mac": "FC:F5:C4:8D:43:34",
"port": 4199,
"path": "/weather/data/",
"ws": {
"hide": false,
"uv": {
"hide": false,
"threshold": 6
},
"solarradiation": {
"hide": false,
"luxFactor": 126.7
},
"wind": {
"units": "kmh",
"speedThreshold": 1,
"gustThreshold": 3,
"maxDailyGustThreshold": 8
},
"rain": {
"units": "mm"
}
},
"thbin": {
"hide": false
},
"th": {
"hide": false,
"name1": "CH1",
"name2": "CH2"
},
"soil": {
"hide": true
},
"leak": {
"hide": true
},
"pm25": {
"hide": true
},
"lightning": {
"hide": true,
"units": "km"
},
"platform": "Ecowitt"
}
Environment:

Plugin Version: homebridge-ecowitt v1.1.0
Homebridge Version: 1.5.1
Node.js Version: v18.12.0
NPM Version: 8.19.2
Operating System: Linux hmb 5.10.0-19-amd64 SMP Debian 5.10.149-2 (2022-10-21) x86_64 GNU/Linux

I'm having the same problem since updating to node.js 18

Hi @gwurb, @LordJohnWhorfin, @anthonyb82.  I have a new Ecowitt plugin available (v2), check out Homebridge Ecowitt Weather Sensors which can be installed through the Homebridge UI. This new plugin works with node 18, node 20, and node 22 (regression tests for all 3 node versions run on every build).  Would appreciate any feedback if you have time to give this new version a try, and let me know if you hit any issues.


Feature request - Versioning

It would be nice to add api versioning with a customizable prefix /api/1/ or /myapi/v1/.
Thoughts?

You're right, but how would you want the bundle to manage the versions ? Just by serialising different fields of a class like FOSRest is already doing ? Or something more complicated by serialising different classes ?
My thought is that it would be a cool feature, but when you're starting to versioning an API, it's that you need something more than just some fields difference. Can you explain your real use case and what you want to do with versioning ?

I think I should do two separated issues here.
First thing is making the prefix customizable: for example if I don't want my api to be on /api but on /myapi.
 Versioning can be useful when you have a huge breaking change in your endpoint and when your previous endpoint is still beeing used. It's not really interesting to just choose some fields for a version (like in FOSRest) because we can easily do this with @Groups annotations.
Assuming you have a Product entity. It's linked to a lot of things: orders, suppliers, prices etc. 1 year after, we need to introduce hierarchical data between products and how prices are calculated. Entity will evolve but the default controller won't. For now, we need it to be compatible with the rest of the api. Having a new controller that is called only on a new api version would be a nice solution.
It's not perfect as a real use case, I'll make some more researches on the subject ;).

A possible solution is to register a new Resourcere for the new version referencing the same entity class but with other serialization an validation groups then and play with the OperationFactory to have route similar to v1 (currently the name of a resource must be unique).
Not sure if this is a good idea to introduce a feature like versioning in the bundle. It will very difficult to have a generic enough solution. Maybe a cookbook entry with some insights on how to handle such cases will be better.

Hello @dunglas,
I've proposed a simple solution here to manage versioning and retro compatibility changes using a X-Accept-Version: 1.1.0 header.
This is in french (sorry ;)) but tutorial of the code is available here: https://codelabs.eleven-labs.com/course/fr/api-versioning-et-retrocompatibilite-avec-symfony/
Do not hesitate if you want me to have a look on how to integrate this solution (which can be easily integrated I think) into API Platform if you are interested.
Elsewhere, no problem guys, everyone can implement its own solution :)


Handled the case of host:port in replaceHostWithPhished

The change handles the case of having the hostname:port format in the server response. It removes the port from the hostname while checking if there is a match in the yaml file. If the proxy_host already has a domain:port format (I just check if there is : in the string) then it won't add it back in the return of replaceHostWithPhished.

Looks good! Thank you! Please give me few days to digest and test it.

Merged in 2.4.2 of the fast maintained fork.


[MM-10430] Add selector to check if the channel is hidden

Summary
Add selector to check if the channel is hidden
(Didn't added a test as I'm not sure how to effectively test it. Will try to revisit next time)
Server PR - https://github.com/mattermost/mattermost-server/pull/8751
Webapp PR - https://github.com/mattermost/mattermost-webapp/pull/1194
Ticket Link
Jira ticket: MM-10430

Update: While working on Mobile RN, I realized that there are some store related implementation in webapp that is needed by mobile RN as well. This update moves the "hiddenDefaultChannelId" here which was initially introduced at webapp.
@lieut-data Sorry but you might want to take a look again.

@saturninoabril, will do! Sometimes I miss comments, though, so feel free to always re-add me as a reviewer to put it in my https://github.com/pulls/review-requested list :)

Thanks @hmhealey and @lieut-data!
Sorry for not giving update on this PR which I'm still in the process of updating.  Actually you (@hmhealey) and @enahum have the same concern about storing that ID.
Will just ping both of you whenever this PR is ready for dev review :)

@lieut-data @hmhealey I've updated the PR and just retain the selector shouldHideDefaultChannel. I initially add other selectors before when I was trying to figure out how to make the default channel become available at "More Channels" modal but now that it's not needed per ticket, I've removed all of those.


Unable to show anything after click on button

Roundcube Webmail 1.3.15 (1.3.15+dfsg.1-1~deb10u1)
PHP 7.3
nginx version: nginx/1.14.2
built with OpenSSL 1.1.1d  10 Sep 2019
TLS SNI support enabled
show-folder-size | 0.7.7
Hello,
Just installed your plugin, but after active it, when I click on the button to show sizes, nothing happened.
Nothing in nginx logs, nothing also in roundcube log. On Chrome, dev mode just showing me this :
GET https://webmail.mydomain.org/plugins/show_folder_size/skins/larry/main.css?s=1598258856 net::ERR_ABORTED 404 (Not Found)
2webmail.mydomain.org/:138 GET https://webmail.mydomain.org/plugins/show_folder_size/assets/main.min.js?s=1598258856 net::ERR_ABORTED 404 (Not Found)
Nothing else.
What should I do ? Thanks

Do those files actually exist with a correct path on the filesystem?
If yes but it's not publicly accessible, then it's a NGINX configuration problem I guess.

Do those files actually exist with a correct path on the filesystem?
==> they do, with corrects rights
If yes but it's not publicly accessible, then it's a NGINX configuration problem I guess.
==> all my others plugins works fine with the current configuration, nginx can access to every files

==> all my others plugins works fine with the current configuration, nginx can access to every files

In this case, could you manually write a correct URL to access say main.min.js?

sorry, I did not understand. Where should I write this url in this file ?
Thanks for your help.

nginx can access to every files

I mean could you manually construct a URL to access the main.min.js file of this plugin, given that you said there is no permission or NGINX configuration problem.

Ok understood.
Well :

https://webmail.mydomain.org/plugins/show_folder_size/assets/main.min.js?s=1598258856
https://webmail.mydomain.org/plugins/show_folder_size/skins/larry/main.css?s=1598258856

==> file not found
That's really strange..
... - - [24/Aug/2020:11:58:31 +0200] "GET /plugins/show_folder_size/skins/larry/main.css?s=1598258856 HTTP/1.1" 404 27 "-" "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Mobile Safari/537.36"
ls -altrh skins/larry/
total 16K
-rw-r--r-- 1 www-data www-data  126 août  24 10:47 main.less
-rw-r--r-- 1 www-data www-data  316 août  24 10:47 main.css

This seems to be not a RoundCube-related problem then :thinking:
So https://webmail.mydomain.org/plugins/hide_blockquote/skins/larry/style.css?s=1598258856 is accessible?

So https://webmail.mydomain.org/plugins/hide_blockquote/skins/larry/style.css?s=1598258856 is accessible?

Right, it does.

The last option I can figure out... $ chmod a+r -R plugins/show_folder_size/

The last option I can figure out... $ chmod a+r -R plugins/show_folder_size/

Not better, I am absolutely lost. Something like https://webmail.mydomain.org/plugins/contextmenu/skins/larry/contextmenu.css works fine, with same rights, but in your case, it doesn't.
Well, I think you helped me as you can, thanks, will check some other things.

Not plugin related issue


Is there a way to simulate swipe gesture?

Scrcpy is an amazing tool! It has been extremely helpful for me.
I'm trying to figure out if there is a way to simulate swipe gestures. For example, when I use ctrl+n to see notifications, the only way I can dismiss a notification is to use the left mouse button to click on the notification and then swipe my mouse. This works most of the time, but sometimes it's difficult to click and swipe with the mouse in just the right way. I'm wondering if there is a way (e.g. a key combination or a combination of holding a key while clicking with the mouse, etc.) that would send the swipe gesture to the phone. Similarly, is there a way to simulate a two-finger swipe (up or down)?
Thanks, again, for creating this amazing tool and helping with these questions.

I'm wondering if there is a way (e.g. a key combination or a combination of holding a key while clicking with the mouse, etc.) that would send the swipe gesture to the phone.

No, it's not implemented.
But it's also not trivial: how many motion events should we generate? Which distance from the first one to the last one? In pixels or in % of the screen? Which speed? Where to start the first event (the current mouse position would be the start, the middle or the end of the swipe)? I guess some values will work in some cases, but not others, and this will be a mess to make it work and maintain :(

Similarly, is there a way to simulate a two-finger swipe (up or down)?

Is some apps, you can just scroll with the mouse. It does not generate a swipe event, but just a scroll event.

You can make a couple of scripts, which are useful if you have got a laptop without a touch screen
This is swipe left
adb shell input swipe 400 400 800 400
and this is swipe right
Btw, this is swipe down
adb shell input swipe 160 0 160 480
and the last one is scroll
adb shell input swipe 200 500 200 0

input implements swipe if you give them the values, which depend on the context.

Yes, this are the coordinates that work for my Xiaomi MI8 lite.

Thank you. This is very helpful. I tried out the various 'adb shell input swipe...' commands listed above. I see how they allow me to send swipe (or scroll, etc.) commands to my phone. The key to using a swipe action to dismiss a notification is knowing the correct coordinates to use. Is there a way to get the current coordinates of where my mouse cursor is located on the emulated phone screen? For example, if I have the mouse cursor positioned over a certain notification and I could get the coordinates of the mouse cursor, then I would know the correct coordinates to use to send a swipe over that notification. Thanks, again, for your help with this.

I suppose il could done somehow, but you can simply duoble tap on the touchpad and swipe right in order to dismiss notifications. At least, it works on my old thinkpad t430, which does not have any touchscreen.

OK. Thanks. I guess there's not an easy way to get the current position of cursor in relation to the emulated Android screen?

@rom1v wrote:

But it's also not trivial: how many motion events should we generate? Which distance from the first one to the last one? In pixels or in % of the screen? Which speed? Where to start the first event (the current mouse position would be the start, the middle or the end of the swipe)? I guess some values will work in some cases, but not others, and this will be a mess to make it work and maintain :(

Does this mean it is not practical to do #1105 ? Is swiping the only way to change which home screen is displayed? Could you do something like Ctrl + 1, Ctrl + 2?

suppose we have the mouse-to-gesture mapping,
while holding the alt key modifier,
scrolling up => swipe left
scrolling down => swipe right
this gesture is useful in many cases,
fullscreen photo carousell switch next/previous. (VERY common)
home screen swipe next page (as in OP)

Is there a way to get the current coordinates of where my mouse cursor is located on the emulated phone screen?

Enable "Show Pointer Location" (Show Touch Coordinates) in developer options

I am working remotely for the most time, and it would be nice to be able to test Talkback by enabling gesture emulation. Swiping left/right, and tapping properly. If this is difficult or hard to maintain, maybe consider a special "Talkback mode", where we can use keyboard arrows and Space för swiping and tapping?

Can Multitouch be supported in the future releases?
Sometimes I'm not used to using a mouse. In that case, I want to operate a laptop touchpad like a device touchscreen

Multitouch from a touchscreen works.
From a touchpad, It seems complicated, since a touchpad moves the cursor on the computer (each touch involves relative locations), while a touchscreen involves absolute locations on the screen.


"Not a built-in template" error, and no built-in templates found

Hi! I have installed licenseheaders-0.8.4 on macOS via pip3, like this:
pip3 install licenseheaders

Installation logs seem fine:

Click to expand

Collecting licenseheaders
  Downloading https://files.pythonhosted.org/packages/80/01/3bcd4063e4ed517ff7e72aad98ab4135b8307585b0022be18e093178cf38/licenseheaders-0.8.4-py3-none-any.whl
Collecting regex (from licenseheaders)
  Downloading https://files.pythonhosted.org/packages/4c/e7/eee73c42c1193fecc0e91361a163cbb8dfbea62c3db7618ad986e5b43a14/regex-2020.4.4.tar.gz (695kB)
     |████████████████████████████████| 696kB 1.0MB/s
Building wheels for collected packages: regex
  Building wheel for regex (setup.py) ... done
  Stored in directory: /Users/folex/Library/Caches/pip/wheels/e6/9b/ae/2972da29cc7759b71dee015813b7c6931917d6a51e64ed5e79
Successfully built regex
Installing collected packages: regex, licenseheaders
Successfully installed licenseheaders-0.8.4 regex-2020.4.4
$ licenseheaders -h
usage: licenseheaders [-h] [-V] [-v] [-d DIR] [-b] [-t TMPL] [-y YEARS]
[-o OWNER] [-n PROJECTNAME] [-u PROJECTURL]
[--enc ENCODING] [--dry] [--safesubst] [-D]
[-E [E [E ...]]]
[--additional-extensions ADDITIONAL_EXTENSIONS [ADDITIONAL_EXTENSIONS ...]]
[-x [EXCLUDE [EXCLUDE ...]]]
...

Then, I tried to run it (copied example from README):
$ licenseheaders -t lgpl3 -o "Eager Hacker"
licenseheaders_0.8.4 ERROR: Not a built-in template and not a file, cannot proceed: lgpl3
licenseheaders_0.8.4 ERROR: Built in templates:

Then via python3 -m, same:
$ python3 -m licenseheaders -t lgpl3 -o "Eager Hacker"
licenseheaders_0.8.4 ERROR: Not a built-in template and not a file, cannot proceed: lgpl3
licenseheaders_0.8.4 ERROR: Built in templates:

Reinstall (pip3 uninstall and then pip3 install) didn't help.
Here's dist-info/ content:

Click to expand

$ ls -lh /usr/local/lib/python3.7/site-packages/licenseheaders-0.8.4.dist-info/
total 64
-rw-r--r--  1 folex  admin     4B May  5 17:56 INSTALLER
-rw-r--r--  1 folex  admin   1.1K May  5 17:56 LICENSE.txt
-rw-r--r--  1 folex  admin   6.4K May  5 17:56 METADATA
-rw-r--r--  1 folex  admin   833B May  5 17:56 RECORD
-rw-r--r--  1 folex  admin    92B May  5 17:56 WHEEL
-rw-r--r--  1 folex  admin    56B May  5 17:56 entry_points.txt
-rw-r--r--  1 folex  admin    15B May  5 17:56 top_level.txt

Hope my issue will help. Thanks for you project! If you need any info, I'll try to help.

One-liner to reproduce it with docker
docker run --rm -it python:slim bash -c 'pip install licenseheaders && mkdir -p test && cd test && touch a.java && licenseheaders -t lgpl-v3 -y 2012-2014 -o ThisNiceCompany -n ProjectName -u http://the.projectname.com'

If I download the whl file from pipy, I can see that it doesn't contain any templates.
It's been a long while since I wrote any Python, but I think the problem stems from this pacakge_data not having the package name set. The docs say that the key in that dict should be a package name, so in your case this line should probably say package_data={'licenseheaders': ['templates/*']}.

I tried fixing it myself, but apparently I'm wrong about the cause: even if I change the key in the aforementioned map, nothing gets copied into the wheel file. The only way to get anything into the wheel file is to use data_file (mentioned in that same doc), but that doesn't accept globs.
Looks like package_data works fine for some folks, but they are structuring their packages differently. I quickly got lost trying to rearrange this package to suit their structure, so I'm abandoning it for now.

Thanks for the report!
This is weird, the method I used previously to distribute the templates seems to have stopped working.
I changed this to use a different method for distributing the files and upgraded the version to 0.8.5.
Please try it with pip install -U licenseheaders and let me know if it works now for you!

Hi! The Docker reproducer still fails with the same error. I can see the templates in the wheel file, and when I run pip install licenseheaders, I see the script installed to /usr/local/bin, while templates go to /usr/local/templates. The latter is pretty unusual; I believe the Filesystem Hierarchy Standard mandates for this stuff to go to /usr/local/share/licenseheaders/templates. But that's probably setuptools' fault, not yours.
I guess the reproducer keeps failing now because the script looks for templates right next to itself, i.e. in /usr/local/bin.

If I pass licenseheaders a complete path to a template, it works fine:
$ docker run --rm -it python:slim bash -c 'pip install licenseheaders && mkdir -p test && cd test && touch a.java && licenseheaders -t /usr/local/templates/lgpl-v3.tmpl -y 2012-2014 -o ThisNiceCompany -n ProjectName -u http://the.projectname.com && cat a.java'
Collecting licenseheaders
  Downloading licenseheaders-0.8.5-py3-none-any.whl (19 kB)
Collecting regex
  Downloading regex-2020.4.4-cp38-cp38-manylinux2010_x86_64.whl (691 kB)
     |████████████████████████████████| 691 kB 1.1 MB/s
Installing collected packages: regex, licenseheaders
Successfully installed licenseheaders-0.8.5 regex-2020.4.4
/*
 * Copyright (c) 2012-2014 ThisNiceCompany.
 *
 * This file is part of ProjectName
 * (see http://the.projectname.com).
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */

Hi! The Docker reproducer still fails with the same error. I can see the templates in the wheel file, and when I run pip install licenseheaders, I see the script installed to /usr/local/bin, while templates go to /usr/local/templates. The latter is pretty unusual; I believe the Filesystem Hierarchy Standard mandates for this stuff to go to /usr/local/share/licenseheaders/templates. But that's probably setuptools' fault, not yours.
I guess the reproducer keeps failing now because the script looks for templates right next to itself, i.e. in /usr/local/bin.

OK, I need to figure out how the different ways of installing things do this and how python then sets the __file__ variable when running. I tested this with an anaconda setup and there, everything gets installed into ANACONDAPATH/lib/python3.7/site-packages/licenseheaders-0.8.4-py3.7.egg and a script is installed as ANACONDAPATH/bin/licenseheaders which loads the module from there. The __file__  variable then gets correctly set to the path of the module which is in the .egg directory.
Could you please have a look what the content of the script in /usr/local/bin is?
That templates go into /usr/local/templates looks crazy.
Sorry for the inconvenience, I have to admit I do not really understand yet how to do this properly. I will have a closer look and probably reorganize the whole thing (so the src layout does have a proper package, not just the module).

Could you please have a look what the content of the script in /usr/local/bin is?

Sure! Here it is in its entirety:
#!/usr/local/bin/python
# -*- coding: utf-8 -*-
import re
import sys
from licenseheaders import main
if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(main())

I guess this is created by setuptools, since I don't see anything like that in the repo.

Here's how pip install -U looks like on macOS now:
$ pip3 install -U licenseheaders
Collecting licenseheaders
  Downloading https://files.pythonhosted.org/packages/b9/12/106e7e55941ec7f22c01a1bec688682f3de087ebb0bfec467b365b221ccc/licenseheaders-0.8.5-py3-none-any.whl
Requirement already satisfied, skipping upgrade: regex in /usr/local/lib/python3.7/site-packages (from licenseheaders) (2020.4.4)
Installing collected packages: licenseheaders
  Found existing installation: licenseheaders 0.8.4
    Uninstalling licenseheaders-0.8.4:
      Successfully uninstalled licenseheaders-0.8.4
  Rolling back uninstall of licenseheaders
  Moving to /usr/local/bin/licenseheaders
   from /private/var/folders/2n/n2wgv_r173lfqh9wc472ns7m0000gn/T/pip-uninstall-4moxo4l1/licenseheaders
  Moving to /usr/local/lib/python3.7/site-packages/__pycache__/licenseheaders.cpython-37.pyc
   from /private/var/folders/2n/n2wgv_r173lfqh9wc472ns7m0000gn/T/pip-uninstall-wv_d131r/licenseheaders.cpython-37.pyc
  Moving to /usr/local/lib/python3.7/site-packages/licenseheaders-0.8.4.dist-info/
   from /usr/local/lib/python3.7/site-packages/~icenseheaders-0.8.4.dist-info
  Moving to /usr/local/lib/python3.7/site-packages/licenseheaders.py
   from /private/var/folders/2n/n2wgv_r173lfqh9wc472ns7m0000gn/T/pip-uninstall-phryonvv/licenseheaders.py
ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/local/templates'
Consider using the `--user` option or check the permissions.

The same after reinstallation
### uninstall
$ pip3 uninstall licenseheaders
Uninstalling licenseheaders-0.8.4:
  Would remove:
    /usr/local/bin/licenseheaders
    /usr/local/lib/python3.7/site-packages/licenseheaders-0.8.4.dist-info/*
Proceed (y/n)? y
  Successfully uninstalled licenseheaders-0.8.4

### install again
$ pip3 uninstall licenseheaders
WARNING: Skipping licenseheaders as it is not installed.
janus$ pip3 install licenseheaders
Collecting licenseheaders
  Using cached https://files.pythonhosted.org/packages/b9/12/106e7e55941ec7f22c01a1bec688682f3de087ebb0bfec467b365b221ccc/licenseheaders-0.8.5-py3-none-any.whl
Requirement already satisfied: regex in /usr/local/lib/python3.7/site-packages (from licenseheaders) (2020.4.4)
Installing collected packages: licenseheaders
ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/local/templates'
Consider using the `--user` option or check the permissions.

Thank you for this report!
I will try to set up some more environments for testing this. If something works for me it obviously can still fail for many others. Sorry about that.


Update tox to 4.x.x

Update tox to the latest major verison.
Remove the version bound on tox

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

@damccorm I should have marked this a draft. I am not sure yet why it is behaving the way it is(running gen_protos.py solved but we do run gen_protos inside setup.py but it doesn't work).
I am going to ask on the tox channel. This could be the way tox builds sdist(which follows PEP 517, 518) but we didn't yet migrate to PEP 517, 518

Closing wrt #25785


Wrote a test harness for easier dev

Summary
I wrote this new test example to make enhancing A11Y easier. The harness gives you (or the tests) easy control over the components under test, and will save a lot of time and boilerplate test code - I can write several test scenarios against this one example. I can also rapidly check my changes against all the state possibilities. It also shows both the Field and the Input on one page so it is easy to see if a change in one plays well with the other.

Deployment Link
TBD
Testing
This is a test, so no testing :).

Closing. I'll throw up a more comprehensive PR later. I have addressed these commments.


Drones drop their tools if they are activated while their hands are full

Description

By placing a hat on an inactive drone, you can gain access to their hand slots, which are empty before activation. You can then fill their hands with junk WEH Adorable Lizarb Plush, and then wait for them to activate. Because their hands are now full, the powerful tools they spawn with will be dropped to the ground once a player ghostroles into them.
Screenshots

https://user-images.githubusercontent.com/97707302/154866630-dad692ba-a04f-4046-a870-7f7e9387f845.mp4
https://user-images.githubusercontent.com/97707302/154866698-b2a3c1c6-6d76-41d0-8daf-6bf88cac9c1e.mp4
Additional context

See videos for steps to reproduce.

should make it so that any strip interaction with a drone's hands becomes impossible, in my opinion.


Not validating NS_AVAILABLE macro

At least using SDK 9.2, another macro is used to limit API:
// in NSString.h
- (BOOL)containsString:(NSString *)str NS_AVAILABLE(10_10, 8_0);

This macro is not detected by NBUCore; I tried to hack a bit around that but even using the code below breaks compilation, probably caused by use of __NBU_AVAILABILITY_STARTING:
#undef  NS_AVAILABLE
#define NS_AVAILABLE(_mac, _ios) NS_AVAILABLE_IOS(_ios)

OK, got it! Will do a PR then.

Nice!


Refactor

Some refactors, include:
-Using ShareSheet instead of ShareCompat
-Update target and compile sdk versions
-separate Plant, GardenPlantings, PlantAndGardenPlantings to separate package "models"

@googlebot I signed it!


Return proper user-agent version?

Hi,
I'm running this extension off local disk as I need to use a custom url. While testing the code I didn't like much how the header was modified, and especially that it would not sync up to the actual chrome version and could possibly cause compatibility issues, or trigger security alerts/blocks for outdated versions. For many years now the enhanced version has been disabled for Non-Windows chrome only regardless of the version, so all that needs to change it the OS portion of the user-agent, nothing else.
Would you please consider the following code to replace the user-agent?
function(details) {
    var headers = details.requestHeaders;
    for (var i = 0; i < headers.length; ++i) {
        if (headers[i].name === 'User-Agent') {
            headers[i].value = headers[i].value.replace(/(Mozilla\/\d+\.\d+ )\([^\)]+\)/, "\$1(Windows NT 6.1; WOW64)");
            break;
        }
    }
    return {requestHeaders: headers};
},

A note on the custom url... in my case the owa server url is behind a "proxy service" so there's path components before the "hostname:port/owa/*", and I need to match "*://*/*owa/*" - i.e. anything with owa/ in the url would match which is probably not a good idea as a default!
A configuration for the url pattern would be nice, but then we'd probably need to match the url using a regex rather than simple chrome pattern matches. Either way I won't be writing a UI for that for lack of time.
Regards,

This seems like a good idea.. I no longer have a personal requirement for this plugin since I (fortunately) don't have to deal with OWA anymore, but pull requests are happily accepted ;)

I made this change (see https://github.com/jamiesonbecker/owa-user-agent/commit/1e30b7cfd9fe66320501671a20eec8675aa95b7c ) but I have no way of testing it :)
As far as custom URL, I'm open to ideas! Please open a new issue if you want it done differently.
Also, this project is looking for a new maintainer, but I'll keep doing this as long as people realize that I have no idea if it actually works or not ;)

Thanks. I no longer have ways to test it myself anymore. I think a configuration option for the regex url match could be great, but I have nearly no experience developing extensions and no use for this one anymore so it's unlikely I will even try to do it.
It's pathetic Microsoft cannot fix their own code and we have to resort to an extension as this to use OWA (and this has been going on for almost a decade)... Your work on this extension was very much appreciated!  Thank you for your kind words and I'm glad you don't have to deal with this anymore either :) Take care!


Add 2 files:

(1) a NiFi flow template file which process CDP audit events and send to Syslog.
(2) a AVRO schema file for the ranger audit event

This new pull request put the AVRO schema file and NiFi flow template file under blogs folder


Can't add tkinter because of missing libx11-dev package

Every time I'm trying to build python with all modules it failing on tkinter.
Main reason is missing libx11-dev package but even if I install libx11-dev package it's still failing because of "1 problematic" issue with tkinter.
INFO Symlink build/cpython-3.9.12/ppp-marker/3.9.12/lib/python3.9/config-3.9-x86_64-linux-gnu/libpython3.9.a <- build/cpython-3.9.12/ppp-marker/3.9.12/lib/libpython3.9.a
        prefix  build/cpython-3.9.12/ppp-marker/3.9.12
          _bz2  _bz2*.so
       _ctypes  1.1.0 _ctypes*.so
       _curses  2.2 _curses*.so
          _dbm  _dbm*.so
      _decimal  1.70 _decimal*.so
         _gdbm  1.23.0 _gdbm*.so
         _lzma  _lzma*.so
      _sqlite3  3.42.0 _sqlite3*.so
          _ssl  OpenSSL 1.1.1u  30 May 2023 _ssl*.so
      _tkinter  *absent* None
         _uuid  _uuid*.so
           pip  23.1.2 lib/python3.9/site-packages/pip
       pyexpat  2.4.7 pyexpat*.so
      readline  8.2 readline*.so
    setuptools  *absent* build/cpython-3.9.12/ppp-marker/3.9.12/lib/python3.9/distutils/core.py
          zlib  1.2.13 zlib*.so
  libpython*.a  54 MB lib/libpython3.9.a lib/python3.9/config-3.9-x86_64-linux-gnu/libpython3.9.a
 libpython*.so  -not used-
  install size  123 MB
ERROR Build failed:
-- 1 problematic
_tkinter*_failed.so
INFO Compiling cpython took 3 minutes 32 seconds
INFO Overall compilation took 5 minutes 5 seconds

Used command:
portable-python -c portable-python.yml build 3.9.12 -m libffi,zlib,xz,bzip2,readline,openssl,sqlite,bdb,gdbm,uuid,tkinter
Tested in docker with and without installed libx11-dev packages.
Build without libx11-dev:
13-tk.log
Build with installed libx11-dev:
13-tk.log

I would love to find a way to make tkinter compile as well, it is tricky indeed to successfully compile it.
In the logs you attached, without libx11-dev, tk C compilation indeed fails with:
fatal error: X11/Xlib.h: No such file or directory

The logs with tk show that tk indeed compiled correctly, however, something later didn't work, in the NN-cpython.log file

My log from cpython:
15-cpython.log
Maybe this will help a little:
https://mail.python.org/pipermail/tkinter-discuss/2005-January/000307.html
https://mail.python.org/pipermail/tkinter-discuss/2005-January/000308.html
https://github.com/biosbits/python/blob/bits/setup.py#L1930C32-L1930C32


Needed dropsonde_incoming_port: 3457 for BOSH deploy to succeed

We deploy this in CI all the time, and as far as I know we don't need to add this property in.  It's also already the default value in the job spec for metron_agent.  Can you give more info about your manifest and releases that failed without this property and succeeded with it?

For a time DEA defined metron_agent.dropsonde_incoming_port without a default causing the need to add the property if bosh chose the dea spec property over the metron_agent spec property.  However, it appears that has been fixed in dea-hm-workspace.
https://github.com/cloudfoundry/dea-hm-workspace/blob/master/jobs/dea_next/spec#L159

It is caused by the hm9000 job in dea-hm-worspace.  It declares metron_agent.dropsonde_incoming_port without a default.  I'm not sure how bosh chooses spec properties when multiple jobs define the same property but it appears that sometimes bosh chooses the hm9000 property over the metron_agent property causing the need to set this value.
https://github.com/cloudfoundry/dea-hm-workspace/blob/master/jobs/hm9000/spec#L66

That will be fixed in the next bump.
Personally I think if a component requires another component to have the same value there should be no spec default. There is no way to share them other than specified in the manifest.

@fraenkel I agree.  We'll merge this PR anyways since without BOSH Links, this shared config belongs in the manifest, not in job spec defaults.


alwaysAboveKeyboard does not work

MZFormSheetPresentationController.appearance().movementActionWhenKeyboardAppears = .alwaysAboveKeyboard  does not work in swift 3

Solved :
 let fsc = MZFormSheetPresentationViewController(contentViewController: vc)
fsc.presentationController?.movementActionWhenKeyboardAppears = .alwaysAboveKeyboard


Typescript compilation error when assigning boolean

Description
When using a strongly typed state machine, using assign() with an object to update a boolean in the context results in a typescript compilation error.
Using assign() with a function assigner compiles without error.
Expected Result
Using an object or a function assigner should both work correctly
Actual Result
A compilation error on the states property.
Reproduction
Using this state machine declaration:
import { assign, Machine } from 'xstate';

interface MachineSchema {
    states: {
        a: {};
    };
}

type MachineEvent = { type: 'A' };

interface MachineContext {
    val: boolean;
}

export const machine = Machine<MachineContext, MachineSchema, MachineEvent>(
    {
        initial: 'a',
        context: {
            val: false,
        },
        states: {
            a: {
                // entry: assign({ val: (ctx, event) => true }), // OK
                exit: assign({ val: true }), // not OK
            },
        }
    }
);

I get this compilation error:
src/testStateMachine.ts:21:9 - error TS2322: Type '{ a: { exit: AssignAction<{ val: true; }, MachineEvent>; }; }' is not assignable to type 'StatesConfig<MachineContext, MachineSchema, MachineEvent>'.
  The types of 'a.exit' are incompatible between these types.
    Type 'AssignAction<{ val: true; }, MachineEvent>' is not assignable to type 'string | ActionObject<MachineContext, MachineEvent> | ActionFunction<MachineContext, MachineEvent> | ... 4 more ... | undefined'.
      Type 'AssignAction<{ val: true; }, MachineEvent>' is not assignable to type 'AssignAction<Required<MachineContext>, MachineEvent>'.
        Types of property 'assignment' are incompatible.
          Type 'Assigner<{ val: true; }, MachineEvent> | PropertyAssigner<{ val: true; }, MachineEvent>' is not assignable to type 'Assigner<Required<MachineContext>, MachineEvent> | PropertyAssigner<Required<MachineContext>, MachineEvent>'.
            Type 'Assigner<{ val: true; }, MachineEvent>' is not assignable to type 'Assigner<Required<MachineContext>, MachineEvent> | PropertyAssigner<Required<MachineContext>, MachineEvent>'.
              Type 'Assigner<{ val: true; }, MachineEvent>' is not assignable to type 'Assigner<Required<MachineContext>, MachineEvent>'.
                Types of parameters 'context' and 'context' are incompatible.
                  Type 'Required<MachineContext>' is not assignable to type '{ val: true; }'.

21         states: {
           ~~~~~~

  ../node_modules/xstate/lib/types.d.ts:267:5
    267     states?: StatesConfig<TContext, TStateSchema, TEvent> | undefined;
            ~~~~~~
    The expected type comes from property 'states' which is declared here on type 'MachineConfig<MachineContext, MachineSchema, MachineEvent>'

The function assigner compiles correctly.
Using a string or a number in the context compiles correctly.
Additional context
xstate 4.7.2
typescript 3.7.3

TypeScript inference is not perfect. The responsible thing to do is to specify the context as a generic:
exit: assign<MachineContext>({ val: true })

I find that now we also need to specify exactly the event object as well:
actions: assign<BackupRestoreContext, {type: 'DELETE_RESTORE'}>({ backedUp: false }),

If I don't specify the exact event object, it will still result in a type error.

@CMCDragonkai I have a pending fix in the pipeline for this as in - no explicit generics should be given to assign if it's being used "inline" within the first argument passed to the createMachine. I hope it will solve many cases like this - but we'll have to see how it plays out. Our types are quite complex so it's hard to test this without actually releasing this to the community.
That potential fix is waiting for https://github.com/davidkpiano/xstate/pull/1543 to be merged as this is an enabler PR for that fix.

Sorry to comment on this ticket as this is related to the Event type and not the Context type, but: what if not the assign is specified not inline but as a string? And if TEvent is an intersection of many types? Currently I am doing this:
interface Context {...}
type Event = EventA | EventB

...

useMachine(Machine<Context, Event>({...}), {actions: {action1}})

...

const action1 = assign<Context, Event>({
    field: (context, event) => {
        const eventA = event as EventA;
        ...
    }
})

Is this the best way to handle the non-inline case with events? Will this change going forward?
Thank you


Problems with DS-Lite?

Hey @muaz-khan,
do you have any idea if Coturn supports DS-Lite users? Our provider (UPC Cablecom) declares one IPv4 address to multiple customers, but every customer has it's own IPv6 address. Is there any special declaration needed within the turn server config or does everything automatically switch over to IPv6?

Okay, seems to work after adding AAAA records to our domain.


Created a new function named get_element in GridContainer. This funct…

…ion gets the Control at the specified row and column. This works in a similar manner as the operator[] (i.e. indexing starts from 0).

There are some styling issues. The changes didn't comply with clang-format. Please use clang-format -i <filename> and git commit --amend.

I had some issues with updating my branch, but I think it should be OK now. Please let me know if the files have not been properly updated.

There are still merge conflicts + style issues (you changed indentation and line wrappings), see: https://github.com/godotengine/godot/pull/16977/files
Once fixed, the commits should be squashed together to have only one commit changing from the initial state to the new state.

Thanks, looks good.

This raises a warning with GCC 8:
scene/gui/grid_container.cpp: In member function 'Control* GridContainer::get_child_control_at_cell(int, int)':
scene/gui/grid_container.cpp:256:9: warning: 'c' may be used uninitialized in this function [-Wmaybe-uninitialized]
  return c;
         ^

Looking at it again, the whole method seems to be wrong - why use a for loop to iterate over all children when you only want the child with index grid_index? You could just use get_child(grid_index) directly.
And is it guaranteed that GridContainer will always have one child in each cell? If not this method really doesn't make sense. It also doesn't have proper checks that row and column are within bounds, and can thus return an uninitialized Control *c as raised above.

Reverted in #22822, but it looks like I did misunderstand what the method does and that it's not that trivial, and might be worth readding with a fixed implementation and more comments. See https://github.com/godotengine/godot/pull/22788#discussion_r223178217


[AutoPR] datamigration/resource-manager

Created to accumulate context: datamigration/resource-manager

@autorestci install

Installation instruction
Package azure-mgmt-datamigration
You can install the package azure-mgmt-datamigration of this PR using the following command:
pip install "git+https://github.com/Azure/azure-sdk-for-python@restapi_auto_datamigration/resource-manager#egg=azure-mgmt-datamigration&subdirectory=azure-mgmt-datamigration"
You can build a wheel to distribute for test using the following command:
pip wheel --no-deps "git+https://github.com/Azure/azure-sdk-for-python@restapi_auto_datamigration/resource-manager#egg=azure-mgmt-datamigration&subdirectory=azure-mgmt-datamigration"
If you have a local clone of this repository, you can also do:

git checkout restapi_auto_datamigration/resource-manager
pip install -e ./azure-mgmt-datamigration

Or build a wheel file to distribute for testing:

git checkout restapi_auto_datamigration/resource-manager
pip wheel --no-deps ./azure-mgmt-datamigration

Codecov Report

Merging #2071 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #2071      +/-   ##
==========================================
+ Coverage   53.06%   53.06%   +<.01%
==========================================
  Files        4774     4776       +2
  Lines      119483   119485       +2
==========================================
+ Hits        63406    63408       +2
  Misses      56077    56077

Impacted Files
Coverage Δ

azure-mgmt-datamigration/azure/mgmt/__init__.py
100% <100%> (ø)

azure-mgmt-datamigration/azure/__init__.py
100% <100%> (ø)

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 5ecbcc0...5cb986e. Read the comment docs.

@AutorestCI rebase

Rebase done and pushed to the branch

(message created by the CI based on PR content)

@AutorestCI rebase

Rebase done and pushed to the branch

@AutorestCI rebase

Rebase done and pushed to the branch

@AutorestCI rebuild https://github.com/Azure/azure-rest-api-specs/blob/master/specification/datamigration/resource-manager/readme.md

Working on generating https://github.com/azure/azure-rest-api-specs/blob/master/specification/datamigration/resource-manager/readme.md for you!!!

Build SDK finished and cleaned

@AutorestCI rebase

Rebase done and pushed to the branch

@AutorestCI rebuild https://github.com/Azure/azure-rest-api-specs/blob/master/specification/datamigration/resource-manager/readme.md

Working on generating https://github.com/azure/azure-rest-api-specs/blob/master/specification/datamigration/resource-manager/readme.md for you!!!

Build SDK finished and cleaned


Add Pagination to claims and create Pagination component

Context
Some index pages don't have paginations and there is some logic around them so I thought to create a component for it.
Changes proposed in this pull request
Pagination Component
Claims Index pages
Guidance to review
Pull this on local
Change pagination records per page in the pagy initializer
Check all index pages have pagination
Screenshots

 Add pagination to all list pages in Claims


chore: arweave static file fall back

Description

Deploy Notes
Notes regarding deployment of the contained body of work. These should note any
db migrations, nginx routes, infrastructure changes, and anything that must be done before deployment.

[ ] Need to add environment variables

ENV_VAR=

Screenshots (if appropriate)

Review Error for AshishYelekar @ 2023-08-13 17:33:39 UTC
User failed mfa authentication, public email is not set on your github profile. see go/mfa-help

Review Error for wilsoncusack @ 2023-08-13 17:37:50 UTC
User failed mfa authentication, see go/mfa-help


⚠ Bofrost.es has degraded performance

In 704c66d, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1632 ms

Resolved: Bofrost.es performance has improved in a0fa56e.


virtualbox: more flexibility with networking

This checks for the hostonly interface upon machine start and creates if needed.
This also adds the ability to specify the hostonly CIDR.
To customize the host only adapter, you can use the --virtualbox-hostonly-cidr
flag.  This will specify the host IP and Machine will calculate the VirtualBox
DHCP server address (a random IP on the subnet between .1 and .25) so
it does not clash with the specified host IP.
Machine will also specify the DHCP lower bound to .100 and the upper bound
to .254.  For example, a specified CIDR of <IP_ADDRESS>/24 would have a
DHCP server between <IP_ADDRESS>-25, a lower bound of <IP_ADDRESS> and
upper bound of <IP_ADDRESS>.
Closes #1290
Closes #24

@ehazlett Couple of code review nits, mostly looks pretty good, want to update those and we'll merge this in?

@nathanleclaire updated PTAL

Cool.
LGTM


feat: update high stat armor check

What

feat: update high stat armor check
refactor: updates lambda to have 90 seconds

:tada: This PR is included in version 1.67.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


right click issue?

special thanks for the great work you have done and for the highly admirable effort on the project!
I wanted to suggest to add a few options to right click menu when the cursor is located on a selected text.
these options like copy,cut and paste can come really handy and can make Bracket more user-friendly.
Thanks, again !

Hi @prbabayee,
there's an extension called brackets-additional-right-click-menu that adds copying, pasting and other additional shortcuts to the right click menu. You can find it via File -> Extension Manager, typing "additional-right-click-menu" and selecting Install!

Closing as a duplicate of https://github.com/adobe/brackets/issues/12063


Send public_timestamp to rummager

last_update  and public_timestamp mean the same thing in rummager.
Current behaviour of rummager is that if public_timestamp is empty, last_update gets copied into public_timestamp.
This commit changes what is sent to rummager so that we populate public_timestamp directly and can remove the special field and special code from rummager.
Trello: https://trello.com/c/yY2jFlXl

Are you happy for the last_update field to remain populated in Rummager until the currently-published manuals and sections are next published? If so then :+1:

Yes, that fine. No need to republish anything, this will sort itself out in time.


travis-ci static-checks script exec failed for needing hunspell command

Description of problem
travis not installing all dependencies, detail:
ERROR: Need hunspell command
ERROR: spell check failed for document TRACING.md
The command ".ci/static-checks.sh" failed and exited with 1 during .
I just fixed one bug of the doc  TRACING.md, the static checks status always show failed.
Expected result
travis-ci check status is success.
Actual result
show the error:
ERROR: Need hunspell command
ERROR: spell check failed for document TRACING.md
The command ".ci/static-checks.sh" failed and exited with 1 during .

like the runtime bug: https://github.com/kata-containers/runtime/issues/1844


Breakdown 'QuizDelegate' into Delegate and Data Source

Hi Caio and Mike,
As suggested during an episode of the second season, I separated the 'QuizDelegate' into Delegate and Data Source.
I couldn't visualise a better way to handle the generics besides force casting when needed, in the 'Flow'.
What do you guys think?

That's it! I'm closing the PR as we're going to carry on development for Season 3.