Get flake8 errors to fail the build on Travis

This adds set -e to all bash scripts. My understanding is that using set -e in bash scripts is always a good idea: if one of the command fails you want to stop the script and exit with a non-zero exit code.
As mentioned in #106, flake8 is run in the JOBQUEUE=none build but does not fail the build.
Look at this Travis build for an example where the flake8 has some errors but the Travis build stays green.

The commits are a bit convoluted on purpose to double-check that this PR is doing what it says on the tin. Please select squash+merge if you are merging this PR!
If I got this right this is what should happen:

Travis status for the first commit should be green although I added a flake8 violation. This should reproduce the problem that indeed there is a problem with our CI setup.
Travis status for the second commit should be red: flake8 violation should be detected
Travis status for the third commit should be green: I reverted the flake8 violation

Please select squash+merge if you are merging this PR!

To be perfectly honest, I would be in favour of only enabling squash+merge in the web UI!

At the moment, I can't get the Travis build to fail for some reason (second commit). Need to debug this a bit more ...

OK I think this seems to be failing as expected now. See this Travis build.
The problem was me trying to outsmart Travis by pushing multiple commits and stopping/restarting the Travis builds manually (related to the auto-cancel functionality being probably turned on for dask-jobqueue) ...

Looks like there are side effects on sge builds 🙁.
I'm relieved that it did nothing to pbs and slurm ones though.

In a perfect scripting world it would probably be true, but I'm a little afraid of what could happen here: failing docker images or so one.

Do you have an example where using set -e could be a problem? In my experience it is better to fail early and this is what set -e is doing. The only time I found set -e slightly annoying was when I had to do a grep in a script that potentially would not match anything (and so would exit with an exit code equal to 1) but there are work-arounds for this.

Looks like there are side effects on sge builds slightly_frowning_face.

Hmmm good point I'll have a look.

Do you have an example where using set -e could be a problem?

Not right here, I can just tell that if I had used it in all the scripts I've written, a good part of them would probably fail 🙂, and this is probably not a good thing!

Hm, it seems to trigger random failing in PBS too.
From what I can see, there is not always files in /var/spool/pbs/spool/. Which is normal because PBS must remove or move those if everything is OK I think. It is probably a matter of how fast previous command are ran and if PBS had the time to do its internal things. Those commands were mainly to have some more informations if tests are failing though.
If we want to be OK with the set -e command, we probably need to use a if directory not empty before that, or remove the line. One example of problem we may encounter here.

Although Travis is green, I don't think this one should be merged quite yet.
Basically using set -e has unintended consequences in Travis. One that I bumped into with the random PBS failure: after_script failure should not mark the build as fail but it does when you use set -e. I was able to reproduce this unexpected behaviour on a toy project. This is probably loosely related to https://github.com/travis-ci/travis-ci/issues/3586#issuecomment-274585174.

I went for a less intrusive change, basically using set -e and set +e around the
before_install, install and script steps directly in the .travis.yml.
About the impact of a "global" set -e in Travis I found similar comments:
https://github.com/travis-ci/docs-travis-ci-com/issues/1672#issuecomment-363230601

It would be good to mention that using set -e inside .travis.yml itself may break things +1 Or to remind people to do set +e as soon as possible after set -e

https://github.com/travis-ci/docs-travis-ci-com/issues/1672#issuecomment-363234263

warning Don't use set -e in .travis.yml, otherwise the build may stop unexpectedly because of benign non-zero status in internal travis scripts (see issue #1672).

I think we are good. Adding set -e/set +e in .travis.yml feels like the simplest solution.

Merging this then, the soonner we have flake, the better!


Support for different output formatter

The test runner looks very promising in combination with common CI tools. At the moment, only a simple plain text output is given. It also only contains information about passed suites and failed tests. There is no report about all executed tests.
It would be usefull if the output format of the final report could be choosen, so that common CI tools as Jenkins, TeamCity, ... can be supported. Either by including them in the tool or providing a plugin API.
An alternative is to provide a simpel machine readable format (e.g. JSON) that can be processed further to be consumed by other tools.
For some tools it would not just be interesting to receive a final report, but also on the fly progress information.
I know this is a very broad feature request, but I'm not sure what your current plans for this are.

Ok, there is a verbose option to get all test results. But it would be still useful to have a machine readable format.

I was going to mention the verbose option (this give you the passed test suite output). And yes, the JSON output sounds like a good feature request :) I'll add it to the list.
Also we'll be working on enabling Dart tests in common CI offerings specifically. Currently this is close to completion for Travis CI (although browser tests are disabled because they are having issues installing content_shell but we'll work on that) and we are working with drone.io too. (Feel free to suggest more :D)

Some things that might be useful in JSON output: Test suite name, test name, test group, test duration, test result (pass, exception, failed), test failure description, test log output. Skipped tests would be nice to, but unittest doesn't allow this at the moment.

I've got a branch that allows you to specify a custom Dart template for VM tests that can enable this type of thing.  We are using it along with some tweaks to dart-junit to get VM tests to drop JUnit-friendly XML files for parsing by CI.  So far, I don't have a solution for Browser tests, but maybe just a flag to drop the console/error output in a predictable place to be parsed by a later script into JUnit-friendly XML would work.  I would be interested in talking with the maintainers if my branch would be something you'd accept on this repo.


log.smtp receiver configure error

when I configure log.smtp
[log.smtp]
#...
RECEIVERS =<EMAIL_ADDRESS>#or ["a<EMAIL_ADDRESS>
got error
2015/03/23 17:26:05 [I] Gogs <IP_ADDRESS>9 Beta
2015/03/23 17:26:05 [I] Log Mode: File(Info)
2015/03/23 17:26:05 [log.go:294 Error()] [E] Fail to set logger(smtp): invalid character 'a' after object key:value pair
r 'a' after object key:value pair

Thanks for your report!

Is there any special meaning of adding bracekt here?
It seems that removing bracket can fix it .


COMPAS UPDATE - Key management for LDEPF binding

User Story
DIGITAL inputs are characterized in LDEPF by InRef which have a @purpose  DYN_LDEPF_DIGITAL CHANNEL 36_1_BOOLEAN (example).
However, at ExtRef level, you can have a Boolean but also an Enum. Example: DYN_LDEPF_DIGITAL CHANNEL 36_1_FaultDirectionKind_13_dirGeneral_1
If you bind the ExtRef as described above, the process that binds the InRef will be unable to make the association between the InRef and the ExtRef, as we won't have the same character string.
An exception will have to be made when updating the InRef for all DIGITAL CHANNEL functions. For example, "DYN_LDEPF_DIGITAL CHANNEL 36_1" and no longer "DYN_LDEPF_DIGITAL CHANNEL 36_1_BOOLEAN".
As a the InRef update process
When we are linking InRef and ExtRef
So a shortened key will have to be used to enable correspondence between InRef and ExtRef
Acceptance criteria
Check that during the InRef update process, the key used to match the InRef to the Extref is shortened so that there is a match.

Linked to #231


[bug] Could not get the metadata of snapshots

Which version of the SDK was used?
v0.5.0
Which platform are you using? (ex: Windows, Linux, Debian)
Linux
What problem was encountered?
Firstly, I created a snapshot with metadata initiator=snapshot-7f2660cc-2e71-410d-bc66-46bbcddd8304. After creating successfully, I could saw the metadata in the portal.

Then, I used the function ListSharesSegment to get the snapshot. The metadata was nil. Following are the debugging logs in my program.
I0909 03:56:22.641583       1 controllerserver.go:390] Share(pvc-83fa5211-0e5a-4cf3-b03b-973eb02fea7c) snapshot(2019-09-09T03:56:22.0000000Z) Metadata: map[]

How can we reproduce the problem in the simplest way?

Create a file share with a snapshot.
Use the function to get snapshot information.

Have you found a mitigation/solution?
No.
/cc @andyzhangx

Hi @ZeroMagic, thanks for reaching out!
Have you passed in the correct ListSharesOptions? Example here.

Awesome! It works after adding the Metadata:  true ListSharesOption.
Thanks! @zezha-msft


Request: ackermann_steering_controller

Feature request: Ackermann steering controller
It seems it was available in ros1. However the implementation seemed off.
Also support for front-wheel drive seems to be missing. The front wheels have a different radius they drive about, so the velocity is slightly different. But in case of e.g. a forklift this becomes significant.

I'm rather new to ros2_control and this requires several interfaces on velocity and position level.
If somebody is willing to give a head-start by providing the cpp/hpp dummy classes, I'm happy to finish the work with all logic/algorithms involved!

I think the work here would be porting the existing controller to ros2. The tests are where a lot of complexity lies but good news is that they are basically copies of the diff drive tests. Bad news is that we never got around to porting "the good stuff" when it comes to tests.

If somebody is willing to give a head-start by providing the cpp/hpp dummy classes, I'm happy to finish the work with all logic/algorithms involved!

Are you still interested into this? I could find some time to set up initial files and tests.

Yup, this would still be on the 'todo' list.
Altough it also seems that it would just be a subset of this: https://discourse.ros.org/t/independent-swerve-steering-controller-for-ros-control/21534/1
Eitherway having the dummy classes and tests would really help!

+1 for swerve controller and four wheel controller

If somebody is willing to give a head-start by providing the cpp/hpp dummy classes, I'm happy to finish the work with all logic/algorithms involved!

@Timple Are you still interested into this? I could find some time to set up initial files and tests.

@destogl do you think you may still find time for this?

I think the requested controller was added with #484. If something is missing, please open a more specific issue.


C++17 update & no more string copies

please see discussion at #292

Thanks for the work here! Added these messages as overloaded functions so that you don't need to .c_str() them :+1:


AoT compilation

I am running the command
$ ng build --environment=staging --aot
ERROR in Error: Error encountered resolving symbol values statically. Calling function 'ɵmakeDecorator', function calls are not supported. Consider replacing the function or lambda with a reference to an exported function, resolving symbol Injectable in ........
The scrollbar is working very good but I have this problem. I am using the last version. Could you give me a hand with this?
Thanks
Daniel

Hi @dramosBC. If you use Angular 5 in your project, you can try mi fork. I upgraded fork to Angular 5 and It solved my problem. See https://github.com/rd-dev-ukraine/angular-io-slimscroll/issues/15

Package was updated to version 2.0.0. 🎉


Ability to export form submissions

Is your feature request related to a problem? Please describe.
Form submissions cannot be exported
Describe the solution you'd like
Form submissions should be exportable
Additional context
Seems like this can be helpful - https://github.com/pxlrbt/filament-excel#defining-columns

The export action was already there but disabled when upgrading to V3.
It will be enabled again in the next release.

add in v2.0.0-beta13
it's only available in "Entries Report"
as a bulk action

