fix(pkg/types.go): change Dockerfile field to a bool

Fixes https://github.com/deis/builder/issues/96
Requires https://github.com/deis/controller/issues/278
cc/ @helgi

@helgi should I still pursue this change? Not sure what the controller expects. Regardless, moving to RC1 for now

This needs a rebase and should be merged for rc1 or probably just closed.ping @arschles @helgi

@mboersma There is no corresponding change for the Controller. I spent a bit of time before on this and the migration path wasn't one I could get to work. Do you want to try to do it? :P

@helgi this just seemed like a potential non-backward-compatible change that I wanted to resolve before rc1. The original justification in deis/controller#278 doesn't sound urgent:

This field when blank is considered false, and true when non-blank. We should just change it to a boolean now that we're breaking APIs.

Unless @bacongobbler thinks the blank/non-blank boolean behavior is potentially buggy, and we can safely make the change for rc1, I think we should close this and the originating issue.

@mboersma it was more a "now is the time to break API if ever there was one"

Anyone have a consensus on what to do here? FWIW since this needs a rebase and we also need to implement the corresponding change in the controller, my opinion is this patch is more trouble than it's worth.

Very low priority to fix. It's more of a nitpick since this behaviour of true/false in a string works, just not optimal. If it's too much of a pain to fix then we can come back to this in v3

ok, moving this out of a milestone completely. can revisit after v2 is released

I like this change, however, it would now need to happen in the controller SDK. @arschles Can this be closed?
I'm still in favor of making it, and I think we could do it in a backward compatible way.

We migrate the field in the controller to a bool, and update the SDK to also use a bool.
The controller could by updated to accept anything truthy for the field, so it would accept either the string or the bool.

Alternatively, we could say that the hooks api is an internal api and is therefore not constrained by semver, so we could make backwards incompatible changes to it.

