text:
Disable bookend optimization in nvfuser

🚀 Feature
Bookend optimization was implemented when nvfuser makes unnecessary copy of tensor going through meta operations (view, reshape, transpose) that could be resolved through view.
Since nvfuser now does support alias operations, we would want to turn bookend optimization off by default.
Motivation
It is beneficial to have meta operations being inside fusion. reshape is a good example here.
  # t_2: "cuda:0 f32[2, 16, 8, 16]"
  t1 = torch.permute(t_2, [0, 2, 1, 3])  # t1: "cuda:0 f32[2, 8, 16, 16]"
    # t1 = ltorch.permute(t_2, [0, 2, 1, 3])  # t1: "cuda:0 f32[2, 8, 16, 16]"
      # t1 = prims.transpose(t_2, (0, 2, 1, 3))  # t1: "cuda:0 f32[2, 8, 16, 16]"
  del t_2
  t3 = torch.reshape(t1, (2, 8, 256))  # t3: "cuda:0 f32[2, 8, 256]"
    # t3 = ltorch.reshape(t1, (2, 8, 256))  # t3: "cuda:0 f32[2, 8, 256]"
      # t3 = prims.reshape(t1, (2, 8, 256))  # t3: "cuda:0 f32[2, 8, 256]"

e.g. Reshape could ended up being a real data copy, we would want to fuse that with other operations. If t3 is input to a fusion, we can fuse the permute/reshape with other operations; similarly, if t_2 is an output from fusion, codegen could make a better decision on whether to fuse the reshape with previous operation or to produce t_2 in a format that the following permute+reshape does't trigger memory copy.
Pitch
The promise we (@wujingyue) made earlier:

we'll bring more clarity to CPU latency and disable bookending with blast radius controlled.

Actionable item:

[ ] check functional issue with bookend disabled;
[ ] track einsum performance after disabling bookend optimization #193 ;
[ ] nvfuser backend host latency.

cc @tfogal @apaz-cli

For the first action item, https://github.com/Lightning-AI/lightning-thunder/pull/206 triggers the following CI errors.
FAILED thunder/tests/test_examine_memory.py::test_nanogpt_block_nvfuser_cuda_float32 - AssertionError: assert 235985920 == 242277376
 +  where 242277376 = sum(dict_values([6291456, 3072, 9216, 3072, 3072, 12288, 3072, 7077888, 9437184, 2359296, 9437184, 3072, 3072, 12582912, 18874368, 18874368, -18874368, 100663296, 100663296, -100663296, 6291456, 6291456, -6291456, 6291456, 12599296, -6291456, 25165824, 25165824, 6291456, 6291456, -6291456]))
 +    where dict_values([6291456, 3072, 9216, 3072, 3072, 12288, 3072, 7077888, 9437184, 2359296, 9437184, 3072, 3072, 12582912, 18874368, 18874368, -18874368, 100663296, 100663296, -100663296, 6291456, 6291456, -6291456, 6291456, 12599296, -6291456, 25165824, 25165824, 6291456, 6291456, -6291456]) = <built-in method values of dict object at 0x7fc8e07a5600>()
 +      where <built-in method values of dict object at 0x7fc8e07a5600> = {'del t16': -18874368, 'del t29': -100663296, 'del t49': -6291456, 'del t53': -6291456, ...}.values
FAILED thunder/tests/test_examine_memory.py::test_view_ops_nvfuser_cuda_float32 - assert 128 == 144
FAILED thunder/tests/test_ops.py::test_core_vs_torch_consistency_getitem_nvfuser_cuda_float64 - ValueError: Trying to extract a dtype from object slice(3, 1, None) with unknown type <class 'slice'>!
FAILED thunder/tests/test_ops.py::test_core_vs_torch_consistency_getitem_nvfuser_cuda_float16 - ValueError: Trying to extract a dtype from object slice(3, 1, None) with unknown type <class 'slice'>!
FAILED thunder/tests/test_ops.py::test_core_vs_torch_consistency_getitem_nvfuser_cuda_bool8 - ValueError: Trying to extract a dtype from object slice(3, 1, None) with unknown type <class 'slice'>!
FAILED thunder/tests/test_ops.py::test_core_vs_torch_consistency_getitem_nvfuser_cuda_int64 - ValueError: Trying to extract a dtype from object slice(3, 1, None) with unknown type <class 'slice'>!
FAILED thunder/tests/test_ops.py::test_core_vs_torch_consistency_getitem_nvfuser_cuda_bfloat16 - ValueError: Trying to extract a dtype from object slice(3, 1, None) with unknown type <class 'slice'>!
FAILED thunder/tests/test_ops.py::test_core_vs_torch_consistency_getitem_nvfuser_cuda_int32 - ValueError: Trying to extract a dtype from object slice(3, 1, None) with unknown type <class 'slice'>!
FAILED thunder/tests/test_ops.py::test_core_vs_torch_consistency_getitem_nvfuser_cuda_float32 - ValueError: Trying to extract a dtype from object slice(3, 1, None) with unknown type <class 'slice'>!
FAILED thunder/tests/test_jit_general.py::test_litgpt_variants[cuda-falcon-40b-like] - RuntimeError: inp->definition() && inp->definition()->isA<PadOp>() INTERNAL ASSERT FAILED at "/Fuser/csrc/preseg_passes/remove_empty.cpp":256, please report a bug with repro script to NVFuser at https://github.com/NVIDIA/Fuser/issues. Inputs to CatOp must be outputs of PadOps

Go figure...

getitem_nvfuser tests failed for a similar reason to https://github.com/Lightning-AI/lightning-thunder/blob/54bb6146ff757905925f8d9ea2197870c4971011/thunder/tests/opinfos.py#L3113-L3115. I can again create a wrapper so slice objects don't get passed to FusionDefinitionWrapper. But I'd love to hear thoughts from @jjsjann123 and @kevinstephano who may have a better fix.

FAILED thunder/tests/test_examine_memory.py::test_view_ops_nvfuser_cuda_float32 - assert 128 == 144 is due to golden testing. 128 is less memory than 144, so it's in fact an improvement.

FAILED thunder/tests/test_jit_general.py::test_litgpt_variants[cuda-falcon-40b-like] - RuntimeError: inp->definition() && inp->definition()->isA<PadOp>() INTERNAL ASSERT FAILED at "/Fuser/csrc/preseg_passes/remove_empty.cpp":256, please report a bug with repro script to NVFuser at https://github.com/NVIDIA/Fuser/issues. Inputs to CatOp must be outputs of PadOps  is gone after I rebase.
However, on my workstation, the tolerance 1e-5 seems to be too small for both TOT and this PR (1e-3 seems to be large enough). I'll see what CI says.
$ pytest thunder/tests/test_jit_general.py -k test_litgpt_variants[cuda-falcon-40b-like]
========================================================================================================================================================================================================================================= test session starts =========================================================================================================================================================================================================================================
platform linux -- Python 3.10.12, pytest-8.1.1, pluggy-1.5.0
Test order randomisation NOT enabled. Enable with --random-order or --random-order-bucket=<bucket_type>
benchmark: 4.0.0 (defaults: timer=torch.utils.benchmark.utils.timer.timer disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=True warmup_iterations=100000)
rootdir: /opt/pytorch/lightning-thunder
configfile: pyproject.toml
plugins: timestamper-0.0.10, xdist-3.5.0, random-order-1.1.1, cov-4.1.0, benchmark-4.0.0, hypothesis-6.100.0, timeout-2.2.0, anyio-4.3.0, shard-0.1.2
timeout: 900.0s
timeout method: signal
timeout func_only: False
collected 68 items / 67 deselected / 1 selected
Running 1 items in this shard

thunder/tests/test_jit_general.py F                                                                                [100%]

============================================================================================================================================================================================================================================== FAILURES ===============================================================================================================================================================================================================================================
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________ test_litgpt_variants[cuda-falcon-40b-like] ______________________________________________________________________________________________________________________________________________________________________________________________________________________________

name = 'falcon-40b-like', device = device(type='cuda')

    @skipif_not_pytorch_2_1
    @pytest.mark.parametrize(
        "name",
        (
            "gpt-neox-like",
            "llama1-like",
            "long-context-like",
            "llama2-like",
            "falcon-7b-like",
            "falcon-40b-like",
            "codellama2-like",
            pytest.param(
                "mixtral-like",
                marks=pytest.mark.xfail(raises=(NotImplementedError, TypeError), reason="topk and where", strict=True),
            ),
        ),
    )
    @pytest.mark.parametrize(
        "device",
        ("cpu", "cuda", "meta"),
    )
    def test_litgpt_variants(name, device):
        if device == "cuda" and not torch.cuda.is_available():
            pytest.skip("CUDA not available")

        device = torch.device(device)

        x = torch.randint(0, 200, (5, 5), device=device)
        config = litgpt_model.Config.from_name(name)

        with device:
            reference = litgpt_model.GPT(config)
        expected_logits = reference(x)

        expected_logits.sum().backward()

        with device:
            model = litgpt_model.GPT(config)
        model.load_state_dict(reference.state_dict())
        tom = thunder.jit(model, executors=nvfuserex if device.type == "cuda" else torchex)
        actual_logits = tom(x)
>       assert_close(actual_logits, expected_logits)
E       AssertionError: Tensor-likes are not close!
E
E       Mismatched elements: 2153 / 12700 (17.0%)
E       Greatest absolute difference: 0.0003186464309692383 at index (3, 3, 33) (up to 1e-05 allowed)
E       Greatest relative difference: 0.4005630612373352 at index (1, 4, 143) (up to 1.3e-06 allowed)

thunder/tests/test_jit_general.py:654: AssertionError
======================================================================================================================================================================================================================================= short test summary info =======================================================================================================================================================================================================================================
FAILED thunder/tests/test_jit_general.py::test_litgpt_variants[cuda-falcon-40b-like] - AssertionError: Tensor-likes are not close!
============================================================================================================================================================================================================================ 1 failed, 67 deselected, 6 warnings in 7.70s =============================================================================================================================================================================================================================

Filed another blocker: https://github.com/Lightning-AI/lightning-thunder/issues/549

Yet-another blocker: https://github.com/NVIDIA/Fuser/issues/2362

These are all blockers that I can tell from the recent CI run. 🤞

The previous blockers have all been fixed. However, the most recent CI run failed with new errors -- number mismatches this time...
=========================== short test summary info ============================
FAILED thunder/tests/test_grad.py::test_vjp_correctness_sdpa_manual_grad_forward_scaled_dot_product_attention_nvfuser_cuda_float16 - AssertionError: Tensor-likes are not close!

Mismatched elements: 139 / 114688 (0.1%)
Greatest absolute difference: 0.001220703125 at index (0, 0, 15, 53) (up to 1e-05 allowed)
Greatest relative difference: 0.115966796875 at index (2, 0, 17, 11) (up to 0.001 allowed)
FAILED thunder/tests/test_grad.py::test_vjp_correctness_sdpa_manual_grad_forward_scaled_dot_product_attention_nvfuser_cuda_bfloat16 - AssertionError: Tensor-likes are not close!

Mismatched elements: 210005 / 212992 (98.6%)
Greatest absolute difference: 688.0 at index (0, 0, 48, 81) (up to 1e-05 allowed)
Greatest relative difference: inf at index (7, 0, 110, 32) (up to 0.016 allowed)
FAILED thunder/tests/test_grad.py::test_vjp_correctness_sdpa_manual_grad_forward_scaled_dot_product_attention_torch_cuda_bfloat16 - AssertionError: Tensor-likes are not close!