Thank you for the report :)

It is either the Bolt version in the demo site not yet in the version v2.0.0-beta13 that contains this fix; or the Entries Report page is not easily accessible.
I am unable to find it in the demo.

the demo is on the last version, but I'll find a better place for it.
for now, you can access it from:
Forms->Entries->cog icon dropdown menu

I guess I posted the wrong link before :)
this is the correct one: https://demo.larazeus.com/admin/responses?form_id=1

the demo is on the last version, but I'll find a better place for it.

+1 for this.
Also, currently, you first have to click the cog icon (step 1), then the option you want to view (step 2). Will really be dope if you can make this a 1-click step rather than this current 2-click step.

Since there are multiple views for entries, making it one click is hard.
So far, I have come up with this idea:

And the button will be available on all pages for easy navigation.

will be released with #116

Hi I got some issue with the export
Call to a member function getRecord() on false {"userId":1,"exception":"[object] (Error(code: 0)
The issue seem to come from the ResponseExporter , is this occuring to anyone else ?

this issue a year old, please open a new one
and since its not happening in the demo:https://demo.larazeus.com/admin/forms/feedback/report
I dont have any idea
check the fields types and see which one causing the error
could it be that the form has no fields or responses?


[UWP][Accessibility] Container contents are not read as the accessibility text for select actions

Platform
What platform is your issue or question related to? (Delete other platforms).

UWP

Details
Using the below card in UWP, when focus lands on the select action, narrator reads only "Button" for the button. It should read all the content of the select action. (Adding title does result in the title being read as expected). In JavaScript the following is announced: "This is text block one. This is image one. This is text block two. This is image two. Button"

{
  "type": "AdaptiveCard",
  "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
  "version": "1.3",
  "body": [
    {
      "type": "ColumnSet",
      "columns": [
        {
          "type": "Column",
          "width": "stretch",
          "items": [
            {
              "type": "TextBlock",
              "text": "This is text block 1",
              "wrap": true
            }
          ]
        },
        {
          "type": "Column",
          "width": "stretch",
          "items": [
            {
              "type": "Image",
              "url": "https://adaptivecards.io/content/cats/1.png",
              "altText": "This is image 1"
            }
          ]
        },
        {
          "type": "Column",
          "width": "stretch",
          "items": [
            {
              "type": "TextBlock",
              "text": "This is text block 2",
              "wrap": true
            }
          ]
        },
        {
          "type": "Column",
          "width": "stretch",
          "items": [
            {
              "type": "Image",
              "url": "https://adaptivecards.io/content/cats/2.png",
              "altText": "This is image 2"
            }
          ]
        }
      ],
      "selectAction": {
        "type": "Action.Submit",
        "title": "I'm a button"
      }
    }
  ]
}

Addressing this issue is not currently on our roadmap, so closing for now. We may return to this in the future. Feel free to continue the conversation in this issue.


View XDR: add Signatures Checked message

Preview is available here:http://laboratory-pr1060.previews.kube001.services.stellar-ops.com/

Closing in favor of https://github.com/stellar/laboratory/pull/1061


Replace old DevTools logo with new logo

We've publicly announced our new logo two days ago (https://twitter.com/ChromeDevTools/status/653655662325469184). This PR replaces the old DevTools logo with the new, official one.

Ugh, accidental PR again. Will reopen.


verify remote cert is undefined in VIC mode

message: "u.replicationConfig.verify_remote_cert is undefined"

Seems it is still using the old UI component from Harbor?


[Event Request] Page Sales Order Subform - OnBeforeUnitofMeasureCodeOnAfterValidate

Could this event be added?
protected procedure UnitofMeasureCodeOnAfterValidate()
    begin
        //NewEvent
        OnBeforeUnitofMeasureCodeOnAfterValidate(Rec,xRec);
        //NewEvent
        DeltaUpdateTotals();
        if Reserve = Reserve::Always then begin
            CurrPage.SaveRecord();
            AutoReserve();
            CurrPage.Update(false);
        end;
    end;

 [IntegrationEvent(true, false)]
    local procedure OnBeforeUnitofMeasureCodeOnAfterValidate(var SalesLine: Record "Sales Line"; var xSalesLine: Record "Sales Line")
    begin
    end;

Closed as completed

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: .


Empornium down

Empornium tracker has been down since May 21, but TrackerHub says UP and all is well....

fixed thanks


Disk Meter Show More than 10 Disks

This is with Regards to the Disks Meter widget from the ModernGadgets . I have 12 mounted disks on my device, but it shows only 10. I checked with the configuration, nothing seems incorrect. However, in the Color Customization option in the Disks Meter Settings , there seem only 10 colors available, hitting the maximum possible number of disks to be 10.

Is there a way to change this? To display more than 10 disks in the Disks Meter ?

Unfortunately, no. Rainmeter works in such a way that you can't dynamically generate stuff without a boatload of work, so disks meter only has ten hardcoded disk displays. Any more would degrade performance too much. Sorry!


Fix stylesheets so that they only get applied once unless specified o…

…therwise.
Adds two new options:

$reapplyStyles Reapply existing stylesheets if set to true.
$stylesHead Moves stylesheets to the HTML head element so that they are not removed on subsequent PJAX calls.

Q
A

Is bugfix?
yes

New feature?
yes

Breaks BC?
no

Tests pass?
yes

Fixed issues
#2310, #13155

Requires: yiisoft/jquery-pjax/pull/49

see https://github.com/yiisoft/yii2/pull/13545#issuecomment-280837915


Remove Hunteds from NavMesh

this was bad and then got badder. lol
merge conflicts i did not feel like resolving


Outdated README links?

The README states that this extension is based on

https://github.com/lee-dohm/language-r
https://github.com/randy3k/R-Box

is this still true? Both are archived.
Maybe I just misunderstand the wording here :)

@pat-s Thank you for your report.
Actually, our syntax file and interface are implemented from them.
However, currently these repositories are moved to REditor org.
I'll update the links.

I think it might be wording related; I read it as "relies on/powered by" as if this ext would make use of these projects. But in fact this ext is a successor of these projects (?).
So maybe some wording wrapping this in more detail would already do it - your choice of course :)

I agree with you. Our extension does not depend on these link packages.
I used "based on" as meaning "referring/respecting", but my English skill is not so good.
@pat-s  @andycraig I hope your opinion about what kind of words are better.

Closing as the links are removed.


Fit & finish updates to frontpage

Mo & Leslie scrubbed the front page, checking accuracy, updating information as needed, adding information about personas and short two line description creation.

Merging


Add remoteBgpCommunities to VirtualNetworkPeering resource

This pull request adds the remoteBgpCommunities property to the VirtualNetworkPeering resource. The value of this property is populated from the value of the bgpCommunities property of the remote VNET that is being peered to the local VNET.
This is an addition being done for important scalability reasons. ExpressRoute needs to read the BgpCommunities of all the spoke VNETs that are peered with a hub VNET. Performing GET operations on each peered VNET does not scale because the number of peered VNETs can be large.
The efficient way to obtain this information is from the VirtualNetworkPeering child resources of the hub VNET.
Contribution checklist:

[ x] I have reviewed the documentation for the workflow.
[x ] Validation tools were run on swagger spec(s) and have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[x] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.

adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

/azp run automation - sdk

Can one of the admins verify this patch?

@jarango, could you check why NetworkValidation failed?

@lirenhe please ignore it. Previous release cycle introduced breaking changes and powershel repo's master branch hasn't been updated yet to address that

Thank you Anton for the review

/azp run automation - sdk

Removing ARM Feedback label since ARM review board will not be reviewing property level changes going forward.

In this case, @lirenhe please merge

@lirenhe could you please merge


windows下save_video_in_mp4函数执行至ffmpeg.concat报错解决方案

首先感谢作者大佬之前的邮件回复，现在问题已解决，特来提供一个issue供大家参考。
复现代码时想要查看demo效果，运行了以下命令：
python main.py --config_file configs/voice2pose_sdt_bp.yaml --tag luo --demo_input audio1.wav --checkpoint voice2pose_sdt_bp-luo-ep100.pth  DATASET.SPEAKER luo

尝试了很多方法，但还是无法正确运行ffmpeg.concat函数，最后我的解决方法如下（放弃使用ffmpeg.concat, 改用其他方法）：

Our code was only tested on Ubuntu. And it seems that ffmpeg-python does not fully support Windows. In this case, please consider the above solution.

Our code was only tested on Ubuntu. And it seems that ffmpeg-python does not fully support Windows. In this case, please consider the above solution.


Update information for Music and AI Lab

Dr. Yi-Hsuan Yang's lab has moved to National Taiwan University now.

Thanks!


⚠ Bofrost.be has degraded performance

In 6671d6a, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1395 ms

Resolved: Bofrost.be performance has improved in 40d1856 after 6 minutes.


Screen shader produces glitches on windows close (and other manipulations)

Already reported ? *

[X] I have searched the existing open and closed issues.

Regression?
No
System Info and Version
 System/Version info
Hyprland 0.45.2 built from branch  at commit 12f9a0d0b93f691d4d9923716557154d74777b0a  ([gha] Nix: update inputs).
Date: Tue Nov 19 21:47:18 2024
Tag: v0.45.2, commits: 5451
built against aquamarine 0.5.0

flags set:
debug

System Information:
System name: Linux
Node name: ralen-arch-laptop
Release: 6.12.1-arch1-1
Version: #1 SMP PREEMPT_DYNAMIC Fri, 22 Nov 2024 16:04:27 +0000

GPU information:
03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] [1002:1638] (rev c5) (prog-if 00 [VGA controller])

os-release: NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo

plugins:

======Config-Start======

Config File: /home/ralen/.config/hypr/hyprland.conf: Read Succeeded
# See https://wiki.hyprland.org/Configuring/Monitors/
# monitor=,2880x1620@120,auto,auto
monitor=eDP-1,2880x1620,auto,1.5 #,vrr,0,bitdepth,10
# monitor=eDP-1,disabled
monitor=HDMI-A-1,3840x2160@60.00Hz,auto-up,2.0,bitdepth,10
#monitor=HDMI-A-1,1920x1080@60.00Hz,auto-up,1.0,bitdepth,10
#monitor=HDMI-A-1,1600x900@60.00Hz,auto-up,1.0,bitdepth,10
monitor=WL-1,1920x1080,auto,1.0

# See https://wiki.hyprland.org/Configuring/Keywords/ for more

