eval memory issue

Hi,
I can train the model using my dataset but when using eval mode I always got memory error. is there any solution?

bytes.
Traceback (most recent call last):
File "/scratch1/rwibawa/cvit/ns/main_nowandb.py", line 31, in
app.run(main)
File "/spack/2206/apps/linux-centos7-x86_64_v3/gcc-11.3.0/python-3.11.3-gl2q3yz/lib/python3.11/site-packages/absl/app.py", line 308, in run
_run_main(main, args)
File "/spack/2206/apps/linux-centos7-x86_64_v3/gcc-11.3.0/python-3.11.3-gl2q3yz/lib/python3.11/site-packages/absl/app.py", line 254, in _run_main
sys.exit(main(argv))
^^^^^^^^^^
File "/scratch1/rwibawa/cvit/ns/main_nowandb.py", line 26, in main
eval.evaluate(FLAGS.config)
File "/scratch1/rwibawa/cvit/ns/eval.py", line 81, in evaluate
pred = model.apply(state.params, x, coords)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/scratch1/rwibawa/cvit/ns/src/model.py", line 364, in call
x = CrossAttnBlock(
^^^^^^^^^^^^^^^
File "/scratch1/rwibawa/cvit/ns/src/model.py", line 133, in call
x = nn.MultiHeadDotProductAttention(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home1/rwibawa/.local/lib/python3.11/site-packages/flax/linen/attention.py", line 674, in call
x = self.attention_fn(*attn_args, **attn_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home1/rwibawa/.local/lib/python3.11/site-packages/flax/linen/attention.py", line 266, in dot_product_attention
attn_weights = dot_product_attention_weights(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home1/rwibawa/.local/lib/python3.11/site-packages/flax/linen/attention.py", line 132, in dot_product_attention_weights
attn_weights = einsum('...qhd,...khd->...hqk', query, key)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home1/rwibawa/.local/lib/python3.11/site-packages/jax/_src/numpy/lax_numpy.py", line 9747, in einsum
return einsum(operands, contractions, precision,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/spack/2206/apps/linux-centos7-x86_64_v3/gcc-11.3.0/python-3.11.3-gl2q3yz/lib/python3.11/contextlib.py", line 81, in inner
return func(*args, **kwds)
^^^^^^^^^^^^^^^^^^^
jaxlib.xla_extension.XlaRuntimeError: RESOURCE_EXHAUSTED: Out of memory while trying to allocate<PHONE_NUMBER>8 bytes.
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.

Apologies for the delayed response. The OOM error occurs because CVIT is trained with subsampled grid coordinates, but evaluation requires the full grid coordinates, significantly increasing GPU memory usage. We recommend reducing the batch size until the OOM error is resolved.
Hope this helps!

Hi,
I have reduced batch size and also increase memory but still get an error. I wonder if there is somthing I missed from this log error?
`A module that was compiled using NumPy 1.x cannot be run in
NumPy 2.0.2 as it may crash. To support both 1.x and 2.x
versions of NumPy, modules must be compiled with NumPy 2.0.
Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
If you are a user of the module, the easiest solution will be to
downgrade to 'numpy<2' or try to upgrade the affected module.
We expect that some modules will need time to support NumPy 2.
Traceback (most recent call last):  File "/scratch1/rwibawa/cvit/ns/main_nowandb.py", line 5, in
import train_nowandb
File "/scratch1/rwibawa/cvit/ns/train_nowandb.py", line 8, in
from src.model import CVit
File "/scratch1/rwibawa/cvit/ns/src/init.py", line 2, in
from . import data_pipeline
File "/scratch1/rwibawa/cvit/ns/src/data_pipeline.py", line 13, in
import tensorflow as tf
File "/home1/rwibawa/.local/lib/python3.11/site-packages/tensorflow/init.py", line 467, in
importlib.import_module("keras.src.optimizers")
File "/spack/2206/apps/linux-centos7-x86_64_v3/gcc-11.3.0/python-3.11.3-gl2q3yz/lib/python3.11/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/home1/rwibawa/.local/lib/python3.11/site-packages/keras/init.py", line 2, in
from keras.api import DTypePolicy
File "/home1/rwibawa/.local/lib/python3.11/site-packages/keras/api/init.py", line 8, in
from keras.api import activations
File "/home1/rwibawa/.local/lib/python3.11/site-packages/keras/api/activations/init.py", line 7, in
from keras.src.activations import deserialize
File "/home1/rwibawa/.local/lib/python3.11/site-packages/keras/src/init.py", line 13, in
from keras.src import visualization
File "/home1/rwibawa/.local/lib/python3.11/site-packages/keras/src/visualization/init.py", line 2, in
from keras.src.visualization import plot_image_gallery
File "/home1/rwibawa/.local/lib/python3.11/site-packages/keras/src/visualization/plot_image_gallery.py", line 13, in
import matplotlib.pyplot as plt
File "/spack/2206/apps/linux-centos7-x86_64_v3/gcc-11.3.0/python-3.11.3-gl2q3yz/lib/python3.11/site-packages/matplotlib/init.py", line 129, in
from . import _api, _version, cbook, _docstring, rcsetup
File "/spack/2206/apps/linux-centos7-x86_64_v3/gcc-11.3.0/python-3.11.3-gl2q3yz/lib/python3.11/site-packages/matplotlib/rcsetup.py", line 27, in
from matplotlib.colors import Colormap, is_color_like
File "/spack/2206/apps/linux-centos7-x86_64_v3/gcc-11.3.0/python-3.11.3-gl2q3yz/lib/python3.11/site-packages/matplotlib/colors.py", line 56, in
from matplotlib import _api, _cm, cbook, scale
File "/spack/2206/apps/linux-centos7-x86_64_v3/gcc-11.3.0/python-3.11.3-gl2q3yz/lib/python3.11/site-packages/matplotlib/scale.py", line 22, in
from matplotlib.ticker import (
File "/spack/2206/apps/linux-centos7-x86_64_v3/gcc-11.3.0/python-3.11.3-gl2q3yz/lib/python3.11/site-packages/matplotlib/ticker.py", line 138, in
from matplotlib import transforms as mtransforms
File "/spack/2206/apps/linux-centos7-x86_64_v3/gcc-11.3.0/python-3.11.3-gl2q3yz/lib/python3.11/site-packages/matplotlib/transforms.py", line 49, in
from matplotlib._path import (
AttributeError: _ARRAY_API not found
A module that was compiled using NumPy 1.x cannot be run in
NumPy 2.0.2 as it may crash. To support both 1.x and 2.x
versions of NumPy, modules must be compiled with NumPy 2.0.
Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
If you are a user of the module, the easiest solution will be to
downgrade to 'numpy<2' or try to upgrade the affected module.
We expect that some modules will need time to support NumPy 2.
Traceback (most recent call last):  File "/scratch1/rwibawa/cvit/ns/main_nowandb.py", line 5, in
import train_nowandb
File "/scratch1/rwibawa/cvit/ns/train_nowandb.py", line 8, in
from src.model import CVit
File "/scratch1/rwibawa/cvit/ns/src/init.py", line 2, in
from . import data_pipeline
File "/scratch1/rwibawa/cvit/ns/src/data_pipeline.py", line 13, in
import tensorflow as tf
File "/home1/rwibawa/.local/lib/python3.11/site-packages/tensorflow/init.py", line 467, in
importlib.import_module("keras.src.optimizers")
File "/spack/2206/apps/linux-centos7-x86_64_v3/gcc-11.3.0/python-3.11.3-gl2q3yz/lib/python3.11/importlib/init.py", line 126, in import_module
return bootstrap.gcd_import(name[level:], package, level)
File "/home1/rwibawa/.local/lib/python3.11/site-packages/keras/init.py", line 2, in
from keras.api import DTypePolicy
File "/home1/rwibawa/.local/lib/python3.11/site-packages/keras/api/init.py", line 34, in
from keras.api import visualization
File "/home1/rwibawa/.local/lib/python3.11/site-packages/keras/api/visualization/init.py", line 11, in
from keras.src.visualization.plot_bounding_box_gallery import (
File "/home1/rwibawa/.local/lib/python3.11/site-packages/keras/src/visualization/plot_bounding_box_gallery.py", line 12, in
from matplotlib import patches  # For legend patches
File "/spack/2206/apps/linux-centos7-x86_64_v3/gcc-11.3.0/python-3.11.3-gl2q3yz/lib/python3.11/site-packages/matplotlib/init.py", line 129, in
from . import api, version, cbook, docstring, rcsetup
File "/spack/2206/apps/linux-centos7-x86_64_v3/gcc-11.3.0/python-3.11.3-gl2q3yz/lib/python3.11/site-packages/matplotlib/rcsetup.py", line 27, in
from matplotlib.colors import Colormap, is_color_like
File "/spack/2206/apps/linux-centos7-x86_64_v3/gcc-11.3.0/python-3.11.3-gl2q3yz/lib/python3.11/site-packages/matplotlib/colors.py", line 56, in
from matplotlib import api, cm, cbook, scale
File "/spack/2206/apps/linux-centos7-x86_64_v3/gcc-11.3.0/python-3.11.3-gl2q3yz/lib/python3.11/site-packages/matplotlib/scale.py", line 22, in
from matplotlib.ticker import (
File "/spack/2206/apps/linux-centos7-x86_64_v3/gcc-11.3.0/python-3.11.3-gl2q3yz/lib/python3.11/site-packages/matplotlib/ticker.py", line 138, in
from matplotlib import transforms as mtransforms
File "/spack/2206/apps/linux-centos7-x86_64_v3/gcc-11.3.0/python-3.11.3-gl2q3yz/lib/python3.11/site-packages/matplotlib/transforms.py", line 49, in
from matplotlib.path import (
AttributeError: ARRAY_API not found
/spack/2206/apps/linux-centos7-x86_64_v3/gcc-11.3.0/python-3.11.3-gl2q3yz/lib/python3.11/site-packages/absl/flags/validators.py:254: UserWarning: Flag --config has a non-None default value; therefore, mark_flag_as_required will pass even if flag is not specified in the command line!
mark_flag_as_required(flag_name, flag_values)
I1227 09:47:57.819218<PHONE_NUMBER>03712 checkpoint_manager.py:566] [process=0][thread=MainThread] CheckpointManager init: checkpointers=None, item_names=None, item_handlers=None, handler_registry=None
I1227 09:47:57.819641<PHONE_NUMBER>03712 composite_checkpoint_handler.py:499] Initialized registry DefaultCheckpointHandlerRegistry({('metrics', <class 'orbax.checkpoint.src.handlers.json_checkpoint_handler.JsonSaveArgs'>): <orbax.checkpoint.src.handlers.json_checkpoint_handler.JsonCheckpointHandler object at 0x7f3094115e50>, ('metrics', <class 'orbax.checkpoint.src.handlers.json_checkpoint_handler.JsonRestoreArgs'>): <orbax.checkpoint.src.handlers.json_checkpoint_handler.JsonCheckpointHandler object at 0x7f3094115e50>}).
I1227 09:47:57.820122<PHONE_NUMBER>03712 abstract_checkpointer.py:35] orbax-checkpoint version: 0.10.3
I1227 09:47:57.820212<PHONE_NUMBER>03712 async_checkpointer.py:76] [process=0][thread=MainThread] Using barrier_sync_fn: <function get_barrier_sync_fn.. at 0x7f30745c23e0> timeout: 600 secs and primary_host=0 for async checkpoint writes
I1227 09:47:57.820417<PHONE_NUMBER>03712 multihost.py:293] [process=0][thread=MainThread] Skipping global process sync, barrier name: CheckpointManager:create_directory
I1227 09:47:57.825712<PHONE_NUMBER>43968 checkpoint.py:225] Read Metadata={'init_timestamp_nsecs':<PHONE_NUMBER>503152670, 'commit_timestamp_nsecs':<PHONE_NUMBER>220808221} from /scratch1/rwibawa/cvit/ns/checkpoints2/303400/CHECKPOINT_METADATA
I1227 09:47:57.845154<PHONE_NUMBER>03712 checkpoint_manager.py:1469] Found 14 checkpoint steps in /scratch1/rwibawa/cvit/ns/checkpoints2
I1227 09:47:57.845750<PHONE_NUMBER>03712 checkpoint_manager.py:1510] Saving root metadata
I1227 09:47:57.845834<PHONE_NUMBER>03712 multihost.py:293] [process=0][thread=MainThread] Skipping global process sync, barrier name: CheckpointManager:save_metadata
I1227 09:47:57.845890<PHONE_NUMBER>03712 checkpoint_manager.py:733] [process=0][thread=MainThread] CheckpointManager created,  primary_host=0, CheckpointManagerOptions=CheckpointManagerOptions(save_interval_steps=1, max_to_keep=10, keep_time_interval=None, keep_period=None, should_keep_fn=None, best_fn=None, best_mode='max', keep_checkpoints_without_metrics=True, step_prefix=None, step_format_fixed_length=None, step_name_format=None, create=True, cleanup_tmp_directories=False, save_on_steps=frozenset(), single_host_load_and_broadcast=False, todelete_subdir=None, enable_background_delete=False, read_only=False, enable_async_checkpointing=True, async_options=None, multiprocessing_options=MultiprocessingOptions(primary_host=0, active_processes=None, barrier_sync_key_prefix=None), should_save_fn=None, file_options=FileOptions(path_permission_mode=None), save_root_metadata=True, temporary_path_class=None), root_directory=/scratch1/rwibawa/cvit/ns/checkpoints2: <orbax.checkpoint.checkpoint_manager.CheckpointManager object at 0x7f3074768090>
I1227 09:47:57.848666<PHONE_NUMBER>03712 checkpointer.py:236] Restoring checkpoint from /scratch1/rwibawa/cvit/ns/checkpoints2/334600.
I1227 09:47:57.849260<PHONE_NUMBER>03712 composite_checkpoint_handler.py:554] No entry found in handler registry for item: default and args with type: <class 'orbax.checkpoint.src.handlers.standard_checkpoint_handler.StandardRestoreArgs'>. Falling back to global handler registry.
I1227 09:47:57.849389<PHONE_NUMBER>03712 base_pytree_checkpoint_handler.py:322] Created BasePyTreeCheckpointHandler: pytree_metadata_options=PyTreeMetadataOptions(support_rich_types=False)
I1227 09:47:57.849548<PHONE_NUMBER>03712 composite_checkpoint_handler.py:233] Deferred registration for item: "default". Adding handler <orbax.checkpoint._src.handlers.standard_checkpoint_handler.StandardCheckpointHandler object at 0x7f30942bfdd0> for item "default" and save args <class 'orbax.checkpoint._src.handlers.standard_checkpoint_handler.StandardSaveArgs'> and restore args <class 'orbax.checkpoint._src.handlers.standard_checkpoint_handler.StandardRestoreArgs'> to _handler_registry.
I1227 09:48:02.480482<PHONE_NUMBER>03712 base_pytree_checkpoint_handler.py:111] [process=0] /jax/checkpoint/read/bytes_per_sec: 229.4 MiB/s (total bytes: 1.0 GiB) (time elapsed: 4 seconds) (per-host)
I1227 09:48:02.482426<PHONE_NUMBER>03712 checkpointer.py:239] Finished restoring checkpoint from /scratch1/rwibawa/cvit/ns/checkpoints2/334600.
I1227 09:48:02.482512<PHONE_NUMBER>03712 multihost.py:293] [process=0][thread=MainThread] Skipping global process sync, barrier name: Checkpointer:restore
I1227 09:48:02.482597<PHONE_NUMBER>03712 standard_logger.py:34] {'step': 334600, 'event_type': 'restore', 'directory': '/scratch1/rwibawa/cvit/ns/checkpoints2', 'checkpointer_start_time':<PHONE_NUMBER>.8485606, 'checkpointer_duration_secs': 4.633980989456177, 'checkpoint_manager_start_time':<PHONE_NUMBER>.8460107, 'checkpoint_manager_duration_secs': 4.636533737182617}
/scratch1/rwibawa/cvit/ns/ns_pipeline.py:76: UserWarning: Creating a tensor from a list of numpy.ndarrays is extremely slow. Please consider converting the list to a single numpy.ndarray with numpy.array() before converting to a tensor. (Triggered internally at ../torch/csrc/utils/tensor_new.cpp:278.)
ux = torch.Tensor(f[key+'/ux'])
/scratch1/rwibawa/cvit/ns/ns_pipeline.py:88: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad(True), rather than torch.tensor(sourceTensor).
mu = torch.tensor([torch.mean(data[:,:,:,:,0]), torch.mean(torch.tensor(visc))])
/scratch1/rwibawa/cvit/ns/ns_pipeline.py:89: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad(True), rather than torch.tensor(sourceTensor).
std = torch.tensor([torch.mean(data[:,:,:,:,0]), torch.std(torch.tensor(visc))])
device gpu
device gpu
Total number of parameters: 92,601,089
/spack/2206/apps/linux-centos7-x86_64_v3/gcc-11.3.0/python-3.11.3-gl2q3yz/lib/python3.11/multiprocessing/popen_fork.py:66: RuntimeWarning: os.fork() was called. os.fork() is incompatible with multithreaded code, and JAX is multithreaded, so this will likely lead to a deadlock.
self.pid = os.fork()
2024-12-27 09:49:33.465355: W external/xla/xla/hlo/transforms/simplifiers/hlo_rematerialization.cc:3021] Can't reduce memory use below -3.34GiB (-3587639705 bytes) by rematerialization; only reduced to 33.07GiB<PHONE_NUMBER>6 bytes), down from 33.07GiB<PHONE_NUMBER>6 bytes) originally
2024-12-27 09:49:43.791355: W external/xla/xla/tsl/framework/bfc_allocator.cc:501] Allocator (GPU_0_bfc) ran out of memory trying to allocate 32.00GiB (rounded to<PHONE_NUMBER>8)requested by op
2024-12-27 09:49:43.792525: W external/xla/xla/tsl/framework/bfc_allocator.cc:512] ****************************_________________________________________________________
E1227 09:49:43.792548    8670 pjrt_stream_executor_client.cc:3086] Execution of replica 0 failed: RESOURCE_EXHAUSTED: Out of memory while trying to allocate<PHONE_NUMBER>8 bytes.
Traceback (most recent call last):
File "/scratch1/rwibawa/cvit/ns/main_nowandb.py", line 31, in
app.run(main)
File "/spack/2206/apps/linux-centos7-x86_64_v3/gcc-11.3.0/python-3.11.3-gl2q3yz/lib/python3.11/site-packages/absl/app.py", line 308, in run
_run_main(main, args)
File "/spack/2206/apps/linux-centos7-x86_64_v3/gcc-11.3.0/python-3.11.3-gl2q3yz/lib/python3.11/site-packages/absl/app.py", line 254, in _run_main
sys.exit(main(argv))
^^^^^^^^^^
File "/scratch1/rwibawa/cvit/ns/main_nowandb.py", line 26, in main
eval.evaluate(FLAGS.config)
File "/scratch1/rwibawa/cvit/ns/eval.py", line 81, in evaluate
pred = model.apply(state.params, x, coords)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/scratch1/rwibawa/cvit/ns/src/model.py", line 364, in call
x = CrossAttnBlock(
^^^^^^^^^^^^^^^
File "/scratch1/rwibawa/cvit/ns/src/model.py", line 133, in call
x = nn.MultiHeadDotProductAttention(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home1/rwibawa/.local/lib/python3.11/site-packages/flax/linen/attention.py", line 674, in call
x = self.attention_fn(*attn_args, **attn_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home1/rwibawa/.local/lib/python3.11/site-packages/flax/linen/attention.py", line 266, in dot_product_attention
attn_weights = dot_product_attention_weights(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home1/rwibawa/.local/lib/python3.11/site-packages/flax/linen/attention.py", line 132, in dot_product_attention_weights
attn_weights = einsum('...qhd,...khd->...hqk', query, key)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home1/rwibawa/.local/lib/python3.11/site-packages/jax/_src/numpy/lax_numpy.py", line 9747, in einsum
return einsum(operands, contractions, precision,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/spack/2206/apps/linux-centos7-x86_64_v3/gcc-11.3.0/python-3.11.3-gl2q3yz/lib/python3.11/contextlib.py", line 81, in inner
return func(*args, **kwds)
^^^^^^^^^^^^^^^^^^^
jaxlib.xla_extension.XlaRuntimeError: RESOURCE_EXHAUSTED: Out of memory while trying to allocate<PHONE_NUMBER>8 bytes.
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.`

Hi, I still got the same error by using numpy 1.26.4.  batch size =1 as shown below. And coords size is (16.384, 2). I think 16384 = 128*128
`import ml_collections
import jax.numpy as jnp
def get_config():
"""Get the default hyperparameter configuration."""
import ml_collections
config = ml_collections.ConfigDict()
config.mode = "eval"
# Input shape for initializing Flax models
config.x_dim = [10, 10, 128, 128, 2]
config.coords_dim = [1024, 2]

# Integer for PRNG random seed.
config.seed = 42

# Model
config.model = model = ml_collections.ConfigDict()
model.patch_size = (1, 4, 4)
model.grid_size = (128, 128)
model.latent_dim = 512
model.emb_dim = 768
model.depth = 15
model.num_heads = 12
model.dec_emb_dim = 512
model.dec_num_heads = 16
model.dec_depth = 1
model.num_mlp_layers = 1
model.mlp_ratio = 2
model.out_dim = 1
model.embedding_type = "grid"

# Dataset
config.dataset = dataset = ml_collections.ConfigDict()
dataset.path = "/scratch1/rwibawa/cvit/NavierStokes-2D/"
dataset.components = ["u", "vx", "vy"]
dataset.prev_steps = 10
dataset.pred_steps = 1
dataset.downsample = 1

dataset.train_samples = 6500
dataset.test_samples = 10
dataset.batch_size = 1 #10
dataset.num_query_points = 1024
dataset.num_workers = 8

# Learning rate
config.lr = lr = ml_collections.ConfigDict()
lr.init_value = 0.0
lr.end_value = 1e-6
lr.peak_value = 1e-3
lr.decay_rate = 0.9
lr.transition_steps = 5000
lr.warmup_steps = 5000

# Optim
config.optim = optim = ml_collections.ConfigDict()
optim.beta1 = 0.9
optim.beta2 = 0.999
optim.eps = 1e-8
optim.weight_decay = 1e-5
optim.clip_norm = 10.0

# Training
config.training = training = ml_collections.ConfigDict()
training.num_steps = 4 * 10**5

# Logging
config.logging = logging = ml_collections.ConfigDict()
logging.log_interval = 200
logging.eval_steps = 10

# Saving
config.saving = saving = ml_collections.ConfigDict()
saving.save_interval = 200
saving.num_keep_ckpts = 10

# Evaluation
config.eval = eval = ml_collections.ConfigDict()
eval.rollout_steps = 4

return config

`
Thank you

I noticed that in eval.py, the batch size is hardcoded as follows:
test_loader = DataLoader(
    test_dataset, batch_size=32, shuffle=False, drop_last=True, num_workers=8
)

Did you reduce the batch size as well?


FileSystem.ls of an empty directory "returns" an error instead of []

react-native: 0.73.1
react-native-file-access: 3.0.4
Platform: IOS (untested on Android)
Bug
File.ls(that_directory) should be giving back an empty array, but it's giving me an error:
<Failed to list '.../Library/Developer/CoreSimulator/Devices/EFBB9369-7017-4DFB-9849-711E7B13FB8F/data/Containers/Data/Application/725BAB6C-1A19-4CE1-B526-960817C14CB7/Library/Sounds'>
(Note: this is running in the Simulator).
To reproduce
Make an empty directory, and then call FileSystem.ls on that directory
Details
If I add a file to the empty directory, it does not error-out.  I don't have hand demo, but will attempt to make one later this week.

Are you able to try v3.0.5?  It has slightly more detailed iOS error messages, which should help debug this issue.

I will try to do so within the next few days.

It's not happening now.  Sorry.


Remove Tailwind and set up a design system using css custom properties

This is a quite a big one but it needs to be done to make it easier in the future.

[ ] Add proper CSS custom properties for regular use (colors, grays, sizing, elevation, shadows)
[ ] Define common styles for headings (h1, h2, h3, etc.) and other common elements
[ ] Remove Tailwind (including all the preprocessing and files)

Edit: changed title to not be so rude.

Going to try and get the basics of this set up for structure today so if anyone wants to help, they will have a good starting point. I was going to set up some aliases, do you care if it's @ or $?

I think $ makes most sense. You're thinking about doing a $components thing?

Yes, I usually use @ because it reads better, but I can set them up as $ because it's more standard to Svelte.

Here is a link to view the Figma file, once you view it I can change the collaborators to be able to edit the file.
Figma - Svelte Society


As suggested by anonym on #13721, add en-US locale to chrome.manifest

Here's a tested patch for https://trac.torproject.org/projects/tor/ticket/13721.
We've tested that in current Tails and it works.

Thank you; merged.


yearDiscovered should give an approximate year if possible

Some elements have their year of discovery marked as "Ancient" which I'd like to narrow down to at least some approximate integer date (even if it is a negative to represent BC). This adds more context to the data but also better normalizes it so users don't have to check for number or string when working with the values.

My suggestion would be to use -infinity as the value
This way, you have a datatype of number and still keep the "unknown" factor. Some elements we really can't put a date on, even roughly.


add batch edit run for fetching libs on all repos

This uses git-xargs to run fetch-libs on all repos and open PRs where we have old libs.  See README.md for more details

Agreed.  This'll hopefully be moot too when we get an automatic bumping of our libs going in CI


Fix auto merge conflict 11034 [skip ci]

Resolve auto-merge conflict at https://github.com/NVIDIA/spark-rapids/pull/11034.
Keep dependency versions 24.08.0-SNAPSHOT in pom.xml
NOTE: this must be merged as create a merge commit

build

@NvTimLiu note that there are new commits that have been added to #11034 (e.g.: https://github.com/NVIDIA/spark-rapids/pull/11034/commits/e9ccf97e453ff6ba1e97aa867f7f80c516d13189)  that need to be upmerged.  If that's not going to be addressed by this, we'll need to trigger the auto-merge afterwards.

build

build


Doesn't work anymore

A valid image: https://hub.docker.com/r/neosmemo/memos/tags
However:
> docker-image-extract neosmemo/memos:latest
Platform linux/amd64 resolved to 'latest'...
Getting API token...
Getting image manifest for neosmemo/memos:latest...
No layers returned. Verify that the image and ref are valid.

Checking what the fetch on line 232 returns reveals the following:
{"errors":[{"code":"MANIFEST_UNKNOWN","message":"OCI index found, but accept header does not support OCI indexes"}]}

Thanks for the report. This should be fixed in df529b0.


Docs.MS CI Updates for Azure.Template

CI Update for release of Azure.Template

Docs Build status updates of commit f779f95:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

bundlepackages/azure-dotnet-preview.csv
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Prototype simplify dataset model

This involves removing a lot of work around Sources (including the Source panel), since they seem to cause confusion generally.

Done


Fix config.sh to keep arguments with spaces intact

Because $* in a Bash script corresponds to a string of the command line arguments joined together with spaces, the current implementation of "config.sh" does not keep arguments with spaces in them intact, instead separating them into separate arguments. This can be corrected by using "$@" instead, which keeps all of the original arguments intact, regardless of any spaces they contain.
For example, if you run a command with a space in one of the option values, such as for the pool:
$ ./config.sh --unattended --acceptteeeula --url https://myaccount.visualstudio.com --auth PAT --token  --pool "Default Pool" --agent myagent
It will split the "Default Pool" argument into two when passing it on to "bin/Agent.Listener", which means that the value "Default" is recognized for the pool setting, and the extra word "Pool" is then treated as its own, unrecognized argument, instead of keeping "Default Pool" as a single argument.

For a little more context, Ryan is a teammate of mine, and was helping me with a deployment script. We noticed this when we ran an unattended configuration command similar to the example above, with "Xamarin Mac" as the pool. The agent showed up in our "Xamarin" pool, leading to our investigation. The adjusted script appears to have worked for us in our use case, and put the agent in the "Xamarin Mac" pool as expected.
It also looks like ./run.sh does something similar, so it may need a similar change. Our use case doesn't interact with that script at all though, so someone with a test case could confirm it.

@ericsciple - this looks OK.  Agree?


Fix broken links in README.md

Fix broken links in README.md.

Thanks for the observation. I appreciate.
We have recently been reorganizing the document structure and optimizing the document content, and will make necessary corrections.

Updated


mkdir not a directory error

@Jonathan50 got this error when testing my project - I'm 90% sure it has to do with nearley-make:

ENOTDIR: not a directory, mkdir '~/.npm/nearley/2.7.1/package'

This package never tries to make a directory

"cannot reproduce" - if you clone my repository and test will it have the issue..?
(I guess I need to test it myself! ^^;)

Wait what, it's right, ~/.npm/nearley is a file...

Deleting ~/.npm/nearley seems to fix it.


Conditional templating

I tried a couple of things with my limited knowledge but couldn't get anything to work.
I need to check if an icon has an underscore in its name "foo_bar.png" and if so, use the whole template and if not just use part of it. This is so I can override images in my css in certain conditions.
I want to use the first part of the string before the _ as the first image name (foo) and the last part as the second image name (bar).
My template looks like this
`{{#sprites}}
.bk-lgo {
background-image: url({{{escaped_image}}});
@extend %logo-default;
}
.bk-lgo-{{foo}} {
background-position: {{px.offset_x}} {{px.offset_y}};
        {{#if hasUnderscore}}
             &.bk-lgo-{{bar}} {
            background-position: {{px.offset_x}} {{px.offset_y}};
            }
        {{/if}}
     }
 {{/sprites}}`

and the gulp task
`gulp.task('sprites', function() {
var spriteData = gulp.src(distLogo)
.pipe(spritesmith({
imgName: 'distributor-logos.png',
cssName: '_md-distributor-logos.scss',
cssTemplate: baseDir + '/ui-dev/scss/sprite-template/iconScssTemplate.handlebars',
imgPath: '/Content/images/distributor-logo-sprite/distributor-logos.png',
padding: 16,
imgOpts: {quality: 100}
}));
var imgStream = spriteData.img
	.pipe(gulp.dest(baseDir + '/Content/images/distributor-logo-sprite/'));
var cssStream = spriteData.css
	.pipe(gulp.dest(baseDir + '/ui-dev/scss/modules/'));

return merge(imgStream, cssStream);
});`

As I understand it, I would need some sort of helper in the handlebars template and register that helper in my gulp build. Any help with this would appreciated. Hope this makes sense.

Thanks for your reply. A code example would be great, thank you.

Okay, I don't have much time this morning to provide an example. I can't think of how to do the underscore containment in SCSS though I'm sure it's possible
I'd suggest rethinking the approach to instead be that we have 2 lists of sprites which need different classes. So we can use the common sprites mixin for all of them then call out the ones that need the additional class explicitly:
@include sprites($spritesheet-sprites);

@mixin sprite-alt($sprite) {
  .alt-sprite-class {
    background-position: 100px 200px;
  }
}
@include sprite-alt($sprite-foo);

Thanks Todd. This is helpful.


Auth and profile page

Work Finished

Can we remove the two mp3 files to avoid adding copyright material to the repository? :wink:
We can instead stream publicly available audio from the web from something like https://www2.cs.uic.edu/~i101/SoundFiles

Thanks for this @hudadamar21! I want to merge this, but I'm wanting to delete the MP3 files first. GitHub isn't allowing me to do this for some reason. Are you able to do this using GitHub's interface?

Closing in favor of https://github.com/jamtools/mattermost-plugin-mattermusic/pull/61
Thanks @hudadamar21!


[SMALLFIX]change some words

Change
"Print the content of the file to the console."
to
"Print the content of a file to the console."

alluxio-bot, check this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17807/
Test PASSed.

@buyi1128 thanks for the contribution. Can you sign the CLA and resolve the conflicts?


[GSSOC'21] Kruskal's Algorithm

Hello, I am a GSSOC'21 participant and I want to add the code of this algorithm. My code will be in C++. I will also give some other examples which will be solved using this algorithm with proper explanation. Please assign me this. Hope to hear you.
Thank you .

I would like to implement the above question in Python, I will write neat and clean code
please assign me this issue under GSSoC 2021

Hey, I am Kanchan Jeswani, a GSSOC'21 participant.
I am a Competitive Programmer and C++ enthusiastic.
I would love to solve this problem using CPP with well-explained code and along with its time and space complexity.
Please assign me this issue.
Hope to hear from you.
Discord username  kanchan19#3152
@anubhavitis @dheerajkotwani @tarun26091999 @todi-2000 @geekquad @plazzy99 @rudrakshi99

I am a GSSOC'21 participant and I would really like to contribute to this algorithm in C++ with added comments, test cases, and time and space complexity. Looking forward to the contribution.


Support using spring-data-redis as a dependency library for the redis storage implementation to integrate with spring

fixed. https://github.com/Ahoo-Wang/Simba/commit/a8506cfaa3500964f2017eec3d39ee1ee2698370


Return the path create time in API GET requests

Describe the feature
Description
For the management reasons from external application I have to know the time when path was created.

Hello, i've added field readyTime to paths. #2082

added in v0.23.8


build fails on AArch64, Fedora 33

[jw@cn05 pinot]$ mvn install -DskipTests -Pbin-dist
...
[INFO] Installing artifact /home/jw/.m2/repository/org/apache/logging/log4j/log4j-core/2.11.2/log4j-core-2.11.2.jar to /home/jw/apache/pinot/pinot-tools/target/pinot-tools-pkg/lib/log4j-core-2.11.2.jar
[INFO] Installing artifact /home/jw/.m2/repository/org/apache/logging/log4j/log4j-api/2.11.2/log4j-api-2.11.2.jar to /home/jw/apache/pinot/pinot-tools/target/pinot-tools-pkg/lib/log4j-api-2.11.2.jar
[INFO] Installing artifact /home/jw/.m2/repository/org/apache/commons/commons-math3/3.2/commons-math3-3.2.jar to /home/jw/apache/pinot/pinot-tools/target/pinot-tools-pkg/lib/commons-math3-3.2.jar
[INFO] Installing artifact /home/jw/apache/pinot/pinot-tools/target/pinot-tools-0.7.0-SNAPSHOT.jar to /home/jw/apache/pinot/pinot-tools/target/pinot-tools-pkg/lib/pinot-tools-0.7.0-SNAPSHOT.jar
[INFO]
[INFO] --- maven-assembly-plugin:3.1.1:single (build-pinot-tool-launcher) @ pinot-tools ---
[INFO] Building jar: /home/jw/apache/pinot/pinot-tools/target/pinot-tool-launcher-jar-with-dependencies.jar
[INFO]
[INFO] --- maven-assembly-plugin:3.1.1:single (build-query-comparison) @ pinot-tools ---
[INFO] Building jar: /home/jw/apache/pinot/pinot-tools/target/query-comparison-jar-with-dependencies.jar
[INFO]
[INFO] --- maven-site-plugin:3.7.1:attach-descriptor (attach-descriptor) @ pinot-tools ---
[INFO] Skipping because packaging 'jar' is not pom.
[INFO]
[INFO] --- maven-jar-plugin:2.2:test-jar (default) @ pinot-tools ---
[INFO] Building jar: /home/jw/apache/pinot/pinot-tools/target/pinot-tools-0.7.0-SNAPSHOT-tests.jar
[INFO]
[INFO] --- maven-surefire-plugin:3.0.0-M5:test (integration-tests) @ pinot-tools ---
[INFO] Tests are skipped.
[INFO]
[INFO] --- license-maven-plugin:2.8:check (default) @ pinot-tools ---
[INFO] Checking licenses...
[WARNING] Unknown file extension: /home/jw/apache/pinot/pinot-tools/src/main/resources/examples/stream/airlineStats/sample_data/airlineStats_data.orc
[WARNING] Unable to find a comment style definition for some files. You may want to add a custom mapping for the relevant file extensions.
[INFO]
[INFO] --- apache-rat-plugin:0.13:check (default) @ pinot-tools ---
[INFO] Enabled default license matchers.
[INFO] Will parse SCM ignores for exclusions...
[INFO] Finished adding exclusions from SCM ignore files.
[INFO] 62 implicit excludes (use -debug for more details).
[INFO] 39 explicit excludes (use -debug for more details).
[INFO] 157 resources included (use -debug for more details)
[INFO] Rat check: Summary over all files. Unapproved: 1, unknown: 1, generated: 0, approved: 156 licenses.
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for Pinot 0.7.0-SNAPSHOT:
[INFO]
[INFO] Pinot .............................................. SUCCESS [ 16.493 s]
[INFO] Pinot Service Provider Interface ................... SUCCESS [ 15.031 s]
[INFO] Pinot Plugins ...................................... SUCCESS [  1.901 s]
[INFO] Pinot Metrics ...................................... SUCCESS [  0.565 s]
[INFO] Pinot Yammer Metrics ............................... SUCCESS [ 19.589 s]
[INFO] Pinot Common ....................................... SUCCESS [01:10 min]
[INFO] Pinot Input Format ................................. SUCCESS [  1.105 s]
[INFO] Pinot Avro Base .................................... SUCCESS [  3.116 s]
[INFO] Pinot Avro ......................................... SUCCESS [  2.611 s]
[INFO] Pinot Csv .......................................... SUCCESS [  1.583 s]
[INFO] Pinot JSON ......................................... SUCCESS [  1.531 s]
[INFO] Pinot Core ......................................... SUCCESS [01:01 min]
[INFO] Pinot Server ....................................... SUCCESS [ 28.700 s]
[INFO] Pinot Controller ................................... SUCCESS [06:26 min]
[INFO] Pinot Broker ....................................... SUCCESS [ 42.325 s]
[INFO] Pinot Clients ...................................... SUCCESS [  0.526 s]
[INFO] Pinot Java Client .................................. SUCCESS [  2.591 s]
[INFO] Pinot JDBC Client .................................. SUCCESS [  3.156 s]
[INFO] Pinot Batch Ingestion .............................. SUCCESS [  1.732 s]
[INFO] Pinot Batch Ingestion Common ....................... SUCCESS [  2.488 s]
[INFO] Pinot Minion ....................................... SUCCESS [ 13.815 s]
[INFO] Pinot Confluent Avro ............................... SUCCESS [  6.294 s]
[INFO] Pinot ORC .......................................... SUCCESS [ 28.449 s]
[INFO] Pinot Parquet ...................................... SUCCESS [ 33.363 s]
[INFO] Pinot Thrift ....................................... SUCCESS [  3.318 s]
[INFO] Pinot Protocol Buffers ............................. SUCCESS [  3.395 s]
[INFO] Pluggable Pinot file system ........................ SUCCESS [  0.482 s]
[INFO] Pinot Azure Data Lake Storage ...................... SUCCESS [ 13.405 s]
[INFO] Pinot Hadoop Filesystem ............................ SUCCESS [  3.374 s]
[INFO] Pinot Google Cloud Storage ......................... SUCCESS [ 10.825 s]
[INFO] Pinot Amazon S3 .................................... SUCCESS [ 23.689 s]
[INFO] Pinot Batch Ingestion for Spark .................... SUCCESS [ 13.029 s]
[INFO] Pinot Batch Ingestion for Hadoop ................... SUCCESS [ 11.239 s]
[INFO] Pinot Batch Ingestion Standalone ................... SUCCESS [  2.597 s]
[INFO] Pinot Batch Ingestion .............................. SUCCESS [  1.048 s]
[INFO] Pinot Ingestion Common ............................. SUCCESS [ 20.996 s]
[INFO] Pinot Hadoop ....................................... SUCCESS [01:45 min]
[INFO] Pinot Spark ........................................ SUCCESS [01:55 min]
[INFO] Pinot Stream Ingestion ............................. SUCCESS [  0.515 s]
[INFO] Pinot Kafka Base ................................... SUCCESS [  1.479 s]
[INFO] Pinot Kafka 0.9 .................................... SUCCESS [ 11.825 s]
[INFO] Pinot Kafka 2.0 .................................... SUCCESS [ 14.118 s]
[INFO] Pinot Minion Tasks ................................. SUCCESS [ 30.201 s]
[INFO] Pinot Minion Built-In Tasks ........................ SUCCESS [01:08 min]
[INFO] Pinot Tools ........................................ FAILURE [03:19 min]
[INFO] Pinot Integration Tests ............................ SKIPPED
[INFO] Pinot Perf ......................................... SKIPPED
[INFO] Pinot Distribution ................................. SKIPPED
[INFO] Pinot Connectors ................................... SKIPPED
[INFO] Pinot Spark Connector .............................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  23:23 min
[INFO] Finished at: 2021-03-17T11:49:33+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.rat:apache-rat-plugin:0.13:check (default) on project pinot-tools: Too many files with unapproved license: 1 See RAT report in: /home/jw/apache/pinot/pinot-tools/target/rat.txt -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn  -rf :pinot-tools
[jw@cn05 pinot]$
rat.txt contains
1 Unknown Licenses                                                                                *****************************************************                                                                                Files with unapproved licenses:                                                                                /home/jw/apache/pinot/pinot-tools/src/main/resources/examples/stream/airlineStats/sample_data/airlineStats_data.orc                                                                                *****************************************************

This seems to be an issue of license check.
Can you try to add -Drat.skip=true into your maven command to bypass this error ?
Or you can add the exclude for apache-rat-plugin section into root pom.xml file, after line here: https://github.com/apache/incubator-pinot/blob/621ceb021cefa1640708f3bb4d576270717f70d6/pom.xml#L1636

Thanks, that helped. But for ThirdEye I get this problem:
[jw@cn05 thirdeye]$ ./install.sh

Building ThirdEye

[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for org.apache.pinot.thirdeye:thirdeye-pinot:jar:1.0.0-SNAPSHOT
[WARNING] Reporting configuration should be done in  section, not in maven-site-plugin  as reportPlugins parameter. @ org.apache.pinot.thirdeye:thirdeye-pinot:${revision}${sha1}, /home/jw/thirdeye/thirdeye-pinot/pom.xml, line 372, column 24
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] thirdeye-frontend                                                  [jar]
[INFO] thirdeye                                                           [pom]
[INFO] thirdeye-spi                                                       [jar]
[INFO] thirdeye-pinot                                                     [jar]
[INFO] thirdeye-coordinator                                               [jar]
[INFO] thirdeye-dashboard                                                 [jar]
[INFO] thirdeye-dist                                                      [jar]
[INFO]
[INFO] ------------< org.apache.pinot.thirdeye:thirdeye-frontend >-------------
[INFO] Building thirdeye-frontend 1.0.0-SNAPSHOT                          [1/7]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- frontend-maven-plugin:1.9.1:install-node-and-yarn (install node and npm) @ thirdeye-frontend ---
[INFO] Found proxies: [http{protocol='http', host='...', port=...}, https{protocol='https', host='...', port=...]
[INFO] Node v10.16.3 is already installed.
[INFO] Yarn 1.22.4 is already installed.
[INFO]
[INFO] --- frontend-maven-plugin:1.9.1:yarn (yarn config) @ thirdeye-frontend ---
[INFO] Found proxies: [http{protocol='http', host='...', port=...}, https{protocol='https', host='...', port=...}]
[INFO] Running 'yarn config set registry http://registry.npmjs.org/ --https-proxy=http://...:... --proxy=http://...:...' in /home/jw/thirdeye/thirdeye-frontend
[INFO] yarn config v1.22.4
[INFO] success Set "registry" to "http://registry.npmjs.org/".
[INFO] Done in 0.19s.
[INFO]
[INFO] --- frontend-maven-plugin:1.9.1:yarn (yarn list config) @ thirdeye-frontend ---
[INFO] Found proxies: [http{protocol='http', host='...', port=...}, https{protocol='https', host='...', port=...}]
[INFO] Running 'yarn config list --https-proxy=http://...:... --proxy=http://...:...' in /home/jw/thirdeye/thirdeye-frontend
[INFO] yarn config v1.22.4
[INFO] info yarn config
[INFO] { 'version-tag-prefix':
[INFO]    'v',
[INFO]   'version-git-tag':
[INFO]    true,
[INFO]   'version-commit-hooks':
[INFO]    true,
[INFO]   'version-git-sign':
[INFO]    false,
[INFO]   'version-git-message':
[INFO]    'v%s',
[INFO]   'init-version':
[INFO]    '1.0.0',
[INFO]   'init-license':
[INFO]    'MIT',
[INFO]   'save-prefix':
[INFO]    '^',
[INFO]   'bin-links':
[INFO]    true,
[INFO]   'ignore-scripts':
[INFO]    false,
[INFO]   'ignore-optional':
[INFO]    false,
[INFO]   registry:
[INFO]    'http://registry.npmjs.org/',
[INFO]   'strict-ssl':
[INFO]    true,
[INFO]   'user-agent':
[INFO]    'yarn/1.22.4 npm/? node/v10.16.3 linux arm64',
[INFO]   'cache-folder':
[INFO]    '/data/jw/apache/zeppelin/local-repo/helium-bundle/yarn-cache',
[INFO]   lastUpdateCheck:
[INFO]<PHONE_NUMBER>839 }
[INFO] info npm config
[INFO] { 'https-proxy':
[INFO]    'https://...:.../',
[INFO]   registry:
[INFO]    'https://registry.npmjs.org/',
[INFO]   'jttps-proxy':
[INFO]    'https://...:...',
[INFO]   list:
[INFO]    '',
[INFO]   proxy:
[INFO]    'http://...:.../',
[INFO]   https_proxy:
[INFO]    'https://...:...',
[INFO]   'strict-ssl':
[INFO]    false }
[INFO] Done in 0.18s.
[INFO]
[INFO] --- frontend-maven-plugin:1.9.1:yarn (yarn install) @ thirdeye-frontend ---
[INFO] Found proxies: [http{protocol='http', host='...', port=...}, https{protocol='https', host='...', port=...}]
[INFO] Running 'yarn install --https-proxy=http://...:... --proxy=http://...:...' in /home/jw/thirdeye/thirdeye-frontend
[INFO] yarn install v1.22.4
[INFO] [1/5] Validating package.json...
[INFO] [2/5] Resolving packages...
[INFO] warning Resolution field<EMAIL_ADDRESS>is incompatible with requested version<EMAIL_ADDRESS>[INFO] warning Resolution field<EMAIL_ADDRESS>is incompatible with requested version<EMAIL_ADDRESS>[INFO] [3/5] Fetching packages...
[INFO] error An unexpected error occurred: "EACCES: permission denied, mkdir '/data/jw/apache/zeppelin/local-repo/helium-bundle/yarn-cache/v6/npm-human-signals-1.1.0-6f5878f93f94776ff667b6d8666d5d9cad6b524c-integrity'".
[INFO] error An unexpected error occurred: "EACCES: permission denied, mkdir '/data/jw/apache/zeppelin/local-repo/helium-bundle/yarn-cache/v6/npm-human-signals-1.1.0-6f5878f93f94776ff667b6d8666d5d9cad6b524c-integrity'".info If you think this is a bug, please open a bug report with the information provided in "/home/jw/thirdeye/thirdeye-frontend/yarn-error.log".
[INFO] info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for thirdeye 1.0.0-SNAPSHOT:
[INFO]
[INFO] thirdeye-frontend .................................. FAILURE [  9.246 s]
[INFO] thirdeye ........................................... SKIPPED
[INFO] thirdeye-spi ....................................... SKIPPED
[INFO] thirdeye-pinot ..................................... SKIPPED
[INFO] thirdeye-coordinator ............................... SKIPPED
[INFO] thirdeye-dashboard ................................. SKIPPED
[INFO] thirdeye-dist ...................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  9.936 s
[INFO] Finished at: 2021-03-18T09:14:25+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.9.1:yarn (yarn install) on project thirdeye-frontend: Failed to run task: 'yarn install --https-proxy=http://... --proxy=http://...:...' failed. org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[jw@cn05 thirdeye]$ yarn install --https-proxy=http://...:... --proxy=http://...:...
yarn install v1.22.10
[1/4] Resolving packages...
success Already up-to-date.
Done in 1.09s.
[jw@cn05 thirdeye]$

Closing third-eye related issue as the project has been moved out of the pinot repo. For unsolved issue that still applies, please create a new one under third-eye repo: https://github.com/project-thirdeye/thirdeye


experimental: migrate from procedural to declarative macros

The goal here is to not break users and to also maintain the "fast paths" taken by the procedural macro where literals cause static to be used.
This PR is intended as a place of discussion, once it is sufficiently mature I'll close it and reopen a polished PR.

At random I've picked register_counter - from the initial experimentation it feels possible. We're passing cargo t with a 2 exceptions.

The following seem to fix the failing test cases while maintaining the fast paths where possible. Please tell me if this looks off in any way.
https://github.com/metrics-rs/metrics/pull/386/files/c356678f3bd0bab76ad6932a951374ca5a1e484d..5e82f3e41e5ad2034f03359286d2e1a01eb775cf

That's the "counter" cross section of macros replaced. After register_counter it isn't really involved.
Given near perfect symmetry between the metric types I don't foresee any nasty obstructions when transitioning the other macros.
I'll check benchmarks shortly to check for any regressions.

After restoring doc tests there's a bit more to do, will look into it tomorrow.

https://github.com/metrics-rs/metrics/pull/386/commits/0a32d83394342889f0a5bdb8192b3d2c3216186d has made is considerably more branch-y, but still tractable imo. Rather than making use of ? we must enumerate the combinations.
I think with some tinkering this can be compacted.

I can push for compactness now, but given #369 is around the corner I can see an argument for postponing.

I'd say let's just get the logic correct now and deal with condensing later.

I think with some tinkering this can be compacted. I think perhaps we can parse the arguments as one (or two?) tt and then pass them onto other branches - some prior art can be found in the tracing macros (info etc).

I'm not against the verbose-ness of having a branch for each possible permutation... so long as there's a viable path to, in the future, generalizing that macro logic across the different metric types. Basically, it'd be a small tragedy to just have to duplicate all of it over and over again when we do gauges and histograms... just ripe for introducing a subtle difference.
Having one register_metric macro or something, for example, that we just call into and pass the metric type-appropriate idents, and so on... and it has all of the various branches? That'd be fine.

Having one register_metric macro or something, for example, that we just call into and pass the metric type-appropriate idents, and so on... and it has all of the various branches? That'd be fine.

A reason I haven't re-used register_counter in the current impl is that the branch, in metric_macros::get_register_and_op_code for register_counter (found here) uses metrics::recorder and the counter/absolute_counter/etc branch uses metrics::try_recorder (found here).
If I use metrics::recorder for the counter branch I get a regression on the "uninitialized" benchmarks - this is a little suprising to me, I'd expect the NoopRecorder, after optimizations, to be equal in performance to checking Some(_) = try_recorder.

I'd say switch to try_recorder across the board.
The regression is surprising to me too, but also, thinking about it...  If it ever matters enough to me, or someone else, well... we can figure something out then.

Rest of the macros are migrated. I've DRY'd it up a little bit with the describe and method macros. I haven't taken the try_recorder change yet because it deduplicated less with method macro in place.
I played around a little bit with $(args: tt),*, trying something like
macro_rules counter {
    ($($args:tt),) => $crate::method(register_counter, increment, $($args),*)
}

similar with what we see in the tracing macros. This doesn't work because of the mix of delimiters we see in the macros (, and =>). You can see the exact problem here https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=def715a3d053a4b933ccb4a821260729. Perhaps this is something the next API will side step. I think there's also an argument to keeping the explicit branches in the "macro signatures" to serve as documentation.
metrics-macro is now empty. I'm guessing I should delete the crate from the workspace entirely so that we don't release an empty crate?

Perhaps this is something the next API will side step. I think there's also an argument to keeping the explicit branches in the "macro signatures" to serve as documentation.

I think things are fine as is. Good to see your example as it makes it clear, but in seeing it and seeing what you chose to do instead, it makes me think that making it perfectly DRY isn't as big a readability win as I thought it might be anyways.

metrics-macros is now empty. I'm guessing I should delete the crate from the workspace entirely so that we don't release an empty crate?

Yessss, nuke it from orbit. 👨🏻🚀

I plan on taking a final look at this over the next few days.

I can transplant this into a formal PR with a proper description now if you'd like?

Nah, no worries. At most, feel free to update the PR title and description and mark it as ready to review and all of that... but no further cleanup/tidying required.

On my machine cargo bench, on main vs this branch, shows no obvious regressions - worth double checking on your machine though.

Released as<EMAIL_ADDRESS>Thanks again for your contribution. ❤


Include py.typed file in distribution files.

Closes #237.

It looks like we just need to add this empty file. It seems setuptools_scm takes care of getting it in to the distribution files.


Does the speed performance have anything to do with the shape of the multiplication matrix? Why is the matrix multiplication of [34,2048][2048,5632] much faster than the matrix multiplication of [34,5632][5632,2048]? They have the same FLOPs.

Can you provide me more data? The former one can be slightly faster due to pre computation. However, according to our profiling, the latency of [32, 4096] x [4096, 11008] and [32, 11008] x [11008, 4096] is very close.


Use span's instead of pointer+count arguments

This ocurred to me while creating the API json spec. There are several (not many) methods in filament that take an array and a size argument. Examples:
EntityManager:
    // create n entities. Thread safe.
    void create(size_t n, Entity* entities);
    // destroys n entities. Thread safe.
    void destroy(size_t n, Entity* entities) noexcept;

RenderableManager.h:
  void setBones(Instance instance, Bone const* transforms, size_t boneCount = 1, size_t offset = 0) noexcept;

C++20 added std::span, while before then, there were things like gsl::span. When filament moves to C++20, I request that at least overloads for these methods are provided that take a std::span instead of the pointer+count arguments.
This would look like this, for example:
EntityManager:
    // create n entities. Thread safe.
    void create(std::span<Entity> entities);
    // destroys n entities. Thread safe.
    void destroy(std::span<Entity> entities) noexcept;

RenderableManager.h:
  void setBones(Instance instance, std::span<Bone>transforms) noexcept;

A side effect of this would be that an API JSON parser would be able to correctly infer that an array is being passed.

If you look at our APIs you will see that we never expose STL types (in signatures or as private members). This is to help with ABI compatibility and to not force the use of STL on client apps.

Oh, I didn't actually notice that yet. I am a bit puzzled on the ABI compatibility though, since filament doesn't seem to be built as a shared library, and doesn't that make it a moot point?

You would still need the headers used by the client app to match whatever was used to compile Filament. We link statically against the STL (and it's nice that we could go back to a .so easily).

Alright, understood.
An alternative for API purposes would be going for some annotation based approach, linking the array & size arguments. I think at some point I saw something like that for static-analysis purposes.


Changing the scale of the terrain/regions

I'm making a game, which operates on a smaller scale than your typical open world game, so I would like to trade size for detail. My map doesn't even fill a single region.
I think a property like "Terrain scale", which would just scale the mesh and the colliders, would solve that issue.
As a workaround, I could scale up everything else, but that's a lot (models, colliders, values in resources and scripts, etc.) and it doesn't seem like a good solution.
#77 and #131 are kinda related, but I don't need more detail in the region, I just need the region to be smaller (while keeping the resolution), so that 1 "pixel" is, for example 0.5m, instead of 1m.
I hope it makes sense and is possible, thanks!

#77 and #131 are kinda related, but I don't need more detail in the region, I just need the region to be smaller (while keeping the resolution), so that 1 "pixel" is, for example 0.5m, instead of 1m.

#131 - Change density from 1px=1m to 1px=0.5m or 1px=2m. With a 1024px map, 1024m=512m or 2048m
#77 - Change region map size from 1024px to 512px or 2048px
It sounds like you want #131 exactly. How is your request different?

With #131 without #77
If I would set density to 2.0, what would be the result?
1024px region_size -> 512m in game size
2048px region_size -> 1024m in game size
I thought it would be 2., that's why I said it was different.

2 requires both #131 and #77 and is not possible without it.

With #77 (without #131)
512px region_size -> 512m

Yes

But if it would be 1., then that's the same.
I hope this helped clear things up

Ok, thank you.


arm builds.

https://github.com/electron/electron/releases/download/v9.3.4/electron-v9.3.4-linux-arm64.zip
upstream isssue is solved.
https://github.com/Zerx0r/Kage/issues/21  ,
kage builds on rpi64 Gentoo/Pentoo..  with a bit of hacking to json file as mentioned. in #21  i didnt want an app image.   similar example hopefully yarn/electron to build in it's case.  so i opted for a manual build.
and was able to do rpm/deb or tarball instead of just appimage as a bonus i found the muti-platform-build , since i also have been port building pentoo packages against the arm64 gentoo rpi image.
Rasberrypi-OS now offers 64bit images.
the mentioning also can build arm7hf via the electron builder.  ie in iss.21 on kage.
yarn run build --linux --arm64 --armv7l , -mwl also works apparently  (with kage , as an example)
(https://www.electron.build/multi-platform-build )
electron-builder -mwl / yarn run build -mwl outputs even a macos pkg...
--linux --arm64 --armv7l
#962
hopefully  yakyak could likewise offer more packages.. in arm/arm64 flavors since upstream issue's been solved.
the electron builder will crossbuild.

This support was added today by a new contributor for Mac OS arm64 in particular, but it also covers other platforms.
Can you test this version: https://github.com/averissimo/yakyak/releases/download/v1.5.11-arm64-averissimo/yakyak-1.5.11-linux-arm64.tar.gz


unable to load solution using vs2015

all projects load fail with this message "H:\PTVS\Python\Product\PythonTools\PythonTools.csproj : error  : ....“H:\PTVS\BuildOutput\MicroBuild.Core\build\MicroBuild.Core.props”。......  H:\PTVS\Build\MicroBuild.props

Yeah, that's a known issue with both our projects and also our build instructions.
You need to run Build\PreBuild.ps1 first to install some extra packages. Once I fix the project loading issue, you'll be able to load them and then it will run this when you first try to build, at which point you'll probably need to restart VS to load everything again.
However, note that the v2.x branch does not require this, and so the current instructions apply correctly for that.


fix reset-password e2e test after cms label change

Ticket #3526 is changing the cms label for reset-password.
So we need to fix the e2e test, otherwise it will fail.
So to be merged AFTER ticket #3526

PR: https://github.com/SAP/cloud-commerce-spartacus-storefront/pull/3561

Already done, already merged.


[Program]: Write a C# program to convert binary to hexadecimal

Description
Write a C# program to convert binary to hexadecimal
Binary is a base-2 number system. It uses only two digits: 0 and 1. The digits are called bits. A bit is the smallest unit of information in a computer. A bit can be either 0 or 1. A bit can be used to represent a single value, such as 0 or 1, or it can be used to represent a single state, such as on or off.
Hexadecimal is a base-16 number system. It uses sixteen digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, and F. The digits are called hexits. A hexit is the smallest unit of information in a computer. A hexit can be used to represent a single value, such as 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, or F, or it can be used to represent a single state, such as on or off.
To convert a binary number to hexadecimal, we can use the following algorithm:

Convert the binary number to decimal.
Convert the decimal number to hexadecimal.

Input  : 1010
Output : A

How to contribute

Save the solution in program/program/convert-binary-to-hexadecimal/ConvertBinaryToHexadecimal.cs file

Hello! Can you assign me to that issue please?
Thanks!

Hey @pzoupis
You can comment !assign on any good first issue you want to contribute to, to be auto-assigned
!assign

!assign


NullPointerException, if call "startLogin" method

The method com.codeborne.security.mobileid.MobileIDAuthenticator#startLogin(java.lang.String, java.lang.String) is always failing with NPE:
Caused by: java.lang.NullPointerException: null
	at com.codeborne.security.mobileid.MobileIDAuthenticator.startLogin(MobileIDAuthenticator.java:122) ~[mobileid-1.1.jar:na]
	at com.codeborne.security.mobileid.MobileIDAuthenticator.startLogin(MobileIDAuthenticator.java:103) ~[mobileid-1.1.jar:na]

@igorbljahhin Wow. Thank you for reporting. I will take a look.

No, the method com.codeborne.security.mobileid.MobileIDAuthenticator#startLogin(java.lang.String, java.lang.String, java.lang.String) is protected, I can't call it. I call com.codeborne.security.mobileid.MobileIDAuthenticator#startLogin(java.lang.String, java.lang.String):

Why you need to call method startLogin(String personalCode, String countryCode) without phone number? Is it really a valid way to use MobleID? Probably we just need to delete this method?

Our task was to implemented login procedure using MobilID by personal identification ID. That's why I tried to use this method. But now, after looking around at other sites, I guess, you are right, phone number should be mandatory, but personal identification ID should be optional.

The fix has been released as version 1.2:
http://search.maven.org/#search|ga|1|mobileid


HBASE-22323 Fixed broken Thrift generation

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
18
Docker mode activated.

_ Prechecks _

+1
hbaseanti
0
Patch does not have any anti-patterns.

+1
@author
0
The patch does not contain any @author tags.

+1
test4tests
0
The patch appears to include 2 new or modified test files.

_ master Compile Tests _

+1
mvninstall
269
master passed

+1
compile
31
master passed

+1
checkstyle
33
master passed

+1
shadedjars
271
branch has no errors when building our shaded downstream artifacts.

+1
findbugs
79
master passed

+1
javadoc
29
master passed

_ Patch Compile Tests _

+1
mvninstall
253
the patch passed

+1
compile
31
the patch passed

+1
javac
31
the patch passed

-1
checkstyle
33
hbase-thrift: The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedjars
274
patch has no errors when building our shaded downstream artifacts.

+1
hadoopcheck
554
Patch does not cause any errors with Hadoop 2.7.4 or 3.0.0.

+1
findbugs
101
the patch passed

+1
javadoc
35
the patch passed

_ Other Tests _

+1
unit
213
hbase-thrift in the patch passed.

+1
asflicense
10
The patch does not generate ASF License warnings.

2317

Subsystem
Report/Notes

Docker
Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-196/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/196

Optional Tests
dupname  asflicense  javac  javadoc  unit  findbugs  shadedjars  hadoopcheck  hbaseanti  checkstyle  compile

uname
Linux d333e1cc4f79 4.4.0-143-generic #169~14.04.2-Ubuntu SMP Wed Feb 13 15:00:41 UTC 2019 x86_64 GNU/Linux

Build tool
maven

Personality
/testptch/patchprocess/precommit/personality/provided.sh

git revision
master / 4477dd5de8

maven
version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z)

Default Java
1.8.0_181

findbugs
v3.1.11

checkstyle
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-196/1/artifact/out/diff-checkstyle-hbase-thrift.txt

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-196/1/testReport/

Max. process+thread count
2029 (vs. ulimit of 10000)

modules
C: hbase-thrift U: hbase-thrift

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-196/1/console

Powered by
Apache Yetus 0.9.0 http://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
23
Docker mode activated.

_ Prechecks _

+1
hbaseanti
0
Patch does not have any anti-patterns.

+1
@author
0
The patch does not contain any @author tags.

+1
test4tests
0
The patch appears to include 2 new or modified test files.

_ master Compile Tests _

+1
mvninstall
250
master passed

+1
compile
31
master passed

+1
checkstyle
33
master passed

+1
shadedjars
259
branch has no errors when building our shaded downstream artifacts.

+1
findbugs
78
master passed

+1
javadoc
30
master passed

_ Patch Compile Tests _

+1
mvninstall
238
the patch passed

+1
compile
32
the patch passed

+1
javac
32
the patch passed

+1
checkstyle
33
the patch passed

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedjars
256
patch has no errors when building our shaded downstream artifacts.

+1
hadoopcheck
502
Patch does not cause any errors with Hadoop 2.7.4 or 3.0.0.

+1
findbugs
92
the patch passed

+1
javadoc
31
the patch passed

_ Other Tests _

+1
unit
206
hbase-thrift in the patch passed.

+1
asflicense
11
The patch does not generate ASF License warnings.

2176

Subsystem
Report/Notes

Docker
Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-196/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/196

Optional Tests
dupname  asflicense  javac  javadoc  unit  findbugs  shadedjars  hadoopcheck  hbaseanti  checkstyle  compile

uname
Linux 645702b6315b 4.4.0-139-generic #165-Ubuntu SMP Wed Oct 24 10:58:50 UTC 2018 x86_64 GNU/Linux

Build tool
maven

Personality
/testptch/patchprocess/precommit/personality/provided.sh

git revision
master / 5b07ee9953

maven
version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z)

Default Java
1.8.0_181

findbugs
v3.1.11

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-196/2/testReport/

Max. process+thread count
1971 (vs. ulimit of 10000)

modules
C: hbase-thrift U: hbase-thrift

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-196/2/console

Powered by
Apache Yetus 0.9.0 http://yetus.apache.org

This message was automatically generated.


Error presenting Challenge: Unable to login to netcup API

Hi there!
First of all: thanks Alex for such a great component, it has been very helpful for me :-)
I have been using this webhook for the last year (every single version of it) along with cert-manager 1.9.1 at different cloud providers (managed and self-managed) and has always worked perfectly.
Sadly, since last release(1.0.16), new provisioned clusters(at every provider) are getting an error when presenting the DNS challenge to Netcup, more precisely, describing the Challenge object outputs:
Error presenting challenge: unable to login to netcup API: Post "https://ccp.netcup.net/run/webservice/servers/endpoint.php?JSON": tls: failed to verify certificate: x509: certificate signed by unknown authority
What I've tried without success:

Upgrading cert-manager to every version up to 1.12.2
Rotating Netcup API password

What I've tried with success:

Downgrading cert-manager-webhook-netcup to 1.0.15

So, it looks like everything points at this new release.
Please tell me if I can support you with further testing of this issue.
Again, thanks a lot for your precious time!

Hi @teksuo,
thank you for the warm words and for the report.
Seems like a bug was slipped through in the last release. :-(
I think i understand what is going on here:
with the last commit i switched Docker images from Alpine Linux to busybox
(i wanted to use a less vulnerable and even more lightweight base Docker image),
but apparently busybox is missing default CA certificates (so the netcup's cert issuer is not known/trusted).
These CAs were installed in Alpine image with apk, i also need to include them into Busybox image.
Until now, it's perfectly fine to use 1.0.15, i'll try to come with a new release in the evening.
Thanks!

a new release build will be started immediately.

@teksuo the 1.0.17 is online. I've successfully tested with letsencrypt-staging, but it should do the same with letsencrypt-production endpoint. Have fun!

@aellwein
I'm using 1.0.17 and this does not seem to be fixed for me. I'm still getting the error messages:
kubectl logs -n cert-manager cert-manager-bf8f6b86-4d9lw
I0703 16:23:42.660393       1 dns.go:88] "cert-manager/challenges/Present: presenting DNS01 challenge for domain" resource_name="***-certificate-2wcnz-2621465800-3021163944" resource_namespace="cert-manager" resource_kind="Challenge" resource_version="v1" dnsName="***.com" type="DNS-01" resource_name="***-certificate-2wcnz-2621465800-3021163944" resource_namespace="cert-manager" resource_kind="Challenge" resource_version="v1" domain="***.com"
E0703 16:23:42.662686       1 controller.go:167] "cert-manager/challenges: re-queuing item due to error processing" err="unable to login to netcup API: Post \"https://ccp.netcup.net/run/webservice/servers/endpoint.php?JSON\": tls: failed to verify certificate: x509: certificate signed by unknown authority" key="cert-manager/***-certificate-2wcnz-2621465800-224046942"

Looking at the changes since 1.0.17 I see this commit: https://github.com/aellwein/cert-manager-webhook-netcup/commit/d399c61efeb96c5000e9661f1ffe959ac58793a4
So this is still missing in 1.0.17?
Am I missing anything?

@Mik4sa seems that i accidently deployed an older version with actions pipeline -> will release a new one. Sorry

No problem. This is nothing time critical :)

@Mik4sa i've just rebuilt the Docker images so you can use 1.0.17. I will correct the release tag to reflect the correct commit. Thanks.

Great! I'll have a look at it by tomorrow

@aellwein Should be fine now. Thank you for your fast reply and help :)


Change protocol

pipes is used as a protocol for java functions by default.
https://github.com/projectriff/riff/blob/v0.0.3/riff#L315-L316

LGTM, merged as commit 819e37c4e4717978bf01e036ad0caf75ac8871b6


Enhance SplitPropertyPath to conditionally handle parentheses in prop…

What does the pull request do?
Parenthesis encircles the property type in front of properties in a property path. Example (Contact).Name. The SplitPropertyPath method from ReflectionHelper could not handle this, making datagrid cells automatically uneditable when there is a cast of property type in the path. Now, I am conditionally handling that, and the issue is resolved by removing the property type cast from the property path.
What is the current behavior?
property casting happens in a property path and automatically makes the datagrid cell uneditable when it is there.
What is the updated/expected behavior with this PR?
If there is a cast of a property type with parenthesis on the property path, it is removed from the path, and there is no making it uneditable because of that issue
Fixed issues
Fixes #15865

@Abdesol,
Please read the following Contributor License Agreement (CLA). If you agree with the CLA, please reply with the following:
@cla-avalonia agree

Contributor License Agreement
Contribution License Agreement
This Contribution License Agreement ( “Agreement” ) is agreed to by the party signing below ( “You” ),
and conveys certain license rights to the AvaloniaUI OÜ ( “AvaloniaUI OÜ” ) for Your contributions to
AvaloniaUI OÜ open source projects. This Agreement is effective as of the latest signature date below.
1. Definitions.
“Code” means the computer software code, whether in human-readable or machine-executable form,
that is delivered by You to AvaloniaUI OÜ under this Agreement.
“Project” means any of the projects owned or managed by AvaloniaUI OÜ and offered under a license
approved by the Open Source Initiative (www.opensource.org).
“Submit” is the act of uploading, submitting, transmitting, or distributing code or other content to any
Project, including but not limited to communication on electronic mailing lists, source code control
systems, and issue tracking systems that are managed by, or on behalf of, the Project for the purpose of
discussing and improving that Project, but excluding communication that is conspicuously marked or
otherwise designated in writing by You as “Not a Submission.”
“Submission” means the Code and any other copyrightable material Submitted by You, including any
associated comments and documentation.
2. Your Submission. You must agree to the terms of this Agreement before making a Submission to any
Project. This Agreement covers any and all Submissions that You, now or in the future (except as
described in Section 4 below), Submit to any Project.
3. Originality of Work.  You represent that each of Your Submissions is entirely Your
original work. Should You wish to Submit materials that are not Your original work,
You may Submit them separately to the Project if You (a) retain all copyright and
license information that was in the materials as you received them, (b) in the
description accompanying your Submission, include the phrase "Submission
containing materials of a third party:" followed by the names of the third party and any
licenses or other restrictions of which You are aware, and (c) follow any other
instructions in the Project's written guidelines concerning Submissions.
4. Your Employer. References to “employer” in this Agreement include Your employer or anyone else
for whom You are acting in making Your Submission, e.g. as a contractor, vendor, or agent. If Your
Submission is made in the course of Your work for an employer or Your employer has intellectual
property rights in Your Submission by contract or applicable law, You must secure permission from Your
employer to make the Submission before signing this Agreement. In that case, the term “You” in this
Agreement will refer to You and the employer collectively. If You change employers in the future and
desire to Submit additional Submissions for the new employer, then You agree to sign a new Agreement
and secure permission from the new employer before Submitting those Submissions.
5. Licenses.
a. Copyright License. You grant AvaloniaUI OÜ, and those who receive the Submission directly
or indirectly from AvaloniaUI OÜ, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable
license in the Submission to reproduce, prepare derivative works of, publicly display, publicly perform,
and distribute the Submission and such derivative works, and to sublicense any or all of the foregoing
rights to third parties.
b. Patent License. You grant AvaloniaUI OÜ, and those who receive the Submission directly or
indirectly from AvaloniaUI OÜ, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license
under Your patent claims that are necessarily infringed by the Submission or the combination of the
Submission with the Project to which it was Submitted to make, have made, use, offer to sell, sell and
import or otherwise dispose of the Submission alone or with the Project.
c. Other Rights Reserved. Each party reserves all rights not expressly granted in this Agreement.
No additional licenses or rights whatsoever (including, without limitation, any implied licenses) are
granted by implication, exhaustion, estoppel or otherwise.
6. Representations and Warranties. You represent that You are legally entitled to grant the above
licenses. You represent that each of Your Submissions is entirely Your original work (except as You may
have disclosed under Section 3 ). You represent that You have secured permission from Your employer to
make the Submission in cases where Your Submission is made in the course of Your work for Your
employer or Your employer has intellectual property rights in Your Submission by contract or applicable
law. If You are signing this Agreement on behalf of Your employer, You represent and warrant that You
have the necessary authority to bind the listed employer to the obligations contained in this Agreement.
You are not expected to provide support for Your Submission, unless You choose to do so. UNLESS
REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE WARRANTIES
EXPRESSLY STATED IN SECTIONS 3, 4, AND 6 , THE SUBMISSION PROVIDED UNDER THIS AGREEMENT IS
PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY OF
NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
7. Notice to AvaloniaUI OÜ. You agree to notify AvaloniaUI OÜ in writing of any facts or
circumstances of which You later become aware that would make Your representations in this
Agreement inaccurate in any respect.
8. Information about Submissions. You agree that contributions to Projects and information about
contributions may be maintained indefinitely and disclosed publicly, including Your name and other
information that You submit with Your Submission.
9. Governing Law/Jurisdiction. This Agreement is governed by the laws of the Republic of Estonia, and
the parties consent to exclusive jurisdiction and venue in the courts sitting in Talinn,
Estonia. The parties waive all defenses of lack of personal jurisdiction and forum non-conveniens.
10. Entire Agreement/Assignment. This Agreement is the entire agreement between the parties, and
supersedes any and all prior agreements, understandings or communications, written or oral, between
the parties relating to the subject matter hereof. This Agreement may be assigned by AvaloniaUI OÜ.
AvaloniaUI OÜ dedicates this Contribution License Agreement to the public domain according to the Creative Commons CC0 1.

Could we get a failing/passing test combo in this PR to make reviewing easier, and to ensure we don't regress? See contributing for more information.


Include of conan_paths.cmake necessary?

Is the include of conan_paths.cmake necessary? It seems not to work with boost very well.

Short answer: No


UPLOAD-1352/update report structs to reflect schema changes

These are new changes following the schema defined here: https://github.com/CDCgov/data-exchange-messages/blob/foundation/reports/reports/README.md.
These will be the new baseline for the report schemas.  Any changes to the schema going forward will be reflected in a new version.

@whytheplatypus  I went ahead and removed content builder all together.  After reading your comment and looking at the code again, I decided it was redundant.  Thanks!


Doesn't sync brightness with 1st gen UltraFine on MacBook Pro M1

System:
MacBook Pro (13-inch, M1, 2020)
macOS Big Sur, Version 11.0.1 (20B29)
Brightness Sync v2.3.1
External display:
LG UltraFine (RB22MD4KA-B)
With this setup, changing the brightness on the MacBook Pro (using ⌃🔆/🔅) doesn't change the brightness on the LG UltraFine. Brightness Sync shows as "Activated" in the menu bar:

Are you still able to control the Ultrafine’s brightness with the normal system controls? The only thing that I can think of right now that might explain this is that your Mac lost the USB connection that controls the display. This happened to me twice, I had to restart my Mac to fix it.

Another thing you might try is selecting the app -> Get Info -> select Open using Rosetta, then rerun the app. I built a universal app without ever testing it on Apple Silicon, because I didn't expect any problems, but you never know.

I'm able to control the UltraFine's brightness with the regular brightness controls (without pressing ⌃). Running it in Rosetta (confirmed showing "Intel" in Activity Monitor under the Architecture tab) didn't seem to make a difference.
I'm wondering if there's some low-level difference between Apple Silicon and Intel CPUs that makes this kind of functionality incompatible? I sure hope not.

I have no idea why it wouldn't work on M1, but it's the only clue so far, nothing like this has been reported before.
I also can't test it because I don't have access to an M1 machine and I probably won't have access anytime soon.
I'll put a message on the home page to see if there are other people with an M1 who have the same problem.
In the meantime, maybe Console can provide any clues about what is happening?

Not sure if its related but the slider control also seems to be unpredictable.  For example, you drag it to a new location and it often twitches as you drag, or snaps back to the middle position when you release the drag.

@rsaid99 But is brightness sync working in general on your MBA or also not at all?

Now that you mention it, no.  I've tried a few things and it doesn't seem to be working.  Tests that failed:

Manually moved offset slider: No effect (expect dimming/brightening)
Turn brightness up to full with bluetooth keyboard and then cover the light sensor on laptop monitor:  No effect on Ultrafine (expect dimming), but laptop monitor dims.

Seems like it just doesn't work on the new Macs.
I am seeing video's on Twitter about the new Macs being able to do way faster and seamless display reconfiguration, so something definitely changed in the display department. At least that kind of explains why there could be an incompatibility.
Anyway, this might be fixable, but unfortunately, like I said, I don't have access to an M1 Mac. So all I can do is tag this as "help wanted".

When I start the app, i see a ton of these types of messages in Console:
error	21:07:44.278764-0500	Brightness Sync	[ERROR] - Unable to create and lookup port "com.apple.CoreDisplay.master" => 1102
	0  	       0x1a5745c14	CoreDisplay::Mach::Port::Port(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, CoreDisplay::Mach::Port::PortLookup) + 396
	1  	       0x1a5701f38	CoreDisplay_Display_GetLinearBrightness + 112
	2  	       0x100f6ddac	3   Brightness Sync                     0x0000000100f6ddac Brightness Sync + 23980
	3  	       0x100f737ac	4   Brightness Sync                     0x0000000100f737ac Brightness Sync + 47020
	4  	       0x1b1b0a994	$s7Combine10PublishersO3MapV5Inner33_5A6CD15A64659A6248DAF677D4BB6188LLV7receiveyAA11SubscribersO6DemandV6OutputQzF + 228
	5  	       0x1b1a76e08	$s7Combine10PublishersO11AutoconnectC5Inner020_B451114B79538BBB7C2H11CC5250993E8LLV7receiveyAA11SubscribersO6DemandV6OutputQzF + 48
	6  	       0x1b3a916c8	$sSo7NSTimerC10FoundationE14TimerPublisherC5InnerC4sendyyAC4DateVF + 560
	7  	       0x1b3a939f4	$sSo7NSTimerC10FoundationE14TimerPublisherC4SideVyAgE5InnerCy__xGc7Combine10SubscriberRzs5NeverO7FailureRtzAC4DateV5InputRtzlufcyARcAJcfu_yARcfu0_TA + 32
	8  	       0x1b3a93774	$sSo7NSTimerC10FoundationE14TimerPublisherC4fireyyABFTf4dn_n + 204
	9  	       0x1b3a3b24c	$sSo7NSTimerCIegg_ABIeyBy_TR + 44
	10 	       0x1a52db148	__NSFireTimer + 68
	11 	       0x1a452e058	__CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 32
	12 	       0x1a452dc58	__CFRunLoopDoTimer + 1064
	13 	       0x1a452d6ec	__CFRunLoopDoTimers + 392
	14 	       0x1a451262c	__CFRunLoopRun + 1936
	15 	       0x1a4511730	CFRunLoopRunSpecific + 600
	16 	       0x1ac01af0c	RunCurrentEventLoopInMode + 292
	17 	       0x1ac01ad3c	ReceiveNextEventCommon + 688
	18 	       0x1ac01aa6c	_BlockUntilNextEventMatchingListInModeWithFilter + 76
	19 	       0x1a6ce6db0	_DPSNextEvent + 868
	20 	       0x1a6ce5730	-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1312
	21 	       0x1a6cd758c	-[NSApplication run] + 600
	22 	       0x100f69d48	23  Brightness Sync                     0x0000000100f69d48 Brightness Sync + 7496
	23 	       0x1a4434f54	start + 4

I'm shooting in the dark here, but could you check if this version works:
Brightness Sync.app.zip
If it doesn't work, are the Console errors still the same?

That version doesn't behave any differently for me.  Also I've searched my Console and can't find any error messages related to Brightness Sync before or after launching (both versions).

Ah well, that would have been too easy. I'm really going to force myself to stop working on this, trying to solve this without an M1 machine is just wasting time, I think.

I've got the project open in Xcode if there is something you want me to try.  It's failing/spamming with the console message mentioned above.

You could try disabling Hardened Runtime completely and see if that makes a difference.

I checked all the boxes in Hardened Runtime section and no change.
I then tried disabling code to see if I could narrow it down at least.  I found that commenting out the two statusPublishers at lines 190-235 in AppDelegate.swift will stop the crash/spamming (slider is stable as well).  I then tried un-commenting out one or the other of the two statusPublishers there, but either one un-commented will cause it to crash again.

No need to narrow it down really, the stack trace above reveals it fails in the CoreDisplay_Display_GetLinearBrightness / CoreDisplay_Display_SetLinearBrightness functions. These are the main two functions on which the app relies, they are part of a private framework so Apple never gave any guarantees about them in the first place.
To turn off Hardened Runtime, you shouldn't use the checkboxes, but click the x in the top right corner to remove it completely. Try that, and if it doesn't work, I'm out of ideas for now.

Hi,
Do you think it could be possible tu use USB path to control the display ? like https://github.com/unknownzerx/lguf-brightness

Same issue with a similar config here (M1 Air, 1st-gen UltraFine 5k).

There are some very interesting developments in https://github.com/Hammerspoon/hammerspoon/issues/2668.
I got a version working using the DisplayServices framework on my machine. Again, I can't test it on M1 (frustrating!), but these functions from DisplayServices are reported to work on M1.
Here is a build using the new framework, anyone with an M1 laptop please try it out:
Brightness Sync.app.zip
The changes I made are on the m1-support branch. Someone could experiment with it if it doesn't work.

Some additional interesting observations about the DisplayServices framework:

Changing the brightness using these functions updates the Touch Bar slider in real time, where previously it did not until you reopened the slider view.
There are symbols in the framework relating to brightness change notifications. Seems like I could potentially build a version of Brightness Sync that doesn't rely on polling.

There are some very interesting developments in Hammerspoon/hammerspoon#2668.
I got a version working using the DisplayServices framework on my machine. Again, I can't test it on M1 (frustrating!), but these functions from DisplayServices are reported to work on M1.
Here is a build using the new framework, anyone with an M1 laptop please try it out:
Brightness Sync.app.zip
The changes I made are on the m1-support branch. Someone could experiment with it if it doesn't work.

On an M1 MacBook Air with the old LG 22 Ultrifine 4k, this worked for me! I'm new to this project, just happened to look this project up right after you posted and figured I'd give it a try. Hope this feedback helps. The display is now locked to my MacBooks brightness level, and if I change the displays brightness directly it reverts back to the lock based on my MacBook.

Related, my Magic Keyboard brightness keys were previously only adjusting brightness on the external display, but now they do nothing at all (because they still try to adjust external display but it is locked). Is it possible to switch those to adjust the MacBooks brightness instead?

🎉
Seems like everything works as expected.
Regarding the keyboard brightness keys, try holding control. I'm not sure if/how you can switch them, for me holding control adjusts my LG and holding no control adjusts the built-in display, but I'm using a Touch Bar which might work differently.

Would be nice to be able to swap that, I'll look into it, but holding CTRL does adjust brightness on my MacBook, thanks!

There are some very interesting developments in Hammerspoon/hammerspoon#2668.
I got a version working using the DisplayServices framework on my machine. Again, I can't test it on M1 (frustrating!), but these functions from DisplayServices are reported to work on M1.
Here is a build using the new framework, anyone with an M1 laptop please try it out:
Brightness Sync.app.zip
The changes I made are on the m1-support branch. Someone could experiment with it if it doesn't work.

Very excited to try this later!

Working great so far.  M1 MBA + 2nd gen Ultrafine 5K.
Woohoo!

It works!

hi,
do you think it can work with LG ultra fine 32UN880 ? the USB VID is 0x043e and PID is 0x9a39

I released the M1 support as a new beta. We can finally close this issue.
I hope this continues to work, it's nice to know I can upgrade to Apple Silicon in the future and still be able to enjoy my monitor. I can't imagine using it without automatic brightness anymore.
@glefand I'm sorry, this app never did and won't support any other monitors. Seems like it's up to the rest of monitor-GitHub to figure out how to make that work. You can follow for example https://github.com/MonitorControl/MonitorControl/issues/323 or https://github.com/alin23/Lunar/issues/210.

thank you very much!

Just here to report success for 2.4.0b1 on two configs: M1 on 11.2.1 with a 1st-gen 5K, and on a 2019 16" (Intel) MBP on Catalina (10.15.7) with that same 1st-gen 5K display. (Happy to test additional releases or build from source if you need any help!)


hasEmptyOption() check in Select Filter doesn't work when filter data loaded async

ngTableSelectFilterDs.directive.ts has a function called hasEmptyOption() that checks whether the filter option array contains a member with id === '', so it will not add another empty option if there is already one in the filter option array. However, this is not working when the filter data is loaded async.
Here's my HTML code to create the table:

             {{i.orderID}}
            {{i.panel}}

And here's the Javascript function I'm using to load the filter options from the server asynchronously:
        function getPanelsForTable(data) {
            var def = $q.defer();
            DataLoaderService.getPanelTypes().then(function(res) {
                $scope.panelTypes = _.map(res.data, function(p) {
                    return {
                        'id': p,
                        'title': p
                    };
                });
                $scope.panelTypes.unshift({'id': '', 'title': '--Select Panel'});

                def.resolve($scope.panelTypes);
            });
            return def;
        };

The select filter adds an empty option in addition to the one I added, resulting in both a blank empty option and my "--Select Panel" empty option.  However, I don't have this problem when I pass in an array object as filter-data with an empty option or if I pass in a function that returns an array with an empty option.  This is only broken when it's a promise that passes an array object async.

I have same problem. Has there been a solution or a work around?


Crashing at Startup

Swapped the newest version in, it complained about my config so I just removed it. Now it gives me a black screen and quits without warning. Here's the log in case you need it.
ImprovedCameraSE.log

How have you managed to get rid of the steam overlay?

Basically, I got my game from a non-steam source. I was able to force load the steam overlay dll with MO2 and your plug worked as expected from then on. Using iMenuMode=1 caused an odd flickering of the RivaTuner overlay though so I mostly opted iMenuMode=0
Just thought I'd let you know since GOG version won't have the steam overlay either if you plan to support it.


Roll Flutter Engine from a5f7d5d75ff2 to de81d13b381f (2 revisions)

https://github.com/flutter/engine/compare/a5f7d5d75ff2...de81d13b381f
2023-06-07<EMAIL_ADDRESS>Roll dart to 3.1.0-180.0.dev (flutter/engine#42638)
2023-06-07<EMAIL_ADDRESS>Roll Skia from 156542f8bf13 to 1a3adf848e61 (1 revision) (flutter/engine#42644)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jacksongardner@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Correct condition to add zoom limits for Layer

Corrected a small mistake which attempts to add zoom limits when maxZoom is NaN while it should be the opposite (when maxZoom is not NaN, as done for minZoom).

The regression was introduced here: https://github.com/Leaflet/Leaflet/commit/36b8c7cf4dff080d989d86983082ac799958bdc0
The fix is proper.

local tests passed

The problems are:

the first part of expression is not covered by tests at all.
not clear why we need isNaN check - that is not covered by tests too.

The regression was introduced here: 36b8c7c

Wow, 8 years ago. And no one noticed until now.


Logo: brand name and icon

We need to try to come up with a better logo and brand name style.
Here's one very initial suggestion for how to write the website name when in stylized form:

In Latex:
\mathcal{R}\text{ec}\textit{Net}
This is just a suggestion to get the ball rolling. I have less of an idea about a logo.
Some successful ones that are related:

Closing with first version of logo synbol:


BUG: fix incorrect usage of pydicom in Artemis plugin

fixes #14

No idea how this could have slipped through the testing when this was contributed originally. The user was able to load the images using the plugin when we tested this back when #7 was developed.

Thanks for the fix, I'll merge this now.