@Joshua-Anderson yes, this can be closed and so can the issue IMO. I opened this PR for exemplary purposes only. Note that if we close this, we can (but don't have to) close #96 and its companion deis/controller#278


First preview of the parsed CSV has an error when default Header property is activated

In Tblr setting, change de fault header property:

I've also setted ';' as default separator

Next, open a new csv file. You'll see the Header property selected as expected.
But I get an error in the Preview of the parsed CSV

Unselect the Header property and, the preview is displayed.

Next, you can select the Header property again and Open Table Editor activated.

Atom 1.7.2
Tablr 1.2.3
Mac OS X
Thanks

Hi @ruget, thanks for the detailed explanation, would you mind sharing a sample file with me? I would like to be sure I have the same data to reproduce the issue.

Hi @abe33,
Here the file:
LeakageRatioByReaderV1.csv.zip
Thanks for tablr, this is a nice tool and I use it to have a quick overview of csv files 👍


Fixing nyappdiv_3rd scraper to handle human typos that were discovered on older pages

This is my fault.  My last commit broke the handling on those, as I was unaware of them at the time.

Looks like this might be a good place for another test case, but merging now since it's a clear improvement already.


FIX: downgrade scipy

Closes #52 by downgrading SciPy

Worked for @denehoffman, @mmikhasenko can you try?

Works


Fix #26, PATH_MAX not defined with -std=c99

Describe the contribution
Fixes #26
Testing performed
Steps taken to test the contribution:

Built with -std=c99 defined, elf2cfetbl now builds

Expected behavior changes
None
System(s) tested on:

Hardware: cFS Dev Server
OS: Ubuntu 16.04
Versions: master bundle with this branch

Additional context
None
Contributor Info
Jacob Hageman - NASA/GSFC

Definitely agree, didn't loop back to this one after identifying the missing _XOPEN_SOURCE define.

Cancelling pull request, user error (I didn't define all the flags).


Pasting an MS Excel cell inserts the cell as image, too

Jodit Version:  3.2.26
Use case
Copying a cell from an Excel table and pasting into the editor, when Upload module is active.
Expected behavior:
The cell content is pasted as (html) text.
Actual behavior:
The cell content is pasted as text. But additionally the cell content is pasted as an image, too.
Can be reproduced in Jodit playground. Upload module should be activated.

After attempting to updating from v3.4.15 I found this issue. Any way I can fix it or is it a bug?
Thanks!


Updated dependencies with "cargo update"

The pipeline seems broken as is - most likely extra clippy lints, which is a common problem.


Implemented handling of malicious mime headers

This was not an easy one! Cover-up notes really make fixing much more difficult.

Pull Request Test Coverage Report for Build 969

0 of 1 (0.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 74.555%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

packages/IMAPClient-Core.package/ICFolder.class/instance/startUpdateProcess..st
0
1
0.0%

Totals

Change from base Build 967:
0.0%

Covered Lines:
964

Relevant Lines:
1293

💛  - Coveralls


RuntimeError: CUDA error: device-side assert triggered terminate called after throwing an instance of 'c10::Error'

Checklist

I have searched related issues but cannot get the expected help.
I have read the FAQ documentation but cannot get the expected help.
The bug has not been fixed in the latest version.

Describe the bug
I'm trying to train htc_r50 without a semantic head, but I get "index out of bounds" errors and then a core dump.
Reproduction

What command or script did you run?

python /mmdetection/tools/train.py configs/test.py

Did you make any modifications on the code or config? Did you understand what you have modified?

I change the number of classes (5 instead of 80), the mean and standard deviation of the images as well as their size, and the learning rate, since I have a batch size of 4. None of these modifications could be the cause of the error since I use exactly the same values for my Cascade Mask R-CNN r50 and r101 models, which both train perfectly on my custom dataset. Here is the modified config file:
# base config
_base_ = '/mmdetection/configs/htc/htc_without_semantic_r50_fpn_1x_coco.py'
# classes
classes = ('a', 'b', 'c',
            'd', 'e')
n_classes = len(classes)
model = dict(
    roi_head=dict(
        bbox_head=[
            dict(
                type='Shared2FCBBoxHead',
                num_classes=n_classes),
            dict(
                type='Shared2FCBBoxHead',
                num_classes=n_classes),
            dict(
                type='Shared2FCBBoxHead',
                num_classes=n_classes)
        ],
        mask_head=[
            dict(
                type='HTCMaskHead',
                num_classes=n_classes),
            dict(
                type='HTCMaskHead',
                num_classes=n_classes),
            dict(
                type='HTCMaskHead',
                num_classes=n_classes)
        ])
)
# channel normalization
img_norm_cfg = dict(
    mean=[107.79, 115.57, 117.07], std=[48.47, 54.44, 56.12], to_rgb=False)
# image scale for resizing
image_scale = (1920, 1440)
# pipelines setting
train_pipeline = [
    dict(type='LoadImageFromFile'),
    dict(type='LoadAnnotations', with_bbox=True, with_mask=True),
    dict(type='Resize', img_scale=image_scale, keep_ratio=True),
    dict(type='Pad', size_divisor=32),
    dict(type='Normalize', **img_norm_cfg),
    dict(type='DefaultFormatBundle'),
    dict(
        type='Collect',
        keys=['img', 'gt_bboxes', 'gt_labels', 'gt_masks'],
        meta_keys=('filename', 'ori_shape', 'img_shape', 'img_norm_cfg',
                   'pad_shape', 'scale_factor'))
]
test_pipeline = [
    dict(type='LoadImageFromFile'),
    dict(type='MultiScaleFlipAug',
        img_scale=image_scale,
        flip=False,
        transforms=[
            dict(type='Resize', keep_ratio=True),
            dict(type='Normalize',**img_norm_cfg),
            dict(type='Pad', size_divisor=32),
            dict(type='DefaultFormatBundle'),
            dict(type='Collect', keys=['img'])
        ])
]
# dataset settings
data = dict(
    samples_per_gpu=4,
    workers_per_gpu=2,
    train=dict(
        type='CocoDataset',
        ann_file=<..>,
        img_prefix=<..>,
        pipeline=train_pipeline,
        classes=classes),
    val=dict(
        type='CocoDataset',
        ann_file=<..>,
        img_prefix=<..>,
        pipeline=test_pipeline,
        classes=classes),
    test=dict(
        type='CocoDataset',
        ann_file=<..>,
        img_prefix=<..>,
        pipeline=test_pipeline,
        classes=classes),
)

evaluation = dict(metric=['bbox', 'segm'], save_best='bbox_mAP')
# optimizer settings
# correct learning rate for training with a batch size of 2, e.g., 1 GPU, 2 img/GPU
optimizer = dict(type='SGD', lr=0.005, momentum=0.9, weight_decay=0.0001)
lr_config = dict(
    policy='step',
    warmup=None,
    step=[100,130])

# workflow and workdir settings
runner = dict(type='EpochBasedRunner', max_epochs=160)
checkpoint_config = dict(interval=-1)
workflow = [('train', 1), ('val', 1)] # this prints both train & val loss for each epoch
#load_from = 'logs/cascade_mask_rcnn_r101_fpn_150e_random_split/latest.pth'
work_dir = 'logs/<...>'
##To Save only last weight and tensorboard log
log_config = dict(
    hooks=[dict(type='TextLoggerHook'),
           dict(type='TensorboardLoggerHook')])
custom_hooks = [dict(type='NumClassCheckHook')]

What dataset did you use?

A custom dataset of type COCODataset. The dataset is read correctly by MMDetection.
Environment

Please run python mmdet/utils/collect_env.py to collect necessary environment information and paste it here.

sys.platform: linux
Python: 3.7.7 (default, May  7 2020, 21:25:33) [GCC 7.3.0]
CUDA available: True
GPU 0: Tesla V100-SXM2-32GB
CUDA_HOME: /usr/local/cuda
NVCC: Cuda compilation tools, release 10.1, V10.1.243
GCC: gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0
PyTorch: 1.6.0
PyTorch compiling details: PyTorch built with:
  - GCC 7.3
  - C++ Version: 201402
  - Intel(R) Math Kernel Library Version 2020.0.1 Product Build 20200208 for Intel(R) 64 architecture applications
  - Intel(R) MKL-DNN v1.5.0 (Git Hash e2ac1fac44c5078ca927cb9b90e1b3066a0b2ed0)
  - OpenMP 201511 (a.k.a. OpenMP 4.5)
  - NNPACK is enabled
  - CPU capability usage: AVX2
  - CUDA Runtime 10.1
  - NVCC architecture flags: -gencode;arch=compute_37,code=sm_37;-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_61,code=sm_61;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_37,code=compute_37
  - CuDNN 7.6.3
  - Magma 2.5.2
  - Build settings: BLAS=MKL, BUILD_TYPE=Release, CXX_FLAGS= -Wno-deprecated -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -fopenmp -DNDEBUG -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DUSE_VULKAN_WRAPPER -O2 -fPIC -Wno-narrowing -Wall -Wextra -Werror=return-type -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wno-unused-function -Wno-unused-result -Wno-unused-local-typedefs -Wno-strict-overflow -Wno-strict-aliasing -Wno-error=deprecated-declarations -Wno-stringop-overflow -Wno-error=pedantic -Wno-error=redundant-decls -Wno-error=old-style-cast -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Wno-stringop-overflow, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, USE_CUDA=ON, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=ON, USE_NNPACK=ON, USE_OPENMP=ON, USE_STATIC_DISPATCH=OFF,

TorchVision: 0.7.0
OpenCV: 4.5.3
MMCV: 1.3.8
MMCV Compiler: GCC 7.3
MMCV CUDA Compiler: 10.1
MMDetection: 2.17.0+3bc614d

You may add addition that may be helpful for locating the problem, such as

How you installed PyTorch [e.g., pip, conda, source]
Other environment variables that may be related (such as $PATH, $LD_LIBRARY_PATH, $PYTHONPATH, etc.)

I don't have to install PyTorch because I'm running it in a Docker container based on
https://github.com/open-mmlab/mmdetection/blob/master/docker/Dockerfile
with some modifications related to my environment.
> echo $PATH
/opt/conda/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
> echo $LD_LIBRARY_PATH
/usr/local/nvidia/lib:/usr/local/nvidia/lib64
> echo $PYTHONPATH

Error traceback
The error traceback is
Traceback (most recent call last):
  File "/mmdetection/tools/train.py", line 194, in <module>
    main()
  File "/mmdetection/tools/train.py", line 190, in main
    meta=meta)
  File "/mmdetection/mmdet/apis/train.py", line 174, in train_detector
    runner.run(data_loaders, cfg.workflow)
  File "/opt/conda/lib/python3.7/site-packages/mmcv/runner/epoch_based_runner.py", line 127, in run
    epoch_runner(data_loaders[i], **kwargs)
  File "/opt/conda/lib/python3.7/site-packages/mmcv/runner/epoch_based_runner.py", line 50, in train
    self.run_iter(data_batch, train_mode=True, **kwargs)
  File "/opt/conda/lib/python3.7/site-packages/mmcv/runner/epoch_based_runner.py", line 30, in run_iter
    **kwargs)
  File "/opt/conda/lib/python3.7/site-packages/mmcv/parallel/data_parallel.py", line 67, in train_step
    return self.module.train_step(*inputs[0], **kwargs[0])
  File "/mmdetection/mmdet/models/detectors/base.py", line 238, in train_step
    losses = self(**data)
  File "/opt/conda/lib/python3.7/site-packages/torch/nn/modules/module.py", line 722, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/opt/conda/lib/python3.7/site-packages/mmcv/runner/fp16_utils.py", line 97, in new_func
    return old_func(*args, **kwargs)
  File "/mmdetection/mmdet/models/detectors/base.py", line 172, in forward
    return self.forward_train(img, img_metas, **kwargs)
  File "/mmdetection/mmdet/models/detectors/two_stage.py", line 150, in forward_train
    **kwargs)
  File "/mmdetection/mmdet/models/roi_heads/htc_roi_head.py", line 299, in forward_train
    bbox_results['bbox_pred'], pos_is_gts, img_metas)
  File "/opt/conda/lib/python3.7/site-packages/mmcv/runner/fp16_utils.py", line 184, in new_func
    return old_func(*args, **kwargs)
  File "/mmdetection/mmdet/models/roi_heads/bbox_heads/bbox_head.py", line 447, in refine_bboxes
    img_meta_)
  File "/opt/conda/lib/python3.7/site-packages/mmcv/runner/fp16_utils.py", line 184, in new_func
    return old_func(*args, **kwargs)
  File "/mmdetection/mmdet/models/roi_heads/bbox_heads/bbox_head.py", line 490, in regress_by_class
    rois, bbox_pred, max_shape=max_shape)
  File "/mmdetection/mmdet/core/bbox/coder/delta_xywh_bbox_coder.py", line 93, in decode
    self.add_ctr_clamp, self.ctr_clamp)
  File "/opt/conda/lib/python3.7/site-packages/mmcv/utils/parrots_jit.py", line 21, in wrapper_inner
    return func(*args, **kargs)
  File "/mmdetection/mmdet/core/bbox/coder/delta_xywh_bbox_coder.py", line 206, in delta2bbox
    means = deltas.new_tensor(means).view(1,
RuntimeError: CUDA error: device-side assert triggered
terminate called after throwing an instance of 'c10::Error'
  what():  CUDA error: device-side assert triggered
Exception raised from create_event_internal at /opt/conda/conda-bld/pytorch_1595629403081/work/c10/cuda/CUDACachingAllocator.cpp:687 (most recent call first):
frame #0: c10::Error::Error(c10::SourceLocation, std::string) + 0x4d (0x7f69ae75277d in /opt/conda/lib/python3.7/site-packages/torch/lib/libc10.so)
frame #1: c10::cuda::CUDACachingAllocator::raw_delete(void*) + 0xb5d (0x7f69ae9a2d9d in /opt/conda/lib/python3.7/site-packages/torch/lib/libc10_cuda.so)
frame #2: c10::TensorImpl::release_resources() + 0x4d (0x7f69ae73eb1d in /opt/conda/lib/python3.7/site-packages/torch/lib/libc10.so)
frame #3: <unknown function> + 0x53f0ea (0x7f69e7fd50ea in /opt/conda/lib/python3.7/site-packages/torch/lib/libtorch_python.so)
<omitting python frames>
frame #22: __libc_start_main + 0xe7 (0x7f6a0af7eb97 in /lib/x86_64-linux-gnu/libc.so.6)

./run_experiment.sh: line 1:  1220 Aborted                 (core dumped) python /mmdetection/tools/train.py configs/test.py

However, before Python errors out, I get hundreds of lines like these ones, which seem to indicate an array out of bounds error:
/opt/conda/conda-bld/pytorch_1595629403081/work/aten/src/ATen/native/cuda/ScatterGatherKernel.cu:86: operator(): block: [5,0,0], thread: [32,0,0] Assertion `idx_dim >= 0 && idx_dim < index_size && "index out of bounds"` failed.
/opt/conda/conda-bld/pytorch_1595629403081/work/aten/src/ATen/native/cuda/ScatterGatherKernel.cu:86: operator(): block: [5,0,0], thread: [33,0,0] Assertion `idx_dim >= 0 && idx_dim < index_size && "index out of bounds"` failed.
.
.

For the sake of completeness, I attached the full stdout and stderr as a zip file.
stdout_stderr.txt.zip

Apparently, the cause is that MMCV merge_a_into_b method is not very smart, and when the variable to be modified is a list of dicts, such as the bbox_head of a cascade model, it just replaces it rather than descending into it, like it does when the variable is a dict:
https://github.com/open-mmlab/mmcv/blob/e22740b1d6953d75a0acecce4455d23800b1f018/mmcv/utils/config.py#L324
The (ugly) solution is to copy all the bbox_head parameters in the config file, even if you really need to modify only
num_classes:
https://github.com/open-mmlab/mmdetection/issues/6340


Server error when browsing admin trough the API.

Issue Summary
Server error when browsing admin trough the API and there was stale content type(s) (because app is removed or branch is changed during development). It is similar to the error that was fixed by #3569 but this is for the API.
Steps to Reproduce

Create some app with page model extending from Page
Add a page of the time from the new app.
Commit the changes in new branch and then go back to master, or just remove the app from INSTALLED_APPS
From Admin start navigating inside root page by clicking the right arrow from left menu (pages).

It should display list of pages under the root page bit instead will show Server error.
Technical details

Python version: 3.6
Django version: 1.11.5
Wagtail version: 1.12.1
Browser version: Chrome 61

Traceback:
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/usr/lib/python3.6/site-packages/django/core/handlers/base.py", line 187, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/usr/lib/python3.6/site-packages/django/core/handlers/base.py", line 185, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/lib/python3.6/site-packages/django/views/decorators/cache.py", line 43, in _cache_controlled
    response = viewfunc(request, *args, **kw)
  File "/usr/lib/python3.6/site-packages/wagtail/wagtailadmin/decorators.py", line 31, in decorated_view
    return view_func(request, *args, **kwargs)
  File "/usr/lib/python3.6/site-packages/wagtail/api/v2/router.py", line 65, in wrapped
    return func(request, *args, **kwargs)
  File "/usr/lib/python3.6/site-packages/django/views/decorators/csrf.py", line 58, in wrapped_view
    return view_func(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/rest_framework/viewsets.py", line 90, in view
    return self.dispatch(request, *args, **kwargs)
  File "/usr/lib/python3.6/site-packages/rest_framework/views.py", line 489, in dispatch
    response = self.handle_exception(exc)
  File "/usr/lib/python3.6/site-packages/wagtail/api/v2/endpoints.py", line 95, in handle_exception
    return super(BaseAPIEndpoint, self).handle_exception(exc)
  File "/usr/lib/python3.6/site-packages/rest_framework/views.py", line 449, in handle_exception
    self.raise_uncaught_exception(exc)
  File "/usr/lib/python3.6/site-packages/rest_framework/views.py", line 486, in dispatch
    response = handler(request, *args, **kwargs)
  File "/usr/lib/python3.6/site-packages/wagtail/wagtailadmin/api/endpoints.py", line 93, in listing_view
    response = super(PagesAdminAPIEndpoint, self).listing_view(request)
  File "/usr/lib/python3.6/site-packages/wagtail/api/v2/endpoints.py", line 81, in listing_view
    return self.get_paginated_response(serializer.data)
  File "/usr/lib/python3.6/site-packages/rest_framework/serializers.py", line 739, in data
    ret = super(ListSerializer, self).data
  File "/usr/lib/python3.6/site-packages/rest_framework/serializers.py", line 263, in data
    self._data = self.to_representation(self.instance)
  File "/usr/lib/python3.6/site-packages/rest_framework/serializers.py", line 657, in to_representation
    self.child.to_representation(item) for item in iterable
  File "/usr/lib/python3.6/site-packages/rest_framework/serializers.py", line 657, in <listcomp>
    self.child.to_representation(item) for item in iterable
  File "/usr/lib/python3.6/site-packages/wagtail/api/v2/serializers.py", line 284, in to_representation
    meta[field.field_name] = field.to_representation(attribute)
  File "/usr/lib/python3.6/site-packages/wagtail/api/v2/serializers.py", line 91, in to_representation
    name = page.specific_class._meta.app_label + '.' + page.specific_class.__name__
AttributeError: 'NoneType' object has no attribute '_meta'

I have same problem

Now that wagtail 2.0 is officially out, upgrading immediately exposes this behaviour for established wagtail installations, too.
Navigating by clicking pages and then clicking on > to expand the tree causes a crash with tracelog in the console, and a "server error" client side.

@Pomax Does your stack trace match the one that @vstoykov gives above? Upgrading certainly shouldn't cause any missing model definitions, so I'd be cautious about assuming that this is the same issue.

it did, however it turns out that this was because of a db mismatch between a dev branch with migrations from 1, used in the upgrade branch for 2. After moving the dev branch to 2 as well, the error goes away so this was a false alarm.

I received the same error after running a migration that deleted a custom Page model, when there was an existing page using that model under Home. Pages list shows "Server Error" after expanding Home.

@Pomax Can you please tell more details on how you solved this issue? I'm getting the same kind of stack trace here.

it really was a matter of having both a dev and prod instance that both needed to run v2 rather than having one set to v2, and the other to v1, with migrations that belonged to v1 being used with the v2 instance. The solution was to first upgrade the v1 instance to v2, making sure to fix migrations so they pointed to the new app names instead of the old app names.

Upgrading to latest Wagtail 2.2 version fixed this for me.

Fixed in #4648


Update cpumeter to latest

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

First line of the cask and its name also need to update.

Thanks! I updated first line of the cask.

You also need to change the filename to cpuinfo.rb.

I changed. Thank you.


Not working with Gradle 4.2

Not working with Gradle 4.2.
FAILURE: No such property: FOR_COMPILE for class: org.gradle.api.attributes.Usage
(Using android-maven-publish version 2.0.0)

Try 3.0.0-SNAPSHOT version. This version supports 4.x Gradle versions.

This seems to be unrelated to the previous issues with Gradle 4.x, since I'm also facing a similar issue when updating Gradle to either 4.2 or 4.2.1 and using the latest SNAPSHOT:
> Exception thrown while executing model rule: PublishingPlugin.Rules#publishing(ExtensionContainer)
   > No such property: FOR_RUNTIME for class: org.gradle.api.attributes.Usage

(...)
Caused by: groovy.lang.MissingPropertyException: No such property: FOR_RUNTIME for class: org.gradle.api.attributes.Usage
	at digital.wup.android_maven_publish.AndroidVariantLibrary$RuntimeUsage.getUsage(AndroidVariantLibrary.groovy:93)

The constants FOR_COMPILE and FOR_RUNTIME have been removed in Gradle 4.2 (compare the Javadocs for 4.1 and 4.2). This commit is responsible for the change, and gives more insight into the reasoning behind the removal.

It seems to be working in version 3.1.0-SNAPSHOT using Gradle 4.2 and 4.2.1
Thank you for the fix.

Thanks for your response. I will make a release at weekend.

Using the latest SNAPSHOT works for me as well. Thank you for the quick response! Looking forward to the release.


Roll Packages from dd01140f470e to 87a7c51cc633 (2 revisions)

https://github.com/flutter/packages/compare/dd01140f470e...87a7c51cc633
2024-04-29<EMAIL_ADDRESS>Roll Flutter from f9933b6994e4 to db8c475cac11 (3 revisions) (flutter/packages#6622)
2024-04-27<EMAIL_ADDRESS>Roll Flutter from 2e806700b928 to f9933b6994e4 (17 revisions) (flutter/packages#6620)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC flutter-ecosystem<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


fixed custom tooltip position

before :
http://g.recordit.co/w6RYb6VNw6.gif
after :
http://g.recordit.co/SrLx3AbluC.gif

Codecov Report

Merging #467 into master will increase coverage by 0.21%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #467      +/-   ##
==========================================
+ Coverage   34.05%   34.26%   +0.21%
==========================================
  Files          20       20
  Lines        1953     1941      -12
  Branches      233      229       -4
==========================================
  Hits          665      665
+ Misses       1238     1226      -12
  Partials       50       50

Impacted Files
Coverage Δ

app/scripts/controllers/common.js
10.28% <0%> (+0.48%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8a4d018...33d15aa. Read the comment docs.


samples: driver: watchdog: rework how callback support is handled

Nordic watchdog does support a callback, but it has a time limit that is too tight for the way this sample uses it.  Add infrastructure to bypass using the callback in this sample.
Also add more diagnostics explaining the status of callback use in the sample.
Fixes #29991

Output on Nordic now:
*** Booting Zephyr OS build v2.5.0-rc2-1-gadae83d98b40  ***
Watchdog sample application
Callback in RESET_SOC disabled for this platform
Feeding watchdog 5 times
Feeding watchdog...
Feeding watchdog...
Feeding watchdog...
Feeding watchdog...
Feeding watchdog...
Waiting for reset...
*** Booting Zephyr OS build v2.5.0-rc2-1-gadae83d98b40  ***
....

I will copy/paste my comment from the linked issue

The current implementation of watchdog sample application is incorrect and violates original design of watchdog API. It is not possible to reliably support scenario when watchdog timeout triggers a callback and SoC reset at the same time. The watchdog API was not designed to be used this way.
The scenario where watchdog timeout triggers a callback followed by SoC reset can only be supported in a reliable manner by a multistage watchdog. This requires dedicated hardware support and can be enabled by CONFIG_WDT_MULTISTAGE Kconfig option. In this case the first stage should be configured to trigger a callback, and the second stage to trigger SoC reset.
Unfortunately, none of the existing drivers seems to implement support for multistage watchdog.

I believe that a proper way to fix the sample is to split the test in two testcases:

watchdog timeout triggers a callback
watchdog timeout triggers a SoC reset

None of the drivers supports CONFIG_WDT_MULTISTAGE Kconfig option, so for now we don't need to worry about the scenario where watchdog triggers a callback followed by SoC reset.

Nordic watchdog does support a callback, but it has a time limit that is too tight for the way this sample uses it.

To put things into perspective. In the testcase user asks the driver via a watchdog API to execute a callback and reset the SoC at the specific time in the future if the watchdog is not fed. Both, execution of the callback and SoC reset are scheduled to happen at the same time. According to what we ask for it is the Nordic driver that behaves correctly since it does execute the callback and resets the SoC at about the same time. The other drivers misbehave.


Conform to RFC3986 - do not include url fragments in requests

What do these changes do?
This strips fragments from URLs before making requests.  This is the behavior of all major browsers and is described in RFC3986 Section 3.5.
Are there changes in behavior for the user?
Nope.
Related issue number
None.
Checklist

[x] I think the code is well written
[x] Unit tests for the changes exist
[x] Documentation reflects the changes
[x] Add yourself to CONTRIBUTORS.txt
[x] Add a new entry to CHANGES.rst

Choose any open position to avoid merge conflicts with other PRs.
Add a link to the issue you are fixing (if any) using #isuue_number format at the end of changelog message. Use Pull Request number if there are no issues for PR or PR covers the issue only partially.

Current coverage is 98.40% (diff: 100%)

Merging #1174 into master will increase coverage by <.01%

@@             master      #1174   diff @@
==========================================
  Files            29         29
  Lines          6514       6515     +1
  Methods           0          0
  Messages          0          0
  Branches       1092       1092
==========================================
+ Hits           6410       6411     +1
  Misses           54         54
  Partials         50         50

Powered by Codecov. Last update da03eef...5d57900

As an example of why this is needed, right now aiohttp can't be used to download any post pages from tumblr.com because their server goes into an infinite redirect loop when a fragment is included.  Here's an example script:
import aiohttp
import asyncio

async def fetch(url):
    async with aiohttp.ClientSession() as session:
        async with session.get(url) as resp:
            print(resp.history)

url = "http://best-of-tumblr.tumblr.com/post/150420362886"
asyncio.get_event_loop().run_until_complete(fetch(url))

The history that's output is just a list max_redirects long showing an infinite redirect loop.  If you use my fork, then there's only one redirect and everything works fine.

Done!  Let me know if you need anything else.

Nothing more -- your PR is very clean and obvious.
Thanks!

Thanks so much for the quick turnaround!


Is it possible to monitor Floating Point Unit?

I just wanted to ask if it is possible to count Floating Point Events using this tool as I couldn't find anything from the readme about this.

PCM supports custom event programming. You can check which floating point events are suported by your CPU using pmu-query.py and then program them using pcm-core utility.

Thanks for you quick response.

I am new to this, so please bear with me.

I have 3 questions for you:

I compiled the WinMSRDriver into msr.sys and put it inside the same directory as precomiled binaries. Getting the following error could you please help me?

Running the python script also gives an error?

Should I customize the source code inside PCM-Core_Win folder or the pcm-core.cpp file in main directory? It would be great if you can let me know how to customize the core to include the counter I need.

Q1: did you sign the driver? This link can be helpful. Alternatively use the third-party winring driver as described in the windows how-to.
Q2: thanks for reporting this issue! For the Windows platform please replace ['pcm-core.exe -c'] with ['pcm-core.exe', '-c'] in pmu-query.py
Q3: no changes are required. With pmu-query.py you should be abe to search for floating point events (search for "FP") and then pass the event descriptions to pcm-core.exe
For example for my CPU:
.\pcm-core.exe -e cpu/umask=0x02,event=0xC7,name=FP_ARITH_INST_RETIRED.SCALAR_SINGLE/

Thanks a lot @opcm
IT WORKED!!! 😃

@opcm
Just a quick question. What do the letters in the output mean? K, M, G, B etc...


Merge pull request #1 from apache/master

update with source
What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)
Please review http://spark.apache.org/contributing.html before opening a pull request.

Can one of the admins verify this patch?

@venkorls, it looks mistakenly open. Close this please.


fix button text in createOrUpdatePetForm.html in case of new pet

fix button text in createOrUpdatePetForm.html in case of new pet #252

@dastier Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@dastier Thank you for signing the Contributor License Agreement!


How to store a model with Struct property?

How to store a model which has a property that is struct type?

Realm does not support storing Swift structs directly. You'll need to decompose it into multiple properties of supported types.

See https://github.com/arturdev/Unrealm


Redesign

A description of the changes proposed in the pull request:
This PR represents just the Q2 redesign of the data-table component, if we want to get this merged and prerelease-tagged before / separately from evan's server-side data PR.
Mentions of the person or team responsible for reviewing proposed changes:
@mdwragg

Hey @randyaskin - started (finally) to take a look at this...
How easy can we migrate out the px-localize-behavior work and follow what @benoitjchevalier did for the other components? Need to get the tests passing and currently dependencies for localize stuff is holding it up.
Thanks!

💯 🐐 🍸 🍷 💥 🎉


docs: update image alt text for accessibility

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #48723
This PR update the alt text of how-to-catch-outgoing-emails-locally.md documentation page to provide a description of the image for the screen reader.

Hey there,
This PR seems to make similar changes as the existing PR #48760. As such, we are going to close this as duplicate.
That PR removed the text, as described in the issue linked.
If you feel you have additional changes to expand upon this PR, please feel free to push your commits and request this PR be reopened.
Thanks again! 😊

If you have any questions, feel free to ask questions on the "Contributors" category on our forum or the contributors chat room.

Hi there, no problem :)
Thank you for the feedback


Process network packages one per frame

To reduce lag when receiving chunk updates it is better to only
process one package per frame

@nsg This eliminates more or less al chunk loading lag, but makes chunk loading slower.

I wasn't aware that there still was any lag left :) This PR just makes my chunk loading 3 times slower ... annoyingly slow :\ Like the change, but we need to add a option to load it faster like we talked about.

In master I only have lag playing against a local server, but that shows that the algorithm is a bit broken. Basically it may process any amount of packages per frame (think network contention or lost packages). Now it will process exactly 1 package per frame.

@nsg As discussed I have now extended the client code to process up to MAX_PENDING_CHUNKS / 2 packets per frame. I have added a cubic back off based on the frame rate so if it drops to e.g. 50%, the client will only process 12.5% of MAX_PENDING_CHUNKS / 2 packets per frame. Thus it quite quickly restores the FPS after any spike, while at the same time loads chunks a lot faster (than previously in this pull).

@petterarvidsson nice, I will give it a try this evening!

@petterarvidsson merge it, and we will fix possible problems after #99 :+1:


Add tx hash explorer url to every vote

Hi @yitongzhang , could you please take a look at adding the block explorer URL to every vote? From the issues/requests I have been handling from the community, this would be useful and help them easily find the tx they/others have done + the events. Honestly, for me, it will also be better since it will improve my productivity when looking for specific cases.
If this looks reasonable, I think we could also add a URL somewhere near the proposal that links to the proposal creation transaction.
Thank you!

PR-Codex overview
Focus of the PR:
This PR focuses on adding a new feature to display a block explorer link for transaction hashes in the ApprovalProposalVotesList component.
Detailed summary:

Added a new prop text to the BlockScanUrl component in BlockScanUrl.tsx.
Modified the BlockScanUrls component in ApprovalProposalVotesList.tsx to pass the transaction hash and custom text to the BlockScanUrl component.
Imported the BlockScanUrls component in ApprovalProposalVotesList.tsx.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Great idea. Design looks good to me. does the link work if you hover over the whole area including the text, icon and space between?

@yitongzhang yes it does! Great I will continue working on it because it was not getting the right tx hash for delegate.l2beat.eth and I suspect it could be due to it being a safe address

@yitongzhang yes it does! Great I will continue working on it because it was not getting the right tx hash for delegate.l2beat.eth and I suspect it could be due to it being a safe address

might be helpful: we concatenate transaction_hashes when voter has multiple votes:
https://github.com/voteagora/agora-next/blob/main/src/app/api/common/votes/getVotes.ts#L51

@yitongzhang yes it does! Great I will continue working on it because it was not getting the right tx hash for delegate.l2beat.eth and I suspect it could be due to it being a safe address

might be helpful: we concatenate transaction_hashes when voter has multiple votes: https://github.com/voteagora/agora-next/blob/main/src/app/api/common/votes/getVotes.ts#L51

Thank you @stepandel, made my day, saved a lot of time thanks to this :pray:

Hi @yitongzhang here is the preview link and an image with it working properly when there are two txs. I finally left the text as it was, since it fits better when there are two transactions ("View transaction" text instead of the added "view vote").
Preview link: https://agora-next-guh1xmcsb-voteagora.vercel.app/proposals/87887380345359316303511900248014470638082162026872636188610669661624292635896

LGTM if you agree, ty!

Perfect thanks!


send a reminder on slack when an update is due

send a reminder on slack when an update is due

Check https://github.com/sre-devops-tools/response/blob/master/docs/development.md#incident-notifications-recurring_notification--single_notification


[IMP] add meta option to disable use of iterator on resource export

In complex exports with Many-to-one relationships the export method hit database for every object.
I optimize the queryset on get_export_queryset() prefetching related data but the use of iterator() ignore that.
I added a use_iterator meta option to disable it if is desired in a specific ModelResource.

Link to documentation for the reference.

Also, use of iterator() causes previous prefetch_related() calls to be ignored since these two optimizations do not make sense together.

I wonder if it would be better to check _prefetch_related_lookups queryset attribute. It is internal api and could change,
something like:
if isinstance(queryset, QuerySet) and not getattr(query, '_prefetch_related_lookups', False):
    iterable = queryset.iterator()


feat(modal): convert modal logic to modifier

Moving the modal logic to a modifier has the advantage of not needing the ember and mutation observers and the dependency on @ember/render-modifiers.
Consuming apps that needed to enable the default-async-observers for modals to work should be able to disable it now.

:tada: This PR is included in version 6.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


feat(parser.py): advanced parser for multi-char equations and figures with captions

replace multi-char equations with EQU_LABEL. It is because the inline equations might occupy one element of a sentence (e.g., subject and object). Removing it might cause unexpected grammar errors;
keep the caption information in the Figures before removing them.

nice, merging!


Make it work in Normal mode

That would be super nice. Current problem is that the natural mappings would involve [i, ]i, [a, and ]a -- some of which step on other plugins' feet (notably unimpaired.vim).

Just for the record:
[i and ]i step on the feet of vim itself
							*[i*
[i			Display the first line that contains the keyword
			under the cursor.  The search starts at the beginning
			of the file.  Lines that look like a comment are
			ignored (see 'comments' option).  If a count is given,
			the count'th matching line is displayed, and comment
			lines are not ignored.  {not in Vi}

							*]i*
]i			like "[i", but start at the current cursor position.
			{not in Vi}

[a and ]a step on the feet of vim-unimpaired:
*[a*     |:previous|
*]a*     |:next|

Reconsider use of z[ and z]
Consider following tex file
\documentclass{article}

\begin{document}

\paragraph{Paragraph}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. <CURSOR> At
vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren,
no sea takimata sanctus est.

\end{document}

I am using the plugin vimtex which defines the text objects iP and aP.
When I want to insert text before Lorem ipsum, I could combine ninja-feet and vimtex to z[iP. However, ninja-feet inserts a new line which I might not want.
I would propose to leave the decision to the user and use z[<text object> as a normal mode and visual motion (#2) which you apparently also want to add to this plugin.
I would consider this more important than jumping directly into insert mode. This can serve the purpose of navigation and not only having a superintelligent switch into insert mode which decides for you if a newline is inserted. And they are also still available in visual mode and can therefore be consistent between normal and visual mode.
You could use Z[<text object> for the current behavior.
And of course the mappings should be configurable, so a user can return to the previous behavior for z[ and z].

The [i and ]i mappings are only defined in Operator-pending mode, meaning they only activate after an operator is invoked. At least, that's the intention -- are you finding that these clobber the default Vim commands?

Mmmh. I am not sure if you got me right here.
Your plugin works just fine for me. I just miss additional functionality and was wondering what mappings could be good choices for

movement in normal mode
movement in visual mode
customization of jump into Insert mode

Ah, gotcha. Yeah, choosing the mappings is tricky, but there's a much more challenging problem ahead of it, which is getting it to work in Normal mode without actually being an operator.
It's easy to make an operator that does nothing but move the cursor. This gives us free compatibility with all motions (built-in and user-defined), but it has an unacceptable side-effect: as all operators are repeatable, it overrides the previous operation to be repeated by .. This would be quite jarring to a user.
I've yet to think of a way to get that compatibility without killing repeatability. It might actually require a feature request to Vim itself.

When I want to insert text before Lorem ipsum, I could combine ninja-feet and vimtex to z[iP. However, ninja-feet inserts a new line which I might not want.

@kiryph
I believe, you can tweak the plugin to archive the desired behavior:
diff --git a/plugin/ninja-feet.vim b/plugin/ninja-feet.vim
index 661a641..f317b5e 100644
--- a/plugin/ninja-feet.vim
+++ b/plugin/ninja-feet.vim
@@ -28,12 +28,12 @@ function! s:ninja_strike(mode)
endfunction

function! s:ninja_insert(mode)
-	let op = a:mode == 'line' ? 'O' : 'i'
+	let op = a:mode == 'line' ? 'I' : 'i'
call feedkeys('`['.op, 'n')
endfunction

function! s:ninja_append(mode)
-	let op = a:mode == 'line' ? 'o' : 'a'
+	let op = a:mode == 'line' ? 'A' : 'a'
call feedkeys('`]'.op, 'n')
endfunction

Also you can add new mappings Z[ and Z] and bind original (unchanged) functions to that mappings.

I would also find it way nicer for z[ to be a motion in normal/visual mode.

Workaround: add Esc to feedkeys():
diff --git a/plugin/ninja-feet.vim b/plugin/ninja-feet.vim
index 7a5fc32..e80c0e5 100644
--- a/plugin/ninja-feet.vim
+++ b/plugin/ninja-feet.vim
@@ -28,12 +28,12 @@ endfunction

 function! s:ninja_insert(mode)
        let op = a:mode == 'line' ? 'O' : 'i'
-       call feedkeys('`['.op, 'n')
+       call feedkeys('`['.op."\<Esc>", 'n')
 endfunction

 function! s:ninja_append(mode)
        let op = a:mode == 'line' ? 'o' : 'a'
-       call feedkeys('`]'.op, 'n')
+       call feedkeys('`]'.op."\<Esc>", 'n')
 endfunction

 function! s:map_expr(sid, type, direction, count)

@tommcdo is there no way around this? Like

(if it exists) modfying normal command history
save restore the last normal command

If a feature is needed in vim, maybe someone with a bit more insight can create an isssue https://github.com/vim/vim/issues to start a discussion there :)


add z to everything

fixes #255
I tested on fedora 28
looks good to me
please test this on a non-SE Linux machine
it should not have any effect there
Allow SE Linux machines to use
Blindly add z, we can optimize later
This change enables devilbox to work on SE Linux machines such as Fedora
#255
Tasks done

[x] Add z to volumes

@9034725985 what exactly does z do?

From what I understand, the z allows code in one container to do something in a volume owned by another container. Can you please try it on one of your machines (such as a macOS computer maybe)?
tl;dr The 'z' option tells Docker that the volume content will be shared between containers.

Two suffixes :z or :Z can be added to the volume mount. These suffixes tell Docker to relabel file objects on the shared volumes. The 'z' option tells Docker that the volume content will be shared between containers. Docker will label the content with a shared content label. Shared volumes labels allow all containers to read/write content. The 'Z' option tells Docker to label the content with a private unshared label.
https://github.com/rhatdan/docker/blob/e6473011583967df4aa5a62f173fb421cae2bb1e/docs/sources/reference/commandline/cli.md
If you use selinux you can add the z or Z options to modify the selinux label of the host file or directory being mounted into the container. This affects the file or directory on the host machine itself and can have consequences outside of the scope of Docker.
The z option indicates that the bind mount content is shared among multiple containers. The Z option indicates that the bind mount content is private and unshared. Use extreme caution with these options. Bind-mounting a system directory such as /home or /usr with the Z option renders your host machine inoperable and you may need to relabel the host machine files by hand.
$ docker run -d \ -it \ --name devtest \ -v "$(pwd)"/target:/app:z \ nginx:latest
https://docs.docker.com/storage/bind-mounts/#configure-bind-propagation

https://stackoverflow.com/a/35222815

Thanks again for the PR. I reviewed this and would like to make it configurable via .env file.
Can you please point this PR to the mount-options instead of master. I will then merge it into mount-options and add the configuration part to it.
mount-options is already pushed to remote

I updated the branch so you can merge

Awesome, will continue here: https://github.com/cytopia/devilbox/pull/297


Jav 374 event removal

Coverage increased (+0.1%) to 94.118% when pulling 0e0ae947075feaafa51709c7a3529c2be94b0a12 on JAV-374_event_removal into 7fa395ce6ce14963ac527cd64c59721adc8e943a on master.


Open PDF without having the file path embedded on website?

Is it possible to load a PDF without having the native path (which every user can change itself) on the website?
Like load it with $_POST or everything else?

It's possible to provide binary/base64 input; see https://github.com/mozilla/pdf.js/blob/96ad60f116f420945daa29dea185eac6e558d67e/src/display/api.js#L94-L96 and https://github.com/mozilla/pdf.js/blob/master/examples/learning/helloworld64.html


not able to fetch any data

I have followed document and changed config.json as follows
{
  "serverPort": 4000,
  "tags": "paypal-sandbox;paypal",
  "so": {
    "apiBaseURL": "https://api.stackexchange.com/2.2",
    "dayBack": 1,
    "hourBack": 0,
    "minuteBack": 1
  },
  "slack": {
    "apiBaseUrl": "https://raj.slack.com/api/",
    "token": "My legacy app token",
    "channel": "#general",
    "botName": "Bender",
    "botIcon": ":bender:",
    "icons": {
      "newActivity": ":trackball:",
      "topic": ":speaking_head_in_silhouette:",
      "askedQuestion": ":speech_balloon:",
      "revisedQuestion": ":pencil:",
      "revisedAnswer": ":pencil:",
      "answerAccepted": ":ok_hand:",
      "postedAnswer": ":left_speech_bubble:",
      "comment": ":grey_question:"
    }
  },
  "lastEndFileName": "lastend",
  "dryRun": true
}

and when i run server i just see this

><EMAIL_ADDRESS>start /Users/rnagulapalle/work/workspace/sandbox/dev-day/stackoverflow-slack-bot
> node main.js

quota_max: 300 quota_remaining: 298

for this i have created a sample team on slack.. and its not paid.
can someone please help me

slack.channel should be a Channel ID, not the textual name of your channel according to the README... https://www.wikihow.com/Find-a-Channel-ID-on-Slack-on-PC-or-Mac


DOC: spatial: correct typo in procrustes

Merged and forward ported to master in d9a74f89fcfca6ca6458bd78de8605d3f5bc2b2b.
Thanks and congrats with what I believe is your first scipy commit!
For future ones: please send all pull requests against the master branch.


[Reaction] Shouldn't be able to edit reaction after logout

build: dev / testnet
Description

I can still edit my reaction after logout
I can even edit my another account's reaction when I logout and login with another account

Expected
Shouldn't be able to add/edit reaction after logout (probably need to also check if this user is logged in or not?)
Screenshot

hmm it's possible for the wallet session to expire but still authenticated on our site, especially for the case where the site tries to auto connect to wallet -> expired -> keplr asks user to connect -> user clicks cancel -> still authenticated

Then I think we need to check if a user is connecting or not.
Can we delete the authentication in the browser when we found that we can fetch the authentication but the user is not connected? (just try to brainstorm, please don't mind me if there's better plan)

The latest PR should be able to ensure the user is connected to a wallet before they could react, but we won't be able to tell if the wallet user is the same as the authenticated user. I think we will need to check and compare the wallet address to the authenticated address and revoke the token if they don't match

@chihimng see if you think the following sounds sensible
Create /auth/invalidate  or /auth/logout to delete cookie

When user disconnects wallet manually, call logout API as well
When user wallet session expires automatically, clicking reaction will prompt the user to connect wallet, after connecting to wallet, call logout API
When user switch wallet account, call logout as well? (sounds chur tho)


Can't configure sentry-jira

Hi,
when i'm trying to configure sentry-jira by filling JIRA Instance URL, username and password and then clicking 'Save changes' nothing happens. Server response is 200 OK. Im using new Sentry 7.5.0.

Which version of Sentry?

Also likely because we need to pull this upstream https://github.com/getsentry/sentry-jira/commit/5d94f469545f39e8835a25b90c8e2b2aa5ed1790

7.5.0

Also having this issue, plugin seems to be broken in 7.5...

The released version is broken in 7.5, yes. @thurloat if you want to give me commit and pypi access (assuming I dont have it) I'll push out the updated version.
We couldn't easily make this backwards compat w/ the new dedicated settings pages.

You have access to pypi now @dcramer, you already had commit access.

I pushed out 0.9.0


Some vWii titles are missing

Mario Kart Wii is not shown in my vWii title list.
By comparing the results with savegame-manager-gx, I also noticed that the Homebrew Channel is not shown either (not a problem by itself).
The issue is probably related to title IDs in some way:

Mario Kart Wii:<PHONE_NUMBER>4d4350
The Homebrew Channel: 000100014c554c5a

All my other titles start by 00010001 and are correctly shown.
Looking at here and there, 00010004 appears to be relevant, although mainly used for Mario Kart Wii. Also, 00010001 might be interesting, but not sure.

Added support for 00010001 and 00010004. Currently testing features added so new release will be released some time between tomorrow and Saturday.

Nice, thanks ! 👍
I will test this ASAP.

The latest release is awesome! :tada:
I confirm this is fixed now.
Side note: if possible, it would be really convenient to update the version registered in the Homebrew App Store as well.


Issue when using with Tableview while search

I am using a custom textfield and I'm filtering the tableview using the text from the textfield.
When pushing from the table didselect method the shared view transition is transitioning from the wrong view.
when Poping back to viewController the shared view goes to two different places.
I am using the modifier of [.beginWithIfMatched(modifiers: [.zPosition(3)]), .arc]
The vewControllers are in a navigationController.
If you want more info i can share a screenshot in private.

You probably have two views with the same heroID. Remember to reset the heroID to nil on cell reuse. Otherwise the reused cell will still maintain the heroID previously assigned.

I'm passing a model to custom cell class. I'm setting the heroID for imageview when the model is set in cell class.
didSet{             guard let model = songDetail else {return}             songImgView.heroID = model.name + model.album             songImgView.heroModifiers = [.beginWithIfMatched(modifiers: [.zPosition(3)]), .arc] }
Can you help me where to reset heroID

You can override the prepareForReuse() method and set it to nil there.
On Thu, Feb 16, 2017 at 9:54 AM Rozario Rapheal<EMAIL_ADDRESS>wrote:

I'm passing a model to custom cell class. I'm setting the heroID for
imageview when the model is set in cell class.
didSet{ guard let model = songDetail else {return} songImgView.heroID =
model.name + model.album songImgView.heroModifiers =
[.beginWithIfMatched(modifiers: [.zPosition(3)]), .arc] }
Can you help me where to reset heroID
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/lkzhao/Hero/issues/97#issuecomment-280352042, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADNEah_sIDBPUQIgJcpkfXm0qo_dqrhKks5rdGMvgaJpZM4MCvK9
.

Can you show me why you had to use the .beginWithIfMatched(.zPosition()) modifiers? Just want to see if there is something we can do inside the framework to eliminate confusing usages like this. You can send screenshot to my email if you need this to be private.

I have tried using override func prepareForReuse() {         super.prepareForReuse()         songImgView.heroID = nil     }
the same issue persists

Then it might be something else. Send me some screenshots or an example
project would be nice.
On Thu, Feb 16, 2017 at 10:00 AM Rozario Rapheal<EMAIL_ADDRESS>wrote:

I have tried using override func prepareForReuse() {
super.prepareForReuse() songImgView.heroID = nil }
the same issue persists
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/lkzhao/Hero/issues/97#issuecomment-280353921, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADNEahkj2BAyJlETCFDanm2tvBMPrlUQks5rdGSZgaJpZM4MCvK9
.

I have mailed you at<EMAIL_ADDRESS>with some screenshots,  Please check out.

ok. finally have some idea after an hour of debugging.

Apparently, the collection view keeps these cells around as its subviews with the isHidden property set to true. Therefore you have two views in your view hierarchy with the same heroID. I will have Hero check isHidden in the next version.

Pushed into latest master.

Your beginWithIfMatched is not needed anymore. You can safely remove it.


adding link (closes enhancement #596)

Checklist

[x] Test your changes as thoroughly as possible before you commit them. Preferably, automate your test by unit/integration tests.
[x] If this PR comes from a fork, please Allow edits from maintainers
[x] Set a speaking title. Format: {task_name} (closes #{issue_number}). For example: Use logger (closes # 41)
[ ] Link your Pull Request to an issue (if applicable)
[x] Create Work In Progress [WIP] pull requests only if you need clarification or an explicit review before you can continue your work item.
[x] Make sure that your PR is not introducing unnecessary reformatting (e.g., introduced by on-save hooks in your IDE)
[x] Make sure that your PR does not contain changes in strings.xml (see issue #332)
[x] Make sure that your PR does not contain compiled sources (already set by the default .gitignore) and / or binary files

Description

I dont know why the circleci failed, but it's not related to my changes...

This is a know issue for external Pull Requests should be fixed with the latest dev branch


What does "etwite" mean?

LOL Even ChatGPT doesn't know 🤣

"etwite" is not a recognized word in the English language. It's possible you may have a typo or are referring to a term that has become known after 2021

i'd have to assume it's a typo of entwite [v. to twite, blame] which is also in the txt


Issue #213 - UI - Initial support for ActivityPub comments

This commit introduces initial support for showing comments. It relies on the API also including socialInteracts and on a new API on the server being implemented to fetch the comments.
~This is not yet ready, I have implemented some mock code on the server side that is not included in this commit.~
The front-end code expects the comments API to respond with the same format as podverse's /api/v1/episode/{episodeid}/proxy/activity-pub, which is exactly what is returned by threadcap.
To Do

[ ] Sanitize content html
[x] Fetch comments on the server using threadcap - done with bdf237e3a60197a6ea09a29873380379ba14793f
[ ] Add state for "loading comments" - currently is taking circa 7s, so there is a noticeable wait
[ ] Solve the react warning Warning: Each child in a list should have a unique "key" prop.
[ ] Define global constant for user agent
[ ] Use socialInteract from the API, when it becomes available
[ ] Show comment publication date and time
[ ] Support language-tagged values - see https://github.com/Podcastindex-org/web-ui/pull/218#issuecomment-1409452414

Limitations
Performance
When this PR is ready for merge, it will still be limited to fetching all comments in a single shot, and the UI will wait until they are all fetched, which can take some time.
A potential improvement would be some kind of "long pooling", where the server sends partial updates back each time a new comment is fetched. This way the UI could be progressively updated.
Summary / Content warning
The property summary is not taken into account, which is returned by Pleroma and Mastodon posts as a Content warning (e.g. to avoid spoilers). This is, to my best knowledge, also a limitation of threadcap (see https://github.com/skymethod/minipub/issues/6).
Attachments
Attachments are currently not shown (e.g. attached images).
Scaling
As all the API calls are going out from the same IP, if many users are checking comments in parallel, they could reach the instances' rate limit. For instance, the default for Mastodon instances is 300 calls within 5 mins (mastodon rate limits).
Related issues

resolves https://github.com/Podcastindex-org/web-ui/issues/213
Fediverse threads

Main thread discussing this issue
Promotion for this issue by @daveajones

Dependencies

the content of the socialInteract tag must be returned by the API

https://github.com/Podcastindex-org/docs-api/issues/91

Links and References

https://github.com/podStation/podStation/issues/304
https://www.w3.org/TR/activitystreams-vocabulary/

Additional server side code I'm using at server/index.js, to mock the API data:
const fakeCommentsResponse = require('./fake-comments-response.json')

app.use('/api/episodes/byfeedid', async (req, res) => {
    let feedId = req.query.id
    let max = req.query.max
    const response = await api.episodesByFeedId(feedId, null, max)

    // Injects fake socialInteract content here for testing
    response.items.forEach((item) => {
        item.socialInteracts = [{
            uri: 'https://podcastindex.social/users/dave/statuses/109683341113064081',
            protocol: 'activitypub',
        }]
    })

    res.send(response)
})

// ------------------------------------------------
// ------------ API to get comments for episode ---
// ------------------------------------------------
app.use('/api/comments/byepisodeid', async (req, res) => {
    let feedUrl = req.query.url
    // fakeCommentsResponse was taken directly from the API used by podverse
    res.send(fakeCommentsResponse)
})

For server\fake-comments-response.json I simply inspected the return of the API in podverse and copied the response body.
Current result:

@daveajones, we'll need to sanitize the content of the comments, do you have any library recommendations?

Threadcap doesn't sanitize?

Threadcap doesn't sanitize?
@daveajones I'm not sure, but I am assuming it doesn't. I could not find information indicating whether it does or does not on the documentation. I asked @johnspurlock-skymethod, see https://github.com/skymethod/minipub/issues/5 and https://fosstodon.org/@dellagustin/109771551290816322.

Now that's the server is doing requests to 3rd party servers, we should define a user agent. Do you have any preferences on this one?
I'll move forward with missing pieces, but soon it will be blocked only by https://github.com/Podcastindex-org/docs-api/issues/91.
Could you do a "call to action" for the community to contribute on the "beautification" part? Maybe on the next Podcasting 2.0 episode? This is a part were I'm very weak.

Current error handling:

I will 100% do a call out on the next board meeting. For user agent I typically use Podcastindex.org/v1.x so maybe something like:
Podcastindex.org-web/v1.0 ?

@daveajones, we'll need to sanitize the content of the comments, do you have any library recommendations?

I recommend DOMPurify NPM module for sanitizing. I have been using it in my project "Quanta" for a while.

One current limitation, I'm only taking into account English language content.
threadcap returns the content of the comments as language-tagged strings:
"content": {
          "en": "content in English"
        }

I'm currently hardcoding to English.
Note that the content on the Activity is not always language-tagged, and when it is, this is under the property contentMap instead of content.
e.g.:
"content": "content in English",
    "contentMap": {
        "en": "content in English"
    },

I was remembered about this when testing with a reply from a different account where it is not set to English (simplified example below):
{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://blob.cat/schemas/litepub-0.1.jsonld",
        {
            "@language": "und"
        }
    ],
    "content": "Content in und",
}

Note that in the absence of a contentMap threadcap seems to be building one from content and @language.

@daveajones

Podcastindex.org-web/v1.0 ?

Sounds good to me. Is it ok if I read the version from package.json to build the final user agent?

Design by @nathangathright: https://codepen.io/nathangath/pen/jOpvKJo?editors=1000

I’ve just updated the CodePen with a custom disclosure chevron, better support for Safari, and some space-saving mobile enhancements.

@nathangathright my mouse pointer is going a bit haywire on the clickable elements of the UI at the current version, but it may be a codepen thing, let's see if it happens when I implement it in PI.
It shows a hand cursor as if it was clickable, but if I let it there it goest back to being an arrow.

So an expectation management message: as you can see, the To Do list is packed. What I did so far was during a "time multiplexing window" that I dedicate to this project, now I have to do the same to other projects 😄 . Also, I have the feeling we are at a "80% of the functionality with 20% of the effor" point. In other words, the what is left may take more time then you would expect to be ready. I'm guessing something like 4 weeks we me "multiplexing" between projects and life. Let's see.

The property summary is not taken into account, which is returned by Pleroma and Mastodon posts as a Content warning (e.g. to avoid spoilers). This is, to my best knowledge, also a limitation of threadcap (see https://github.com/skymethod/minipub/issues/6).

Just for you Guilherme, this morning I added summary to the comment payload in the latest version of Threadcap - version 0.1.10

@dellagustin Yeah, cursor:pointer on absolutely-positioned pseudo-elements might not be the best idea. Given that all interactive elements don't need a hand cursor, I’ll remove that affordance.
I’ve pushed an updated code to a stand-alone repo with GitHub Pages so you can see the behavior without CodePen’s interference. Additionally, I’ve mocked up what Summarized/Content Warnings could look like.
https://nathangathright.github.io/comment-thread-mockup/

I'll probably leave the <relative-time> usage out of this PR as it adds another dependency, if I understood it correctly, and implement it afterwards with a dedicated PR. Is this this the one you used, https://github.com/github/relative-time-element?

Yeah, that’s fine. Just replace that custom element with the HTML5 standard [<time>](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/time) element. And yes, I just used unpkg to include GitHub’s package as a module at the bottom of the page, and everything else took care of itself.

@johnspurlock-skymethod , @nathangathright you both have to slow down on your great and timely contributions, it is making me look bad 😛.
Seriously now, the teamwork here is amazing, open source Christmas came early this year for me. I cannot wait to get this finished and integrated, it will be awesome!

@nathangathright , one note about the Content Warning, event though that the semantic for summary used by (at least) Mastodon and Pleroma, they show this in a very "neutral" way, meaning: they call it Content Warning when your are editing, but they don't refer to it when they are showing it, they just hide the content under a Show More/Show Content user interaction. Screenshots below.
I like this neutral approach in the context of ActivityPub, as the Activity Vocabulary does not define a way to represent content warnings or spoiler alerts (that I could find), so summary is intended to be just a summary, and the neutra approach does not go against that.
In summary (😜), I suggest our implementation support summary in a similar way, just show the summary and have a Show more or Show content button.

Testing with threadcap v0.1.10 showed a regression, reported with https://github.com/skymethod/minipub/issues/7.

Fair enough, I was copying Ivory, but happy to make it more neutral.

Fair enough, I was copying Ivory, but happy to make it more neutral.

@nathangathright perfect!

Testing with threadcap v0.1.10 showed a regression

Just published threadcap 0.1.11 that should fix it

The last update on threadcap fixed the issue introduced with v.1.10.
I'm in the works with @nathangathright's design, first version implemented with https://github.com/Podcastindex-org/web-ui/pull/218/commits/b48dc1b5c6114406543a0428cc45119801e419cc

One UI suggestion: remove the leading usernames (aka the twitter canoe) unless they are new to the comment node stack (ie they are added)
I did this in an old site I made called Convopage and it makes the comment text much more readable

One UI suggestion: remove the leading usernames (aka the twitter canoe) unless they are new to the comment node stack (ie they are added)
I did this in an old site I made called Convopage and it makes the comment text much more readable

I'm not sure how I feel about that, but I'll consider it - not likely in this PR though.

@nathangathright I can't post a screenshot of the issue right now, but I tested the code you contributed in mobile / responsive mode with the browser and the content is overflowing over the right border.
If you pull the code for this PR for testing, you need to modify the file server/index.js as follows (I have not pushed this as it is temp code that will not be needed once https://github.com/Podcastindex-org/docs-api/issues/91 is done).
app.use('/api/episodes/byfeedid', async (req, res) => {
    let feedId = req.query.id
    let max = req.query.max
    const response = await api.episodesByFeedId(feedId, null, max)

    // Injects fake socialInteract content here for testing
    response.items.forEach((item) => {
        item.socialInteracts = [{
            uri: 'https://podcastindex.social/users/dave/statuses/109683341113064081',
            protocol: 'activitypub',
        }]
    })

    res.send(response)
})

@nathangathright , I just implemented the support for summary. When I saw that your css trickery saved me from managing the state of Show More / Less, I was relieved!

I have been thinking about how stream back the comments processed by threadcap to the front-end, so that the user does not need to wait for the threadcap to finish its work to start seeing comments.
The idea is to use the threadcap callback and send back a JSON with new nodes and and commenters each time there is a node-processed event for a comment, then rebuilt the response on the frontend based on these chunked updates and update the state each time a chunk arrives.

Indication that comments are loading is there:

Ugly, but it works 😄
@nathangathright , if you feel like beautifying that, come along.
Also, did you see my overflow message from earlier - https://github.com/Podcastindex-org/web-ui/pull/218#issuecomment-1415397578?
One more TODO to go and the blockers from my side would be gone - I'm racing @daveajones here, hoping to finish this before he finishes introducing socialInteract to the API 😜.

@dellagustin The CSS for the summary element didn't account for display names + handles + long timestamps. Adding width:100%; overflow:hidden; on that element would patch the problem.
But I’ve gone a bit further and pushed an update to my little repo with stacked name and handles on desktop and hiding the handles on mobile.
(I still think handles are unnecessary given that you can click through to the original profile to verify anyone’s identity.)

Hello @nathangathright , thank you for the changes. I can see they work well in your standalone mock up, but when I implemented them inside the podcast index, it still overflows, here is a screenshot:

Fixed it by adding width: 100% to an outer div I added with the comments section.
I did remove the body CSS that came with @nathangathright 's mock up, as I feared it would affect the rest of the site somehow.

Content sanitization added with https://github.com/Podcastindex-org/web-ui/pull/218/commits/07207d294015adee34f7f7df34c13a7e41a280b5 using DOMPurify.
To test it, I faked the response of /api/comments/byepisodeid
with a hard coded json file containing in the content of comments
some examples from the section "Some purification samples please?".
References:

https://www.npmjs.com/package/dompurify

@daveajones , ready for review 🎉 .


feat(csp): require-trusted-types-for

Is your feature request related to a problem? Please describe.
The module seemingly does not support the require-trusted-types-for content security policy.
Describe the solution you'd like
The policy should be added.
Describe alternatives you've considered
Not using this policy 🥲😉
Additional context
Since https://github.com/vuejs/core/pull/10844 and v3.5 Vue supports trusted types.

Hey Jonas!
Thanks for rising this issue. I checked the availability of this particular option and it seems that it is not supported by either Mozilla or Safari and I wonder if we should support as we do it with Permissions Policy or focus on the ones that are more known 🤔
Thougths @vejja?

caniuse shows almost 75% global support. It's not urgent for me though! Just wanted to mention this feature request as it would come up eventually this way or another I'm sure 😁

We can support it, no problem I think

@dargmuesli would you be interested in developing this functionality? :)

I might come across this while procrastinating :wink: but if someone else goes first, I won't complain 😁

@dargmuesli it was just a simple type modification
Happy to get your feedback on whether require-trusted-types-for has the right type definition. Not clear to me if the spec says that only 'script' is valid, any word, or any combination of words...

Thanks @vejja 💚
@dargmuesli I have changed the base branch of the linked PR to 2.1.0 as I would like to plan it for the upcoming new release. Let us know if the code developed by Sebastien is what you wanted :)


I found a few typos

While I was reading shell scripts I found a few typos in your code:
https://github.com/yantis/instant-archlinux-on-mac/blob/master/initial_configuration.sh#L79
sytemctl
Less crucial one:
https://github.com/yantis/instant-archlinux-on-mac/blob/master/mac-install.sh#L115
Homerbrew

Thank you! I went ahead and fixed these.


TypeError data[option] is undefined (BtSr2)

TypeError: data[option] is undefined
.../bootstrap-editable-1.4.6/bootstrap-editable/js/bootstrap-editable.js
Line 2080
on
if (typeof option === 'string') { //call method
data[option].apply(data, Array.prototype.slice.call(args, 1));
} ```

any idea ? thanks a lot.

Did you solve it?


get reference to filtered nodes

Is there any way to get reference to filtered nodes.
I want something like this :
AngularJS - how to get an ngRepeat filtered result reference

you can do it using a custom template


Support mysql

Hi, I'd like to use this plugin, but I can't because my project uses a MySQL database. I guess more people are in a similar situation,

Hi @mauriciabad, I also think it would be great for project with mysql database to be able to use this project. Unfortunately, from my brief research it seems that there is very limited resources and examples of how to work with spatial data in mysql. We will conduct a deeper research and possibly add this feature to the roadmap.


Index and enforce uniqueness on tokens

As unlikely as it is to happen, it's nice to have collision protection on tokens at the database layer. Also: apparently we've been doing unindexed queries when fetching feeds/posts by token this whole time?

Good catch! And yes, no indexes so far, and I honestly don’t expect this to ever get enough usage that we will notice whether we indeed or not 😅

(I’m shocked the linter didn’t get me for the uniqueness validation with no db constraint)


Request: Several Additions

/top command to warp you to the highest block
/suicide command, if users would be given /kill they can add players as an arguement so no good.
Teleport invincibility, allow a configurable amount of seconds a player will be in god mode after using /tpaccept
Silent join/quit
Remove case sensitivity for warps/teleports etc
/Sun, /rain etc an alias of /weather
/V an alias of /vanish
-/bcast an alias of /broadcast
Command delay to prevent command spam like /tpa requests
/echest or /enderchest to bring up a players enderchest
Allow chat sudo using /sudo [name] c:[Words to say in chat]
/mem command to see the servers memory usage, uptime, TPS etc

Remove case sensitivity for warps/teleports etc: 11e56920be216b92461dfabf5198b2b70e5923a0


Web  Work in Debug Mode butt after release in not working

i am using this for web . when i run web it work fine butt web i publish app and then run app it dont request for camera permission and also it not run showing black screen

Had the same issue as you, where the scanner would not work in release mode on Web (but working fine during debug). After reading issue: https://github.com/juliansteenbakker/mobile_scanner/issues/622, I updated my index.html with the line below, and it now seems to be working!
<script type="text/javascript" src="https://unpkg.com/<EMAIL_ADDRESS>

As @cudajo mentioned, you need to include the barcode scanning library in your index.html before using the plugin.
The example app, which includes this library, works fine in release mode on web.
The README also explains this here: https://github.com/juliansteenbakker/mobile_scanner#web

Not working also with
<script type="text/javascript" src="https://unpkg.com/<EMAIL_ADDRESS>

@EloWeld I need more information to debug this.

Is the browser throwing an error in the console?
What is your version of mobile_scanner
What is your Flutter version
What browser do you use
Please provide a minimal reproducible code sample, without any third party dependencies


400S automation to set to Auto?

Describe The Bug
Hi i have a when leaving home automation who will bump the Fan to 3, manual mode.  Then another first one gets home automation which sets the mode to Auto.  From checking the log in debug mode, there is not mode auto sent to the 400S, just fan speed.  I can provide more infos if needed. Any comment welcomed.
Expected behavior
400S turns to Auto no matter the fan speed.
Logs
N/a
Plugin Config
N/a
Plugin Version
Latest
Homebridge Version
Latest
Node.js Version
N/a
NPM Version
N/a
Operating System
N/a

Hey, you can trigger the home arrival automation from the app to test that is working, can you check if it works? The plugin does not impact the automation, the automation just sends requests as a normal user from the home app, maybe the automation is not triggered

I also tested on my purifier, looks like is working when also changing the speed to level 1 and mode auto, and after a test now is on auto

Hi, i tested manually the automation, success purifier went back to normal.  I was pretty sure the automation did trigger the fan (not automation), but i am starting to have doubts :-).  I will review/retest the automation thanks.

Good luck!


RViz2 has confusing behaviors - tf2 timing,

See repro in #121
Specifically, this commit / README:
https://github.com/RobotLocomotion/drake-ros/blob/bcf2eeddd355dd3e73a9cb16ccd6b91905a18138/ros2_example_bazel_installed/repro/README.md
sub issues; I'd like help with confirming these issues, dispatching this to relevant repositories and the relevant fixes:

[x] (1) Rviz2 is sensitive to only a few millseconds delay; it seems to have no option to control what lookup should be (timeout, use TimePointZero, etc.)
[x] (2) There is millseconds delay between publishing and RViz receiving it - why?
[x] (3) Rviz2 seems to not be showing all axes in MarkerArray - why?
[x] (4) Why does rclpy.spin_once(node) freeze when a node has no subscribers? That seems awkward?

For any of these, we really should not encourage any one to try and publish markers in the future, nor have them try and publish Time(0, 0).
It should be on the onus of the listener (Rviz) to handle this. My ideal is to have option to use TimePointZero, or whatever lookup means "give me the latest for this transform and its constituent lookups".
\cc @IanTheEngineer @sloretz @calderpg-tri @gbiggs

Per VC and Drake Slack thread, rclpy.spin_once(node) freezes because with timeout_sec=None means it will block until it has at least one unit of work (callback) available to execute (regardless of number of subscribers).

On item 3:

Rviz2 seems to not be showing all axes in MarkerArray - why?

The fix is to give each marker a unique id: https://github.com/EricCousineau-TRI/drake-ros/pull/2/commits/8b0910f0130a2339f51587cd45f82f8736496012 . Markers in Rviz have a lifetime and can be manipulated. They're uniquely identified via a namespace and id. Marker messages specify an action, and the default action is "add/modify". It will add a new marker with the given (namespace, id) if one doesn't already exist, otherwise it will modify the existing marker. Only the last axis is showing because each Marker message has the same (namespace, id), so one "marker" is added and then modified twice. This is probably not what someone wants when specifying multiple markers in a single MarkerArray message, so I'll look into adding a warning when this happens.

On item 3:
I opened a pull request to show an error status when a single MarkerArray message with a duplicate ns and id pair is received: https://github.com/ros2/rviz/pull/891

sweet, thanks! will check that box given your root cause and solution for warning

On Item 1:

Rviz2 is sensitive to only a few millseconds delay; it seems to have no option to control what lookup should be (timeout, use TimePointZero, etc.)

Looking at #121's "via_tf", it looks like the issue is a bug in the Axes display. The ROS 1 to ROS 2 port changed the transform look up from time point zero in ROS 1 to the current time in ROS 2. I opened https://github.com/ros2/rviz/pull/892 fixing it, and I think it can be backported.
As to not having an option to control what the lookup should be, it looks like adding an option would require changes to RViz's frame manager interface. If it's a priority I can work on it for ROS Rolling and Iron+, but that kind of change probably wouldn't be backportable to ROS Humble. I'm not sure what the size of that task would be.
I looked at how a few displays choose which transform time to lookup. I found only Axes had the bug where it tried to lookup the transform at the current time. Displays that are showing a ROS message with a Header use the transform at the time stamp in the header of the received message (things like point clouds, nav paths, grid cells, etc). Displays that don't have that (Grid, TF, etc) use the latest available transform.

I opened https://github.com/ros2/rviz/pull/892 fixing it, and I think it can be backported.

Sweet, nice fix! Added some small comments there re: docs and dev advice.

As to not having an option to control what the lookup should be, it looks like adding an option would require changes [...]

Ideally, it would "just" be a widget with configuration options common to allow RViz plugins consuming TF2 information.
If it's not too much, consider filing issue against rviz2? But yeah, TimePointZero prolly solves main use case, so we can let this possible improvement sit for a bit / get closed during cleaning if there's no further desire for it.

On Item 2:

(2) There is millseconds delay between publishing and RViz receiving it - why?

I looked into the transit times using ros2_tracing, a simple python tf publisher, and RViz using the Axes display. I'm pretty sure the delay is RViz's 30Hz refresh rate. Here's what I was able to get data for.
No data

Python process: Timestamp recorded via node.get_clock().now()
Python process: Python tf_broadcast.sendTransform(message)
Python process: rclpy.publish(message)

Begin transit time measurement via trace point in rcl_publish()
4. Python process: rcl_publish()
5. Python process:  rmw_publish()
6. Python & RViz process: CycloneDDS delivers message from publisher process to RViz publisher
7. RViz process: rmw_wait(), rcl_wait() wakes
9. RViz process: executor takes message from middleware
11. RViz process: starts tf listener subscription callback
End transit time measurement via trace point in rclcpp callback dispatch
Begin callback duration measurement via same tracepoint
12. TFListener callback runs and puts new transform data into the tf buffer
End callback duration measurement via trace point at end of rclcpp callback dispatch
No data
13. RViz asks Axes display to update (this is subject to RViz's refresh rate)
14. Axes gets the transform data from RViz's frame manager interface.
With a sample size of 77 callbacks, the transit time from rcl_publish in the Python process to the beginning of the TransformListener callback in the RViz process was at most just under 0.5ms, but usually 0.1 to 0.2ms.

Then the TFListener callback runs. The first run took about 0.05 ms, but most were less than 0.01ms.

I think it's unlikely the extra time is coming from the unmeasured stuff on the Python side. Instead I think RViz's default refresh rate of 30Hz (33ms period) is the cause, and ros2/rviz#892 should make that no longer a problem.

@EricCousineau-TRI I think I've addressed all bullet points. If it looks good to you, may I close this ticket?

sweet, and yes! thanks a ton for the results!
50us - 200us seems high (from my naive perspective) for the small message you sent, but maybe that's related to the rclpy performance issues you mentioned earlier. good to know!


Add submodule init command to the README

You need to git submodule init right before updating the submodules otherwise nothing will happen and the theme won't work properly

Also the Nanum Square repo doesn't exist anymore. I'm using https://github.com/hiun/NanumSquare.git instead but i'm not even sure if it's the same thing

Thank you for reporting this! Fixed on a8b0fa .


Support command line option --password-file for encrypting in addition to decrypting

Could you please support command line option  --password-file (or similar) when encrypting PDF files?
Currently there seems to be no way to prevent passwords from leaking into the process table when encrypting PDFs. This allows everyone able to list / inspect the process table (with command such as ps) to obtain the password used to encrypt PDFs.
The --password-file command line option (introduced in 10.2.0) can be used with --decrypt to avoid leaking the password into the process table. Unfortunately this option doesn't seem to work with --encrypt. Given the syntax --encrypt and the fact that both a user and owner password can be specified it may be necessary to introduce a new set of command line options.

Instead of introducing more command line parameters, another option could be to introduce environment variables that QPDF reads the password from (when set).

You can already do this using the @file syntax. Example:
echo user-password > /tmp/u
echo owner-password > /tmp/o
qpdf --encrypt @/tmp/u @/tmp/o 256 -- in.pdf out.pdf

For details, see https://qpdf.readthedocs.io/en/stable/cli.html#basic-invocation

Thanks, didn't realize this is already supported. I read the last paragraph in section Basic Invocation, the section "can’t appear in the middle of an argument" lead me to believe that it isn't supported for --encrypt.


Filter a certain number of species

I have created mmseq database with ncbi nt, and added taxonomy information.  To shorter the search time, I am trying to create a small database with a certain number of species. I have got the ncbi taxIDs of them already, my question is how to filter the ntDATABase with those taxIDs.
In my mind now, I should use the filterdb function with --filter-regex and --filter-column. Problem is I don't know which column is the taxID in the ntDATAbase. Could anyone guide me how to check the structure of the data base and find which column is the taxID? Or are there any other ways to filter the nt database using the taxID list?
Thanks

There is the mmseqs filtertaxseqdb module. It's examples in the help text should show you how to use this.

@milot-mirdita Thank you so much!!!!!! I have been working on this all day today but couldn't get a clue. I tried with filterdb and filtertaxdb,  turns out there is another "filtertaxseqdb"!!!!

Sorry, we have built a lot of modules over the years 😅

No worries at all!


Weird test behavior on Multibase.lean

Defining zero like this succeeds on the tests, but swapping the primed and non-primed definitions makes the test fail.
Similarly, it happens here as well.

Awaiting on https://github.com/leanprover/lean4/pull/1153