Mismatched elements: 209468 / 212992 (98.3%)
Greatest absolute difference: 848.0 at index (5, 1, 56, 19) (up to 1e-05 allowed)
Greatest relative difference: inf at index (4, 1, 109, 70) (up to 0.016 allowed)
FAILED thunder/tests/test_grad.py::test_vjp_correctness_sdpa_manual_grad_forward_scaled_dot_product_attention_torch_cuda_float16 - AssertionError: Tensor-likes are not close!

Mismatched elements: 210696 / 212992 (98.9%)
Greatest absolute difference: 704.0 at index (0, 1, 49, 13) (up to 1e-05 allowed)
Greatest relative difference: inf at index (0, 0, 2, 8) (up to 0.001 allowed)
FAILED thunder/tests/test_cudnn_executor.py::test_vjp_correctness_cudnn_sdpa[bfloat16-never-cat-grad-qkv] - AssertionError: Tensor-likes are not close!

Mismatched elements: 916 / 1310720 (0.1%)
Greatest absolute difference: 1.21875 at index (7, 1, 0, 96) (up to 0.2 allowed)
Greatest relative difference: inf at index (1, 1, 0, 2) (up to 0.02 allowed)
FAILED thunder/tests/test_cudnn_executor.py::test_vjp_correctness_cudnn_sdpa[float16-never-cat-grad-qkv] - AssertionError: Tensor-likes are not close!

Mismatched elements: 1582 / 1310720 (0.1%)
Greatest absolute difference: 1.0703125 at index (5, 0, 1, 39) (up to 0.2 allowed)
Greatest relative difference: inf at index (0, 1, 0, 2) (up to 0.02 allowed)
FAILED thunder/tests/test_cudnn_executor.py::test_vjp_correctness_cudnn_sdpa[bfloat16-may-cat-grad-qkv] - AssertionError: Tensor-likes are not close!

Mismatched elements: 1372 / 1310720 (0.1%)
Greatest absolute difference: 1.0859375 at index (6, 0, 1, 24) (up to 0.2 allowed)
Greatest relative difference: inf at index (1, 1, 0, 0) (up to 0.02 allowed)
FAILED thunder/tests/test_cudnn_executor.py::test_vjp_correctness_cudnn_sdpa[float16-may-cat-grad-qkv] - AssertionError: Tensor-likes are not close!

Mismatched elements: 1474 / 1310720 (0.1%)
Greatest absolute difference: 1.400390625 at index (2, 0, 1, 45) (up to 0.2 allowed)
Greatest relative difference: inf at index (0, 1, 0, 1) (up to 0.02 allowed)
= 8 failed, 4548 passed, 790 skipped, 91 xfailed, 93 xpassed, 110694 warnings in 975.39s (0:16:15) =
/usr/local/lib/python3.10/dist-packages/coverage/control.py:888: CoverageWarning: No data was collected. (no-data-collected)
  self._warn("No data was collected.", slug="no-data-collected")

##[error]Bash exited with code '1'.
Finishing: Testing: regular

Good news: these number mismatches no longer show up after I resync.
Bad news: distributed tests start to fail.
One error is NVDIA/Fuser#2395.
The other error seems to be that https://github.com/Lightning-AI/lightning-thunder/blob/c21533c12a2a826aee84e011c415b216cb6f779d/thunder/tests/distributed/test_ddp.py#L771-L777 expects slices and pads to be in the top-level trace, which are however fused into an nvFusion. cc @crcrpar

Thanks for identifying latest status, Jingyue!

Good news: these number mismatches no longer show up after I resync.

🎉

Bad news: distributed tests start to fail.

😢

One error is NVIDIA/Fuser#2395.
The other error seems to be that
https://github.com/Lightning-AI/lightning-thunder/blob/c21533c12a2a826aee84e011c415b216cb6f779d/thunder/tests/distributed/test_ddp.py#L771-L777
expects slices and pads to be in the top-level trace, which are however fused into an nvFusion. cc @crcrpar

Ahh, yeah that may have made sense before but less so now.
@crcrpar can we beg from your help here? Could you update the test to assert that the associated slice/pad are top level symbols or a fused executor took those ops? From thunder's point of view, either is acceptable.

I'll push more fixes tomorrow to tie up loose ends for CI.
Despite these pending CI failures, I was able to put some perf readings in https://github.com/Lightning-AI/lightning-thunder/pull/731, but I've yet to digest them. Caveat: I had to skip many benchmarks that OOM as is.

Closed by #731

authors: jjsjann123 tfogal wujingyue

repo: Lightning-AI/lightning-thunder


text:
Inf recursion when running HF BERT

After #804 , when I'm running
import transformers, thunder, torch
m = transformers.BertForSequenceClassification(transformers.BertConfig())
inp = torch.randint(1, 20, (1, 32))
jm = thunder.jit(m)
jm(inp)

I get an inf recursion in the codeutils.to_printable:
File ~/data/firma/grid/thunder/lightning-thunder/thunder/core/codeutils.py:140, in to_printable(trace, x, import_ctx, object_ctx)
    138 printables = []
    139 for f in flat:
--> 140     printables.append(to_printable(trace, f, import_ctx=import_ctx, object_ctx=object_ctx))
    142 printable = tree_unflatten(printables, spec)
    143 return printable

    [... skipping similar frames: to_printable at line 140 (2949 times)]

File ~/data/firma/grid/thunder/lightning-thunder/thunder/core/codeutils.py:140, in to_printable(trace, x, import_ctx, object_ctx)
    138 printables = []
    139 for f in flat:
--> 140     printables.append(to_printable(trace, f, import_ctx=import_ctx, object_ctx=object_ctx))
    142 printable = tree_unflatten(printables, spec)
    143 return printable

File ~/data/firma/grid/thunder/lightning-thunder/thunder/core/codeutils.py:136, in to_printable(trace, x, import_ctx, object_ctx)
    133 if isinstance(x, ProxyInterface):
    134     return x
--> 136 if is_collection(x):
    137     flat, spec = tree_flatten(x)
    138     printables = []

File ~/data/firma/grid/thunder/lightning-thunder/thunder/core/baseutils.py:153, in is_collection(x)
    152 def is_collection(x: Any) -> bool:
--> 153     return isinstance(x, collections.abc.Collection) and not isinstance(x, (str, torch.Tensor, np.ndarray, torch.Size))

File /usr/lib/python3.11/abc.py:119, in ABCMeta.__instancecheck__(cls, instance)
    117 def __instancecheck__(cls, instance):
    118     """Override for isinstance(instance, cls)."""
--> 119     return _abc_instancecheck(cls, instance)

RecursionError: maximum recursion depth exceeded in comparison

cc @apaz-cli

Hey Tom! Let me work on this issue. It'll be great if you can assign me :) @t-vi