# Execute your favorite apps at launch
# exec-once = waybar & hyprpaper & firefox
exec-once = ~/.config/hypr/xdg-portal-hyprland.sh
env = XCURSOR_THEME,GoogleDot-Black
env = XCURSOR_SIZE,24
env = HYPRCURSOR_THEME,GoogleDot-Violet
env = HYPRCURSOR_SIZE,24
env = SDL_VIDEODRIVER,wayland
env = PATH,/home/ralen/.cargo/bin:$PATH
exec-once = gsettings set org.gnome.desktop.interface cursor-theme 'GoogleDot-Black'
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = wl-paste
exec-once = wl-copy
exec-once = while :; do swaybg -i /home/ralen/Pictures/Wallpapers/autumn2024/autumn$(shuf -i 1-1 -n1).png & (sleep $(shuf -i 60-300 -n1) && killall swaybg); done
exec-once = ironbar
exec-once = swaync
exec-once = nm-applet
exec-once = blueman-applet

# Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf

# Set programs that you use
$terminal = alacritty
$fileManager = nemo
$menu = fuzzel
# $menu = pgrep -x "ags" > /dev/null && ags -t launcher

# Some default env vars.
env = XCURSOR_SIZE,24
env = QT_QPA_PLATFORMTHEME,qt6ct # change to qt6ct if you have that
# env = QT_STYLE_OVERRIDE,qt6ct
env = PATH,/home/ralen/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
    kb_layout = lar_dv,cyr_dv
    kb_variant =
    kb_model =
    kb_options = terminate:ctrl_alt_bksp,grp:alt_shift_toggle,lv3:ralt_switch,caps:escape
    kb_rules =

    follow_mouse = 1

    touchpad {
        natural_scroll = yes
    }

    sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}

cursor {
    no_hardware_cursors = true
}

general {
    # See https://wiki.hyprland.org/Configuring/Variables/ for more

    gaps_in = 5
    gaps_out = 10
    gaps_workspaces = 50
    border_size = 2
    col.active_border = rgba(33ccffee) rgba(9900ffee) 45deg
    col.inactive_border = rgba(595959aa)

    layout = dwindle

    # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
    allow_tearing = false
}

xwayland {
  force_zero_scaling = true
}

decoration {
    # See https://wiki.hyprland.org/Configuring/Variables/ for more

    rounding = 10
    inactive_opacity = 0.9

    screen_shader = /home/ralen/.config/hypr/greyscale.glsl

    blur {
        enabled = true
        size = 3
        passes = 1
    }

    shadow {
        enabled = yes
        range = 12
        render_power = 3
        color = rgba(1a1a1aee)
    }
}

animations {
    enabled = yes

    # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more

    bezier = myBezier, 0.05, 0.9, 0.1, 1.05
    bezier = linear, 0.0, 0.0, 1.0, 1.0

    animation = windows, 1, 7, myBezier
    animation = windowsOut, 1, 7, default, popin 80%
    animation = border, 1, 10, default
    animation = borderangle, 1, 40, linear, loop
    animation = fade, 1, 7, default
    animation = workspaces, 1, 6, default
}

dwindle {
    # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
    pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
    preserve_split = yes # you probably want this
}

master {
    # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
    new_status = master
}

gestures {
    # See https://wiki.hyprland.org/Configuring/Variables/ for more
    workspace_swipe = on
    workspace_swipe_forever = on
}

misc {
    # See https://wiki.hyprland.org/Configuring/Variables/ for more
    force_default_wallpaper = -1 # Set to 0 to disable the anime mascot wallpapers
}

# Example windowrule v1
windowrule = float, ^(nemo)$
windowrule = float, ^(Matplotlib)$
windowrule = float, ^(python3)$
# Example windowrule v2
windowrulev2 = float,class:^(kitty)$,title:^(nvim)$
windowrulev2 = float,class:^(org.telegram.desktop)$,title:^(Media viewer)$
windowrulev2 = fullscreen,class:^(org.telegram.desktop)$,title:^(Media viewer)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more

layerrule = blur, gtk-layer-shell
layerrule = ignorezero, gtk-layer-shell

# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER

# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, F, exec, firefox
bind = $mainMod, T, exec, telegram-desktop
bind = $mainMod, RETURN, exec, $terminal
bind = $mainMod, Q, killactive,
bind = $mainMod, C, exec, mate-calc
bind = $mainMod, M, exit,
bind = $mainMod, L, exec, hyprlock || zsh,
bind = $mainMod, E, exec, $fileManager
bind = $mainMod Shift, R, exec, ironbar reload
bind = $mainMod, V, togglefloating,
bind = $mainMod, R, exec, $menu
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
bind = , Print, exec, grim -g "$(slurp)" - | swappy -f - # take a screenshot

bind = $mainMod, F11, fullscreen

bind = $mainMod, G, exec, hyprctl keyword decoration:screen_shader /home/ralen/.config/hypr/greyscale.glsl
bind = $mainMod CTRL, G, exec, hyprctl keyword decoration:screen_shader ""

# Volume & brightness
binde = ,XF86AudioMute, exec, amixer sset Master toggle
binde = ,XF86AudioLowerVolume, exec, amixer -D pipewire sset Master playback 5%-
binde = ,XF86AudioRaiseVolume, exec, amixer -D pipewire sset Master playback 5%+
binde = ,XF86MonBrightnessDown, exec, brightnessctl s 5%-
binde = ,XF86MonBrightnessUp, exec, brightnessctl s 5%+

# binde = ,XF86AudioRaiseVolume, exec, amixer -D pipewire sset Master 5%+
# binde = ,XF86AudioLowerVolume, exec, amixer -D pipewire sset Master 5%-

# binde = ,XF86MonBrightnessUp, exec, brightnessctl s 1%+
# binde = ,XF86MonBrightnessDown, exec, brightnessctl s 1%-

# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d

# Swap windows with mainMod + SHIFT + arrow keys
bind = $mainMod SHIFT, left, swapwindow, l
bind = $mainMod SHIFT, right, swapwindow, r
bind = $mainMod SHIFT, up, swapwindow, u
bind = $mainMod SHIFT, down, swapwindow, d

# Resize windows with mainMod + CTRL + arrow keys
binde = $mainMod CTRL, right, resizeactive, 20 0
binde = $mainMod CTRL, left, resizeactive, -20 0
binde = $mainMod CTRL, up, resizeactive, 0 -20
binde = $mainMod CTRL, down, resizeactive, 0 20

# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10

# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10

# Example special workspace (scratchpad)
bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic

# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_left, workspace, r+1
bind = $mainMod, mouse_up, workspace, e-1
bind = $mainMod, mouse_right, workspace, r-1

bind = $mainMod SHIFT, mouse_down, movetoworkspace, e+1
bind = $mainMod SHIFT, mouse_left, movetoworkspace, r+1
bind = $mainMod SHIFT, mouse_up,   movetoworkspace, e-1
bind = $mainMod SHIFT, mouse_right,movetoworkspace, r-1

# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = ,mouse:275, movewindow
bindm = $mainMod, mouse:273, resizewindow
bindm = ,mouse:276, resizewindow

======Config-End========

Description
i want to make some stupid grayscale week challenge, and so i wrote a grayscale shader:
precision mediump float;
varying vec2 v_texcoord;
uniform sampler2D tex;

void main() {
    vec4 c = texture2D(tex, v_texcoord);
    float m = (c.r + c.g + c.b) / 3.0;
    gl_FragColor = vec4(m, m, m, 1.0);
}

but hyprland shows different glitches on window manipulation, please see the video. also, hardware cursor does not respect the shader and stays colored, so i had to switch back to software one. for me, it seems like the shader is applied not to the screen at whole, but to individual layers, that result in these artifacts when i manipulate those layers. also, screenshots are darker than they should be, like they're behind those glitchy surfaces
How to reproduce
latest archlinux packages, hyprland from arch repository (sudo pacman -S hyprland), use my shader, try closing windows - you'll get the glitches, also try to screenshot with
grim -g "$(slurp)" - | swappy -f -

try to set colored svg hyprcursor theme - it will still be colored even when shader enabled, if you have hardware cursors. if you disable hardware cursors (fallback to software), shader will be applied to the cursor too
Crash reports, logs, images, videos
here i tried to demonstrate all glitches i could find (without hardware cursor one tho)
https://github.com/user-attachments/assets/7dddd455-c607-4c52-b193-50a303fd05e1

the same issues i have on my desktop too, with nvidia gpu and nvk mesa driver, i report from the laptop as amd mesa should be officially supported

can you try enabling force_introspection?

added opengl {force_introspection = true} to my config, rebooted, but nothing changed


Handling of type indices in the lifted exception table (.gcc_except_table)

The program throwing multiple exception types has an index (ar_filter) associated with each type in the exception table (.gcc_except_table). The c++ exception ABI's return these indices to the catch landing pad which determines the handler to be called based on the index value (rdx).
In the lifted binary, the type indices assigned are not same as original binary especially in case of catch-all handler. This causes a wrong handler to be called in case of exceptions.
Original binary (exception table) -

Lifted binary (exception table) -

A global array per landingpad stores the map of type indices in the exception table of the lifted binary to the original.  The runtime routine does an array lookup and fixes the index value in RDX register.
The global array holding the type indices mapping:
gvar_landingpad_xxxxxx = global [5 x i32] [i32 0, i32 4, i32 1, i32 2, i32 3]
%var = getelementptr [5 x i32], [5 x i32]* @gvar_landingpad_401213, i32 0, i64 %index
commit ID : a3483e4bf120f884cf012a6b3d8859a6649909a5


Tooltip offset from position

I've encountered a problem but I'm still trying to reproduce it outside my app.
My chart is inside several containers with fixed > absolute positions.
It's tooltip is being offset by the chart's relative parent 'left' position.
I tried studying the TooltipWrapper component but couldn't figure the problem that easily.
I'll continue trying to reproduce the problem in codesandbox.io and place the link here when I'm done.

The TooltipWrapper use position: fixed;; with the top and left styles set to the mouse x and y. But maybe there's a combination of css containers that can that setup unreliable. Let me know if you manage to reproduce the problem!

Just so you know that something is indeed going on.

I'm checking it out.

FWIW, position: fixed will use a transformed ancestor as the viewport instead of the browser window. As of this comment it is intended behavior and the corresponding bug report in chromium has a Won'tFix status.
Source: https://bugs.chromium.org/p/chromium/issues/detail?id=20574


Add support for multiple QDBusPendingReply parameters

QDBusPendingReply in Qt5 can have up to 8 template parameters. An
attempt to await a reply with more than one currently fails to build.
Fixes #13

This solution is not exactly pretty...
In Qt6 QDBusPendingReply is a proper variadic template so adding support for that should be easier, but my template foo is not strong enough to judge whether there is a better solution for Qt5

Nice, thank you!
I think we could just make it a variadic template here (for Qt6 compatiblity), and add a static_assert to DBusPendingReplyAwaiter and  awaiter_type to enfore the upper limit on Qt 5:
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
static_assert(sizeof...(T) < 9, "Qt5 QDBusPendingReply supports only up to 8 parameters");
#endif

