Module import takes too long

Describe the bug
import deepforest takes a very long time in some instances. 10+ seconds. Sometimes it feels as if it is related to GPU error checking
To Reproduce
import deepforest

Environment (please complete the following information):

OS: linux
Python version and environment :

Screenshots
The naive thing I did was just hit ctrl z during load and looked at where we, which is inside of torch/onnx/_. What is strange is if you import torch, that is fast. Clearly we are loading something differently.
(DeepForest) [b.weinstein@c0308a-s25 DeepForest]$ python
Python 3.10.13 | packaged by conda-forge | (main, Oct 26 2023, 18:07:37) [GCC 12.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas as pd
>>> import deepforest.main as m
^CTraceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/b.weinstein/DeepForest/deepforest/main.py", line 10, in <module>
    import pytorch_lightning as pl
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/pytorch_lightning/__init__.py", line 27, in <module>
    from pytorch_lightning.callbacks import Callback  # noqa: E402
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/pytorch_lightning/callbacks/__init__.py", line 14, in <module>
    from pytorch_lightning.callbacks.batch_size_finder import BatchSizeFinder
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/pytorch_lightning/callbacks/batch_size_finder.py", line 24, in <module>
    from pytorch_lightning.callbacks.callback import Callback
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/pytorch_lightning/callbacks/callback.py", line 22, in <module>
    from pytorch_lightning.utilities.types import STEP_OUTPUT
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/pytorch_lightning/utilities/types.py", line 40, in <module>
    from torchmetrics import Metric
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/torchmetrics/__init__.py", line 14, in <module>
    from torchmetrics import functional  # noqa: E402
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/torchmetrics/functional/__init__.py", line 14, in <module>
    from torchmetrics.functional.audio._deprecated import _permutation_invariant_training as permutation_invariant_training
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/torchmetrics/functional/audio/__init__.py", line 14, in <module>
    from torchmetrics.functional.audio.pit import permutation_invariant_training, pit_permutate
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/torchmetrics/functional/audio/pit.py", line 22, in <module>
    from torchmetrics.utilities import rank_zero_warn
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/torchmetrics/utilities/__init__.py", line 14, in <module>
    from torchmetrics.utilities.checks import check_forward_full_state_property
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/torchmetrics/utilities/checks.py", line 25, in <module>
    from torchmetrics.metric import Metric
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/torchmetrics/metric.py", line 30, in <module>
    from torchmetrics.utilities.data import (
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/torchmetrics/utilities/data.py", line 22, in <module>
    from torchmetrics.utilities.imports import _TORCH_GREATER_EQUAL_1_12, _XLA_AVAILABLE
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/torchmetrics/utilities/imports.py", line 41, in <module>
    _TORCHVISION_GREATER_EQUAL_0_8: Optional[bool] = compare_version("torchvision", operator.ge, "0.8.0")
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/lightning_utilities/core/imports.py", line 73, in compare_version
    pkg = importlib.import_module(package)
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/torchvision/__init__.py", line 6, in <module>
    from torchvision import _meta_registrations, datasets, io, models, ops, transforms, utils
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/torchvision/models/__init__.py", line 2, in <module>
    from .convnext import *
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/torchvision/models/convnext.py", line 8, in <module>
    from ..ops.misc import Conv2dNormActivation, Permute
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/torchvision/ops/__init__.py", line 1, in <module>
    from ._register_onnx_ops import _register_custom_op
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/torchvision/ops/_register_onnx_ops.py", line 5, in <module>
    from torch.onnx import symbolic_opset11 as opset11
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/torch/onnx/__init__.py", line 10, in <module>
    from . import (  # usort:skip. Keep the order instead of sorting lexicographically
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/torch/onnx/errors.py", line 9, in <module>
    from torch.onnx._internal import diagnostics
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/torch/onnx/_internal/diagnostics/__init__.py", line 1, in <module>
    from ._diagnostic import (
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/torch/onnx/_internal/diagnostics/_diagnostic.py", line 11, in <module>
    from torch.onnx._internal.diagnostics import infra
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/torch/onnx/_internal/diagnostics/infra/__init__.py", line 1, in <module>
    from ._infra import (
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/torch/onnx/_internal/diagnostics/infra/_infra.py", line 10, in <module>
    from torch.onnx._internal.diagnostics.infra import formatter, sarif
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/torch/onnx/_internal/diagnostics/infra/formatter.py", line 11, in <module>
    from torch.onnx._internal.diagnostics.infra import sarif
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/torch/onnx/_internal/diagnostics/infra/sarif/__init__.py", line 5, in <module>
    from torch.onnx._internal.diagnostics.infra.sarif._artifact import Artifact
  File "/orange/ewhite/b.weinstein/miniconda3/envs/DeepForest/lib/python3.10/site-packages/torch/onnx/_internal/diagnostics/infra/sarif/_artifact.py", line 9, in <module>
    from torch.onnx._internal.diagnostics.infra.sarif import (
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 879, in exec_module
  File "<frozen importlib._bootstrap_external>", line 975, in get_code
  File "<frozen importlib._bootstrap_external>", line 1074, in get_data
KeyboardInterrupt
>>> import torch
>>>

Additional context
I was certain we had this an issue and I went to paste in this recent example, but did not see it. Close if already exists.
may be related?
https://github.com/pytorch/pytorch/issues/44269
Next steps

[ ] profile in both CPU and GPU contexts
[ ] Determine whether it is the use of cache, for example, is it faster the 2nd time it is called?
[ ] identify torch bottlenecks
[ ] remedy the issue, clearly some diagnostics.

As noted in #426 (found the old one first as I was cleaning up issues today) this is upstream of us. Basically our entire import time is import pytorch_lightning as pl
$ time python -c 'import deepforest'
python -c 'import deepforest'  2.52s user 2.34s system 336% cpu 1.444 total

$ time python -c 'import pytorch_lightning as pl'
python -c 'import pytorch_lightning as pl'  2.44s user 2.42s system 335% cpu 1.450 total


Remove redudant hot load plugin

Before

After

Thank you so much for your PR 👍

My pleasure. Appreciate the help getting started w. webpack and react!


Updating import of XRegExp

The old method of importing XRegExp seems to be breaking on the client now with the 3.0.0 release, even though the docs claim it's still valid.  I'll just update to use the simplified require(), since it fixes the issue.

:+1:

:+1:


Unable to specify/override ReadConcern for transactional ChangeUnits

Description
Unable to create indices in ChangeUnit's @Execution methods.
The error message listed below says that the command createIndexes does not support this transaction's readConcern.
The mongo documentation specifies that "To use
createIndexes
in a transaction, the transaction must use read concern "local". If you specify a read concern level other than "local", the transaction fails."
The MongoTransactionManager has been setup with ReadConcern local but this is somehow not considered.
@Bean
MongoTransactionManager transactionManager(MongoTemplate mongoTemplate) {
    TransactionOptions transactionOptions = TransactionOptions.builder()
            .readConcern(ReadConcern.LOCAL)
            .writeConcern(WriteConcern.ACKNOWLEDGED)
            .build();
    return new MongoTransactionManager(mongoTemplate.getMongoDatabaseFactory(), transactionOptions);
}

@Bean
ConnectionDriver connectionDriver(MongoTemplate mongoTemplate) {
    SpringDataMongoV4Driver springDataMongoV4Driver = SpringDataMongoV4Driver.withDefaultLock(mongoTemplate);
    springDataMongoV4Driver.enableTransaction();
    return springDataMongoV4Driver;
}

@Bean
MongockApplicationRunner mongockApplicationRunner(ConnectionDriver driver, ApplicationContext applicationContext) {
    return MongockSpringboot.builder()
            .setDriver(driver)
            .setSpringContext(applicationContext)
            ...
            .addMigrationScanPackages(MIGRATION_PACKAGES)
            .setTransactionEnabled(true)
            .buildApplicationRunner();
}

I was thinking that the TransactionManager is picked up automatically from the Spring context, as i cannot find any setter method for the transactionmanager.
PRIORITY
[CRITICAL]
Version and environment
Mongock

5.3.4
Mockock-SpringBootBuilder

Environment

Spring Boot 3.1.3, , MongoDB 5.0.14
Infrastructure: Docker

Steps to Reproduce

Setup Mongock to use transactions, i.e. declare MongoTransactionManager und enable transactions in Driver and MongockSpringboot.builder().

Create a ChangeUnit that tries to create an Index

Behaviour
Expected behavior: The specified index is created.
Actual behavior: Error message from Mongo-Driver:
com.mongodb.MongoCommandException: Command failed with error 72 (InvalidOptions): 'Command createIndexes does not support this transaction's { readConcern: { level: "majority", provenance: "clientSupplied" } } :: caused by :: read concern not supported' on server mft-kafka-t0011.deutschepost.dpwn.com:27017. The full response is {"ok": 0.0, "errmsg": "Command createIndexes does not support this transaction's { readConcern: { level: \"majority\", provenance: \"clientSupplied\" } } :: caused by :: read concern not supported", "code": 72, "codeName": "InvalidOptions", "$clusterTime": {"clusterTime": {"$timestamp": {"t":<PHONE_NUMBER>, "i": 3}}, "signature": {"hash": {"$binary": {"base64": "APP1ec+sC3Qs1BmcFVZVsD/vRdE=", "subType": "00"}}, "keyId":<PHONE_NUMBER>782932993}}, "operationTime": {"$timestamp": {"t":<PHONE_NUMBER>, "i": 3}}}

How often the bug happens: 100%

Hello @thorstenvogel , we'll take a look and let you know.
As a workaround you can include index creation within @BeforeExecution method, which is executed with no transactional context (only @Execution method is executed within transaction).
Please take a look to the ChangeUnit's methods documentation here.
Thanks


Memory leak in instantiateChainCode

Instantiating the chaincode causes program to hang and eating up all OS memory until in cause OS to become unresponsive. It seems that it is keeps allocating some memory till it is completely consumed. Below are the printout of the DeployInstantiateChaincode method execution..
$ java -cp blockchain-client.jar org.app.network.DeployInstantiateChaincode
log4j:WARN No appenders could be found for logger (org.hyperledger.fabric.sdk.helper.Config).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Jul 30, 2018 12:41:20 AM org.app.client.FabricClient deployChainCode
INFO: Deploying chaincode fabcar using Fabric client Org1MSP admin
Jul 30, 2018 12:41:21 AM org.app.network.DeployInstantiateChaincode main
INFO: fabcar- Chain code deployment SUCCESS
Jul 30, 2018 12:41:21 AM org.app.network.DeployInstantiateChaincode main
INFO: fabcar- Chain code deployment SUCCESS
Jul 30, 2018 12:41:21 AM org.app.client.FabricClient deployChainCode
INFO: Deploying chaincode fabcar using Fabric client Org2MSP admin
Jul 30, 2018 12:41:21 AM org.app.network.DeployInstantiateChaincode main
INFO: fabcar- Chain code deployment SUCCESS
Jul 30, 2018 12:41:21 AM org.app.network.DeployInstantiateChaincode main
INFO: fabcar- Chain code deployment SUCCESS
Jul 30, 2018 12:41:21 AM org.app.client.ChannelClient instantiateChainCode
INFO: Instantiate proposal request fabcar on channel mychannel with Fabric client Org2MSP admin
Jul 30, 2018 12:41:21 AM org.app.client.ChannelClient instantiateChainCode
INFO: Instantiating Chaincode ID fabcar on channel mychannel

hangs here and after a while it eats up all OS memory

Testing it on another setup (with bigger memory, 2GB) dips at the same point but after some time gives a failure as below
Jul 30, 2018 2:41:27 AM org.app.client.ChannelClient instantiateChainCode
INFO: Chaincode fabcar on channel mychannel instantiation java.util.concurrent.CompletableFuture@26d9b808[Completed exceptionally]
Jul 30, 2018 2:41:27 AM org.app.network.DeployInstantiateChaincode main
INFO: fabcar- Chain code instantiation FAILURE

Setup used in testing
RAM | 1GB and 2GB
java | "1.8.0_181"
Apache Maven | 3.5.0
Docker | 18.06.0-ce
Docker-compose |1.21.2

Hi, I have the same problem as you. Is there any good idea to fix it?

As an interim fix, I've increased the virtual memory of the machine and it started to work ok.
Follow these steps to add 4GB virtual memory..
sudo dd if=/dev/zero of=/mnt/file.swap bs=1M count=4096
sudo mkswap /mnt/file.swap
sudo swapon /mnt/file.swap

To make it permanent, add the following line to the /etc/fstap file:
sudo vim /etc/fstab
/mnt/file.swap none swap sw 0 0

Thanks for your advise! I run the function in an IDE and it work!

Issue resolved after increasing the memory.


[Issue] Artithmetic operation overflow.

hello workspacer developers/contribuiters!
i am getting this error everytime i launch the program, and i thought i should let you guys know!
Unhandled exception. System.OverflowException: Arithmetic operation resulted in an overflow.
   at System.IntPtr.op_Explicit(IntPtr value)
   at workspacer.ConsoleHelper.get_IsConsoleShowing()
   at workspacer.ConsoleHelper.set_IsConsoleShowing(Boolean value)
   at workspacer.ConsoleHelper.Initialize()
   at workspacer.Watcher.Program.Main(String[] args)

it seems to be an overflow, i belive its an value that was set that was too large or too small for the int limit (probably a too large value).
cheers! :)

i think the issue is being related at the file in: ./src/workspacer.Watcher/ConsoleHelper.cs, the problem may be in get_IsConsoleShowing() method in the ConsoleHelper class, its causing the overflow when is converting from IntPtr to another data type.
note: im new to csharp and i may be wrong about it

I am hitting this exact same error as well. Fresh install through choco with nothing added.

I'm getting the same error.

i have modified some settings in the workspacer.config.csx file, but i was getting the same error when i installed it in the first time, i think ill try to reinstall it via choco and let you guys know

I'm getting the same issue

I'm not really active as an maintainer anymore, but if anyone cranks up a PR fixing this issue, I'll be sure to get it merged.

This issue appears to be fixed in the unstable version. I'm using <IP_ADDRESS>

Can anyone else confirm that this issue has been resolved by >=<IP_ADDRESS>

fixed


When ran using 'yin-yang --systemd' only the console color-scheme gets changed under KDE X11.

Describe the bug
Unless the theme change is invoked from the application's GUI, only the terminal application color scheme is changed, leaving all other themes unmodified.
Tried running yin-yang --systemd both from a user terminal and from a Cron script, but neither worked properly, leaving all other themes/color-schemes unchanged apart from KDE's Konsole.
Enabled plugins
What plugins did you have enabled? If not relevant, you can remove this.

[x] Custom Script
[x] Firefox
[x] GTK
[x] Konsole
[x] System

Affected versions

Yin-Yang version: 3.2

Relevant application version:

Python version: Python 3.11.3

Qt version: KDE 5.15.9

Additional notes
Nothing, as there is no terminal output when running yin-yang --systemd.

Can you please check if there is an error in the logs (~/.local/share/yin_yang.log)

Logs complain about not being able to find themes or colorschemes used. Could it be a permission issue?
(user@local ~)$ cat ~/.local/share/yin_yang.log
Error while loading application translations!
Couldn't find theme BreezeLightTinted in plugin Colors
Error while loading application translations!
Couldn't find theme BreezeLightTinted in plugin Colors
Error while loading application translations!
Couldn't find theme BreezeLightTinted in plugin Colors
Error while loading application translations!
Couldn't find theme BreezeDark in plugin Colors
Error while loading application translations!
Couldn't find theme BreezeDark in plugin Colors
Error while loading application translations!
Couldn't find theme BreezeDark in plugin Colors
Error while loading application translations!
Couldn't find theme BreezeLightTinted in plugin Colors
Error while loading application translations!
Error while loading application translations!
Couldn't find theme * BreezeLightTinted in plugin Colors
Couldn't find theme BreezeDark in plugin Colors
Error while loading application translations!
Error while loading application translations!
Couldn't find theme * BreezeLightTinted in plugin Colors
Couldn't find theme BreezeDark in plugin Colors
Error while loading application translations!
Error while loading application translations!

Couldn't find theme BreezeLightTinted in plugin Colors
Error while loading application translations!
Couldn't find theme BreezeDark in plugin Colors
Error while loading application translations!
Couldn't find theme BreezeLightTinted in plugin Colors
Error while loading application translations!
Couldn't find theme BreezeDark in plugin Colors
Error while loading application translations!
Couldn't find theme BreezeDark in plugin Colors
Error while loading application translations!
Couldn't find theme BreezeLightTinted in plugin Colors
Error while loading application translations!
Couldn't find theme BreezeDark in plugin Colors
Error while loading application translations!

Couldn't find theme ProfLightEdited in plugin Colors
Error while loading application translations!
Error while loading application translations!
Couldn't find theme ProfLightEdited in plugin Colors
Error while loading application translations!
Couldn't find theme ProfLightEdited in plugin Colors
Error while loading application translations!
Couldn't find theme ProfLightEdited in plugin Colors
Error while loading application translations!
Error while loading application translations!
Couldn't find theme ProfLightEdited in plugin Colors
Error while loading application translations!
Couldn't find theme ProfLightEdited in plugin Colors
Error while loading application translations!
Couldn't find theme ProfDarkEdited in plugin Colors
Error while loading application translations!
Couldn't find theme ProfDarkEdited in plugin Colors
Error while loading application translations!
Error while loading application translations!
Couldn't find theme ProfLightEdited in plugin Colors
Error while loading application translations!
Couldn't find theme ProfLightEdited in plugin Colors
Error while loading application translations!


Update link to Play documentation from 2.4.x to 2.5.x

Hi @dannywillems,
Thank you for your contribution! We really value the time you've taken to put this together.
Before we proceed with reviewing this pull request, please sign the Lightbend Contributors License Agreement:
http://www.lightbend.com/contribute/cla

@marcospereira Yes it's better. I modified.


Microsoft Reviewers: Open in CodeFlow

/AzurePipelines run


Update Forge to 1.8 an dotnet to 3.1

Tested locally, working properly.

thanks! can you please also update the badge on the readme? you may need this markdown editor.

thanks! can you please also update the badge on the readme? you may need this markdown editor.

thanks! can you please also update the badge on the readme? you may need this markdown editor.

Done!

thanks! can you please also update the badge on the readme? you may need this markdown editor.

Done!


PDF to mp3

Description

Type of issue

[+] Feature (New Script)
[ ] Bug
[ ] Documentation

Checklist:

[ ] I have read the project guidelines.
[+] I have checked all the existing projects, before submitting a new project issue.
[ ] I have checked previous issues to avoid duplicates.
[ ] This issue will be meaningful for the project.

Hey! @Python-World, can you also add hacktoberfest accepted tag to my PR.


cardano-wallet: Stack no longer supported

Updating documentation

Update the cardano-wallet installation instructions to use Cabal instead of
Stack, as Stack is no longer supported by the wallet.
Note that this only currently affects master, these instructions will not work with any released version of cardano-wallet, and the existing instructions hold for the most recent version. For this reason I think this PR should remain unmerged until the next release of cardano-wallet.

@katomm

Thank you @sevanspowell. If this PR should remain unmerged until the next release of cardano-wallet then the best would be if you can convert it into "draft"-state.

Hello @sevanspowell any update on when we should merge this?

Since a release was marked yesterday, I believe we should be good to go ahead with the merge on this one

Since a release was marked yesterday, I believe we should be good to go ahead with the merge on this one

Yes, thank you @rdlrt. That's true, we are good to merge this one.


ggplot2

https://www.tidyverse.org/
https://rc2e.com/
https://www.datavis.ca/courses/RGraphics/R-Graphics4.pdf
https://cran.r-project.org/web/packages/ggplot2/ggplot2.pdf
https://web.stanford.edu/~lstell/ggplot2Intro.pdf
https://ggplot2-book.org/
https://bookdown.org/ggiaever/r4ds-solutions/r4ds-ggplot2.pdf
http://www.cookbook-r.com/Graphs/
https://www.tutorialspoint.com/ggplot2/ggplot2_tutorial.pdf
https://www.rdocumentation.org/packages/ggplot2/versions/3.4.4
https://r-graphics.org/chapter-ggplot2

https://ggplot2.tidyverse.org/

https://github.com/jabrena/spring-boot-and-r-language/pull/18


chaos(engine): use kind to setup k8s cluster in chaos test

What problem does this PR solve?

Issue Number: close #5738
What is changed and how it works?
Use kind to setup K8s cluster in chaos test, which is easier and more widely used than k3s
Check List
Tests

Integration test

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
None

Codecov Report

Merging #5735 (60b977b) into master (fcea4d5) will increase coverage by 0.5955%.
The diff coverage is 62.3943%.

Flag
Coverage Δ

cdc
61.9400% <62.3943%> (+0.7919%)
:arrow_up:

dm
52.0119% <ø> (-0.0308%)
:arrow_down:

engine
58.9977% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.
@@               Coverage Diff                @@
##             master      #5735        +/-   ##
================================================
+ Coverage   56.0768%   56.6724%   +0.5955%
================================================
  Files           535        680       +145
  Lines         70143      79229      +9086
================================================
+ Hits          39334      44901      +5567
- Misses        27078      30097      +3019
- Partials       3731       4231       +500

/hold
remove the trigger of every pull request to master before merging this PR.

/unhold

/merge

/run-verify

/run-verify

/run-verify


Add dbt custom envs to invocation models

Resolves #228

@NiallRees the failing SQLFluff checks are the same as the previous PR with the whitespace in expanded macros being flagged.


Do not build all docker compilers for Linux

What does this PR do?
Linux does not support cross-arch docker containers so do not build them for Linux systems.

Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


:sparkles: Refactor multiline strings to improve human-readability

I've addressed the issue by manually refactoring the multiline code snippets to enhance their human-readability. The gopkg.in/yaml.v2 library was not automatically formatting the code snippets as multiline strings, resulting in less readable output. I've made the necessary adjustments so that the code snippets are now presented in a more organized and understandable format.

@RipulHandoo We need to make the code change that ensures multiline snippets are generated as expected, I think all you need to do is append a newline to codesnip...I could be wrong. But worth a try

@RipulHandoo We need to make the code change that ensures multiline snippets are generated as expected, I think all you need to do is append a newline to codesnip...I could be wrong. But worth a try

@pranavgaikwad i have append a newline to codesnip like this
codeSnip: |
//remaining lines

But at the time of testing this is the error last 3 lines
\ No newline at end of file
+  - lang-ref-002
Error: Process completed with exit code 1.

@RipulHandoo manually updating the demo-output.yaml file is not going to help, it's a file that's used as expected output in the CI to compare the results that come from an actual analysis. Since we didn't make any code change, analyzer is always going to produce the output with the "ugly" code snips and fail the CI because expected output has "pretty" output. To fix this issue, we not only need to change the demo-output.yaml file, but also make a code change that ensures analyzer always outputs the pretty code snips.

@RipulHandoo manually updating the demo-output.yaml file is not going to help, it's a file that's used as expected output in the CI to compare the results that come from an actual analysis. Since we didn't make any code change, analyzer is always going to produce the output with the "ugly" code snips and fail the CI because expected output has "pretty" output. To fix this issue, we not only need to change the demo-output.yaml file, but also make a code change that ensures analyzer always outputs the pretty code snips.

@pranavgaikwad Where can i find that code?
And can you Recommend what particular changes are required?

@RipulHandoo https://github.com/konveyor/analyzer-lsp/blob/846335e641b2cbdb7b4755f2a783d1f151ba6580/engine/engine.go#L420-L424

@pranavgaikwad
Does this good to you
codeSnip, err := r.getCodeLocation(m, rule)
			if err != nil || codeSnip == "" {
				r.logger.V(6).Error(err, "unable to get code location")
			} else {
				formattedLines := []string{"codeSnip: |"}

				lines := strings.Split(codeSnip, "\n")

				for i, line := range lines {
					formattedLine := fmt.Sprintf("          %2d  %s", i+1, line)
					formattedLines = append(formattedLines, formattedLine)
				}

				formattedCodeSnip := strings.Join(formattedLines, "\n")

				incident.CodeSnip = formattedCodeSnip
			}

I discussed this with @RipulHandoo and our initial assumption about adding newlines doesnt seem to solve the issue. I will need some time to investigate it better, closing this for now as we have decided not to pursue this solution any further.


chore: new-client.py to fail with message when a module exists

Fixes https://github.com/googleapis/google-cloud-java/issues/9244
suztomo@suztomo2:~/google-cloud-java$ python3.9 generation/new_client/new-client.py generate \
  --api_shortname=datacatalog \
  --proto-path=google/cloud/datacatalog \
  --name-pretty="Data Catalog" \
  --product-docs="https://cloud.google.com/data-catalog" \
  --api-description="DataCatalog is a centralized and unified data catalog service for all your Cloud resources, where users and systems can discover data, explore and curate its semantics, understand how to act on it, and help govern its usage."
/usr/local/google/home/suztomo/google-cloud-java/generation/new_client
Couldn't create the module because the module /usr/local/google/home/suztomo/google-cloud-java/java-datacatalog already exists. In Java client library generation, a new API version of an existing module does not require new-client.py invocation. See go/yoshi-java-new-client#adding-a-new-service-version-by-owlbot.

@lqiu96 Would you check the error message makes sense to you? (If the script had printed it for you, would your earlier troubleshooting be easier?).

Checking

Oh oops, didn't realize this was on automerge. @suztomo if you think the suggestions above make sense, I can apply them on a new PR. Otherwise LGTM, it was just a few nits.


macOS support

It appears that cudatoolkit: 11.8 is not installable for macOS. Are there any workarounds?

If your Mac is using a Radeon graphic card (ie, Mac Pro 2019), you need RoCM instead CUDA toolkit.
For other Macs, such as Apple silicon-based (M1/M2/M3)  or Intel-based without dedicated graphics card. It is impossible to run DiffusionLight.


Alternative to using mapple?

Hi, this is amazing work! I had a question for the custom dataset part, is there an alternative python library/tool to use instead of mapple? I am using windows and the mapple executable for windows seem to be outdated. Is there any other alternative to this especially that is python based? Thank you.

Hi @Rifahaziz, in principle, you can prepare the input point clouds in the generic VertexGroup (just an ASCII file) format using any tools you like - this is not Mapple-specific - though Mapple natively supports it. Yet, I saw @LiangliangNan (kudos👍) recently kindly released Easy3D-v2.5.1, which comes with an updated Mapple executable for Windows. I would give it a try before looking for alternatives or building a new wheel :)

Hi @chenzhaiyu , mapple works for windows, but the library sage does not. So I could not built it completely on windows.

Hi @Rifahaziz, this unfortunately cannot be simply solved from my side. I will close this issue for now while keeping https://github.com/chenzhaiyu/abspy/issues/13 open. Please update there if you bump into anything useful!

@LiangliangNan, we meant SageMath, on which abspy is built. Unfortunately Sage has discontinued their Windows binaries (see also https://github.com/chenzhaiyu/abspy/issues/13).

Ah, I see. Thanks


Markdown formatted responses with problem to render properly

Problem
We can see sometimes that the Markdown rendering of some responses is not accurate. It fails to detect, in some cases, the presence of lists or other elements.
Here is an example:
Linux has four core design principles that help create a stable and secure system for users. These core design principles are:

  * file permissions: Linux allows users to modify and delete files. Users can also use these permissions to create directories, sets, and rules.
  * user authentication: Linux provides two types of authentication methods: username and password.

  * system updates: Linux allows users to download and install a wide range of software applications from the internet. Users can also use these updates to improve the performance of their computers and devices.
  * network management: Linux provides several features that allow users to manage networks and devices across different locations, networks, and devices.

These are the four core design principles of Linux. These principles help create a stable and secure system for users who want to manage their networks and devices across different locations, networks, and devices.

Solution
We need to rework the Markdown widget from Makepad to cover more cases, including lists and headings. Basic support is implemented but it still struggles with some ways to use newline or whitespace characters to split list items, regular paragraphs, and headings.
Note: the same example text will render properly if the whitespace characters before the * are removed.

Moving this to Makepad https://github.com/makepad/makepad/issues/620


Fix double negation used to turn regex match into boolean to be more readable

turned it into a nil? check on the match


Better error message when a record was given

fixes #1280

ok the error shows this is harder than expected.

ready for review

@forki @dsyme
I think the compiler is actually displaying the wrong error message for this scenario.
The record definition is fine, the problem is that the argument is not incompatible with Record it's that it is incompatible with list.
Please see samples below for reasoning.
type Record = {field1:int; field2:int}
let doSomething (xs) = List.map (fun {field1=x} -> x) xs

- //If we call the code correctly it might look like this:
- doSomething [{Record.field1=0; Record.field2=0}] ;;
val it : int list = [0]
>
- //or this:
- doSomething [{field1=0; field2=0}] ;;
val it : int list = [0]
>
- //or this:
- doSomething [{Record.field1=0; field2=0}] ;;
val it : int list = [0]
>

So to introduce the bug, it is that the argument to doSomething is not a list:
- //introduce bug, not a list it might look like this:
- doSomething {Record.field1=0; Record.field2=0} ;;

  doSomething {Record.field1=0; Record.field2=0} ;;
  ------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

stdin(7,13): error FS0001: This expression was expected to have type
    'Record list'
but here has type
    'Record'
>
- //or this:
- doSomething {field1=0; field2=0} ;;

  doSomething {field1=0; field2=0} ;;
  ------------^^^^^^^^^^^^^^^^^^^^

stdin(10,13): error FS1129: This expression was expected to have type 'Record list' but here an incompatible record type was given.
>
- //or this:
- doSomething {Record.field1=0; field2=0} ;;

  doSomething {Record.field1=0; field2=0} ;;
  ------------^^^^^^^^^^^^^^^^^^^^^^^^^^^

stdin(13,13): error FS1129: This expression was expected to have type 'Record list' but here an incompatible record type was given.
>

We see that for the first error we get a clear actionable accurate message:
stdin(77,13): error FS0001: This expression was expected to have type
    Record list
but here has type
    Record

But the other two entries, give a bogus error message:
stdin(13,13): error FS1129: This expression was expected to have type 'Record list' but here an incompatible record type was given.
>

Yes, I thought about raising a proper type unification error. But it wasn't
available at this position. I need to rewrite a bit more to make that work,
but I could try.
On Jun 25, 2016 1:30 PM, "Kevin Ransom (msft)"<EMAIL_ADDRESS>wrote:

@forki https://github.com/forki @dsyme https://github.com/dsyme
I think the compiler is actually displaying the wrong error message for
this scenario.
The record definition is fine, the problem is that the argument is not
incompatible with Record it's that it is incompatible with list.
Please see samples below for reasoning.
type Record = {field1:int; field2:int}
let doSomething (xs) = List.map (fun {field1=x} -> x) xs

//If we call the code correctly it might look like this:
doSomething [{Record.field1=0; Record.field2=0}] ;;
val it : int list = [0]

//or this:
doSomething [{field1=0; field2=0}] ;;
val it : int list = [0]

//or this:
doSomething [{Record.field1=0; field2=0}] ;;
val it : int list = [0]

So to introduce the bug, it is that the argument to doSomething is not a
list:

//introduce bug, not a list it might look like this:

doSomething {Record.field1=0; Record.field2=0} ;;
doSomething {Record.field1=0; Record.field2=0} ;;
------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

stdin(7,13): error FS0001: This expression was expected to have type
'Record list'
but here has type
'Record'

//or this:

doSomething {field1=0; field2=0} ;;
doSomething {field1=0; field2=0} ;;
------------^^^^^^^^^^^^^^^^^^^^

stdin(10,13): error FS1129: This expression was expected to have type 'Record list' but here an incompatible record type was given.

//or this:

doSomething {Record.field1=0; field2=0} ;;
doSomething {Record.field1=0; field2=0} ;;
------------^^^^^^^^^^^^^^^^^^^^^^^^^^^

stdin(13,13): error FS1129: This expression was expected to have type 'Record list' but here an incompatible record type was given.

We see that for the first error we get a clear actionable accurate message:
stdin(77,13): error FS0001: This expression was expected to have type
Record list
but here has type
Record
But the other two entries, give a bogus error message:
stdin(13,13): error FS1129: This expression was expected to have type 'Record list' but here an incompatible record type was given.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/visualfsharp/pull/1283#issuecomment-228534423,
or mute the thread
https://github.com/notifications/unsubscribe/AADgNNYrV0y3amVaBxq7rkhnscBVWFPJks5qPRFIgaJpZM4I9k3B
.

a small bit of background:
the issue is that typ in https://github.com/Microsoft/visualfsharp/pull/1283/files#diff-dbb9e59b8ac1e1e04e1b00282a91ec97R2549 is given as Record list. That is because the overallTy is already resolved to this. Now the label resolution function tries to resolve the labels according to this type and sees that the type has no matching labels.
In the last bit we then seee that typ is not a record type so we give a bit better error message.
In the sample with {Record.field1=0; Record.field2=0} there is one level more in the resolution process and therefor the typ for the label resolution is Record and only the later type unification is failing.

Ok I managed to make it a type unification error, but this change needs more review.
My strategy:

if we can't resolve to the given overallTy then we might just try to resolve to any record type and let the type checker fail directly after label resolution. I think this should work and should actually give the good error.

fixed


ReCaptcha V2 Audio (Words Only) doesn't work on Safari, IE, and Microsoft Edge

This problem only happens when the audio prompt says "Press PLAY and enter the words you hear".  On safari, getting this prompt results in the page reloading. On all other browsers mentioned in the title, the audio just doesn't play when you press the "Play" button.
To reproduce, just keep refreshing the audio challenge until the prompt says "Press PLAY and enter the words you hear". It usually takes a few refreshes to make it switch from "numbers" to "words".
This occurs on all ReCaptcha V2 implementations I have seen. Here is a link to the google demo - https://www.google.com/recaptcha/api2/demo

Closing super old issues. Please re-raise if still relevant.


chore!: Simplify node metric scraping

Fixes #
Description
Updates the node metric scraper to not store values but to reset the gauge each time it goes through the loop to pull metrics for the nodes. This simplifies the code since we are no longer storing the prometheus label and doing a diff between the current metrics and their labels and the proposed metrics and their labels
How was this change tested?

make presubmit
Viewing Metrics in the Prometheus Dashboard with updated values

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

58 of 69 (84.06%)  changed or added relevant lines in 3 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.1%) to 80.996%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/controllers/metrics/node/metrics.go
10
11
90.91%

pkg/controllers/metrics/pod/controller.go
5
7
71.43%

pkg/controllers/metrics/node/controller.go
43
51
84.31%

Files with Coverage Reduction
New Missed Lines
%

pkg/controllers/deprovisioning/helpers.go
2
83.04%

Totals

Change from base Build<PHONE_NUMBER>:
-0.1%

Covered Lines:
6589

Relevant Lines:
8135

💛  - Coveralls

Any thought to the performance impact of this change? We recently had a metrics based memory leak as well.

Any thought to the performance impact of this change? We recently had a metrics based memory leak as well.

This is equivalent to the current state of things. The current set of node metrics also does cluster.ForEachNode so that isn't different. In general, doing the Reset() over storing the gauges in memory should improve our efficiency since we won't be hanging on to references in memory and making our code generally harder to track and more error prone

@ellistarn I also wonder if it would make sense to do the same Reset() mechanism with polling across the other metric controllers 1. To create consistency between them and 2. To store less data in memory and make the code less error-prone

I'm P.O.C.-ing an alternative mechanism to handle this so I'll take up that PR separately.


Fix running tests on forks, and handle invalid URIs when fingerprinting

closes #1542
fixes tests on forks (organizations with restrictive permissions and repositories not named github/codeql-action)

Merge / deployment checklist

[x] Confirm this change is backwards compatible with existing workflows.
[x] Confirm the readme has been updated if necessary.
[x] Confirm the changelog has been updated if necessary.

One final pain point: rate limits: https://github.com/check-spelling/github-codeql-action/actions/runs/5053027012 ... I'm not quite sure how to address this and thus I've left it out of scope, but it's problem.

I'll try to do that this morning.
Note that:

The read me file doesn't link to Contributing
Contributing mentions node 14 which is almost certainly wrong

I really did look for a build file but didn't find one. I was trying to figure out if the project was npm or yarn.

Yes, disabling checks in forks is not what I'd want.
You could use a "variable" to specify a portion of the matrix to run for each test. That'd at least result in not starving forks of running capacity and allow users to change which set they're running between runs.
GitHub should allow running workflows to easily check on runner capacity and declaratively wait for capacity before starting a workflow. (This is very far beyond the scope of this PR, but I'm hoping you can send feedback to some internal team.)
It's probably possible to use workflow dispatch and have workflows chain from one to another. Sure it'd mean that things would be slower, but it's really painful to manually discover individual workflows that have failed and need to be rerun and then run then again. Again, this could be gated on a variable to allow the current behavior for people who have the capacity or tolerance.

Fwiw, this change resulted in:
https://github.com/jsoref/examples-testing/actions/runs/5102140844/jobs/9171515485#step:2:1127

Warning: 'this # file ( is 5) evil.txt' is not a valid URI in 'instance.runs[0].results[2].locations[0].physicalLocation.artifactLocation.uri'.

Which is a huge improvement.
I'd love for that to be surfaced, either by a problem-matcher or a ::warning. If you're amenable to either, I can make a PR.

Thanks for the suggestion, but I don't think that would be a good UX. There are some users of the upload-sarif action that rely on generating an invalid URL to signal that a certain file that is expected doesn't exist. See https://github.com/github/codeql-action/issues/1703. Using a problem matcher would mean that all users of this action will receive warnings when their workflow finds alerts.
There are things they could do differently to avoid using an invalid URL and we are going to work with them to fix it. But, until then I don't think there should be a warning here.


Error:400 Error: invalid_request  Missing required parameter: scope

Just to aware this error: Call back URL is working well in a development environment (both /oauth2callbak and /auth/google/callback) but I got an error:400 Missing parameter scope on production environment. I don't know why? I try to read this article https://developers.google.com/identity/protocols/OpenIDConnect#scope-param it told me that

The scope value must begin with the string openid and then include profile or email or both.

But I need to keep waiting for DNS propagation. I didn't test it yet.

I deploy on AWS, I still have a scope problem. I guest AWS server can't talk to Google server. After I did some research, I think I got to do something about AWS Cognito or security configuration somewhere else.

@ManotLuijiu Hmm. I am not sure about that.
Please sure your OAuth code has {scope: ['profile', 'email']}.
You are welcome to share your code in the public repo and I can deploy it to Zeit Now v1 and test it.

@ManotLuijiu I see. Thanks for sharing. So if you create CloudFront distribution then Google OAuth fails.
Did you try adding CloudFront distribution's URL to Google OAuth app, for example:
https://d111111abcdef8.cloudfront.net
https://d111111abcdef8.cloudfront.net/oauth2callback
I wonder if AWS CloudFront can be used only for static resources and you can't


Unexpected Behavior when linking KeyVault to Library Group Var

Hello !
We're having an issue using Variables from the Azure KeyVault Task in our powershell script.
Best Regards !
Required Information
Question, Bug, or Feature?
Type: Bug/Feature
Task Name:
Azure Key Vault Task
Environment
Azure Pipelines

Agent - Hosted or Private:
Hosted windows-latest

Issue Description
We created a Library Variable Group that streams our secrets from an Azure Keyvault,
AzureDevOps seems to be using this task in prejob mode to download the secrets before running following steps in the pipeline.
We're unable to access the value of any streamed secret from our KeyVault inside the next AzurePowerShell@5 task.
I tried to workaround the issue by trying:

fetching with Get Variable (within the 2 Scopes) Failed
$env:secret-name Failed
$global:secret-name Failed
using {} to fetch ${secret-name} Failed
can't use () as $(secret-name) has hyphen and powershell can't escape it even with ` also failed
using a='secret-name' and $b=$($a) also failed

Parameter Name
Effect
Description

RunAsPreJob
Make secrets available to whole job
(Required) Run the task before job execution begins. Exposes secrets to all tasks in the job, not just tasks that follow this one.Default value: false

Expected-Behavoir
Secrets made available in following tasks
Suggestions

Map each secret from KeyVault to an $env:KeyVaultName.secret-name variable
Add replace hyphens feature to task

Related to #10525 #14458

Any Updates ?

This issue has been mentioned before, but I didn't have time to submit a new issue, thanks for that! https://github.com/microsoft/azure-pipelines-tasks/issues/11854#issuecomment-898759584
A workaround is to run the AzureKeyVault@1 task yourself and set the runAsPreJob setting (available in AzureKeyVaultV1), to ensure that the task has fetched the secrets before any other steps attempt to run.
Unfortunately, it doesn't appear there is a way to force this setting on a keyvault backed variable group, and I'm not sure where the code lives that resolves the variable group values from keyvault.

What you may be running into is the fact that you need to map secret variables to utilize them in scripts/shell tasks, while other types of tasks might not require the explicit mapping.
https://docs.microsoft.com/en-us/azure/devops/pipelines/release/key-vault-in-own-project?view=azure-devops&tabs=portal#query-and-use-secrets-in-your-pipeline

Yes, or inline the scripts, the objective of this issue is to solve once and for all, this problem,
in the task AzureKeyVault which is called by azure pipeline on job init, secrets must be set as env vars for scripts (this must be an option), or in subsequent calls to script tasks, the workaround to manage secrets manually in yaml is ugly and should be eventually fixed.

@choukimasri the AzureKeyVault secrets ARE set as environment variables, but they are set as SECRET variables, this is required so that they aren't logged or exposed.
Basically what happens in the AzureKeyVault task is they run echo "##vso[task.setvariable $variable;isSecret=true]secretValue" for each entry returned by the secretFilter supplied in the AzureKeyVault task (or in the case of a KeyVault backed variable group, the explicit list of secrets mapped to variables [still secret variables]).
Secret variables in Azure DevOps require explicit mapping via the env: block or similar in the YAML, because you wouldn't want your secrets automatically shared and visible to every future stage/job/step/script where someone could call env or set from a script and print out all the secret variables.
The two links I supplied outline the correct procedure to access these secret variables.

@spoelstraethan I don't see how's that is security related as they are mapped inline though, it's sufficient to run whatever script as inline to get them all replaced, also now the run as pre job param is now confusing as the secrets would not be mapped anyway unless explicitly specified, as it's called by Azure initially when fetching secrets, and documented to guarantee that the secrets are exposed in subsequent tasks.

@DenisRumyantsev  I'm commenting so the issue doesn't disappear in the wild, any updates ?


Can you please provide step-by-step instructions on how to install this please

We'd love to use this but need pointers on how to get started.
A step-by-step guide (ideally for Macs running Apple Silicon) would be ideal.

Thank you so much for your interest in this project and for your patience while I got back to you! Apologies for the delay in responding.
I’d be happy to provide step-by-step instructions to get started, especially for Macs running Apple Silicon. Here’s a quick guide:


Small portability fix and a typo.

Even better would be just using #!/bin/sh, since I don't think any bash-specific features are being used here.

Thank you, typo fixed.
About replacing /bin/bash ... I don't know, seems a bit silly to call a basic shell interpreter through env just because of one relatively rare OS exception -- sorry for the apparent lack of FreeBSD love but pretty much every other platform has /bin/bash (even that fancy FreeBSD window dresser called OS X).

True; on the other hand, the change is inconsequential on Linux, but makes the software work out of the box on several other OS :-)
Do any of the scripts even use bash specific features? If not, using #!/bin/sh would be an even better option that's guaranteed to work on any Unix.

OK, as I had to mess up with the tophat2 script again anyway, I'll just follow your suggestion of using env to find bash, it is indeed more portable this way.


fix: support large_string dictionaries

Fixes #1917

Does polars just default to large string arrays?

Yes, internally they only support large string. At compile time you have to decide whether to use i32 or i64 indices (can't have both), and it defaults to large.


Autocomplete feature not working

This is my env:

Titanium CLI v6.1.1,
Titanium SDK v12.1.2.GA
Alloy v2.0.2
Titanium ext v1.1.0
Windows x64

In addition , I disable other ext that may promotes conflict like XML by redhat and other plugins that rely on TypeScript.
However autocompletion didn't work at all either for *.js files and the Titanium's *.xml file.
Android build and live view are just running perfectly, other ext functionalities like creating project are just fine.
Only Autocompletion that is not working.
Help?

Hey @blackjyn unfortunately the debugging/troubleshooting for this isn't easy sorry :/ I can try and add some logging that might provide some insight on it, but I'll try and add some things to check:

Is the Titanium project the only folder you have open or do you have multiple? If multiple, is the Titanium project the first folder?
Is there a completions-v3.json file that corresponds to your Alloy/SDK version at ~/.titanium/completions/alloy and ~/.titanium/completions/titanium
The files you're using match the regex like this

Hi @ewanharris , thank you.
I only open Titanium project and not opening any other project.
Sorry , I can't find  completions-v3.json , I don't have .titanium folder inside my project.
I've tried both creating project via CLI and VSCode, none of them including .titanium folder

The .titanium folder lives in your user directory not a project folder. So if you run ls ~/.titanium/completions/titanium then it should list some SDK versions that completions were generated for.
It's weird that everything else is working but completions, I would assume that an issue with the providers would break the functionality of the entire extension as a whole.
Let me review where we can possibly improve the logging and see if I can provide a debug build to test

My bad.
unfortunately the completions-v3.json is not there, I got only 2 files:

There must be an error when generating the completions file I guess then, are you getting a notification in VS Code with a message like Error generating autocomplete suggestion

I open the extension logs, and get this:
TiDev.titaniumsdk provider FAILED

For workarounds , I downloaded and installed https://pulsar-edit.dev/download.html and install the Tidev Plugin.
After doing setup , Tidev for Pulsar recognized SDKs and creating the completions-v3.json.
And yeah, since the completions-v3.json existed it works on VScode too.

So, the problem is clearly on the  titatnium's VSCode ext

Thank you for digging into that, the file should be created at startup in VS Code as it is in the Pulsar extension. What's extra weird is that both use the same package (and same version of that package) to create the file so I'm not too sure what might be up. I'll take a look into whether this is down to the recent changes in VS Code to improve security maybe

Once I walked through the code it became obvious what the issue was here, I've a fix up in #1171


Turn off automatic clicking when set to "on key press"

I would like to be able to place the mouse using my gaze, with a trigger key, and then be able to make more precise movements around that placement using head rotation, and then click if I choose to. Currently, when I have movement based on key press, the cursor seems to be automatically left click whenever I place the cursor (before I even have a chance to move the cursor with head rotation). The easiest solution is to turn this off (you could use an AHK package to also designate a key to left click). A more ideal solution would be for you to have a set of options built in that will allow the user to designate certain keys to acts as left click, right click, hold down left click, release left click (for click and drag).

Did you try holding the trigger key down until you were done positioning your mouse? It only clicks on key up. This should allow you to rotate your head to precisely position the mouse before clicking. I set my trigger key to F3 and then have AHK execute that as a left click or left click and hold. See the documentation for this mode at http://precisiongazemouse.com.
I don't usually have a need to move my mouse without clicking. If you want to continuously move the mouse without clicking there is the continuous mode. Can you describe a scenario where you would want to move on a trigger key but not click the mouse?

The main reason I currently don't want the automatic click is that I'm not yet able to place the cursor perfectly, and the automatic clicking can lead to some very frustrating misclicks. Automatic clicking can also make it more challenging to click and drag, or when I want to right click on something without left clicking first (e.g., if I have a group of items selected and I want to take an action on all of them that requires a right click, left clicking first may un-select the group).
Tobii's software defaults to having the trigger key also click (which I'm guessing most people prefer), but there's a toggle to turn it off.

Okay I guess that makes sense! It does have support for click and drag you down trigger key down-up-down and hold to drag. You make a good point for right clicking though. Usually when I want to right-click I hold down the trigger key to keep the mouse moving, say "right click" to my dictation software, and then mouse up when I'm ready to left click. This is a litle complicated though.
What do you think about adding a mode where we can choose between click behaviors like normal click, trigger key click, or none?

@nosaj85 I added the ability to specify a separate hotkey for clicking. You can also leave the box blank to turn it off. Check it out in v1.04! Let me know if you run into any issues. Closing this for now.


Is training code available?

Thanks for your excellent work. The traning code is supposed to be available according to README.md.  When will it be available? I am looking forward to it.

Waiting for open source of training code!  Thanks


dune: Use 1.1.x simplifications

This is untested, but I think it's okay.

Thanks, I've tested the PR but it fails to build on my machine.

Closing for now; I'll make a new PR once I get the build to work.


added support for dynamic feature

added support for dynamic feature
fixed smoke tests for plugin smoke test

ran smoke tests with map upload task test: https://github.com/newrelic/newrelic-android-agent/actions/runs/8057287789/job/22008085587


Set Up Your SAP Cloud Platform Integration Tenant

Tutorial URL: https://developers.sap.com/tutorials/cp-starter-integration-cpi-onboard-subscribe.html
Please specify the step you are referring to:

Concern:
In step # 2.4, what is the Application Identifier to use?

Hello,
Thank you for the feedback. You can use the application identifier with prefix 'it'. We created the tutorial with the assumption that Cloud Integration will be the only active service, but we will add it as a additional note.
Thanks & Best Regards, Gautham

Also, enhanced the tutorial with this information about application identifier.

Thanks a lot! That solution worked from my end!


Hovering over InputText & PageTitle does not yield a hover

Most likely something in our hover logic breaking down.

This issue is no longer reproduced neither in 17.0.5 nor in 17.1 Preview 2.
In 17.0.5:

In 17.1 Preview 2:

In 17.1 P2 it looks even better with improved icon 😊. Anyway, this issue can be safely closed now.

I can't repro this either. Pity, I was planning on fixing it tomorrow 😛
Thanks for the heads up @DoctorKrolic


fix: update cluster role trust policy

Issue #, if available:
Description of changes:

when using long deployment names, kubectl handler role name is generated so it does not match cluster admin role policy {project-name}-{deployment_name}

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

AWS CodeBuild CI Report

CodeBuild project: IDFModuleTestsInfrastructur-59JoFoVH64CI
Commit ID: 6ee7404d844d542f01ff8b46df40fc7fb6328d57
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: IDFModuleTestsInfrastructur-59JoFoVH64CI
Commit ID:<PHONE_NUMBER>013425d6b19f653c1dafc986664627
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: IDFModuleTestsInfrastructur-59JoFoVH64CI
Commit ID: 692d47f50482cbf9dcfcd8fadbe0b7f0104e7058
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: IDFModuleTestsInfrastructur-59JoFoVH64CI
Commit ID: bff68dbcb7407418f7d4adae84796523f7e4dd7d
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: IDFModuleTestsInfrastructur-59JoFoVH64CI
Commit ID: 32916dc943868beb9dd6120e977b26204a62b60e
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


designing user website same as admin panel

can we design user website same as posts pages in admin panel of voyager package.if yes then please provide me the steps to do it

i did it but am getting these errors.what changes i need to do
ErrorException in C:\xampp\htdocs\talent\storage\framework\views\2cb1da4e99fadf799940f443d05c25f4c9e3c3b7.php line 1:
Undefined variable: dataType (View: C:\xampp\htdocs\talent\resources\views\talents\browse.blade.php)

Unfortunately we are unable to support you building the frontend of your site as that is not an issue within Voyager.


Remove unnecessary word in config_ref/index.md

I noticed this grammatical error while reading the docs and figured I'd submit a quick fix.

Platforms affected
Docs
What does this PR do?
Fixes a grammar error in the config.xml reference document.
What testing has been done on this change?
None, as it is a one-word documentation change.
Checklist
NA

[ ] Reported an issue in the JIRA database
[ ] Commit message follows the format: "CB-3232: (android) Fix bug with resolving file paths", where CB-xxxx is the JIRA ID & "android" is the platform affected.
[ ] Added automated test coverage as appropriate for this change.

Simple fixes are the best fixes 🥇


onPress not working on web

onpress is not working for version of react-native-web 0.13.0 and above.
reproducible example
codesandbox
change react-native-web Version below 0.13.0 and it works

Any suggestions on how to fix/patch Warning: Unknown event handler property onStartShouldSetResponder.

@mehimanshupatil I'm using react-native-web 0.13.18 and I was able to get all of these events to work:
onClick
onFocus
onMouseDown
onMouseEnter
onMouseLeave
onMouseMove
onMouseOut
onMouseOver
onMouseUp

Specifically I used it on a  nested in a

Hello, @rsml
My query is regarding onPress handler. The event you mentioned also works for me.

I second this.
We might approach it with the following mapping:
onPress: onClick
onPressIn: onMouseDown
onPressOut: onMouseUp
onStartShouldSetResponder: onFocus
onResponderTerminationRequest: null (does not exist)
onResponderGrant: null (does not exist)
onResponderMove: onMouseMove
onResponderRelease: onMouseUp
onResponderTerminate: onBlur
What are your thoughts?
I was wondering about these, because I thought react-native-web implemented those mappings already?
https://github.com/necolas/react-native-web/issues/1568

i have the same issue and a easy workaround until it is fixed:
npm i --save-dev babel-plugin-rename-jsx-attribute
.babelrc
{
  "presets": ["react"],
  "plugins": [
    [
      "rename-jsx-attribute",
      {
        "attributes": {
          "onPress": "onClick"
        }
      }
    ]
  ]
}

I solved this problem by explicitly declaring onPress and onClick methods at the same time
<Rect           onPress={() => onSelectRobot(id)}           onClick={() => onSelectRobot(id)}           key={robot-${id}}           x={x}           y={y}           origin={${x + width / 2}, ${y + height / 2}}           transform={transform}           width={width}           height={height}           fill={color}         />

Hi, sorry for such a simple question, but how are you make onClick prop (and others web props) work on Rect, because onClick does not even exist in available props for Rect for me (there are only native events props, such as onPress, onPressIn, etc.).

Hi, sorry for such a simple question, but how are you make onClick prop (and others web props) work on Rect, because onClick does not even exist in available props for Rect for me (there are only native events props, such as onPress, onPressIn, etc.)?

onClick will work, but you'll get a type error.

Hi,
I encounter the same error using an icon wrapped inside TouchableWithoutFeedback I managed to remove the warning replacing it with the new react-native Pressable wrapper.
Hope it will help some of you

i have the same issue and a easy workaround until it is fixed:
npm i --save-dev babel-plugin-rename-jsx-attribute
.babelrc
{
  "presets": ["react"],
  "plugins": [
    [
      "rename-jsx-attribute",
      {
        "attributes": {
          "onPress": "onClick"
        }
      }
    ]
  ]
}

Hello, this works perfectly, however I only require the onClick on SVG related libraries. Do you know if there is anyway to specify?

Hi, sorry for such a simple question, but how are you make onClick prop (and others web props) work on Rect, because onClick does not even exist in available props for Rect for me (there are only native events props, such as onPress, onPressIn, etc.)?

One workaround is to declare a type merging.
For example:
import "react-native-svg";
import { TouchableProps } from "react-native-svg";

declare module "react-native-svg" {
  interface GProps {
    onClick?: TouchableProps["onPress"];
  }
}

Is this related? https://github.com/akveo/react-native-ui-kitten/issues/1801

Still an issue: Warning: Unknown event handler property onStartShouldSetResponder. It will be ignored.

I'm still unable to use onPress for a react-native-svg component on web. Here's my dependencies:
"react-native-svg": "^15.3.0",
"react-native-web": "~0.19.6", // Installs 0.19.10

and here's my code:
import Svg, { Circle, G } from "react-native-svg";

function X({x, y, r, onPress}) {
  return (
      <G>
        <Circle cx={x} cy={y} r={r} fill="black" onPress={() => onPress && onPress()}/>
      </G>
    );
}

function Y() {
  return (
    <Svg viewBox={`0 0 100 100`}>
        <X x={5} y={5} r={5} onPress={()=>console.log('hi')}/>
    </Svg>
  );
}

I'm seeing the following warning: "Unknown event handler property onStartShouldSetResponder. It will be ignored."

Has there been any update on this? I'm seeing the same issue on expo 51.

Hello @ed-bennett-dodimead,
Can you provide an example of how we can reproduce that?
Thank you

So I just set up a new tamagui repo following the quick start: npm create tamagui@latest --template expo-router, then added an       <Eye onPress={() => console.log("pressed")} /> component (I tried with a few different icons and saw the same thing on all of them) to the index page from the @tamagui/lucide-icons library and I'm seeing the same errors in the console when I start the web version. This is how we're using it in our project, but we are seeing it with *.svg files we're importing as components via react-native-svg-transformer too.

Plus one from me, I also used expo with router

Hello @ed-bennett-dodimead  @horakjakub,
IDK why it doesn't work but I created a simple example.
Everything worked well.

Hello @ed-bennett-dodimead @horakjakub, IDK why it doesn't work but I created a simple example. Everything worked well.

That's interesting, I cloned yours and I see all the same console errors, except the click handler does seem to fire properly. I'm not sure how to go about testing that further.

@ed-bennett-dodimead
here is the recording from my screen :)
It had some errors but, on click worked well.
Here is PR with implementing handling web events.
https://github.com/user-attachments/assets/e863861a-0875-44e9-a69c-f3b5cbd9df42


Js error from activeForm in strict mode

What steps will reproduce the problem?

Enable javascript strict mode (which happens automatically when you combine scripts e.g. with browserify)
Create a form with client validation enabled
Validate the form

What is the expected result?
No error on client validation even in strict mode.
What do you get instead?
yii.activeForm.js:868 Uncaught TypeError: Cannot read property 'input' of undefined
    at k (yii.activeForm.js:868)
    at O (yii.activeForm.js:710)
    at yii.activeForm.js:410

What is the proposed fix?
There's a bug in yii.activeForm.js around line 710:
        if (submitting) {
            var errorAttributes = [];
            var $input = findInput($form, this);
            $.each(data.attributes, function () {

Here this in the $input = ... line is not defined. The assignment must be moved inside the $.each().
I'll provide a pull request with this fix.
Additional info

Q
A

Yii version
2.0.17

PHP version
7.3.3

Operating system
Alpine

@samdark My fix was reverted in https://github.com/yiisoft/yii2/commit/1f9131d841eabac285d701f5117d112d3c1e9412#diff-3096f348a33d8aa1d79ebe62e5e0f304R709
I'll provide another pull request and hope, this time the fix will make it to the next release.


pkg/memtier/tracker.go: reduce code complexity

Closing based on our discussion on complexity goals.


No error when run dart class with incorrect instantiation to bound

Dart SDK Version: 2.0.0-dev-55.0
OS: Windows 10
Dart 2.0 Instantiate To Bound Spec reads:

It is a compile-time error if a formal parameter bound B contains a type T on the form qualified and T denotes a generic class G (that is, T is a raw type), unless every formal type parameter of G has a simple bound.
In short, type arguments on bounds can only be omitted if they themselves have simple bounds.

The following simple code example tries to make instantiation to bound with non-simple bounded class (and See also examples from the Background section). T of D does not have a simple bound, so raw D cannot be a bound, so it should throw compile error:
class D<T extends Comparable<T>> {}
class E<T extends D> {}
main() {
  print(new E());
}

Indeed, dartanalyzer throws expected error here:
$> dartanalyzer --preview-dart-2 test.dart
Analyzing test.dart...
  error - Type parameter bound types must be instantiated at test.dart:2:19 - strong_mode_not_instantiated_bound
1 error found.

But when I run this test with dart, no error happens here:
$> dart --preview-dart-2 test.dart
Instance of 'E<D<Comparable<dynamic>>>

I believe this is incorrect and error should be thrown here.

Right, the raw type D used as a bound prevents instantiate-to-bound on E because the generic class D doesn't have simple bounds on all its type parameters.
It may be the case that the analyzer is too strict (it sounds like it will not accept any raw types as bounds, but it's only the ones that do not themselves have simple bounds that cannot be used raw as bounds), but that doesn't change the fact that dart --preview-dart-2 .. should reject the program.

I observe similar things with typedefs, so is this a same issue or we should file another bug instead?
Sample code is:
typedef F<X> = X Function();
typedef G<X extends F> = X Function();
main() {}

Sample output is:
$>dart --version
Dart VM version: 2.0.0-dev.64.1 (Thu Jun 21 08:47:55 2018 +0200) on "windows_x64"

$>dartanalyzer test.dart
Analyzing test.dart...
  error - Type parameter bound types must be instantiated at test.dart:2:21 - strong_mode_not_instantiated_bound
1 error found.

$>dart test.dart

$>

I believe it's a good idea to create separate issues when there's a good chance that the bug fix would involve different locations in the tools. It is surely also a good idea to include a reference to one from the other if it is known that they are similar.
However, the typedef example shows the opposite problem: dartanalyzer rejects the raw type F just because it is raw, and it should actually detect that F has simple bounds and hence it can be raw. It is likely that the VM does not yet implement the checks at all, so it's lucky to get the correct behavior in this case. ;-)

OK, I've just created a new issue: #33625.

I remember fixing it some time ago.  Sorry I didn't keep track of this particular GitHub issue.
At current master branch when the example program from the original message is run, dart reports the following (note that --preview-dart-2 is not needed, because it's on by default now):
$ out/ReleaseX64/dart /tmp/foo.dart
file:///tmp/foo.dart:3:9: Error: Generic type 'D' can't be used without type arguments in a type variable bound.
Try providing type arguments to 'D' here.
class E<T extends D> {}
        ^


Queries

How can we know, on copying which node, we are getting the error/Failure?
How many paths (filters) at max we can keep in configuration file?
Will there be any problem if we put more number of filters in configuration files?
Where are we keeping the configuration regarding no of nodes to be copied/saved at a time. Please share.
How to tune specifying multiple focused paths, parallel or serial execution, JCR Session batch size (the number of nodes to cache before flushing to disk), ? I request you to please share

also please share how to exclude some paths something like below

/content/(.)?localization(/.)?
Thanks a million Sarar :-)

1.) Currently, the batch-server.log, and batch-client.log are your best bets. Depending on what layer the issue occurs, and especially if the error log is vague in the matter, most of the time it's an issue with some aggregation of nodes (memory limits, stale sessions, etc), rather than one particular node. That said, we definitely have some work to do on making the logs more clear on what went wrong : https://github.com/TWCable/grabbit/issues/66
2.) We don't enforce any limits. Currently Grabbit will process 10 jobs at a time, then as jobs free up,  new jobs will be assigned to those threads.
3.) There shouldn't be. Are you seeing issues?
4.) Nodes are copied in a continuous stream, so there is no configuration regarding that; however, nodes are saved/read in batches. I don't believe we have this configuration tweak-able at the moment. We manage it in an internal configuration file (grabbit/src/main/resources/META-INF.spring/client-batch-job.xml, which I believe is currently set to 100.
5.) I think I may know what you are asking on this one, but do you mind elaborating so I can be sure?
6.) Mind providing another example? I'm a bit confused about the one above. We don't currently have regex-style paths supported. You can, however, exclude subpaths through the "excludePaths" property. e.g:
/content/cars/ford
/content/cars/ford/jcr:content
/content/cars/honda
/content/cars/honda/jcr:content

path: '/content/cars'
excludePaths:
  - 'ford'
  - 'chevy'

@akiranmutnuru - Did Jeff's response answer your question?

Assuming the questions have been answered.


Add issue templates for bug reports and feature requests

I can add a issue template to streamline the process of reporting bugs and requesting new features.

@ashitaprasad Pls assign me this!!


patch perk Ultimate Leader

fixes Tyler-IN/MnB2-Bannerlord-CommunityPatch#275

Base game has duplicate perks, apply when either are active

Remove requirement of being head of faction or independent

I can test it asap, if someone approve it to the Dev.


[core] GetFileName and GetDirectoryPath do not support Unix paths

When using Unix style paths with GetFileName we get incorrect results, and in the case of GetDirectoryPath we get a SIGSEGV crash.
After looking at the source I noticed you're doing a search through the string for \ characters used on Windows. Is it possible to check defined(_WIN32) and use the current functionality, but on other platforms search for / instead?
Also, the crash in GetDirectoryPath will also occur when there are no slashes in the provided path.
Below is example code demonstrating the issue and the crash:
#include <stdio.h>
#include "raylib.h"

int main()
{
    const char *fileName = GetFileName("C:\\hello\\test.c");
    printf(fileName);
    printf("\n");
    // Prints: test.c

    const char *fileNameUnix = GetFileName("/hello/test.c");
    printf(fileNameUnix);
    printf("\n");
    // Prints: /hello/test.c
    // Should print: test.c (on Unix platforms)

    const char *directory = GetDirectoryPath("C:\\hello\\test.c");
    printf(directory);
    printf("\n");
    // Prints: C:\hello

    const char *directoryUnix = GetDirectoryPath("/hello/test.c");
    // Program crashes here with:
    // terminated by signal SIGSEGV (Address boundary error)
    printf(directoryUnix);
    printf("\n");
    // Should print: /hello (on Unix platforms)

    return 0;
}

I wouldn't make slash support conditional on !defined(_WIN32). Just support both, so the user doesn't have to worry about it.


DBZ-3601 Document Pulsar topic name mapper

https://issues.redhat.com/browse/DBZ-3601

So Pulsar was the only one where it was missing, @jpechane?


Fix Authentication with Dockerfile + Retry mechanism + Large todo handling

Fix Authentication: Resolved authentication issue mentioned  #16

Retry Mechanism: Implemented a retry mechanism to handle transient failures gracefully. This ensures that in the event of temporary network issues or API rate limits, the data transfer process is automatically retried, increasing overall resilience.

Enhanced Handling of Large Todos: Improved the handling of large todos that caused an error from notion api.

Removed unnecessary packages


Required annotated string property is mapped to [String]! type in 10.5.2

Describe the bug
For a non-nullable string, that is also marked up with the required attribute, the schema infers the type incorrectly as [String!] instead of String!
To Reproduce
Steps to reproduce the behavior:

have a model class that has a following structure:

[Required]
public string Content { get; set; } = default!;

Add this type to your schema

Project demonstrating this behaviour is here: https://github.com/barticus/hotchocolate-string-bug
In particular, you can see the result of the test (cd Sample.Test && dotnet test) here: https://github.com/barticus/hotchocolate-string-bug/blob/master/Sample.Tests/GraphQL/ApprovalTests/SchemaTest.GetSchema.approved.txt
Expected behavior
Correctly map this property to String!
Desktop (please complete the following information):

Version 10.5.2

Looks like this works in v11.1:
 public class RequiredQuery
 {
     [Required]
     public string Content { get; set; } = default!;
 }

produces
schema {
  query: RequiredQuery
}

type RequiredQuery {
  content: String!
}


Failed when PR approved

It fails when PR approved.
It worked properly a few days ago. I believe the changes in d5c7884d414f19f6522ad0ad1adb6390fcef1c6d might have caused this problem.

Reverting to v1.0, I have confirmed that it works properly. I’m sure the problem lies in v1.1.

Upgrading the version to v1.2, I have confirmed it worked successfully.
Thank you for fixing the bug!


Prevent unused function warnings in khash.h, klist.h

Recent versions of Clang warn about unused static inline functions in .c files (though they suppress this warning for such definitions in header files).  Definitions via KHASH_INIT etc are effectively in the .c file, and it's impractical to make these inline other than static inline; so add attributes to suppress these warnings.
See for example the warnings that drown out other information in travis htslib build logs.

Updated klib_unused guards to take account of samtools/htslib#197.

Rebased to current master.  @lh3 any chance this can be merged?

Doing it this way interacts badly with clang's -Wused-but-marked-unused option, which now causes warnings about functions that are marked unused but are used.
It would be much better to instead do this:
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-function"
...
#pragma clang diagnostic pop


VSR: Grid Scrubber

Context
A "data scrubber" is a background task that gradually/incrementally reads the disk and validates what it finds. Its purpose is to discover faults proactively – as early as possibly – rather than waiting for them to be discovered by normal database operation (e.g. during compaction).
"An Analysis of Latent Sector Errors in Disk Drives" (2007) found that >60% of latent sector errors (the most common type of disk fault) were discovered by a scrubber that cycles every 2 weeks. (Note that this data was collected on HDDs, not SSDs.)
Finding and repairing errors proactively minimizes the risk of cluster-wide data loss due to multiple intersecting faults (analogous to a "double-fault") – a scenario where we fail to read a block, and try to repair that block from another replica, only to discover that the copy of the block on the remote replica's disk is also faulty.
Grid Scrubber

Only acquired blocks are scrubbed.
Scrubbing is driven by a replica timer (grid_scrub_timeout).
The replica adjusts the scrubber's timer interval at runtime, based on:

The number of grid blocks.
The grid_scrubber_cycle_ms constant.

grid_scrubber_cycle_ms is the (approximate) goal for how long it takes to scrub the entire grid.

Currently set to a default of 90 days: 90 days ≈ 2 weeks * 6 replicas.
We can scrub a 16TiB data file every 90 days via ~2.16 MiB/s of reads.
(We can set it higher, but another goal is to keep the disk-throughput overhead of the scrubber very low.)
See grid_scrubber_cycle_ticks in constants.zig for more detail.

The grid scrubber tours across all block types:

Scrub table index blocks via ForestTableIterator.
Immediately after scrubbing a table index block, scrub each of its data blocks in sequence.
Scrub flushed manifest blocks.
Scrub the freeset and client-sessions trailers from the latest checkpoint.
replica_test.zig has a test which verifies that all blocks (and thus all block types) are covered by the scrubber.

When the scrubber encounters a fault (i.e. we find an unexpected or corrupt block), it reports it to the replica, which queues the block in GridBlocksMissing for repair.

Scrubber Invariant
Scrubber cycles have the invariant:

On an idle replica (i.e. not committing), a full tour from "init" to "done" scrubs every acquired block in the grid.
On a non-idle replica, a full tour from "init" to "done" scrubs all blocks that survived the entire span of the tour, but may not scrub blocks that were added during the tour.

(Note that this data was collected on HDDs, not SSDs.)

Would be great to refresh that reference. "Why you motivate storage fault model by referencing to papers about spinning rust nobody is using anymore" is a very reasonable question to ask :rofl:

Finished first round of review, looks awesome!

Ah, consider if we can assert that #blocks scrubbed = free_set_size - number of blocks freed

Ah, consider if we can assert that #blocks scrubbed = free_set_size - number of blocks freed

Ahh I think this doesn't work after all :disappointed:
I was imagining something like this at the end of a cycle:
assert(scrubber.tour_blocks_scrubbed_count + scrubber.tour_blocks_released_count >=
    scrubber.forest.grid.free_set.count_acquired());

(where tour_blocks_released_count counts the cumulative number of blocks released over the course of the tour).
But the replica may both:

acquire an arbitrary number of blocks "behind" us in the cycle (which the current cycle does not cover)
release an arbitrary number of blocks "ahead" of us in the cycle.

I was imagining something like this at the end of a cycle:

We could save scrubber.forest.grid.free_set.count_acquired() at the start of the tour, rather than look at it at the end. It won't then count blocks, acquired "behind", which I think would make the assert work?

To double check: we don't persist scrubber progress to disk, so, if replica restarts, it starts scrubbing from the beginning. So, with 90day scrubbing interval, and, say, weekly, updgrades, replicas won't actually scrub to the end. But that would be fixed by TODO: if a replica picks a random scrubbing offeset, then even with frequent restarts it'll scrub everything.

To double check: we don't persist scrubber progress to disk, so, if replica restarts, it starts scrubbing from the beginning. So, with 90day scrubbing interval, and, say, weekly, updgrades, replicas won't actually scrub to the end. But that would be fixed by TODO: if a replica picks a random scrubbing offeset, then even with frequent restarts it'll scrub everything.

Yes, that's correct.

Would be great to refresh that reference. "Why you motivate storage fault model by referencing to papers about spinning rust nobody is using anymore" is a very reasonable question to ask

Yes, unfortunately I used that reference because I couldn't find any comparable studies for SSDs.
I would like to derive the cycle interval more intelligently but I'll save that for a follow-up PR.


MM-15634 Add custom command to create and login with new user

Summary
Add custom command to create and login with new user and implement that into test that require it
Ticket Link
JIRA

@thekiiingbob This PR has some conflicts with master. Mention me when they are resolved so i can merge this.

@sudheerDev Should be all up to date now.

@thekiiingbob Thanks 🎉


Open HTML file instead of navigating to a URL

Is it possible for ChromeDB to open an HTML file from disk instead of navigating to a URL?

Yes. Check the tests in the source code. There are many examples. You can search for the calls to testAllocate.
https://github.com/chromedp/chromedp/blob/5b511f121cb2fc1e868b8667049d3cff32a6e0b1/chromedp_test.go#L118


Howto have Optional Submodels for Settings

Checks

[x] I added a descriptive title to this issue
[x] I have searched (google, github) for similar issues and couldn't find anything
[x] I have read and followed the docs and couldn't find an answer
[x] After submitting this, I commit to one of:

Look through open issues and helped at least one other person
Hit the "watch" button on this repo to receive notifications and I commit to help at least 2 people that ask questions in the future
Implement a Pull Request for a confirmed bug

Question
In my use case I have optional configuration parts, like for example and auth block. The auth part can be optional, but when provided it should contain username/password. Therefore I want to create a submodel that is consistent.
The BaseSettings seems to require that submodels need to be initiated directly. Which means it forces me to have an Auth model that contains Optional Fields.
Is there a way to get the usecase to work as described below?
Output of python -c "import pydantic.utils; print(pydantic.utils.version_info())":
             pydantic version: 1.6.1
            pydantic compiled: True
                 install path: /home/mafr/.cache/pypoetry/virtualenvs/sese-rest-g0otWJoB-py3.6/lib/python3.6/site-packages/pydantic
               python version: 3.6.10 (default, Jul 29 2020, 11:44:44)  [GCC 9.3.0]
                     platform: Linux-4.19.104-microsoft-standard-x86_64-with-debian-bullseye-sid
     optional deps. installed: ['typing-extensions']

...

from _pytest.monkeypatch import MonkeyPatch
from pydantic import BaseSettings, BaseModel
from typing import Optional

class AuthConfig(BaseModel):
    username: str
    password: str

class DemoSettings(BaseSettings):
    foo: str
    auth: Optional[AuthConfig]

# this one passes currently
def test_settings(monkeypatch: MonkeyPatch):

    monkeypatch.setenv("FOO", "hello")

    settings = DemoSettings()

    assert settings.foo == "hello"

# this doesn't
def test_settings2(monkeypatch: MonkeyPatch):

    monkeypatch.setenv("FOO", "hello")
    monkeypatch.setenv("AUTH_USERNAME", "user123")
    monkeypatch.setenv("AUTH_PASSWORD", "pass123")

    settings = DemoSettings()

    assert settings.foo == "hello"
    assert settings.auth.username == "user123"
    assert settings.auth.password == "pass123"

The second test fails as the auth is None
assert settings.auth.username == "user123"
E       AttributeError: 'NoneType' object has no attribute 'username'

Ok I just noticed it works but only if the submodel is json
def test_settings2(monkeypatch: MonkeyPatch):

    monkeypatch.setenv("FOO", "hello")
    monkeypatch.setenv("AUTH", '{"username": "user123", "password": "pass123"}')

    settings = DemoSettings()

    assert settings.foo == "hello"
    assert settings.auth.username == "user123"
    assert settings.auth.password == "pass123"

Ok just saw this in the documentation:

Complex types like list, set, dict, and sub-models are populated from the environment by treating the environment variable's value as a JSON-encoded string.

So my question now is if there is another way besides having to encode complex types as json

Not easily. There is a PR open for allowing space/comma separated values, but for something like a Key-Value setting with particular requirements, JSON is the best way to do so.
In your code example, the environment variables don't line up with how they would be gathered, however you can make them do so with a little tweaking to the definition, using a validator instead of a sub-model:
import os
from pydantic import BaseSettings, Field, validator
from typing import Optional

class DemoSettings(BaseSettings):
    foo: str
    username: Optional[str] = Field(None, env="auth_username")
    password: Optional[str] = Field(None, env="auth_password")

    @validator("password", always=True)
    def username_and_password(cls, v, values):
        # If both values are provided, good to pass
        if values.get("username") and v:
            return v
        # If neither are provided, also good
        if not (values.get("username") or v):
            return None
        # We only got one of username or password, raise!
        raise ValueError("Username and Password must be provided")

# this one passes still
def test_settings():

    os.environ["FOO"] = "hello"

    settings = DemoSettings()

    assert settings.foo == "hello"
    assert settings.username is None
    assert settings.password is None

# this works
def test_settings3():

    os.environ["FOO"] = "hello"
    os.environ["AUTH_USERNAME"] = "user123"
    os.environ["AUTH_PASSWORD"] = "pass123"

    settings = DemoSettings()

    assert settings.foo == "hello"
    assert settings.username == "user123"
    assert settings.password == "pass123"

Others may have another way, but that's my recommendation.

Thanks for that recommendation, I'll try this approach.
Do you think it makes sense to create feature request for such a use case with submodel non json optional submodel settings?

We use "__" as a hierarchy seperator for environment variables in https://github.com/daviskirk/climatecontrol#usage as a solution for the key/value integration (it has pydantic integration built in).   You could probably do something similar with pydantics builtin "env_prefix".

Thanks for using pydantic. 🙏
As part of a migration to using discussions and cleanup old issues, I'm closing all open issues with the "question" label. 💭 🆘 🚁
I hope you've now found an answer to your question. If you haven't, feel free to start a :point_right: question discussion.


Confusion regarding versioning

According to the official repository releases the latest version is 3.12.1 https://github.com/hazelcast/hazelcast-cpp-client/releases, however in CMakeLists.txt it appears the "VERSION" is set to 4.0. Is the version listed in CMakeLists.txt in fact an alpha version? The last official release as per the link above was in January, however considerable work has been done on the repo since then - would it be possible to have some clarification regarding this apparent discrepancy in versions?

Hello, current master branch is the development branch, hence it is actually 4.0-SNAPHOT version at the moment which will become 4.0 version when released. The 3.12.1 version details are at the 3.12.1 tag at https://github.com/hazelcast/hazelcast-cpp-client/tree/v3.12.1 . At this tag, you can see that the version in CMakeLists.txt  is 3.12.1 (https://github.com/hazelcast/hazelcast-cpp-client/blob/v3.12.1/CMakeLists.txt#L31)
Is this explanation clear?

@jackrevell Is the above explanation clear enough for you? If no further questions, I would like to close this issue.

Closing this issue. Please feel free to reopen if still have questions in mind. Thanks.

Closing this issue. Please feel free to reopen if still have questions in mind. Thanks.


Make a pre-set option disabling translation dupe checks

For ease of use.

You shouldn't even need a preset for this. This feature is fairly useless and should probably be removed, and definitely be disabled by default.


How to use saga for ServerSide rendering?

Redux-saga is completely different from other middleware, so I can't see how to run & stop saga on server side for getting initial state of store for the route (keeping in mind dynamically loaded routes and component & authorization checks in router)

see https://github.com/yelouafi/redux-saga/issues/13#issuecomment-182883680
Closging this; I reopened #13 to track this

thanks


declare dependencies

@dennisl

Any reason why we need to declare these dependencies? org.eclipse.sisu.plexus is a transitive dependency from maven plugin API
and with each update to minimum maven.version property someone needs to adjust also this one instead of giving Maven chance to do its job.

Any reason why we need to declare these dependencies? org.eclipse.sisu.plexus is a transitive dependency from maven plugin API
and with each update to minimum maven.version property someone needs to adjust also this one instead of giving Maven chance to do its job.

If one specifically imports classes from these dependencies, then they should be declared. Relaying on transitive dependencies is brittle. 5 months later I don't recall exactly which classes are imported from where but mvn dependency:analyze will find anything that's not needed.

If one specifically imports classes from these dependencies, then they should be declared. Relaying on transitive dependencies is brittle. 5 months later I don't recall exactly which classes are imported from where but mvn dependency:analyze will find anything that's not needed.

I agree with @elharo

I agree with @elharo

thx @dennisl  - would you be able to sync the maven version to 3.1.1 as try to confirm that this proposed approach works?

thx @dennisl  - would you be able to sync the maven version to 3.1.1 as try to confirm that this proposed approach works?

[INFO] --- maven-dependency-plugin:3.1.1:analyze (default-cli) @ maven-filtering ---
[WARNING] Used undeclared dependencies found:
[WARNING]    org.hamcrest:hamcrest:jar:2.2:test
[WARNING]    org.eclipse.aether:aether-api:jar:0.9.0.M2:compile
[WARNING] Unused declared dependencies found:
[WARNING]    org.hamcrest:hamcrest-core:jar:2.2:test

[INFO] --- maven-dependency-plugin:3.1.1:analyze (default-cli) @ maven-filtering ---
[WARNING] Used undeclared dependencies found:
[WARNING]    org.hamcrest:hamcrest:jar:2.2:test
[WARNING]    org.eclipse.aether:aether-api:jar:0.9.0.M2:compile
[WARNING] Unused declared dependencies found:
[WARNING]    org.hamcrest:hamcrest-core:jar:2.2:test

With each minimum Maven upgrade, someone needs to review all deps and update the version of aether to match with that will be delivered by Maven installation. No older, no newer.

With each minimum Maven upgrade, someone needs to review all deps and update the version of aether to match with that will be delivered by Maven installation. No older, no newer.

real case: https://github.com/GoogleCloudPlatform/cloud-opensource-java/issues/1091

real case: https://github.com/GoogleCloudPlatform/cloud-opensource-java/issues/1091


AWS Secret for Kubeflow

Kubeflow Pipelines allow certain components to be able to access AWS resources using a secret that is defined in K8s.
We need to create this secret for Kubeflow deployments. Below is a example that we previously used.
---
apiVersion: v1
kind: Secret
metadata:
  annotations:
    aws.arn: arn:aws:iam::<ACCOUNT_ID_HERE>:user/<USER_HERE>
  name: aws-secret
  namespace: kubeflow
type: Opaque
data:
  AWS_ACCESS_KEY_ID: <KEY_HERE>
  AWS_SECRET_ACCESS_KEY: <ACCESS_KEY_HERE>

Service Accounts are namespace specific resources, so when you create your own Kubeflow namespace you create an additional service account default without any IRSA annotations, which used by default for pipeline runs,


can't enable email smtp

can't add email or modify build-in accounts to "smtp status enable"
when enable smtp or add a new email account, pages shows "loading" for a few seconds,
then throw  time-out error
http://<IP_ADDRESS>:8080/scp/emails.php?a=add
504 Gateway Time-out
nginx/1.12.2

and I can't find error logs. (no related message in :docker logs -f osticket or container's /var/log/ )
have try add smtp parameters in docker run, still the same.
 -e SMTP_HOST=smtp.xx.xx -e SMTP_PORT=465 -e<EMAIL_ADDRESS>-e SMTP_TLS=1 -e<EMAIL_ADDRESS>-e SMTP_PASSWORD=xxxx
Docker version 18.09.3, build 774a1f4 , HOST OS is debian, latest docker image.
BR

modify SMTP.php and mapped into containner, according to https://github.com/osTicket/osTicket/issues/2628#issuecomment-239636539
                    'ssl' => array('verify_peer_name' => false,
				   'verify_peer_name' => false,
		                   'allow_self_signed' => true)
                    );

        $this->socket_options = $socket_options;

now responds is
Failed to connect to ssl://smtp.xx.xx:465 [SMTP: Failed to connect socket: stream_socket_client(): unable to connect to ssl://smtp.xx.xx:465 (Unknown error) (code: -1, response: )]
test with telnet/openssl s_client the 465 port is accessible.

search through many web pages/threads, seems it's a long long issue. think won't fix by up stream. moved ticket system to redmine.