v1.5.0 breaks wandb hyperparameter sweeps in Colab

🐛 Bug
After upgrading to v1.5.0, wandb hyperparameter sweeps performed in Colab notebooks fail with one UserWarning and one ValueError raised:
UserWarning: There is a wandb run already in progress and newly created instances of `WandbLogger` will reuse this run. If this is not desired, call `wandb.finish()` before instantiating `WandbLogger`.

ValueError('signal only works in main thread')

wandb sweep terminates without performing training runs. Downgrading to pl v1.4.9 resolves the issue.
To Reproduce
Reproduced at the end of this minimally modified BoringModel Colab notebook:
https://colab.research.google.com/drive/16nylTt8jGAbiSfq7zr7YlLOohfIbFqHq?usp=sharing
Expected behavior
wandb sweep should run training loops without terminating due to these errors.
Environment

CUDA:

GPU:

Tesla V100-SXM2-16GB

available:         True
version:           11.1

Packages:

numpy:             1.19.5
pyTorch_debug:     False
pyTorch_version:   1.9.0+cu111
pytorch-lightning: 1.5.0
tqdm:              4.62.3

System:

OS:                Linux
architecture:

64bit

processor:         x86_64
python:            3.7.12
version:           #1 SMP Sat Jun 5 09:50:34 PDT 2021
You can also fill out the list below manually.
-->

PyTorch Lightning Version (e.g., 1.3.0):
PyTorch Version (e.g., 1.8)
Python version:
OS (e.g., Linux):
CUDA/cuDNN version:
GPU models and configuration:
How you installed PyTorch (conda, pip, source):
If compiling from source, the output of torch.__config__.show():
Any other relevant information:

Additional context

I have the same issue with Ray Tune on a personal cluster.
I am running the tutorial from: https://docs.ray.io/en/latest/tune/tutorials/tune-pytorch-lightning.html#changing-the-cli-output
Environment:
Linux Ubuntu
CUDA 11.1
Python 3.8.10
Pytorch 1.10.0
Pytorch-lightning 1.5.2
Traceback (most recent call last):
  File "...path.../ray/tune/trial_runner.py", line 890, in _process_trial
    results = self.trial_executor.fetch_result(trial)
  File "...path.../ray/tune/ray_trial_executor.py", line 788, in fetch_result
    result = ray.get(trial_future[0], timeout=DEFAULT_GET_TIMEOUT)
  File "...path.../ray/_private/client_mode_hook.py", line 105, in wrapper
    return func(*args, **kwargs)
  File "...path.../ray/worker.py", line 1625, in get
    raise value.as_instanceof_cause()