Thanks for the PR. I have re-implemented your change in the major rewrite (#15) making QCoroDBusPendingReply a variadic template class.


Fixes #59. Avoid find directories as executables.

Having a directory named node or nodejs causes problems in unix enviroments because
directories are executables.

directories are executables

I hope not.
>> File.executable?("~")
=> false

Can you double check the perms on that folder.

Dumb, whatever, okay.

Tested with ruby 1.9.3 and 1.8.7 (linux)
>> File.executable?("~")
=> false
>> File.executable?("/home")
=> true
>> File.executable?("/home/")
=> true
>> File.executable?("/home/erick")
=> true
>> File.executable?("/")
=> true
>> File.executable?("/etc")
=> true
>> File.executable?("/etc/")
=> true


Add PowerSGD compressor for AllReduce based strategy

System information

AutoDist version: 0.7.0
Are you willing to contribute it (Yes/No): Yes

Describe the new feature and the current behavior/state
Currently, the supported compressors for the AllReduce based strategies do not include PowerSGD compressor, which is an important compression algorithm proposed in arxiv.org/abs/1905.13727. It would be helpful to include this compressor.
Will this change the current API? How?
It will add one more option to the compressors.
Describe alternatives you've considered
N/A
Additional context
N/A

@ZeyaWang : are you working on this one now?


Zero Accuracy

Make sure you run the latest version before reporting an issue. Feature requests should go in the forum: https://community.home-assistant.io/c/feature-requests
Home Assistant release (hass --version): 0.18.2
Python release (python3 --version): Python 3.5.1
Component/platform: Device Tracker/OwnTracks
Description of problem: The OwnTracks app falsely reports or HASS false believes that I have left my home zone when I have not. I don't know the root cause. The problem is my Away automatons are getting triggered when I am home. I took a screenshot from the HASS UI when this happened tonight and noticed the GPS accuracy was 0 (see below). I will take a screenshot of the OwnTracks app next time this problem occurs. In either case, should we add a check for 0 location accuracy to disregard state updates for better robustness?

Expected: Correct location reporting by OwnTracks or HASS.
Problem-relevant configuration.yaml entries and steps to reproduce:**
###  Zones  ###
zone:
  name: Home
  latitude: ######
  longitude: ######
  radius: 175
  icon: mdi:home

###  MQTT  ###
mqtt:
  broker: localhost
  port: 1883
  client_id: hass
  keepalive: 60

device_tracker: !include devices/device_trackers.yaml

- platform: owntracks
  max_gps_accuracy: 150

Traceback (if applicable):

Additional info:

Please refer to latest blog post for hint on how to reduce OwnTracks false positives using iBeacons

I had the same issue since I live in a semi-basemet apartment and barely get cell phone reception. Location updates will occasionally vary by large amounts. I set the gps accuracy to 200 and also setup network detection using the asus component. It now works perfectly. If you don't add iBeacons, look into nmap or some other secondary indicator for your phone.

When you had accuracy 0 reported, was the gps coordinates also outside of your home range?

@balloob, yes they were. I checked the OwnTracks app the next time this occurred so it seems to be an OwnTracks problem.
My home range is 100m. When 0 accuracy was reported, the GPS coordinates were 500m from my home coordinates. I have increased the range to stop false automation triggers for now.

I'm tempted to ignore update with acc: 0. It doesn't mean anything useful, and seems like an OwnTracks bug
Either in all cases - or just in cases where max_gps_accuracy  is set.
My view is in all cases (with a warning in the log). Any views?


Update compiler_settings.cmake

Update compiler_settings.cmake
Issue #, if available:
Description of changes:
Check all that applies:

[ X] Did a review by yourself.
[ X] Added proper tests to cover this PR. (If tests are not applicable, explain.)
[X ] Checked if this PR is a breaking (APIs have been changed) change.
[X ] Checked if this PR will not introduce cross-platform inconsistent behavior.
[ X] Checked if this PR would require a ReadMe/Wiki update.

Check which platforms you have built SDK on to verify the correctness of this PR.

[X ] Linux
[X ] Windows
[ X] Android
[ X] MacOS
[X ] IOS
[ ] Other Platforms

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Hello @Cachiman ,
Thank you for your submission. I unfortunately have to close this PR as these are variables specific to the aws sdk so we prefix them as such, if you want to update these to reflect your name, you can maintain a fork of the repository.
We appreciate your time and submission.
Best regards,
Yasmine


Provide KPI's for APIs

https://apimetrics.io/api-technology/kpis-apis/
Some of these are provided by apacheBench here: https://stackoverflow.com/questions/2820306/definition-of-connect-processing-waiting-in-apache-bench
Not collecting this last bit of data but very easy to add this in via regex.

in process.


python310Packages.intensity-normalization: unbreak

Description of changes
Added missing dependencies and fixed test collection.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 231900 run on x86_64-linux 1

4 packages built:

intensity-normalization (python310Packages.intensity-normalization)
intensity-normalization.dist (python310Packages.intensity-normalization.dist)
python311Packages.intensity-normalization
python311Packages.intensity-normalization.dist

Result of nixpkgs-review pr 231900 run on x86_64-linux 1

4 packages built:

intensity-normalization (python310Packages.intensity-normalization)
intensity-normalization.dist (python310Packages.intensity-normalization.dist)
python311Packages.intensity-normalization
python311Packages.intensity-normalization.dist


time to run task keep increasing

hi,
with this below time keep increasing with each compile step so it starts with 200 ms and keep going up to 1 second, 2 seconds,etc...
i checked to see if only one files is passed and indeed it is
const paths = {
    clientScripts: [`src/client/**/*.js`],
    serverScripts: [`src/server/**/*.js`],
    html: `src/client/**/*.html`
}

let babelOptions = {
    presets: [`es2015`, `stage-1`, `stage-3`],
    plugins: [`transform-es2015-modules-commonjs`,
        `transform-decorators-legacy`,
        // `transform-es2015-typeof-symbol`,
        `typecheck`,
        `syntax-flow`,
        `transform-flow-strip-types`,
        [`transform-runtime`, {
            "polyfill": false,
            "regenerator": true
        }]
    ],
    sourceMaps: `inline`,
    sourceRoot: `./`
}

export default async function () {
 await this.watch(paths.clientScripts, `clientJs`);
}

export async function clientJs(file) {
    let source = file ? file : paths.clientScripts;
    let target = file ? `dist/` : `dist/client/`;
    await  this.source(source)
        .babel(babelOptions)
        .target(target);
}

Hi @devmondo. Unfortunately with 2.0 right around the corner, I won't be supporting 1.4.x anymore.
Fly 2.0 is a massive improvement in many ways. It's only in beta still because I'm upgrading "essential" plugins to the 2.0 syntax.
Hope it's not too much of a bother in the interim.

@lukeed thank you very much for the always prompt support :)
i am waiting eagerly for 2.0 hope it is coming soon !

@devmondo Let me know a list of plugins you're actively using (besides babel) and I'll let you know when those have been converted.

@lukeed thanks man, nothing special really

babel (plugin)
browsersync( which i am using manually without plugin)
nodemon( which i am using manually without plugin)
Fly's concat

besides above i dont have anything special and everything is working fine except this slow time and windows path issue here #216

@devmondo Ah, then you can actually go ahead and start using fly@beta; the only real difference is that .concat got moved to its own plugin.

@devmondo Oh, and passing files to tasks changed a bit too. (There will be an upgrade guide -- haven't gotten to it yet).
exports.default = function * () {
  yield this.watch(globs, ['task1', 'task2']); // <= will be ran serially
};

exports.task1 = function * (o) {
  // o.val: any returned (or initial) value
  // o.src: a single FILE PATH, via .watch() ****
  yield this.source(o.src || 'src/foo.bar')
    .babel().target('dist');
}

@lukeed
i uninstalled fly and fly-babel and installed fly@beta and fly-babel again and here is my code below
const paths = {
    clientScripts: [`src/client/**/*.js`],
    serverScripts: [`src/server/**/*.js`],
    html: `src/client/**/*.html`
}

export default async function () {
    isWatch = true;
    isProd = false;

    await this.watch(paths.clientScripts, [`clientJs`]);
    await this.watch(paths.serverScripts, [`serverJs`]);
}

export async function clientJs(o) {
     await  this.source(o.src || o.val)
        .babel(babelOptions)
        .target(target);

}

maybe i am doing something wrong, but i get this error
TypeError: this.filter is not a function
  -     at Fly.module.exports (C:\projects\test\node_modules\fly-babel\index.js 9:15)

@devmondo fly-babel currently written in old manner (not for v2). Basically API for plugins changed a little bit with v2. Luke will fix it soon I think.

@hzlmn  thanks for explanation man

@devmondo My bad, Luke has already changed it here
but seems like not released. If you want to try it right now, you can just install module from git

@lukeed @hzlmn thank you
installing fly-babel through get made things work but only using the generators yield syntax, using async/await syntax gives an error task is not a function.
and i traced down the time accumulation issue, it is webstorm, i guess there is some kind of conflict between it and the filewatcher used in fly?

@devmondo Could you give a stacktrace, or better a screenshot of this error ?

@hzlmn sure
stack:
    - TypeError: task is not a function
-     at Fly.<anonymous> (C:\projects\test\node_modules\fly\lib\api\start.js 42:16)
-     at undefined.next (native)
-     at undefined.tryCatcher (C:\projects\test\node_modules\fly\node_modules\bluebird\js\release\util.js 16:23)
-     at PromiseSpawn._promiseFulfilled (C:\projects\test\node_modules\fly\node_modules\bluebird\js\release\generators.js 97:49)
-     at Fly.start (C:\projects\test\node_modules\fly\node_modules\bluebird\js\release\generators.js 201:15)
-     at Fly.<anonymous> (C:\projects\test\node_modules\fly\lib\boot.js 6:12)
-     at C:\projects\test\node_modules\fly\lib\api\serial.js 13:22
-     at undefined.next (native)
-     at undefined.tryCatcher (C:\projects\test\node_modules\fly\node_modules\bluebird\js\release\util.js 16:23)
-     at PromiseSpawn._promiseFulfilled (C:\projects\test\node_modules\fly\node_modules\bluebird\js\release\generators.js 97:49)
-     at C:\projects\test\node_modules\fly\node_modules\bluebird\js\release\generators.js 201:15
-     at tryCatcher (C:\projects\test\node_modules\fly\node_modules\bluebird\js\release\util.js 16:23)
-     at Object.gotValue (C:\projects\test\node_modules\fly\node_modules\bluebird\js\release\reduce.js 157:18)
-     at Object.gotAccum (C:\projects\test\node_modules\fly\node_modules\bluebird\js\release\reduce.js 144:25)
-     at Object.tryCatcher (C:\projects\test\node_modules\fly\node_modules\bluebird\js\release\util.js 16:23)
-     at Promise._settlePromiseFromHandler (C:\projects\test\node_modules\fly\node_modules\bluebird\js\release\promise.js 510:31)
message: task is not a function

export default async function () {
    await this.watch(paths.clientScripts, ['clientJs']);
};

export async function clientJs(o) {
       await this.source(o.src || paths.clientScripts)
        .babel(babelOptions)
        .target('dist/client/');
 }

@devmondo interesting... will look on this at home.

@lukeed thanks a lot for the update
as mentioned here https://github.com/paulmillr/chokidar/issues/445#issuecomment-193290880
can we pass option to chokdir ?
and have a great weekend guys :)