However, I seem to get a different error when using the script that you have provided above. Would you be able to check the version of transformers?
Exception has occurred: NotImplementedError
exception: no description
  File "/Users/kaeunkim/lightning-thunder/thunder/core/proxies.py", line 1402, in __bool__
    raise NotImplementedError
  File "/Users/kaeunkim/lightning-thunder/thunder/core/jit_ext.py", line 704, in wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
  File "/Users/kaeunkim/lightning-thunder/thunder/core/interpreter.py", line 1272, in wrapping_wrapper
    res = ufn(*uargs, **ukwargs)
          ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/kaeunkim/lightning-thunder/thunder/core/interpreter.py", line 1362, in impl
    return dunder_bool(x)
    ^^^^^^^^^^^^^^^^^^
  File "/Users/kaeunkim/lightning-thunder/thunder/core/interpreter.py", line 1347, in impl
    if element:
  File "/Users/kaeunkim/lightning-thunder/thunder/core/interpreter.py", line 3686, in impl
    return any(v is tos1 or v == tos1 for v in tos)
    ^^^^^^^^^^^^^^^^^^
  File "/Users/kaeunkim/transformers/src/transformers/modeling_utils.py", line 4607, in warn_if_padding_and_no_attention_mask
    if self.config.pad_token_id in input_ids[:, [-1, 0]]:
    ^^^^^^^^^^^^^^^^^^
  File "/Users/kaeunkim/transformers/src/transformers/models/bert/modeling_bert.py", line 1056, in forward
    self.warn_if_padding_and_no_attention_mask(input_ids, attention_mask)
    ^^^^^^^^^^^^^^^^^^
  File "/Users/kaeunkim/lightning-thunder/thunder/core/interpreter.py", line 6060, in _impl
    return fn.__func__(fn.__self__, *args, **kwargs)
    ^^^^^^^^^^^^^^^^^^
  File "/Users/kaeunkim/lightning-thunder/thunder/core/interpreter.py", line 6060, in _impl
    return fn.__func__(fn.__self__, *args, **kwargs)
    ^^^^^^^^^^^^^^^^^^
  File "/Users/kaeunkim/lightning-thunder/thunder/core/interpreter.py", line 6060, in _impl
    return fn.__func__(fn.__self__, *args, **kwargs)
    ^^^^^^^^^^^^^^^^^^
  File "/Users/kaeunkim/transformers/src/transformers/models/bert/modeling_bert.py", line 1695, in forward
    outputs = self.bert(
    ^^^^^^^^^^^^^^^^^^
  File "/Users/kaeunkim/lightning-thunder/thunder/core/interpreter.py", line 6060, in _impl
    return fn.__func__(fn.__self__, *args, **kwargs)
    ^^^^^^^^^^^^^^^^^^
  File "/Users/kaeunkim/lightning-thunder/thunder/core/interpreter.py", line 6060, in _impl
    return fn.__func__(fn.__self__, *args, **kwargs)
    ^^^^^^^^^^^^^^^^^^
  File "/Users/kaeunkim/lightning-thunder/thunder/core/interpreter.py", line 6060, in _impl
    return fn.__func__(fn.__self__, *args, **kwargs)
    ^^^^^^^^^^^^^^^^^^
  File "/Users/kaeunkim/lightning-thunder/thunder/core/interpreter.py", line 6737, in fn_2
    return fn(*args, **kwargs)
    ^^^^^^^^^^^^^^^^^^
  File "/Users/kaeunkim/lightning-thunder/thunder/core/interpreter.py", line 6769, in fn_
    raise e
  File "/Users/kaeunkim/lightning-thunder/thunder/core/jit_ext.py", line 1768, in thunder_general_jit
    result = jfn(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^
  File "/Users/kaeunkim/lightning-thunder/thunder/__init__.py", line 213, in _general_frontend
    return thunder_general_jit(fn, args, kwargs, sharp_edges=sharp_edges, record_history=record_history)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/kaeunkim/lightning-thunder/thunder/__init__.py", line 503, in get_computation_and_inputs
    jit_results: TraceResults = interpreter(
                                ^^^^^^^^^^^^
  File "/Users/kaeunkim/lightning-thunder/thunder/__init__.py", line 225, in cache_info_wrapper
    res = fn(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^
  File "/Users/kaeunkim/lightning-thunder/thunder/__init__.py", line 683, in fn_
    cache_entry, inps, pro_to_epi = get_computation_and_inputs(*args, **kwargs)
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/kaeunkim/lightning-thunder/thunder/core/module.py", line 61, in forward
    res = self._forward_fn(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/kaeunkim/lightning-thunder/kaeun_test.py", line 5, in <module>
    jm(inp)
NotImplementedError:

Ahaha. Yeah, you need a noop-lookaside that I have not posted in the repro. Sorry about that. I'll update the repro.

source: gharchive/issue

license_type: permissive

license_source: github-api


text:
remove unused outputs of read of bsym.args and bsym.kwargs

What does this PR do?
Remove unused args and kwargs

Want to review this one, @t-vi?

source: gharchive/pull-request

authors: crcrpar mruberry


text:
Batch Size Finder: Allow datamodule to decide fate when OOM thrown with new hook

🚀 Feature
Related #10243 (PR did not get to the finish line).
Motivation
After speaking to "Harry" on the Lightning Slack channel, we came up with some improvements that can be made to the batch size finder. This spawned from a discussion around automatic accumulation in real-time, but ended up being closer to the developer experience when using the batch size finder before training.
Pitch
We should allow the DataModule to control what happens when the batch size finder resets the dataloaders. This is required when certain data-loaders need to be reset in a particular manner (order by size of examples, such that the largest examples are first).
class MyDataModule(pl.LightningDataModule)
    ...
    def on_batch_size_finder_reset(self, model, trainer):
        trainer.reset_train_dataloader(model)
        trainer.reset_val_dataloader(model)

This function would be called via the batch size finder when a reset needs to be made, i.e:
https://github.com/Lightning-AI/lightning/blob/master/src/pytorch_lightning/tuner/batch_size_scaling.py#L149-L150
or
https://github.com/Lightning-AI/lightning/blob/master/src/pytorch_lightning/tuner/batch_size_scaling.py#L188-L189
We should also ensure that we reset when an OOM is raised, as this is omitted from the exception clause: https://github.com/Lightning-AI/lightning/blob/master/src/pytorch_lightning/tuner/batch_size_scaling.py#L195
cc @borda @akihironitta @rohitgr7 @carmocca

I think this would also require some documentation on when and why you might want to override this method in the docs with a link in sections mentioning batch_finding flags?

If this becomes a hook in the DM, it should probably also be part of the LM, as you can also user LM hooks to define the loaders

This would be fixed by having it as a callback that the user can easily modify cc @rohitgr7

not really, but we can expose it if required. That would require few follow-ups after that PR get's merged since currently the callback is using existing code to better review.
A current workaround can be:
def train_dataloader(self):
    if self.trainer.state.fn == TrainerFn.TUNING:
        # do stuff
    ...

authors: SeanNaren carmocca justusschock mogwai rohitgr7

repo: Lightning-AI/lightning


text:
Adding doc strings for exceptions raised in trainer.py

What does this PR do?

Doc string for Exceptions raised. lightning/pytorch/trainer/trainer.py
Part of #5434

Before submitting

Was this discussed/agreed via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
Did you make sure to update the documentation with your changes? (if necessary)
Did you write any new necessary tests? (not for typos and docs)
[x] Did you verify new and existing tests pass locally with your changes?
Did you list all the breaking changes introduced by this pull request?
Did you update the CHANGELOG? (not for typos, docs, test updates, or minor internal changes/refactors)

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

Reviewer checklist

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified

There are some docs errors:
/home/docs/checkouts/readthedocs.org/user_builds/pytorch-lightning/envs/16684/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:docstring of pytorch_lightning.trainer.trainer.Trainer:157: WARNING: Inline literal start-string without end-string.
/home/docs/checkouts/readthedocs.org/user_builds/pytorch-lightning/envs/16684/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:docstring of pytorch_lightning.trainer.trainer.Trainer.reset_train_dataloader:7: WARNING: Inline literal start-string without end-string.
/home/docs/checkouts/readthedocs.org/user_builds/pytorch-lightning/envs/16684/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py:docstring of pytorch_lightning.trainer.trainer.Trainer.__init__:157: WARNING: Inline literal start-string without end-string.

Haven't figured out what's causing them yet

authors: awaelchli dingusagar


text:
How do i get the size of preds and truth tensors after i call .update()

Discussed in https://github.com/Lightning-AI/metrics/discussions/1325

Originally posted by P-Sood November  9, 2022
I am running my model using DDP, and 4 GPUS, and I want to make sure that the metrics being computed are consistent by checking their size after and before a reset, as well as seeing how they line up with my batch size

Hi @P-Sood,
Is there a specific metric you are thinking about here or are we talking about a custom metric of yours?

This would be on any of the Multi class ones for Accuracy , F1 , Precison , Recall or Confusion matrix.
I am scared that my GPU's arent talking to each other and I would like a way to make sure before I call the compute function and after, that my code is correct and I don't have a silly bug in there.

So by default we do not track those kind of statistics, but with a bit of custom code it should be possible to get the stats. In the example below I am simply adding a statistic that keeps track of how many samples the metric has seen (over all devices)
from torchmetrics.classification import MulticlassAccuracy
import torch

class MyMulticlassAccuracy(MulticlassAccuracy):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.add_state("number_of_samples", torch.zeros(1), dist_reduce_fx="sum")

    def update(self, preds, target):
        super().update(preds, target)
        self.number_of_samples += preds.shape[0]

if __name__ == "__main__":
    acc = MyMulticlassAccuracy(num_classes=5)
    # 10 samples per batch
    preds = torch.randn(10, 5)
    target = torch.randint(5, (10,))

    # 10 batches
    for _ in range(10):
        acc.update(preds, target)

    val = acc.compute()
    assert acc.number_of_samples == 100

Is it something like this you are looking for?

authors: P-Sood SkafteNicki

repo: Lightning-AI/metrics


text:
Remove Doppler dependency from stack

Our current stack implementation relies on Doppler secrets to configure some commands. Let's remove this dependency to make local development easier for open source contributors and community members.
We will need another way to configure local environments, possibly using an environment file. These environments can be public as we will not use them anywhere outside of a local development context.

tagging @dev-ronelcanaria. He is working on moving from doppler to 1pass (still pending access).

@alvin-reyes I don't think we want to require 1password for stack / local development - it's a barrier for open source contributors - right, @bgins ?

@alvin-reyes I don't think we want to require 1password for stack / local development - it's a barrier for open source contributors - right, @bgins ?

Yes, that's correct. When the work on this issue is complete, we won't need any secrets management for local development.

As of Aug 14th this issue has a PR up for review; however, one final bug remains to be squashed where the run-onchain-cowsay job doesn't get picked up by the job-creator locally

authors: alvin-reyes bgins narbs91 walkah

repo: Lilypad-Tech/lilypad


text:
Finetuning sd-v2-depth models?

Is it possible to fine-tune the v2-depth model? I searched on the repo but couldn't find an answer. Thanks.

Greetings,
Unfortunately no, but you can try to request a feature in the main repo, I think Kohya will be happy to help
https://github.com/kohya-ss/sd-scripts
Or you can try this one for finetune an inpainting model or v2-depth model
https://github.com/devilismyfriend/StableTuner

StableTuner seems to meet my needs. Thank you for the pointer!

repo: Linaqruf/kohya-trainer


text:
🛑 LinerlyBot (Discord) is down

In ce51304, LinerlyBot (Discord) (https://linerlybot-discord.linerly.tk) was down:

HTTP code: 0
Response time: 0 ms

Resolved: LinerlyBot (Discord) is back up in 6dcf0b4.

repo: Linerly/status

license: MIT


text:
🛑 LinerlyBot (Discord) is down

In 2675320, LinerlyBot (Discord) (https://linerlybot-discord.linerly.tk) was down:

HTTP code: 0
Response time: 0 ms

Resolved: LinerlyBot (Discord) is back up in 055d348.


text:
服务器那边怎么验证呢

怎么用？

有 attempt 和 verify 这两个 api，把请求的原始参数传入就好了

authors: RryLee jalenjie

repo: LingxiTeam/api-authentication


text:
无线carplay无法连接

无线carplay无法连接

duplicate with #205

authors: mooil the-eric-kwok


text:
R5 Ballot HL7 FHIR version

The R5 Ballot HL7 FHIR version (Sept/Oct 2022 Ballot) includes new types of resources. At the moment LinuxForHealth supports only HL7 FHIR version R4/R4B.
Is there a trial version of LinuxForHealth where these new resources are implemented?
Thanks,
Alex

Nothing at the moment.  The first step would be to generate a new fhir-model off the R5 ballot artifacts.  If someone would like to give it a go, we can provide some guidance.
The trickier part will be deciding how to handle migration scenarios... there are a lot of breaking changes in R5.

I would also love to see support for R5. Any plans when to integrate it? The final release is just weeks away.

Is there any plan for this project to support R5 ?

authors: APicchio ZuSe hlab-pawat lmsurpre

repo: LinuxForHealth/FHIR


text:
Dealing with default values - how to deactivate default values?

In GitLab by @markuslf on Sep 2, 2021, 17:00
In CONTRIBUTING, specify how to deactivate the default values we have defined, if desired - for all parameter types (especially interesting for "repeating"). Use dmesg and systemd-unit as an example.
Currently discussed:

using a magic keyword value like --my-param=None or --my-param=__NONE__
using a --my-param-no-defaults or a more global --no-defaults toggle

Some customers are also interested in this.

Even easier, according to https://bugs.python.org/issue16399: The simplest alternative to this behavior is to leave the default as None. If after parsing the value is still None, put the desired list (or any other object) there. The primary purpose of the parser is to parse the commandline - to figure out what the user wants to tell you. There's nothing wrong with tweaking (and checking) the args Namespace after parsing.
That's correct.
Old code example:
    parser.add_argument(
        '--module',
        help='"modulename" to check (startswith), for example `--module json --module mbstring` (repeating)',
        dest='MODULES',
        action='append',
        default=DEFAULT_MODULES,
    )

    ....

    # parse the command line, exit with UNKNOWN if it fails
    try:
        args = parse_args()
    except SystemExit:
        sys.exit(STATE_UNKNOWN)

New code example:
    parser.add_argument(
        '--module',
        help='"modulename" to check (startswith), for example `--module json --module mbstring` (repeating)',
        dest='MODULES',
        action='append',
        default=None,
    )

    ....

    # parse the command line, exit with UNKNOWN if it fails
    try:
        args = parse_args()
    except SystemExit:
        sys.exit(STATE_UNKNOWN)

    # if after parsing the value is None, put the desired defaults there
    if args.MODULES is None:
        args.MODULES = DEFAULT_MODULES

authors: NavidSassan markuslf

repo: Linuxfabrik/monitoring-plugins

license: Unlicense


text:
basket import fails with Unable to load object referenced from host "tpl-host-generic"

This issue respects the following points:

[X] This is a bug, not a question or a setup/configuration issue.
[X] This issue is not already reported on Github (I've searched it).
[X] I use the latest release of the Monitoring Plugins (https://github.com/Linuxfabrik/monitoring-plugins/releases).
[X] I agree to follow Monitoring Plugins's Code of Conduct.

Bug description
Importing the basket into director fails.
Full output:
ERROR: RuntimeException in /usr/share/icingaweb2/modules/director/library/Director/Objects/IcingaObject.php:567 with message: Unable to load object referenced from host "tpl-host-generic", failed to load icinga_zone "master"
(Trying to import via icingacli due to size.)
Steps to reproduce - Plugin call
Importing the basket into director fails so ... ;-)

Steps to reproduce - Plugin Version
2022072001
Steps to reproduce - Data
No response
Python version
No response
Environment
Director version (System - About): 1.9.1
Icinga 2 version (icinga2 --version): 2.13.2-1
Application
No response
Python modules
No response
Additional info
No response

Do you have a master zone defined in the Icinga Director > Icinga Infrastructure > Zones (https://example.com/icingaweb2/director/zones)?

nope

during the icinga2 node wizard of the icinga2 master you needed to provide a Master zone name. If you did not name your master zone master during the initial icinga2 node wizard, then search and replace "zone": "master" with "zone": "your-master-zone-name" in the icingaweb2-module-director-basket.json.


text:
🛑 MERGE is down

In 8b59361, MERGE (https://merge.flitswallet.app/api) was down:

HTTP code: 502
Response time: 526 ms

Resolved: MERGE is back up in 9bdc5af.


text:
Compatibility with iOS version 9.0

Hi Eric!
I am getting this error while running an application using LiquidCore version 0.6.1.
dyld: lazy symbol binding failed: Symbol not found: _JSContextGroupAddMarkingConstraint
Referenced from: / /* path to app*/ /Frameworks/LiquidCore.framework/LiquidCore (which was built for iOS 10.0)
Expected in: /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 9.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/JavaScriptCore.framework/JavaScriptCore
To reproduce-
Run the code with iOS Deployment Target 9.0
Simulator used- iOS 6S with OS version 9.0
Here's the screenshot of the file where we reach this exception.

I wanted to confirm if the LiquidCore framework can be used with iOS 10 and above only or if this is an actual bug ? If it is, is there any work around or fix to this problem?
Thank you!

@ericwlange  - On further investigation, I found that the same issue occurs with iOS 10.0 and 11.0 as well.
Can you please have a look?
Has anyone else faced this issue before ?
Thank you in advance!

@ericwlange - Furthermore, I noticed that for iOS Version 11.0 the error is similar but not exactly same.
This is the error that I got -
dyld: lazy symbol binding failed: Symbol not found: _JSObjectGetGlobalContext
Referenced from: /path-to-app/Frameworks/LiquidCore.framework/LiquidCore
Expected in: /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 11.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/JavaScriptCore.framework/JavaScriptCore
The file where this exception is received is Object.cpp, under LiquidCore Framework. Whereas in the case of iOS9.0/10.0 it was NodeInstance.cpp

I have not tested with below iOS 10, so I am not sure if this will work on 9.  Nobody has reported this before, so any additional information you can provide would be helpful.

Okay.
I am facing the same issue with iOS10 as well. LiquidCore version 0.6.1 is being used.
The complete error log is -
_/Users/umang.kathuria/Library/Developer/CoreSimulator/Devices/03C8D4A2-710A-4A21-AD14-C92385EA8BF8/data/Containers/Data/Application/810196C6-49B8-4DAF-9D23-8A1FC2F1F4C2/Library/Application Support/liquid.bundle
dyld: lazy symbol binding failed: Symbol not found: JSContextGroupAddMarkingConstraint
Referenced from: /Users/umang.kathuria/Library/Developer/CoreSimulator/Devices/03C8D4A2-710A-4A21-AD14-C92385EA8BF8/data/Containers/Bundle/Application/BB18F4FE-2040-4D1E-B8D1-84D64708D8D7/MyDemoApp.app/Frameworks/LiquidCore.framework/LiquidCore
Expected in: /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 10.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/JavaScriptCore.framework/JavaScriptCore
_dyld: Symbol not found: JSContextGroupAddMarkingConstraint
Referenced from: /Users/umang.kathuria/Library/Developer/CoreSimulator/Devices/03C8D4A2-710A-4A21-AD14-C92385EA8BF8/data/Containers/Bundle/Application/BB18F4FE-2040-4D1E-B8D1-84D64708D8D7/MyDemoApp.app/Frameworks/LiquidCore.framework/LiquidCore
Expected in: /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 10.0.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/JavaScriptCore.framework/JavaScriptCore
xCode Version tested with- 10.1 and 10.2.1
Please do let me know what else you'd need to diagnose the issue better.
Thanks for your time!

This is possibly related to #108.  I made liberal use of the private JavaScriptCore API, but it seems that is not allowed.  I need to figure out how to achieve the same goals without the use of this API.

@ericwlange thanks for the update.
Do you have any workaround for this as of now ? Or may be an estimate on how much time it would take for the resolution ?
Thanks!

I don't have a workaround because I haven't been able to reproduce it yet.  As for the issue with using private APIs, I will only be able to say after the weekend.  I fear that this is going to be a massive undertaking, but since I work a full time job, I can't look at it in any detail until the weekend.

Can you please try the latest commit?
pod 'LiquidCore', :git => 'https://github.com/LiquidPlayer/LiquidCore.git', :commit => '2f8d903'

This should fix issue #108.  I would like to know if it also solves your issue.

Unfortunately, we are now getting error in some other file now. This is the error received-
>>> TypeError: Function_func.call is not a function. (In 'Function_func.call(this, ...arguments)', 'Function_func.call' is undefined)
Assertion failed: (exception==0), function exec, file /path to app /Pods/LiquidCore/LiquidCoreiOS/LiquidCore/V82JSC/V82JSC.h, line 265.
iOS Version 10.0
xCode version 10.0

On further investigation, it appears that something else is also broken with this commit.
I ran my sample app on iPhone Simulator with iOS Version 12.0
I hit the button that calls some methods in JavaScript file and I can see the logs were printed from JavaScript side, but even then there is a crash after that. **The crash occurs at line# 422 of JSCPrivate.cpp file. **
Here are the screenshots-

Also, on the console- there is no error at all, we just end up at :"lldb"
The same sample code works fine with the 0.6.1. version of liquidcore.
let me know if you need more information regarding this.
Thanks for all the efforts, Eric!

Thanks for reporting.  I can chase down that second bug; it should be simple.  Can you give the full stack information on the first one?

Can you actually give me the full call stack from both of these issues?

Actually, nevermind on the m_collection_thread crash.  I figured that one out by inspection.  That should be fixed with commit fd96e3d.  Please try that and verify that the second crash does not happen anymore.

For the 1st one here are further details of the thread stack -

The error that I got in console is -
>>> TypeError: Function_func.call is not a function. (In 'Function_func.call(this, ...arguments)', 'Function_func.call' is undefined)
Assertion failed: (exception==0), function exec, file /Users/umang.kathuria/Documents/Applications- xCode/MySampleApp/Pods/LiquidCore/LiquidCoreiOS/LiquidCore/V82JSC/V82JSC.h, line 265.
(lldb)
There is nothing more in the console. Please let me know if you need anything more.
Thanks!

On the m_collection_thread crash- I can confirm its working fine now.
No crash reported.

Hi @ericwlange !
Any update on this please ?
Thanks!

I've been struggling with this all day.  I "fix" (read: I just change the way it is doing it -- there should be nothing wrong with my original code) one thing and then something else breaks.
At the moment, iOS 10.0 does not appear to be supported.  I have not downloaded enough simulator versions to find out where it stops breaking.  Have you?

The original issue that I posted - I have tested a same app with simulators running 9.0, 10.0 , 11.0 and 12.0. Out of these four versions I found that the code broke with all except for version 12.0. So therefore I have tested with maximum 11.0 and not 11.1/2/3
I also tried it with 12.1, 12.2 and the code runs fine.
The branch you gave with the fix( commit => '2f8d903'), I have only tried on 10.0

I have tried both 10.0 and 10.3.1.  They both fail because JavaScriptCore doesn't like when node does something like this:
class FastBuffer extends Uint8Array {
  constructor(arg1, arg2, arg3) {
    super(arg1, arg2, arg3);
  }
}
FastBuffer.prototype.constructor = Buffer;

Calling the super constructor bails with the error:
TypeError: %TypedArray% should not be called directly

This works fine on the bundled version of V8 and also on iOS 12+.  I am in the process of downloading the 11.0 simulator to try and pinpoint where this starts working.  But I will not try to go much further to solve the problem.  I don't want to modify the node bootstrap code.  This gets too difficult to maintain.

Ok, I have tried my newer version with 11.0 and it works.  I will check in the mods and change the minimum support from 10.0 to 11.0.  It is not at far back as we'd like, but it is the best we can do with version 8.9 of node.

Could you provide the latest commit id for which 11.0 is working ?
And so I believe you'd be making 11.0 as the minimum OS version compatible with LiquidCore?
Thanks!

Ok, please try 6920f8d.  This should work with 11.0.  Minimum compatible version will be 11.0 going forward.  I've changed it in LiquidCore.podspec.  The differences in the javascript engine are just too much in 10.x and earlier.

@ericwlange  Seems like somethings not right with the commit. I tried installing, and at first it takes alot of time. Then after a while installation fails with this error-
[!] Error installing LiquidCore
[!] Failed to download 'LiquidCore': [!] /usr/bin/git clone https://github.com/LiquidPlayer/LiquidCore.git /var/folders/dz/gvkzfsxx6r55swyy7364h7w80000gp/T/d20190613-72089-1maeyvm --template=
Cloning into '/var/folders/dz/gvkzfsxx6r55swyy7364h7w80000gp/T/d20190613-72089-1maeyvm'...
error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 60
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
Here's the screenshot as well

Okay, on third attempt, it worked and installed the library correctly. Please ignore the last comment.

Yeah it sounds like a github glitch.

@ericwlange The library seems compatible with iOS 11.0 now. I have tried it a few times, and haven't seen a crash with the commit ID you gave.
Works fine with iOS 11.0

@umangkathuria Glad to hear it.  I am trying to figure out what is happening with #113 (which I am having trouble reproducing), but then I will push out an 0.6.2 release.

Thanks for all the effort, Eric!
Would it be possible for you to give a rough timeline for this to be released?

This has been pushed in 0.6.2 today.

authors: ericwlange umangkathuria

repo: LiquidPlayer/LiquidCore


text:
Did the things

Hi so I added message context menu functionality with toasts to be more like the BD version I think that's about it LOL

i'm gonna be completely honest, it's 10:53 pm for me rn and i'm tired as fuck so i'll fuck around with this a bit in the morning ok

i'm gonna be completely honest, it's 10:53 pm for me rn and i'm tired as fuck so i'll fuck around with this a bit in the morning ok

Lmao fair enough that's fine

authors: Lisenaaaa spinfish

repo: Lisenaaaa/powercord-toneindicators


text:
[BUG] hiding header or footer does not extend workspace view appropriately

Environment
Self-Hosted (Docker)
Version
2.0.3
Describe the problem
Hiding the footer or header does not lead to the iframe of the selected app extending into the free space, instead the background of the selected theme is visible.
Steps to reproduce

add

   "hideComponents": {
      "hideSearch": true,
      "hideHeading": true,
      "hideNav": true,
      "hideSettings": true,
      "hideFooter": true
    },

to your configuration
2. apply configuration
3. switch to workspace view
4. select any app
Tested with Firefox and Brave Browser.
Probably also relates is the fact that hiding header and not footer leads to the footer not beeing at the bottom of the site.
I attached screenshots for both problems.
Additional info
[Background Image from the Adventure theme can be seen below the iframe]

[Footer is floating if hiding header]

Please tick the boxes

[X] You are using a supported version of Dashy (check the first two digits of the version number)
[x] You've checked that this issue hasn't already been raised
[X] You've checked the docs and troubleshooting guide
[X] You agree to the code of conduct

Heya @Byolock
Thanks for the bug repot, and apologies for the delay in implementing this.
It should now be fixed in #557 / 2.0.6
Feel free to reach out if you need anything else :)
If you are using a custom theme, and experience a similar issue in the future, then you can adjust the --footer-height CSS variable

@Lissy93 No worries for the delay. Thanks for the change, however it seems to not fully fix my issue. The footer is now at the bottom but the iframe does still not extend all the way to the bottom of the window :

I tried to change --foother-height that didn't do anything, but im also not sure which value would be right. Tried to change from 128px to 64px and then to 256px and didn't see any visual difference.

/keep-open
This issue isn't resolved. I think I need to approach it differently to get the solution

@Lissy93 Maybe this is something that raises some new ideas ?
I finally had some time trying different css changes to see if I would get the the iframe to fit properly. I set the height of the iframe to calc(100% - var(--header-height) + var(--footer-height)). That change made the iframe fit nearly correctly (it is a few pixels to high but barely noticable). header-height value is 6.3rem footer-height value is 4rem. My guess is this is nearly working by pure chance or does that make any sense to you?
Using calc(100% - var(--footer-height)) uses more space than the default calc(100% - var(--header-height) but still misses a fair bit of space.
I did wonder, I have "hide header" enabled in the configuration, so why is the header height necessary to determine the height of the IFrame in the first place?
Some further experimenting got me to the idea that calc(100% - var(--footer-height)) is probably correct and the missing space is because I can still see a small header even though I disabled it in the configuration. The header class has a padding property of 0.5rem. A look on the footer class revealed a padding of 0.25rem. That got me to 0.75rem, so I changed the Iframe height to : calc(100% - var(--footer-height) + 0.75rem). That wasn't correct either but it was obvious this change used up exactly half of the remaining space which should be used by the iFrame, so I changed it to calc(100% - var(--footer-height) + 1.5rem).
This change made the iFrame now exactly as high as it should be. The interresting thing is, 1.5rem is exactly the margin-top property of the footer class. So maybe the correct solution to this problem is to take '100% height minus the height of the footer without its margin-top property' for the height of the IFrame?
My understanding of CSS and the terminology is very limeted so I hope what i've written makes any sense.

#1463 Seems related


text:
path does not exist

Hi there,
im using stapi: 3.0.5
The path requested to update in your DOCS - extensions/upload/config/settings.json
is not found in my version of strapi? Do I need to created this path then to use this package?
also, do I need to define the data that is being placed in, settings.json? i.e.
{
"provider": "google-cloud-storage",
"providerOptions": {
"bucketName": "Bucket-name"
}
}
does that need to be defined first as: let GAP = {} << for example
-- Desired outcome:
Provide more clarity on how to set up this package in the DOC -
Thanks in advance for any help,
W

Hi @wallythewebdev
Yes, you need to create the file, but you can also add this configuration in the new plugin.js file in config folder.
We provide many example of implementation, in order to help everybody, but maybe I need to update it, this take some time...
So let me check the latest release, release yesterday only :)
Try to add the upload provider configuration in this file : config/plugins.js
module.exports = {
  upload: {
    enabled: true,
    name: 'Local server',
    sizeLimit: 1000000,
    provider: 'google-cloud-storage',
    bucketName: '#bucket-name#',
    serviceAccount: '#copy your service account in json#',
    baseUrl: 'https://storage.googleapis.com/{bucket-name}',
  },
};

Thanks,

@wallythewebdev
A new release for latest Strapi version (3.1.5) is now available.
The README.md has been update too.
If all of this information or ok for you, you're free to close this issue :)
Thanks,

Hi @Lith ,
Thank you for your reply.
I spent some time with the Strapi Dev on slack and was able to work out the road bumps in my method.
I'll close this now.
Thanks again,
W

authors: Lith wallythewebdev


text:
环境配置问题

请问需要配置的torch和torchvision版本是多少？

“torrent>=1.5.0, torrentvision>=0.6.0” will do.

authors: Dclance LittleForest-Ming

repo: LittleForest-Ming/CRPP


text:
Can I remove a random cube in real time?

How do I delete a random cube in real time?

Yes, you can do it by Remove method:
var dataBuffer = batchHandle.AsInstanceDataBuffer();
dataBuffer.Remove(index, count);

Thank you. However, I modified the Update function a bit. I use dataBuffer.InstanceCount instead of m_CubeCount.
private void Update()
{
m_JobHandle.Complete();
var dataBuffer = m_BatchHandle.AsInstanceDataBuffer();
m_Time += Time.deltaTime;
if (m_Time > 2f)
{
    var index = (int)(Random.value * (dataBuffer.InstanceCount - 1));
    dataBuffer.Remove(index, 1);
    m_Time = 0;
}

transform.position = m_CenterFlock.Value;
m_BatchHandle.Upload();

var averageCenterJob = new AverageCenterJob
{
    InstanceDataBuffer = dataBuffer,
    Center = m_CenterFlock,
    Size = dataBuffer.InstanceCount,
    ObjectToWorldPropertyId = m_ObjectToWorldPropertyId
};
var averageCenterHandle = averageCenterJob.ScheduleByRef();

var sampleJob = new SampleJob
{
    Weights = m_Weights,
    Goal = m_Destination.position,
    NoiseOffsets = m_NoiseOffsets,
    Time = Time.time,
    DeltaTime = Time.deltaTime,
    MaxDistance = m_SeparationDistance,
    Speed = m_MaxSpeed,
    RotationSpeed = m_RotationSpeed,
    Size = dataBuffer.InstanceCount,
    InstanceDataBuffer = dataBuffer,
    ObjectToWorldPropertyId = m_ObjectToWorldPropertyId
};
m_JobHandle = sampleJob.ScheduleParallelByRef(dataBuffer.InstanceCount, 32, averageCenterHandle);

}

authors: LizzyFox-code wearplugins

repo: LizzyFox-code/BrgContainer


text:
🛑 Documentation is down

In 9af5b19, Documentation (https://docs.loapu.dev) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Documentation is back up in 987285d after 8 minutes.


text:
McFee先斬後奏,我無法直接允許修改dll

在提问之前...

[X] 我理解 Issue 是用于反馈和解决问题的，而非吐槽评论区，将尽可能提供更多信息帮助问题解决
[X] 我填写了简短且清晰明确的标题，以便开发者在翻阅 issue 列表时能快速确定大致问题。而不是“一个建议”、“卡住了”等
[X] 我已查看最新测试版本的更新内容，并未提及该 bug 已被修复的情况

问题描述
我使用的防火牆是麥克菲

安裝漢化版工具箱和NET.8之後
我用電腦啟動後先出現黑色指令頁面
然後dll就被麥克菲隔離了
我不知道要怎麼做到永久允許
我平時都用手機玩,是因為想自己看人格故事才用電腦啟動的(我是劇情跳過大師)
日志文件
另存記錄檔.zip
截图
No response
还有别的吗？
win11

把杀毒软件关闭就好了，你也可以找软件的客服寻求帮助。

很抱歉，我们对其他的杀毒软件并无更多了解……这在我们的控制范围之外。我们无法绕过其安全程序。
关于其他软件造成的问题，还您请寻找关于其的帮助，或者咨询其维护人员


text:
创建类似 http://ithinkimight.com/ 随机大小排布界面

ithinkimight.com 这个网站图片来自 Instagram，图片随机大小，位置也是随机，图片可以重叠，但是并没有 过分 重叠。这种随机大小，位置排版页面元素跟平常的整齐 grid 或者 瀑布流 风格很不一样，下面我们尝试一下实现类似效果

从网站源文件上看并不能看出网站是如何随机排布这些图片，因为是后端直接输出图片的位置参数，并不是前端实现的位置计算。不过这里有一种简单方法，可以实现类似效果。先看一下具体效果
例子以及实际运用效果
http://jsfiddle.net/am0200/1mn5xbf8/
http://stone.am0200.com/
实现思路
首先把 container 划分为 4 个块，然后需要随机定位的 4 个块分别放到这 4 个区域，最后定义这 4 个块距离左边跟上边的最远，最近距离即可
实现代码
html 部分，我们只是生成 4 个容器，每个容器都可以放置一张图片

css 部分，我们使用绝对定位来设置每个容器的主要位置
section {
    width: 100%;
    height: 100%;
    position: relative;
}
section div {
    position: absolute;
}
#d0 {
    left: 50%;
    top: 0;
}
#d1 {
    top: 50%;
    left: 50%;
}
#d2 {
    left: 0;
    top: 50%;
}
#d3 {
    left: 0;
    top: 0;
}

js 部分，我们设置 4 个块随机大小，并且随机上下左右距离，需要注意的是，这个距离是有一定的范围的
function rd(n,m){
    var c = m-n+1;
    return Math.floor(Math.random() * c + n);
}

var w = parseInt($('section').width()),
    h = parseInt($('section').height());

$('div').each(function() {
    var wh = rd(150, 200)
    $(this).css({
        width: wh,
        height: wh
    })
})

var d0 = parseInt($('#d0').width()),
    d1 = parseInt($('#d1').width()),
    d2 = parseInt($('#d2').width()),
    d3 = parseInt($('#d3').width());

var a1 = rd(-(d0 / 4), w / 2 - d0),
    a2 = rd(0, h / 2 - d0 / 4 * 3);

var b1 = rd(-(d1 / 4), w / 2 - d1),
    b2 = rd(-(d1 / 4), h / 2 - d1);

var c1 = rd(0, w / 2 - d2 / 4 * 3),
    c2 = rd(-(d2 / 4), h / 2 - d2);

var e1 = rd(0, w / 2 - d3 / 4 * 3),
    e2 = rd(0, h / 2 - d3 / 4 * 3);

$('#d0').css('margin-left', a1 +'px')
$('#d0').css('margin-top', a2 +'px')

$('#d1').css('margin-left', b1 +'px')
$('#d1').css('margin-top', b2 +'px')

$('#d2').css('margin-left', c1 +'px')
$('#d2').css('margin-top', c2 +'px')

$('#d3').css('margin-left', e1 +'px')
$('#d3').css('margin-top', e2 +'px')

其他问题
这种定位简单方便，但是如果是单数块的时候，就要做一下相关处理了

更新：http://ithinkimight.com/ 网站挂了，并且挂了很久了

heeelo

authors: LoeiFy pdhoward

repo: LoeiFy/Recordum


text:
🛑 SentinelDB is down

In 111d4d7, SentinelDB (https://db.logsentinel.com) was down:

HTTP code: 502
Response time: 444 ms

Resolved: SentinelDB is back up in 3a8edff.

repo: LogSentinel/status


text:
Added Contributing Guidelines

@LokeshKumar-Dev I have added the Contributing Guidelines as CONTRIBUTING.md
Please review it.
And could you please add the GSSOC 23 label to the issue #2

@LokeshKumar-Dev I have added the Contributing Guidelines.
Please review it.

@LokeshKumar-Dev Could you please merge this PR.


text:
Question: Adding a class

I noticed that each viewcontroller has a class of EmbeddedViewController. How would I add iboutlets or actions from a viewcontroller like the top one? Im fairly new to swift.

figured this out. Just have to use a subclass of EmbeddedViewController. Like:
class TopViewController: EmbeddedViewController {
then put that as the class of the viewcontroller in storyboard.

repo: Lomotif/swipe-navigation

license: mit

license_source: bigquery


text:
Optimize Client.next_update signature

This method does not return Ok(None), so Option is useless

Thanks. I probably made it Option to handle the client being disconmected, but indeed that should probably be Err, not None.

Actually maybe the reason was parity with Stream. Not sure.

authors: Lonami dimentyy

repo: Lonami/grammers


text:
🛑 jpvir is down

In 17026b3, jpvir ($JPVIR) was down:

HTTP code: 0
Response time: 0 ms

Resolved: jpvir is back up in 3425c55.

repo: LonelyJupiter/UPPTIME


text:
🛑 jpvir is down

In df3dfdf, jpvir ($JPVIR) was down:

HTTP code: 0
Response time: 0 ms

Resolved: jpvir is back up in bc95332.


text:
Update package for 1.7.1

Thanks for getting 1.6.6 packaged. This makes the package build with version 1.7.1. I've tested this on Fedora 27.

Awesome, thank you! Will give this a test run & merge, soon!

Updated with one more small change: the Ssytemd service now gives rspamd its own runtime directory to place its PID. This should probably just be fixed upstream though (the process shouldn't try to use a pid file when it's run in foreground mode).

Thank you @eklitzke!

authors: LorbusChris eklitzke

repo: LorbusChris/rspamd-rpm


text:
🛑 Link Shortener is down

In 8274afa, Link Shortener (https://lr-link.vercel.app) was down:

HTTP code: 500
Response time: 10942 ms

Resolved: Link Shortener is back up in cccca0c after 7 minutes.

repo: LordRonz/status


text:
Small requests and a big one: Read existing avar2 data

I reviewed https://lorp.github.io/fencer/src/fencer.html today with @dberlow :) Following that chat I have some suggestions:

Make the preview panes of named instances removable
Make the 'window size' of each pane adjustable
Make the order of the panes adjustable; it will be useful to have the canvas large and 1 render pane right of it
Add a toggle to wrap the text contents of a pane, and add basic font-size/line-height controls (behind the existing control panel modal); its important to define opsz by seeing text 'at actual size'
In Mappings Visual pane, Allow the user to define the resolution of the space sampling grid for more/less magnetic field arrows
In Mappings Visual pane, add a toggle between magnetic field arrows and a color gradients, similar to old school Superpolator
In Mappings Visual pane, prevent the pucks from going outside the pane's grid; its possible to get values outside the axis min/max, which should not be possible
in Mapping XML, checkbox for rounding all values to int

And a big one:

Read existing AVAR2 mappings into the tool, so the tool can be used to inspect them visually. This is a current use-case for Font Bureau, as they are authoring avar2 designSpace Mappings by hand, and want to review them. If the binary avar2 table has data that can't be parsed into the tool, then just alert the user that is so and blank it as it does now.

I like to add that I like the way the fencing shows the change of current in the interpretation has fencing is added. Also, what about showing the existing current with a design space, where the two dimensions that have been chosen, have an origin and an end and arrows in between? Probably a different color from what the fencing does to the current.On May 20, 2024, at 1:07 PM, Dave Crossland @.***> wrote:
I reviewed https://lorp.github.io/fencer/src/fencer.html today with @dberlow :) Following that chat I have some suggestions:
Make the preview panes of named instances removable
Make the 'window size' of each pane adjustable
Make the order of the panes adjustable; it will be useful to have the canvas large and 1 render pane right of it
Add a toggle to wrap the text contents of a pane, and add basic font-size/line-height controls (behind the existing control panel modal); its important to define opsz by seeing text 'at actual size'
In Mappings Visual pane, Allow the user to define the resolution of the space sampling grid for more/less magnetic field arrows
In Mappings Visual pane, add a toggle between magnetic field arrows and a color gradients, similar to old school Superpolator
In Mappings Visual pane, prevent the pucks from going outside the pane's grid; its possible to get values outside the axis min/max, which should not be possible
in Mapping XML, checkbox for rounding all values to int
And a big one:
Read existing AVAR2 mappings into the tool, so the tool can be used to inspect them visually. This is a current use-case for Font Bureau, as they are authoring avar2 designSpace Mappings by hand, and want to review them. If the binary avar2 table has data that can't be parsed into the tool, then just alert the user that is so and blank it as it does now.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

When you say the "existing current" do you mean a rendering of the untransformed font? I’m intending to show untransformed/transformed versions in each render box, perhaps the untransformed always in grey.

Exactly thanksOn May 20, 2024, at 5:30 PM, Laurence Penney @.***> wrote:
When you say the "existing current" do you mean a rendering of the untransformed font? I’m intending to show untransformed/transformed versions in each render box, perhaps the untransformed always in grey.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

For future reviews of Fencer, it may be useful to follow the exercise I recently added to the README :)

I’ll get those dual renders working soon, David.

Comments on individual requests. I may add individual issue numbers.

Make the preview panes of named instances removable

Good idea. Maybe have the user load Named Instances only if they want.

Make the 'window size' of each pane adjustable

Make the order of the panes adjustable; it will be useful to have the canvas large and 1 render pane right of it

Desirable… combined with request 2, the simplest way to do this may be by implementing a draggable UI where windows can be repositioned and resized, their positions & sizes stored in a cookie.

Add a toggle to wrap the text contents of a pane, and add basic font-size/line-height controls (behind the existing control panel modal); its important to define opsz by seeing text 'at actual size'

Good idea

In Mappings Visual pane, Allow the user to define the resolution of the space sampling grid for more/less magnetic field arrows

Enhancement already intended

In Mappings Visual pane, add a toggle between magnetic field arrows and a color gradients, similar to old school Superpolator

Interesting, we can try this. Could be useful to show from where a fenced zone gets its solitary instance.

In Mappings Visual pane, prevent the pucks from going outside the pane's grid; its possible to get values outside the axis min/max, which should not be possible

Covered by #4, fixed in 29abf9f8a5d6c97c81f6e7cb8627f9a32b016c66.

in Mapping XML, checkbox for rounding all values to int

Good idea.

And a big one:

Read existing AVAR2 mappings into the tool, so the tool can be used to inspect them visually. This is a current use-case for Font Bureau, as they are authoring avar2 designSpace Mappings by hand, and want to review them. If the binary avar2 table has data that can't be parsed into the tool, then just alert the user that is so and blank it as it does now.

If we can inspect the process that generated the avar2 tables in the tiny number of existing fonts, it may well be possible to reverse engineer those particular cases as mappings. The avar2 transformation model is more powerful than what can be generated by sets of mappings, which means that it’s non obvious how to write a function to convert an avar2 table back to mappings, even if you know it was created from mappings. This is not necessarily the last word on the topic — it’s a desirable thing, and a solution may emerge...
However, reading "authoring avar2 designSpace Mappings by hand" literally, I can confirm that this XML can be simply copied and pasted into Fencer’s XML window, and graphically inspected immediately.

the simplest way to do this may be by implementing a draggable UI where windows can be repositioned and resized

Ok so ChatGPT just wrote me a windowing system https://codepen.io/lorp/pen/YzbqvBN

Added "integer dragging" mode, a reinterpretation of the request "in Mapping XML, checkbox for rounding all values to int". This rounds values when the user is dragging a slider or a graphical marker, but still allows arbitrary values to be entered manually. It also still allows the user to drag to the extremes when they are non-integer.

Regarding integer rounding, what I implemented is to set the actual mapping to integer. This seems desirable in many cases so I want to keep it; but the request from DC/DB seems to be more about rounding the mappings for the viewer (as in formatting a spreadsheet cell), not the underlying values.
Is this latter rounding definitely desirable? It feels risky, in that users could copy it, thinking those are the real numbers.

@dberlow still trying to work out what you mean by "what about showing the existing current with a design space, where the two dimensions that have been chosen, have an origin and an end and arrows in between?" Is it something like I implemented in Samsa, in the "loci" mode? In this view, both axes are somewhere in the middle of their range, and the "railway track" UI shows the set of points where the points will end up, if you were to move each axis along its whole range.

The tracks visual is cute but a bit of a gimmick; I'd like a toggle to turn it into a simple 1px line

The windowing system will benefit from a 'reset' button, as it persists across sessions at the moment.

authors: Lorp davelab6 dberlow

repo: Lorp/fencer


text:
Allow multiple Mappings windows

Multiple Mappings windows will allow users to have a complete view of a variable font with more than 2 axes, with changes in all axes visualized. A button could potentially create all windows necessary for the axes in the font, so for a 20-axis font 10 Mappings windows would be created.

https://developer.mozilla.org/en-US/docs/Web/API/VisualViewport could help make room by "zooming out"

The main functionality, handling multiple View windows, is now implemented in a54ddec68608e195ba759e5d786a1fe8a09d8b90. New View windows are created with the same size as the last-created window and positioned at an offset of (20,20) from it. This has the disadvantage of obscuring previous View windows.
How about this logic for new View window layout?

Size: take the dimensions of the last-created View window.
Position: find space for the new View window in the document as close to the top as possible — if no rectangle large enough exists, then expand the canvas downwards to create space.

This way, we leave it to the user to decide whether very small View windows are ever created.

Zooming the viewport, à la Prezi, is intriguing. However the reduction of size of UI elements (text labels, axis sliders, draggable mappings, window title bars, etc.) seems to be an overwhelming disadvantage in this situation.

I'm not sure, I think its OK to make all the UI read-only once zoomed out a certain amount, the point is to see an overview, and interaction can require zooming in.

I’m still thinking this will lead to interminable discussion over the ideal UI for various zooms, a kind of opsz axis for UI.
How about the following approach?

A button opens a new window, "Mini views", by default containing small versions of enough 2D graphs to cover all axes (thus 16 Mini Views for a 31-axis font).
Delete any Mini Views you don’t need.
Add new Mini Views for custom 2-axis combos by clicking "Add Mini View" on a suitable large View.
Click on a Mini View to open a large View, then edit mappings on those two axes.
Reorder Mini Views by dragging.

This approach means just a single zoom scale for me to pick, along with its UI specifics. I suggest dropping all backgrounds, only showing the mappings. Maybe the Mini Views are so simple graphically that simple scaling will be ok, like choosing the scale for image thumbnails in the macOS Finder.
The only additional issue is preserving state so that you don’t need to set up Views and Mini Views each time you open a given font in Fencer. The solution to this is to key the window states to the filename or font name in LocalStorage.


text:
Dotlottie requests to jsdelivr for wasm when deploying with vite

Overview
Hi, it seems that dotlottie-web  is requesting to cdn.jsdelivr.net when i use it with my local vite deployment.
This should not happen and dotlottie-web should use the local wasm file bundled with vite.
Here is the affecting line i think:
https://github.com/LottieFiles/dotlottie-web/blob/bb5954bff2960a34dec3f1806a0a3ba389ad4882/packages/web/src/core/dotlottie-wasm-loader.ts#L33-L53
It's actually hard to show this error without the use of a JS debugger. Here is my profile that shows this call.
Consuming repo

What repo were you working in when this issue occurred?

dotlottie-web
Labels

[x] Add the Type: Bug label to this issue.

@baseplate-admin you can self host the wasm file, checkout this related discussion
https://github.com/LottieFiles/dotlottie-web/discussions/198

Hi @theashraf, thanks for quick response. But it seems the package that i am using dotlottie-svelte doesn't have a easy way to override this?

Dont you think it's better to default to self-hosting wasm?

@baseplate-admin
We can't make it the default behavior as not all bundlers include a URL loader by default, and we can't assume that they do.
Also, dotlottie-web is supposed work in the browser without any bundler. Therefore, there are two possible mechanisms for loading the WASM in this case: first, from the CDN as it is currently configured; second, by offering self-contained JavaScript bindings from dotlottie-rs, which is our cross platform core player. This approach will significantly increase the JavaScript bundle size and can negatively impact the users' page scores.
We plan to ship the self-contained, non-WASM JavaScript bindings for users running the player in non-WASM-supported environments.
I am happy to hear your suggestions to improve this piece of the dotlottie-web

Hi @theashraf, thanks for your quick response.

We can't make it the default behavior as not all bundlers include a URL loader by default, and we can't assume that they do.

I am sorry for this. I have no idea on this topic.

dotlottie-web is supposed work in the browser without any bundler.

If you use the self hosted esm bundle, in theory it would be possible to self host this wasm binary yourself.
// lottie-player.ts
import './Dotlottie.wasm' ; // It should point to https://cdn.jsdelivr.net/npm/@lottiefiles/dotlottie-web@0.23.2/dist/dotlottie-player.wasm

That's how packages like colorthief-wasm-web can be used from a browser (without a bundler).

@baseplate-admin
dotlottie-web is an isomorphic javascript library that works on Node and the browser, not only the modern browsers.
Also Bundlers need to know which loader to use and how to handle module resolution requests ending with .wasm, we can't assume that users have .wasm url or file loader, that's why we have provided the setWasmUrl to allow users to configure how they want their WASM to be loaded.
You're right, i was referring to the Javascript only bindings, not to the self-hosted wasm

This doesn't make sense to me. Cause we will be loading wasm from either the bundle or the jsdelivr. Loading from a cdn shouldn't reduce the PageInsight score compared to self-hosting the wasm.

Mostly old browsers and old versions of Node, also browsers with disabled WASM runtime

I am curious. Is there a platform that doesn't support wasm? I was under the impression that wasm was universal for both node, deno and browsers and even other languages like python

Related issue: https://github.com/LottieFiles/dotlottie-rs/issues/169
Happy to address your proposal or contribution!!

@baseplate-admin I will close this issue for now. Feel free to reopen it if you're unable to self-host the WASM file.
Thanks!

authors: baseplate-admin theashraf

repo: LottieFiles/dotlottie-web


text:
Hide your token

Your token is clearly visible in the code: https://github.com/LucasFlicky/polluxbot/blob/master/pollux.js#L40
People can use this maliciously, so implementing a config file of some sort to load the token from securely is best.

thanks for the notice. i'll be removing all sort of tokens from the actual code and dumping them into a config.js file

authors: LucasFlicky tinnvec

repo: LucasFlicky/polluxbot


text:
"expected none or () delimited group, but found different token tree (note: do not use the macros from bunt-macros directly, but only through bunt)"

Hi,
When macro expansion is activated in rust-analyser in VSCode, I get the following error, every time I use bunt::println!:

expected none or () delimited group, but found different token tree (note: do not use the macros from bunt-macros directly, but only through bunt)

Is this somehow fixable?
Macro expansion is useful for completion of types that are created via proc macros (e.g. typed_builder), but now my code is littered with error messages that the compiler itself doesn't report as errors.

I reproduced the problem locally. As to why this happens: good question! I don't know. I don't really know a lot about rust-analyzer and haven't used its proc macro expansion features yet. I would assume it's still not "finished" and that this is just a bug.
So what's happening with bunt is that bunt::println is actually a declarative macro that slightly transforms the input and passes it to the proc macro bunt_macros::writeln. See here. It seems like rust-analyzer ignores this transformation done by the declarative macro and just passes the original input token stream to the proc macro. This causes the error. But I have no idea why that would happen. Does rust-analyzer support declarative macro expansion yet?
Please excuse me pinging you directly here, but maybe @jonas-schievink could help us out here?

This certainly seems like a bug in rust-analyzer, but I'm not immediately sure what's causing it.

It also happens when calling the procedural macro directly:
    bunt_macros::writeln!(
        (bunt::termcolor::StandardStream::stdout(bunt::termcolor::ColorChoice::Auto))
        ["asdasd"]
    );

A closer manual invocation would be:
    bunt_macros::writeln!(
        (bunt::termcolor::StandardStream::stdout(bunt::termcolor::ColorChoice::Auto))
        [("hello")]
    );

It's a bit strange, but the [$($format_str)+] (in the definition of bunt::println!) will result in a token stream of:
Group {
    delimiter: Some('['),
    inner: Group {
       delimiter: None,
       inner: ...,
    }
}

Maybe rust-analyzer does not add this "dummy group"? I think the behavior changed recently: https://github.com/rust-lang/rust/pull/73084/
But I guess I could also change bunt-macros to optionally accept a None-delimited group there. That's probably the easiest fix.

Why is there an additional () around the format string? I only see that as part of the $(...)+ repetition operator, which should not end up in the output

I managed to get a fairly minimal example to reproduce this problem. You can see it on this branch. We have three crates: bunt-macros (exporting proc macro), bunt (exporting decl macro) and the simple example.
lib.rs of bunt-macros
use proc_macro::TokenStream;

#[proc_macro]
pub fn writeln(input: TokenStream) -> TokenStream {
    panic!("{:#?}", input);
}

lib.rs of bunt:
pub extern crate bunt_macros;

#[macro_export]
macro_rules! foo {
    ($target:expr) => {
        $crate::bunt_macros::writeln!($target)
    };
}

simple.rs
fn main() {
    bunt::foo!(peter);
}

If you cargo build --example simple, you get this output:
error: proc macro panicked
 --> examples/simple.rs:3:5
  |
3 |     bunt::foo!(peter);
  |     ^^^^^^^^^^^^^^^^^^
  |
  = help: message: TokenStream [
    Group {
        delimiter: None,
        stream: TokenStream [
            Ident {
                ident: "peter",
                span: #0 bytes(28..33),
            },
        ],
        span: #6 bytes(8793927..8793934),
    },
]

However, if I just save simple.rs in VScode with RA proc macro expansion activated, it shows this error (when hovering over the macro call):
proc macro returned error: proc-macro panicked: TokenStream [
    Ident {
        ident: "peter",
        span: 4294967295,
    },
] rust-analyzermacro-error

RA seems to not add this "dummy group" when evaluating the decl macro.
But the most interesting part: if I rename writeln to bar (in both lib.rs), does not show the error anymore! It seems to give up on evaluating the macros. Instead, it only shows the output of cargo check, which also contains the dummy group.
Does RA treat writeln in a special way?

@jonas-schievink Just to be clear, I don't expect you to help out here. Also, if I should just open an issue at the RA repo, let me know!

But the most interesting part: if I rename writeln to bar (in both lib.rs), does not show the error anymore! It seems to give up on evaluating the macros. Instead, it only shows the output of cargo check, which also contains the dummy group.

This might just be because we don't reload proc. macros.
Thanks for finding that reproduction! It would be great if you could open a rust-analyzer issue with that.

This might just be because we don't reload proc. macros.

Ouch. I regularly restarted RA while building the minimal example, but of course I forgot to restart it after renaming that. So yeah, you seem to be right. Once RA is reloaded, I see the same behavior for bar.
I created the RA issue.

I checked the parsing code again and while some of the None delimited groups are not required, others are. So I decided not to implement a workaround in bunt. It would be a bit too much hassle for a fix like that. So we have to wait for the RA fix!

@LukasKalbertodt: Okay, thank you for investigating this. It looks like I should have reported this directly to RA.

authors: LukasKalbertodt d4h0 jonas-schievink

repo: LukasKalbertodt/bunt


text:
GRPC support

Hello,
I have a question for which I didn't find a answer.
How easy would it be to support GRPC mocking on wiremock-rs?
The api would be the same:

You start a server.
You provide stubs for requests, by specifing service name / method / request message (or matchers)
You provide a suitable response on match.
You provide a way of investigating if a call was performed to this stub on this server.

I have been searching for crates which allow this kind of thing because it would enable easy integration testing of microservices which have to call grpc end points as part of their execution flow.
Using grip mock strategy, which is to translate grpc message to JSON, call wiremock, get response and translate that to GRPC again appears to be a good idea. Never the less as I am not really fammiliar with all of that I thought asking here would be a good idea.
Do you think something like this could be implemented?
Thanks,
Marlon

It's unfortunately fairly complicated - I explored the idea a while ago and I didn't manage to build an ergonomic API.
It is out of scope for wiremock for the foreseeable future.

authors: LukeMathWalker marlon-sousa

repo: LukeMathWalker/wiremock-rs


text:
🛑 Bank of China Australia is down

In a79e76e, Bank of China Australia (https://obdevp.bank-of-china.net.au/cds-au/v1/banking/products) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Bank of China Australia is back up in 0cb5ea3.

repo: LukePrior/OpenBankingUptime


text:
🛑 Bank of China Australia is down

In 71f28f2, Bank of China Australia (https://obdevp.bank-of-china.net.au/cds-au/v1/banking/products) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Bank of China Australia is back up in cf6cdda.


text:
🛑 Bank of China Australia is down

In a002939, Bank of China Australia (https://obdevp.bank-of-china.net.au/cds-au/v1/banking/products) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Bank of China Australia is back up in 4b8f387.


text:
🛑 Australian Unity Bank is down

In cd20e65, Australian Unity Bank (https://open-banking.australianunity.com.au/cds-au/v1/banking/products) was down:

HTTP code: 500
Response time: 6064 ms

Resolved: Australian Unity Bank is back up in bb9d3bd.


text:
Option for more verbose output/debugging?

This script takes a long time to run. It would be nice if it was capable of outputting some progress information, or details about what it's doing.  Also, error messages if suburb/state were invalid or not found etc.

The execution time for the script is dependent on the suburb in regards to the number of addresses it needs to check with NBN. The script is configured to maintain 20 simultaneous requests, while increasing this amount it is possible it increases the strain on the NBN API to a point where I'm not comfortable.
The script was hacked together in a day so as you note it unfortunately lacks any debugging or sufficient documentation/testing. I will hopefully get around to improving this eventually but given my limited time for this project it's not an immediate priority however I would be happy to accept any pull requests incorporating such changes.

Yeah man, I understand how it is.   Maybe I'll find the time someday too :)

Thanks for your efforts, and contributing :)

https://github.com/LukePrior/nbn-upgrade-map/pull/40

Note to self: would be good to get some indication of progress while going through the NBN API calls. Investigate checking how many threads have completed.

Yup, I agree, and it was the primary reason for the suggestion (besides the silent failure with bad parameters).  I thought to leave this until after/if we resolve caching.

Added progress indicator in https://github.com/LukePrior/nbn-upgrade-map/pull/54

authors: LukePrior lyricnz

repo: LukePrior/nbn-upgrade-map


text:
Add DexterMC

General:

[x] The pull request title is descriptive. (ex. Added Lunar Network, not Updated metadata.json)
[ ] The pull request does not contain any unrelated commits. (ex. commits from previous pull requests)

Mapping Additions or Updates:

[x] Folder with appropriate name has been created / updated (must not include any non-alpha characters or whitespace).
[ ] No changes were made to the file's formatting (4 spaces per tab).
[x] There are no syntax errors.
[x] There is no pre-existing mapping matching my id (check if there is an existing folder).
[x] My field values match your requirements.
You can view our patterns here: metadata.schema.json, or take a look below and complete the field checklist:

[x] id: a lowercase string, which should match the folder name (ex. myserver)
[x] name: a string (ex. MyServerPvP)
[x] description: hook between 16 and 80 characters (ex. Home of Competitive Minecraft PvP)
[x] addresses: an array with lowercase strings (ex. ["my.server", "your-server.com"])

You do not need to specify subdomains, Lunar Client services automatically detect them.

[x] primaryAddress: the primary address that people connect to with (please include the subdomain if required) (ex. mc.my.server)
[x] minecraftVersions: an array with Minecraft versions as strings _(ex. ["1.18._", "1.19.2"] - Must be versions or subversions supported by Lunar Client)*
[x] primaryMinecraftVersion: a Minecraft version as a string (ex. 1.19.2 - Must be a subversion supported by Lunar Client)
[ ] primaryColor: a hexademical color code that primarily distinguishes the server (ex. #00FFFF)
[ ] secondaryColor: a hexademical color code that accompanies the primaryColor of the server (ex. #FF0000)
[x] primaryRegion: the primary region where your server operates in (ex. NA)
[x] regions: a list of regions where you have servers located that service your players (ex. ["NA", "EU", "AS"])
[x] gameTypes: a list of games that describe the content on your server, must be a max of 3 listed (ez. ["PVP", "UHC", "HCF"])
[ ] crossplay: whether the server has support for Bedrock Edition players (through proxies such as GeyserMC)
[ ] (optional) presentationVideo: YouTube video ID (in slug) to server trailer / introduction (ex. 7EV4cPuJvXE)
[x] (optional) website: url of server website, must include URL schema (http:// or https://) (ex. https://www.your-server.com)
[x] (optional) store: url of server store, must include URL schema (http:// or https://) (ex. https://store.your-server.com)
[ ] (optional) wiki: url of server wiki, must include URL schema (http:// or https://) (ex. https://wiki.your-server.com)
[ ] (optional) merch: url of server merchanise site (if seperate from store), must include URL schema (http:// or https://) (ex. https://merch.your-server.com)

Socials

[ ] (optional) twitter: username of twitter account without the @ (ex. MyServer)
[x] (optional) discord: invite link to discord (ex. https://discord.com/invite/4ceEJuH)
[ ] (optional) youtube: slug or username of youtube channel (ex. MyServer)
[ ] (optional) instagram: username of instagram account (ex. MyServer)
[ ] (optional) twitch: username of twitch account (ex. MyServer)
[x] (optional) telegram: slug of telegram group (ex. MyServer)
[ ] (optional) reddit: slug of subdreddit wtih 'r/' (ex. MyServer)
[ ] (optional) tiktok: username of tiktok account (ex. MyServer)
[ ] (optional) facebook: slug of facebook page (ex. MyServer)

Compliance

[x] (optional) privacyPolicy: url to your Privacy Policy (ex. https://www.lunar.gg/privacy)
[x] (optional) termsOfService: url to your Terms of Service (ex. https://www.lunar.gg/terms)
[x] (optional) rules: url to your Rules (ex. https://www.lunar.gg/rules)
[ ] (optional) support: url to your Support Site (ex. https://www.lunar.gg/support)

Media:
Logo

[x] My logo is a png file.
[x] I have uploaded my logo to my server folder (ex. lunarnetwork) and named it logo.png.
[x] My logo has a transparent background and is square (1:1 aspect ratio).
[x] My logo is 512 pixels in width and height.
[x] My logo is my own property and complies with relevant copyright/privacy laws.

Background

[ ] My background is a png file.
[ ] I have uploaded my background to my server folder (ex. lunarnetwork) and named it background.png.
[ ] My background has an aspect ratio of 16:9.
[ ] My background is atleast 1920 pixels in width and 1080 pixels in height (can be bigger, but must remain the same aspect ratio).
[ ] My background contains relevant content pertaining to the server, is my own property, and complies with relevant copyright/privacy laws.
[ ] My background doesn't contain any markings, text, or logos (unless part of a build).

ad my server

repo: LunarClient/ServerMappings


text:
Lazily resize tracked swapchain images vector

vkAcquireNextImage2KHR was overlooked in the previous commit. Adding it in this one

CI gfxreconstruct build queued with queue ID 18097.

CI gfxreconstruct build # 2105 running.

CI gfxreconstruct build # 2105 passed.

authors: ci-tester-lunarg panos-lunarg

repo: LunarG/gfxreconstruct


text:
UI controls have unexpected behavior compared with demo

In the demo the controls such as play/fwd, rwd seem to "depress" however, when using it, the play seems to scale very largely for a moment and play; while, the seek buttons dont have any visual indication that you've pressed the buttons.
https://github.com/LunatiqueCoder/react-native-media-console/assets/75731066/ad30b986-c6b9-4b9a-9df7-a27d10112f09

I can easily add some opacity feedback when the button is being pressed by using the <Pressable /> API from react-native. I don't understand how/why the the play button scales largely, it's definitely not implemented by us, and also why the <TouchableHighlight /> doesn't work like in the demo anymore. Anyway, will be looking into it :/

@LunatiqueCoder thank you, I appreciate you looking into this!

has there been any update to this? @LunatiqueCoder

@LunatiqueCoder thank you for the response! I appreciate it and totally understand.

authors: LunatiqueCoder coofzilla


text:
Printer not printing at all for me

Hi there! Im having a weird issue with the new 1.7.10 version of Schematica. It seems that when I enable the printing function of the mod, nothing prints. I've tried in SMP and in single player. I've made sure that it was enabled and that I had all the required items in my hotbar.
So Im wondering why this might now be working? Im using 10.13.0.1187 Forge and I've tried the print function in both survival and creative inventories.
Thanks for the help!

I Had The Same Problem When I Was Making Something That Floats And I Had To Connect it to the ground with cobblestone than i mined the cobblestone. Hope This Helps

I found even better, go to mod configuration, turn "place adjacent only" off

authors: Icebluewolf LiamTheis LincT

repo: Lunatrius/Schematica


text:
S3 Amazon

Can not put storage for Amazon S3?

I don't know how it work.
But if you can mount a drive ? Mount it somewhere and put the path to this dir in configs/config.json

authors: Lunik Smallkan

repo: Lunik/Lunik-Torrent


text:
General spliner class

Replace generate_splines by a more flexible class
Allow to calculate the derivative of the radial integral numerically
Add linter for to check docstrings for double backticked strings which should be links to the Python documentation
Some minor cleanup to the rascaline __init__.py, i.e. adding an __all__ list.

Splitting the code into a SplinerBase and SplinerFromFunction class sounds maybe like an overkill here. However, this is only the first commit and should serve as a discussion basis for the architecture of the classes. After we agree on the design I will use the base class to extend the splining classes to more real and also kspace splining classes.

:books: Documentation preview :books:: https://rascaline--212.org.readthedocs.build/en/212/

We have to repbase again metatensor but otherwise should be fine.

repo: Luthaf/rascaline


text:
remove dirty imperative code, and replace with beautiful functional p…

…rocedures

lgtm

authors: Lvcky-gg npmaile

repo: Lvcky-gg/notNotOdd


text:
🛑 115Wiki is down

In 976434a, 115Wiki (https://115.anavi.cn) was down:

HTTP code: 0
Response time: 0 ms

Resolved: 115Wiki is back up in 3161262.

repo: LxnChan/status


text:
🛑 Official（泠泫凝的异次元空间-主页） is down

In 11702a9, Official（泠泫凝的异次元空间-主页） (https://lxnchan.cn) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Official（泠泫凝的异次元空间-主页） is back up in 62fa3d0 after 50 minutes.


text:
🛑 Official（泠泫凝的异次元空间-主页） is down

In 76add57, Official（泠泫凝的异次元空间-主页） (https://lxnchan.cn) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Official（泠泫凝的异次元空间-主页） is back up in b750323 after 11 minutes.


text:
🛑 EnderChest（末影箱-云盘） is down

In 6d61bc0, EnderChest（末影箱-云盘） (https://enderchest.anavi.cn) was down:

HTTP code: 0
Response time: 0 ms

Resolved: EnderChest（末影箱-云盘） is back up in 72602a4 after 3 hours, 18 minutes.


text:
🛑 EnderChest（末影箱-云盘） is down

In 9131581, EnderChest（末影箱-云盘） (https://enderchest.anavi.cn) was down:

HTTP code: 0
Response time: 0 ms

Resolved: EnderChest（末影箱-云盘） is back up in b9c906a.


text:
🛑 EnderChest（末影箱-云盘） is down

In a24c3f1, EnderChest（末影箱-云盘） (https://enderchest.anavi.cn) was down:

HTTP code: 0
Response time: 0 ms

Resolved: EnderChest（末影箱-云盘） is back up in 2e34e7f.


text:
Feature request: A fix for the FPS halfing after swapping Eikons

This is probably a long shot, but at this point we're at the mercy of Square to maybe fix this, because nearly everything you can imagine has been tried and there is no way around it other than restarting the game.
You can read about the issue a little more in this Reddit thread, but the gist is that swapping your Eikons will eventually cause your FPS to instantly (not progressively) tank. This seems to happen regardless of mods, GPU + CPU combinations, or graphics settings. This was not an issue in the demo, and seemingly only happens sometime post-Garuda. Some here may have noticed their FPS instantly tank, seemingly at random (occasionally when leaving cutscenes or menus), and never going back to normal.
Assuming you're affected, you can replicate the issue 100% of the time. Simply boot/restart your game, go somewhere like the open world and switch Eikons a few times, and then just stand there and wait 2-5min. If you triggered the bug, you will see your FPS and GPU usage instantly cut in half (at least). My 120fps turns into sub-60, almost like a forced vsync or disabling of framegen. However, for those experiencing this issue, it doesn't matter what settings or mods you enable/disable, as many players on Steam threads, Reddit, Discord and elsewhere have only now discovered this after a few hours of gameplay, and no solution of the dozens hypothesized have solved it.
As I said, this is probably a long shot for a feature, but the fact that this Eikon-switching trigger instantly cuts your FPS down in the manner that it does makes me think that it's something that might be able to be solved.

I have just discovered this same issue, restarting the game is the only fix I have found. It is pretty annoying.

UPDATE: A fix was found that I can confirm worked for me. Essentially you need to enable the Chroma app for FFXVI in Razer Synapse.

UPDATE: A fix was found that I can confirm worked for me. Essentially you need to enable the Chroma app for FFXVI in Razer Synapse. I had previously disabled it.

Let me try this, thank you for looking into it!

UPDATE: A fix was found that I can confirm worked for me. Essentially you need to enable the Chroma app for FFXVI in Razer Synapse. I had previously disabled it.

Can confirm that this worked for me! I must have replayed Garuda 6 times trying to solve this issue.

UPDATE: A fix was found that I can confirm worked for me. Essentially you need to enable the Chroma app for FFXVI in Razer Synapse. I had previously disabled it.

Let me try this, thank you for looking into it!

yup, worked for me as well, thanks again.

Since this issue has a fix that's been identified and it's not related to FFXVIFix, I'll close this issue.

authors: Clapster34 Lyall infinia-yzl intopuddles

repo: Lyall/FFXVIFix


text:
[Bug]: Taking damage causes a 16:9 black box to appear on 21:9

Issue Summary:
Since update 1.0.8, taking damage or being downed causes a black 16:9 square to appear anytime I take damage in any fight (the fights tested were Pyet-A and the Blackwyrm Dragon on Proud difficulty), reverting to 1.0.7 fixed this for me, but with the new update, that isn't a solution anymore. I am playing on a 3440x1440 resolution with a 21:9 aspect ratio. I think a bug post about this was made a few days back with screenshots but then was closed for some reason.

I also am having this issue. Doesn't seem everyone is experiencing it though. It makes any fight looks really strange with a giant black box in the middle of the screen. Are there any ways to fix this personally or plans to bug fix it? This mod has been a huge lifesaver until now

authors: Nyantaclaws Sequincer

repo: Lyall/GBFRelinkFix


text:
Add Schema readme

Add a simple workflow schema

:+1:

:metal:

:+1:

authors: cedvan fabdsp mojoLyon omansour


text:
Updated NuGet packages

What kind of change does this PR introduce?

Please check one or more that apply to this PR

[ ] Bug fix
[ ] Feature/change request
[ ] Code style update (formatting)
[x] Refactoring (no functional changes, no API changes)
[ ] Build or CI related changes
[ ] Other (include details)

What has changed?

Please describe, in detail, the changes made

Updated the NuGet packages for the project to the latest version.
Changed MvvmLightLibs out for the MADE App Component multi-target .NET Standard variant

What platforms does this change affect?

Please check one or more that apply for this PR

[x] Windows (UWP)
[x] Xamarin.Android
[x] Xamarin.iOS
[x] Xamarin.Forms
[x] .NET Standard

PR checklist

Please check if your PR fulfils the following requirements:

[ ] Tests have been added (where applicable)
[x] Code styling has been run on all new source file changes
[ ] Documentation has been added
[ ] Code sample has been added
[x] Contains NO breaking changes

If this PR contains a breaking change, please describe the impact and migration path below. Please note that breaking changes are likely to be rejected

No breaking changes made

Other information

If you have other relevant information for this PR, please feel free to add below or remove this section if not

No additional references

Thanks for taking a look at this @tom-made

repo: MADE-Apps/MADE-App-Components


text:
move checks

Move most start_up.f90 checks to the Python parser. Some will probably have to remain at runtime, but most can be moved.

I'm not sure this is a good idea, so I'm closing it for now.

repo: MFlowCode/MFC


text:
Implement bookshelf feature #12

At first, books page is done!

We dont need the template, We just need backend part, frontend is in charge by TAKAYAMA and atsuhito san, and please use anorther API name for add book , I already use register for authentication system.

And Please use the database that TAKAYAMA san already Post on the github

How to run your porj ? Me and yuan cant run your proj corectly. (Error occurs)

KazukiSenda san can you push your runable code to the github, I will try to fix the docker problem for you

authors: KazukiSenda MGMCN WEI44ZHEYUAN


text:
Wochenende references

Link for downloading 2021_10 and 2021_12 references:
https://drive.google.com/drive/folders/1q1btJCxtU15XXqfA-iCyNwgKgQq0SrG4?usp=sharing

Excellent, thanks Ilona. Have tested, these new google links work better than the older owncloud ones.

authors: colindaven irosenboom