Data binding issues

I am using version 4.15.35 of the bootstrap-datetimepicker in an AngularJS Boostrap application.
The only bootstrap-datetimepicker option I am using is format = 'MM/DD/YYYY'. I am binding data to the input using data-ng-model.
Issue #1:
I select a date through the calendar picker, then input some invalid characters through the input box as follows:

When I click away to blur the input, the boostrap-datetimepicker removes these invalid characters from the value in the input:

However, in the Javascript the value "01/aaa13/2017" is still present in the bound property.
Issue #2:
I select a date through the calendar picker. Then I click away to blur the input. Then I click back and select another date through the picker. In the Javascript, the bound property still holds the first selected value, and this does not change with any subsequent date selections through the calendar picker.
If anyone has any insite as to how I should proceed, I would really appreciate it. Additionally, if any further information/code would be helpful please let me know.

Hi, these problem has been happend before, it's recomend to do 2 thing

Use the angular wrapper given by the guide on the docs

Use another angular wrapper that most of people use: This one by Atais

This related to #314 and maybe to #1993
BTW: You should not use # for setting points as is reserved for call related issue, as I did before, instead just list them with "-" or a simple list.

Thank you for the reply! I was able to get it working using the solution in #314.

Hi, Great that it worked!, as I've never used angular maybe I wouldn't able to give you any other help, but now is solved, any other question related to the plugin just ask :)
Now as this is solved please close this issue, maybe that way others can find it faster.


Auto-update

Use API: https://api.github.com/repos/Soreepeong/XivAlexander/releases
TODO: When to check update, user consent

