Adding support for encoding and decoding of complex SSZ types

Added support for Containers
Added support for generic lists of fixed/variable size type
Added support for generic fixed size type vectors

I had to add some handling of scopes (SSZReader.slice()) and also some type hierarchy. Let me try to justify why

The size of the list of variable size type is easy to calculate from the first offset, because the fixed part of encoding only contains offsets.

The size of a vector is known at the time of designing the data structure.

But the size of the list when reading a list of fixed size type is not encoded. To find out what the size is, one must carefully maintain the scopes and then divide the corresponding scope of the list by the size of one element (size of one element is known at the time of defining the data structure).

Moreover The length of a scope for a list is unknown until we read the offset of the next variable element in the parent container or the reminder of the fixed part.

Signed-off-by: Jiri Peinlich<EMAIL_ADDRESS>

Any advice how to add licence to an arbitrary file that I read during a test?


Picture adjustment function failure

Microsoft PowerToys version
0.60.1
Running as admin

[X] Yes

Area(s) with issue?
Image Resizer
Steps to reproduce
Under Win11, the picture size cannot be adjusted. There is no response after the right -click menu clicks
✔ Expected Behavior
Open the adjustment function to export the modified size picture file
❌ Actual Behavior
No response
Other Software
No response

Can someone confirm that this is a general problem for Windows 11?

Are you still experiencing this issue? /needinfo

您仍然遇到此问题吗？/需要信息


Re-initialize mmenu? Destroy + initialize ?

Is there any way to update the current initialized plugin?
The update API function doesn't seem to work and its not generating the arrows for the submenus.
Alternatively I was looking for a destroy function to initialize the plugin again, but I didn't find any one to do so either.
Isn't there any way to update the content of the plugin once initialized ?

The update method should update the panel specified in the argument. Could you show me some code you've used?
There's no destroy function, that's just not possible. Alternatively, you could use the clone configuration option (or clone the menu manually). This way you can simply remove the cloned menu and re-create the menu from the original menu.

The update method should update the panel specified in the argument

Which arguments has the update function? I can not see it in the docs.  I though it had none:
var menu = $("#menu").mmenu(),
var menuInit = menu.data('mmenu');
menuInit.update();

Also, can we just pass to init a list of li instead o the whole list with the ul ?

The panel to close.

Not very clear what a "panel" is.