ray.exceptions.RayTaskError(TuneError): ray::ImplicitFunc.train_buffered() (pid=1942608, ip=<IP_ADDRESS>, repr=<ray.tune.function_runner.ImplicitFunc object at 0x7f8d28b2dfd0>)
  File "...path.../ray/tune/trainable.py", line 224, in train_buffered
    result = self.train()
  File "...path.../ray/tune/trainable.py", line 283, in train
    result = self.step()
  File "...path.../ray/tune/function_runner.py", line 381, in step
    self._report_thread_runner_error(block=True)
  File "...path.../ray/tune/function_runner.py", line 528, in _report_thread_runner_error
    raise TuneError(
ray.tune.error.TuneError: Trial raised an exception. Traceback:
ray::ImplicitFunc.train_buffered() (pid=1942608, ip=<IP_ADDRESS>, repr=<ray.tune.function_runner.ImplicitFunc object at 0x7f8d28b2dfd0>)
  File "...path.../ray/tune/function_runner.py", line 262, in run
    self._entrypoint()
  File "...path.../ray/tune/function_runner.py", line 330, in entrypoint
    return self._trainable_func(self.config, self._status_reporter,
  File "...path.../ray/tune/function_runner.py", line 599, in _trainable_func
    output = fn()
  File "...path.../ray/tune/utils/trainable.py", line 353, in _inner
    inner(config, checkpoint_dir=None)
  File "...path.../ray/tune/utils/trainable.py", line 344, in inner
    trainable(config, **fn_kwargs)
  File "/users-1/cornelius/LearnRay/main.py", line 162, in train_mnist_tune
    trainer.fit(model)
  File "...path.../pytorch_lightning/trainer/trainer.py", line 737, in fit
    self._call_and_handle_interrupt(
  File "...path.../pytorch_lightning/trainer/trainer.py", line 682, in _call_and_handle_interrupt
    return trainer_fn(*args, **kwargs)
  File "...path.../pytorch_lightning/trainer/trainer.py", line 772, in _fit_impl
    self._run(model, ckpt_path=ckpt_path)
  File "...path.../pytorch_lightning/trainer/trainer.py", line 1195, in _run
    self._dispatch()
  File "...path.../pytorch_lightning/trainer/trainer.py", line 1274, in _dispatch
    self.training_type_plugin.start_training(self)
  File "...path.../pytorch_lightning/plugins/training_type/training_type_plugin.py", line 202, in start_training
    self._results = trainer.run_stage()
  File "...path.../pytorch_lightning/trainer/trainer.py", line 1284, in run_stage
    return self._run_train()
  File "...path.../pytorch_lightning/trainer/trainer.py", line 1301, in _run_train
    self._pre_training_routine()
  File "...path.../pytorch_lightning/trainer/trainer.py", line 1291, in _pre_training_routine
    self.signal_connector.register_signal_handlers()
  File "...path.../pytorch_lightning/trainer/connectors/signal_connector.py", line 47, in register_signal_handlers
    signal.signal(signal.SIGUSR1, HandlersCompose(sigusr1_handlers))
  File "/users-1/cornelius/anaconda3/envs/MLR/lib/python3.8/signal.py", line 47, in signal
    handler = _signal.signal(_enum_to_int(signalnum), _enum_to_int(handler))
ValueError: signal only works in main thread

Downgrading to 1.4.5 worked for me.
Should I open an independent issue or is this the same bug?
Thanks for everyones hard work. I love lightning :)

Dear @garrett361 @cemde
Would you try trying out this PR: https://github.com/PyTorchLightning/pytorch-lightning/pull/10610 from Lightning.
Hopefully, it should resolve this error.
Best,
T.C

@tchaton
thanks for the quick patch! I installed PL from git@bugfix_10336 and I no longer got the original error message. I now get this:
ray.tune.error.TuneError: Trial raised an exception. Traceback:
ray::ImplicitFunc.train_buffered() (pid=2677701, ip=<IP_ADDRESS>, repr=<types.ImplicitFunc object at 0x7f874f0504c0>)
  File "..path../ray/tune/function_runner.py", line 262, in run
    self._entrypoint()
  File "..path../ray/tune/function_runner.py", line 330, in entrypoint
    return self._trainable_func(self.config, self._status_reporter,
  File "..path../ray/tune/function_runner.py", line 599, in _trainable_func
    output = fn()
  File "..path../ray/tune/utils/trainable.py", line 353, in _inner
    inner(config, checkpoint_dir=None)
  File "..path../ray/tune/utils/trainable.py", line 344, in inner
    trainable(config, **fn_kwargs)
  File "/users-1/cornelius/jem/pascal_baseline_tune.py", line 46, in train_tune
    trainer.fit(model, data)
  File "..path../pytorch_lightning/trainer/trainer.py", line 719, in fit
    self._call_and_handle_interrupt(
  File "..path../pytorch_lightning/trainer/trainer.py", line 671, in _call_and_handle_interrupt
    return trainer_fn(*args, **kwargs)
  File "..path../pytorch_lightning/trainer/trainer.py", line 754, in _fit_impl
    self._run(model, ckpt_path=ckpt_path)
  File "..path../pytorch_lightning/trainer/trainer.py", line 1156, in _run
    self._dispatch()
  File "..path../pytorch_lightning/trainer/trainer.py", line 1235, in _dispatch
    self.training_type_plugin.start_training(self)
  File "..path../pytorch_lightning/plugins/training_type/training_type_plugin.py", line 202, in start_training
    self._results = trainer.run_stage()
  File "..path../pytorch_lightning/trainer/trainer.py", line 1245, in run_stage
    return self._run_train()
  File "..path../pytorch_lightning/trainer/trainer.py", line 1267, in _run_train
    self._run_sanity_check(self.lightning_module)
  File "..path../pytorch_lightning/trainer/trainer.py", line 1331, in _run_sanity_check
    self._evaluation_loop.run()
  File "..path../pytorch_lightning/loops/base.py", line 151, in run
    output = self.on_run_end()
  File "..path../pytorch_lightning/loops/dataloader/evaluation_loop.py", line 139, in on_run_end
    self._on_evaluation_end()
  File "..path../pytorch_lightning/loops/dataloader/evaluation_loop.py", line 201, in _on_evaluation_end
    self.trainer.call_hook("on_validation_end", *args, **kwargs)
  File "..path../pytorch_lightning/trainer/trainer.py", line 1451, in call_hook
    callback_fx(*args, **kwargs)
  File "..path../pytorch_lightning/trainer/callback_hook.py", line 221, in on_validation_end
    callback.on_validation_end(self, self.lightning_module)
  File "..path../ray/tune/integration/pytorch_lightning.py", line 118, in on_validation_end
    self._handle(trainer, pl_module)
  File "..path../ray/tune/integration/pytorch_lightning.py", line 200, in _handle
    report_dict = self._get_report_dict(trainer, pl_module)
  File "..path../ray/tune/integration/pytorch_lightning.py", line 177, in _get_report_dict
    if trainer.running_sanity_check:
AttributeError: 'Trainer' object has no attribute 'running_sanity_check'

But I assume this is an issue from the PL 1.6.0dev code base?!
So looks like it is fixed

@cemde Looks fixed to me.  Only difference I see between wandb sweeps in pl 1.4.9 is a new UserWarning:
UserWarning: There is a wandb run already in progress and newly created instances of `WandbLogger` will reuse this run. If this is not desired, call `wandb.finish()` before instantiating `WandbLogger`.

Thanks for the quick response and hard work!

Hey @cemde,
Would you mind opening another issue with a reproducible script ?


Failed to connect when installing

Hi
I've just reinstalled my HA system and was about to install EOW again. But when I try, firstly, there is no where I can select .com or .ca and when I enter the correct information I get this error.
I can't see anything in the log

The new version auto detects country to select to .com or .ca
you need to make sure you have a country selected either in your configuration.yaml or in settings system->general

Hi
It sounds weird. Which version did you install? The last stable version is 2.0.0.
A lot of stuff was changed recently. I would suggest removing the integration and installing everything from scratch.

@ParkerAnderson9 Thank you for mentioning it.

Hi
It sounds weird. Which version did you install? The last stable version is 2.0.0.
A lot of stuff was changed recently. I would suggest removing the integration and installing everything from scratch.

It worked by changing the country to US in settings, but when I change it back to my country (Denmark) and I reload, EOW, it stops working again.
Is US and CA hardcoded so it's only possible to use those two countries?

Yes, it's a bug. Please give me 5 minutes - I'll fix it.
Should it be eyeonwater.com for Denmark?

Yes, it's a bug. Please give me 5 minutes - I'll fix it.
Should it be eyeonwater.com for Denmark?

Yes we are using .com in Denmark.
Just an idea, maybe this line
if CountryCode == "US":
should be:
if CountryCode != "CA": ??

Fixed in V2.0.1.
Please let me know if it works

Fixed in V2.0.1.
Please let me know if it works

That did the trick 👍
Thank you for your great work 👍


feature: Lazy load default builtin plugins

Did you check the docs?

[X] I have read all the lazy.nvim docs

Is your feature request related to a problem? Please describe.
I want builtin plugins to work but only when they are needed.

Like load tohtml plugin on command ToHtml. or load netrw on gx.
If we can do it with current implementation, please let us know.
Describe alternatives you've considered
No alternatives found.
Additional context
No response

Those plugins are already very fast to source, so not worth the effort I think.


chore(deps): update all dependencies

Types of changes

[x] Chore (a non-breaking change which is related to package maintenance)
[ ] Bug fix (a non-breaking change which fixes an issue)
[ ] New feature (a non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description
This PR updates all dependencies.
Checklist:

[ ] My change requires an update to the official documentation.
[x] All TSDoc comments are up-to-date and new ones have been added where necessary.
[x] All new and existing tests are passing.

Codecov Report

Merging #52 (6b125a5) into master (ec90095) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master       #52   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            9         9
  Lines          996       999    +3
  Branches         7         7
=========================================
+ Hits           996       999    +3

Impacted Files
Coverage Δ

src/model/link.ts
100.00% <100.00%> (ø)

src/value/embed.ts
100.00% <100.00%> (ø)

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


rearrange appendFilesInDir to do faster early rejects

Motivation

We waste time constructing a full string in appendFilesInDir in two cases:

When processing . or .. in directory entries; or
When a file has an extension, but it doesn't match something in our extension list.

Checking for both of these conditions can be done cheaply prior to constructing the full pathname to the relevant file.
This change saves ~10% of the time in processing options (which includes finding all the files to typecheck) on Stripe's codebase.  (This is probably due to a combination of saving on memory allocations and not having to check these files against the ignore list(s).)
Test plan

See included automated tests.

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_MddGbr6or85ff1
→ https://go/builds/bui_MddG181DTXDudj


esp_netif_sntp errors (IDFGH-10653)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
5.1
Operating System used.
Linux
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
None
What is the expected behavior?
I expect 5.1 documentation examples to compile without error.
I see that ip_event_to_renew is initialized to 0 while it should be an enum.
No clue which of the values to take, the first one is IP_EVENT_STA_GOT_IP and that doesn't seem appropriate.
Note that the rest of the error message below appears to indicate a second bug.
What is the actual behavior?
/home/danny/src/esp-idf/esp32s3-4827s043/minimal/main/App.cpp: In static member function 'static void App::connect(void*, esp_event_base_t, int32_t, void*)':
/home/danny/src/github/esp32/esp-idf-v5.1/components/esp_netif/include/esp_netif_sntp.h:53:34: error: invalid conversion from 'int' to 'ip_event_t' [-fpermissive]
53 |             .ip_event_to_renew = 0,
|                                  ^
|                                  |
|                                  int
/home/danny/src/github/esp32/esp-idf-v5.1/components/esp_netif/include/esp_netif_sntp.h:63:13: note: in expansion of macro 'ESP_NETIF_SNTP_DEFAULT_CONFIG_MULTIPLE'
63 |             ESP_NETIF_SNTP_DEFAULT_CONFIG_MULTIPLE(1, {server})
|             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/danny/src/esp-idf/esp32s3-4827s043/minimal/main/App.cpp:87:28: note: in expansion of macro 'ESP_NETIF_SNTP_DEFAULT_CONFIG'
87 |   esp_sntp_config_t sntp = ESP_NETIF_SNTP_DEFAULT_CONFIG(CONFIG_NTP_SERVER_0);
|                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Steps to reproduce.
from https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/system_time.html?highlight=sntp_init#_CPPv49sntp_initv
it says use this :
esp_sntp_config_t config = ESP_NETIF_SNTP_DEFAULT_CONFIG("pool.ntp.org");
esp_netif_sntp_init(&config);
Build or installation Logs.
No response
More Information.
No response

Duplicate of https://github.com/espressif/esp-idf/issues/11825#issuecomment-1655069735
Sorry for the trouble, will fix.

Note : still present in esp-idf-v5.1.1 :-(

fixed by ef451cab0fec03b24d71552054c8489c2bd6217b

Fixed in https://github.com/espressif/esp-idf/commit/597810bf96f90d93a98cc8641f90e5bd09a75ff0


MSID: 99471 Version: 1 DOI: 10.1101/2<IP_ADDRESS>11958

MSID: 99471
Version: 1
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>11958
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=99471
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>11958

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/99471v1
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>11958
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/99471/v1/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

[article-version-flag] This is preprint version 1.1.�

transformed package uploaded to s3://prod-elife-epp-meca/reviewed-preprints/99471-v1-meca.zip. This is ready to check


Adapt to coq/coq#18197 (List and Array fold argument order change)

Should be backwards compatible (by vendoring the new definition until backward compat is dropped)

@JasonGross your CI looks broken

Indeed, see https://github.com/math-comp/docker-mathcomp/issues/29.  Hopefully fixed by 83cccf5ef3a11d335bb0d6d1d9d1da921097f298, let's try rebasing


Fix #224: Add a clang-format that matches the best the OpenSSL coding style.

This commit adds a .clang-format file at the root of the repository. This .clang-format file tries to match the best the OpenSSL coding style.
This commit also reformats the existing code according to that .clang-format.
Finally, it adds a new CircleCI job to ensure that the code is well-formatted.

Should we add a "post-step" to the code generation job, where we run clang-format?

Yes -- that would be easier than getting all "jinja2" magic to align (particularly considering #228). I started to look into that when evaluating the impact of #224 but hit some clang version dependency: Is it possible that clang-format is dependent on clang version used? If so I think we also  should be explicit in the build env which clang version to use.

because it requires clang-13

I'd be fine mandating that for a build env. The OQS main CI build env is "Ubuntu Jammy" -- and that's at clang-14 if I'm not mistaken.

So we won't be able to enforce the following:

Pre-processor directives use one space for indents:

Tough luck.

Do you have any idea why?

Not really -- this is (should be) all driven off "generate.yml".

Edit: running the script on linux is fine, but not on macOS.

Are you sure "generate.yml" is identical on both machines? I just ran the script on macOS and nothing changed (i.e., x25519_kyber768 and p256_kyber768 "persisted").


EX-4353: Update Sovrn adapter maintainer mail

Is this the correct email address? It didn't appear in gmail. Exchange Team<EMAIL_ADDRESS>did, however.


Update FooterElements.js

it shows the hover when we touch on social media icon

Fixes Issue

Changes proposed

Check List (Check all the applicable boxes)

[ ] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[ ] All new and existing tests passed.

can you link the issue number?


refactor(yaml): cleanup stringifyFlowMapping()

Frankly, I don't really see the purpose behind this PR.

There are several (tiny) performance benefits:

quote and separator are take out of the loop, therefore only need one check
stringifyNode()for key and value is called at the beginning of the loop, thus continues the loop before pairBuffer is even initialized.

It also is more readable imo.


Add Alias for bastion KMS key

User Story
As a MP user and engineer
I expect to be able to identify bastion KMS keys easily
So that I can see which keys are used for what
Value / Purpose
There was recently some confusion with a user as to why KMS keys were being deleted.  Although the KMS key does have a name tag, it doesn't have an alias which means it's not immediately apparent as to which key it is in the console.  Adding an alias would make this clearer.
Useful Contacts
No response
Additional Information
https://github.com/ministryofjustice/modernisation-platform-terraform-bastion-linux/blob/main/main.tf#L59
It is probably worth adding a unique string to the name, as bastions can be deleted and created frequently as users create and destroy their Terraform and we don't want to get caught out with naming clashes.
Definition of Done

[x] Update bastion module to include alias for KMS keys
[x] Update tests

@dms1981 - happy with the functionality updates and tests etc. applied to the module 👍
I was just wondering about the release strategy. This has been put as a patch v4.3.1 but it's not backwards compatible e.g. this plan on a dependabot bump for the module on a member environment. I know you've explained the need for changes in the release notes though. Do you think it should be at least a v4.4.0 or even a v4.5.0?
(I might be overthinking it).
I don't think many members have upgraded past v4.2.1 as it stands and since then we've had the v4.3.0 AMI update too. That update though I think will work without any code changes.

I've reviewed this and am happy the ticket is complete.


Reorder UnitTestBot settings for clarity

Description
UnitTestBot Settings are now mixed by features.
It would be better to reorder them for better user understanding.
Also need to style test in the same way: Only first word with caps and other words with normal letters.
To Reproduce
Open File -> Settings -> Tools -> UnitTestBot
Suggested behavior
Group settings by feature:
Generated test language
Experimental languages support
Tests with exceptions
Overflow detection
Display detected errors on the Problems tool window
Enable summaries generation
Javadoc comment style
Force mocking static methods
Classes to be forcedly mocked
Hanging test timeout
Test generation method
Visual proofs (screenshots, logs, images)
How it looks now:

How it will look with new order:

Environment
IntelliJ IDEA 2022.1-2

Here are the changes to be made after the discussion:

Hanging test timeout
place it before Test generation method and in one group with it, how it is organized in the User guide

Insets:
make vertical insets between groups of controls

On one line:
place Experimental languages support on the same line with Generated test language

Dependent controls:
inline Javadoc comment style with Enable summaries generation
as it is defined here: https://jetbrains.github.io/ui/principles/layout/#28


Unable to log in. FAILS to connect. No password prompt.

As the title says. IT's been rock solid until I tried to play again for the first time in a few weeks/months, but I can't connect (neither can any of my friends). It just says fails to connect and never even prompts for the password.
The container is healthy and running fine. There are not obvious issues in the logs.
https://geekstrom.de/valheim/check/ shows the server online. When you are in the server browser in valheim it shows up.
It just hangs on connection.

So I fixed it. I dont know what the actual root cause is, but after launching the container, I logged into the container and cleared the contents of /opt/valheim
Then restarted the container and it let me connect immediately. OBviously that deleted my world, but I shut it down, copied over the world files from backups, relaunched and its back working again.
I am not sure exactly what happened--possibly a weird update failure, but if anyone else runs into this issue, thats what I did to fix it.


GLTF module: Clean up lots of includes

This PR cleans up includes in GLTF files. In a nutshell, here are the rules I'm working with for the includes:

GLTFState includes all of the small classes that make it up.

Each of the small classes either has forward declarations or a full include of Godot classes. Which we use depends on if we need that class's full definition to make GLTFState and its small pieces work as-is.

GLTFDocumentExtension includes GLTFState, since all document extensions need to use GLTFState.
GLTFDocument includes GLTFDocumentExtension directly, which also includes GLTFState.
The editor classes should only worry about GLTFDocument, the master class for running GLTF file imports.

So now there is a clear one-directional dependency: Editor -> GLTFDocument -> GLTFDocumentExtension -> GLTFState -> Small classes -> Godot classes. I said one-directional instead of linear because there are still some jumps, such as GLTFDocument needing GLTFState and the small classes. So, for example, none of the small classes are using GLTFState, and there is nothing in GLTFState that knows about GLTFDocument (except for friend class).

Seems OK overall, but I'm unsure if all the changes go in the right direction. To improve code quality and clarify the include paths, we tend to go more in the direction of explicitly including the higher level includes that are actually needed by the class; e.g. if a class needs Node3D explicitly to do stuff with its API, it should include that header, and not only rely on the fact that it's included by a file that's included by a file that it includes.
We don't necessary go all the way down to like Variant or String or even typedefs.h with this logic, but for high level components it can make sense. There are no clear guidelines because it's not easy to put this into rules.
Feedback welcome from @Geometror @trollodel @KoBeWi.

@akien-mga IMO, a good compromise is to accept implicit includes if:

A required class is a superclass of another required class. Like Node, Node2D, and Node3D.
The required class is part of the public (exposed) API of another required class. Like MeshInstance3D that includes Mesh.
The required class is very unlikely to not be included anymore after a refactor. Like core/ classes.

Otherwise if one of those dependency ends up no longer needed a given header, you can end up with compilation errors downstream because the class at the end of the chain wasn't actually including the header it explicitly needs.

From what I observed, dependency removals happen only while refactoring, at which point it's somewhat expected that things break and you have to do a bit more cleanup than was planned.

I agree with @akien-mga, in general this looks like a good change, although I wouldn't replace the more explicit includes e.g. in gltf_document.cpp with the high-level ones. After all we want to reorganize the includes to reduce inclusion chains and speed up incremental builds.
Maybe a common header file which includes the most essential headers could mark a boundary: anything else needs to be explicitly included.

@Geometror If I'm understanding you correctly, then you would suggest I bring these three back? These are included farther down the chain which is why it currently compiles without them.
#include "scene/animation/animation_player.h"
#include "scene/resources/importer_mesh.h"
#include "scene/resources/mesh.h"

I think we can merge as is as it's still a useful cleanup overall. The above discussion is more a start for coming up with clearer guidelines, but shouldn't block this specific cleanup.

Thanks!


Support for unknown length 'lists' of sensitive data

Currently the only way to capture more than one piece of sensitive information from the same line is to explicitly capture each piece with a new rule. This works well for cases that are known length, say splitting domain\user into a domain and user.
Some times however a log line contains a list of servers or URLs that are best captured individually. If the number of items in this list changes between log sets then support for 'lists' of this data becomes valuable.

Suggested Solution
Rule alias' that end in 'List' represent lists of sensitive data. Rather than the [String1]=[String2] format of other rules, list rules are represented in the conf file with a [String1]=[String2],[String3].

[String1] - Regex Rule
[String2] - Rule Alias
[String3] - List delimiter

Implementation
This will require updating the config parsing code and the merging process.

Important for parsing new Dt logs usefully

Is it possible to implement this by just looking for other regex matches in the same line? Rather than limiting to the first group, accept the remaining matches?

Is it possible to implement this by just looking for other regex matches in the same line? Rather than limiting to the first group, accept the remaining matches?

Possibly? The easiest solution is just to switch the internal key list from a tuple (quite restrictive) to either  dict or PSObject and extend the key/vals that way.

this looks to be implemented and functional - nothing like a field test to confirm though.
Implementation details:

Internal rule storage was updated as above (consolidated 'delete' rules w/ basic and new list keys) line line-ref: outlining schema proc'ing config
During the scouting and Sanitisation stages the delete rules are pulled out and applied in a similar way to how the internal 'killerflags' were. line-ref: removing lines during scouting line-ref: removing lines prior to passing content to sanitisation
** While the above works to close of this issue, code should be revisited to better refactor the killerflags references. At the moment we're effectively just pollyfilling the old code.
If a token is a list it's split before we check if the keys we've found are already known. I'm quite happy with this implementation. line-ref
Multiline was implemented on the sly - Past cavejay may know more about why that was sitting there commented out - possible the '...' captured with keys that ended a line, but that was resolved with a cleaning of nl characters from all keys. line-ref: multiline line-ref: nl cleaning
** Previously ^ and $ would only match on the beginning and end of the entire file, so this is pretty important for useful log parsing.

Additional explanation is being provided for those that may be interested in the process of this very large script... That could be no one but future me though.

Closing - official release will be in v2.4.0


Random.sol does not allow access to past randomness from each last epoch block

Expected Behavior
Random.sol should allow access to the historical randomness from last block of each epoch for use in validator ordering when determining the proposer of a particular block.
Current Behavior
Random.sol uses a flawed pre-check to determine if the randomness if stored before retrieving it that does not allow access to randomness expect the most recent last epoch block, even though it is stored.
https://github.com/celo-org/celo-monorepo/blob/12046fcd8adbea999fc94509717971eaebc9b4c3/packages/protocol/contracts/identity/Random.sol#L153-L169
As a result, nodes which wish to reconstruct old state cannot use this function as intended to do so.
https://github.com/celo-org/celo-blockchain/blob/15d280e12fb720b7e82d69d2862f7684444fdb67/consensus/istanbul/backend/backend.go#L765-L780
Errors may appear in logs for full nodes and validators that look like this:

ERROR[04-20|19:26:56.635] Error in calling the EVM                 funcName=getBlockRandomness                transactionData=0xfc4847260000000000000000000000000000000000000000000000000000000000032a00 err="evm: execution reverted"
ERROR[04-20|19:26:56.635] Error when invoking evm function         err="evm: execution reverted"       funcName=getBlockRandomness                static=true  address=0x2b3A515119695cEec51885c4E40cB5AF43265F3E args=[+207360] gas=2000000 gasLeft=1996896 value=<nil>
ERROR[04-20|19:26:56.635] Error in executing function on registered contract function=getBlockRandomness                registryId=0x02dfe2d0485b616b61db1800f30f4a14b26754b328fa09ba4ec73ee7276766cc err="evm: execution reverted"
WARN [04-20|19:26:56.635] Failed to set randomness for proposer selection block_number=224640 hash=c45e82…c9706c error="evm: execution reverted"

Are you sure this doesn't remove it?
https://github.com/celo-org/celo-monorepo/blob/12046fcd8adbea999fc94509717971eaebc9b4c3/packages/protocol/contracts/identity/Random.sol#L105

@mrsmkl you are right, I actually missed that line when creating this issue.
It's not important to the function of validator client to have access to past epoch randomness. The only reason you'd need this is to query past proposer orderings, which is useful in diagnosing errors, in which case it's reasonable that you'd need to run an archive node, which would have access to past epoch randomness in a past EVM state. Given that, it'd be better to keep this contract as is than add all past epochs to the EVM state.
I'm going to close this issue and suggest we address https://github.com/celo-org/celo-blockchain/issues/999 in the blockchain client.


add docker-compose optional test environment

Why just not use the https://github.com/testcontainers/testcontainers-java to have isolated self contained test environment for each test?

That's an option. But, I don't have time to investigate it. There's also a similar Pull Request for Docker Compose, but since the amount of contributions is low, this is not a big priority for the moment.

I see testcontainers would be more cool than ugly docker-compose.

Applied upstream, thanks


How clear AWS S3 Bucket ClientError in Flask API server?

Expected Behavior

This bug occurs in Flask API server to  image download. I search this error at Google. I find same issue at this repo. it is here.

https://github.com/boto/botocore/issues/1413

This issue is specific time. this error occur in Flask API server run after about 1hours. I don't know this issue. Help me please.

My code is it.

@app.route('/inspection', methods=['GET', 'POST'])
def image_inspection():
    if request.method == "GET":
        check_srl = request.args.get('assetCheckSrl')
        origin_url = request.args.get('origin').replace('"','')
        inspection_url = request.args.get('inspection').replace('"','')
        origin_path = origin_url.split('com/')[1]
        inspection_path = inspection_url.split('com/')[1]

        print("check_srl :" , check_srl)
        print("origin_url :" , origin_url) # https://XXXX.s3.ap-northeast-2.amazonaws.com/XXXX/asset/init/1110_asset_201125173650.jpg
        print("inspection_url :" , inspection_url) # https://XXXX-s3.s3.ap-northeast-2.amazonaws.com/XXXX/asset/init/1110_asset_201125173855.jpg
        print("origin_path :" , origin_path) # XXXX/asset/init/1110_asset_201125173650.jpg
        print("inspection_path :" , inspection_path) # XXXX/asset/init/1110_asset_201125173855.jpg

        origin_image = image_origin_object(origin_path)
        time.sleep(1)
        inspection_image = image_inspection_object(inspection_path)
        ~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~~~~~~~
        ~~~~~~~~~~~~~~~~~~~~~~
        compare_url = result_save(result_feature['result']['result_path'], inspection_url, inspection_path)

        return jsonify(result_feature)

def image_origin_object(origin_path):

    origin_image = './images/' + origin_path.split('init/')[1]
    s3.Bucket(BUCKET_NAME).download_file(origin_path, origin_image)

    return origin_image

def image_inspection_object(inspection_path):

    inspection_image = './images/' + inspection_path.split('init/')[1]
    print('inspection_path >>> : ', inspection_path)
    print('inspection_image >>> : ', inspection_image)
    s3.Bucket(BUCKET_NAME).download_file(inspection_path, inspection_image)

    return inspection_image

def result_save(file_name, inspection_url, inspection_path):

    s3_client = boto3.client('s3')
    inspection_url = inspection_url.replace('init','compare')
    KEY = inspection_path.replace('init','compare')
    response = s3_client.upload_file(file_name, BUCKET_NAME, KEY)

    return inspection_url

Actual Behavior

I make Flask API server for image processing in AWS EC2. AWS S3 Bucket is public setting. AWS EC2 configure already set my KEY, region.

Environment

Python version:

(venv) ubuntu:~/environment $ python --version
Python 3.6.9

Flask version:
Flask==1.1.2
Jinja2==2.11.2
flask-cors==3.0.8
Werkzeug version:
Werkzeug==1.0.1

Please use Stack Overflow for questions about your own code. This tracker is for issues related to the project itself. Be sure to include a minimal, complete, and verifiable example.


Add support for Pi Zero

Drop ARMv7 check since Pi Zero (currently) needs ARMv5
Use MCR instructions for memory barrier and prefetch flush

Thanks for reviewing.  The Pi Zero is ARMv6, but is crashing on the floating point instructions generated by the Go compiler when GOARM=6.   This is an example from using GOARM=6:
undefined instruction
pc : [<0004be78>]	   lr : [<1bf5e708>]
reloc pc : [<e40f9e78>]	   lr : [<0000c708>]
sp : 1bb54f90  ip : 0000000a	 fp : 000f5860
r10: 0017f798  r9 : 00000001	 r8 : 00000006
r7 : 00000001  r6 : 00000001	 r5 : 00000000  r4 : 00003039
r3 : ffff01ff  r2 : ffffffff	 r1 : 1befffec  r0 : ffffffff
Flags: nZCv  IRQs off  FIQs off  Mode SYS_32
Code: ed9d0b0a e59fb1a4 ed9b1b00 eeb40bc1 (eef1fa10)

This corresponds to vmrs apsr_nzcv, fpscr - from this thread it looks like there's a bunch of possible causes (https://www.raspberrypi.org/forums/viewtopic.php?t=79924).  To side-step it, I'm compiling for the PiZero as ARMv5, which causes the Go compiler to provide software floating-point.
I'll update the change to check the range 5 through 7.

Sure thing - updated with comment removed.


Trying to figure out how to document a BETTER_ENUM in doxygen

I want to use this library but it is important that the enums are documentable.
I can document the macro invocation, and even fake parameter values
BETTER_ENUM(A, uint8_t,
  Thing1,
  Thing2
); ///< \brief Comment about enum
///< \param Thing1 the first thing

but these are not searchable.
I've tried to document the class that is generated under the hood
///\class A
///\enum A::_enumerated
///\var A::_enumerated A::Thing1 the first thing

but doxygen, expanding macros, cannot find either the class or the enum.
Any suggestions on how to proceed or am I SOL?

I don't see how to make it fully work either. I would have expected Doxygen to be able to find the class when expanding macros.
If you find a way to fix/work around this, please post here, and I'll add it to the Better Enums documentation.

I have the same issue; Strict corporate coding standards.
The best workaround I've found, which is admittedly ugly, is to #define it and document it as a class. Example:
/**
 * @class enum_Trick
 * @param Card A card trick
 * @param Hat A hat trick
 */
#define enum_Trick BETTER_ENUM
enum_Trick( Trick, int,
    Card,
    Hat
);

The drawbacks:

This presents the problem of de-synchronized code from doc. Duplication.
It won't show up in the "Enumerattions" or "Enumerators" Doxygen sections.
References to it in code comments need to be to the label, e,g, -
@param[in] trick @ref enum_Trick
not
@param[in] trick @ref Trick
.
It certainly won't be treated as an intrinsic enum.

I'm not sure there can BE a solution without defining some construct within Doxygen (project configuration?) to look for.
A shame - I really like BETTER_ENUM.


conflict with webview_flutter

steps

flutter pub add webview_flutter
flutter pub add webview_cookie_manager
create a dart file, and import 'package:webview_cookie_manager/webview_cookie_manager.dart'

bug behavior

Target of URI doesn't exist: 'package:webview_cookie_manager/webview_cookie_manager.dart'

If I don't install webview_flutter, only install webview_cookie_manager, it's fine.

unknown reason


feat: Enable window alert on terminal bells

With a slight rework of the configuration, as discussed in https://github.com/contour-terminal/contour/issues/1247:
Before:
bell: "off"

After:
bell:
  sound: "off"
  alert: true

The original value was moved to bell.sound, and a boolean was added, bell.alert; when this boolean is true, a window alert will be raised each time a bell is ringed.
Closes https://github.com/contour-terminal/contour/issues/1247

I think that by default we can enable this behavior.

Sure, thing!

Another issue is update of existing configuration files, so we might want to add this info somewhere so users aware of breaking changes

How would I do that? Is there any file in the repo to notify the users of breaking changes?

I think that by default we can enable this behavior.

Sure, thing!

Another issue is update of existing configuration files, so we might want to add this info somewhere so users aware of breaking changes

How would I do that? Is there any file in the repo to notify the users of breaking changes?

No, we dont have such,  we can add this info in metainfo file so user can see that configuration entry was moved somewhere

All right, done. I think since the bell original configuration was never released, the impact should be limited to users using unstable/master builds. Feel free to propose a better change for metainfo.xml if my change is not enough.

All right, done. I think since the bell original configuration was never released, the impact should be limited to users using unstable/master builds. Feel free to propose a better change for metainfo.xml if my change is not enough.

Oh, indeed, its been a while since last release and i missed that we added it after previous release, sorry for that, i think better to omit then this comment

Oh, indeed, its been a while since last release and i missed that we added it after previous release, sorry for that, i think better to omit then this comment

Yeah, I really hope we can release 0.4.0 as soon as possible (as in: we feel confident with having master as stable as possible)


Edits to packaging-and-publishing tutorial step.

This makes some minor changes to update the packaging-and-publishing file in the tutorial. This changes the init command to build, now that #216 has landed. Additionally, the --out-dir flag from #263 is mentioned, so this shouldn't be merged until that PR is complete.
Aside from those changes, there are some minor edits that are somewhat subjective, but improve readability (imo). Adding a period for consistency in the build command's description, removing contractions, etc.
Happy to adjust these edits if anybody has feedback, or if I made any mistakes here :smiley_cat: :heart:

Make sure these boxes are checked! 📦✅

[x] You have the latest version of rustfmt installed and have your
cloned directory set to nightly

$ rustup override set nightly
$ rustup component add rustfmt-preview --toolchain nightly

[x] You ran rustfmt on the code base before submitting
[x] You reference which issue is being closed in the PR text

✨✨ 😄 Thanks so much for contributing to wasm-pack! 😄 ✨✨

I'm hesitant to merge docs PRs at the moment, because Ashley had big plans for reworking them that are only half landed, and I don't want to force here to rebase a bunch. I think we should wait on merging this PR until she can get all her vision implemented.


Plans to push this into the LinuxCNC projects?

Dear developers.  Do you plan to get this setup merged into the LinuxCNC project?
I am considering doing a similar conversion.  What is the best recipe to read up on?

Is there some information about the cost involved in converting a  Mazak VQC 15/40 into LinuxCNC, and ideas on suppliers for the hardware used?


Problems adding the OpenNIC servers list

Hi guys,
I added the OpenNIC servers
and get the following error msg when I try start the new dnscrypt-proxy
>  ./dnscrypt-proxy
[2018-02-16 12:58:43] [FATAL] Near line 400 (last key parsed 'sources.opennic'): bare keys cannot contain '\''

also the top section of the added OpenNIC servers segment
[sources]

  ## An example of a remote source

#  [sources.'public-resolvers']
#  url = 'https://download.dnscrypt.info/resolvers-list/v2/public-resolvers.md'
#  cache_file = 'public-resolvers.md'
#  minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
#  refresh_delay = 72
#  prefix = ''

  ## Another example source, with resolvers censoring some websites not approriate for children
  ## This is a subset of the `public-resolvers` list, so enabling both is useless

  #  [sources.'parental-control']
  #  url = 'https://download.dnscrypt.info/resolvers-list/v2/parental-control.md'
  #  cache_file = 'parental-control.md'
  #  minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'

## Optional, local, static list of additional servers
## Mostly useful for testing your own servers.

[static]

  # [static.'google']
  # stamp = 'sdns://AgUAAAAAAAAAACDyXGrcc5eNecJ8nomJCJ-q6eCLTEn6bHic0hWGUwYQaA5kbnMuZ29vZ2xlLmNvbQ0vZXhwZXJpbWVudGFs'

# opennic

#Resolvers from the [OpenNIC](https://www.opennic.org/) project.

#To use that list, add this to the `[sources]` section of your
#`dnscrypt-proxy.toml` configuration file:

    [sources.'opennic']
    url = 'http://download.dnscrypt.info/resolvers-list/v2/opennic.md'
    minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
    cache_file = 'opennic.md'

sorry about the messed up way it reads in the preview.

Sources should be in the [sources] section.
You added the opennic servers to the [static] section :)
Just move it up!

I modified sources section to this

[2018-02-16 14:13:20] [FATAL] Near line 382 (last key parsed 'sources.opennic'): bare keys cannot contain '''

Another example source, with resolvers censoring some websites not approriate for children
This is a subset of the public-resolvers list, so enabling both is useless
[sources.'parental-control']
url = 'https://download.dnscrypt.info/resolvers-list/v2/parental-control.md'
cache_file = 'parental-control.md'
minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
opennic
[sources.'opennic']
url = 'http://download.dnscrypt.info/resolvers-list/v2/opennic.md'
minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
cache_file = 'opennic.md'
format = 'v2'

fvz-anyone
Fusl's public primary OpenNIC Tier2 Anycast DNS Resolver
sdns://AQYAAAAAAAAAFDE4NS4xMjEuMTc3LjE3Nzo1MzUzIBpq0KMrTFphppXRU2cNaasWkD-ew_f2TxPlNaMYsiilHTIuZG5zY3J5cHQtY2VydC5kbnNyZWMubWVvLndz

I just removed both of Fusl's servers.
And I get this error msg

[2018-02-16 14:24:00] [FATAL] Near line 383 (last key parsed 'sources.opennic.OpenNIC'): expected key separator '=', but got 'D' instead

Maybe start from a fresh configuration file and just add the extra 4 lines for the opennic source.

I finally got it to work by adding the following lines

[sources.'opennic']
url = 'http://download.dnscrypt.info/resolvers-list/v2/opennic.md'
minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
cache_file = 'opennic.md'
format = 'v2'

You don't even need  format = 'v2' any more :)


[DBAAS] | Add API endpoint for applying cluster patches

Added functions to support install_update endpoint.

The client code landed in https://github.com/digitalocean/pydo/pull/335


Update cloud_io.py

What does this PR do?
Solves AttributeError: 'PosixPath' object has no attribute 'startswith'
Before submitting

[ ] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together? Otherwise, we ask you to create a separate PR for every change.
[x] Did you make sure to update the documentation with your changes?
[x] Did you write any new necessary tests?
[x] Did you verify new and existing tests pass locally with your changes?
[ ] If you made a notable change (that affects users), did you update the CHANGELOG?

PR review
Anyone in the community is free to review the PR once the tests have passed.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified; Bugfixes should be including in bug-fix release milestones (m.f.X) and features should be included in (m.X.b) releases.

Did you have fun?
Make sure you had fun coding 🙃

isn't adding a line path_or_url = str(path_or_url) in the first place will do the job rather than explictly chaning it??


seed cracker runs instantly and gets the seed wrong

For some reason the cracker runs immediately upon world join and outputs a seed before chunks even start rendering
this seed hasn't been right once, how do i slow it down so it has enough time to gather data before spitting out a seed?
also is there a way to manually run the cracker again once more data is gathered?

nevermind, just needed more time


Text in snackbar shouldn't fade out when the snack bar goes away

The text on a snackbar is supposed to fade into view, but not fade out of view.

Fixed in https://github.com/flutter/flutter/pull/3015


[RFE] Move CRTB Controller it's Own Package

Is your feature request related to a problem? Please describe.
For readability purposes, we would like to move the CRTB controller to it's own package
Describe the solution you'd like
The following files should be moved to their own package:

https://github.com/rancher/rancher/blob/release/v2.9/pkg/controllers/management/auth/crtb_handler.go

Any refactoring or splitting is left to the discretion of the assignee. The end goal is improved readability and maintainability.
Additional context
Related CRTB Issues:

https://github.com/rancher/rancher/issues/44664
https://github.com/rancher/rancher/issues/44663

This will be covered in this work: https://github.com/rancher/rancher/issues/46077


Roll Flutter from 5b3e42afd019 to 51e5332ba55b (1 revision)

https://github.com/flutter/flutter/compare/5b3e42afd019...51e5332ba55b
2022-03-18<EMAIL_ADDRESS>Roll Engine from 89b16c065c9d to a99d51f0c128 (2 revisions) (flutter/flutter#100391)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-plugins
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Plugins: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Update CHANGES.rst.

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

Comparison is base (acef416) 87.21% compared to head (6e5a20d) 87.21%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #149   +/-   ##
=======================================
  Coverage   87.21%   87.21%
=======================================
  Files          29       29
  Lines         837      837
=======================================
  Hits          730      730
  Misses        107      107

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


Update README.md

A simple update to the readme

Description
A quick change to the readme to add links to dev and user documentation
Tests
N/A
UI Changes

LGTM, we will need to start working on implementing these wiki pages soon


e.combineWithMathJax error in bundled BetterDiscord plugin

Issue Summary
Error happening when trying to import webpack-bundled MathJax inside a BetterDiscord plugin.
Error log:
TypeError: Cannot set property Package of #<Object> which has only a getter
    at a (betterdiscord://plugins/mathjax.plugin.js:9:26745)
    at a (betterdiscord://plugins/mathjax.plugin.js:9:26752)
    at a (betterdiscord://plugins/mathjax.plugin.js:9:26752)
    at a (betterdiscord://plugins/mathjax.plugin.js:9:26752)
    at e.combineWithMathJax (betterdiscord://plugins/mathjax.plugin.js:9:27261)
    at 1585 (betterdiscord://plugins/mathjax.plugin.js:9:251681)
    at __nested_webpack_require_262731__ (betterdiscord://plugins/mathjax.plugin.js:9:255018)
    at eval (betterdiscord://plugins/mathjax.plugin.js:9:256966)
    at eval (betterdiscord://plugins/mathjax.plugin.js:9:258158)
    at 83 (betterdiscord://plugins/mathjax.plugin.js:9:258207)
    at __webpack_require__ (betterdiscord://plugins/mathjax.plugin.js:9:258538)
    at 451 (betterdiscord://plugins/mathjax.plugin.js:9:258244)
    at __webpack_require__ (betterdiscord://plugins/mathjax.plugin.js:9:258538)
    at eval (betterdiscord://plugins/mathjax.plugin.js:9:258869)
    at eval (betterdiscord://plugins/mathjax.plugin.js:9:258895)
    at M.requireAddon (betterdiscord/renderer.js:4:35818)
    at M.loadAddon (betterdiscord/renderer.js:4:8323)
    at M.loadAddon (betterdiscord/renderer.js:4:33490)
    at AsyncFunction.<anonymous> (betterdiscord/renderer.js:4:6315)

Steps to Reproduce:

Create necessary files

Betterdiscord plugin src.js:

import MathJax from 'mathjax';

module.exports = class Plugin {
    start() {
        console.log('Start');
        MathJax.typeset();
    }
}

Webpack config for bundling webpack.config.js:

const path = require('path');

module.exports = {
  entry: './src.js',
  output: {
    filename: 'mathjax.plugin.js',
    path: path.resolve(__dirname, ''),
  },
};

Bash script for bundling and adding headers bundle.sh

#!/bin/bash

lines_to_append="/**
 * @name MathJaxtTest
 * @author QuantumSoul
 * @description MathJax test
 * @version 0.0.0
 */"
file_path="out/mathjax.plugin.js"

npx webpack --config webpack.config.js

{ echo -e "$lines_to_append"; cat "$file_path"; } > temp_file && mv temp_file "$file_path"

Install and run
npm init
npm install webpack webpack-cli mathjax
./bundle.sh

Add out/mathjax.plugin.js to BetterDiscord plugin folder

Technical details:

MathJax Version: 3.2
Client OS: Linux
Browser: Discord Electron

Supporting information:
Here's a folder with all files for testing (still need to install discord and better discord)

Your src.js doesn't do what I think you want it to do.  Importing or requiring the mathjax package sets up MathJax for server-side usage, and exports a single function, init() used to pass it a MathJax configuration.  So your MathJax import is an object containing that init() function, not the MathJax global object that has the typeset() function.
As the README indicates (in the NOTE at the bottom of that section), this is intended only for server-side node use, not for use in browsers.
For browser use, you could import one of the combined component files, say tex-chtml.js, which has no exports, but does set up the global MathJax variable, just as it would in a browser.  Or you could make your own custom build of MathJax as described in the documentation that includes the pieces that you need.
MathJax may need to load some components dynamically, which will not be part of your webpacked file, and you will probably need to tell MathJax where those components can be found.  one way to do what would be to use the global MathJax variable to provide the configuration before importing the combined component you are using (e.g., put your configuration in a separate .js file and import that first).  Something like
window.MathJax = {
  loader: {
    paths: {
      mathjax: '<path-to-mathjax-root-directory>'
    }
  }
};

The path could be to a CDN that distributes MathJax.  If you use one of the combined components that end in -full.js, e.g., tex-chtml-full.js, that will reduce the need for dynamically loaded files, but will make a larger payload, as it includes all (or most of) the TeX extensions.
The error message you are getting is probably due to trying to use the server-side setup in the browser.  Try these other approaches and see if they work for you.

Thank you very much for detailed answer. I'll try soon and tell you if it works

I still encounter the error using this src.js:
import MathJax from 'mathjax/es5/tex-chtml-full';

module.exports = class Plugin {
    start() {
        console.log('Start');
        //MathJax.typeset();
    }
}

Error :
TypeError: Cannot set property Package of #<Object> which has only a getter
    at a (betterdiscord://plugins/mathjax.plugin.js:10:13839)
    at a (betterdiscord://plugins/mathjax.plugin.js:10:13846)
    at a (betterdiscord://plugins/mathjax.plugin.js:10:13846)
    at a (betterdiscord://plugins/mathjax.plugin.js:10:13846)
    at e.combineWithMathJax (betterdiscord://plugins/mathjax.plugin.js:10:14355)
    at eval (betterdiscord://plugins/mathjax.plugin.js:10:1277167)
    at eval (betterdiscord://plugins/mathjax.plugin.js:10:1301016)
    at 548 (betterdiscord://plugins/mathjax.plugin.js:10:1301020)
    at __webpack_require__ (betterdiscord://plugins/mathjax.plugin.js:10:1301334)
    at 451 (betterdiscord://plugins/mathjax.plugin.js:10:1301051)
    at __webpack_require__ (betterdiscord://plugins/mathjax.plugin.js:10:1301334)
    at eval (betterdiscord://plugins/mathjax.plugin.js:10:1302000)
    at eval (betterdiscord://plugins/mathjax.plugin.js:10:1302026)
    at M.requireAddon (betterdiscord/renderer.js:4:35818)
    at M.loadAddon (betterdiscord/renderer.js:4:8323)
    at M.loadAddon (betterdiscord/renderer.js:4:33490)
    at AsyncFunction.<anonymous> (betterdiscord/renderer.js:4:6315)

Your src.js file mixes ESM and CommonJS module syntax, and that causes some problems in my tests.  After a half hour of trying, I could not get BetterDiscord to install on Mac OS, so I can't test things in BetterDiscord itself.  But I was able to webpack the file, and load it into both node and a browser to see if it loaded.
When I use your src.js, I get the following error
Uncaught Error: ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: 451

which is what I would expect from the mixed ESM/CommonJS code.  If I replace the import with
require("mathjax/es5/tex-chtml-full");

then the browser loads the plug file (when I include it via <script src="out/mathjax.plugin.js"></script>) without errors, and I can run MathJax commands without problem.
Can you try using that require() command instead of the import?  I suspect it won't make a difference for you, but it might.  In any case, it seems to be related to how Discord is loading the plugin, and it appears (from your error message) that it may be reading the plugin file and then using eval() to run it.  Maybe that is the trigger?
I have seen this error before, and I know that it has to do with processing the configurations, but I have not been able to track down exactly what the setup has to be to trigger it.  Version 4 has a change that avoids the problem, but it is not yet back-ported to v3.  You might try using<EMAIL_ADDRESS>and see if that might work avoid the issue.

Once again, sorry for late reply.
Thank you for taking the time to try and install BetterDiscord, even though you eventually didn't.
I'm lost x)
Here's my new src.js using<EMAIL_ADDRESS>const MathJax = require('mathjax/tex-chtml');

module.exports = class Plugin {
    start() {
        console.log('Start');
        //MathJax.typeset();
    }
}

I have this infinite call queue. I also tried require() with mathjax3 but still the same error.
RangeError: Maximum call stack size exceeded
    at Function.keys (<anonymous>)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30151)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)
    at Va (betterdiscord://plugins/mathjax.plugin.js:9:30276)

Here's another thing to try:  go back to v3, and use
const mjx = require("mathjax/js/components/global.js");

mjx.combineConfig = function (dst, src) {
  for (const id of Object.keys(src)) {
    if (id === '__esModule') continue;
    if (isObject(dst[id]) && isObject(src[id]) &&
        !(src[id] instanceof Promise) /* needed for IE polyfill */) {
      combineConfig(dst[id], src[id]);
    } else if (src[id] !== null && src[id] !== undefined && dst[id] !== src[id]) {
      dst[id] = src[id];
    }
  }
  return dst;
};

const MathJax = require('mathjax/tex-chtml');

module.exports = class Plugin {
    start() {
        console.log('Start');
        //MathJax.typeset();
    }
}

for your src.js file.  If that doesn't work, add a console.log("combine") call at the top of the combineConfig() function to make sure that the new function is actually being used, and check the browser console to see if the combine message is appearing (it should appear multiple times).

require("mathjax/js/components/global.js");

I don't have js subfolder in node_modules/mathjax. I only have es5 and there's nothing called components nor global. Didn't I install properly ? I did npm install mathjax.
By the way, I tried the v4 fix but still the same stacktrace.

I tried a few things and I realized setting an inital config removes the TypeError.
I have test followed by MathJax localStorage error: localStorage is not defined error in the logs then the plugin fails to load and I have an error saying the plugin doesn't exist.
Using this src.js:
MathJax = {
   options: {
       enableMenu: false
   },
   tex: {
     inlineMath: [['mthjxinline', 'mthjxinlineend']],
     displayMath: [['mthjxblock', 'mthjxblockend']]
   }
};

require('mathjax-full/es5/tex-chtml');

console.log("test");

module.exports = class Plugin {
   start() {
       console.log('start');
   }
   stop() {
       console.log('stop');
   }
}

Sorry for not replying to this earlier.
You might be able to get rid of the localStorage issue by adding
localStorage = {
  getItem() {},
  setItem() {},
  removeItem() {}
}

before loading mathjax-full/es5/tex-chtml.
I don't know where the MathJaxTest error  comes from, as there is no MathJaxTest in the mathjax-full code at all.  Do you have a MathJaxTest anywhere in your code?

MathJaxTest is the name of the plugin.
I was able to have the plugin running using this webpack tutorial. Here's what my main js file looks like:
Window.MathJax={tex:{inlineMath:[['mthjxinline','mthjxinlineend']],displayMath:[['mthjxblock','mthjxblockend']]}};
Window.localStorage={getItem(){},setItem(){},removeItem(){}};

MathJax = require('mathjax-full/es5/tex-chtml-full');

console.log("test");

export default class Plugin {
    start() {
        console.log('start' );
        MathJax.typeset();
    }
    stop() {
        console.log('stop');
    }

The problem is that I have an error:
TypeError: MathJax.typeset is not a function

MathJaxTest is the name of the plugin.

Ah, right.  Thanks!

TypeError: MathJax.typeset is not a function

Remove the MathJax =  and just do require('mathjax-full/es5/tex-chtml-full').  That files doesn't export anything, but it does set up the global MathJax variable.  if you assign the result of the require() to MathJax, you will replace the one created by tex-html-full with a blank one, leading to your error message.

Nice, now It finally kinda works xD
(note that I had to change Window.MathJax= to  MathJax= to remove the e.combineWithMathJax error that happened when removing (const) MathJax = )
Now I have a smaller problem still related to bundling:

../es5/output/chtml/…MathJax_Zero.woff:1
 GET https://../es5/output/chtml/fonts/woff-v2/MathJax_Zero.woff net::ERR_NAME_NOT_RESOLVED
../es5/output/chtml/…Main-Regular.woff:1
 GET https://../es5/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff net::ERR_NAME_NOT_RESOLVED
../es5/output/chtml/…_Math-Italic.woff:1
 GET https://../es5/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff net::ERR_NAME_NOT_RESOLVED
../es5/output/chtml/…_AMS-Regular.woff:1
 GET https://../es5/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff net::ERR_NAME_NOT_RESOLVED

I'm using "mathjax-full": "^3.2.2" in my package.json and my code looks like this:
MathJax={tex:{inlineMath:[['mthjxinline','mthjxinlineend']],displayMath:[['mthjxblock','mthjxblockend']]}};
localStorage={getItem(){},setItem(){},removeItem(){}};

require('mathjax-full/es5/tex-chtml-full');

console.log("test");

export default class Plugin {
   start() {
       console.log('start' );
       MathJax.typeset();
   }
   stop() {
       console.log('stop');
   }
}

Fixed with
  chtml:{fontURL: "https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2"}
Similiar to https://github.com/mathjax/MathJax/issues/2399
Docs can be found here

Glad you worked that out.  I was going to suggest that, but hadn't had the chance to reply before you found the solution yourself.

Windows.MathJax = config

This should be window.MathJax (singular and lowercase).  Try that out and see if that works.  If not, try global.MathJax.
Both of these would need to be before the require() that loads MathJax.  Putting it after would overwrite the MathJax that you have loaded.

Sorry for Late reply, you change worked!
Thank you :)

Just a quick update, it's published now https://betterdiscord.app/plugin/LaTeX Renderer

Congratulations on publishing your plug-in!


updated front-end user rendering to make it dynamic; created new GET for countries in visits table via user_id

I'm going to have a look at the failing checks.

Running the linter locally I get a good summary of the issue:
npm run lint

This produces a long list of issues with the following summary at the bottom:
✖ 736 problems (723 errors, 13 warnings)
  723 errors and 0 warnings potentially fixable with the `--fix` option.

I like the idea of issues that are fixable, so I've tried the following:
npx eslint ./ --fix

This gives me the following encouraging output:
/Users/bg/dev/travel-log/app.js
  55:3  warning  Unexpected console statement  no-console
  56:3  warning  Unexpected console statement  no-console
  71:3  warning  Unexpected console statement  no-console
  72:3  warning  Unexpected console statement  no-console

/Users/bg/dev/travel-log/controllers/countries.js
  41:3  warning  Unexpected console statement  no-console

/Users/bg/dev/travel-log/controllers/visits.js
  42:7  warning  Unexpected console statement  no-console

/Users/bg/dev/travel-log/models/tokens.js
  19:3  warning  Unexpected console statement  no-console
  27:3  warning  Unexpected console statement  no-console

/Users/bg/dev/travel-log/models/visits.js
   40:3  warning  Unexpected console statement  no-console
   89:3  warning  Unexpected console statement  no-console
  106:3  warning  Unexpected console statement  no-console
  138:7  warning  Unexpected console statement  no-console

/Users/bg/dev/travel-log/routes/users.test.js
  81:5  warning  Unexpected console statement  no-console

✖ 13 problems (0 errors, 13 warnings)

As there are now no errors, this should pass the linting check and the PR would then be mergeable. If you also wanted to remove the warnings, I think it is legitimate for this project to allow the use of console statements, at least for now. We can update the linter config to allow these.
Change line 13 on .eslintrc.json from this:
  "rules": {},

To this:
  "rules": {
    "no-console": 0
  },

Now when I run npm run lint I have no errors and no warnings. Follow the above on your local version and push again and the PR checks should pass. If not, I'll take another look.

so i did exactly as you suggested in my eslintrc.json file...and ....heaps of 'missng trailing comma' & 'expected indentation' type errors popped up....

which is strange......@__@

when i typed in npx eslint ./ --fix on my terminal, nothing appeared....

this is what my eslintrc.json file currently looks like

I suspect that has fixed it. No output usually means that it ran OK. You can check it by running the lint command again.
npm run lint

Otherwise try pushing all the changes and I can take another look.

i believe it ran ok based on the terminal output....ive raised the PR again.....some tests have been trying to pass for some time now and it's still not completed, which is odd considering all the times before, its always been quick...

Still didnt pass the test....this is super weird now. >"< When i run the command npx eslint ./ --fix , there are no longer any errors. If you don't mind doing some tinkering whenever you get the chance to, that'd be so appreciated!!

All the issues with the linter now appear to be fixed. The reason the checks don't pass appears to  be test failures. Do your tests pass locally? They are being run with npm test. When I run the tests locally I see a number of failures. If these run and pass for you then something very strange has happened.

So during yesterday's codebar session, i looked into my tests and....they were all failing....i had forgotten about testing....i fixed the test suite countries...am working on the other 3 test suits...


Avoid double-initializing

Within this call to withAppEngineServices
https://github.com/dart-lang/pub-dartlang-dart/blob/c5717accd2ad9f6836e6f89812608995e296812d/app/bin/service/frontend.dart#L35
We call runAppEngine
https://github.com/dart-lang/pub-dartlang-dart/blob/c5717accd2ad9f6836e6f89812608995e296812d/app/bin/service/frontend.dart#L39
Both of these call _withAppengineServicesInternal. We end up with double calls to initialize memcache, etc. Double warnings when the expected host doesn't exist, etc.
I'm guessing we don't want to set up the handler on the first request, so I'm thinking this would end up being a pkg/appengine bug/feature request.
We could add an optional initialize callback to runAppEngine that runs before any requests are handled.
...or something else?

CC @mkustermann

withAppEngineServices behaves as expected: It will setup a new service scope for the duration of the callback with the services injected into it. If you nest withAppEngineServices, you'll inevitably inject new services.
runAppEngine will need to make a new service scope and initialize some services, namely the ones which are on a per-request basis, for example logging. It needs to initialize other services as well, for users which don't have the other scope around it.
The best solution we could do is provide a runAppEngineServer() method, which just does the request-specific service scope initialization.
Why is this a big issue anyway? What kind of host doesn't exist?
Yes, please move it to package:appengine if you think it's a problem.

I think this was fixed since then.


800 802 gpg style tweaks

@keybase/react-hackers
makes the animations nicer

zeplin removes whitespace stuff out of the exported assets so we're using a 1% white pixel to make our icons the same size so we don't need extra offsets in css. if you think you have to do that lets just fixup the assets

@keybase/react-hackers bump

:thumbsup:


Increment version for computefleet releases

Increment package version after release of Azure.ResourceManager.ComputeFleet

API change check
API changes are not detected in this pull request.

/check-enforcer override

Failures are unrelated to these changes; Merging.


Adding release step for Debian packages.

Debian packages build with the version number in the debian/changelog
file.  The 2.1.1 release and probably others have a version number of
0.0 in that file, so if you grab the release and do a "debuild" you get
a package of version 0.0.

[Current coverage][cc-pull] is 76.09%

Merging [#1718][cc-pull] into [master][cc-base-branch] will decrease coverage by 2.68%

@@             master      #1718   diff @@
==========================================
  Files            94         94
  Lines         10324      10324
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           8133       7856   -277
- Misses         2191       2468   +277
  Partials          0          0

Powered by Codecov. Last updated by [859095a...221b6a2][cc-compare]
[cc-base-branch]: https://codecov.io/gh/spotify/luigi/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/spotify/luigi/compare/859095a106864ef11176fbe03c3bb8f8a4c3ad42...221b6a24e6cfbda98b562b4a6f6cc934c2ac3cb2
[cc-pull]: https://codecov.io/gh/spotify/luigi/pull/1718?src=pr

Ah right :)
Thanks!


align ios back button

https://app.asana.com/0/0/1200505632906941/f

in testing

Back button is padded now:


TableBody contents at some views will infinitely resize, causing the scrollbars to flicker on/off

🐛 Bug Report

🤔 Expected Behavior

Scrollbars should not show at all when displaying the loading spinner or empty state
😯 Current Behavior

At some views of table view (via resizing and zooming in/out) with a height of 100%, the contents of the table body (either loading spinner or empty view) will infinitely shift due to the container resizing. If scrollbars are always displayed (either on Windows or as a Mac option), the scrollbars will flicker on and off.
💁 Possible Solution

🔦 Context

Poor user experience for anyone using the tables
💻 Code Sample

https://codesandbox.io/s/focused-brattain-2eqlsh?file=/src/App.js
🌍 Your Environment

Software
Version(s)

react-spectrum
3.19

Browser
Chrome 103.0.5060.114

Operating System
MacOS Monterey 12.4

🧢 Your Company/Team

Adobe/Quarry
🕷 Tracking Issue (optional)

video of the flickering due to the scroll bars
https://user-images.githubusercontent.com/20674023/180329697-fb0ecbf7-525e-412c-a409-34105f154c83.mov

Here's the bug on a Windows 11 tablet, Chrome 103.0.5060.134
https://user-images.githubusercontent.com/3901877/180330501-ae0bd0d9-c314-4ab7-a09c-fdcc479772f8.mp4

Did an initial investigation, and it looks like the offending commit is https://github.com/adobe/react-spectrum/commit/418e59ba5be2418cb52ea5087162a6faeeb1cc5a


DropDownMenu should use ScrollableList

Previously it used Block, which is less efficient for large numbers of items. Also move the top margin out of the menu item to fix the baseline alignment of the text.
Fixes #1615

@Hixie
I tried removing the indexed stack but we need it to learn the max width among all the items in the dropdown.

Can you add a comment to that effect near where we build the IndexedStack to save me some time next time I read the code and decide we should remove the IndexedStack? Thanks.

How well tested in this class? Could we test that we don't build too many widgets when the list is long?

Can you add a comment to that effect near where we build the IndexedStack to save me some time next time I read the code and decide we should remove the IndexedStack?

Done.

How well tested in this class?

Very lightly.

Could we test that we don't build too many widgets when the list is long?

Done.


Add GIF example using Bitbank2 component

Check how an animated GIF will work in a fast eink like PlasticLogic. Using this as a "component"
https://github.com/bitbank2/AnimatedGIF


Form Tab layout with columns options should not render section component on full span

Package
filament/forms
Package Version
V3.0.0
Laravel Version
v11.27.2
Livewire Version
v3.0.0
PHP Version
PHP 8.2.0
Problem description
As per stated on Filament documentation Form - Tabs layout - Using Grid Columns Within A Tab, component inside tabs should display in numbers of given columns .
However when put Section component inside tab with 3 columns option, it doesn't work as expected, instead it renders section in full span. There should have three columns of three section, but it's rendering three rows.
Tabs::make('Tabs')
    ->tabs([
        Tabs\Tab::make('Tab 1')
            ->schema([
                Section::make('Sunday')
                ->schema([
                    //
                ]),
            Section::make('Monday')
                ->schema([
                    //
                ]),
            Section::make('Tuesday')
                ->schema([
                    //
                ]),
            ])
            ->columns(3),
        // ...
    ])

Please check below screenshot

Expected behavior
Expected rendering should be something like below

Steps to reproduce

Create resource
Add below scripts to your form method

Tabs::make('Tabs')
    ->tabs([
        Tabs\Tab::make('Tab 1')
            ->schema([
                Section::make('Sunday')
                ->schema([
                    //
                ]),
            Section::make('Monday')
                ->schema([
                    //
                ]),
            Section::make('Tuesday')
                ->schema([
                    //
                ]),
            ])
            ->columns(3),
        // ...
    ])

go to panel UI
Click on resource menu
Click on New and check tab

Alternatively,

checkout reproduction repository
login to admin panel
go to Business resource menu
click on new
There you will see tab with section rows

Reproduction repository (issue will be closed if this is not valid)
https://github.com/theanadimukt/filament-tab-issue
Relevant log output
No response

Donate 💰 to fund this issue

You can donate funding to this issue. We receive the money once the issue is completed & confirmed by you.
100% of the funding will be distributed between the Filament core team to run all aspects of the project.
Thank you in advance for helping us make maintenance sustainable!

Hi @theanadimukt  in the set up of section component you have $this->columnSpan('full'); This is the reason

It's easier to set the columnSpan to 1
Tabs::make('Tabs')`
    ->tabs([
        Tabs\Tab::make('Tab 1')
            ->schema([
                Section::make('Sunday')
                 ->columnSpan(1)
                ->schema([
                    //
                ]),
            Section::make('Monday')
                 ->columnSpan(1)
                ->schema([
                    //
                ]),
            Section::make('Tuesday')
               ->columnSpan(1)
                ->schema([
                    //
                ]),
            ])
            ->columns(3),
        // ...
    ])

Yeah, just an API stylistic choice that usually you want Sections to be full width so that is the default

Thanks for quick response @gheorghelupu17
@danharrin and @team Thank you for creating such an awesome package ❤


Add ListOptions to ListTreeOptions

I think ListOptions is missing from ListTreeOptions.
The API does seem to page the response when you have a lot of files so probably worth adding the option to the struct.

Thanks @nogs! LGTM!


app set id

Bug Report
Problem
What is expected to happen?
The device ID should be sent in android using an App set ID. https://developer.android.com/training/articles/app-set-id
What does actually happen?
This is the new and correct way of sending UID's in android.
Information

Command or Code

Environment, Platform, Device

Version information

Checklist

[ ] I searched for existing GitHub issues
[ ] I updated all Cordova tooling to most recent version
[ ] I included all the necessary information above

I agree, that ID is out of the scope of device plugin.


pages/Record: change from/to order

show from above, to below
we received feedback that users prefer this order

thanks, merging for our upcoming release candidate


cudd error when installing nv

following instructions in readme to install nv. when I run make, terminates with an error:
Undefined symbols for architecture x86_64:
  "_caml_stat_compactions", referenced from:
      _Cuddaux_addCamlConst in libcudd_caml.a(cuddauxAddCamlTable.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
File "caml_startup", line 1:
Error: Error during linking
make: *** [default] Error 1

Possibly related to #7, but this is a different error, and the solution provided for that issue doesn't work here. I'm trying to replicate this on one of my computers.

This issue was resolved by reverting to an earlier ocaml (specifically ocaml 1.06.0). This was done with the command
'''opam switch create 4.06.0'''

fyi mlcuddidl has been updated on OPAM and is now compatible with OCaml >= 4.10.0.


Proof-reading of "Code First" doc page

Added some missing commas, fixed some typos, and reworded some small parts to make things a bit clearer.

Awesome. Thanks for this!


Consolidate clone button templates

The four clone button templates are pretty much identical except the one in a non-empty repo had a few features which the others lacked (ExposeAnonSSH check on empty repo and the JS which was previously working on all of them but regressed in https://github.com/go-gitea/gitea/pull/13626).
Consolidate them in a single shared template which also makes the JS that remembers protocol work on them all again.

🚀


Don't use global

Inside scratch2py/main.py the Scratch2Py sets chars to be global. In the init function you could set chars using self.chars = "...". Inside the rest of the code, change chars to self.chars

Fixed some of these issues, I will add the rest later.


Correct source in podspec

Updates the source to point at the repo so pod install can find this
(in the meantime, pod 'LifetimeTracker', :git => "https://github.com/krzysztofzablocki/LifetimeTracker.git", :configurations => ['Debug'] works)

Thanks!


Is a future feature use directly a odoo object for this library?

A good extra feature is receive directly a odoo object to get a XML
Using minimal code from odoo like as:
from cfdilib import cfdilibv3_odoo
from odoo import models

class Invoice(models.Model):
   @api.one
   def  get_xml(self):
        xml = cfdilibv3_odoo.get_xml(self)
        return xml

I remember a meeting talking about this approach but I don't know if It is planned or was discarded.
Thanks!

I discarded this approach, because I need the feature on cfdilib be agnostic to odoo 100% , Why? odoo changes too much between versions and honestly ist is far more simple migrate 2 methods in odoo than in the lib between versions.

I searched the xmind of that meeting but I don't found it
I remember the initial focus of this library was receive multi inputs:

dict, json, self-xml, odoo object, other object1, other object2...

Then the final decision was discard them and receive just dict (like as a bypass of jinja2 library)?

Then the final decision was discard them and receive just dict (like as a bypass of jinja2 library)?
Is right?:
Just as note.

This will start from dict to xml using xsd as frame to build the objects (as objectify).
Due to the fact of objectify in lxml the xml-conversion is not required anymore, just a wrapper for that.
json is conceptually embeded due the fact that convert a json to a dict is already done by json lib then the json conversion is implicitaly included.

The odoo-dict conversion is done already by the .read() method, then in odoo itself we do only a mappind (this mapping is necesary anyway due the fact that cfdi fields do not have the same name as odoo fields.
I do not remember other option, but I just expect it left this as documentation for future proposals.

Thanks for reply


Error in file (not main)  shows in unrelated file

Well I have this piece of code that should error

I have an error in this other file where there should be none
note that the line and column are correct.
[{
	"resource": "/home/astrale/Coding/typst/typst-assignement-template/showcase.typ",
	"owner": "_generated_diagnostic_collection_name_#0",
	"severity": 8,
	"message": "unknown variable",
	"startLineNumber": 83,
	"startColumn": 48,
	"endLineNumber": 83,
	"endColumn": 49
}]```

Is one file imported in the other file?

Yes indeed! (Oui en effet :wink:  )


Instance Segmentation Loss

Thanks for sharing the codes. The results are very impressive. I am a little confused about how instance segmentation works, and would you mind give me some suggestions like how to implement it. Many thanks.

For instance segmentation of vehicles we create the following labels:

segmentation mask of the vehicles
centerness: likelihood of a pixel being the center of an instance (modelled as 2D Gaussian)
offset: vector pointing to the closest instance center.

During training, we then have a loss for each of those labels.
When doing inference, we use the centerness to get instance centers, and combine the segmentation mask with the offset to assign remaining pixels to a particular instance. There are more details in the paper https://arxiv.org/abs/2104.10490 (Figure 3 and Appendix B.3)


RTMP URL missing prefix

I was supposed to stream today and gather more information about the start/stop problem but I've faced several problems. I will be individually filing an issue for those.
Upon checking, I noticed that even if I have a prefix set, the suggested RTMP URL in the dashboard doesnt contain my prefix. Using it without the prefix doesnt work, I had to go back to my config and add /multistreamer on OBS for me to be able to connect.

the rtmp URL is based on your configuration in /etc/multistreamer/config.yaml from the option:
rtmp_prefix: 'multistreamer'
don't forget to restart the service in order to apply the changes

I clearly have  "MULTISTREAMER_RTMP_PREFIX": "multistreamer" set as an option. It was appearing correctly a couple of versions ago with the /multistreamer so I assume that the new codepush had this yanked accidentally.
PS: its that format because its passed as an env variable since I launch multistreamer using dc/os.
I docker exec'ed into my container and its indeed set.
bash-4.4# cat /etc/multistreamer/config.yaml |grep rtmp_prefix
rtmp_prefix: 'multistreamer'
bash-4.4#

I've also attached a screenshot of that containers multistreamer running fine with the incorrect RTMP link on the UI. So yes, im sure that the update accidentally obliterated this.

Yeah, that's definitely a bug on my part.
If somebody doesn't have rtmp_prefix or MULTISTREAMER_RTMP_PREFIX set (or if it's set to an empty string), multistreamer over-rides it anyway.
This happened when I replaced the plain-text paragraph with an input box (so users can lazily triple-click and select the entire box without breaking out). Getting it fixed now.


Fix match ergonomics in closure parameters

Fixes #4476.

bors r+

This and the previous chalk upgrade put quite a dent in the remaining uninferred expressions :tada::
Total expressions: 182554
Expressions of unknown type: 3423 (1%)
Expressions of partially unknown type: 3249 (1%)

Total expressions: 182887
Expressions of unknown type: 2860 (1%)
Expressions of partially unknown type: 2854 (1%)

Awesome, thanks for the quick fix!


Sticky Footer ScrollView

Duplicate Check

[X] I have searched the opened issues and there are no duplicates

Describe the requested feature
It is not possible to create a widget that will snap to the end of the page if the height of the page content is less than the height of the window, but will also scroll with the content if there is not enough space.
This issue occurs because any Control with expand = true in a scrollable Column becomes infinite.
Example in Flutter: https://pub.dev/packages/sticky_footer_scrollview
Suggest a solution
No response
Screenshots

Additional details
No response

Example of sticky footer:

import flet as ft

def main(page: ft.Page):
    page.padding = ft.Padding(10, 10, 10, 0)  # remove the bottom padding
    page.add(
        ft.Column(
            [
                ft.ListTile(
                    title=ft.Text(f"Item {i}"),
                    bgcolor=ft.colors.GREEN_ACCENT_400,
                )
                for i in range(50)
            ],
            scroll=ft.ScrollMode.ALWAYS,
            expand=True,
        ),
        ft.ListTile(title=ft.Text("I stick to the bottom!"), bgcolor=ft.colors.BLUE),
    )

ft.app(main)

Example of sticky footer:
import flet as ft

def main(page: ft.Page):
    page.padding = ft.Padding(10, 10, 10, 0)  # remove the bottom padding
    page.add(
        ft.Column(
            [
                ft.ListTile(
                    title=ft.Text(f"Item {i}"),
                    bgcolor=ft.colors.GREEN_ACCENT_400,
                )
                for i in range(50)
            ],
            scroll=ft.ScrollMode.ALWAYS,
            expand=True,
        ),
        ft.ListTile(title=ft.Text("I stick to the bottom!"), bgcolor=ft.colors.BLUE),
    )

ft.app(main)

Sorry but that's not exactly what I meant. Sticky footer should also scroll with the content in the column if there is not enough free space on the page, and should only stick to the bottom if there is free space between the content in the column and the footer


Unit Tests

Formal unit tests should be created for Github to use when evaluating Pull Requests. For now, there are the files located at https://github.com/manny405/sapai/tree/main/tests.
When a pull request is issued, the code should pass all of the tests located there without bringing up any errors. Please note that such unit tests do not guarantee that the code is without bugs. It only guarantees that the code does not error out in nearly all situations.

Should the test be converted to function style tests, for example like this?
import unittest

class TestStringMethods(unittest.TestCase):

    def test_upper(self):
        self.assertEqual('foo'.upper(), 'FOO')

    def test_isupper(self):
        self.assertTrue('FOO'.isupper())
        self.assertFalse('Foo'.isupper())

    def test_split(self):
        s = 'hello world'
        self.assertEqual(s.split(), ['hello', 'world'])
        # check that s.split fails when the separator is not a string
        with self.assertRaises(TypeError):
            s.split(2)

if __name__ == '__main__':
    unittest.main()

or will the project continue using the Jupyter notebook tests?
I believe the first method will make testing using GitHub actions easier


EI documentation not working

Description:
The EI documentation site is currently down. We can access the homepage, but all the content under the micro-integrator folder is inaccessible, while the content under the streaming-integrator folder is accessible.

The following error was observed on the build console:
ERROR   -  Config value: 'markdown_extensions'. Error: Failed loading extension "markdown_include.include".

Aborted with 1 Configuration Errors!

Solution:
Removed the markdown_include extension from micro-integrator/mkdocs.yml via https://github.com/wso2/docs-ei/pull/2990 and https://github.com/wso2/docs-ei/pull/2989 for both EI 7.0.0 and 7.1.0 docs.
Reference:
Mail: "[Doc-Site][Urgent] IS document site is not reachable"


Static page functionality is buried

It took me forever to find where to do this. Rather than the "All Posts" text under Content, why not have Posts and Pages as sub-navigation, allowing you to manage these content types separately? Screenshot attached to illustrate what I'm envisioning.

Hi @toastyghost, we use github for tracking bugs and implementation details. We've got a lovely wishlist for feature requests here.
Additionally, what you're requesting already has an issue, #2640 :)

My search-fu was weak. One thousand apologies. And JohnONolan already pointed me toward the wishlist for a separate ticket. Thank you!
From: Matt Enlow<EMAIL_ADDRESS>Sent: Tuesday, April 14, 2015 12:51 PM
To: TryGhost/Ghost
Cc: Josh Clark
Subject: Re: [Ghost] Static page functionality is buried (#5141)
Hi @toastyghost https://github.com/toastyghost , we use github for tracking bugs and implementation details. We've got a lovely wishlist for feature requests here http://ideas.ghost.org/forums/285309-wishlist .
Additionally, what you're requesting already has an issue, #2640 https://github.com/TryGhost/Ghost/issues/2640  :)
—
Reply to this email directly or view it on GitHub https://github.com/TryGhost/Ghost/issues/5141#issuecomment-92975504 .  https://github.com/notifications/beacon/AAMdu5oqIqioE0rfVJzh-EgvYTIb3FDYks5n_Tz4gaJpZM4EAQhD.gif


Adding UDF Resources to Queries

The BigQuery client doesn't currently support adding UDF resources.  This pull request adds a UDFResources object, and properties to set these resources on queries and QueryJobs.

I signed it!

See #2007 for an alternative.

All commits were authored by me.  I had a different email set as primary when the initial commit was made.

I'm not entirely sure how that not works but you might have to rebase and
change the user on those commits.
On Friday, July 22, 2016, Daniel McClary<EMAIL_ADDRESS>wrote:

All commits were authored by me. I had a different email set as primary
when the initial commit was made.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/gcloud-python/pull/2015#issuecomment-234679998,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AALvyElSGhqFqGtucoId7um9jqo9fiHlks5qYVB7gaJpZM4JTBqe
.

--
Tom Schultz

OK rebased to reflect the proper author email.

@dwmclary Thanks for the patch!

@dwmclary It appears that Github / the CLA bot do not think 1ff32523f5de4d9ecacf7294ace17a77b57211d0 was authored by you, but by another blind poet of the same name.

Authored by me, and now painfully rebased to reflect it.

OK, should be all fixed as soon as CLAbot looks at the authorship again.

@googlebot can you check the CLA again?

OK, this rebase stuff is silly, I'm going to close this PR and open a new one with the right authorship.

@tseaver @daspecster Any idea why the CLA isn't flipping?  At this point all commits and author emails should point to me.  There doesn't appear to be any rebase magic I can perform beyond this.  Worst-case, I can re-fork and resubmit if we can't make @googlebot behave.

Re-opened here


Add helper to perform upgrades

Is your feature request related to a problem? Please describe.
Provide an easy way to perform relevant upgrades. Currently only checking for upgrades is possible and everything else is up to the user.
Describe the solution you'd like
A simple method which performs user defined actions, within the upgrade range, should get implemented. The method should be an addition, no breaking changes should be mandatory.

[x] Implement method in the UpgradeWrapper to perform user defined actions
[x] Update documentation
[x] Update tests
[x] Add example to the example app

Describe alternatives you've considered
The users can manually lookup if one or more updates should be performed.

Fixed and merged to develop.