Use https://api.github.com/repos/Soreepeong/XivAlexander/releases/latest for less information to download.
Maybe this system can be implemented on regular startup of the exe with prompt if there's an update available. Shouldn't add much startup time.
(maybe also opcode auto update whenever https://xivapi.com/patchlist changes?)

Best not to rely on xivapi's patch list, it's manually maintained and we (xivapi) don't always update it regularly or on time. Would likely be better to poll the gateway URL for version updates, or just do on startup.

https://github.com/Soreepeong/XivAlexander/releases/tag/v<IP_ADDRESS>
Update checking feature has been implemented. Add option to check for updates automatically, and then feature to download and unzip too.


prototype of exposing non-ci browser coverage in the docs

prototype of how https://github.com/Financial-Times/polyfill-service/issues/1042 could be addressed

@wheresrhys Can you post a screenshot of how this look please?

Something like this would be OK, but it needs to look more like this:

Closing this for now, feel free to re-open if you are carrying on developing it.


i3[-gaps]: added missing dependencies and bumped to 4.19.1

Please fill out the template.

Why is bash a dependency ?

Why is bash a dependency ?

It needs bash in order to build.

It's a meson project no? Why would it need bash to build 🤔

build dependencies should be marked as make, so you'd put bash make in the depends file

Also, you should confirm whether it needs bash or not because i don't see it mentioned as a make dependency on the Arch package, Though bash is a make dep for few other packages

It's a meson project no? Why would it need bash to build

build dependencies should be marked as make, so you'd put bash make in the depends file

Also, you should confirm whether it needs bash or not because i don't see it mentioned as a make dependency on the Arch package, Though bash is a make dep for few other packages

I was building it in a VM, and I got an error that bash was required when building. I didn't know about marking build-time dependencies as make, so I'll go through and change that when I can. Would this indicate that it is not required at runtime though?

Yeah, bash make means that the dep can be discarded from the system after installing the package


Error loading

Getting errors for this one. First time I've ever had errors with an extension. Disabling it makes the error go away of course.
Error loading script: main.py
Traceback (most recent call last):
File "/home/ubuntu/stable-diffusion-webui/modules/scripts.py", line 257, in load_scripts
script_module = script_loading.load_module(scriptfile.path)
File "/home/ubuntu/stable-diffusion-webui/modules/script_loading.py", line 11, in load_module
module_spec.loader.exec_module(module)
File "", line 883, in exec_module
File "", line 241, in _call_with_frames_removed
File "/home/ubuntu/stable-diffusion-webui/extensions/sd-webui-inpaint-anything/scripts/main.py", line 6, in
from diffusers import StableDiffusionInpaintPipeline, DDIMScheduler
File "/home/ubuntu/miniconda3/lib/python3.10/site-packages/diffusers/init.py", line 55, in
from .pipelines import (
File "/home/ubuntu/miniconda3/lib/python3.10/site-packages/diffusers/pipelines/init.py", line 46, in
from .paint_by_example import PaintByExamplePipeline
File "/home/ubuntu/miniconda3/lib/python3.10/site-packages/diffusers/pipelines/paint_by_example/init.py", line 13, in
from .pipeline_paint_by_example import PaintByExamplePipeline
File "/home/ubuntu/miniconda3/lib/python3.10/site-packages/diffusers/pipelines/paint_by_example/pipeline_paint_by_example.py", line 29, in
from ..stable_diffusion import StableDiffusionPipelineOutput
File "/home/ubuntu/miniconda3/lib/python3.10/site-packages/diffusers/pipelines/stable_diffusion/init.py", line 81, in
from .pipeline_stable_diffusion_pix2pix_zero import StableDiffusionPix2PixZeroPipeline
File "/home/ubuntu/miniconda3/lib/python3.10/site-packages/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_pix2pix_zero.py", line 23, in
from transformers import (
ImportError: cannot import name 'BlipForConditionalGeneration' from 'transformers' (/home/ubuntu/miniconda3/lib/python3.10/site-packages/transformers/init.py)

Ok for those that may have run into this, be sure you update to the latest 1.3 before installing this. Once I upgraded all works fine.


support ci on forks

Currently our CI build system is not prepared to handle change from fork repo to mina. There are various problems like:
many jobs checkout origin branches as reference to some comparison and they will checkout branch from fork repo rather than mina (for example merges cleanly)
we should not allow to publish dockers to docker hub from forked repositories
we need to tag dockers properly not to override main repo based dockers
This PR addresses above problems. It adds yet another remote (mina) which always point to mina protocol repository. If CI is run against forked repository it uses branches from mina remote for comparison instead of origin which point to forked repositories. It also changes behavior when running export env variables script. It does not allow to publish dockers and debian packages stable channels or to dockerhub.
Closes #14575

!ci-build-me


fix(multiaddress): Raise MaError instead of LPError on &

LPError is the top level error type of libp2p, it makes more sense to raise a multi address specific subtype to avoid requiring callers to catch errors too broadly. As MaError inherits from LPError, existing error handlers will still work fine.
Requires https://github.com/arnetheduck/nim-results/pull/41

Nim 2.0 is working fine on the latest release (2.0.8) - but current version-2-0 branch seems to fail (4856beae70ba058612a07ab787c9f283f885b453)

Nim 2.0 is working fine on the latest release (2.0.8) - but current version-2-0 branch seems to fail (4856beae70ba058612a07ab787c9f283f885b453); and also does so on other PRs.

https://discord.com/channels/613988663034118151/740631022080622745/1279118505819508857


adds timeout check in discovery state

lgtm from me, anything to add from your side @afritzler @hardikdr ?


Dynamic App

Hi,
First, Thank you for your work for this gem.
in these lines, there is a hard coded App which actually can differ from one application to another.
I just thought of 2 alternatives:
1- Maybe ask the gem user to specify a let(:karafka_app) { MyCustomKarafkaApp } and then use that. (since you already expect the rspec subject to be defined by the user as well)
2-  or perhaps there is a way to get this value from the Karafka gem. Actually one way to do so is to do something like this : Karafka::App.descendants.first (or .last) which returns the class that is defined in karafka.rb that inherits from Karafka::App.
Or maybe a hybrid approach. However, I'd go for the Karafka::App.descendants.first

Good point! I will take a look at this week and think about the solution. Thank you!

@nijikon any idea?

A third idea, I just tried Karafka::App.consumer_groups in console and it worked and listed all my consumer groups. And since all karafka applications inherit from Karafka::App I think this would work.

Yes. This will work for now but not in the future as the global state is going to be removed. But for the 1.3 we can easily go with that. Fix in progress!


Add i64 and u64 implementations for bevy_render::render_resource::ShaderType

Bevy version
0.14-rc.3
Bug
i64 and u64 should implement bevy_render::render_resource::ShaderType because wgpu added support for them in wgpu 0.20

this needs to be fixed in the encase crate
relevant issue: https://github.com/teoxoy/encase/issues/74

Vulkan and DX12 don't support this and WGPU might revert their support: https://github.com/gfx-rs/wgpu/issues/5857
Closing for now, feel free to reopen when things change :)


SFS | Prevent BCeID users from commenting on a submission after it is marked as received |2|

https://trello.com/c/RhyHi4ZT/1116-sfs-prevent-bceid-users-from-commenting-on-a-submission-after-it-is-marked-as-received-2
Task:
This card is to prevent BCeID users from commenting on their own Secure File Submissions after the status has changed to Received.
Info:
BCeID users should only be able to comment on their organization's Secure File Submission(s) when:

They are first creating a new secure file submission (no status)
They are editing a saved draft (Draft status)
They are viewing a submitted secure file submission that has not yet been marked as Received (Submitted)

BCeID users should NOT be able to comment on their organization's Secure File Submission(s) when:

The status is Received
The status is Archived

Details:

BCeID user
Document Upload (File Submission) Role
Secure File Submission page

 SFS | Prevent BCeID users from commenting on a submission after it is marked as received |2|


[DRAFT] Add network devices metadata (forwarder, sender)

What does this PR do?
A brief description of the change being made with this pull request.
Motivation
What inspired you to submit this pull request?
Additional Notes
Anything else we should know when reviewing?
Describe your test plan
Write there any instructions and details that should be tested during the QA.

Superseded by
https://github.com/DataDog/datadog-agent/pull/8008
https://github.com/DataDog/datadog-agent/pull/8007


fix: checked array before spread

Description

Added check for Array type value.

Fixes #4952
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Tested locally.

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

Test coverage results :test_tube:
:green_circle: Total coverage has increased
// Code coverage diff between base branch:release and head branch: FIX/4952-selectedRowIndices-not-iterable

Status
File
% Stmts
% Branch
% Funcs
% Lines

:green_circle:
total
54.94 (0.01)
36.81 (0.01)
33.68 (0)
55.48 (0)

:green_circle:
app/client/src/utils/autocomplete/TernServer.ts
50.71 (0.24)
38.6 (0.88)
36.21 (0)
55.35 (0.27)

Hello @SatishGandham ,
Can you see if you are able to test this in DP? And then would request you to either move it to Needs QA or Done pipeline.
cc: @somangshu


Add option to skip exchange declaration

For a bit of context, why wouldn't you want to declare the exchange? Are you worried about changing settings?

If the exchange is already created on the publishing side (with all the attributes) I want to avoid to copy the specifics to the consumer side (which might not even know which settings to use) but just the name.


Deprecate device.qubit_set  in cirq_google.

Yet more of #4744 .
It also looks like now we can get rid of the device shim @mpharrigan , @dstrain115 (will leave to seperate PR).

so wait, the only way to get a device's qubits now is to go through a level of indirection?

Yes, this was discussed in the design review for devices p2 and we signed off on moving qubit_set to metadata and keeping just the validation components present for core Device.


Speedtest command not added to website docs

https://github.com/official-stockfish/Stockfish/wiki/UCI-&-Commands
speedtest info here is missing from the main docs.
I can work on it if you don't mind

The website docs are here https://github.com/official-stockfish/docs
Ideally they should be updated automatically on a regular basis
(CC @Disservin )

I've updated the docs mirror.


Ability to add new, custom categories to category select table

Expectations
Add a new category (assessment tool group for now)
click on a plus icon to start the process
new UI element appears with a default name, I can click on it to enter / change its name
I can click an "x" icon (or similar) to delete the category (assessment tool group) again.
clicking on the new category makes it the selected category (i.e. I can now "tag" columns with this category)
Required input:
list categories for selection
has some way of knowing whether a category is user-defined / editable / deleteable.
This will control whether user can change name / delete the category and whether the corresponding UI elements exist
css classes for each category - for opacity and color
Generated output:
currently selected category (sent up to categorization page)
created (new) category (assessment tool group)
deleted category (assessment tool group)
Further Notes
This particular addition has a few ins and outs that I will document here.
The plus icon should be set at the bottom of the category select table and move down as categories are added
The UI element to appear for name addition can either be an editable row or a separate component. The problem with the former is that editing vs selecting may be incompatible (either to b-table or just in general from a UX perspective
Clicking the 'X' icon deletes only custom categories. Presumably we don't want the user to have the ability to delete original categories (as defined now in the store, and in the future, as defined in the app config file. So X's will only appear next to custom categories.
Deleting a category necessarily de-links the columns of the data table with that category
Additional categories will need to choose colors from a palette. For now they will all be the same color
There's the question of whether or not these new, custom categories behave like (or replace) the "Assessment Tool" category
Design notes for editable custom category name feature:
Editable textbox featuring name of currently selected category (grey for original categories)
Editing name searches through columnToCategoryMap in store and edits name of category assigned to each column

@jarmoza just like #227 I think this is quite stale and not near the top of the pile. I'd vote to close and then revisit once we actually are thinking about getting to doing this. wdyt?

@surchs So given our discussions last week about keeping issues around that we know will be worked on but we're not sure as of yet when, is closing this issue in line with that?
I'm fine with that. Obviously we know that this is currently a recurrent ask from JB so it's in our heads, but I'm wondering if closing this ends up hiding the issue – and doing so in other instances would hide issues/ideas/features that are less at the front of our mind.

thanks for catching that @jarmoza. Agreed, I shouldn't have closed. These are now going to remain as feature requests to be prioritized / voted on (https://github.com/neurobagel/project/issues/132)


Deploy to PyPi

[x] Push package to PyPi
[x] Add GH action to autodeploy if PR merges successfully & everything is working
[x] Add deployment success/fail badge
[x] Add python versions badge
[x] Add PyPi version

Implemented via:

505c00ab4141b15703f687f15f08217ddf717d66
4b1ea61b6a5a38e27e74e2f6ad33f186f0cb32bd


How to write a CustomTransformation that can take init-params?

❓ Questions and Help
What is your question?
I implemented a Custom Transformation like the ImageClassificationInputTransform documented here: https://lightning-flash.readthedocs.io/en/stable/reference/image_classification.html
When i use the example without any changes it works as expected ✅
However i have not found a good way to pass parameters into the ImageClassificationInputTransform.
datamodule = ImageClassificationData.from_folders(
    train_folder="data/hymenoptera_data/train/",
    val_folder="data/hymenoptera_data/val/",
    train_transform=ImageClassificationInputTransform(image_size=(64,64)), # <---- that does not work
    transform_kwargs=dict(image_size=(128, 128)),
    batch_size=1,
)

whenever i pass the image_size, i get the following error
/usr/local/lib/python3.8/dist-packages/flash/core/data/io/input_transform.py in __post_init__(self)
    108         self._collate_in_worker_from_transform: Optional[bool] = None
    109         self._transform = None
--> 110         self._transform = self._check_transforms(self._resolve_transforms(self.running_stage), self.running_stage)
    111
    112         # Hack

/usr/local/lib/python3.8/dist-packages/flash/core/data/io/input_transform.py in _resolve_transforms(self, running_stage)
    923
    924         transforms_out = {}
--> 925         stage = _STAGES_PREFIX[running_stage.value]
    926
    927         # iterate over all transforms hook name

AttributeError: 'property' object has no attribute 'value'

What have you tried?
It seems that when creating an instance from the dataclass, it sets running_stage=None and fails.

I have tried to give it a __init__ and remove the @dataclass

One can workaround this by adding a classmethod-setter function, like:
        transforms = ImageClassificationInputTransform
        transforms.set_params(self.params)

I guess there is a better way ?! thank you
What's your environment?

OS: [e.g. iOS, Linux, Win] Ubuntu
Packaging [e.g. pip, conda] pip
Version [e.g. <IP_ADDRESS>] 0.6.0

Hey @daMichaelB thanks for the question! Anything passed to the transform_kwargs will be used when instantiating the transform, so the recommended way for your use case would be:
datamodule = ImageClassificationData.from_folders(
    train_folder="data/hymenoptera_data/train/",
    val_folder="data/hymenoptera_data/val/",
    train_transform=ImageClassificationInputTransform,
    transform_kwargs=dict(image_size=(64, 64)),
    batch_size=1,
)

This is a new API for us so we are still working out some things. If you wanted different image sizes for train / val / test then you could create an InputTransform object with train_image_size etc. arguments. What's a bit clunky is that you would have to pass train_transform, test_transform, val_transform etc. when creating your datamodule. Perhaps this would be cleaner:
datamodule = ImageClassificationData.from_folders(
    train_folder="data/hymenoptera_data/train/",
    val_folder="data/hymenoptera_data/val/",
    transform=ImageClassificationInputTransform,
    transform_kwargs=dict(train_image_size=(64, 64), eval_image_size=(128, 128), ...),
    batch_size=1,
)

Would love to hear your thoughts around this if you have any ideas for how we can improve it :smiley: As it's a new API we are quite flexible

Hey @ethanwharris thanks for the detailed answer!! NICE 👍  i was not aware of the transform_kwargs. I think that is a pretty good solution and i will try it out now!
IMHO the idea of having the transforms separated into train_transform/valid_transform and test_transform is great. It's more code but it is easier to keep the overview of what happens.
Thanks for your great support again!

I close this as it is now clear, thanks!


Image format

Which image format should be used ?
Based on https://www.caniemail.com, the jpg format is the most supported one across email clients. The problem is I'm not sure if we can get the jpg image from the hlx media bus ? It seems like images are converted to webp but not to jpg. The webp format seems to be well supported though.
Here's a ranking of image format support

jpg(winner): https://www.caniemail.com/search/?s=jpg
webp: https://www.caniemail.com/search/?s=webp
png: https://www.caniemail.com/search/?s=png
svg: https://www.caniemail.com/search/?s=svg

For the carousel and any other icon coming from the code bus this shouldn't matter right?
Correct

For images from the media bus jpeg should work as well, we may have to adjust the format=jpeg though
Ok thanks format=jpeg seems to work !


coded the 32-bit- shift reg and test bench for it

coded without using the in built shift library

!bounty 10


FEAT: Card Release, new variations for CardBase, Quote font-size |  R…

…EFACTOR: CardBaseClickable

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Nextflow and TRUE/FALSE flags in R

Boolean parameter flags for Groovy, such as true or false, are not being interpolated correctly within the Rscript section of processes (R expects upper-case boolean).  So particular parameters relying on this switch are broken, such as trimOverhang and rmPhiX and are currently hard-coded.
> TRUE
[1] TRUE
> true
Error: object 'true' not found
>

@grbot something to be aware of; I'm checking the Nextflow Google group on this one.

Hi Chris,
Can you show me how you know this is broken, does the following code not take care of this issue?
#Variable selection from CLI input flag --trimOverhang
if("${params.trimOverhang}"=="F"){
trimOverhang <- FALSE
} else if("${params.trimOverhang}"=="T"){
trimOverhang <- TRUE
}
print(trimOverhang)

Thanks Chris. Agreed, that is potentially confusing. Also, I see I did 'F' and T' for --trimOverhang but not for rmPhiX which I've now fixed in https://github.com/kviljoen/16S-rDNA-dada2-pipeline/blob/dev/main.nf so hopefully its working. The problem is that Nextflow automatically writes 'TRUE' or TRUE as true, which is then seen as a (non-exisiting) object by R. But yes, other than the current workaround not sure how to change this to something more user-friendly.

@kviljoen I think it would require a Groovy helper function to catch them early on (otherwise you'll end up writing those conditionals for each R script block.  Phil Ewels has written a few in some of the nf-core code to do rudimentary tasks, one of us could ask about this maybe via the nextflow gitter channel (he and Paolo tend to be there quite a bit).

My advice for big chunks of foreign code is to managed as an external script and save the project bin/ folder. It makes the code more readable and easier to test. The arguments can be then specified as command line option. Se an example here and here.

Thx @pditommaso !

Short term fix is to use as.logical() from the input string:
> TRUE
[1] TRUE
> true
Error: object 'true' not found
> as.logical("true")
[1] TRUE
> as.logical("false")
[1] FALSE
> as.logical("T")
[1] TRUE
> as.logical("F")
[1] FALSE

I'm still oddly seeing issues with @kviljoen fix (it works for them), the following seems to work within the embedded R code:
rm.phix <- as.logical(${params.rmPhiX})

Long-term, we need to move to a script but I think we can make a separate issue for it.


Unable to get a constant publishing rate on the integrated IMU.

Preliminary Checks

[X] This issue is not a duplicate. Before opening a new issue, please search existing issues.
[X] This issue is not a question, feature request, or anything other than a bug report directly related to this project.

Description
I wish to have a constant publishing rate for the IMU on my zedx camera. However it is not. It seems to be better with higher sensors_pub_rate but it is never constant. Here is a figure of the different settings I tried compared to a reference imu in yellow.

I played with these parameters when experimenting on getting a constant rate.
 sensors:
        sensors_image_sync: false # Synchronize Sensors messages with latest published video/depth message
        sensors_pub_rate: 200.0 # frequency of publishing of sensors data. MAX: 400. - MIN: grab rate
        qos_history: 1 # '1': KEEP_LAST - '2': KEEP_ALL
        qos_depth: 1 # Queue size if using KEEP_LAST
        qos_reliability: 2 # '1': RELIABLE - '2': BEST_EFFORT -
        qos_durability: 2 # '1': TRANSIENT_LOCAL - '2': VOLATILE

Steps to Reproduce
Steps

I ran the zed_node with the following launchfile and config. I verified and my parameters are getting applied properly.
I recorded the data in a rosbag and analysed the delta between two imu messages using the timestamp in their header using a python script.

I used this snipped to analyse my data
def plot_imu(color, filename, label):
    df = pd.read_csv(filename)

    t = df["timestamp"]

    delta = []
    for i in range(1, len(t)-1):
        delta.append((t[i] - t[i-1])/ 1.0e9)

    plt.scatter(np.arange(0, len(delta)), delta, label=label, c=color)

I used this launchfile
import os

from launch import LaunchDescription
from launch.actions import IncludeLaunchDescription
from launch.launch_description_sources import PythonLaunchDescriptionSource
from ament_index_python.packages import get_package_share_directory

from launch_ros.actions import ComposableNodeContainer
from launch_ros.descriptions import ComposableNode
from launch_ros.actions import Node

def generate_launch_description():

    # ZED config
    zed_config_path = os.path.join(
                get_package_share_directory('package'),
                'config',
                'config.yaml'
            )

    # ZED Wrapper node
    zed_wrapper_node = Node(
        package='zed_wrapper',
        namespace="",
        executable='zed_wrapper',
        name="zed_node",
        output='screen',
        parameters=[
            zed_config_path,
            {
                'pos_tracking.publish_tf': True,
                'pos_tracking.publish_map_tf': True,
                'sensors.publish_imu_tf': True,
            },
        ]
    )

    # Image Processing
    image_proc_container = ComposableNodeContainer(
            name='image_proc_container',
            namespace='',
            package='rclcpp_components',
            executable='component_container',
            composable_node_descriptions=[
                ComposableNode(
                    package='image_proc',
                    plugin='image_proc::ResizeNode',
                    name='resize_node',
                    remappings=[
                        ('image', '/zed_node/rgb_gray/image_rect_gray'),
                        ('camera_info', '/zed_node/rgb_gray/camera_info'),
                        ('resize', '/zed_node/rgb/resized')
                    ],
                    parameters=[
                        {"scale_width": 0.5},
                        {"scale_height": 0.5}
                    ]
                )
            ],
            output='screen',
    )

    return LaunchDescription([
        zed_wrapper_node,
        image_proc_container
    ])

And this config file
/**:
    ros__parameters:

        use_sim_time: false # Set to `true` only if there is a publisher for the simulated clock to the `/clock` topic

        simulation:
            sim_enabled: false # Set to `true` to enable the simulation mode and connect to a simulation server
            sim_address: '<IP_ADDRESS>' # The connection address of the simulation server. See the documentation of the supported simulation plugins for more information.
            sim_port: 30000 # The connection port of the simulation server. See the documentation of the supported simulation plugins for more information.

        general:
            camera_model: "zedx"
            camera_name: "zedx" # usually overwritten by launch file
            grab_resolution: 'HD1080' # The native camera grab resolution. 'HD1200', 'HD1080', 'SVGA', 'AUTO'
            grab_frame_rate: 30 # ZED SDK internal grabbing rate (HD1200/HD1080: 60, 30, 15 - SVGA: 120, 60, 30, 15)
            pub_resolution: 'NATIVE' # The resolution used for output. 'NATIVE' to use the same `general.grab_resolution` - `CUSTOM` to apply the `general.pub_downscale_factor` downscale factory to reduce bandwidth in transmission
            pub_downscale_factor: 2.0 # rescale factor used to rescale image before publishing when 'pub_resolution' is 'CUSTOM'
            pub_frame_rate: 30.0 # frequency of publishing of visual images and depth images
            camera_flip: false
            camera_timeout_sec: 5
            camera_max_reconnect: 5
            serial_number: 0 # usually overwritten by launch file
            gpu_id: -1
            region_of_interest: '[]' # A polygon defining the ROI where the ZED SDK perform the processing ignoring the rest. Coordinates must be normalized to '1.0' to be resolution independent.
            svo_file: "" # usually overwritten by launch file
            svo_loop: false # Enable loop mode when using an SVO as input source
            svo_realtime: true # if true the SVO will be played trying to respect the original framerate eventually skipping frames, otherwise every frame will be processed respecting the `pub_frame_rate` setting
            sdk_verbose: 1

        video:
            exposure_time: 3000 # Defines the real exposure time in microseconds. Recommended to control manual exposure (instead of `video.exposure` setting)
            auto_exposure_time_range_min: 500 # Defines the minimum range of exposure auto control in micro seconds
            auto_exposure_time_range_max: 2500 # Defines the maximum range of exposure auto control in micro seconds
            exposure_compensation: 50 # Defines the Exposure-target compensation made after auto exposure. Reduces the overall illumination target by factor of F-stops. Values range is [0 - 100]. Default value is 50, i.e. no compensation applied
            analog_gain: 1255 # Defines the real analog gain (sensor) in mDB. Range [1000-16000]. Recommended to control manual sensor gain (instead of `video.gain` setting)
            auto_analog_gain_range_min: 1000 # Defines the minimum range of sensor gain in automatic control
            auto_analog_gain_range_max: 16000 # Defines the maximum range of sensor gain in automatic control
            digital_gain: 1 # Defines the real digital gain (ISP) as a factor. Range [1-256]. Recommended to control manual ISP gain (instead of `video.gain` setting)
            auto_digital_gain_range_min: 1 # Defines the minimum range of digital ISP gain in automatic control
            auto_digital_gain_range_max: 256 # Defines the maximum range of digital ISP gain in automatic control
            denoising: 50 # Defines the level of denoising applied on both left and right images. Range [0-100]

            brightness: 4 # [DYNAMIC] Not available for ZED X/ZED X Mini
            contrast: 4 # [DYNAMIC] Not available for ZED X/ZED X Mini
            hue: 0 # [DYNAMIC] Not available for ZED X/ZED X Mini
            saturation: 4 # [DYNAMIC]
            sharpness: 4 # [DYNAMIC]
            gamma: 8 # [DYNAMIC]
            auto_exposure_gain: true # [DYNAMIC]
            exposure: 80 # [DYNAMIC]
            gain: 80 # [DYNAMIC]
            auto_whitebalance: true # [DYNAMIC]
            whitebalance_temperature: 42 # [DYNAMIC] - [28,65] works only if `auto_whitebalance` is false
            qos_history: 1 # '1': KEEP_LAST - '2': KEEP_ALL
            qos_depth: 1 # Queue size if using KEEP_LAST
            qos_reliability: 1 # '1': RELIABLE - '2': BEST_EFFORT -
            qos_durability: 2 # '1': TRANSIENT_LOCAL - '2': VOLATILE

        depth:
            depth_mode: 'NONE' # Matches the ZED SDK setting: 'NONE', 'PERFORMANCE', 'QUALITY', 'ULTRA', 'NEURAL' - Note: if 'NONE' all the modules that requires depth extraction are disabled by default (Pos. Tracking, Obj. Detection, Mapping, ...)
            min_depth: 0.2 # Min: 0.2, Max: 3.0
            max_depth: 10.0 # Max: 40.0
            depth_stabilization: 1 # Forces positional tracking to start if major than 0 - Range: [0,100]
            openni_depth_mode: false # 'false': 32bit float [meters], 'true': 16bit unsigned int [millimeters]
            point_cloud_freq: 10.0 # [DYNAMIC] - frequency of the pointcloud publishing (equal or less to `grab_frame_rate` value)
            depth_confidence: 50 # [DYNAMIC]
            depth_texture_conf: 100 # [DYNAMIC]
            remove_saturated_areas: true # [DYNAMIC]
            qos_history: 1 # '1': KEEP_LAST - '2': KEEP_ALL
            qos_depth: 1 # Queue size if using KEEP_LAST
            qos_reliability: 1 # '1': RELIABLE - '2': BEST_EFFORT -
            qos_durability: 2 # '1': TRANSIENT_LOCAL - '2': VOLATILE

        pos_tracking:
            pos_tracking_enabled: false # True to enable positional tracking from start
            imu_fusion: true # enable/disable IMU fusion. When set to false, only the optical odometry will be used.
            publish_tf: true # [usually overwritten by launch file] publish `odom -> base_link` TF
            publish_map_tf: true # [usually overwritten by launch file] publish `map -> odom` TF
            publish_imu_tf: true # [usually overwritten by launch file] enable/disable the IMU TF broadcasting
            base_frame: "base_link" # usually overwritten by launch file
            map_frame: "map"
            odometry_frame: "odom"
            area_memory_db_path: ""
            area_memory: true # Enable to detect loop closure
            depth_min_range: 0.0 # Set this value for removing fixed zones of the robot in the FoV of the camerafrom the visual odometry evaluation
            set_as_static: false # If 'true' the camera will be static and not move in the environment
            set_gravity_as_origin: true # If 'true' align the positional tracking world to imu gravity measurement. Keep the yaw from the user initial pose.
            floor_alignment: false # Enable to automatically calculate camera/floor offset
            initial_base_pose: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0] # Initial position of the `base_frame` in the map -> [X, Y, Z, R, P, Y]
            init_odom_with_first_valid_pose: true # Enable to initialize the odometry with the first valid pose
            path_pub_rate: 2.0 # [DYNAMIC] - Camera trajectory publishing frequency
            path_max_count: -1 # use '-1' for unlimited path size
            two_d_mode: false # Force navigation on a plane. If true the Z value will be fixed to "fixed_z_value", roll and pitch to zero
            fixed_z_value: 0.00 # Value to be used for Z coordinate if `two_d_mode` is true
            transform_time_offset: 0.0 # The value added to the timestamp of `map->odom` and `odom->base_link`` transform being generated
            qos_history: 1 # '1': KEEP_LAST - '2': KEEP_ALL
            qos_depth: 1 # Queue size if using KEEP_LAST
            qos_reliability: 1 # '1': RELIABLE - '2': BEST_EFFORT
            qos_durability: 2 # '1': TRANSIENT_LOCAL - '2': VOLATILE

        gnss_fusion:
            gnss_fusion_enabled: false # fuse 'sensor_msg/NavSatFix' message information into pose data
            gnss_fix_topic: "/gps/fix" # Name of the GNSS topic of type NavSatFix to subscribe [Default: "/gps/fix"]
            gnss_init_distance: 5.0 # The minimum distance traveled by the robot required to initilize the GNSS fusion
            gnss_zero_altitude: false # Set to `true` to ignore GNSS altitude information
            gnss_frame: "gnss_link" # [usually overwritten by launch file] The TF frame of the GNSS sensor
            publish_utm_tf: true # Publish `utm` -> `map` TF
            broadcast_utm_transform_as_parent_frame: false # if 'true' publish `utm` -> `map` TF, otherwise `map` -> `utm`

        mapping:
            mapping_enabled: false # True to enable mapping and fused point cloud pubblication
            resolution: 0.05 # maps resolution in meters [min: 0.01f - max: 0.2f]
            max_mapping_range: 5.0 # maximum depth range while mapping in meters (-1 for automatic calculation) [2.0, 20.0]
            fused_pointcloud_freq: 1.0 # frequency of the publishing of the fused colored point cloud
            clicked_point_topic: '/clicked_point' # Topic published by Rviz when a point of the cloud is clicked. Used for plane detection
            pd_max_distance_threshold: 0.15 # Plane detection: controls the spread of plane by checking the position difference.
            pd_normal_similarity_threshold:  15.0 # Plane detection: controls the spread of plane by checking the angle difference.
            qos_history: 1 # '1': KEEP_LAST - '2': KEEP_ALL
            qos_depth: 1 # Queue size if using KEEP_LAST
            qos_reliability: 1 # '1': RELIABLE - '2': BEST_EFFORT -
            qos_durability: 2 # '1': TRANSIENT_LOCAL - '2': VOLATILE

        sensors:
            sensors_image_sync: false # Synchronize Sensors messages with latest published video/depth message
            sensors_pub_rate: 200.0 # frequency of publishing of sensors data. MAX: 400. - MIN: grab rate
            qos_history: 1 # '1': KEEP_LAST - '2': KEEP_ALL
            qos_depth: 1 # Queue size if using KEEP_LAST
            qos_reliability: 2 # '1': RELIABLE - '2': BEST_EFFORT -
            qos_durability: 2 # '1': TRANSIENT_LOCAL - '2': VOLATILE

        object_detection:
            od_enabled: false # True to enable Object Detection
            model: 'MULTI_CLASS_BOX_MEDIUM' # 'MULTI_CLASS_BOX_FAST', 'MULTI_CLASS_BOX_MEDIUM', 'MULTI_CLASS_BOX_ACCURATE', 'PERSON_HEAD_BOX_FAST', 'PERSON_HEAD_BOX_ACCURATE'
            allow_reduced_precision_inference: true # Allow inference to run at a lower precision to improve runtime and memory usage
            max_range: 20.0 # [m] Defines a upper depth range for detections
            confidence_threshold: 50.0 # [DYNAMIC] - Minimum value of the detection confidence of an object [0,99]
            prediction_timeout: 0.5 # During this time [sec], the object will have OK state even if it is not detected. Set this parameter to 0 to disable SDK predictions
            filtering_mode: 1 # '0': NONE - '1': NMS3D - '2': NMS3D_PER_CLASS
            mc_people: false # [DYNAMIC] - Enable/disable the detection of persons for 'MULTI_CLASS_X' models
            mc_vehicle: true # [DYNAMIC] - Enable/disable the detection of vehicles for 'MULTI_CLASS_X' models
            mc_bag: true # [DYNAMIC] - Enable/disable the detection of bags for 'MULTI_CLASS_X' models
            mc_animal: true # [DYNAMIC] - Enable/disable the detection of animals for 'MULTI_CLASS_X' models
            mc_electronics: true # [DYNAMIC] - Enable/disable the detection of electronic devices for 'MULTI_CLASS_X' models
            mc_fruit_vegetable: true # [DYNAMIC] - Enable/disable the detection of fruits and vegetables for 'MULTI_CLASS_X' models
            mc_sport: true # [DYNAMIC] - Enable/disable the detection of sport-related objects for 'MULTI_CLASS_X' models
            qos_history: 1 # '1': KEEP_LAST - '2': KEEP_ALL
            qos_depth: 1 # Queue size if using KEEP_LAST
            qos_reliability: 1 # '1': RELIABLE - '2': BEST_EFFORT
            qos_durability: 2 # '1': TRANSIENT_LOCAL - '2': VOLATILE

        body_tracking:
            bt_enabled: false # True to enable Body Tracking
            model: 'HUMAN_BODY_MEDIUM' # 'HUMAN_BODY_FAST', 'HUMAN_BODY_MEDIUM', 'HUMAN_BODY_ACCURATE'
            body_format: 'BODY_38' # 'BODY_18','BODY_34','BODY_38','BODY_70'
            allow_reduced_precision_inference: false # Allow inference to run at a lower precision to improve runtime and memory usage
            max_range: 20.0 # [m] Defines a upper depth range for detections
            body_kp_selection: 'FULL' # 'FULL', 'UPPER_BODY'
            enable_body_fitting: false # Defines if the body fitting will be applied
            enable_tracking: true # Defines if the object detection will track objects across images flow
            prediction_timeout_s: 0.5 # During this time [sec], the skeleton will have OK state even if it is not detected. Set this parameter to 0 to disable SDK predictions
            confidence_threshold: 50.0 # [DYNAMIC] - Minimum value of the detection confidence of skeleton key points [0,99]
            minimum_keypoints_threshold: 5 # [DYNAMIC] - Minimum number of skeleton key points to be detected for a valid skeleton
            qos_history: 1 # '1': KEEP_LAST - '2': KEEP_ALL
            qos_depth: 1 # Queue size if using KEEP_LAST
            qos_reliability: 1 # '1': RELIABLE - '2': BEST_EFFORT
            qos_durability: 2 # '1': TRANSIENT_LOCAL - '2': VOLATILE

        advanced: # WARNING: do not modify unless you are confident of what you are doing
        # Reference documentation: https://man7.org/linux/man-pages/man7/sched.7.html
            thread_sched_policy: 'SCHED_BATCH' # 'SCHED_OTHER', 'SCHED_BATCH', 'SCHED_FIFO', 'SCHED_RR' - NOTE: 'SCHED_FIFO' and 'SCHED_RR' require 'sudo'
            thread_grab_priority: 50 # ONLY with 'SCHED_FIFO' and 'SCHED_RR' - [1 (LOW) z-> 99 (HIGH)] - NOTE: 'sudo' required
            thread_sensor_priority: 70 # ONLY with 'SCHED_FIFO' and 'SCHED_RR' - [1 (LOW) z-> 99 (HIGH)] - NOTE: 'sudo' required
            thread_pointcloud_priority: 60 # ONLY with 'SCHED_FIFO' and 'SCHED_RR' - [1 (LOW) z-> 99 (HIGH)] - NOTE: 'sudo' required

        debug:
            debug_common: false
            debug_sim: false
            debug_video_depth: false
            debug_camera_controls: false
            debug_point_cloud: false
            debug_positional_tracking: false
            debug_gnss: false
            debug_sensors: true
            debug_mapping : false
            debug_terrain_mapping : false
            debug_object_detection : false
            debug_body_tracking : false
            debug_advanced: false

Expected Result
I expect that setting a 400Hz rate in the config would make the IMU publish at a constant rate of 400Hz.
Actual Result
It seems to skip a publish once in a while causing it to, half the time, take twice as long to publish. Here is the debug log displaying this inconsistency. Sometimes we get No new sensors data and this makes it skip the publish.
[zed_wrapper-1] [DEBUG] [1724178672.084237995] [zed_node]: Sensors thread started
[zed_wrapper-1] [DEBUG] [1724178672.084344620] [zed_node]: Sensors callback: counting subscribers
[zed_wrapper-1] [DEBUG] [1724178672.084506574] [zed_node]: Sensors callback: Grab data and setup timestamps
[zed_wrapper-1] [DEBUG] [1724178672.084604879] [zed_node]: SENSOR LAST PERIOD: 1.72418e+09 sec @5.79986e-10 Hz
[zed_wrapper-1] [DEBUG] [1724178672.084633264] [zed_node]: IMU MEAN freq: 0.168853
[zed_wrapper-1] [DEBUG] [1724178672.084822354] [zed_node]: Sensors callback: counting subscribers
[zed_wrapper-1] [DEBUG] [1724178672.085608316] [zed_node]: SENSOR LAST PERIOD: 0.00242424 sec @412.5 Hz
[zed_wrapper-1] [DEBUG] [1724178672.085641052] [zed_node]: IMU MEAN freq: 0.337648
[zed_wrapper-1] [DEBUG] [1724178672.087384050] [zed_node]: Sensors callback: counting subscribers
[zed_wrapper-1] [DEBUG] [1724178672.087440114] [zed_node]: SENSOR LAST PERIOD: 0.00242376 sec @412.582 Hz
[zed_wrapper-1] [DEBUG] [1724178672.087465139] [zed_node]: IMU MEAN freq: 0.506316
[zed_wrapper-1] [DEBUG] [1724178672.089953937] [zed_node]: Sensors callback: counting subscribers
[zed_wrapper-1] [DEBUG] [1724178672.090048915] [zed_node]: SENSOR LAST PERIOD: 0.002424 sec @412.541 Hz
[zed_wrapper-1] [DEBUG] [1724178672.090074323] [zed_node]: IMU MEAN freq: 0.674791
[zed_wrapper-1] [DEBUG] [1724178672.092528273] [zed_node]: Sensors callback: counting subscribers
[zed_wrapper-1] [DEBUG] [1724178672.092626290] [zed_node]: No new sensors data
[zed_wrapper-1] [DEBUG] [1724178672.095229234] [zed_node]: Sensors callback: counting subscribers
[zed_wrapper-1] [DEBUG] [1724178672.095284051] [zed_node]: No new sensors data
[zed_wrapper-1] [DEBUG] [1724178672.097816370] [zed_node]: Sensors callback: counting subscribers
[zed_wrapper-1] [DEBUG] [1724178672.097901715] [zed_node]: No new sensors data
[zed_wrapper-1] [DEBUG] [1724178672.100903448] [zed_node]: Sensors callback: counting subscribers
[zed_wrapper-1] [DEBUG] [1724178672.103669850] [zed_node]: SENSOR LAST PERIOD: 0.0114801 sec @87.1073 Hz
[zed_wrapper-1] [DEBUG] [1724178672.104361475] [zed_node]: IMU MEAN freq: 0.841477
[zed_wrapper-1] [DEBUG] [1724178672.105308974] [zed_node]: Sensors callback: counting subscribers
[zed_wrapper-1] [DEBUG] [1724178672.105394927] [zed_node]: SENSOR LAST PERIOD: 0.00287008 sec @348.422 Hz
[zed_wrapper-1] [DEBUG] [1724178672.105417840] [zed_node]: IMU MEAN freq: 1.00957
[zed_wrapper-1] [DEBUG] [1724178672.108717080] [zed_node]: Sensors callback: counting subscribers
[zed_wrapper-1] [DEBUG] [1724178672.108926427] [zed_node]: SENSOR LAST PERIOD: 0.00286984 sec @348.451 Hz
[zed_wrapper-1] [DEBUG] [1724178672.108959259] [zed_node]: IMU MEAN freq: 1.17714
[zed_wrapper-1] [DEBUG] [1724178672.111282712] [zed_node]: Sensors callback: counting subscribers
[zed_wrapper-1] [DEBUG] [1724178672.111355897] [zed_node]: No new sensors data
[zed_wrapper-1] [DEBUG] [1724178672.113834935] [zed_node]: Sensors callback: counting subscribers
[zed_wrapper-1] [DEBUG] [1724178672.113878648] [zed_node]: No new sensors data
[zed_wrapper-1] [DEBUG] [1724178672.116392247] [zed_node]: Sensors callback: counting subscribers
[zed_wrapper-1] [DEBUG] [1724178672.116467512] [zed_node]: SENSOR LAST PERIOD: 0.00528216 sec @189.316 Hz
[zed_wrapper-1] [DEBUG] [1724178672.116493400] [zed_node]: IMU MEAN freq: 1.3436
[zed_wrapper-1] [DEBUG] [1724178672.118946742] [zed_node]: Sensors callback: counting subscribers
[zed_wrapper-1] [DEBUG] [1724178672.119040535] [zed_node]: SENSOR LAST PERIOD: 0.00528169 sec @189.333 Hz
[zed_wrapper-1] [DEBUG] [1724178672.119067448] [zed_node]: IMU MEAN freq: 1.51089
[zed_wrapper-1] [DEBUG] [1724178672.121854714] [zed_node]: Sensors callback: counting subscribers
[zed_wrapper-1] [DEBUG] [1724178672.122002556] [zed_node]: SENSOR LAST PERIOD: 0.00528216 sec @189.316 Hz
[zed_wrapper-1] [DEBUG] [1724178672.122034140] [zed_node]: IMU MEAN freq: 1.67793
[zed_wrapper-1] [DEBUG] [1724178672.124409850] [zed_node]: Sensors callback: counting subscribers
[zed_wrapper-1] [DEBUG] [1724178672.124497307] [zed_node]: No new sensors data
[zed_wrapper-1] [DEBUG] [1724178672.126965145] [zed_node]: Sensors callback: counting subscribers
[zed_wrapper-1] [DEBUG] [1724178672.127037146] [zed_node]: No new sensors data
[zed_wrapper-1] [DEBUG] [1724178672.129582969] [zed_node]: Sensors callback: counting subscribers
[zed_wrapper-1] [DEBUG] [1724178672.129719547] [zed_node]: No new sensors data
[zed_wrapper-1] [DEBUG] [1724178672.132140601] [zed_node]: Sensors callback: counting subscribers
[zed_wrapper-1] [DEBUG] [1724178672.132246394] [zed_node]: SENSOR LAST PERIOD: 0.00487018 sec @205.331 Hz

ZED Camera model
ZED
Environment
Nvidia Jetson AGX Orin
ZED SDK : Humble-v4.0.8
ROS2 Foxy
Jetpack 5.1.3

Anything else?
No response

Hey, can we please have a response on this issue? Is the uncertainty on the rate data rate an internal characteristic of the camera, or is it related to this driver?

This will be fixed at the SDK level with the release v4.2

Nice! Do you have a release date for the new SDK version?

It's imminent


updated pilosa badge to 0.3.2

Coverage remained the same at 100.0% when pulling<PHONE_NUMBER>1d6b854e9f3edc6b561d13a58b3fc6 on yuce:next-v0.3.3 into cfda07ca06d3f57c055557c7cfc952ffffdcbe85 on pilosa:master.


What's a good way to cast results of a subscription in SwiftUI to a desired output type?

So I might just have tunnel vision and can't see an obvious solution to this problem, but some help with this would be much appreciated.
I have some state that I can either represent by a nil when not active or by a blank struct that implements a common protocol or maybe even a enum
example:
protocol ActiveBookState {}
struct NoActiveBookState : ActiveBookState {}
struct ActiveBook: ActiveBookState {
    var some properties
}

Then in my app I use the subscriber paradime shown in #455. So In my view I do something like this:
@ObservedObject var activeBookState: Subscriber<ActiveBookState> = Subscriber(store)  { $0.select {$0.activeBookState } }

So I'm wondering if there's a way to cast that output to ActiveBook and skip any results that are not that type so as to not cause an exception? Or if this is a bad approach could someone point me in a better direction for how to handle this type of situation?
in my SwiftUI I'm trying to something like this:
 NavigationLink("Now Playing", destination: PlayerView(activeBook: activeBookState))
                        .navigationBarHidden(false)
                        .disabled(activeBookState.value is NoActiveBookState)

because this button is disabled when the sate is NoActiveBookState it should be impossible for the passed in
Subscriber to ever be that state so we should be able to cast it to ActiveBook right?

If ActiveBookState doesn't delare a lot of properties that all conforming types have to implement, and for which the protocol creates a useful abstraction, I'd start with an enum instead.
As for the subscription:
@ObservedObject var activeBookState: Subscriber<ActiveBookState>
    = Subscriber(store)  { $0.select { $0.activeBookState } }

This looks fine if you're interested in the general type (or the enum itself.
For the binding, I'd introduce (derived) view model data:
.disabled(activeBookStateIsActive)

and then
or, cheekily, in a private extension to your UI component for convenience:
extension TheSwiftUIView {
  fileprivate var activeBookStateIsActive: Bool { activeBookstate.value is ActiveBook }
}

With an enum, these things would flow a bit more naturally. I'm personally not a fan of boolean type checks. If that's used, it can probably also be modeled as a property of the receiving object instead, too, e.g.:
protocol ActiveBookState {
  var isActive: Bool { get }
}
struct NoActiveBookState : ActiveBookState {
    var isActive: Bool { false }
}
struct ActiveBook: ActiveBookState {
    var isActive: Bool { true }
    // other props
}

The type names and the property in combination sound super weird, though :) I'd try to come up with something else to be honest that expresses the different kinds better

@DivineDominion This is fantastic! Thank you so much for your comprehensive writeup. I'm going to try out your suggestions. I was leaning towards using an enum but was not sure if that was standard practice or not. I'm a bit new to Swift and iOS so excuse my ignorance. I typically live in Android land.

@alexwhb Swift enums are pretty powerful but also weird at first. Your sample code's types looked similar to the Result or Optional type to me, so that's why I suggested using an enum. When a type hierarchy makes more sense, by all means use that :)


Revert "Upgrade surefire to 2.20.1"

Reverts vespa-engine/vespa#3631
Seems to leak into production builds, which fail due to tests not being run

👍  ;)


File - hide the path of the document

Instead of showing the path of the file in the File panel, show it when users hover on the file's name.

commented out the path in mc tree header file


Project administration trickeries

A user may remove herself from a project. This might be a feature. She after that may re-add herself to the project, which should be disallowed, as she is no longer part of the project. It looks as if the removal is not effective until she logs out of it.

Fixed with PR #234 from @tbuss93


add github-action ci/cd

[ ] github-action

[ ] test back and front on pull request
[ ] build back and push to registry (?) or if to small - to docker hub
[ ] build front and push to registry
[ ] form registry push latest to heroku

#5

Deploying with Docker on heroku
Building Docker Images with heroku.yml
Container Registry & Runtime Docker Deploys

Can I deploy MongoDB on Heroku?
How to deploy MongoDB on Heroku


Minor cleanup in log.c

Implement sway_log_errno using _sway_log to reduce code duplication. I'm not sure how you feel about adding additional headers (string.h and errno.h) to include/log.h. Tested by temporarily adding a call to sway_log_errno in main() and ensured that the log output was the same as before the change.

No thanks. I have a policy against implementing things with macros unless it's absolutely necessary.

Perhaps take the second patch?

I suppose, in a seperate PR please.


Some questions ...

I try to understand the code. ;)
I didn't know that's possible mix OpenMPI and OpenMP code. ;) I have two NUC MiniPC. Each with Intel i5-8259U. Means 4C/8T. Sounds good. I installed only Ubutu server on both NUCs. In this case I'm testing the parallel-no-gui version.
I'm not using your start script. My start parameters are:
mpirun --use-hwthread-cpus --mca btl tcp,self --mca btl_tcp_if_include eno1 --hostfile host_file ...
--use-hwthread-cpus -> I will use each cpu thread
--mca btl tcp,self --mca btl_tcp_if_include eno1 -> cause I have other interfaces, OpenMPI should use eno1 with TCP
In host_file are the both NUCs.
For better reading:
start_part = mpirun --use-hwthread-cpus --mca btl tcp,self --mca btl_tcp_if_include eno1 --hostfile host_file
Now the results:
$ start_part -np 16 ./Wator.out 1000 100 1
Dimension: 1000 Iterations: 100 MPI processes: 16 OpenMP threads: 1 execution time: 5.724459
$ start_part -np 16 ./Wator.out 1000 10 1
Dimension: 1000 Iterations: 10 MPI processes: 16 OpenMP threads: 1 execution time: 0.626058
$ start_part -np 16 ./Wator.out 1000 10 2
Dimension: 1000 Iterations: 10 MPI processes: 16 OpenMP threads: 2 execution time: 4.975337
$ start_part -np 8 ./Wator.out 1000 10 2
Dimension: 1000 Iterations: 10 MPI processes: 8 OpenMP threads: 2 execution time: 4.412533
$ start_part -np 16 ./Wator.out 1000 50 1
Dimension: 1000 Iterations: 50 MPI processes: 16 OpenMP threads: 1 execution time: 2.940826
$ start_part -np 16 ./Wator.out 1000 100 1
Dimension: 1000 Iterations: 100 MPI processes: 16 OpenMP threads: 1 execution time: 5.767414
$ start_part -np 16 ./Wator.out 1000 200 1
Dimension: 1000 Iterations: 200 MPI processes: 16 OpenMP threads: 1 execution time: 11.562824
$ start_part -np 16 ./Wator.out 1000 300 1
Dimension: 1000 Iterations: 300 MPI processes: 16 OpenMP threads: 1 execution time: 17.423063

You can see, that when I start Wator on 16 OpenMPI Threads it's is faster with OpenMP-Thread=1:
$ start_part -np 16 ./Wator.out 1000 10 1
Dimension: 1000 Iterations: 10 MPI processes: 16 OpenMP threads: 1 execution time: 0.626058
$ start_part -np 16 ./Wator.out 1000 10 2
Dimension: 1000 Iterations: 10 MPI processes: 16 OpenMP threads: 2 execution time: 4.975337

And there is other problem. When I set OpenMP-Threads = 2 OpenMP is starting on every NUC 8 Threds. One for every CPU Thread.

Now I can do this: export OMP_NUM_THREADS=1. But this works only on the master NUC. Here with OpenMP-Threads = 2
mpirun ... -np 16 ./Wator.out 1000 300 2

And with too much OpenMP threads the application slows down.

Is the code working correctly when I use both computers? I see, that's slower.

Here results when I run it on both NUCs:
$ mpirun ... --npernode 2 --np 4 ./Wator.out 1000 1000 1 -> on each NUC 2 Threads
Dimension: 1000 Iterations: 1000 MPI processes: 4 OpenMP threads: 1 execution time: 74.708360
$ mpirun ... --npernode 3 --np 6 ./Wator.out 1000 1000 1 -> on each NUC 3 Threads
Dimension: 1000 Iterations: 1000 MPI processes: 6 OpenMP threads: 1 execution time: 72.989487
$ mpirun ... --npernode 4 --np 8 ./Wator.out 1000 1000 1 -> on each NUC 4 Threads
Dimension: 1000 Iterations: 1000 MPI processes: 8 OpenMP threads: 1 execution time: 70.067852
$ mpirun ... --npernode 8 --np 16 ./Wator.out 1000 1000 1 -> on each NUC 8 Threads
Dimension: 1000 Iterations: 1000 MPI processes: 16 OpenMP threads: 1 execution time: 57.654790

Here results when I run it only on one NUC:
$ mpirun ... --np 2 ./Wator.out 1000 1000 1 -> on one NUC 2 Threads
Dimension: 1000 Iterations: 1000 MPI processes: 2 OpenMP threads: 1 execution time: 35.135446
$ mpirun ... --np 4 ./Wator.out 1000 1000 1 -> on one NUC 4 Threads
Dimension: 1000 Iterations: 1000 MPI processes: 4 OpenMP threads: 1 execution time: 14.892726
$ mpirun ... --np 6 ./Wator.out 1000 1000 1 -> on one NUC 6 Threads
Dimension: 1000 Iterations: 1000 MPI processes: 6 OpenMP threads: 1 execution time: 15.576039
$ mpirun ... --np 8 ./Wator.out 1000 1000 1 -> on one NUC 8 Threads
Dimension: 1000 Iterations: 1000 MPI processes: 8 OpenMP threads: 1 execution time: 13.424243

I'm not understanding why the runtime is so slow when I run it on both NUCs.

Hi somera! Thanks for stopping by.
Bear in mind, I didn't touch this code since June because I was too busy. In the future, when I'll have some spare time, I'll try to work on this but I can't guarantee anything.
Concerning the problem with performance decrease with more OpenMP Threads, this is a known issue and one I couldn't solve: possible causes are

the way the two libraries interact (they have different memory models);
the execution script (I have no way to repeat your tests in a similar environment at the moment, so I can't guarantee there's something wrong with how it handles OpenMP);
the OpenMP setup in a multi-machine environment (which I haven't considered in the past due to limited hardware resources, and which may be the cause for the anomalies you've found).

Last, I already know that the implementation suffers from a considerable bottleneck with may actually worsen on machines with different memories: the matrix underlying the calculations is fully communicated to each slave, instead of being maintained only in the master, and each slave receiving only the section it needs for calculations, as it should.
If and when I'll have the time to solve this error in the implementation, I'll guess timings could change considerably.
I'm sorry I'm not being of help here, but unfortunately I'll be really busy for the next weeks, and I can't dedicate time on this.
If you find something useful, or happen to solve some of the problems above, feel free to collaborate.
Regards,
Dygwah

Hi Dygwah, thy for the response.
I'm at te moment busy too. But when I have some time I try do understand the code mix. Or I try to rewrite it to use only Open-MPI.
Regards,
Rafal


Zero pad 1D data format parameter

Add data_format parameter to ZeroPadding1D. Parameter is available for 2D and 3D layers.
Fix #19984

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

Project coverage is 57.52%. Comparing base (f6a81cc) to head (ab70394).

:exclamation:  There is a different number of reports uploaded between BASE (f6a81cc) and HEAD (ab70394). Click for more details.
HEAD has 6 uploads less than BASE

Flag
BASE (f6a81cc)
HEAD (ab70394)

keras
4
1

keras-torch
1
0

keras-tensorflow
1
0

keras-jax
1
0

Additional details and impacted files
@@             Coverage Diff             @@
##           master   #20041       +/-   ##
===========================================
- Coverage   79.26%   57.52%   -21.75%
===========================================
  Files         501      501
  Lines       46915    46920        +5
  Branches     8647     8648        +1
===========================================
- Hits        37189    26989    -10200
- Misses       7981    18254    +10273
+ Partials     1745     1677       -68

Flag
Coverage Δ

keras
57.52% <100.00%> (-21.61%)
:arrow_down:

keras-jax
?

keras-numpy
57.52% <100.00%> (+<0.01%)
:arrow_up:

keras-tensorflow
?

keras-torch
?

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Some tiles not drawn when panning map with SVG filter

I'm using latest release Leaflet 1.3.3 on Chrome/Electron on Mac/Windows/Linux. This only seems to happen on Chrome (not Firefox or Safari).
If I have an SVG filter applied to a leaflet-tile-pane (i.e. TileLayer), not all tiles are drawn when panning/zooming the map. Zooming out on this example does it pretty consistently for me:
https://jsfiddle.net/gqbu8jwo/10/
As soon as I drag the map just a hair the tiles pop in.
If I move the SVG filter to leaflet-tile-container instead, the problem goes away, and the brightness changes (Huh?).
Is there a recommended way of applying filters to TileLayers?

I can only see some glitching during the zoom animations. And I'm gonna guess this is going to be nigh-impossible to debug properly, as it's browser-dependant and only shows during animations.
I'd say you might want to look at https://gitlab.com/IvanSanchez/Leaflet.TileLayer.GL , if you're comfortable with WebGL (also, https://thebookofshaders.com/). Look at the hue rotation example in particular. It's a bit more work on your part, but the behaviour is more consistent across browsers AFAIK.

Thanks for the quick response.
Interesting that you're not seeing it. I've seen it on multiple machines and OS's; I wonder what could be different (...network load timing? It seems to occur more often on non-cached tiles). If I repeatedly zoom out on that example, I am bound to see tiles that aren't drawn. Now that I'm inspecting it, I had assumed it was individual tiles not showing - but it seems to be regions of the map independent of tiles. Odd.
As far as during the animation, maybe your eyes are better than mine because I'm not seeing anything unusual. Or we're just seeing different things.
I found that toggling any style in the dev console causes the missing areas to draw. It seems there is a long and storied history of telling Chrome 'no really, please repaint': https://stackoverflow.com/questions/3485365/how-can-i-force-webkit-to-redraw-repaint-to-propagate-style-changes. So I have a workaround: toggling a style property on the layer when load() is fired. Strange, but seems to work.
GL is intriguing for us in the future, but probably out of scope for us in addressing this relatively minor nuisance of a bug.

OK, so if you have a workaround, I'll be closing this then.


QD-44 people of crypto smartcontract and personalization

Description
Jira issues:

QD-44
QD-59

Note: the collection stress tests are commented out as in the case of the Snoop Raffle, as these have to be migrated.
The regular raffle flow includes following phases:

whitelist sale
public sale
reveal

We're adding an extra phase for tweaking a few metadata fields before reveal: personalization
This feature implies a few adaptations on the smart contract, raffle middleware/client and backend API. At the smartcontract level, this means that:

a new operation personalize(tokenId, signature, bitmap personalizationMask) that stores into a map(tokenId x bitmap personalizationMask) the information, if the wallet calling the operation is the owner of the tokenId. Signature should be calculated similar to the current mint operation signature and includes the rest of the method parameters (walletId, tokenId, personalizationMask).

This operation will emit also a custom Event that we ll listen for from the backend side.

On the backend side, we'll have a custom blockchain listener - once we receive the custom event, we'll trigger the avatar regeneration process, update caches etc.

Decision
Reason for the decision

Why use signature in the personalization call?
To ensure the call for personalization is done from TSB raffle personalization page only. It can give us control into deciding who is allowed to personalize, eg by using a whitelist.

How is the bitmap personalization mask calculated?
The formula/algorithm is specifically tweaked for the collection’s personalizable traits.We ll simplify that in a 256 uint there can be a maximum of 32 traits personalized each with max 2^8=256 values.The trait order is important to be locked, we can chose an alphabetic sorting of the traits.

Checklist:

[x] Pull Request references Jira issue
[x] Pull Request applies to a single purpose
[x] I've added comments to my code where needed
[x] I've updated any relevant docs
[x] I've added tests to show that my changes achieve the desired results
[x] I've reviewed my code
[x] I've followed established naming conventions and formatting
[x] I've generated a coverage report and included a screenshot
[x] All tests are passing locally

LGTM!


Support Decoding Block GZIP?

Hi,
I've noticed that when trying to use the gzip decoder to decode bgzip, the decoder will work up to the first block end, then return rather than reading to the end. See the example below, but I'm curious what the stance of this library is for support decoding bgzip files?
The compression is nothing more than concatenated gzip blocks and thought to be compatible for decompression (e.g. gzcat works), but there's edge cases (e.g. like this library).
I'd be happy to take a look unless, but I didn't want to implement something here (vs higher up the stack) if there were other thoughts. Thanks!
Example:
If I make an example.bgz (e.g. just a text file that's a 1mb or so), then use it with this code, the length is only the first block... Decompressed data length: 65277.
use async_compression::tokio::bufread::GzipDecoder;
use tokio::fs::File;
use tokio::io::{self, AsyncReadExt, BufReader};

#[tokio::main]
async fn main() -> io::Result<()> {
    println!("Starting decompression...");

    // Open the file
    let file = File::open("example.bgz").await?;
    let reader = BufReader::new(file);

    // Create a Gzip decoder
    let mut decoder = GzipDecoder::new(reader);

    // Prepare a buffer to store decompressed data
    let mut decompressed_data = Vec::new();

    // Read and decompress the data
    decoder.read_to_end(&mut decompressed_data).await?;

    // Get the length of the decompressed data
    let len = decompressed_data.len();

    // Print the length of the decompressed data
    println!("Decompressed data length: {}", len);

    // Print the last 100 bytes of the decompressed data under a lossy UTF-8 encoding
    println!(
        "Decompressed data: {:?}",
        String::from_utf8_lossy(&decompressed_data[len - 100..])
    );

    Ok(())
}

There's a flag to enable this behavior on all decoders: https://docs.rs/async-compression/latest/async_compression/tokio/bufread/struct.GzipDecoder.html#method.multiple_members

That's great, I'll close this and work my way up then. Thanks!


Use tmNoRefs if sources aren't relevant for a TM

I noticed your comments in TheoryModels.hs:
https://github.com/balacij/Drasil/blob/a80ca2444bb6b35251ab9d1a019f83c96c6906a4/code/drasil-example/bmbnd/lib/Drasil/BmBnd/TheoryModels.hs#L21
Note that you don't need a source if you use the tmNoRefs constructor. This implementation forces the user to explicitly decide if they want to include a source instead of naively passing in an empty list to just try to get a minimal viable product and potentially leave a TM unsourced.
(Feel free to either use tmNoRefs or keep your current "placeholder" sources; this just seemed like the best way to let you know lol)

Ah, thank you! I found it a bit odd that the restriction for having a 'source'/'ref' was required for one smart constructor but not for the other, even when they're both expected to give us TheoryModels in the end!


Provide Object factories to use on unmarshalling [moved]

This is Issue 813 moved from a Google Code project.
Added by 2012-05-04T07:52:11.000Z by<EMAIL_ADDRESS>Please review that bug for more context and additional comments, but update this bug.
Original labels: Type-Enhancement, Priority-Low, v1.3.0
Original description
OrientDB requires some constraints to POJO to be unmarshalled. For example they must have an empty constructor. If we would support pluggable factories, the use could specify it to instantiate them.

Not relevant anymore. Closing it.


Update README.md

This is useful information but I'm afraid it's not relevant to this project in particular. The steps to contributing are the same for any GitHub repository and can be easily found with a Google search. Thanks though!


Not compatible with docker networks

Hey,
I tested your docker-compose file and it's not working with docker networks
I get repetitively the following error :
mattermost_1  | nc: getaddrinfo: Name or service not known.
Here is my docker-compose.yml if you need more information let me know.
version: '2'
services:
  db:
    build: db
    volumes:
    - ./volumes/db/var/lib/postgresql/data:/var/lib/postgresql/data
    - /etc/localtime:/etc/localtime:ro
  mattermost:
    build: app
    links:
      - db:db
    networks:
      - nginx
    volumes:
      - ./volumes/app/mattermost/config:/mattermost/config:rw
      - ./volumes/app/mattermost/data:/mattermost/data:rw
      - /etc/localtime:/etc/localtime:ro
networks:
  nginx:
    external: true

All services should be attached to the same network to communicate each other. docker-compose will do that by default if you don't specify networks.

By default Compose sets up a single network for your app. Each container for a service joins the default network and is both reachable by other containers on that network, and discoverable by them at a hostname identical to the container name.
-- https://docs.docker.com/compose/networking/#networking-in-compose

I think you should add a network and attach all services to the network.

Oh yeah. You are right I forget to add it sorry for the trouble.


Minor Feature Request - Add a setting for let 'createChatForEffect' work with external custom convenient AE

Is your feature request related to a problem? Please describe.
I want to print on chat my add/remove custom effect i have created with external code/macro, but they are not printed on the chat because they are not included on  the 'game.dfreds.effects.all'  variable.
it's possible to add for example a settings for print on chat all effect with the 'isConvenient' flag set to 'true' even if they are not on the list?
Describe the solution you'd like
With a module setting set to 'true' on the code of the method  'createChatForEffect'  add this
    let effect = game.dfreds.effects.all.find(
      (effect) => effect.name == effectName
    );

     if(!effect && this._settings.chatPrintAllConvenient){
         effect = actor.effects.find(
                (activeEffect) => activeEffect.data.label == effectName && hasProperty(activeEffect.data, `flags.isConvenient`)
         );
     }

    if (!effect) return;

Describe alternatives you've considered
Additional context

This sounds like something someone brought up earlier today in the discord. Apparently, custom effects aren't being shown in the chat correctly. I'll fix that and see if that solution works


Basic login with developer access token

Basic login implemented with developer access token. To obtain one, you need to follow the steps in the README.
The login verifies the access token by connecting to the Wikimedia REST API (but we should move that logic into the api app!) and saving the access token and the username in the user's session.
I don't know if it's a good idea to create an user in the database, I don't think we need to do that and it saves a lot of overhead! I think other WMB apps also don't save users and just save the information in a session.

Here are some pics:
Logging in

Logged in

Invalid access token


In-place update for team_type fails with an invalid parameter when calling the API

The following update in-place item fails when the API call is being made:
note: identifying information is being masked here :)
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
  ~ update in-place

...

  ~ resource "aiven_account_team_project" "binding" {
        account_id   = "************"
        id           = "********/*********/example-project"
        project_name = "example-project"
        team_id      = "****************"
      ~ team_type    = "read_only" -> "developer"
    }

Plan: 0 to add, 1 to change, 0 to destroy.

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes

...

Error: 400: {"errors":[{"message":"Invalid input: Additional properties are not allowed ('project_name' was unexpected)","status":400}],"message":"Invalid input: Additional properties are not allowed ('project_name' was unexpected)"} -

I wasn't sure if this should be fixed in the provider or if this is actually an issue with the Aiven API itself.
Let me know if you need additional information.

It looks like a bug in the Aiven go client that we are using under the hood.


Update sqlite-jdbc to 3.46

JAR from https://github.com/xerial/sqlite-jdbc/releases/tag/<IP_ADDRESS>

@headius this is needed to be able to use newer SQLite features that are available in cruby from the sqlite3 gem

Great, thanks! We will merge and get a release out soon.

@enebo @kares maybe you can release this week while I'm traveling?

I will likely find time this week.  In process of packing/cleaning so it is just dependent on that.

Whoops.  I should have looked at the run results (which in turn is a problem with a pretty red CI) to notice this version of sqlite3 depends on slf4j-api + transitive deps.
https://github.com/xerial/sqlite-jdbc/commit/21c77a481f6970622b99d712d36d0336d63fd554
It appears since 3.28 a lot of deps have been added (although I am not sure how many are actually needed for runtime from this page): https://central.sonatype.com/artifact/org.xerial/sqlite-jdbc/<IP_ADDRESS>/dependencies
We probably need to vendor these but at the same time I expect we will see errors due to loading this in mixed environments.

this version of sqlite3 depends on slf4j-api + transitive deps

Ugh.

We probably need to vendor these

If it comes to that I think we'd rather start using jar-dependencies to fetch them, so we're not shipping our own copies of these jar files.
I will also make the case to xerial/sqlite-jdbc that adding these dependencies is a major nuisance.

It looks like this concern was already raised by two others: https://github.com/xerial/sqlite-jdbc/issues/1094
I have added some fuel to that fire.

Given this was reverted, is there another ticket now tracking the sqlite version update?

@segiddins I have poked the issue again, but have no idea if they'll be receptive.
@enebo We may be forced to fork the project just to remove the dependency. We'd continue to merge but have our own release that just removes slf4j. I don't want to do it any more than you do!

It looks like we'll be able to get this patched in sqlite-jdbc once we get a patch to them that makes the sl4fj dependency optional. 🎉
I've asked another interested party if they could modify their slf4j removal patch to make it optional instead. If they don't do it I will.

I have pushed xerial/sqlite-jdbc#1178 to make slf4j optional. Just need to get the maintainers to merge it and release now.

It looks like https://github.com/xerial/sqlite-jdbc/releases/tag/<IP_ADDRESS> has been released 🎉

make slf4j optional with fallback on JUL (b8ea5ca), closes https://github.com/xerial/sqlite-jdbc/issues/1094

https://github.com/xerial/sqlite-jdbc/issues/1094#issuecomment-2372687678

When https://github.com/jruby/activerecord-jdbc-adapter/pull/1158 looks good I'll merge and release.

jdbc-sqlite-<IP_ADDRESS> has been released!


Fix s3 prefix path truncations

Closes https://github.com/PrefectHQ/prefect-aws/issues/253
Checklist

[x] References any related issue by including "Closes #" or "Closes ".

If no issue exists and your change is not a small fix, please create an issue first.

[x] Includes tests or only affects documentation.
[x] Passes pre-commit checks.

Run pre-commit install && pre-commit run --all locally for formatting and linting.

[ ] Includes screenshots of documentation updates.

Run mkdocs serve view documentation locally.

[x] Summarizes PR's changes in CHANGELOG.md

Thanks for contributing!

@madkinsz / @desertaxle can one of you review/approve? I've addressed the review comments.


Factory::build should take times() into account

This generates, persists, and returns a collection of items:
Factory::times(42)->create(...);

Whereas this generates and returns only one item, ignoring the times() call:
Factory::times(42)->build(...);

For consistency and least astonishment, Factory::build should take times() into account. I can't think of any API/BC break, can you?
About implementation, beware: create iteratively calls persist, which in turn calls build, don't loop in another loop!

It appears to be a bit tricky to implement, as build is also called when persisting relations…
The problem is that we're using the same build method for both public and internal usage.
I think we should separate the concerns, by implementing a new internalBuild method. But it might break BC with people injecting some customized builder, though it should be a rare case.
Your opinion on this?

Just to point this out, Builder already has something similar: public attributesFor and protected getAttributes.


WFLY-9814 use release=8 when building on JDK9

do a workaround for using Unsafe in security subsystem
sync FastConcurrentDirectDeque with changes from ConcurrentLinkedDeque
fix code to not use private packages

Please make sure your PR meets the following requirements:

[x] Pull Request title is properly formatted: [WFLY-XYZ] Subject or WFLY-XYZ Subject
[x] Pull Request contains link to the JIRA issue(s)
[x] Pull Request contains description of the issue(s)
[x] Pull Request does not include fixes for issues other than the main ticket
[x] Attached commits represent units of work and are properly formatted

"[15:26:03][Step 2/3] [INFO] --- maven-checkstyle-plugin:2.17:checkstyle (check-style) @ wildfly-security ---
[15:26:04][Step 2/3] [INFO] Starting audit...
[15:26:04][Step 2/3] /store/work/tc-work/9ccd5e119c4a65d0/security/subsystem/src/main/java/org/jboss/as/security/lru/FastConcurrentDirectDeque.java:599:13: Redundant 'final' modifier.
[15:26:04][Step 2/3] /store/work/tc-work/9ccd5e119c4a65d0/security/subsystem/src/main/java/org/jboss/as/security/lru/FastConcurrentDirectDeque.java:629:13: Redundant 'final' modifier.
[15:26:04][Step 2/3] /store/work/tc-work/9ccd5e119c4a65d0/security/subsystem/src/main/java/org/jboss/as/security/lru/FastConcurrentDirectDeque.java:1050:31: '{' should have line break after.
[15:26:04][Step 2/3] /store/work/tc-work/9ccd5e119c4a65d0/security/subsystem/src/main/java/org/jboss/as/security/lru/FastConcurrentDirectDeque.java:1051:31: '{' should have line break after.
[15:26:04][Step 2/3] /store/work/tc-work/9ccd5e119c4a65d0/security/subsystem/src/main/java/org/jboss/as/security/lru/FastConcurrentDirectDeque.java:1056:31: '{' should have line break after.
[15:26:04][Step 2/3] /store/work/tc-work/9ccd5e119c4a65d0/security/subsystem/src/main/java/org/jboss/as/security/lru/FastConcurrentDirectDeque.java:1061:31: '{' should have line break after.
[15:26:04][Step 2/3] /store/work/tc-work/9ccd5e119c4a65d0/security/subsystem/src/main/java/org/jboss/as/security/lru/FastConcurrentDirectDeque.java:1066:31: '{' should have line break after.
[15:26:04][Step 2/3] /store/work/tc-work/9ccd5e119c4a65d0/security/subsystem/src/main/java/org/jboss/as/security/lru/FastConcurrentDirectDeque.java:1071:31: '{' should have line break after.
[15:26:04][Step 2/3] /store/work/tc-work/9ccd5e119c4a65d0/security/subsystem/src/main/java/org/jboss/as/security/lru/FastConcurrentDirectDeque.java:1417:29: '{' should have line break after.
[15:26:04][Step 2/3] /store/work/tc-work/9ccd5e119c4a65d0/security/subsystem/src/main/java/org/jboss/as/security/lru/FastConcurrentDirectDeque.java:1418:37: '{' should have line break after.
[15:26:04][Step 2/3] /store/work/tc-work/9ccd5e119c4a65d0/security/subsystem/src/main/java/org/jboss/as/security/lru/FastConcurrentDirectDeque.java:1423:29: '{' should have line break after.
[15:26:04][Step 2/3] /store/work/tc-work/9ccd5e119c4a65d0/security/subsystem/src/main/java/org/jboss/as/security/lru/FastConcurrentDirectDeque.java:1424:37: '{' should have line break after.
[15:26:04][Step 2/3] /store/work/tc-work/9ccd5e119c4a65d0/security/subsystem/src/main/java/org/jboss/as/security/lru/FastConcurrentDirectDeque.java:1508:36: '{' should have line break after.
[15:26:04][Step 2/3] Audit done.
[15:26:04][Step 2/3] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:2.17:checkstyle (check-style) on project wildfly-security: An error has occurred in Checkstyle report generation.
[15:26:04][Step 2/3] [INFO]    "


Updated OpenRA installer with x86 architecture MinimumOS and a few more things

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

For future reference, is there any place I can find the error details myself? Both architecture types seem to work fine on my machine.

@OfficialEsco, could you point me in the right direction?

@OfficialEsco, could you point me in the right direction?

https://github.com/microsoft/winget-cli/blob/master/doc/windows/package-manager/package/winget-validation.md
Not like it will help kekw
This is most of the time just the bot being childish and not wanting to cooperate..

@OfficialEsco, could you point me in the right direction?

https://github.com/microsoft/winget-cli/blob/master/doc/windows/package-manager/package/winget-validation.md
Not like it will help kekw
This is most of the time just the bot being childish and not wanting to cooperate..
Checks -> View more details on Azure Pipelines is the only issues we peasants can see

Haha thanks anyway!
I was secretly hoping a more veteran peasant maybe had some insights on how to get the internal error details... alas! Will patiently wait for the details ☺

/azp run


Native: buildDir is only partially applied when set within the binaries block

Expected Behavior
Gradle should update the build dir for all outputs when set within the binaries block.
Current Behavior
Given the following code, Gradle will change the build dir for objs and tmp, but not libs (see tree, next).
apply plugin: 'cpp'

model {

    toolChains  {

        vs2013(VisualCpp) {
            installDir = 'C:/Program Files (x86)/Microsoft Visual Studio 12.0'
        }

    }

    components {

        TestProject(NativeLibrarySpec) {
            targetPlatform 'windows_x86-64'

            binaries {
                all {
                    buildDir = "${projectDir}\\build\\${targetPlatform.name}"
                }
            }
        }
    }

}

Tree output for example code above:
build
├───libs
│   └───testProject
│       ├───shared
│       └───static
└───windows_x86-64
    ├───objs
    │   └───testProject
    │       ├───shared
    │       │   └───TestProjectCpp
    │       │       └───c6j6y5w4zqfxu2hrtsy45883i
    │       └───static
    │           └───TestProjectCpp
    │               └───c6j6y5w4zqfxu2hrtsy45883i
    └───tmp
        ├───compileTestProjectSharedLibraryTestProjectCpp
        ├───compileTestProjectStaticLibraryTestProjectCpp
        ├───createTestProjectStaticLibrary
        └───linkTestProjectSharedLibrary

Whereas the following code:
apply plugin: 'cpp'

buildDir = "${projectDir}\\build\\windows_x86-64"

model {

    toolChains  {

        vs2013(VisualCpp) {
            installDir = 'C:/Program Files (x86)/Microsoft Visual Studio 12.0'
        }

    }

    components {

        TestProject(NativeLibrarySpec) {
            targetPlatform 'windows_x86-64'
        }
    }

}

Produces the following tree:
build
└───windows_x86-64
    ├───libs
    │   └───testProject
    │       ├───shared
    │       └───static
    ├───objs
    │   └───testProject
    │       ├───shared
    │       │   └───TestProjectCpp
    │       │       └───c6j6y5w4zqfxu2hrtsy45883i
    │       └───static
    │           └───TestProjectCpp
    │               └───c6j6y5w4zqfxu2hrtsy45883i
    └───tmp
        ├───compileTestProjectSharedLibraryTestProjectCpp
        ├───compileTestProjectStaticLibraryTestProjectCpp
        ├───createTestProjectStaticLibrary
        └───linkTestProjectSharedLibrary

Context
I'm working through my workaround described in GH 859, where I am able to target, for example, windows_x64_vs2013 and windows_x64_vs2015 in separate executions of Gradle by only configuring one platform and toolchain at a time, and I need the output paths for at minimum the final outputs and ideally all the intermediates to be different for each platform/toolchain combination.
I've read https://discuss.gradle.org/t/add-suffix-relative-to-buildtypes-or-platforms-for-native-builds/19999/4 and linked questions.
In the first example above, I can still set the output paths for the libs using setStaticLibraryFile / setSharedLibraryFile / setSharedLibraryLinkFile on StaticLibraryBinarySpec and SharedLibraryBinarySpec respectively, but then NativeExecutableBinarySpec and GoogleTestTestSuiteBinarySpec have no equivalent methods, so I'm faced with modifying the paths on the link / install / create tasks separately instead, and I'm very quickly writing a lot of code.
It would be ideal if buildDir worked as expected in this scenario although I suspect there's more to it (relatedly, I also submitted feature request GH 907 regarding the impact of variants on the output paths).
Steps to Reproduce (for bugs)
See current behavior.
Source code: buildDir-example.zip
Your Environment
Windows 10 x64, Gradle 3.2, MSVC 2013

Thanks @philmcardle for the detailed issue.
I see there is some confusion about the Groovy closure delegate. In a nutshell, for every Groovy closure, Gradle configure the delegate object to the configuring object in question. When a symbol is not found in the Closure scope, Groovy will look for the symbol as a property on the delegate. Failing to find the missing property on the delegate, Groovy will move to the parent scope and repeat the process.
In your first example, where you invoke buildDir from within the component's binaries container, it will first start looking in the all scope for the symbol named buildDir. Then it will look at the current configuring binary (delegate) for the all closure - either SharedLibraryBinarySpec or StaticLibraryBinarySpec. Then it will look at the configuring closure for the component followed by its delegate (NativeLibrarySpec). Finally, it will look at your build.gradle scope followed by the its delegate (Project) where it will finally find buildDir. You are basically configuring Project.buildDir from the all configuring closure of a component's binaries container.
I can see configuring buildDir for a specific component could be beneficial. Could you give us some concrete use case for configuring the buildDir per component? That would help us with our planning.

Thanks Daniel.
There is unquestionably confusion about the scope of the closure delegate. Thanks for clarifying that. It's actually normally so confusing that I tend to just name the parameter explicitly so that I know what I'm accessing.
However, in this instance, I really did want to change the project's buildDir. It's unquestionably an awful hack, but it's just because the binaries are the only thing that have an awareness of what platform Gradle has configured them for (again, this is my VS2013/VS2015 issue).
I still found it odd however that in the case where I was using it (or misusing it), it only applied to the intermediates and the logs, but not the final results, hence the report.
In truth, without GH 907, and without something equivalent to this this comment on 859 (or any equivalent suggestion) working, I'm probably going to resort to a less awful hack and just propagate the configured platform (again, 859, I've forced Gradle to only configure one platform at a time 🙁) across the entire multi-project build, since I've already backed myself into that corner with my requirements.

In hindsight, I really shouldn't be trying to modify the project's buildDir at this time, so I'm going to close this unless you feel differently - it's perhaps not unreasonable to have undefined behaviour in that scenario.
I'll report a separate issue if I have a use case for per-component buildDir.
Thanks.

Sounds reasonable. Groovy scope can sometimes be difficult to follow due to the lack of code completion. Kotlin script support will help a lot with intellisense when version 1.0 comes out.


How to Set Blob Content-Type

When uploading to azure blob an image via stream, it always sets the content type to "application/octet-stream". How do you change the content type when it is uploaded?
I've tried setting the meta content as follows:
vector<pair<string,string>> metadata(1, std::make_pair("Content-Type", "image/jpg"));
client.upload_block_blob_from_stream(AZURE_BLOB_CONTAINER, filename, istream, metadata);

This only adds meta content, but doesn't change the blob properties. I've also tried to directly change the curl request headers:
auto bc = std::make_shared<blob_client>(account, 16);
std::shared_ptr<azure::storage_lite::http_base> http_request = bc->client()->get_handle();
http_request->add_header("Content-Type", "image/jpg");
vector<pair<string,string>> metadata;
bc->upload_block_blob_from_stream(AZURE_BLOB_CONTAINER, filename, istream, metadata);

Any help would be greatly appreciated.

@dczaretsky cpplite doesn't support this feature. I recommend you use our Track2 cpp sdk. https://github.com/Azure/azure-sdk-for-cpp/tree/master/sdk/storage


combine SimultaneousKeyPress + KeyOverlaidModifier

Hello,
I remapped K+N to STICKY_SHIFT, but this loose the shift behavior while holding K+N. To solve this problem, Is there a way to combine KeyOverlaidModifier with SimultaneousKeyPress ?
Many thanks
<autogen> __SimultaneousKeyPresses__
          KeyCode::K, KeyCode::L,
          KeyCode::VK_STICKY_ACTIVE_MODIFIERS_FORCE_ON,
          KeyCode::VK_STICKY_SHIFT_R,
</autogen>

Found the solution
<autogen> __SimultaneousKeyPresses__
          KeyCode::K, KeyCode::L,
          KeyCode::SHIFT_R,
          SimultaneousKeyPresses::Option::RAW
        </autogen>


DG for Laplace Problem in First order Formulation

Hi,
I would like to implement MFEM code to solve the Laplace problem (in the first-order formulation) in 2D using DG formulation. I use zero Dirichlet boundary conditions. This code will be similar to the example 5 with some changes. I defined \sigma=grad(u) and hence the couple equations are
\sigma-grad(u)=0
-div(sigma)=f.
For this I use MixedBilinear form. I do not know how to add the DGTraceIntegrator for the MIxedBilinearFOrm. The important lines are:
FiniteElementCollection *fec_sigma = new DG_FECollection(order, dim);
FiniteElementCollection *fec_u = new DG_FECollection(order, dim);
FiniteElementSpace *sigma_space = new FiniteElementSpace(mesh, fec_sigma);
FiniteElementSpace *u_space = new FiniteElementSpace(mesh, fec_u);
//     C   = -\int_\Omega \grad u_h v1_h d\Omega   u_h \in u_space, v1_h \in sigma_space
MixedBilinearForm *cVarf(new MixedBilinearForm(sigma_space,u_space));
cVarf->AddDomainIntegrator(new GradientIntegrator(mone));
**cVarf->AddBdrTraceFaceIntegrator(new DGTraceIntegrator(velocity, alpha, beta));**
cVarf->Assemble();
cVarf->Finalize();
SparseMatrix & C(cVarf->SpMat());

Can you please help me out. I get error in the line "cVarf->AddBdrTraceFaceIntegrator(new TransposeIntegrator(new DGTraceIntegrator(velocity, alpha, beta)))".
The error is "FEM abort: AssembleFaceMatrix (mixed form) is not implemented for this Integrator class." Here velocity is just a vector of ones, alpha=1.0 and beta=-0.5.
Thank you very much.
Best regards,
Pratik

Hi @tzanio ... Can you please help me out?

Hi @Pratikk17,
Do you really want to use mixed + DG discretization?
I'm asking because people usually choose mixed CG (Example 5) or DG (Example 18) and it is not clear to me if mixing them will be beneficial for the Laplace problem.
If that's really your objective, then the first thing you need to figure out on continuous level is what are the spaces for u and sigma and what are the mixed integrators you will need.
@psocratis has experience with DPG and ultra-weak formulations and may be able to help, though it is likely that you may have to implement some new integrators.
Cheers,
Tzanio

Hi @tzanio ,
Thank you for your reply. I want to implement Leapfrog scheme for linear wave equation with DG space discretization and hence I chose to first write a code for the Laplace equation. I had to go to use MIxedBilinear form since u is scalar while sigma=grad(u) is vector.  I will check code 18 again to see if I can manage to write the code else I will ask again.
Thank you very much.
Best,
Pratik

Hi @Pratikk17,
Is there a reason that you would like to specifically use the first-order DG formulation for the Laplace equation?
If you eliminate the auxiliary variable sigma, then you can obtain a reduced system for the solution u. This is the approach used in example 14 (DG diffusion) using the DGDiffusionIntegrator.

Hi @pazner ,
The ultimate aim is to apply and compare time integrators for linear wave equations and Maxwell's equations, whose space discretization is done by dG methods. These time integrators are in the form which suits first order formulation. So as an initial step, I would first see if everything works good for Laplace problem and then extend to wave.
I checked example 14 and understood it. I could extend it to wave equation. But I think I need to implement new integrators for the first order formulation (since there are no integrators available in mfem library). I would contact you if I face some problems.
Best,
Pratik


[0.6.0 - Cubietruck] kube-config enable master fails

It failed on first init like we had previously when flannel/etcd failed to init properly
I could trap at least:
[root@kube1 ~]# systemctl status -l etcd
* etcd.service - Etcd Master Data Store for Kubernetes Apiserver
   Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Tue 2015-12-01 21:09:38 CET; 4min 58s ago
 Main PID: 734 (code=exited, status=0/SUCCESS)

Dec 01 21:09:03 kube1 docker[734]: 2015-12-01 20:09:03.824524 N | etcdserver: set the initial cluster version to 2.2
Dec 01 21:09:03 kube1 docker[734]: 2015-12-01 20:09:03.825445 I | etcdserver: published {Name:default ClientURLs:[http://<IP_ADDRESS>:4001]} to cluster 7e27652122e8b2ae
Dec 01 21:09:30 kube1 bash[735]: Error:  client: etcd cluster is unavailable or misconfigured
Dec 01 21:09:31 kube1 bash[735]: error #0: client: endpoint http://<IP_ADDRESS>:4001 exceeded header timeout
Dec 01 21:09:35 kube1 systemd[1]: etcd.service: Control process exited, code=exited status=4
Dec 01 21:09:35 kube1 docker[734]: 2015-12-01 20:09:35.929778 N | osutil: received terminated signal, shutting down...
Dec 01 21:09:38 kube1 docker[780]: k8s-etcd
Dec 01 21:09:38 kube1 systemd[1]: Failed to start Etcd Master Data Store for Kubernetes Apiserver.
Dec 01 21:09:38 kube1 systemd[1]: etcd.service: Unit entered failed state.
Dec 01 21:09:38 kube1 systemd[1]: etcd.service: Failed with result 'exit-code'.

Then flannel fails as etcd is not there and the rest too.
I disabled node via kube-config disable-node, checked that all docker images are there (they are in lastest and 0.6.0 versions) and re-run kube-config enable-master which was successful this time.
Will double check on next cubie.

Damned, it worked on 1st attempt on my 2nd cubie - so closing it unless you think something should be investigated. I'll keep kubie1 as-is if needed.

Maybe a timeout or something was too small. Don't know, but we'll keep this as a ref if it happens again


How can I approve a device

Hi everyone , I set the project on my computer and everything works fine . The one problem that I am facing is how to use the platform . I m actually stuck how to approve a device . I tried to change it on the database . I changed the "In-prgoress" status to "Active" but it didn't change anything . I guess it is not the right key word . Would you help me please on that ?

You need to login as Issuer (in demo setup it's<EMAIL_ADDRESS>test) and then approve in the devices panel.


⚠ Bofrost.at has degraded performance

In 94b1b3f, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1620 ms

Resolved: Bofrost.at performance has improved in feb5348 after 14 minutes.


In unit generate strategy adjusting attack speed doesn't work

It only clears already prepared arrays in startegyand magic, and if increased/decreased will not do anything

ALSO when int counter is called it should be reseted again after next for loop


Increase coverage

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

Project coverage is 90.86%. Comparing base (73f48f8) to head (b4b51b0).
Report is 1 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff             @@
##             main      #27       +/-   ##
===========================================
+ Coverage   80.43%   90.86%   +10.43%
===========================================
  Files           5        5
  Lines         230      230
===========================================
+ Hits          185      209       +24
+ Misses         45       21       -24

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