@FrDH here you have a reproduction using the init method. (the update doesn't do anything)
http://jsfiddle.net/yr993rwy/2/

A better example here: http://jsfiddle.net/yr993rwy/3/

My bad, I was referring to the init method (I think it was _init in earlier stages), the update method only updates the already initialized menu.
You can not pass a list of lis to the init method, it expects a "panel" (either an UL, OL or a DIV).
I think you're getting an error because the init method expects a jQuery object, not a string.

@FrDH in the answer you linked you are using a string:
var new_content = '
Home
';
$ul.append( new_content );
_menu._init( $ul );

I was not able to find any other example.
In any case, I've tried it with an object and it doesn't work either. I append the submenu when clicking on the first item.

I'll wait to see what you suggest or if you think it is even possible to load submenus dynamically.
Meanwhile I'll try to find other ways around by doing it by my own.

I guess that answer is a bit out of date, sorry about that.
I updated the fiddle and got it to work: http://jsfiddle.net/yr993rwy/5/
First change: When re-creating the menu, you should update the variable "menu" (or delegate the onClick event to the body, like I did)
Second change: after the plugin initializes the "panels", all ULs are wrapped in a DIV, this new DIV receives the ID ("panel1" in this case). Therefor adding the new LIs to "#panel1" actaully added the LIs to the DIV. I changed it to "#panel1 > ul".

FYI: I've been thinking about creating a tutorial on dynamically loading submenus and will see if I can whip something up later on.

Just to point it out.
If the dynamic content loads before the animation finishes and therefore you all init before the animation ends, the animation will get interrupted and it won't look as nice.
I'm solving it by using a setTimeout with 400 milliseconds, which is the time the animation needs to finish.
Reproduction of the issue

I have test your code with the latest Version (5.5.3) but I think this doesn't work :-( I want dynamic load sub menus (ul list) and want re-init this part but this doesn't work. Can you give me a hint how I can implement this with the current version?

In the next version, you can bind to the "panelOpened" callback:
API.bind( "panelOpened", function( $panel ) {
    console.log( "this panels just finished opening:" )
    console.log( $panel );
});

Sounds great!


ExpressionChangedAfterItHasBeenCheckedError when displaying tooltip

When I pass the mouse pointer over an event the tooltip gets displayed and I get the following error:
Uncaught Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 'eventWidth: 191.75'. Current value: 'eventWidth: 189.875'.
    at viewDebugError (core.js:9770)
    at expressionChangedAfterItHasBeenCheckedError (core.js:9748)
    at checkBindingNoChanges (core.js:9915)
    at checkNoChangesNodeDynamic (core.js:13991)
    at checkNoChangesNode (core.js:13940)
    at debugCheckNoChangesNode (core.js:14766)
    at debugCheckDirectivesFn (core.js:14668)
    at Object.eval [as updateDirectives] (CalendarWeekHoursViewComponent.html:42)
    at Object.debugUpdateDirectives [as updateDirectives] (core.js:14650)
    at checkNoChangesView (core.js:13775)

Any clues?

@ivissani How did you manage to display the tooltip? I'm getting the same error, but the tooltip is not visible at all.

I found a temporary solution. You can check my fork out and you are free to use it (at your own risk).
In the long term I think your best chance is to upgrade your version of angular-calendar that now includes a week view like this one (although it requires upgrading to angular 6).

Thanks so much! Didn't follow the latest development of the angular-calendar package, almost already gave up :) Now I've got everything I need in it. Cheers!


fix: UI fix for the sign in page

What
-Added a Sized Box below the sign-up button to make the UI look more clean
Screenshot
Before:

After:

Looks good, thanks @alphaNewrex

Congrats on your first pull request here🎉

Thanks a lot! looking forward to contributing more.


Imager trying to load image file that hasn't been transformed yet

In our Sentry, we're periodically seeing errors where Imager (or rather Color Thief, upon a function call triggered by Imager) is trying to load an image file that hasn't been transformed yet. This triggers a Runtime Exception as well as a 500 Server Error for the first user to visit the site. All subsequent visits (when the image has been transformed) work without problems.
Is it possible that a check is missing which determines whether or not the image has been transformed and can be processed further?
We are querying the dominant color in our Twig like so:
    {# -- Dominant Color (use last image from final images) -- #}
    {% if transformedImages | last and (transformedImages | last).url %}
        {% set dominantColor = craft.imager.getDominantColor((transformedImages | last).url, 10) %}
    {% endif %}

Everything else is done in Imager (see Stack Trace in the screenshot below):

What is transformedImages?

My apologies, forgot to include this line of code:
    {# -- Final Image Set -- #}
    {% set transformedImages = craft.imager.transformImage(opt.image, opt.sizes, imageSettings) %}

@aelvan
Do you have any updates on this?


When a nix invocation by an obelisk command fails, it should output more diagnostic errors.

For example, ob deploy push can fail because nix-build -A exe fails, but it will only note which nix command failed. In order to get a more descriptive error the user  must then rerun that particular nix command. The easiest solution would be for obelisk to hold on to the output from these processes in case it the user needs to diagnose an issue. Dumping the entire output of a nix build to console would probably not be the most comfortable. Perhaps it can be output to a file that the ob cli can tell the user about.

Redundant with #102


Change line 110 to read (structuralElement.paragraph) instead of (structuralElement.paragraph !== null)

... otherwise will get errors on some documents

Thank you for filing, which file is referring to?

Search https://github.com/googleworkspace/apps-script-samples/search?q=structuralElement.paragraph
Permalink https://github.com/googleworkspace/apps-script-samples/blob/db3ad6816484c1ba9707d34e17d1916713b28007/advanced/docs.gs#L110
But I don't see a collision.
@ferrisargyle could you send any document with the errors?


update_card.sh - bug with card file name

If the user specifies a 'local' filename for the card e.g. -c mycard.card then the patched .card file gets created in the $TMPDIR and gets deleted!
The workaround is to specify the full path of the card e.g. -c /home/rob/mycard.card
Also the usage says -f mycard.card but the example uses -c

@sstone1 https://github.com/IBM-Blockchain/ibm-container-service/pull/52


Upgrade to a newer Flow, and make it happy (Closes #87)

While working on another project, I noticed Flow was choking on this.
The issue is that Promise.reject returns a parametrized Promise, but Flow can't know which parameter to use directly because the call to Promise.reject itself has nothing about it. The solution is to type the return value of the function. I use the * to let Flow infer the parameter by itself, but if you think I should use void which is the actual type I can do it.

TBH I'm not sure why Flow can't find this by itself.

thanks @julienw
I have merged this as part of #125 (and released on npm in the new 0.4.0 version).

Thanks !


feat(ack-discover): migrate to GraphQL API and enhance service mapping

TLDR: Fixes ACK docs generation
This patch enhances the ACK discovery tool to address some recent API
changes and improve our service coverage. Two major improvements have
been implemented:

GraphQL migration for /Projects
We're transitionning from the Github REST API to their GraphQL API
for project data fetching. This change was necessary due to GitHub
deprecation of classic projects and lack of REST support for new
projects. Now we use a single GraphQL query to fetch all required
project data (replacing multiple REST api calls)

Enhanced service discovery by name
We've addressed an issue where some AWS services have different
names in AWS SDKs compared to their model files, causing some
services to be missed in our documentation generation.

Introduced exceptional_service_names dictionary to map package
names to correct controller names. This is a temporary solution
More info about this in the code comments...

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

/lgtm


The reason why ERFNet (for Lane Detection) model's iteration changes every time it train?

Hi, thank a lot for your nice work!
btw, I found that when I train ERFNet for Lane Detection(using erfnet_baseline_culane.sh script), the model's iteration number is changed every time it trained.
The below is my tensorboard and in the two models below, only the dropout rate of the model is 0.1 and 0.3, which is different. (The other train & model parameters in config file is SAME)

But their iteration numbers are quite different.
What makes this difference between them in the process of training? (I think the dropout rate can't effect that results)

@daeunni If the tensorboard log is properly refreshed and loaded, I think the longer one looks like a 50 epoch schedule, which is correct, while the shorter one looks like something around 12 epoch. You sure they both use the ep50_poly_warmup200 schedule and train.num_epochs=50?

@voldemortX  Thanks a lot for your quick reply!
First, the tensorboard log is properly refreshed.
Also, I apologized that I found some difference in lr_scheduler config.
Their learning rates are different by 0.2 and 0.01, respectively. (Sky = 0.2 / purple = 0.01)
However, note that the other params (like epoch or warmup was SAME)
Did just change of learning rates occured that situation?

Did just change of learning rates make that situation?

No, lr/dropout should not cause that situation.
Do you have the corresponding *_cfg.json files in your exp_dir?

Yes sure. That problem occurs both in case of TUsimple and CULane configs.
I can show my configs in CULane.

Short iteration case

{
    "dataset": {
        "name": "CULaneAsSegmentation",
        "image_set": "train",
        "root": "/workspaces\/datasets\/CULane"   # my path
    },
    "train_augmentation": {
        "name": "Compose",
        "transforms": [
            {
                "name": "Resize",
                "size_image": [
                    256,
                    768
                ],
                "size_label": [
                    256,
                    768
                ]
            },
            {
                "name": "RandomRotation",
                "degrees": 1
            },
            {
                "name": "ToTensor"
            },
            {
                "name": "Normalize",
                "mean": [
                    0.485,
                    0.456,
                    0.406
                ],
                "std": [
                    0.229,
                    0.224,
                    0.225
                ],
                "normalize_target": true
            }
        ]
    },
    "test_augmentation": {
        "name": "Compose",
        "transforms": [
            {
                "name": "Resize",
                "size_image": [
                    256,
                    768
                ],
                "size_label": [
                    256,
                    768
                ]
            },
            {
                "name": "ToTensor"
            },
            {
                "name": "Normalize",
                "mean": [
                    0.485,
                    0.456,
                    0.406
                ],
                "std": [
                    0.229,
                    0.224,
                    0.225
                ]
            }
        ]
    },
    "loss": {
        "name": "LaneLoss",
        "existence_weight": 0.1,
        "ignore_index": 255,
        "weight": [
            0.4,
            1,
            1,
            1,
            1
        ]
    },
    "optimizer": {
        "name": "torch_optimizer",
        "torch_optim_class": "SGD",
        "lr": 0.01,
        "momentum": 0.9,
        "weight_decay": 0.0001
    },
    "lr_scheduler": {
        "name": "poly_scheduler_with_warmup",
        "epochs": 12,
        "power": 0.9,
        "warmup_steps": 200
    },
    "train": {
        "exp_name": "ERF_CU_changed_input_size",
        "workers": 10,
        "batch_size": 80,
        "checkpoint": null,
        "world_size": 0,
        "dist_url": "env:\/\/",
        "device": "cuda",
        "val_num_steps": 0,
        "save_dir": ".\/checkpoints",
        "input_size": [
            256,
            768
        ],
        "original_size": [
            590,
            1640
        ],
        "num_classes": 5,
        "num_epochs": 12,
        "collate_fn": null,
        "seg": true,
        "state": 0,
        "mixed_precision": true,
        "distributed": false,
        "validation": false,
        "exp_dir": ".\/checkpoints\/ERF_CU_changed_input_size"
    },
    "test": {
        "exp_name": "ERF_CU_changed_input_size",
        "workers": 10,
        "batch_size": 80,
        "checkpoint": ".\/checkpoints\/erfnet_baseline_culane\/model.pt",
        "device": "cuda",
        "save_dir": ".\/checkpoints",
        "seg": true,
        "gap": 20,
        "ppl": 18,
        "thresh": 0.3,
        "collate_fn": null,
        "input_size": [
            256,
            768
        ],
        "original_size": [
            590,
            1640
        ],
        "max_lane": 4,
        "dataset_name": "culane"
    },
    "model": {
        "name": "ERFNet",
        "num_classes": 5,
        "dropout_1": 0.1,
        "dropout_2": 0.1,
        "pretrained_weights": "erfnet_encoder_pretrained.pth.tar",
        "lane_classifier_cfg": {
            "name": "EDLaneExist",
            "num_output": 4,
            "flattened_size": 3840,
            "dropout": 0.3,
            "pool": "max"
        }
    }
}

Long iteration case

{
    "dataset": {
        "name": "CULaneAsSegmentation",
        "image_set": "train",
        "root": "/workspaces\/datasets\/CULane"
    },
    "train_augmentation": {
        "name": "Compose",
        "transforms": [
            {
                "name": "Resize",
                "size_image": [
                    256,
                    768
                ],
                "size_label": [
                    256,
                    768
                ]
            },
            {
                "name": "RandomRotation",
                "degrees": 3
            },
            {
                "name": "ToTensor"
            },
            {
                "name": "Normalize",
                "mean": [
                    0.485,
                    0.456,
                    0.406
                ],
                "std": [
                    0.229,
                    0.224,
                    0.225
                ],
                "normalize_target": true
            }
        ]
    },
    "test_augmentation": {
        "name": "Compose",
        "transforms": [
            {
                "name": "Resize",
                "size_image": [
                    256,
                    768
                ],
                "size_label": [
                    256,
                    768
                ]
            },
            {
                "name": "ToTensor"
            },
            {
                "name": "Normalize",
                "mean": [
                    0.485,
                    0.456,
                    0.406
                ],
                "std": [
                    0.229,
                    0.224,
                    0.225
                ]
            }
        ]
    },
    "loss": {
        "name": "LaneLoss",
        "existence_weight": 0.1,
        "ignore_index": 255,
        "weight": [
            0.4,
            1,
            1,
            1,
            1
        ]
    },
    "optimizer": {
        "name": "torch_optimizer",
        "torch_optim_class": "SGD",
        "lr": 0.2,
        "momentum": 0.9,
        "weight_decay": 0.0001
    },
    "lr_scheduler": {
        "name": "poly_scheduler_with_warmup",
        "epochs": 12,
        "power": 0.9,
        "warmup_steps": 200
    },
    "model": {
        "name": "ERFNet",
        "num_classes": 5,
        "dropout_1": 0.1,
        "dropout_2": 0.1,
        "pretrained_weights": "erfnet_encoder_pretrained.pth.tar",
        "lane_classifier_cfg": {
            "name": "EDLaneExist",
            "num_output": 4,
            "flattened_size": 3840,
            "dropout": 0.3,
            "pool": "max"
        }
    },
    "train": {
        "exp_name": "ERF_CU_changed_input_size_froze_others",
        "explain": "Just test for debugging",
        "workers": 10,
        "batch_size": 20,
        "checkpoint": null,
        "world_size": 0,
        "dist_url": "env:\/\/",
        "device": "cuda",
        "val_num_steps": 0,
        "save_dir": ".\/checkpoints",
        "input_size": [
            256,
            768
        ],
        "original_size": [
            590,
            1640
        ],
        "num_classes": 5,
        "num_epochs": 12,
        "collate_fn": null,
        "seg": true,
        "state": 0,
        "mixed_precision": false,
        "distributed": false,
        "validation": false,
        "exp_dir": ".\/checkpoints\/ERF_CU_changed_input_size_froze_others"
    },
    "test": {
        "exp_name": "ERF_CU_changed_input_size_froze_others",
        "workers": 10,
        "batch_size": 20,
        "checkpoint": ".\/checkpoints\/ERF_CU_changed_input_size_froze_others\/model.pt",
        "device": "cuda",
        "save_dir": ".\/checkpoints",
        "seg": true,
        "gap": 20,
        "ppl": 18,
        "thresh": 0.3,
        "collate_fn": null,
        "input_size": [
            256,
            768
        ],
        "original_size": [
            590,
            1640
        ],
        "max_lane": 4,
        "dataset_name": "culane"
    }
}

Do you have an idea?
In addition, I changed my model's input size for my usage.

@daeunni These configs seem to have the same training epochs, if this is CULane, 88k images, then #iteration should be around 4.4k * 12 = 53k. I'm guessing the tensorboard snapshots are from TuSimple where 50epoch-8k is correct? Could you provide the tusimple configs for me the reproduce the problem (tusimple runs faster)?

@daeunni Yes these should also be ok. The longer one looks correct, so I'll just run master branch code for the shorter one.

If it can be reproduced, this could be some bug.

@daeunni Just when I was copying your config, I think I found the issue. The shorter one has a train.batch_size=80, which is exactly 4 times the longer one.

Oh, It might be right! Thank you for your help :)


Fixed bug that prevented next_record and prev_record from using custo…

…m manager names

Description

The manager name history had been hardcoded in the function calls for get_next_record and get_prev_record. This PR uses utils.get_history_manager_for_model to allow these functions to be used with custom manager names.
Related Issue

Fixes #500
Motivation and Context

Bug fix.
How Has This Been Tested?

Added tests for next_record and prev_record on a model with custom manager name
Screenshots (if appropriate):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have run the make format command to format my code
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] I have added my name and/or github handle to AUTHORS.rst
[x] I have added my change to CHANGES.rst
[x] All new and existing tests passed.

Codecov Report

Merging #501 into master will increase coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #501      +/-   ##
==========================================
+ Coverage   97.22%   97.23%   +0.01%
==========================================
  Files          16       16
  Lines         721      724       +3
  Branches       95       95
==========================================
+ Hits          701      704       +3
  Misses         10       10
  Partials       10       10

Impacted Files
Coverage Δ

simple_history/models.py
99.22% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Class 'DTS\eBaySDK\ResolutionCaseManagement\Types\AppealRef' not found

SDK is missing the AppealRef class that relates to the ~appealRef type. This type may be missing from the WSDL.

@Vilintritenmert Thank you for the example.


Use cilium-based library for eBPF operations in network tracer

What does this PR do?
This switches to the cilium-based forked library at https://github.com/DataDog/ebpf

Uses runtime-replaced constants where possible to improve performance. Offset guessing is done on start (via a separate C file and manager), and those values are constants now instead of using a map for lookup on every kprobe hit.
Uses tracepoints for syscalls (if enabled via config, default false), falling back to x64 compatible kprobe points, and finally the backwards-compatible kprobe points.
Cleans up the system_probe build task to make it easier to add future targets.

Motivation
This library is the way forward for the networks and security team's usage of eBPF. It offers improved performance, due to its reduction in cgo operations.
Additional Notes
Waiting on the following PRs:

https://github.com/DataDog/ebpf/pull/2
https://github.com/DataDog/ebpf/pull/3

Describe your test plan

Automated tests all pass
Performance checked on load testing cluster

Uses tracepoints for syscalls (if enabled via config, default false), falling back to x64 compatible kprobe points, and finally the backwards-compatible kprobe points.

Perhaps I'm missing something obvious, but what are we using the added tracepoints for currently? From a quick glance at the code - it seems like we're using it for determining UDP direction? Is that correct?

Perhaps I'm missing something obvious, but what are we using the added tracepoints for currently

It isn't new functionality, rather intercepting syscalls (socket and bind) that we were already probing. Those probes are indeed used for determining UDP direction.

I don't have enough context about how the tracer used to work to provide a valuable review, so I only had a look at the manager / new lib part and it looks great ! I'm excited to see our new lib in action 🎉


Add newest python version 3.13

@ludwiglierhammer: Is it numba causing problems?

@ludwiglierhammer: Is it numba causing problems?

I think some packages aren't compatible with the newest python version 3.13. This will be fixed in a couple of days/weeks. We just have to wait.


v3 API: move CorsPolicy to per_filter_configs

CorsPolicy exists before per_filter_configs, so it is in route directly now.

cc @envoyproxy/api-shepherds

I would like to approach this by adding to v2 the ability to first express CorsPolicy as a per_filter_config, deprecating the existing CorsPolicy field and then having protoxform auto-delete in v3.
I'm going to tag this as "help wanted", since we need to do the bulk of the work v2-side to make this happen first.

@lizan  i would like to take this.
cc @htuch

@lizan would you please provide some pointers for this issue to start. as i am beginner in project. so fwants to explore surroundings etc.

cc @htuch

unassigning myself as lack of info and low priority.


Render always generates result.avi file which is too big and causes memory problems

Hi,
I saw some memory problems while i was trying to render 20 videos in paralel and then noticed that nexrender folder under temp folder consumes almost 38 GB memory and biggest consumer is result.avi file which is created after render. I am getting my output as mp4 and mp4 file is really small but avi file is 50 times bigger than my mp4 file. Is there a way to render the video directly as mp4 and render to one path so it is not going to deal with copying the file.
Also i would like to hear if you have any other suggestions about memory optimization. As i see if i run 50 render then it will create 50 folder with all project files and result.avi which gets too big.
Thank you in advance,
Aysima

Hey @aysimakarca
One of the reasons why action-encode was added, is this issue with After Effects no longer being able to render mp4 directly. (It had such functionality before AE CC 2016, iirc, then it got removed). Right now there is no way to render to mp4 without going through a temp stage, unfortunately.
Suggestions on memory optimization can be as following: render fewer frames, or less time, use pre-rendered footage, research different built-in codecs for AE (maybe one of them will be less storage-hungry compared to avi), or simply increase the overall storage capacity. Judging by the number of jobs you want to render and how big the files can get, probably a 10-20 TB should be enough.
Cheers!


POT file generated with this command produces an error with Transifex service related to plural forms

This is a fairly specific issue, but hopefully someone knows something (if the problem is on our end, feel free to close).
We've been using POEdit to (re)generate the POT file for Pressbooks and we use Transifex to manage translations. I have been trying out the wp-cli make-pot command and I get this error from the Transifex CLI when trying to upload the resulting POT file:
Error received from server: Your source file is not a POT file and the translation file you're using has more than two plurals which is not supported.

I ran the command with these options from the plugin root:
wp i18n make-pot . languages/_pressbooks.pot --exclude="vendor,symbionts" --headers='{"Report-Msgid-Bugs-To":"https://github.com/pressbooks/pressbooks/"}'

I note that in the wp-cli generated file, the second msgstr is missing from plural strings:
#: inc/class-cloner.php:2045 inc/modules/import/wordpress/class-wxr.php:337
#, php-format
msgid "%s part"
msgid_plural "%s parts"
msgstr[0] ""
- msgstr[1] ""

Is this expected?
Thanks in advance for any information that might lead to resolution!

Thanks a lot for your report!
I'll try to verify this to see if it's an actual bug in the command (i.e. we print the wrong format) or if Transifex is perhaps too strict about this.

Thanks @swissspidy. If I can provide reference files for testing I'm happy to do that too.

CC @ocean90

I was wondering what the old makepot.php script was doing, but xgettext is a better reference for sure.
Relevant code in the upstream library:
https://github.com/oscarotero/Gettext/blob/545f716f08338030d2d0d35a1835d04a9d4f18ed/src/Generators/Po.php#L62-L71
Since we already extend this class and the toString() method, this shouldn't be hard to fix.


Improve ProgressIndicator value range docs

Improves both the constructor and member docs for ProgressIndicator.value to indicate the 0.0-1.0 range.
Fixes #87920.
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt.
[x] All existing and new tests are passing.

@Hixie test-exempt? :)

I don't see anything in this class that would do clamping. Is there?

@nt4f04uNd all usages of value are clamped.

I only see that in the subclasses, but not in this class

@nt4f04uNd yes, exactly.

I don't think base class docs should refer to something that derived class does. If I were to subclass RefreshIndicator and documentation says the value will be clamped, this would just mislead me.

On the other hand, it's confusing for people reading the CircularProgressIndicator and LinearProgressIndicator docs today...

Although I agree with @nt4f04uNd in principle I think an exception is warranted in this case.


Create rory.tag

redned asked for it

maybe have randomized rory pics

we do but idk how to lol

no rory!? 😔

Rory pls

no !!rory = bad dsicoirodr server :x:

got it

Did he though

Did who

rory

Redned I think

redned did i'll add proof

Did he though

oh lord

welp
this is like invalid now :(


maven: 3.8.1 -> 3.8.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/apache-maven/versions.
meta.description for maven is: "Build automation tool (used primarily for Java projects)"
meta.homepage for maven is: "http://maven.apache.org/"
meta.changelog for maven is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
/nix/store/90686mln8cp33g8gs9siwig7q3ny6i1g-apache-maven-3.8.2/bin/mvnDebug passed the binary check.
/nix/store/90686mln8cp33g8gs9siwig7q3ny6i1g-apache-maven-3.8.2/bin/mvn passed the binary check.
0 of 2 passed binary check by having a zero exit code.
2 of 2 passed binary check by having the new version present in output.
found 3.8.2 with grep in /nix/store/90686mln8cp33g8gs9siwig7q3ny6i1g-apache-maven-3.8.2
found 3.8.2 in filename of file in /nix/store/90686mln8cp33g8gs9siwig7q3ny6i1g-apache-maven-3.8.2

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

0 x86_64-linux rebuild(s)
0 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
0 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
maven

Instructions to test this update (click to expand)

Build yourself:
nix-build -A maven https://github.com/Kranzes/nixpkgs/archive/faf977b292a175b1965793cae4ef388038b63dd4.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/90686mln8cp33g8gs9siwig7q3ny6i1g-apache-maven-3.8.2
ls -la /nix/store/90686mln8cp33g8gs9siwig7q3ny6i1g-apache-maven-3.8.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages marked as broken and skipped:

python38Packages.skein
python39Packages.skein

14 packages built:

cryptomator
dbeaver
exhibitor
gephi
global-platform-pro
hadoop_3_0
hadoop_3_1
java-language-server
javaPackages.junit_4_12
javaPackages.mavenHello_1_0
javaPackages.mavenHello_1_1
maven
plantuml-server
sourcetrail

Maintainer pings
cc @cko for testing.

Result of nixpkgs-review pr 134150 at faf977b2 run on aarch64-linux 1

2 packages marked as broken and skipped:

pig
spark

2 packages failed to build:

python38Packages.skein
python39Packages.skein

11 packages built successfully:

cryptomator
dbeaver
exhibitor
global-platform-pro
java-language-server
javaPackages.junit_4_12
javaPackages.mavenHello_1_0
javaPackages.mavenHello_1_1
maven (maven3)
plantuml-server
sourcetrail

Note that build failures may predate this PR, and could be nondeterministic or hardware dependent.
Please exercise your independent judgement. Does something look off? Please file an issue or reach out on IRC.


WIIM pro support

Most of the other link play libraries and integrations used support the Wiim players. Can that be added to linkplay? Happy to test as I have 2 of the wiim pro.

If you could test with the open branch https://github.com/Velleman/python-linkplay/tree/create-endpoint-abc that'd be nice, there's some code in __main__.py to create a ClientSession() that allows unverified SSL.

Same issue as #19 so we'll close this as we fixup the HomeAssistant integration

The pull request went in Home Assistant, closing.


fix(server): skip automatic Content-Length header for HTTP 304 responses

closes #1797

updated! dropped the body and not setting the content-length for BodyLength::Known(len). But even if body isn't dropped on match msg.bodyit still is being dropped somewhere else.
Added a new test case to assert body is dropped though

HTTP 304 cannot have a body, so the case of HTTP 304 with body shouldn't happen, just saying. From RFC 7232.

A 304 response cannot contain a message-body; it is always terminated by the first empty line after the header fields.

Thanks!


README: try SIMDe online

It seems that (try SIMDe online) needs an update or fixing, it directs me to this link https://github.com/nemequ/simde/blob/master/simde.netlify.com/godbolt/demo

Oops, that should be https://simde.netlify.com/godbolt/demo (or https://simde.netlify.com/godbolt/simple if you just want a single compiler).  I'll fix it ASAP, thanks for reporting!

No worries, just merge it to master :D

Yep, done. It just takes a while to get through CI, and the master branch is protected to make sure changes always go through CI… for patches like this it's silly, but in general I think it's a good thing :)

In case of this kind of commit, you can skip the Travis CI check by including [<KEYWORD> skip] or [skip <KEYWORD>] in the commit message. See https://docs.travis-ci.com/user/customizing-the-build/#skipping-a-build for detail.

Thanks for mentioning @junaruga, will we can add that to CONTRIBUTING.md as a notice I think

In case of this kind of commit, you can skip the Travis CI check by including [<KEYWORD> skip] or [skip <KEYWORD>] in the commit message. See https://docs.travis-ci.com/user/customizing-the-build/#skipping-a-build for detail.

Good point.  It's not just Travis; I know this works on at least Circle CI and AppVeyor, probably others as well.  I don't think it will work for SIMDe, though.
IIRC on some of them [ci skip] needs to appear in the commit title (the first line), which is a great way to make commit logs uglier :(
The real problem, however, is that the master branch is protected so it's not possible to push a commit to it unless it has passed CI.  I could disable this feature, but I'd rather have it than than [ci skip]; it has prevented me from pushing bad code to master on several occasions (though I'd probably be more careful if I didn't know master was protected…).

@nemequ Actually it works, I’ve tried testing it on my own fork, see the commits just above your comment, the point is that, Yup uglier logs :/

It works to skip the CI builds, but you can't push the commits to the master branch of this repository.  You'll end up with something like:
# git push ci master
Enumerating objects: 146, done.
Counting objects: 100% (146/146), done.
Delta compression using up to 4 threads
Compressing objects: 100% (80/80), done.
Writing objects: 100% (128/128), 48.05 KiB | 3.00 MiB/s, done.
Total 128 (delta 100), reused 58 (delta 46)
remote: Resolving deltas: 100% (100/100), completed with 14 local objects.
remote: error: GH006: Protected branch update failed for refs/heads/master.
remote: error: Required status check "continuous-integration/travis-ci" is expected.
To github.com:nemequ/simde.git
 ! [remote rejected] master -> master (protected branch hook declined)
error: failed to push some refs to 'git@github.com:nemequ/simde.git'

Does using a pull-request with [ci skip] have a problem for this repository? I do not understand the context well.
Perhaps, Github Actions needs following setting to use [ci skip]. I found a good example by change today. :)
https://github.com/puma/puma/blob/master/.github/workflows/ruby.yml#L14-L16
    if: |
      !(contains(github.event.pull_request.title, '[ci skip]')
        || contains(github.event.head_commit.message, '[ci skip]'))

I guess it depends on what you mean by "problem".
With a protected branch, GitHub will refuse any requests to push to the protected branch unless CI has completed successfully on that exact commit ID already.
If someone creates a PR with [ci skip], the CI service will not report back that the build was successful (since it wasn't), so GitHub will refuse requests to push that commit ID to the protected branch.
GitHub can be configured to allow forced pushes to protected branches even if CI doesn't succeed, but it's generally best to avoid forced pushes to public branches like master.  It should be safe if the push would have worked if it weren't for the branch protection, but I don't like to do it since it's too easy to make a mistake which will annoy anyone using the repo.
So, if you open a PR with [ci skip] in the commit message, I basically won't be able to push it to master without getting rid of the [ci skip] and pushing it to a branch first.  The other option is to add another commit on top of the skipped commit.  GitHub only looks at the tip of the branch; CI needn't have successfully built every commit, just the tip.  This is actually quite likely to happen anyways; I tend to merge multiple commits since usually when I'm looking at PRs I have a few changes in my local repo, and I tend to merge them all at once.

So, [ci skip] probably doesn't really matter for PRs to SIMDe one way or another.  It may or may not create a few seconds of extra work for me, and it may or may not save a build on CI.

I guess I should close this issue since it has been resolved, but I don't mean to cut off the discussion; if anyone still has questions about this feel free to post.

If someone creates a PR with [ci skip], the CI service will not report back that the build was successful (since it wasn't), so GitHub will refuse requests to push that commit ID to the protected branch.

Now I understand it correctly maybe. Thank you for the explanation.
I did not know the fact "GitHub will refuse requests to push that commit ID to the protected branch".
[ci skip] is often used in Ruby's github repository. I do not know how they manage it.

They probably don't enable branch protection.  I don't think it's a particularly common setting.


NodePublishVolume method

Reading

https://github.com/container-storage-interface/spec/blob/master/spec.md#nodepublishvolume
https://github.com/kubernetes/design-proposals-archive/blob/main/storage/container-storage-interface.md#mounting-volumes
https://kubernetes.io/docs/concepts/storage/volumes/#mount-propagation
https://github.com/kubernetes-csi/csi-driver-host-path/blob/c28be1924239fc8d08ee4b6ffec457237d4bd26f/pkg/hostpath/nodeserver.go#L40

Currently in #29, the implementation has this configuration

A volume mounted from the host in both the plugin container and the node-driver-registrar container, which is used primarily for the CSI socketspec:
  template:
    spec:
      containers:
        - volumeMounts:
            - mountPath: /csi
              name: plugin-dir
      volumes:
        - hostPath:
            path: /var/lib/kubelet/plugins/emptydirclone.mriyam.dev
            type: DirectoryOrCreate
          name: plugin-dir

The plugin creating a volume, that gets mounted at the target path as requested by kubelet. Now the path that the plugin uses for creating the volume lives under the path /csi// getVolumePath returns the canonical path for emptydirclone volume
func getVolumePath(volName string) string {
	return filepath.Join("/csi/data", volName)
}

Although this works, the pattern I've seen is,

A volume separate from the one used for the CSI socket mounted from the host in both the plugin container and the node-driver-registrar containerspec:
  template:
    spec:
      containers:
        - volumeMounts:
          - mountPath: /csi-data-dir
            name: csi-data-dir
    volumes:
      - hostPath:
          path: /var/lib/csi-emptydirclone.mriyam.dev-data/
          type: DirectoryOrCreate
        name: csi-data-dir

The plugin uses the volume /csi-data-dir/ to create all volumes within that path.

ToDo

Find out which is the actually acceptable and suggested path


Rerun on smallish sample

Rerun on first 5k of mixed sample to check all our extra changes didnt break anything

I did this. The results look fine to me, but I guess we don't have a strong metric to test this on. I know we spoke in the past about creating a gold standard test set of results.
2x2 plots of the data can be found in this folder: https://drive.google.com/drive/folders/1OpxzTSyyflFvFXXe6JYdqxvxA6T8JGx6
they look ok to me (i.e. looking at outliers and making sure they make sense).
Top 10 SOCs mapped to
Sustainability officers                                           219
Software developers                                                91
Business and financial project management professionals n.e.c.     84
Company secretaries and finance managers                           71
Marketing consultants                                              54
Marketing managers                                                 52
Bookkeepers, payroll managers and wage clerks n.e.c.               48
Production managers and directors in manufacturing                 47
Business sales executives                                          43
Collector salespersons and credit agents                           43
Top 10 SICs mapped to
Financial service activities, except insurance and pension funding     386
Environmental consulting activities                                    206
Wholesale trade, except of motor vehicles and motorcycles              143
Manufacture of machinery and equipment nec                             133
Management of real estate on a fee or contract basis                   115
Land transport and transport via pipelines                             104
Retail trade, except of motor vehicles and motorcycles                 100
WATER SUPPLY; SEWERAGE, WASTE MANAGEMENT AND REMEDIATION ACTIVITIES     99
Manufacture of computer, electronic and optical products                92
Civil engineering                                                       83
Top green skills mapped to
environmental engineering                           470
health and safety regulations                       423
promote sustainability                              420
promote innovative infrastructure design            133
promote sustainable energy                          120
inform customers on environmental protection        103
energy efficiency                                   102
ensure compliance with environmental legislation     95
climate change impact                                84
develop environmental policy                         80
Top all skills mapped to
communication                  1338
demonstrate enthusiasm         1109
attend to detail                667
use microsoft office            635
troubleshoot                    506
use spreadsheets software       486
taking a proactive approach     444
work in an organised manner     435
project commissioning           364
negotiate with stakeholders     357
The most green jobs - where all 3 measures are greater than the average
Most common job titles
Sustainability Manager              20
Sustainability Consultant           12
Senior Sustainability Consultant    10
Estate Manager                       7
Assistant Property Manager           6
Most common SIC
Environmental consulting activities                                    66
Management of real estate on a fee or contract basis                   34
Management consultancy activities (other than financial management)    25
Financial service activities, except insurance and pension funding     25
Wholesale trade, except of motor vehicles and motorcycles              23
Most common SOC
Sustainability officers                       101
Landlords, property, and housing managers      24
Building and building services engineers       16
Energy engineers                               16
Environmental professionals n.e.c.             15
The least green jobs - where all 3 measures are less than the average
Most common job titles
Catchment Operator           6
ICA Technician               5
Delivery Driver              4
Field Service Engineer       3
Senior Operations Manager    3
Most common SIC
WATER SUPPLY; SEWERAGE, WASTE MANAGEMENT AND REMEDIATION ACTIVITIES        35
Crop and animal production, hunting and related service activities         17
Waste collection, treatment and disposal activities; materials recovery    15
Freight air transport and space transport                                  12
Manufacture of glass and glass products                                    12
Most common SOC
Software developers                                     6
Bookkeepers, payroll managers and wage clerks n.e.c.    6
Dry cleaners and laundry workers                        6
Delivery drivers and couriers n.e.c.                    5
Signal workers                                          5

close I guess as we're running on the big guy now


Why does this module exist?

IPv4 and v6 detection is built into node using the net module: https://nodejs.org/dist/latest-v7.x/docs/api/net.html#net_net_isipv4_input

I don't have any issues with that.


refactor(init): run link-cli before npm-install

Excellent... Great improvement in first use experience, looking forward to this.

@filipesilva: we moved it to after in #2086 because Ember-CLI was using the wrong dependency, but was this only for our e2e tests? We later updated e2e to use node tests/e2e_runner.js instead of using npm run e2e, so maybe this is working now.
Could you check it out?
if it doesn't work, I think we should just kill the --link-cli functionality altogether.

This was intended to reduce the time it takes to scaffold a new project by skipping re-installing the angular-cli package inside the project's node_modules. It links to the angular-cli global package and when npm install runs, it finds the symlink and skips over. Reduces the time with more than 60-70%

Except, the problem with this behavior (as documented in #2086), is that it makes everyone hit by the node_modules inside the angular-cli repo folder being deleted, due to https://github.com/npm/npm/issues/10343, which is why #2086 changed it as I understand.

It looks like it only affects developers who have angular-cli repo locally and npm linked it.
For developers that just install angular-cli globally, it works and saves a lot of time and space.
npm i -g angular-cli
ng new myproject --link-cli

=> Global installation of angular-cli is not affected. So as @hansl said, the issue could be with angular-cli e2e tests but the build in appveyor went well for Node 5 so please keep this functionality.
And here are some metrics:
Project size:

without link: 218MB
with link: 60MB

=> 72% smaller
Command time:

without link: 5 min 40s
with link: 1 min 23 s

=> 76% faster

My timing ratios are similar to those from @aecz - although it sounds like there is a remaining issue here (--link-cli works with an ordinary global install of CLI, but with a local dev repo who linked that one globally? I didn't try it on the same machine with my source checkout), it seems worth fixing as the user experience is so much better. In particular it is much better for developers on Windows machines - for historical technical reasons I have forgotten, the file system implementation in Windows performs well reading and writing huge files but not so well reading and writing a large number of small files.
Is it possible that this link option could be polished sufficiently to be made the default?

A proper test as I imagine would be to skip NPM installation and try all the steps manually like:
npm rm -g angular-cli
npm cache clear
npm i -g angular-cli
ng new myproject --sn
cd myproject
npm link angular-cli
npm i

If this doesn't affect the folder of the globally installed angular-cli, then this means that https://github.com/npm/npm/issues/10343 affects developers who have angular-cli repo locally as mentioned above (which will still need to be warned in docs or something).

As mentioned in https://github.com/angular/angular-cli/pull/2250#issuecomment-248537631, this change was introduced in https://github.com/angular/angular-cli/pull/2086 to address https://github.com/npm/npm/issues/10343.
https://github.com/npm/npm/issues/10343 is very well summarized in its title:

npm install after npm link will "steal" dependencies from linked packages

It currently has the big-bug label in https://github.com/npm/npm. This means that it is a big bug and hence a big problem. For some reason or another it might not be affecting you in particular, but it's still an outstanding problem in npm3.
It's not very relevant that switching the order of npm link and npm install would make it faster if it potential breaks your install.
The --link-cli option is solely meant for working on the CLI while also testing changes on a project. The difference in install times is irrelevant for users because this is only used for development. It doesn't make any sense at all to make it the default because that completely sidesteps the point of having a local version.
If you want to use the --link-cli option for anything but CLI development, you do so at your own risk. Please don't open issues regarding alternative uses of this options.

I think the flag --link-cli for originally intented to link to the global version of angular-cli as stated in #778 .
For those who wants this behavior and do not have angular-cli repo linked locally. You can use these commands:
npm i -g angular-cli (unless it is already installed)
ng new --link-cli --skip-npm myproject
cd myproject
npm install

Much faster and lighter. Perfect when you make a demo of how great is angular-cli.

@aecz it's true that initially that was the purpose of --link-cli, but as it stands at the moment there are several reasons why this is a bad idea:

the CLI started having a build step
the CLI started having subpackages
doing npm install after npm link can steal dependencies

Thus we cannot neither recommend nor support that usage.

Since it turns out that the NPM bug gets in the way of this efficiency/speed initial purpose, would be wise to park the link feature out of the way somehow? Here are a couple of ideas come to mind:

Remove --link-cli, and people developing type an extra command to link manually?
Rename it something like --link-for-cli-development or some other name that tries to clarify its more narrow purpose?
When executed, make it notice it has been linked to a global installation, and print out a warning?

Offhand it seems that one of these could save some trouble for people who make their way into this feature somehow, are enthused at the apparent initial project-setup speed improvement (dramatic on Windows) without realizing the problems.


Location not opening in new tab.

Please check URL: https://keralarescue.in/map/#

Anyone already working maps. Please do necessary changes in JS file.
https://github.com/IEEEKeralaSection/rescuekerala/blob/master/static/js/map.js

PR #403 tested and verified.

Close this issue.


move data in edb does not make it available for the pull server

When moving data from mdb to edb or sql to edb, the pull server will not see the inserted records.
moving data out of edb to mdb or sql will make it available to the pull server.
Investigate what needs to be done before the pull server will see the records. One thing I see is tat inserts by the pull server code make use of update.SaveAndGotoBookmark(); which is not implemented in the current dscpullserveradmin code for set-eserecord

Found the issue where the pull server would try to cast configurationnames / statusdata and errors from string[] to generic list [string]. Fixed by type casting to generic list during write


Sema: Allow re-declarations of typealiases in constrained extensions with different generic signatures

Associated type inference will synthesize typealiases in
constrained extensions for conditional conformances, but
then we might later flag them as re-declarations.
Let's not do this, since name lookup does check if generic
requirements are satisfied, so such redeclarations are not
in fact erroneous.
Fixes rdar://problem/68933045.

@swift-ci Please smoke test

@swift-ci Please smoke test

@swift-ci Please test source compatibility

@swift-ci Please test source compatibility


Implement mlnet telemetry in AutoMLService

[ ] ApplicationExitEvent
[x] ExperimentCompletedEvent
[x] ExperimentIterationCompletedEvent
[x] InferColumnsEvent
[ ] MLNetCommandEvent
[x] SystemInfoEvent

ApplicationExistEvent and MLNetCommandEvent won't be implemented inside Model Builder cause it's mlnet cli specific

those telemetries are ones that implemented in cli, so we'd better do the same thing in AutoMLService so ML.NET can still fetch data from it's users
@justinormont Please take a look and see if I miss something

@justinormont, it'll probably end up in out VS Telemetry. We'll have to work with Duy on how to join it with CLI data.

Any solution is fine. It seem dual logging is more simple for the moment. Other choices I see is forwarding between services, or giving AutoML folks read access into your telemetry stores.

@LittleLittleCloud I think it's logging things twice.

Seems I forget to unsubscribe AutoML events, it will be fixed at once

Sends Duplicate Events

Doesn't send the model builder session id.


Add save() call after removeIndex in docs

Closes #1391
Adds save() call after calling removeIndex and removeIndexByName as it's necessary to do that now.
It should be noted that on https://book.cakephp.org/4/en/phinx/migrations.html#working-with-indexes, they already had the save() call, which makes me wonder where it's pulling its sources from for its docs as I could not find any branch in the repo that had this.

Looks good!


Update how-to-prerequisites.md

@nigums : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


#3480 Fix new ssh key adding issues

https://github.com/gogits/gogs/issues/3480
Added regular exp match (108) and remove training new line (111) that cause system to think its an ssh2 key.
tested with Windows OpenSSH and OpenSSH2 keys

I think what you did with regular exp match is overkill, all we need is content = strings.TrimRight(content, "\n")..

I did try few tools and sometimes the comments part come in a new line so this will cater of few edge cases.

I did try few tools and sometimes the comments part come in a new line so this will cater of few edge cases.

Any examples?

Did try tools below to copy the ssh-key public content

Git kraken
Windows Notepad
Notepad++

all of then append a new line at the end (which i think this is how ssh-keygen getenrate ssh-key [ssh-keygen from git 2.9.x])

Case 1 :
On Windows we when the old expression ran it replaces '\r\n' to '\n\n' which is two new line and it throws the whole thing out of desired behavior
old replacer uses ("\r\n", "\n", "\r", "\n"), but not sure why go is actually making "\r" more prioretized than "\r\n" by right it should find "\r\n" and first but it seems like it goes for "\r" first so we end up with ("\r\n" --> "\n\n")
fix for that was
1- define a regular expression that matches both environemts

regexp.MustCompile(\r?\n) // windows style optional with (\r?)

2- match against the regular expression and replace matches

content = newlineExpression.ReplaceAllString(content, "\n")

Case 2 :
On single line key will have an extra (Windows '\r\n' or Linux '\n') at the end to fix that we have

strings.TrimRight(content, "\n")
Which just remove any additional new line at the end which is useless in all cases

Case 1 :
On Windows we when the old expression ran it replaces '\r\n' to '\n\n' which is two new line and it throws the whole thing out of desired behavior
old replacer uses ("\r\n", "\n", "\r", "\n"), but n

We can use two strings.Replace() to fix this.

The key is not small (looking at scale) using two replaces will scan the key content twice and generate 2 new immutable strings, but if regular expression is used we scan it once then matches are replaced generation only 1 new immutable string.

Key is not big enough to have such concern, I prefer more readable code.

Cool, will apply the changes and push.

Hi, why not merging the PR?

Thanks!


Metrics "pending jobs" stopped working

Possibly other metrics too in version 0.8.92

Turns out the implementation was part of the "extras" Enterprise package.


ubuntu 16.04 python 3.7 cmake warning

Hi! on running the ""cmake .." command, I get this warning. I'm wondering if this an issue to be taken care of.
CMake Warning at python/CMakeLists.txt:3 (find_package):
  By not providing "Findpybind11.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "pybind11",
  but CMake did not find one.

  Could not find a package configuration file provided by "pybind11" with any
  of the following names:

    pybind11Config.cmake
    pybind11-config.cmake

  Add the installation prefix of "pybind11" to CMAKE_PREFIX_PATH or set
  "pybind11_DIR" to a directory containing one of the above files.  If
  "pybind11" provides a separate development package or SDK, be sure it has
  been installed.

-- Configuring done
-- Generating done

are you able to install it??


Compose external className

Hey!
I'm super excited about this! Having spent the last year diving deep into multiple styling approaches, this seems very promising - at a glance.
For now I have one question, I'd like to create a component with some baked in className but I also want to accept a class from the outside.
For example:
const Button = React.forwardRef<
  HTMLButtonElement,
  React.ComponentPropsWithRef<"button">
>((props, ref) => {
  return (
    <button
      ref={ref}
      className={css.compose(
        css.color("red500"),
        css.fontSize(5),
        props.className || ""
      )}
      {...props}
    />
  );
});

export default function App() {
  return (
    <div className="App">
      <Button className={css.color("blue500")}>Test</Button>
    </div>
  );
}

What I've tried to do is to just inject props.className into css.compose function - but seems Im going about it the wrong way.
What's happening is that the className I passed in works, but the previous baked in classes are gone. I expect to see a button with font size of 5 and blue. But it's just blue.
Would I need to use something like classnames?

Ah, turns out it works but I was spreading the props in the wrong place 😂

This doesn't seem to work for me. I don't know if it's a Next issue or not but I get these errors
TypeError: cannot use 'in' operator to search for "atoms" in "MyComponent"

composeIntoMap
./node_modules/@stitches/css/es/index.js:53

  50 | var item = atoms[i];
  51 | // atoms can be undefined, null, false or '' using ternary like
  52 | // expressions with the properties
> 53 | if (item && "atoms" in item) {
  54 | ^    composeIntoMap(map, item.atoms);
  55 | }
  56 | else if (item) {

compose
./node_modules/@stitches/css/es/index.js:117

  114 |     atoms[_i] = arguments[_i];
  115 | }
  116 | var map = new Map();
> 117 | composeIntoMap(map, atoms);
  118 | return {
  119 |     atoms: Array.from(map.values()),
  120 |     toString: toStringCompose,

I just call it like this className={css.compose(css.color('red'), props.className)}. Can't really see what should be wrong.

@peduarte How did you make this work? I want to use it like className={css.compose(css.color('red'), props.className)} for example but it blows up. Would be really nice if compose could be made to work with this so we don't have to use the classnames package.

My issue was that I was spreading props {...props} after className, so it was essentially overriding the classes


[edn] Don't propagate SW commands after a fatal error

bad029c9c7 fixes the propagation of SW commands, so that writes to the SW_CMD_REQ register don’t propagate in multiple Auto mode states. The default assignment in EDN’s main FSM still allows the propagation of SW commands, though, and these default assignments apply even to the fatal error state. Thus, SW can send commands to CSRNG even if EDN is in the fatal error state. A CSRNG command that returns genbits will get those bits stored in EDN’s internal FIFOs. EDN’s endpoints cannot access the entropy in the fatal error state, however, because the acknowledge FSM stops acknowledging requests. We don’t test this case currently, but we do have the EdnFatalAlertNoRsp_A assertion, which ensures that EDN does not acknowledge any requests in the fatal alert state.
For D3, we should tweak the main FSM so that it only propagates SW commands when needed (and certainly not in the fatal alert state).

@h-filali can you check whether this has already been fixed (and link the PR here + close the issue)?

@msfschaffner this issue should be fixed by #20293
I also added some checks in the DV if SW commands can be issued during auto mode but not in the alert state.
As discussed with @msfschaffner and @vogelpi, the latter part is not that important.

Thanks for getting back on this. Yes, I also think that specifically verifying that no SW commands are issued while in the alert state is not critical.


Uri.queryParametersAll: JSArray is not a subtype of type 'List'

From @jtmcdole on June 6, 2018 19:25
I expect this to run:
main() {
  var uri = Uri.parse('https://foo.bar.com/this/is/a/path?foo=foo1&foo=foo2&bar=baz');
  print(uri.queryParametersAll);
  print(uri.queryParameters);
}

Instead I get:
Uncaught exception:
TypeError: Instance of 'JSArray': type 'JSArray' is not a subtype of type 'List<String>'

Copied from original issue: dart-lang/site-www#909

You can try it here: https://dartpad.dartlang.org/e0fe1365f6094701c7632562a17e13b7

Thanks for reporting this issue @jtmcdole.
The error is only reported when uri.queryParametersAll is printed. It seems that there might be a Dart 2 type error in this code:
https://github.com/dart-lang/sdk/blob/8c20f26234f6a40066f7e2e802de913bc45ee7a3/sdk/lib/core/uri.dart#L1918-L1929
The call to _splitQueryStringAll(query) returns a Map<dynamic, dynamic> rather than the expected Map<String, List<String>>. That might causing the problem.
cc @kevmoo @kwalrath

Btw, DartPad is currently using Dart SDK 2.0.0-dev.59.0.

You can try it here: https://dartpad.dartlang.org/e0fe1365f6094701c7632562a17e13b7

The bug is in ConstantMap.from in the dart2js runtime system. It assumes that the input map has the correct key type, which isn't guaranteed by the uses.
We already have (untriaged) status-file entries marking dart2js as crashing on uri_test and uri_parameters_all_test.

Fixed by https://github.com/dart-lang/sdk/commit/b9381d337829ba872666f2233d27e5ce6315aa21


the switch does not work with if an argument is a Union (union splitting)

As stated, see the following example
julia> soundof(animal::Val{:dog}) = "woof"
soundof (generic function with 1 method)

julia> soundof(animal::Val{:cat}) = "nyan"
soundof (generic function with 2 methods)

julia> soundof(animal::Val{:cat}) = "nyan"^C

julia> soundof(animal::Union{Val{:human},Val{:man}}) = "meh"
soundof (generic function with 3 methods)

julia> @valsplit function soundof(Val(animal::Symbol))
           error("Sound not defined for animal: \$animal")
       end
soundof (generic function with 4 methods)

julia> soundof(:dog)
"woof"

julia> soundof(:cat)
"nyan"

julia> soundof(:man)
ERROR: Sound not defined for animal: $animal
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:35
 [2] macro expansion
   @ ./REPL[5]:2 [inlined]
 [3] (::var"#15#default_f#1")()
   @ Main ~/.julia/packages/ValSplit/MMCz3/src/ValSplit.jl:143
 [4] macro expansion
   @ ~/.julia/packages/ValSplit/MMCz3/src/ValSplit.jl:0 [inlined]
 [5] _valswitch
   @ ~/.julia/packages/ValSplit/MMCz3/src/ValSplit.jl:95 [inlined]
 [6] soundof(animal::Symbol)
   @ Main ~/.julia/packages/ValSplit/MMCz3/src/ValSplit.jl:145
 [7] top-level scope
   @ REPL[8]:1

julia> soundof(:human)
ERROR: Sound not defined for animal: $animal
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:35
 [2] macro expansion
   @ ./REPL[5]:2 [inlined]
 [3] (::var"#15#default_f#1")()
   @ Main ~/.julia/packages/ValSplit/MMCz3/src/ValSplit.jl:143
 [4] macro expansion
   @ ~/.julia/packages/ValSplit/MMCz3/src/ValSplit.jl:0 [inlined]
 [5] _valswitch
   @ ~/.julia/packages/ValSplit/MMCz3/src/ValSplit.jl:95 [inlined]
 [6] soundof(animal::Symbol)
   @ Main ~/.julia/packages/ValSplit/MMCz3/src/ValSplit.jl:145
 [7] top-level scope
   @ REPL[9]:1

julia> Pkg.status()
  [0625e100] ValSplit v0.1.0

julia> versioninfo()
Julia Version 1.8.0
Commit 5544a0fab76 (2022-08-17 13:38 UTC)

Thanks for noticing this issue! I've thought a bit about how to address it, and I think the main thing to do is alter the following lines of code to handle Union types as well:
https://github.com/ztangent/ValSplit.jl/blob/a10608fca33afc907902a133fdd86363d32c6b76/src/ValSplit.jl#L40-L50
I won't have to time to get to this for at least a couple of weeks, so if you'd like to take a stab and make a PR, go ahead! If not, the simple workaround is to just define separate methods instead of using a Union type.

I'll add that one reason I'm slightly reluctant to fully support Union types (as oppose to just warn people away from using them) is this makes it easier to end up with method ambiguity, e.g. if you defined:
soundof(animal::Union{Val{:human},Val{:man}}) = "meh"
soundof(animal::Union{Val{:human},Val{:person}}) = "bleh"

Ordinary dynamic dispatch will handle this case correctly and throw a method ambiguity error if you call soundof(:human) after defining the method:
soundof(animal::Symbol) = soundof(Val(animal))

Perhaps ValSplit.jl should replicate this behavior. Alternatively, we might want to discourage the pattern of using Union types to avoid method ambiguity errors, in which case I would just update the docs to clearly state that Union typed arguments are not supported.


Add readme example for omitting version

Hi @KSXGitHub @zkochan 👋
Quick PR to add a readme example for leaving out the version config input. This is is the solution for the Multiple versions of pnpm specified error messages encountered with #122.

Thanks for the reviews and merge!


Added logrocket

@nmaties  can you also rename the commit acording to CONTIBUTING.md? Should be something like
[Analytics] Added logrocket

@nmaties  can you also rename the commit acording to CONTIBUTING.md? Should be something like
[Analytics] Added logrocket


Underscores no longer allowed in devspace commands in v6

What happened?
Upgraded to v6.  Underscores no longer allowed in devspace commands.  Switching it to dashes worked.
What did you expect to happen instead?
Underscores allowed.
How can we reproduce the bug? (as minimally and precisely as possible)
commands:
- name: init_single_partition_topics
  command: ./kafka/init-topics.sh PARTITIONS=1 REPLICATION=1 TOPICS=db.al.predictions,db.builder.units,db.workflows.all.tables,db.workflows.datauploads,scriptsapi.transform.from.workflows.to.scriptsapi,wfp.processed.datalines.from.scripts,scriptsapi.transform.dead.letters.from.workflows,scriptsapi.transform.test.dead.letters,scriptsapi.transform.test.to.scriptsapi,scriptsapi.transform.test.from.scriptsapi,job.archive.commands

My devspace.yaml:
version: v1beta11
Rest not included.
...

Local Environment:

DevSpace Version: devspace version 6.0.0-beta.0

Operating System: mac

Kubernetes Cluster:

Cloud Provider: aws
Kubernetes Version: [use kubectl version]
Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.10", GitCommit:"eae22ba6238096f5dec1ceb62766e97783f0ba2f", GitTreeState:"clean", BuildDate:"2022-05-24T12:49:54Z", GoVersion:"go1.16.15", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"21+", GitVersion:"v1.21.12-eks-a64ea69", GitCommit:"d4336843ba36120e9ed1491fddff5f2fec33eb77", GitTreeState:"clean", BuildDate:"2022-05-12T18:29:27Z", GoVersion:"go1.16.15", Compiler:"gc", Platform:"linux/amd64"}

Anything else we need to know?
No

/kind bug

@rmcclaincf thanks for creating this issue! Yes we can allow underscorces again for commands


Fix incorrect schema example in Mutation page, add notes regarding nested input types

Summary:

Fix incorrect schema in Schema-first example of Mutations setup (this page)
Add a note to describe a potential issue that will cause introspection schema to be invalid without proper validation and description from GraphQL/Playground side
Closes #3805

Good catch. Thanks a bunch! :)
Could you maybe move the note about the nested input types to the bottom of the input-object-types.md file?
⚠ Note: Object types nested inside of an input object type need to also be declared as input types.

@tobias-tengler yep, sure. Done

/AzurePipelines run


APIs and Microservices Projects Introduction

@Camchord, thank you for taking the time to submit this pull request! Unfortunately, this repo has been archived and everything was moved over to https://github.com/freeCodeCamp/freeCodeCamp. I believe all the intro stubs were updated already, but please take a look at any open issues and we'll be happy to take a look at any future pull requests that you submit.

That's alright! There have been a lot of changes in the past couple of months, so I'm still getting a handle on where everything is in the big monorepo. You can find all of the course section intro pages here: https://github.com/freeCodeCamp/freeCodeCamp/tree/master/client/src/pages/learn


Additional Norm layers before feeding features into FPN

Hi, I just noticed that when applying the backbone model to downstream tasks, it usually adds additional norm layers for each stage's output, like here in swin transformer.
Are there any particular reasons for this? If so, any insights/paper references would be appreciated. Thanks!

The layer norm after ffn is called pre-layer norm, There is a survey  that mentions this.


Question on why top tag is removed at paste time

In _pasteHTML of markup.js:
    // If the anchorNode is text, and the fragment's first child is not a format node, then we will
    // replace the fragment's first child with its contents.
    if (_isTextNode(anchorNode) && !firstChildIsFormat) {
        const newFirstChild = _fragmentFrom(newElement.firstChild.innerHTML);
        newElement.firstChild.replaceWith(newFirstChild);
    };

I am curious why the top of the first child element of a fragment is removed.
So if a fragment-to-paste is

...

the table tag is removed before pasting.
But that still leaves a fragment of:

..
 etc.
I am curious why the code chooses to remove the table tag?
Or, another example:
fragment =

then OL is removed, but still leaving the fragment with the LI tags.
Once again, what is the purpose of removing the OL tag?
My scenario is, having selected a P tag:

Some text that is selected

I want to paste in a table to replace the P tag:

....
.
But the table tag is removed at paste time, leaving something not recognized as a table by MarkupEditor.
Any suggestions appreciated!

I won't be at a computer to take a look at this for another week. If I recall correctly, the issue is that the fragment is always "proper HTML", so if you copy a list item in a list, the fragment contains an empty list with just the one item. (I could be wrong, I'm not able to look at it now). So, when the paste is done in MarkupEditor, you can end up with incorrect HTML if the entire thing is placed at the insertion point. I suspect that if the logic to remove the first parent was removed, and you ran the paste tests, a number of them would fail. I will think about a way to debug or fix and post more comments later, but as I say, I won't be able to do it myself for a while.

I am back and finally able to take a look at this.
If I open up the SwiftUI demo and select the table in the "Tables" section of the text, I can paste it into a blank paragraph or to replace a paragraph. In this case, the html looks like this:

The table header

The table body

with two columns

If I select a paragraph and paste the table (i.e., triple-clicking on a word in a paragraph so the whole thing is selected and pressing Ctrl+V), it does the replacement properly.
If I place the insertion point inside of a paragraph, or even at the beginning or end of a paragraph, the anchor node is a text node.  Having a block element inside of a block element (like
This is
...
 some text
 or
This is
...
 some text
) would be invalid. The code you highlighted:
    // If the anchorNode is text, and the fragment's first child is not a format node, then we will
    // replace the fragment's first child with its contents.
    if (_isTextNode(anchorNode) && !firstChildIsFormat) {
        const newFirstChild = _fragmentFrom(newElement.firstChild.innerHTML);
        newElement.firstChild.replaceWith(newFirstChild);
    };

is supposed to prevent this from happening, but it's definitely a bug for the table case. As you note, it really ends up looking like this:

This is a

The table header

The table body

with two columns

 paragraph

Ugh. So I need to fix it. Off the top of my head, I should be testing for "If the anchorNode is text, and the fragment's first child is not a style element", but I'm sure there are more complications. I did not have a test for the table case, but will have one after I fix this. Thanks for flagging it and debugging. If you have other cases like the table one you cited, please let me know, too.
Two other things I noticed:

I'm missing a closing > in the "with two columns" cell of the demo table!
My putting in
,
, etc. into a table may not be allowed according to the formal HTML spec. I'm using
 and
-
 not as sections but as elements whose size is specified in CSS without introducing a MarkupEditor-specific class. The thing that makes me feel better is that the W3C Markup Validation Service does not even flag a warning on

This is some text

, whereas
This is
...
 some text
 is an error.

I should have this fixed sometime next week, I expect.

Hi Steven,
Thanks for the followup and the fixes. I spent a few days looking at the paste code. My use case is to absorb restricted HTML from an LLM service (such as from OpenAI) into the selected text (range).
In the end I took a different approach for _pasteHTML(). I wrote a separate _otherPasteHTML, with an approach somewhat based on a general graph analysis. I've added a very high level sketch here, and if you're interested, I am happy to provide a more detailed description. It works very well for tables, lists, sub-lists, etc.
What I've found is that the code is a few pages and seems to be quite robust. Once again, if you're interested (and not to waste your time), I can provide the next level of pseudo-code.
There is still some fine tuning left, but overall the  approach seems to be working well.
cursor: Starts at the beginning of the selection, and then is moved as new content is pasted in.
Input: An array of top level nodes such as P, Table, TD, LI, OL, etc.
textOf(N):  will go into node N until a text node is reached.

left = text from left part of startContainer
right = text from right part of startContainer or null

cursor = textOf(startContainer)
for N in input {
     parent = parent of cursor that is not a format node
     superParent = parent of parent

     if cursor is text {
           if input.count == 1 and N is a
 {
                  merge text contents of N into cursor, handling left/right
                  move cursor
           }
           else if parent is LI and N is a list {
                  add all the N.LI to after parent
                  move cursor
          }
          else  if parent is P, and superParent is LI, and N is a list {
                 split cursor, and add N after  P
                 move cursor
          }
         else {
                 split cursor, and add N as a child of P
                 move cursor
         }
    }
    else { // Cursor is not a text, but something like a P, table, etc.
                 add N to after cursor
                cursor = N
    }
}

I'd definitely be interested in more detail. Does it still use the preprocessing of HTML in _patchPasteHTML and which is tested separately in BasicTests/testPasteHtmlPreprocessing? Do you know if it passes the existing testPasteHtml, testUndoPasteHtml, and testRedoPasteHtml tests?

Yes, _patchPasteHTML is used to cleanup the fragment before inserting, so those tests should pass.
testPasteHtml -- Not yet had a chance to try.
testUndoPasteHtml, and testRedoPasteHtml tests. To simplify (and to get to MVP quicker) I simply take a snapshot of the entire HTML: undo is just the restoration of a snapshot.  This means edge cases about knowing how to rejoin elements is no longer a concern, and the undo is solid. Memory may be a problem, but cross that bridge when ....
For the moment I've created a parallel paste function called otherPasteHTML() which is used only to absorb responses from an LLM.
Here is a more refined pseudo-code. I am happy with the structure; it can be incrementally enhanced. I've attached a diagram that I've used to help me understand the scenarios.
/**
 Pseudo-Code

 MU.otherPasteHTML(){
    _patchPasteHTML <----
    _otherPastedHTML
 }

 _otherPastedHTML(){
    - some prep
    - take snapshot
    - starting cursor = first text node of startContainer. Ignore anchorNode
    - _otherInsertHTML()
    - push snapshot into undo
    - set selection range
 }

 _undoOtherPasteHTML() {
    retrieve full HTML from snapshot in undoer data.
    MU.editor.innerHTML = snapshot
    re-create range
 }

 _otherInsertHTML(cursor, left, right, fragment):

 Input Parameters
 cursor: Text node at start of selection <---- only start at a text node
 left: LHS side of text to keep
 right: RHS side of textto keep: if endContainer is not same as start, then right=""
 fragment: HTML fragment to paste in.

 // This is the core algorithm, use 6 cases.

 for child in fragment.child:
    N = get actual element of child, skipping format elements

    if cursor is text node {
        if required, split right text away from left text
        process one of 4 cases (see diagram)
            case 1: Merge into single text
            case 2: Unroll N list into existing list
            case 3: Add whole N list as a sublist
            case 4: Add N as a sibling to cursor
        move cursor to next cursor
        // Next cursor will never be a text node
        // After this, everything will be case 5 or case 6
    {
    else if cursor is LI {
        // case 5: Continue on list
        add new LI after cursor
        add N to new LI
        remove empty LIs from list
        move cursor to N
    }
    else {
        // case 6: General append
        Add N as a sibling to cursor
        cursor = N
    }
 } // Process next N

 */

Diagram:

I ended up fixing the existing do/undo/redo code to handle table, list, and blockquote so they work properly. They are each cases of "top-level" elements for the editor, and I clearly wasn't handling paste properly for any of them. They have the added complication that the
 and
 are also top-level elements but will be embedded within table, list, and blockquote to indicate the paragraph style of text elements. This results in even more gnarly-looking code than before, which is to say none of it is pretty. I am still looking longingly at your well-explained flow, but in the end, I was afraid I would be chasing down too many edge cases that I had already dealt with in the existing flow.
I added in proper test cases to testPasteHtml, testUndoPasteHtml, and testRedoPasteHtml for table, list, and blockquote. These would probably be useful to you to run thru if you want to keep using your otherPasteHtml. One of the difficulties, at least with my existing flow, was dealing with pasting around or on empty lines and at the beginning or end of the document. From an undo perspective, I think a lot of those difficulties just go away when you're using the "replace the entire document" approach on undo. I do a similar thing for undo/redo in tables, but the scope is the table itself, not the document. I was a bit nervous about whether replacing the table would make too much an assumption about the size being manageable, but I did that anyway and it definitely makes life easier. I am still not sure I'd want to do that for the entire document in general, mainly because I just don't think I can anticipate the way people will use this thing in the end!
In doing this work, I noticed there is not a way to get out of a table by typing once your cursor is inside of it. So, for example, if you add a table at the end of your document, you won't be able to add a new line below it. I'm going to file an issue about this and will find a time to work on it sometime. Basically, I need to do "special handling" of Enter when you're in a table, like I do for list. This is pretty easy to do using the same pattern I did in list. It does add some complications on undo/redo, though, and since you can embed a list in a table and list is already doing special handling on Enter, I have to sort out how to deal with that, too.


Crash when starting the game

Describe the Bug
latest.log
crash-2022-07-12_07.58.21-client.txt
Reproduction Steps
1.start the game
Expected Result
Started successfully
Screenshots and Videos
No response
Crash Report or Log
No response
Operating System
windows10
Mod Version
0.5.0
Minecraft Version
1.18.2
Other Mods
There should be a display in the log and crash, but there are a lot of mods
Additional Context
No response

Could you try with no resource packs and without Continuity?

I found out the problem, the conflict caused by shetiphiancore

@TropheusJ thanks for commenting on my video. This mean a lot ❤

Very weird issue. shetiphiancore is closed source so I really can't look into this. Report to them I guess.

Very weird issue. shetiphiancore is closed source so I really can't look into this. Report to them I guess.

@TropheusJ
After investigation there, it was found that it was actually a conflict with Myron
https://github.com/Haven-King/myron


[Sleep Quiet] Can't edit any setting

Affected hardware version
Bangle 2
Your firmware version
2v23
The bug
When I click on the app I have three settings (Quiet Switch, quiet mode, exit), however only Exit works. Clicking on the others only vibrates the watch, the setting won't change.
I should be able to edit the setting.
Just click on the watch button, then Sleep Quiet and try to change a setting.
I have SleepLog installed and working.
Installed apps
Launcher (v0.21)
Bluetooth Widget (v0.09)
Lock Widget (v0.08)
Battery Level Widget (v0.12)
Messages (v0.62)
Weather (v0.26)
Alarms Widget (v0.02)
Pedometer widget (v0.22)
About (v0.15)
Message Icons (v0.07)
Anton Clock Plus (v0.11)
Message Widget (v0.06)
Message List (v0.05)
Simple Timer (v0.09)
Sleep Log (v0.18)
Scheduler (v0.26)
Notifications (default) (v0.14)
Android Integration (v0.36)
Settings (v0.72)
Alarms & Timers (v0.48)
Bootloader (v0.62)
Sleep Quiet (activate quiet mode when asleep) (v0.01)

If you connect the IDE, do you notice any errors emitted when you change those settings? @storm64 @Ishidres tagging with you two being the main devs

I'd like to hand this over to @jla-42, as he is the creator of this app. From the bug description the sleeplog interface does not seem to be the problem.

will look into it.

If you connect the IDE, do you notice any errors emitted when you change those settings?

the printout from the IDE would be really helpful.
Thanks!

Hello @Tsht, I could reproduce the issue and (hopefully) fix it.
I created a pull request, which is waiting for a review before it can be merged:  #3486
If you would like to test it right away, you can do so in my fork: https://jla-42.github.io/BangleApps/?q=asleephttps://jla-42.github.io/BangleApps/?q=asleep
Thank you for finding the defect!
Best wishes
J

I think the file is created with v0.02, I saw this in the IDE (quietSwitch.json). It's empty ({}) but I can't still edit settings... I have no specific output on the IDE.

@Tsht >> please run this command in the ide, to erase the broken file, after that, the version 0.02 will during the first run create a new one populated with default values. hope that helps.
require("Storage").erase("quietSwitch.json")

It's working after erasing the file, thanks ! ^^

Cool, thank you for testing! So we can now close this ticket.

Thanks for the fix @jla-42!

@bobrippling >> thank you for verification and closing!


Incoming interface

When building lowlevel network services with multiple interfaces, its often useful or even necessary to know the specific interface from which a Message was received from. This change uses the already existing packagecon in connUDP to get the interface from the operation system and stores it in the Message.

I like the solution in https://github.com/plgd-dev/go-coap/tree/jkralik/feature/udp-propagate-interface

@jkralik I tried to see if your feature branch provides what I need, but I got a compiler error net/dtlslistener.go:124

want me to change this change to return the ControlMessage instead of interface index?

want me to change this change to return the ControlMessage instead of interface index?

Sorry @HRogge we are working on a release and some urgent bugs, hopefully everything will get sorted by the end of the week, we will check your work once we're finished with that. Thank you for your patience.

want me to change this change to return the ControlMessage instead of interface index?

@HRogge Absolutely, the control message is more general than the interface. Could you please enhance the content at https://github.com/plgd-dev/go-coap/tree/jkralik/feature/udp-propagate-interface and prepare it for merging? 🙏  ?

Difficulties with pion-transport dependency go away when I merge the current master into https://github.com/plgd-dev/go-coap/tree/jkralik/feature/udp-propagate-interface

@jkralik any timeline when/if you want to merge jkralik/feature/udp-propagate-interface? I don't know at which part the branch is lacking, the feature that I tried to introduce with this PR is already present and working in your branch.

Closing the PR because the feature has been implemented by #510


Bitwise Operations and their Use Cases in Python

Proposed title of article
Bitwise Operations and their Use Cases in Python
Proposed article introduction
Each language has different operators including arithmetic operators, logical operators, relational operators and bitwise operators. This article delves into bit-wise operators and their use cases in different scenarios. Sometimes it may not be apparent to a developer that a bitwise operator can achieve the objective more effectively. In this article we will gain better insights to help us use bitwise operators more intuitively.
Key takeaways
By the end of the article, the learners should have an understanding of :

Bitwise Operators
Difference between logical operators and bitwise operators.
Uses cases of bitwise operators with examples from sample interview question,

Article quality
This article intends to provide an in-depth look into bitwise operators by providing examples and use cases. The article is useful to beginners and more experienced learners who are aware of bitwise operators, but do not know when to use them. I will offer solutions using a brute force approach and another using bitwise operators to demonstrate how to use the operators more intuitively.
References.

Bitwise Operators
Boolean Operators

This topic appears to be quite similar to -> https://dev.to/freddthink/bit-wise-operations-and-their-use-cases-594n We focus more on unique projects. Feel free to suggest another topic. Thanks


How did you made translated recipes names for specific language?

Is it getting translation for names from some database?

Is it getting translation for names from some database?

Yes, I use two databases, one for Russian, the other for English, they are identical, the only difference is in the language

Is it getting translation for names from some database?

Yes, I use two databases, one for Russian, the other for English, they are identical, the only difference is in the language

Ah okay


UnsafeCommandBuffer and SyncCommandBuffer no longer contain a command pool reference

[x] Added an entry to CHANGELOG_VULKANO.md or CHANGELOG_VK_SYS.md if knowledge of this change could be valuable to users
[x] Updated documentation to reflect any user-facing changes - in this repository
[ ] Updated documentation to reflect any user-facing changes - PR to the guide that fixes existing documentation invalidated by this PR.
[x] Ran cargo fmt on the changes

This was brought on in an attempt to make #1430 a bit easier to implement, as the removal of the associated type makes it feasible to keep dyn CommandBuffers around. But it also makes more sense in the grander scheme of Vulkano design, where "Unsafe" types aren't expected to keep resources alive. Now it's instead the AutoCommandBuffer that is responsible for that.

I have thought this over and think it's not quite ready yet. I think they should hold a reference after all, but differently.

Is this PR ok to be merged too, or do I need to change something?

@Rua The code looks fine at a first glance, but I would like to spend more time to understand the topic, and especially the question you raised in #1430. And I would like to proceed with review tomorrow. Does it block your current development?

A bit, yes. I have another PR waiting that converts the code to the 2018 edition and fixes some clippy issues. But because that touches the entire codebase I'd rather wait until everything has been merged so there's less conflicts. I don't mind if you take your time though, I appreciate a thorough review.
As for that question, I think I already answered it for myself, and I think I know how to tackle this problem. My plan is to keep a record of all the images and buffers added during the build process, with their accesses and such, inside the finished SyncCommandBuffer. Then, when it needs to be added as a secondary command buffer to a primary one, this record is "replayed" and the builder will do its usual work adding pipeline barriers.

@Rua Understood. ok, I will review and try to promote it today, just a bit later. I'm reviewing PRs all the day today, just want to get a short break :)

Hah, very understandable. You did great work today!

@Rua I read original Issue #1430 and the implementation more carefully, and I have a couple of thoughts about this topic.
First, regarding this Pull Request. While it is probably not too critical to clear the enforcement of keeping the pool in unsafe API, this move will make related objects even more unsafe. There is no formal definition of the levels of "unsafety", but in my opinion the lesser rules to check unsafe code introduces the less logical errors users will miss. This is not only important for the crate users, but also for the crate maintainers/contributors, especially in the future when and if the current active team of contributors and maintainers completely changes. So, basically this change could complicate future maintainability. Which is a risk for the project.
However, this risk is acceptable if it worth the benefits we would gain in the end. And that is about my second question. Honestly speaking, I don't see why do we need AutoCommandBufferBuilder::execute_commands method at all. In it's unsafe form it was probably left in the API for some rare edge cases, because the normal safe synchronization was intended to be managed by GpuFutures, and it is capable to cover almost all use cases if the user keeps command buffers relatively short. If the users need to put something in between the execution sequence they could organize this execution through a series of small command buffers put together in a single GpuFuture, and they could even reuse and remix these command buffers many times.
Another controversial thing is that creation of the Command buffer has relatively small performance cost which is also a benefit of Vulkan/Vulkano, that I think we should persist. And I'm not sure if it would be feasible by introducing safe execute_commands. Also as I understood from the Issue #1430 making it safe would require a lot of work of duplicating the implementations already covered by GpuFuture. As such it could complicate maintainability too.
To sum up, I would like to better understand how safe execute_commands would benefit Vulkano users, which cases would it cover that Vulkano is currently is not able to cover well, and how would it fit in the current Vulkano code design. The costs of this change might appear to be too high for us, and maybe we need rethink the approach.

The execute_commands command is tied to the distinction between primary and secondary command buffers, and is essential to multithreaded rendering. The distinction is:

A primary command buffer can be submitted to a queue, must contain whole render passes (each start must be matched by an end), and can have secondary buffers embedded inside it using execute_commands.
A secondary command buffer can't be submitted to a queue, it must be executed by embedding it in a primary command buffer, and for rendering they must fit entirely inside a render pass (can't start/end passes in them).

A command buffer builder is neither Send nor Sync, so you can't pass it between threads during the recording process. Therefore, if you have a lot of command buffer recording to do and want to split the work up into multiple threads, then your only option is to record a separate secondary command buffer on each thread, then build them, and then send the finished secondary command buffers (which are Send + Sync!) to a master thread where they are embedded in a primary command buffer via execute_command, then submitted. You can't do this with primary command buffers, because they must contain whole render passes.
The ability to multithread your recording is one of the big power features of Vulkan, so lacking that ability in Vulkano is a big downside that has bothered me for a while now. That's why I have been trying to make it safe. And I definitely do think it's possible and desirable, and execute_commands should definitely not be removed!
Regarding the unsafety of this particular PR, the worst that can happen is a Vulkan memory leak, which is not good but not UB either. What I could do is have UnsafeCommandPoolAlloc contain a reference not to any CommandPool, but specifically to UnsafeCommandPool.
However, I must note that the other "pool" object type, UnsafeDescriptorSet, doesn't implement Drop currently either and will leak if it goes out of scope instead of being returned to its pool. In this case, it would actually be UB to implement Drop naively, because the reset method on the pool will immediately free any descriptor sets it owns, and if Drop frees it afterwards that's a double-free. But that's a matter for another discussion, I just wanted to point out that Vulkano already has a "leaky" type. The reset of command pools doesn't free command buffers, so for them Drop is safe.

@Rua ok, that all makes sense. Thank you for detailed explanation of the use case. I see that the checks are failing but the errors seem to be related to the recent issues in master that already fixed there. I'm going to merge your Pull Request.

@Rua PR is merged. Thank you! Let's proceed with other steps towards the plan.