@devmondo Can you try setting it to true locally & let me know how it goes? You're running Win and Webstorm, both of which I can't use right now.
A la chokidar repo:
CHOKIDAR_USEPOLLING=1 npm run fly

@lukeed holy god!!!! it went from 1 second to 200 - 250 ms stable!!!!!! and i made sure to modify file and save it multiple times aggressively. so yeah your suggestion works!

@devmondo hahaha, good!... I'll look into it more. Not sure (yet) if usePolling should always be true on Windows, or if it's just your Webstorm + Windows environment.


Copy extension objects to support copying model

https://jump.dev/JuMP.jl/stable/developers/extensions/#The-extension-dictionary

not planning on supporting copy of GDP Model at this time, unless there is a need for it


Failure to re-enable notifications.

v0.10.4
If I disabled notifications from iOS settings, the notification setting in Riot also moves to disabled.
If I re-enable notifications via iOS settings, the notification in Riot sometimes moves to enabled.
I can't detect any behavioural difference on my part between working and not working.
The user is impact is that I believe that notifications are re-enabled when they are not and then I miss notifications.

If I disabled notifications from iOS settings, the notification setting in Riot also moves to disabled.

This automatic deactivation has been removed in https://github.com/matrix-org/matrix-ios-kit/pull/646


ServiceMonitor updates

https://github.com/Opster/opensearch-k8s-operator/issues/487

Installs prometheus plugin , when specifying monitoring
Allows you to set the http scheme
Start of allowing TLS Config settings

I need to look a the the struct, and run some manual tests still (along with figure out the automated tests)

I need to look a the the struct, and run some manual tests still (along with figure out the automated tests)

Manual tests look fine, automated tests added, need to look at struct

@swoehrl-mw Are you able to look at the "fixes" already provided and let me know your thoughts ?
Re the struct, I am thinking of how best to handle that and need to understand the impact of not "fixing" it as as it stands I don't see a negative impact to leaving it as is at runtime (note not considering code at this point)


Fixing materials library (shadows vertex)

Hi,
it look like the problem just appear again, i gave further description here :
http://www.html5gamedevs.com/topic/25420-terrain-material-shadows/


UI: Integrate Tungsten Fabric

Description
This PR continues the work introduced on PR #5579
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[x] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[ ] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

@blueorangutan ui

@nvazquez a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

UI build: :heavy_check_mark:
Live QA URL: https://qa.cloudstack.cloud/simulator/pr/7166 (QA-JID-42)

@blueorangutan package

@DaanHoogland a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 5493

@blueorangutan package

@DaanHoogland a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 5510

Trillian Build Failed (tid-6127)

just for form, (might not wait for results if manual tests are as good as they look so far)
@blueorangutan test

@DaanHoogland a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-6132)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 41407 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7166-t6132-kvm-centos7.zip
Smoke tests completed. 107 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

@blueorangutan package

@DaanHoogland a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 5541

@blueorangutan test

Trillian test result (tid-6148)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 40688 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7166-t6148-kvm-centos7.zip
Smoke tests completed. 105 look OK, 2 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_02_deploy_vm_with_extraconfig_kvm
Error
0.17
test_deploy_vm_extra_config_data.py

test_03_update_vm_with_extraconfig_kvm
Error
1.21
test_deploy_vm_extra_config_data.py

test_02_deploy_vm_on_specific_cluster
Error
1.16
test_vm_deployment_planner.py

test_03_deploy_vm_on_specific_pod
Error
0.18
test_vm_deployment_planner.py

test_04_deploy_vm_on_host_override_pod_and_cluster
Error
1.19
test_vm_deployment_planner.py

test_05_deploy_vm_on_cluster_override_pod
Error
1.19
test_vm_deployment_planner.py


Alpha and Telescope filetypes

Add filetypes for telescope.nvim and alpha-nvim

Heyyo @is0n , thanks so much.
The telescope one looks way better now.


PP-3928 Reduce the number of outbound requests to get gateway account information

WHAT
Previously the services index/switcher page made an initial call to Adminusers to get a list of services with associated gateway ids against them. These were composed into a large collection of Promises which made individual calls to Connector or Direct Debit Connector to get information about external gateways.
In the case where a development/test system has a few services, with perhaps one test gateway account under each one, this resulted in an inefficient but still fairly fast response time. As the number of services/accounts increases, the page starts to considerably slow down, as evident in our production systems.
The new implementation aggregates all gateway ids across all services and requests them in one go, before matching these up against individual services and rendering them on the page. To support this, new logic was added to connector and direct debit connector for a modified API call. As a result the maximum number of requests to connector/dd-connector is 1 per page load.

directdebit connector accounts endpoint needs externalAccountIds instead of accountIds


hammer.js erasing body styles

It seems that on every new Hammer(elem); any existing styles on the document.body element are being erased.
In my case I want to set overflow-y: hidden on document.body to prevent android drag to refresh 'feature' but creating new Hammer instances keeps removing it.
Any help ?

Can you provide a replication for this please? This seems highly unlikely.


Bump the maven-plugin-plugin

Fixes #1788
This fixes the parsing of plugin descriptors (the doclets) and the writing of the names of the parameters.
I also opened both the new plugin.xml and the one in Maven Central, and they are identical. So I hope that regarding maven this is as backwards compatible as possible.

Looks good


Add share buttons to posts pages

Twitter, Google Plus, and Facebook share options for the posts pages.

:+1: This is awesome.  Thanks for the help, Colin!


[FR] Add pagination

To support big amount of information its necessary a pagination

Demo
https://user-images.githubusercontent.com/11924043/186698340-ad886980-c3f3-4848-9af0-58eca7ef3e6b.mov

Final result. Quite proud of
https://user-images.githubusercontent.com/11924043/186856362-29dac64a-59f7-488b-bd4d-3d85b4a76978.mov

In addition, size of every page will be configurable
https://user-images.githubusercontent.com/11924043/186927604-f562cbee-dec0-4d37-8794-69951f454d17.mov

there are 2 bugs to fix on process and I will generate a version.
Looking forward to launching pagination along with autocomplete!

Amazing, looking forward to test it :)


Bump to golang 1.19 & add support for turning proto3 optional fields

How To Implement Field Presence for Proto3
This PR enables support for turning on the new feature in protos 3, optional fields.

lgtm

Ty ty


Added transifex key (#14)

Description
Please include a summary of the change. Please also include relevant motivation and context. List any dependencies that are required for this change.
Doesn't fix but relates to issue #14
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Instructions
FE code should be updated to consume env var.

GTK about this so next time we know this is where the config lives to try to do it ourselves. Thanks for doing this.


Version compatibility

Today I tries to use explorer with a database created with kuzu_0.4.1 in python, but sadly I got this error starting the explorer:
[Error: Runtime exception: Trying to read a database file with a different version. Database file version: 27, Current build storage version: 26]

Hi @engapa, it seems that you are using an older version of Explorer, can you try to pull the latest version with docker pull kuzudb/explorer:latest?

yep, my mistake
using wrong commitish ....
Could you use tags and releases in this repo to map both projects ?

We do have version tags for Explorer: https://hub.docker.com/r/kuzudb/explorer/tags
So you could do something like docker run -p 8000:8000 --rm kuzudb/explorer:0.4.1 .


docs: add section "Linting"

This PR adds some instructions to linting styles in styled and css with Stylelint.
FYI: Linaria's "Linting" documentation https://github.com/callstack/linaria/blob/master/docs/LINTING.md

@ygkn
Thanks for the PR! I think the linting instructions might be better suited under a new "Linting" page in the "Recipes" section. Could you please move it there?

@poteboy Sure, I moved it! Thanks for the feedback.


Added STRatingControlDelegate with didSelectRating func

Added STRatingControlDelegate protocol with didSelectRating function which can be used to get control rating after touchEnded.

Hey @shuhrat10
Glad you merged delegate changes. Too bad you did not merge the pull request, instead you just copied the code. That's not how it should be done, that way the contribution information is gone.


Implementation Change for BlockChangeFlag

SpongeAPI | SpongeCommon
What this does is moves all previous plugin specific logic to flow
through the very same block physics logic that Minecraft (Sponge)
otherwise performs. With no longer needing to have the flags anded
or'ed or modified by bitwise functions, they are now boolean flags
as dictated by the BlockChangeFlag.
What this also does is fix a nasty bug that caused plugin code
performing block changes to never throw events, but get notified and
performed otherwise normally.
Fixes #1237
Fixes #998

Prodding @simon816 @kashike @phit @ryantheleach for review. I've tested locally that this functions as it should (both in world gen, normal Minecraft, and plugin based code).


Render Issue in settings screen.

In debug mode we have long list of tiles. And for small screens it needs to be scrollable.

Hello, I would like to work on this if it hasn't been fixed yet

Hi, I would like to work on this issue.


How can I change the font?

Thanks for making this beautiful theme. I really like the colors and layouts it has, but I'm not used to the font you chose. Can you provide an option to use the default font or not change the font?

Hi! If you go under the Text heading in Style Settings, there is an option to override the theme font and choose other fonts, such as Roboto. Or, if you want to use another font already on your system (I think the default one is Inter), you can go to Settings > Appearance and change the fonts there. It will automatically override any fonts in the theme.

Got it and updated it, thank you!
On Sun, Mar 5, 2023 at 11:50 Bluemoondragon07 @.***>
wrote:

Hi! If you go under the Text heading in Style Settings, there is an
option to override the theme font and choose other fonts, such as Roboto.
Or, if you want to use another font already on your system (I think the
default one is Inter), you can go to Settings > Appearance and change the
fonts there. It will automatically override any fonts in the theme.
—
Reply to this email directly, view it on GitHub
https://github.com/Bluemoondragon07/chime-theme/issues/9#issuecomment-1454981748,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADDDVHUE2L4BGMFQCU5DGDW2QEQHANCNFSM6AAAAAAVP5JBHE
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Sincerely,
Xiao Meng
reorx.com


es2022 support

[x] class fields
[ ] top-level await

@aladdin-add Maybe you should try to parse class fields with Kataw?

top-level-await is all about performance. I'm afraid of perf regression

we have to implement it - it will be a part of ECMA 262.

Do you give it a try?

I think this can be closes? See https://github.com/kataw/kataw/pull/77

or keep it open to track the following es2022 features (as it was not fully finalized)?

What kind of es2022 features is missing?

it depends. es2022 will be published in the next year, so it's very likely to have more features added in the rest of the year.

FYI: https://github.com/tc39/proposal-regexp-match-indices has reached stage-4. updated the OP.

I know :) You can mark it as done. The d flag is recognized already.

FYI: https://github.com/tc39/proposal-private-fields-in-in has reached stage-4. updated the OP.

I know this, but not sure about the implementation. However I implemented it, but should it go through BinaryExpression?


[Request] OpenInWSL

Package Request
Criteria
For a package to be acceptable in the Extras bucket, it should be:
Information
Name: OpenInWSL
Description: OpenInWSL lets you set WSL Linux apps as File Handlers in Windows.
Homepage: https://opticos.github.io/openinwsl/
Download link(s): https://opticos.github.io/openinwsl/
Some indication of popularity/repute: 55 GitHub stars

Created commit #9257
The installer uses inno setup.


Vulnerability report for red teaming evaluation fails to show in the web app with: "Cannot read properties of undefined (reading 'type')"

Describe the bug
The vulnerability report for red teaming evaluation fails to show in the web app. When I click on the button to see the report, the page displays an error:
Unexpected Application Error!

Cannot read properties of undefined (reading 'type')

TypeError: Cannot read properties of undefined (reading 'type')
    at http://localhost:15500/assets/index-BPrn51S5.js:767:15637
    at Array.map (<anonymous>)
    at WZe (http://localhost:15500/assets/index-BPrn51S5.js:767:15605)
    at $P (http://localhost:15500/assets/index-BPrn51S5.js:38:17031)
    at zW (http://localhost:15500/assets/index-BPrn51S5.js:40:44104)
    at QW (http://localhost:15500/assets/index-BPrn51S5.js:40:39822)
    at Gae (http://localhost:15500/assets/index-BPrn51S5.js:40:39748)
    at J2 (http://localhost:15500/assets/index-BPrn51S5.js:40:39598)
    at V4 (http://localhost:15500/assets/index-BPrn51S5.js:40:35960)
    at UW (http://localhost:15500/assets/index-BPrn51S5.js:40:34907)

To Reproduce
Steps to reproduce the behavior, including example Promptfoo configurations if applicable:

Run a red teaming evaluation npx promptfoo redteam run
Run 'npx promptfoo view'
In the web browser, in the promptfoo web app, select Evals
Select a red teaming evaluation in the dropdown
Click on 'Vulnerability Report'
See error

Expected behavior
The vulnerability report must be displayed.
Screenshots
If applicable, add screenshots to help explain your problem.

System information (please complete the following information):

Promptfoo version: 0.93.1

Additional context
N/A.

Hard to tell with the minified error, but I think this was introduced in 0.93.0 with 04e45639a3e0f491e159b0ca7143473a273c3b90.  I'll get a fix in.  You may be able to temporarily work around by using version 0.92.3.

@typpo This now works correctly with v0.93.3, good work!
Thanks!

Great!


Do we need to export the private key also?

Under the /The sample app uses an Application ID and X.509 certificate when the #define statement at the top of the Program.cs file is set to Certificate./ section, where you talk about exporting the .pfx, it would be REALLY helpful if you'd let us know whether or not we're supposed to "..export the private key."  >:|

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 2cc0b77a-df21-7007-5cec-4399d98c6dc6
Version Independent ID: efe5ae5e-ff64-f1c7-6920-4512fc8f36d1
Content: Azure Key Vault Configuration Provider in ASP.NET Core
Content Source: aspnetcore/security/key-vault-configuration.md
Product: aspnet-core
Technology: aspnetcore-security
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

Okay, well, after re-reading;
c. Select Upload certificate to upload the certificate, which contains the public key. A .cer, .pem, or .crt certificate is acceptable.
I tried it without the private key, and this appears to be the correct option given that a DER encoded binary X.509 (.CER) option is the first thing I see.
Seriously though, this is computers folks, specificity is kinda key here in our world. People reading through this doc trying to learn how to do this stuff do not just automatically know these things.

@CmdrBeavis  thanks for the update. This isn't a tutorial, it's an advanced topic. We'll review this issue when we have time to update the doc. Feel free to PR to improve the instructions.
At the top right of the article, select the Edit pen icon:

Select the pen icon again. Save.


Flyway and Apache Karaf

Which version and edition of Flyway are you using?
5.2.4
If this is not the latest version, can you reproduce the issue with the latest one as well?
(Many bugs are fixed in newer releases and upgrading will often resolve the issue)
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)
Java API with apache Karaf
Which database are you using (type & version)?
h2db, and MS-SQL
Which operating system are you using?
Windows 10, Windows Server
What did you do?
(Please include the content causing the issue, any relevant configuration settings, the SQL statement that failed (if relevant) and the command you ran.)
I have shared my project here (https://github.com/cooshal/karaf-flyway)
I am trying to use Flyway API from an osgi bundle. The implementation works perfectly fine when I execute it as a standalone application I get an error.
This (https://github.com/cooshal/karaf-flyway/tree/master/db-migrations/flyway-provider) is my bundle where I am using flyway APIs.
Do I need to make special adjustments for Apache Karaf? I did follow some examples (https://github.com/FlavioF/fabric8-osgi-flyway-example/blob/master/fabric8-osgi-flyway/pom.xml), but that didn't help either.
What did you expect to see?
something like:
INFO: Migrating schema "PUBLIC" to version 0.0.1 - Create Hosts Table
INFO: Successfully applied 1 migration to schema "PUBLIC" (execution time 00:00.122s)

What did you see instead?
Error executing command: java.lang.NoClassDefFoundError: Could not initialize class org.flywaydb.core.Flyway

The detailed form of this error is:
java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: Could not initialize class org.flywaydb.core.Flyway
        at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:?]
        at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:?]
        at org.apache.felix.gogo.runtime.CommandSessionImpl$JobImpl.run(CommandSessionImpl.java:829) ~[?:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[?:?]
        at java.lang.Thread.run(Thread.java:745) [?:?]
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.flywaydb.core.Flyway
        at com.example.db.migrations.FlywayDBMigrations.migrate(FlywayDBMigrations.java:16) ~[?:?]
        at com.example.flyway.command.MigrateDatabaseCommand.execute(MigrateDatabaseCommand.java:20) ~[?:?]
        at org.apache.karaf.shell.impl.action.command.ActionCommand.execute(ActionCommand.java:84) ~[?:?]
        at org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:68) ~[?:?]
        at org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:86) ~[?:?]
        at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:571) ~[?:?]
        at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:497) ~[?:?]
        at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:386) ~[?:?]
        at org.apache.felix.gogo.runtime.Pipe.doCall(Pipe.java:417) ~[?:?]
        at org.apache.felix.gogo.runtime.Pipe.call(Pipe.java:229) ~[?:?]
        at org.apache.felix.gogo.runtime.Pipe.call(Pipe.java:59) ~[?:?]
        ... 4 more

This is a duplicate of #1007


Upload the SkyShell.app on Mac to cloud storage.

Teams internally have been using the Mac SkyShell.app for development. But since we don't distribute the bundle (only the binary that is capable of running in both interactive and non-interactive modes), they acquired the bundle once and would symlink the latest binary from the tools. This is hacky but works as long as the bundle does not change (which it rarely does). It did change recently and they did not get the updates. We should just update the SkyShell.app to cloud storage. Even if the tools aren't wire up, the updated assets will still show up in bin/cache.
I realize this would mean the precache would need to download only extra archive, but I think we are cleaning that up to make it leaner anyway right? Whatever options we decide to use to control what we download later, we can add this extra bit too. For now, the archive size of quite small.

I don't think we should support this use case.


Infinite indexing

When uninstalling this plugin, everything works fine. But with it, I have infinite project indexing.
plugin version: 0.87-2019.3

Edit: works fine on version 0.86.1-2019.3 → 0.87-2019.3

what is the bsconfig.json ?

It should be the same issue that I’ve reported to you in discord: gson parsing error because of json5 format

@giraud
{
  "name": "Project",
  "sources": [
    {
      "dir": "src",
      "subdirs": true
    },
    {
      "dir": "__tests__",
      "subdirs": true,
      "type": "dev"
    }
  ],
  "package-specs": {
    "module": "commonjs",
    "in-source": true
  },
  "suffix": ".bs.js",
  "bs-dependencies": [
    "reason-react",
    "@glennsl/bs-json",
    "bs-webapi",
    "bs-fetch",
    "bs-moment",
    "reason-date-fns",
    "re-classnames",
    "reason-apollo",
    "reason-apollo-hooks",
    "re-debouncer",
    "bs-reform",
    "reschema"
  ],
  "bs-dev-dependencies": [
    "@glennsl/bs-jest",
    "bs-react-test-renderer"
  ],
  "ppx-flags": [
    "graphql_ppx/ppx",
    "lenses-ppx/ppx"
  ],
  "reason": {
    "react-jsx": 3
  },
  "refmt": 3,
  // "bsc-flags": ["-bs-g"],
  "generate-merlin": true,
  "warnings": {
    "number": "-45"
  }
}

should be fixed in 0.87.1


Testing, please ignore. (lfxkoc)

This is a bug bounty test.. Please DO NOT APPROVE THIS! (lfxkoc)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.lfxkoc cmnfm seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


lib: os: add hash_function and hash_map

Add a flexible means of specifying a system-wide 32-bit hash function

Reference implementation is Daniel J. Bernstein's algorithm (djb2)
Add tests to verify uniformity (Kolmogorov Smirnov)

Add a flexible means of specifying a system-wide Hashmap implementation

Allocator / hash function / load factor may be specified flexibly
Allocator should follow realloc() semantics, with free()-like behaviour when size 0 is specified
Implement a Separate-Chaining Hashmap
Implement an Open-Addressing Hashmap
Add a C-Wrapper around std::unordered_map for benchmarking purposes

Add tests to verify all operations of the Hashmap implementations
Add samples to demonstrate / benchmark different Hashmap implementations

I think I'll likely need to add open addressing for performance reasons.

I think I'll likely need to add open addressing for performance reasons.

Need to also make test permutations for each of the different libc's because the default allocator is realloc() and consistent behaviour is required

Just for (perf) kicks, I'm going to "implement" another Hashmap which wraps around std::unordered_map. Will attempt to create a custom allocator and hash function too, so that the user-provided hooks are still called to level the playing field a bit more. From there, I'll compare each implementation using a flame graph.

TODO:

bring in user-specified hash function in CXX Hashmap
bring in user-specified allocator in CXX Hashmap
run all of the above in native-posix under perf to generate FlameGraphs

The following benchmarks are done with variations of the following command
west build -p auto -b native_posix_64 samples/basic/hash_map/ -- -DCONFIG_TEST_LIB_HASH_MAP_MAX_ENTRIES=$((2**21)) -DCONFIG_SYS_HASH_MAP_CHOICE_OA_LP=y

Separate Chaining
[00:00:00.000,000] <inf> hashmap_sample: n_insert: 2097152 n_remove: 2097152 n_replace: 2097152 n_miss: 0 n_error: 0 max_size: 2097152
[00:00:00.000,000] <inf> hashmap_sample: success

Open Addressing / Linear Probe
[00:00:00.000,000] <inf> hashmap_sample: n_insert: 2097152 n_remove: 2097152 n_replace: 2097152 n_miss: 0 n_error: 0 max_size: 2097152
[00:00:00.000,000] <inf> hashmap_sample: success

C++ Wrapper
[00:00:00.000,000] <inf> hashmap_sample: n_insert: 2097152 n_remove: 2097152 n_replace: 2097152 n_miss: 0 n_error: 0 max_size: 2097152
[00:00:00.000,000] <inf> hashmap_sample: success

Just for (perf) kicks, I'm going to "implement" another Hashmap which wraps around std::unordered_map. Will attempt to create a custom allocator and hash function too, so that the user-provided hooks are still called to level the playing field a bit more.

It was not easy / feasible to add a custom allocator or custom hash function to the C++ wrapper because those items in standard C++ are structures / functors that do not take any state, whereas we do need to associate them with the hashmap.
Realistically though, the C++ version is really just for benchmarking - if using C++, then it's best to simply use the native std::unordered_map<K,V>.

Heh.. was consistently getting a factor of 8-10x worse performance than CXX, and then I looked at the naive hash function (djb2), which uses 8 single-byte reads to read a uint64_t key from memory, and replaced it with this:
uint32_t sys_hash32_djb2(const void *str, size_t n)
{
	uint64_t *u64 = (uint64_t *)str;
	return (uint32_t)*u64;
}

Now it's about as fast as CXX. Will merge optimizations shortly.. I'll make an identity hash function as well.

Some additional considerations. Zephyr being an RTOS and all, it sometimes makes sense to limit how big things can get. Is there significant demand for something like that with this API?
I.e. within struct sys_hashmap_config should there be a size_t max_size field?

For reference:
CXX
west build -t run -p auto -b native_posix_64 samples/basic/hash_map/ -- -DCONFIG_SYS_HASH_MAP_CHOICE_CXX=y -DCONFIG_TEST_LIB_HASH_MAP_MAX_ENTRIES=$((2**23))
time ./build/zephyr/zephyr.elf
[00:00:00.000,000] <inf> hashmap_sample: n_insert: 8388608 n_remove: 8388608 n_replace: 8388608 n_miss: 0 n_error: 0 max_size: 8388608
[00:00:00.000,000] <inf> hashmap_sample: success

real    0m0.841s
user    0m0.697s
sys     0m0.145s

OA_LP:
west build -t run -p auto -b native_posix_64 samples/basic/hash_map/ -- -DCONFIG_SYS_HASH_MAP_CHOICE_OA_LP=y -DCONFIG_TEST_LIB_HASH_MAP_MAX_ENTRIES=$((2**23)) -DCONFIG_SYS_HASH_FUNC32_CHOICE_IDENTITY=y
time ./build/zephyr/zephyr.elf
[00:00:00.000,000] <inf> hashmap_sample: n_insert: 8388608 n_remove: 8388608 n_replace: 8388608 n_miss: 0 n_error: 0 max_size: 8388608
[00:00:00.000,000] <inf> hashmap_sample: success

real    0m0.954s
user    0m0.608s
sys     0m0.347s

@JordanYates - closed #53583 in favour of just putting everything here, since there is a direct dependency. Feel free to bring that conversation here.

To leave room for others to add some work later, I think it would be great to have

Paul Hsieh's SuperFastHash
Robin Hood Hashing

added at a later date.

qemu_cortex_a53 not passing here and there, oddly, even though everything else is. I'll give it a look later.

@JordanYates - it seems clang has an issue with my version of NHPOT. I've incorporated yours in sys/util.h and sys/util_macro.h. PTAL

Bitten by the TIMER_RANDOM_GENERATOR issue. That's what I get for rebasing, I guess! 😆

@JordanYates - it seems clang has an issue with my version of NHPOT. I've incorporated yours in sys/util.h and sys/util_macro.h. PTAL

No problem, could you please throw a reference in the commit message

Interesting timing on this PR haha #53611

Interesting timing on this PR haha #53611

I vaguely recall reviewing LOG2CEIL() when it was added. It could be simplified quite a bit using the approach that you provided as well.
I'll do another respin and will add a reference in the commit message.

Is it just me, or does g++ kind of flake-out bigtime when presented with C11 Generics? In contrast, clang++ handles them without any complaints whatsoever.

https://en.cppreference.com/w/c/language/generic
https://pastebin.com/QgDT1FGt

Just some final comparisons between OA_LP and CXX
OA_LP
# build without profiling (to measure speed)
west build -p auto -b native_posix_64 samples/basic/hash_map/ -- -DCONFIG_TEST_LIB_HASH_MAP_MAX_ENTRIES=$((2**23)) -DCONFIG_SYS_HASH_MAP_CHOICE_OA_LP=y -DCONFIG_SYS_HASH_FUNC32_CHOICE_IDENTITY=y

# benchmark speed
time ./build/zephyr/zephyr.elf
CONFIG_TEST_LIB_HASH_MAP_MAX_ENTRIES: 8388608
[00:00:00.000,000] <inf> hashmap_sample: n_insert: 8388608 n_remove: 8388608 n_replace: 8388608 n_miss: 0 n_error: 0 max_size: 8388608
[00:00:00.000,000] <inf> hashmap_sample: success

real    0m0.972s
user    0m0.612s
sys     0m0.360s

# build with profiling (to measure relative efficiency)
west build -p auto -b native_posix_64 samples/basic/hash_map/ -- -DCONFIG_TEST_LIB_HASH_MAP_MAX_ENTRIES=$((2**23)) -DCONFIG_SYS_HASH_MAP_CHOICE_OA_LP=y -DCONFIG_SYS_HASH_FUNC32_CHOICE_IDENTITY=y -DCONFIG_GPROF=y
# generate flamegraph
sudo ~/.cargo/bin/flamegraph -o ~/Desktop/oa_lp.svg -F 99 -- ./build/zephyr/zephyr.elf

CXX
# build without profiling (to measure speed)
west build -p auto -b native_posix_64 samples/basic/hash_map/ -- -DCONFIG_TEST_LIB_HASH_MAP_MAX_ENTRIES=$((2**23)) -DCONFIG_SYS_HASH_MAP_CHOICE_CXX=y

# benchmark speed
time ./build/zephyr/zephyr.elf
CONFIG_TEST_LIB_HASH_MAP_MAX_ENTRIES: 8388608
[00:00:00.000,000] <inf> hashmap_sample: n_insert: 8388608 n_remove: 8388608 n_replace: 8388608 n_miss: 0 n_error: 0 max_size: 8388608
[00:00:00.000,000] <inf> hashmap_sample: success

real    0m0.777s
user    0m0.619s
sys     0m0.158s

# build with profiling (to measure relative efficiency)
west build -p auto -b native_posix_64 samples/basic/hash_map/ -- -DCONFIG_TEST_LIB_HASH_MAP_MAX_ENTRIES=$((2**23)) -DCONFIG_SYS_HASH_MAP_CHOICE_CXX=y -DCONFIG_GPROF=y
# generate flamegraph
sudo ~/.cargo/bin/flamegraph -o ~/Desktop/cxx.svg -F 99 -- ./build/zephyr/zephyr.elf

I would be fine leaving other optimizations to separate PRs. That would include, for example:

experimenting with separate allocation strategies for OA_LP key-value pairs and metadata
hash function optimizations (e.g. perhaps devising a separate Kconfig choice for default Hashmap hash function

this could, for example, be used to specify a fixed-size key hash_function (similar to the identity)
alternatively, SuperfastHash or something along those lines

exploring different Hashmap algorithms (e.g. Robin Hood hashing)

rebased on v3.3.0

removed unneeded (x == 0) + (x != 0)* ... section in __z_nhpot_impl()

@mbolivar-nordic - please re-ack when you have a minute

updated tags in tests/unit/pot/testcase.yaml

@oyvindronningstad - will you also ack?

@JordanYates - would you ack?

@carlocaione - look reasonable to you now? If so, please ack :-)

As just discovered by @aborisovich , constexpr now requires C++14. Is that intentional and documented? I didn't find anything in the commit messages or in the doc/ folder
zephyr/sys/util.h

#ifdef __cplusplus
template <typename T> static inline constexpr int __z_log2_impl(T x)

As just discovered by @aborisovich , constexpr now requires C++14. Is that intentional and documented? I didn't find anything in the commit messages or in the doc/ folder
zephyr/sys/util.h

#ifdef __cplusplus
template <typename T> static inline constexpr int __z_log2_impl(T x)

@marc-hb - this is specifically a workaround for g++ choking badly when encountering C11 Generics (clang++ does not). It is documented here. Feel free to make a PR to document it elsewhere if you like, or a PR to fix g++, or some other PR that you feel is more appropriate.

@cfriedt I'm not asking about any specific workaround or other detail.
https://docs.zephyrproject.org/latest/develop/languages/c/index.html clearly states "In summary, it is recommended to use a compiler toolchain that supports at least the C11 standard for developing with Zephyr"
https://docs.zephyrproject.org/latest/develop/languages/cpp/index.html does not seem to mention any specific C++ version right now. If your recent change requires a C++14 toolchain for any C++ use then it is significantly different from the C11 requirement (3 years newer!) and it should be mentioned on that page.
Zephyr has a very complex toolchain abstraction layer to support a broad range of toolchains, so bumping the requirements and excluding a number of old toolchains is a pretty big deal. A doc update really looks like a minimum.

Feel free to make a PR to document it elsewhere if you like,

Sorry but I'm not a C++ expert, I don't know which C++ feature is available in each C++ version and I'm not the one who just bumped some C++ requirement. In fact I'm merely trusting @aborisovich here who noticed because his workspace just started failing somehow.
To make sure there's no confusion: I have no opinion on which C++ features should be used in the Zephyr C++ "core" versus not (others might). On the other hand, if C++ requires a newer toolchain than C then a brief mention on https://docs.zephyrproject.org/latest/develop/languages/cpp/index.html looks like a bare minimum. Next time some advance notice would not hurt either.

https://docs.zephyrproject.org/latest/develop/languages/c/index.html clearly states "In summary, it is recommended to use a compiler toolchain that supports at least the C11 standard for developing with Zephyr"

If your C compiler is ISO compliant, then anything contained within #ifdef __cplusplus should be filtered out by the preprocessor. If that's not the case, you may want to look at a different C compiler.

https://docs.zephyrproject.org/latest/develop/languages/cpp/index.html does not seem to mention any specific C++ version right now. If your recent change requires a C++14 toolchain for any C++ use then it is significantly different from the C11 requirement (3 years newer!) and it should be mentioned on that page.

I would defer to the C++ maintainer for that. CC @stephanosio.

Zephyr has a very complex toolchain abstraction layer to support a broad range of toolchains, so bumping the requirements and excluding a number of old toolchains is a pretty big deal. A doc update really looks like a minimum.

Again, feel free to make a PR.

Sorry but I'm not a C++ expert, I don't know which C++ feature is available in each C++ version and I'm not the one who just bumped some C++ requirement. In fact I'm merely trusting @aborisovich here who noticed because his C++ workspace just started failing somehow.

I am also not a C++ expert. Feel free to file an issue, @aborisovich.

To make sure there's no confusion: I have no opinion on which C++ hard dependencies the Zephyr C++ "core" should have versus not (others might). On the other hand, if C++ requires a newer toolchain than C then a brief mention on https://docs.zephyrproject.org/latest/develop/languages/cpp/index.html looks like a bare minimum. Next time some advance notice would not hurt either.

I'm sorry for the inconvenience. Thank you for bringing it up.

Not clear on the details here.  Is the contention that Zephyr headers after this patch aren't going to build with existing C++11 projects?  If so that does indeed seem like something we should fix; we're essentially breaking user apps.  If it's just an issue of constexpr that's probably something we can do with some preprocessor magic, we don't generally expose C++ APIs per se, though I do see a few here.
But then as @cfriedt points out, constexpr itself isn't new.  What's the problem that got introduced?

OK... I'm coming up to speed.  So the issue here (please correct what I'm getting wrong) is that this PR introduces a new generic API implemented both with C11 _Generic and as a C++ template, selected based on source language.
That does seem like it's likely to break things with oddball toolchains, yeah.  Maybe we want to slow-walk this a little and move the new bits out into their own header, so that zephyr/sys/util.h (which is included promiscuously by basically everything) gets to stay compatible for longer?

@cfriedt nobody is pointing fingers, this is feedback from us because if external clients of Zephyr project discover that you suddenly require newer standard than before by compilation errors/warnings, that means you are doing something wrong.
There should be a announcement for this and the code that suddenly requires new C++ standard should be probably wrapped in ifdefs that check if the compiler's standard is newer than required or conditionally compiled sources in CMake checking also compiler capabilities.
As @marc-hb always indicates continuous integration should be continuous. And if it can not be, a meaningful and loud announcement should be provided to Zephyr project clients.
Please do so next time if similar situation would take place.

@cfriedt nobody is pointing fingers, this is feedback from us because if external clients of Zephyr project discover that you suddenly require newer standard than before by compilation errors/warnings, that means you are doing something wrong.

@aborisovich - respectfully, please file a bug report and report details of your issue rather than continuing here. This PR was thoroughly  approved and merged.

There should be a announcement for this and the code that suddenly requires new C++

As mentioned above, this is all in line with Zephyr's suggested ISO C and C++ standards (C11, C++11).

standard should be probably wrapped in ifdefs that check if the compiler's standard is newer than required or conditionally compiled sources in CMake checking also compiler capabilities.

Good, then please make a PR. I take it you're using C++98?

As @marc-hb always indicates continuous integration should be continuous. And if it can not be, a meaningful and loud announcement should be provided to Zephyr project clients.

Please report an issue with whatever detail you have. Zephyr CI is fairly extensive and this passed without issue, which is enough confidence to merge it.

Please do so next time if similar situation would take place.

Please tell me @aborisovich - how am I supposed to know that your client will have a problem with their CI system. I'm sorry, I don't have ESP.
This is the definition of finger pointing.
Please refer to the Code of Conduct. Thanks.
https://github.com/zephyrproject-rtos/zephyr/blob/main/CODE_OF_CONDUCT.md

G++ doesn't "choke badly", you are trying to use a C feature in C++, that's totally invalid C++ code.

constexpr now requires C++14

constexpr requires C++11, but there are restrictions on what you can do in a C++11 constexpr function. C++14 relaxes some of the restrictions, and every later standard relaxes them further. But in the simplest form, constexpr only requires C++11.
The biggest restriction in C++11 is that a constexpr function can only have a single return statement, so any conditional code must be done using ?: conditional expressions (or template metaprogramming).

Is it just me, or does g++ kind of flake-out bigtime when presented with C11 Generics? In contrast, clang++ handles them without any complaints whatsoever. This could pose a bit of a problem, @JordanYates, @oyvindronningstad .
I might need to revert to the XXX64() macros that I had before.
Update: used C++ templates with #ifdef __cplusplus

If the issue is simply wanting type-generic <math.h> functions, that has worked out of the box in C++ since the first 1998 standard, simply by using overloading. Every math function such as cbrt is overloaded by the C++ standard library's version of <math.h>:
#ifdef __cplusplus
extern "C" {
#endif
float cbrtf(float);
double cbrt(double);
long double (cbrtl(long double);
#ifdef __cplusplus
// Additional overloads for float and long double
inline float cbrt(float f) { return cbrtf(f); }
inline long double cbrt(long double f) { return cbrtl(f); }
} // extern "C"
#endif

You don't need to do anything with C11 generics, and you don't need constexpr.

If the issue is simply wanting type-generic <math.h> functions, that has worked out of the box in C++ since the first 1998 standard, simply by using overloading. Every math function such as cbrt is overloaded by the C++ standard library's version of <math.h>:

@jwakely - That is not the issue encountered here but the simplest possible test case to show that g++ fails to parse _Generic while LLVM / clang does it with ease.
The actual code in question was for compile-time constant power-of-two macros.
https://github.com/zephyrproject-rtos/zephyr/blob/main/include/zephyr/sys/util.h#L595

You don't need to do anything with C11 generics, and you don't need constexpr.

Actually I do, and I do.
Bug was files (and quickly marked invalid / closed) here
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108965

That is not the issue encountered here but the simplest possible test case to show that g++ fails to parse _Generic while LLVM / clang does it with ease.

That just means clang has a non-standard extension. It's not a GCC bug that it doesn't support it. It's not in C++.

Bug was files (and quickly marked invalid / closed) here

Yes, I know - I closed it.
Looking at your __z_log2_impl implementation for C++, it should not be static (that leads to ODR violations if called from other inline functions or templates, i.e. undefined behaviour). And constexpr implies inline so that's redundant.
A valid C++11 implementation would be:
template <typename T> constexpr int __z_log2_impl(T x)
{
	/* No declaration of __ASSERT is available here */
	static_assert(sizeof(x) <= sizeof(unsigned long long), "unsupported type for LOG2()");

	return sizeof(x) < sizeof(unsigned int) ?
		((x) < 1) * (-1) +
		       ((x) >= 1) * (NUM_BITS(unsigned int) - __builtin_clz(x) - 1)
         : sizeof(x) <= sizeof(unsigned long long) ?
		((x) < 1) * (-1) +
		       ((x) >= 1) * (NUM_BITS(unsigned long long) - __builtin_clzll(x) - 1)
         : -1;
}

That is not the issue encountered here but the simplest possible test case to show that g++ fails to parse _Generic while LLVM / clang does it with ease.

That just means clang has a non-standard extension. It's not a GCC bug that it doesn't support it. It's not in C++.

@jwakely Oh, ok. Then should I file an issue as a feature request? I didn't see that option in bugzilla. Would it receive any more attention than what it was given today?

Looking at your __z_log2_impl implementation for C++, it should not be static (that leads to ODR violations if called from other inline functions or templates, i.e. undefined behaviour). And constexpr implies inline so that's redundant.
A valid C++11 implementation would be:

Thanks for the tips!

Is there any chance that this discussion could continue in a new issue so that people who were subscribed to the PR do not continue to get updates that may not be relevant to them?

Is there any chance that this discussion could continue in a new issue so that people who were subscribed to the PR do not continue to get updates that may not be relevant to them?

@aborisovich filed #55204 two days ago and Github automatically added a link above.  Its description seems very detailed and some discussion has already started there.
Anyone who feels the need to file yet another, separate issue should of course do so.
@andyross just submitted PR #55290


refactored extractor to java 8 function

Alternative approach is to make Extractor extend Function and make extract a default function.

Besides using standard JDK classes, is there any advantage to use Function over Extractor ?
The main point for me is to be able to use a lambda to write extractors.
I like Extractor because it expresses well the intention (extract method vs apply), my other concern is too keep master  and java-8 branches close to each other to have easy merge from master to java-8 (so that AssertJ for java 8 gets improvements done in master branch).

Yes, the main point is to use JDK classes.
The other advantage is that you can use default methods provided in Function, but this can also be achieved by simply extending Function and making extract method default (extract points to apply in order to keep Extractor a functional interface).

closed after deleting java8 branch

closing this PR, not because it's wrong but not proven useful for the moment (might change later).

Ok, np.


Update for PEP8, PEP257, and Python 3

This PR contains fixes for PEP8, PEP257, and make the code work with Python 3.
It's not very well tested, though.

There is some more needed to be compliant with standards.


Enable readerView compatibility

Is your feature request related to a problem? Please describe.
Yes, in the majority of browsers I've tested, accessing the contents on readingView is not compatible with the HTML structure generated by Stacker.News
Describe the solution you'd like
I believe it's just question to use the appropriated HTML tags to format the article: ie.

Describe alternatives you've considered
The alternative is to install an extension provide data to third parties about the contents I'm reading!
Additional context
N/A

H0dlr do you have a lightning address I can send the sats for this issue to?

I'm glad you implemented this feature, thank you very much! you can send to<EMAIL_ADDRESS>

I also found the HTML structure isn't still right on Chrome and Safari and the Reader View still unavailable
This has helped me better understand https://stackoverflow.com/questions/30730300/optimize-website-to-show-reader-view-in-firefox
Just submitted https://github.com/stackernews/stacker.news/pull/1005 to add a
 and including the title inside the

Have been not able to test

Hmm I can´t reproduce the bug. What device are you using on your tests?

Mac OS