Failed to parse as a color error on top.

Already reported ? *

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

Regression?
Yes
System Info and Version
 System/Version info
< hyprctl systeminfo -c
Hyprland 0.46.0 built from branch main at commit 5f7ad767dbf0bac9ddd6bf6c825fb9ed7921308a  (flake.lock: update).
Date: Mon Dec 23 04:09:17 2024
Tag: v0.46.0-27-g5f7ad767, commits: 5582
built against:
 aquamarine 0.5.0
 hyprlang 0.5.3
 hyprutils 0.2.6
 hyprcursor 0.1.10
 hyprgraphics 0.1.1

flags set:
debug

System Information:
System name: Linux
Node name: dhruv-F15
Release: 6.12.6-arch1-1
Version: #1 SMP PREEMPT_DYNAMIC Thu, 19 Dec 2024 21:29:01 +0000

GPU information:
00:02.0 VGA compatible controller [0300]: Intel Corporation TigerLake-H GT1 [UHD Graphics] [8086:9a68] (rev 01) (prog-if 00 [VGA controller])
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA107M [GeForce RTX 3050 Mobile] [10de:25a5] (rev a1) (prog-if 00 [VGA controller])
2e:00.0 Non-Volatile memory controller [0108]: Sandisk Corp SanDisk Ultra 3D / WD Blue SN570 NVMe SSD (DRAM-less) [15b7:501a] (prog-if 02 [NVM Express])
	Subsystem: Sandisk Corp SanDisk Ultra 3D / WD Blue SN570 NVMe SSD (DRAM-less) [15b7:501a]
NVRM version: NVIDIA UNIX x86_64 Kernel Module  565.77  Wed Nov 27 23:33:08 UTC 2024

os-release: NAME="EndeavourOS"
PRETTY_NAME="EndeavourOS"
ID="endeavouros"
ID_LIKE="arch"
BUILD_ID="2024.06.25"
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://endeavouros.com"
DOCUMENTATION_URL="https://discovery.endeavouros.com"
SUPPORT_URL="https://forum.endeavouros.com"
BUG_REPORT_URL="https://forum.endeavouros.com/c/general-system/endeavouros-installation"
PRIVACY_POLICY_URL="https://endeavouros.com/privacy-policy-2"
LOGO="endeavouros"

plugins:

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

Config File: /home/dhruv/.config/hypr/hyprland.conf: Read Succeeded
# This file sources other files in `hyprland` and `custom` folders
# You wanna add your stuff in file in `custom`

# Defaults
source=~/.config/hypr/hyprland/env.conf
source=~/.config/hypr/hyprland/execs.conf
source=~/.config/hypr/hyprland/general.conf
source=~/.config/hypr/hyprland/rules.conf
source=~/.config/hypr/hyprland/colors.conf
source=~/.config/hypr/hyprland/keybinds.conf
source=~/.config/hypr/hyprland/monitors.conf
# Custom
source=~/.config/hypr/custom/env.conf
source=~/.config/hypr/custom/execs.conf
source=~/.config/hypr/custom/general.conf
source=~/.config/hypr/custom/rules.conf
source=~/.config/hypr/custom/keybinds.conf

Config File: /home/dhruv/.config/hypr/hyprland/env.conf: Read Succeeded
# ######### Input method ##########
# See https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland
env = QT_IM_MODULE, fcitx
env = XMODIFIERS, @im=fcitx
# env = GTK_IM_MODULE, wayland   # Crashes electron apps in xwayland
# env = GTK_IM_MODULE, fcitx     # My Gtk apps no longer require this to work with fcitx5 hmm
env = SDL_IM_MODULE, fcitx
env = GLFW_IM_MODULE, ibus
env = INPUT_METHOD, fcitx

# ############ Themes #############
env = QT_QPA_PLATFORM, wayland
env = QT_QPA_PLATFORMTHEME, qt5ct
# env = QT_STYLE_OVERRIDE,kvantum
# env = WLR_NO_HARDWARE_CURSORS, 1

# ######## Screen tearing #########
# env = WLR_DRM_NO_ATOMIC, 1

# ############ Others #############

Config File: /home/dhruv/.config/hypr/hyprland/execs.conf: Read Succeeded
# Bar, wallpaper
exec-once = swww-daemon --format xrgb
exec-once = /usr/lib/geoclue-2.0/demos/agent & gammastep
exec-once = ags &

# Input method
exec-once = fcitx5

# Core components (authentication, lock screen, notification daemon)
exec-once = gnome-keyring-daemon --start --components=secrets
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 || /usr/libexec/polkit-gnome-authentication-agent-1
exec-once = hypridle
exec-once = dbus-update-activation-environment --all
exec-once = sleep 1 && dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # Some fix idk
exec-once = hyprpm reload

# Audio
exec-once = easyeffects --gapplication-service

# Clipboard: history
# exec-once = wl-paste --watch cliphist store &
exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store

# Cursor
exec-once = hyprctl setcursor Bibata-Modern-Classic 24

Config File: /home/dhruv/.config/hypr/hyprland/general.conf: Read Succeeded
# MONITOR CONFIG
monitor=eDP-1<EMAIL_ADDRESS>auto, 1
# monitor=,addreserved, 0, 0, 0, 0 # Custom reserved area

# HDMI port: mirror display. To see device name, use `hyprctl monitors`
# monitor=HDMI-A-1,1920x1080@60,1920x0,1,mirror,eDP-1

input {
    # Keyboard: Add a layout and uncomment kb_options for Win+Space switching shortcut
    kb_layout = us
    # kb_options = grp:win_space_toggle
    numlock_by_default = true
    repeat_delay = 250
    repeat_rate = 35

    touchpad {
        natural_scroll = yes
        disable_while_typing = true
        clickfinger_behavior = true
        scroll_factor = 0.5
    }
    special_fallthrough = true
    follow_mouse = 1
}

binds {
    # focus_window_on_workspace_c# For Auto-run stuff see execs.confhange = true
    scroll_event_delay = 0
}

gestures {
    workspace_swipe = true
    workspace_swipe_distance = 700
    workspace_swipe_fingers = 4
    workspace_swipe_cancel_ratio = 0.2
    workspace_swipe_min_speed_to_force = 5
    workspace_swipe_direction_lock = true
    workspace_swipe_direction_lock_threshold = 10
    workspace_swipe_create_new = true
}

general {
    # Gaps and border
    gaps_in = 4
    gaps_out = 5
    gaps_workspaces = 50
    border_size = 1

    # Fallback colors
    col.active_border = rgba(0DB7D4FF)
    col.inactive_border = rgba(31313600)

    resize_on_border = true
    no_focus_fallback = true
    layout = dwindle

    #focus_to_other_workspaces = true # ahhhh i still haven't properly implemented this
    allow_tearing = true # This just allows the `immediate` window rule to work
}

dwindle {
	preserve_split = true
        # no_gaps_when_only = 1
	smart_split = false
	smart_resizing = false
}

decoration {
    rounding = 20

    blur {
        enabled = true
        xray = true
        special = false
        new_optimizations = true
        size = 14
        passes = 4
        brightness = 1
        noise = 0.01
        contrast = 1
        popups = true
        popups_ignorealpha = 0.6
    }

    # Shadow
    shadow {
        enabled = true
        ignore_window = true
        range = 20
        offset = 0 2
        render_power = 4
        color = rgba(0000002A)
    }

    # Shader
    # screen_shader = ~/.config/hypr/shaders/nothing.frag
    # screen_shader = ~/.config/hypr/shaders/vibrance.frag

    # Dim
    dim_inactive = false
    dim_strength = 0.1
    dim_special = 0
}

animations {
    enabled = true
    # Animation curves

    bezier = linear, 0, 0, 1, 1
    bezier = md3_standard, 0.2, 0, 0, 1
    bezier = md3_decel, 0.05, 0.7, 0.1, 1
    bezier = md3_accel, 0.3, 0, 0.8, 0.15
    bezier = overshot, 0.05, 0.9, 0.1, 1.1
    bezier = crazyshot, 0.1, 1.5, 0.76, 0.92
    bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0
    bezier = menu_decel, 0.1, 1, 0, 1
    bezier = menu_accel, 0.38, 0.04, 1, 0.07
    bezier = easeInOutCirc, 0.85, 0, 0.15, 1
    bezier = easeOutCirc, 0, 0.55, 0.45, 1
    bezier = easeOutExpo, 0.16, 1, 0.3, 1
    bezier = softAcDecel, 0.26, 0.26, 0.15, 1
    bezier = md2, 0.4, 0, 0.2, 1 # use with .2s duration
    # Animation configs
    animation = windows, 1, 3, md3_decel, popin 60%
    animation = windowsIn, 1, 3, md3_decel, popin 60%
    animation = windowsOut, 1, 3, md3_accel, popin 60%
    animation = border, 1, 10, default
    animation = fade, 1, 3, md3_decel
    # animation = layers, 1, 2, md3_decel, slide
    animation = layersIn, 1, 3, menu_decel, slide
    animation = layersOut, 1, 1.6, menu_accel
    animation = fadeLayersIn, 1, 2, menu_decel
    animation = fadeLayersOut, 1, 4.5, menu_accel
    animation = workspaces, 1, 7, menu_decel, slide
    # animation = workspaces, 1, 2.5, softAcDecel, slide
    # animation = workspaces, 1, 7, menu_decel, slidefade 15%
    # animation = specialWorkspace, 1, 3, md3_decel, slidefadevert 15%
    animation = specialWorkspace, 1, 3, md3_decel, slidevert
}

misc {
    vfr = 1
    vrr = 1
    animate_manual_resizes = false
    animate_mouse_windowdragging = false
    enable_swallow = false
    swallow_regex = (foot|kitty|allacritty|Alacritty)

    disable_hyprland_logo = true
    force_default_wallpaper = 0
    new_window_takes_over_fullscreen = 2
    allow_session_lock_restore = true

    initial_workspace_tracking = false
}

# Overview
plugin {
    hyprexpo {
        columns = 3
        gap_size = 5
        bg_col = rgb(000000)
        workspace_method = first 1 # [center/first] [workspace] e.g. first 1 or center m+1

        enable_gesture = false # laptop touchpad, 4 fingers
        gesture_distance = 300 # how far is the "max"
        gesture_positive = false
    }
}

Config File: /home/dhruv/.config/hypr/hyprland/rules.conf: Read Succeeded
# ######## Window rules ########
windowrule = noblur,.*
# windowrule = opacity 0.89 override 0.89 override, .* # Applies transparency to EVERY WINDOW
windowrule = float, ^(blueberry.py)$
windowrule = float, ^(steam)$
windowrule = float, ^(guifetch)$ # FlafyDev/guifetch
windowrulev2 = tile, class:(dev.warp.Warp)
windowrulev2 = float, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$
windowrule = center, title:^(Open File)(.*)$
windowrule = center, title:^(Select a File)(.*)$
windowrule = center, title:^(Choose wallpaper)(.*)$
windowrule = center, title:^(Open Folder)(.*)$
windowrule = center, title:^(Save As)(.*)$
windowrule = center, title:^(Library)(.*)$
windowrule = center, title:^(File Upload)(.*)$

# Picture-in-Picture
windowrulev2 = keepaspectratio, title:^(Picture(-| )in(-| )[Pp]icture)$
windowrulev2 = move 73% 72%,title:^(Picture(-| )in(-| )[Pp]icture)$
windowrulev2 = size 25%, title:^(Picture(-| )in(-| )[Pp]icture)$
windowrulev2 = float, title:^(Picture(-| )in(-| )[Pp]icture)$
windowrulev2 = pin, title:^(Picture(-| )in(-| )[Pp]icture)$

# Dialogs
windowrule=float,title:^(Open File)(.*)$
windowrule=float,title:^(Select a File)(.*)$
windowrule=float,title:^(Choose wallpaper)(.*)$
windowrule=float,title:^(Open Folder)(.*)$
windowrule=float,title:^(Save As)(.*)$
windowrule=float,title:^(Library)(.*)$
windowrule=float,title:^(File Upload)(.*)$

# Tearing
windowrule=immediate,.*\.exe
windowrulev2=immediate,class:(steam_app)

# No shadow for tiled windows
windowrulev2 = noshadow,floating:0

# ######## Layer rules ########
layerrule = xray 1, .*
# layerrule = noanim, .*
layerrule = noanim, walker
layerrule = noanim, selection
layerrule = noanim, overview
layerrule = noanim, anyrun
layerrule = noanim, indicator.*
layerrule = noanim, osk
layerrule = noanim, hyprpicker
layerrule = blur, shell:*
layerrule = ignorealpha 0.6, shell:*

layerrule = noanim, noanim
layerrule = blur, gtk-layer-shell
layerrule = ignorezero, gtk-layer-shell
layerrule = blur, launcher
layerrule = ignorealpha 0.5, launcher
layerrule = blur, notifications
layerrule = ignorealpha 0.69, notifications

# ags
layerrule = animation slide left, sideleft.*
layerrule = animation slide right, sideright.*
layerrule = blur, session

layerrule = blur, bar
layerrule = ignorealpha 0.6, bar
layerrule = blur, corner.*
layerrule = ignorealpha 0.6, corner.*
layerrule = blur, dock
layerrule = ignorealpha 0.6, dock
layerrule = blur, indicator.*
layerrule = ignorealpha 0.6, indicator.*
layerrule = blur, overview
layerrule = ignorealpha 0.6, overview
layerrule = blur, cheatsheet
layerrule = ignorealpha 0.6, cheatsheet
layerrule = blur, sideright
layerrule = ignorealpha 0.6, sideright
layerrule = blur, sideleft
layerrule = ignorealpha 0.6, sideleft
layerrule = blur, indicator*
layerrule = ignorealpha 0.6, indicator*
layerrule = blur, osk
layerrule = ignorealpha 0.6, osk

Config File: /home/dhruv/.config/hypr/hyprland/colors.conf: Read Succeeded
#exec = export SLURP_ARGS='-d -c {{ $onSecondaryContainer }}BB -b {{ $secondaryContainer }}44 -s 00000000'

general {
    col.active_border = rgba({{ $onSurface }}39)
    col.inactive_border = rgba({{ $outline }}30)
}

misc {
    background_color = rgba({{ $surface }}FF)
}

plugin {
    hyprbars {
        # Honestly idk if it works like css, but well, why not
        bar_text_font = Rubik, Geist, AR One Sans, Reddit Sans, Inter, Roboto, Ubuntu, Noto Sans, sans-serif
        bar_height = 30
        bar_padding = 10
        bar_button_padding = 5
        bar_precedence_over_border = true
        bar_part_of_window = true

        bar_color = rgba({{ $background }}FF)
        col.text = rgba({{ $onBackground }}FF)

        # example buttons (R -> L)
        # hyprbars-button = color, size, on-click
        hyprbars-button = rgb({{ $onBackground }}), 13, 󰖭, hyprctl dispatch killactive
        hyprbars-button = rgb({{ $onBackground }}), 13, 󰖯, hyprctl dispatch fullscreen 1
        hyprbars-button = rgb({{ $onBackground }}), 13, 󰖰, hyprctl dispatch movetoworkspacesilent special
    }
}

windowrulev2 = bordercolor rgba({{ $primary }}AA) rgba({{ $primary }}77),pinned:1

Config File: /home/dhruv/.config/hypr/hyprland/keybinds.conf: Read Succeeded
# Lines ending with `# [hidden]` won't be shown on cheatsheet
# Lines starting with #! are section headings

bindl = Alt ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle # [hidden]
bindl = Super ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle # [hidden]
bindl = ,XF86AudioMute, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0% # [hidden]
bindl = Super+Shift,M, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0% # [hidden]
bindle=, XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ # [hidden]
bindle=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- # [hidden]

# Uncomment these if you can't get AGS to work
#bindle=, XF86MonBrightnessUp, exec, brightnessctl set '12.75+'
#bindle=, XF86MonBrightnessDown, exec, brightnessctl set '12.75-'

#!
##! Essentials for beginners

bind = Super, T, exec, foot # Launch foot (terminal)
bind = Super, Return, exec, foot # [hidden] # In case you're from i3 or its Wayland clone
bind = , Super, exec, true # Open app launcher
bind = Ctrl+Super, T, exec, ~/.config/ags/scripts/color_generation/switchwall.sh # Change wallpaper
##! Actions
# Screenshot, Record, OCR, Color picker, Clipboard history
bind = Super, V, exec, pkill fuzzel || cliphist list | fuzzel  --match-mode fzf --dmenu | cliphist decode | wl-copy # Clipboard history >> clipboard
bind = Super, Period, exec, pkill fuzzel || ~/.local/bin/fuzzel-emoji # Pick emoji >> clipboard
bind = Ctrl+Shift+Alt, Delete, exec, pkill wlogout || wlogout -p layer-shell # [hidden]
bind = Super+Shift, S, exec, ~/.config/ags/scripts/grimblast.sh --freeze copy area # Screen snip
bind = Super+Shift+Alt, S, exec, grim -g "$(slurp)" - | swappy -f - # Screen snip >> edit
# OCR
bind = Super+Shift,T,exec,grim -g "$(slurp $SLURP_ARGS)" "tmp.png" && tesseract -l eng "tmp.png" - | wl-copy && rm "tmp.png" # Screen snip to text >> clipboard
bind = Ctrl+Super+Shift,S,exec,grim -g "$(slurp $SLURP_ARGS)" "tmp.png" && tesseract "tmp.png" - | wl-copy && rm "tmp.png" # [hidden]
# Color picker
bind = Super+Shift, C, exec, hyprpicker -a # Pick color (Hex) >> clipboard
# Fullscreen screenshot
bindl=,Print,exec,grim - | wl-copy # Screenshot >> clipboard
bindl= Ctrl,Print, exec, mkdir -p ~/Pictures/Screenshots && ~/.config/ags/scripts/grimblast.sh copysave screen ~/Pictures/Screenshots/Screenshot_"$(date '+%Y-%m-%d_%H.%M.%S')".png # Screenshot >> clipboard & file
# Recording stuff
bind = Super+Alt, R, exec, ~/.config/ags/scripts/record-script.sh # Record region (no sound)
bind = Ctrl+Alt, R, exec, ~/.config/ags/scripts/record-script.sh --fullscreen # [hidden] Record screen (no sound)
bind = Super+Shift+Alt, R, exec, ~/.config/ags/scripts/record-script.sh --fullscreen-sound # Record screen (with sound)
##! Session
bind = Ctrl+Super, L, exec, ags run-js 'lock.lock()' # [hidden]
bind = Super, L, exec, loginctl lock-session # Lock
bind = Super+Shift, L, exec, loginctl lock-session # [hidden]
bindl = Super+Shift, L, exec, sleep 0.1 && systemctl suspend || loginctl suspend # Suspend system
bind = Ctrl+Shift+Alt+Super, Delete, exec, systemctl poweroff || loginctl poweroff # [hidden] Power off

#!
##!  Window arrangement
#/# bind = Super+Shift, ←/↑/→/↓,, # Window: move in direction
bind = Super+Shift, Left, movewindow, l # [hidden]
bind = Super+Shift, Right, movewindow, r # [hidden]
bind = Super+Shift, Up, movewindow, u # [hidden]
bind = Super+Shift, Down, movewindow, d # [hidden]
# Window split ratio
#/# binde = Super, +/-,, # Window: split ratio +/- 0.1
binde = Super, Minus, splitratio, -0.1 # [hidden]
binde = Super, Equal, splitratio, +0.1 # [hidden]
binde = Super, Semicolon, splitratio, -0.1 # [hidden]
binde = Super, Apostrophe, splitratio, +0.1 # [hidden]
# Positioning mode
bind = Super+Alt, Space, togglefloating,
bind = Super+Alt, F, fullscreenstate, 0 3 # Toggle fake fullscreen
bind = Super, F, fullscreen, 0
bind = Super, D, fullscreen, 1

#!
##! Workspace navigation
# Switching
#/# bind = Super, Hash,, # Focus workspace # (1, 2, 3, 4, ...)
bind = Super, 1, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 1 # [hidden]
bind = Super, 2, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 2 # [hidden]
bind = Super, 3, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 3 # [hidden]
bind = Super, 4, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 4 # [hidden]
bind = Super, 5, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 5 # [hidden]
bind = Super, 6, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 6 # [hidden]
bind = Super, 7, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 7 # [hidden]
bind = Super, 8, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 8 # [hidden]
bind = Super, 9, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 9 # [hidden]
bind = Super, 0, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 10 # [hidden]

#/# bind = Ctrl+Super, ←/→,, # Workspace: focus left/right
bind = Ctrl+Super, Right, workspace, +1 # [hidden]
bind = Ctrl+Super, Left, workspace, -1 # [hidden]
#/# bind = Super, Scroll ↑/↓,, # Workspace: focus left/right
bind = Super, mouse_up, workspace, +1 # [hidden]
bind = Super, mouse_down, workspace, -1 # [hidden]
bind = Ctrl+Super, mouse_up, workspace, +1 # [hidden]
bind = Ctrl+Super, mouse_down, workspace, -1 # [hidden]
#/# bind = Super, Page_↑/↓,, # Workspace: focus left/right
bind = Super, Page_Down, workspace, +1 # [hidden]
bind = Super, Page_Up, workspace, -1 # [hidden]
bind = Ctrl+Super, Page_Down, workspace, +1 # [hidden]
bind = Ctrl+Super, Page_Up, workspace, -1 # [hidden]
## Special
bind = Super, S, togglespecialworkspace,
bind = Super, mouse:275, togglespecialworkspace,

##! Workspace management
# Move window to workspace Super + Alt + [0-9]
#/# bind = Super+Alt, Hash,, # Window: move to workspace # (1, 2, 3, 4, ...)
bind = Super+Alt, 1, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 1 # [hidden]
bind = Super+Alt, 2, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 2 # [hidden]
bind = Super+Alt, 3, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 3 # [hidden]
bind = Super+Alt, 4, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 4 # [hidden]
bind = Super+Alt, 5, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 5 # [hidden]
bind = Super+Alt, 6, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 6 # [hidden]
bind = Super+Alt, 7, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 7 # [hidden]
bind = Super+Alt, 8, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 8 # [hidden]
bind = Super+Alt, 9, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 9 # [hidden]
bind = Super+Alt, 0, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 10 # [hidden]

bind = Ctrl+Super+Shift, Up, movetoworkspacesilent, special # [hidden]

bind = Ctrl+Super+Shift, Right, movetoworkspace, +1 # [hidden]
bind = Ctrl+Super+Shift, Left, movetoworkspace, -1 # [hidden]
bind = Ctrl+Super, BracketLeft, workspace, -1 # [hidden]
bind = Ctrl+Super, BracketRight, workspace, +1 # [hidden]
bind = Ctrl+Super, Up, workspace, -5 # [hidden]
bind = Ctrl+Super, Down, workspace, +5 # [hidden]
#/# bind = Super+Shift, Scroll ↑/↓,, # Window: move to workspace left/right
bind = Super+Shift, mouse_down, movetoworkspace, -1 # [hidden]
bind = Super+Shift, mouse_up, movetoworkspace, +1 # [hidden]
bind = Super+Alt, mouse_down, movetoworkspace, -1 # [hidden]
bind = Super+Alt, mouse_up, movetoworkspace, +1 # [hidden]
#/# bind = Super+Shift, Page_↑/↓,, # Window: move to workspace left/right
bind = Super+Alt, Page_Down, movetoworkspace, +1 # [hidden]
bind = Super+Alt, Page_Up, movetoworkspace, -1 # [hidden]
bind = Super+Shift, Page_Down, movetoworkspace, +1  # [hidden]
bind = Super+Shift, Page_Up, movetoworkspace, -1  # [hidden]
bind = Super+Alt, S, movetoworkspacesilent, special
bind = Super, P, pin

bind = Ctrl+Super, S, togglespecialworkspace, # [hidden]
bind = Alt, Tab, cyclenext # [hidden] sus keybind
bind = Alt, Tab, bringactivetotop, # [hidden] bring it to the top

#!
##! Widgets
bindr = Ctrl+Super, R, exec, killall ags ydotool; ags & # Restart widgets
bindr = Ctrl+Super+Alt, R, exec, hyprctl reload; killall ags ydotool; ags & # [hidden]
bind = Ctrl+Alt, Slash, exec, ags run-js 'cycleMode();' # Cycle bar mode (normal, focus)
bindir = Super, Super_L, exec, ags -t 'overview' # Toggle overview/launcher
bind = Super, Tab, exec, ags -t 'overview' # [hidden]
bind = Super, Slash, exec, for ((i=0; i<$(hyprctl monitors -j | jq length); i++)); do ags -t "cheatsheet""$i"; done # Show cheatsheet
bind = Super, B, exec, ags -t 'sideleft' # Toggle left sidebar
bind = Super, A, exec, ags -t 'sideleft' # [hidden]
bind = Super, O, exec, ags -t 'sideleft' # [hidden]
bind = Super, N, exec, ags -t 'sideright' # Toggle right sidebar
bind = Super, M, exec, ags run-js 'openMusicControls.value = (!mpris.getPlayer() ? false : !openMusicControls.value);' # Toggle music controls
bind = Super, Comma, exec, ags run-js 'openColorScheme.value = true; Utils.timeout(2000, () => openColorScheme.value = false);' # View color scheme and options
bind = Super, K, exec, for ((i=0; i<$(hyprctl monitors -j | jq length); i++)); do ags -t "osk""$i"; done # Toggle on-screen keyboard
bind = Ctrl+Alt, Delete, exec, for ((i=0; i<$(hyprctl monitors -j | jq length); i++)); do ags -t "session""$i"; done # Toggle power menu
bind = Ctrl+Super, G, exec, for ((i=0; i<$(hyprctl monitors -j | jq length); i++)); do ags -t "crosshair""$i"; done # Toggle crosshair
bindle=, XF86MonBrightnessUp, exec, ags run-js 'brightness.screen_value += 0.05; indicator.popup(1);' # [hidden]
bindle=, XF86MonBrightnessDown, exec, ags run-js 'brightness.screen_value -= 0.05; indicator.popup(1);' # [hidden]
bindl  = , XF86AudioMute, exec, ags run-js 'indicator.popup(1);' # [hidden]
bindl  = Super+Shift,M,   exec, ags run-js 'indicator.popup(1);' # [hidden]

# Testing
# bind = SuperAlt, f12, exec, notify-send "Hyprland version: $(hyprctl version | head -2 | tail -1 | cut -f2 -d ' ')" "owo" -a 'Hyprland keybind'
# bind = Super+Alt, f12, exec, notify-send "Millis since epoch" "$(date +%s%N | cut -b1-13)" -a 'Hyprland keybind'
bind = Super+Alt, f12, exec, notify-send 'Test notification' "Here's a really long message to test truncation and wrapping\nYou can middle click or flick this notification to dismiss it!" -a 'Shell' -A "Test1=I got it!"  Media
bindl= Super+Shift, N, exec, playerctl next || playerctl position `bc <<< "100 * $(playerctl metadata mpris:length) / 1000000 / 100"` # Next track
bindl= ,XF86AudioNext, exec, playerctl next || playerctl position `bc <<< "100 * $(playerctl metadata mpris:length) / 1000000 / 100"` # [hidden]
bindl= ,XF86AudioPrev, exec, playerctl previous # [hidden]
bind = Super+Shift+Alt, mouse:275, exec, playerctl previous # [hidden]
bind = Super+Shift+Alt, mouse:276, exec, playerctl next || playerctl position `bc <<< "100 * $(playerctl metadata mpris:length) / 1000000 / 100"` # [hidden]
bindl= Super+Shift, B, exec, playerctl previous # Previous track
bindl= Super+Shift, P, exec, playerctl play-pause # Play/pause media
bindl= ,XF86AudioPlay, exec, playerctl play-pause # [hidden]
bindl= ,XF86AudioPause, exec, playerctl play-pause # [hidden]

#!
##! Apps
bind = Super, T, exec, # Launch foot (terminal)
bind = Super, Z, exec, Zed # Launch Zed (editor)
bind = Super, C, exec, code --password-store=gnome --enable-features=UseOzonePlatform --ozone-platform=wayland # Launch VSCode (editor)
bind = Super, E, exec, nautilus --new-window # Launch Nautilus (file manager)
bind = Super+Alt, E, exec, thunar # [hidden]
bind = Super, W, exec, google-chrome-stable # [hidden] Let's not give people (more) reason to shit on my rice
bind = Ctrl+Super, W, exec, firefox # Launch Firefox (browser)
bind = Super, X, exec, gnome-text-editor --new-window # Launch GNOME Text Editor
bind = Super+Shift, W, exec, wps # Launch WPS Office
bind = Super, I, exec, XDG_CURRENT_DESKTOP="gnome" gnome-control-center # Launch GNOME Settings
bind = Ctrl+Super, V, exec, pavucontrol # Launch pavucontrol (volume mixer)
bind = Ctrl+Super+Shift, V, exec, easyeffects # Launch EasyEffects (equalizer & other audio effects)
bind = Ctrl+Shift, Escape, exec, gnome-system-monitor # Launch GNOME System monitor
bind = Ctrl+Super, Slash, exec, pkill anyrun || anyrun # Toggle fallback launcher: anyrun
bind = Super+Alt, Slash, exec, pkill anyrun || fuzzel # Toggle fallback launcher: fuzzel

# Cursed stuff
## Make window not amogus large
bind = Ctrl+Super, Backslash, resizeactive, exact 640 480 # [hidden]

Config File: /home/dhruv/.config/hypr/hyprland/monitors.conf: Read Succeeded
monitor=eDP-1,1920x1080@144,0x0,1
monitor=HDMI-A-1,1920x1080@74.97,1920x0,1

Config File: /home/dhruv/.config/hypr/custom/env.conf: Read Succeeded
# You can put extra environment variables here
# https://wiki.hyprland.org/Configuring/Environment-variables/

Config File: /home/dhruv/.config/hypr/custom/execs.conf: Read Succeeded
# You can make apps auto-start here
# Relevant Hyprland wiki section: https://wiki.hyprland.org/Configuring/Keywords/#executing

Config File: /home/dhruv/.config/hypr/custom/general.conf: Read Succeeded
# Put general config stuff here
# Here's a list of every variable: https://wiki.hyprland.org/Configuring/Variables/

Config File: /home/dhruv/.config/hypr/custom/rules.conf: Read Succeeded
# You can put custom rules here
# Window/layer rules: https://wiki.hyprland.org/Configuring/Window-Rules/
# Workspace rules: https://wiki.hyprland.org/Configuring/Workspace-Rules/

Config File: /home/dhruv/.config/hypr/custom/keybinds.conf: Read Succeeded
# You can put your preferred keybinds here
# https://wiki.hyprland.
bind =, Print, exec, grim -g "$(slurp)" - | wl-copy

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

Description
Config error in file /home/dhruv/.config/hypr/hyprland/colors.conf at line 4: Error parsing gradient rgba({{ $onSurface }}39): failed to parse }}39) as a color
Config error in file /home/dhruv/.config/hypr/hyprland/colors.conf at line 5: Error parsing gradient rgba({{ $outline }}30): failed to parse 30 as a color
Config error in file /home/dhruv/.config/hypr/hyprland/colors.conf at line 9: rgba() expects length of 8 characters (4 bytes) or 4 comma-separated values
Config error in file /home/dhruv/.config/hypr/hyprland/colors.conf at line 4: Error parsing gradient rgba({{ $onSurface }}39): failed to parse 39 as a color
Config error in file /home/dhruv/.config/hypr/hyprland/colors.conf at line 5: Error parsing gradient rgba({{ $outline }}30): failed to parse 30 as a color

How to reproduce
Tried to change wallpaper .
Crash reports, logs, images, videos
No response

I'm facing the same issue:
// hyprlock.conf file section
background {
  monitor =
  path = /home/icsboyx/Streaming/WallPaper_X.jpg   # supports png, jpg, webp (no animations, though)
  color = rgba(25, 20, 20, 1.0)

  # all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
  blur_passes = 0 # 0 disables blurring
  blur_size = 7
  noise = 0.0117
  contrast = 0.8916
  brightness = 0.8172
  vibrancy = 0.1696
  vibrancy_darkness = 0.0
}

shape {
  monitor =
  size = 360, 60
  color = rgba(17, 17, 17, 1.0)
  rounding = -1
  border_size = 8
  border_color = rgba(0, 207, 230, 1.0)
  rotate = 0
  xray = false # if true, make a "hole" in the background (rectangle of specified size, no rotation)

  position = 0, -20
  halign = center
  valign = center
}

└─▪ hyprlock --immediate-render
[WARN] Error parsing gradient rgba(0, 207, 230, 1.0)
[WARN] Error parsing gradient rgba(0, 207, 230, 1.0)
[WARN] Error parsing gradient rgba(0, 207, 230, 1.0)
[WARN] Error parsing gradient rgba(0, 207, 230, 1.0)
[WARN] Error parsing gradient rgba(0, 207, 230, 1.0)
[WARN] Error parsing gradient rgb(204, 136, 34)
[WARN] Error parsing gradient rgb(204, 136, 34)
[WARN] Error parsing gradient rgb(204, 136, 34)
[WARN] Error parsing gradient rgb(204, 136, 34)
[WARN] Error parsing gradient rgb(204, 34, 34)
[WARN] Error parsing gradient rgb(204, 34, 34)
[WARN] Error parsing gradient rgb(204, 34, 34)
[WARN] Error parsing gradient rgb(204, 34, 34)
[ERR] Config has errors:
Config error in file /home/icsboyx/.config/hypr/hyprlock.conf at line 22: Error parsing gradient rgba(0, 207, 230, 1.0): No colors?
Config error in file /home/icsboyx/.config/hypr/hyprlock.conf at line 47: Error parsing gradient rgb(204, 136, 34): No colors?
Config error in file /home/icsboyx/.config/hypr/hyprlock.conf at line 48: Error parsing gradient rgb(204, 34, 34): No colors?

@icsboyx this is not the hyprlock bug tracker
OP: your config is invalid, the error is correct


Blank/white screen with *.json; *.yaml works fine

Hi,
As of the latest update, I've found none of my *.json swagger files will preview in the tab/browser, whereas the exact same version in *.yaml  works fine.
I've tested the json version of my swagger files on the swagger.io site and they render fine.  Even exporting those same json files as yaml and previewing in the plugin in VSC also works fine.  It just seems there is something wrong/different with the JSON rendering.
Would love some suggestions on how to correct this -- i find this plugin to be an incredibly useful tool and saves a huge amount of time.

Came here looking for solutions.  I'm also getting the blank preview screen for .json swagger doc

Fixed in #27


The label element will be rendered in the Slider component even if the title parameter is not passed

https://github.com/carbon-design-system/carbon-components-svelte/blob/d2e471bbecbbaf24cad8fe1589e6363354a35471/src/Slider/Slider.svelte#L142
Because the label element had a 0.5 rem marginBottom, I was unable to align the Slider with the other form controls.

Released in v0.79.0


Use local storage drive for Jenkins workspace

This pull request adds the necessary changes to the Jenkins slave systemd service file to have the Azure local drive used for the Jenkins workspace.

bors r+

bors r+


xrtx: Don't hardcode UART major

Currently thedriver hardcodes the UART major as 234. However, this is
VERY BAD (TM) as 234 is reserved for dynamic allocation BY THE KERNEL.
Trying to use 234 in this way in the driver will cause conflicts with
other dynamically major-allocated drivers in the kernel. Fortunately,
simply leaving out the .major/.minor field will cause the kernel
to dynamically allocate a proper major/minor number for the UART device.
Fixes: https://github.com/xtrx-sdr/images/issues/102
Signed-off-by: Keno Fischer<EMAIL_ADDRESS>@sergforce is there userspace that depends on this hardcoding? If so, we might want to fix that as well.

Very helpful PR.
Without the changes I got Device or resouce busy and xtrx: Unable to initialize UART driver: -16 in kernel debug messages when loading the module.
Applying the diff as a patch fixed the problem for me.


Exercises-w1

Exercises
Name
Artemis Kalemis
Class
bt-1
GitHub username
My github page
Bootcamp exercises
Looping a triangle
FizzBuzz
Chessboard
Bootcamp notes
My notes

Looking good! But, these are not all the exercises from the first week only from the first lesson.
Feel free to create a new issues once al the exercises from l1, l2 a& l3 are complete.


CLI does not paginate resources

The CLI communicates to influx over the HTTP API, which by default has a limit of 100 for all resources and offers pagination to get more results.
This isn't properly being taken into account in the CLI, and therefore it's impossible to show results past the first 100.
AC: As a user, I should see all results when entering a command like influx buckets list.

Hi @jademcgough,
I want to work on this. Where should I start?

connect: #19490


examples require az login

[Enter feedback here]
az storage account show
requires az login as prerequisite, not stated

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

ID: 8d60d83f-0094-6c5e-e105-712c24bf1acc
Version Independent ID: 594af294-fd5d-a8c7-d456-6d753b7b62f8
Content: Use Azure Files with Linux
Content Source: articles/storage/files/storage-how-to-use-files-linux.md
Service: storage
Sub-service: files
GitHub Login: @roygara
Microsoft Alias: rogarana

This was on one example but not the other two. I have added it and submitted a PR request.

thank you!


How do I use the popup?

I use React.
I tried to use it as the tutorial says but there is no pop up.
Any tricks?

Did you find a solution for this?
Related: Semantic-UI-React
Possible Example: http://react.semantic-ui.com/elements/button


Is anyone in the community maintaining an active fork?

Hi @ll,
I was wondering if anyone who has forked this repo is actively maintaining their fork to add new features and make bugfixes. The project seems abandoned to me (the last merged PR was almost 2 years ago).
My main goal is to bring goji to async. Maybe I could just implement it and make a PR.
If not, I'm thinking of making a fork that is more or less actively maintained. I'm usually a little short of time, so it would be nice if someone would be willing to co-maintain the fork (help to take care of PRs and so on). I would also try including all the open pull requests.
BR
Beh

@deg0nz, I maintain my fork as it's a dependency in a project I support required generic serde Issue types, just haven't bothered submitting a pr since it looked like it wasn't maintained. But I'd be willing to merge and help with maintenance (since I'd definitely be merging your async feature anyway).
@softprops, would you be willing to add collaborators to goji?

Hey, @krscott

I maintain my fork as it's a dependency in a project I support which requires generic serde Issue types, just haven't bothered submitting a pr since it looked like it wasn't maintained.

Exactly the same here. I also added custom issues and bearer authentication.

@softprops, would you be willing to add collaborators to goji?

I would also appreciate if that were possible :)

@krscott @softprops @deg0nz - I'm just did the same. I would happily open PRs somewhere else if there was consensus on a single repo being maintained.

Same for me. I started to merge in from the pull requests and forks. But will not be able to maintain it myself.

I am possibly also forking this project to work on top of it. There is a high chance I will work on it from time to time over the year. I would be happy if anyone can take an iniative to create a fork in a new organization.

That's very nice. Thank you @avrabe!
But just 1 question: Should we make a hard fork, so that issues can be discussed over there at wunderfrucht? I think it could be quite confusing if issues are handled here, since no one is actutally able to manage issues.
I think it would also be nice if gouqi would be released as a new package on crates.io.
@avrabe I think you can also add me and @krscott as collaborators if you like. I myself will try my best and support the maintenance of the new repo.


EVPN Gateway API

EVPN Gateway API for provisioning integrated L2 and L3 network instances on an xPU

Cloud APIs as it is defined today, allows a multi-tenant BGP Based route/mac distribution and define following objects:

@jainvipin maybe if you can add link to the proto file, it would be helpful

maybe this kinda picture @jainvipin had in mind that Intel and Ericsson presented in their demo:

maybe this kinda picture @jainvipin had in mind that Intel and Ericsson presented in their demo:

this pic is very helpful in understanding the implementation, we should add this in the PR. I went over the demo recording for this and there was also a use case slide that is worth included for anyone wanting to get more context on this use case.

Cloud APIs as it is defined today, allows a multi-tenant BGP Based route/mac distribution and define following objects:

@jainvipin maybe if you can add link to the proto file, it would be helpful

VPC (aka vrf object): https://github.com/opiproject/opi-api/blob/main/network/cloud/v1alpha1/vpc.proto
Subnet (aka SVI/LogicalBridge object): https://github.com/opiproject/opi-api/blob/main/network/cloud/v1alpha1/subnet.proto
Tunnel (for encapsulating packets): https://github.com/opiproject/opi-api/blob/main/network/cloud/v1alpha1/tunnel.proto
Port (Bridge Port object): can be https://github.com/opiproject/opi-api/blob/main/network/cloud/v1alpha1/vnic.proto (can add vlan-id in addition to vni here)
Cloud objects do have a whole bunch of other things that are perhaps not needed in this PR. So we can make a call if we want to keep it separate for now and look at common elements later, or do it now.

Cloud objects do have a whole bunch of other things that are perhaps not needed in this PR. So we can make a call if we want to keep it separate for now and look at common elements later, or do it now.

My opinion - we need to at least try to find common objects now and split instead of duplicating. It could be shared folder between cloud and eVPN GW or just a cloud folder... I'm ok with either approach.
@mardim91 can you please look at @jainvipin links and see if those can fit your needs instead of defining a new ones... ?

Hello @glimchb and @jainvipin it will take some time to review the cloud API and find common ground (if any) with our EVPN GW API. Is there any recording or slideck that the cloud API has been presented so we can get more context on how this API is implemented, what is the use case in mind  and how the different obhects are getting created and connected to eachother ?

A couple of things to consider:

Openconfig has definitions for EVPN https://github.com/openconfig/public/blob/master/doc/evpn_use_cases.md
The openconfig has models for both EVPN and VRF that are part of the network instance models at: https://github.com/openconfig/public/tree/master/release/models/network-instance

Is it possible to leverage the applicable models to align with existing solutions that exist today for Network configuration operations.

A couple of things to consider:

Openconfig has definitions for EVPN https://github.com/openconfig/public/blob/master/doc/evpn_use_cases.md
The openconfig has models for both EVPN and VRF that are part of the network instance models at: https://github.com/openconfig/public/tree/master/release/models/network-instance

Is it possible to leverage the applicable models to align with existing solutions that exist today for Network configuration operations.

@sandersms We for sure would like in the future to take a look and study the openconfig part and see if we can align our API with the openconfig standards. For the meanwhile we would like to merge this API as it is and then study openconfig and see if we can align. I hope this is ok with you.

@mardim91 please note MD linter errors
https://github.com/opiproject/opi-api/actions/runs/4832277890/jobs/8652033745?pr=276

thanks @mardim91 for submitting this PR. I have put in some comments here. we should discuss some of them a bit more. There are some small comments but the big ones are:

Lack of Spec and Status is very clearly seen as fields are getting mixed up
[Dimitris] We believe this is a really good point to use the Spec and Status concept. I will change the API to reflect that.
Opaque keys (aka IDs in various other OPI object definitions) alllows identification and reference to the objects very cleanly. This is not the case here, in some cases field values are used as refrence, in some cases names. Not only this lacks consistency but breaks abstraction. Moving to a consistent key-ids can fix this issue.
[Dimitris] I agree that using IDs (e.g. UUIDs in Openstack case) as keys to uniquely identify is is more clear than using other fields. The problem with UUIDs is that you need additional checks for the other fields in order to evaluate the uniqness of a field. (e.g. If you use UUIDs as key to LogicalBridges then you need extra functionality to implement in order to be sure that the vlan_id field of a newly created LogicalBridge is also unique as you cannot have two LogicalBridges with the same vlan-id. This is not the case of course if you use vlan-id as key because the vlan-id will represent uniqness of the LogicalBridge.)
Also makes the reference easier if you do not use UUIDs. For instance if you want as a user to say which BirdgePort belongs to which LogicalBridge then you need to find first which is the UUID of the LogicalBridge and use that as parameter during the creation of the BridgePort in order to refernce the LogicalBridge that the BridgePort belongs to which is a bit of a struggle. Overall UUIDs are cleaner and more machine friendly but using non UUIDs keys are more user friendly. We need to have a discussion in the OPI-API meeting to decide which approach we would like to follow on all APIs that are submitted.
There definitely seems to be a lot of side-band fixup needed for these APIs to work i.e. we'll need to introduce some more objects, especially route-table (to control linux routing perhaps), BGP (no RR and/or local/bgp-peer configuration), underlay configuration is not there, VNIC (as vport_id is very opaque w.r.t. what user really wants e.g. VF or netdev virtual interface), etc.
[Dimitris] Currenlty we do not deal with BGP configuration and underlay we take that as already preconfigured objects. We do not have any intetion to include that in the API for now. Also in our PoC we had only VFs and that's why we do not specify something else as type during the BridgePort creation. Maybe in the future we can revisit that.
Finally, underlying implementation being linux (vs. if it is P4) is evident from this API. I was hoping GRPC layer abstracts out the implementation.
[Dimitris] We can remove any Linux words/statements from the API comments.

usually the URLs and references are not case sensitive....making them case sensitive can create incompatibilities. Suggest changing all camelCase nameing to all lowercase naming.

I have just tried to follow the google standards. You can see in the image below that the resource reference has been written with a capital letter

LGTM @mardim91  !!


Reflactor to multiple plugins

Separate the handling of the fetched data and of doing the request. Maybe find a plugin for the later.

And build them up from scratch separately and then install or submodule/symlink into here.


Update http4s-client, http4s-core, ... to 0.23.10

Updates

org.http4s:http4s-client
org.http4s:http4s-core
org.http4s:http4s-dsl

from 0.23.0-RC1 to 0.23.10.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.http4s" } ]

labels: library-update, early-semver-minor, semver-spec-pre-release, commit-count:1

Superseded by #545.


[WIP] Playing around a bit with outlining GPU kernels.

I did a thing - even though the changes are neither especially significant nor polished and thus require much manual pasting, I just wanted to have the PR to enable discussions on how GPU support in Thorin could look like.
What this does: I added an axiom %core.gpu that wraps a function (obviously, this should not stay in core).
This is never lowered away or so, thus in the backend, we can take the lam wrapped by the axiom, copy it (recursively) into a new world, and mark it as external in that world.
This new world is then emitted by the backend. It uses a super simple target notion for this, that allows overwriting some default imports (for thread id, ..) and so on for each target.
The ll code is currently emitted to the same stream as the CPU code, thus one has to manually copy the code to some kernel file, where it can be compiled by e.g. ROCm clang to a HSA code object file hsaco.
This hsaco file can then be loaded using the HIP driver API and executed by a runtime (see example in launch_gcn).
The biggest todos to make this actually useful, is probably splitting the CPU and GPU outputs and to integrate some sort of runtime (possibly an adaption from AnyDSL/runtime?)
One would probably want a GPU dialect that exhibits an assortment of axioms representing OpenCL kernel functions, like the exemplary present index accesses.
In the long run, one might want to add ways to use Thorin as a driver, so that compilation of the (various) kernels is automatically performed and maybe even the clang-offload-bundler can be used to get a single binary, where the kernels are embedded.
Note, the compilation model proposed here is following more the design of the NVC++ compiler, where the frontend parses the code just once and just the backends (and maybe parts of the middle end) run for each targeted GPU architecture. This is in contrast to NVCC's and Clang's default CUDA / HIP compilation flows, which parse the C(++) code twice: once for the CPU and once for the devices. The latter comes with a bunch of complications, e.g. consistent lambda numbering, ...
Ideally, this approach reduces the number of these oddities.

Just some random thoughts:
We need to eliminate the free vars within the kernel in order to make it invokable:
x = ...
for i in gpu(...) {
    ... x ...
}

here we need to equip x with the signature of the lambda.
We also need to transitively import everything that is used with the kernel:
for i in gpu(...) {
    foo()
    bar()
}

Here, we need to import foo, and bar into the new gpu module - possibly more stuff that is transitively used within foo or bar.
Another design decision is which axioms should "just work" within the kernel and which one are "cpu-only" so to say and vice versa:
x = sin(...)
for i in gpu(...) {
    ... sin(...) ...
}

In Thorin1 we had a set of builtin operations (+, -, *, ...) and everything else like sin, ... were special functions that had to be explicitly accessed like so:
for i, intrin in nvvm(...) { // can't remember the exact method - but you get the idea ...
    ... intrin.sin(...) ...
}

I never really liked this approach. I think we should simply add sin, cos, ... to core and deal with that on our side.
However, there do exist functions that only makes sense on the gpu. In this case, we can either use the intrin-approach as we originally had in Thorin1, or we enforce proper use of device function with the type system (see below).
Now, that we have this fancy type system in Thorin we can also track different devices more explicit with the type system. Maybe sth like this.
fn foo(d: Dev)(m: Mem d, p: ptr m) ...
    bar(d)(p, ...)

And then, instead of automagically importing, we just partially apply all functions in question to the specific Dev. Then, adding gpu-only functions is pretty forward:
fn gpu_only(m: Mem GPU, p: ptr m) ...

(Note that I use Mem: Dev -> * instead of Mem: * here)


Upgrade assertj-core and Guava, add InstanceOfAssertFactories for Guava

This PR introduces InstanceOfAssertFactories for Guava, following joel-costigliola/assertj-core#1498.
~assertj-core 3.13.2 should be released in few days, I'll update this PR once it is available.~
assertj-core has been upgraded to 3.13.2.

Integrated thanks @scordio!

Thank you! You may want also to upgrade to Guava to version 28.1-jre 🙂


Document how to integrate Tugboat with GitHub-for-JIRA

When:

Using Tugboat with Deployment Statuses
With repo hosted on GitHub
And tickets / issues in JIRA
And using GitHub for JIRA plugin in JIRA

JIRA will show deployments as unmapped. We should document how to set this up so that Tugboat environments display properly in JIRA.

@owenbush discovered the following:

Looks like I managed to get Github, and JIRA configured to no longer have unnamed environment releases.
In Github we now have 4 environments set up:
Dev
Test
Tugboat
Pantheon
I then added a .jira/config.yml file to our repo with the following environment mappings:
deployments:
  environmentMapping:
    development:
      - "Dev"
    testing:
      - "Tugboat"
    staging:
      - "Test"
    production:
      - "Pantheon"

Deployments to Dev should show up as Development in JIRA
Deployments to Tugboat should show up as Testing in JIRA
Deployments to Test should show up as Staging in JIRA
Deployments to Pantheon should show up as Production in JIRA
Below is a screenshot of a release for an issue that was just deployed to Tugboat.

To me it felt like Tugboat is more of a testing environment than a staging environment which is why I did the mapping that way. But this could be up to whoever the devs are on a project.

@qorban, where is the right place for something like this?  Should we start a new section for third party integrations?
https://docs.tugboatqa.com/

Let's create a new top-level item for 3rd party integrations and move other things out of snippets as well.

@KeyboardCowboy bumping this up. Will you have time to work on this? Perhaps Scribe could help us here?

  Trying to get past a few Iowa hurdles right now.


How to access route parameter in a middleware?

First check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the FastAPI documentation, with the integrated search.
[X] I already searched in Google "How to X in FastAPI" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to FastAPI but to Pydantic.
[X] I already checked if it is not related to FastAPI but to Swagger UI.
[X] I already checked if it is not related to FastAPI but to ReDoc.
[X] After submitting this, I commit to one of:

Read open issues with questions until I find 2 issues where I can help someone and add a comment to help there.
I already hit the "watch" button in this repository to receive notifications and I commit to help at least 2 people that ask questions in the future.
Implement a Pull Request for a confirmed bug.

I am trying to add a custom parameter in the route and like to access it in a middleware.
eg.
from fastapi import FastAPI
app = FastAPI()

@app.get("/", action=['search'])  # I am interested in accessing the `action` parameter in a middleware
def read_root():
    return {"Hello": "World"}

Here's what I have done so far.
from typing import Callable, List, Any

import uvicorn
from fastapi.routing import APIRoute
from starlette.requests import Request
from starlette.responses import Response

from starlette.middleware.base import (
    BaseHTTPMiddleware,
    RequestResponseEndpoint
)

from fastapi import FastAPI, APIRouter

class AuditHTTPMiddleware(BaseHTTPMiddleware):
    # I want the `action` parameter from the route to be accessible in this middleware
    async def dispatch(self, request: Request, call_next: RequestResponseEndpoint) -> Response:
        response = await call_next(request)
        return response

class CustomAPIRoute(APIRoute):
    def __init__(self, path: str, endpoint: Callable, *, action: List[str] = None, **kwargs) -> None:
        super(CustomAPIRoute, self).__init__(path, endpoint, **kwargs)
        self.action = action

class CustomAPIRouter(APIRouter):
    def __init__(self):
        super(CustomAPIRouter, self).__init__()
        self.route_class = CustomAPIRoute

    def add_api_route(self, path: str, endpoint: Callable, *, action: List[str] = None, **kwargs) -> None:
        route = self.route_class(path=path, endpoint=endpoint, action=action, **kwargs)
        self.routes.append(route)

    def api_route(self, path: str, *, action: List[str] = None, **kwargs) -> Callable:
        def decorator(func: Callable) -> Callable:
            self.add_api_route(path, func, action=action, **kwargs)
            return func

        return decorator

    def get(self, path: str, *, action: List[str] = None, **kwargs) -> Callable:
        return self.api_route(path, action=action, **kwargs)

router = CustomAPIRouter()

@router.get('/', action=['Search'], tags=["Current tag"])
def get_data():
    return {}

if __name__ == '__main__':
    app = FastAPI()

    app.add_middleware(AuditHTTPMiddleware)
    app.include_router(prefix='', router=router)
    uvicorn.run(app, host="<IP_ADDRESS>", port=9002)

Middleware is called before router kicks in. You should instead try incorpating the logic into a Depends or reading query params from the original request yourself.

@phy25
thanks for your response.
I am not sure if I understood what you mean called before as I am able to get request and response in the middleware.
Additionally I found something interesting just now.
then inside the middleware you will be able to access the list of all routes with there corresponding parameters.
class AuditHTTPMiddleware(BaseHTTPMiddleware):
    async def dispatch(self, request: Request, call_next: RequestResponseEndpoint) -> Response:
        # BREAKPOINT HERE
        response = await call_next(request)
        return response

request.scope['router'].routes
"""
action = {NoneType} None
body_field = {NoneType} None
callbacks = {NoneType} None
dependant = {Dependant} <fastapi.dependencies.models.Dependant object at 0x11033fe80>
dependencies = {list: 0} []
dependency_overrides_provider = {FastAPI} <fastapi.applications.FastAPI object at 0x10fa5c520>
deprecated = {NoneType} None
description = {str} ''
include_in_schema = {bool} True
methods = {set: 1} {'GET'}
name = {str} 'get_data'
operation_id = {NoneType} None
param_convertors = {dict: 0} {}
path = {str} '/'
path_format = {str} '/'
path_regex = {Pattern} re.compile('^/$')
response_class = {type} <class 'starlette.responses.JSONResponse'>
response_description = {str} 'Successful Response'
response_field = {NoneType} None
response_fields = {dict: 0} {}
response_model = {NoneType} None
response_model_by_alias = {bool} True
response_model_exclude = {NoneType} None
response_model_exclude_defaults = {bool} False
response_model_exclude_none = {bool} False
response_model_exclude_unset = {bool} False
response_model_include = {NoneType} None
responses = {dict: 0} {}
secure_cloned_response_field = {NoneType} None
status_code = {int} 200
summary = {NoneType} None
tags = {list: 1} ['Current tag']
unique_id = {str} 'get_data__get'
"""

But not sure why the action is None

What @phy25 meant is that you can't access the endpoint information in the middleware BEFORE the call_next(). Here you have an example on what he meant and explaining why are you able to access the information on the previous post.
from starlette.middleware.base import BaseHTTPMiddleware
from fastapi import FastAPI, Request

class AuditHTTPMiddleware(BaseHTTPMiddleware):
    async def dispatch(self, request: Request, call_next):
        if router := request.scope.get('router'):
            print("I can't access before the endpoint call!")
        response = await call_next(request)
        if request.scope.get('router'):
            print("I have 'router' info now!")
        return response

app = FastAPI()
app.add_middleware(AuditHTTPMiddleware)

@app.get('/')
def home():
    pass

@Kludex
thanks for clarification. I understand the point now.
with that, I tried having a breakpoint after call_next and inspect the value of the route
request.scope['router'].routes[-1]
'''
action = {NoneType} None
body_field = {NoneType} None
callbacks = {NoneType} None
dependant = {Dependant} <fastapi.dependencies.models.Dependant object at 0x109d24b50>
dependencies = {list: 0} []
dependency_overrides_provider = {FastAPI} <fastapi.applications.FastAPI object at 0x109444580>
deprecated = {NoneType} None
description = {str} ''
include_in_schema = {bool} True
methods = {set: 1} {'GET'}
name = {str} 'get_data'
operation_id = {NoneType} None
param_convertors = {dict: 0} {}
path = {str} '/'
path_format = {str} '/'
path_regex = {Pattern} re.compile('^/$')
response_class = {type} <class 'starlette.responses.JSONResponse'>
response_description = {str} 'Successful Response'
response_field = {NoneType} None
response_fields = {dict: 0} {}
response_model = {NoneType} None
response_model_by_alias = {bool} True
response_model_exclude = {NoneType} None
response_model_exclude_defaults = {bool} False
response_model_exclude_none = {bool} False
response_model_exclude_unset = {bool} False
response_model_include = {NoneType} None
responses = {dict: 0} {}
secure_cloned_response_field = {NoneType} None
status_code = {int} 200
summary = {NoneType} None
tags = {list: 1} ['Current tag']
unique_id = {str} 'get_data__get'
'''

but the action is set to None

@mpdevilleres You're right. Were you able to solve it? I'm debugging it right now.

Ok. I'm able to answer now. :)
I'll be using my own use case to explain what's happening to your code and mine as well.
So, we're going to define a custom APIRoute, which we want to have a custom field called permissions (or your action):
class CustomAPIRoute(APIRoute):
    def __init__(
        self,
        path: str,
        endpoint: Callable,
        *,
        permissions: Optional[Iterable[str]] = None,
        **kwargs
    ) -> None:
        super().__init__(path, endpoint, **kwargs)
        self.permissions = permissions

    def get_route_handler(self) -> Callable:
        original_route_handler = super().get_route_handler()

        async def custom_route_handler(request: Request) -> Response:
            request.state.permissions = self.permissions
            response = await original_route_handler(request)
            return response

        return custom_route_handler

After we're going to create a custom APIRouter that has as default route, the one we define above:
class CustomAPIRouter(APIRouter):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self.route_class = CustomAPIRoute

    def add_api_route(
        self,
        path: str,
        endpoint: Callable,
        *,
        permissions: Optional[Iterable[str]] = None,
        **kwargs
    ) -> None:
        route = self.route_class(
            path=path, endpoint=endpoint, permissions=permissions, **kwargs
        )
        self.routes.append(route)

    def api_route(
        self, path: str, *, permissions: Optional[Iterable[str]] = None, **kwargs
    ) -> Callable:
        def decorator(func: Callable) -> Callable:
            self.add_api_route(path, func, permissions=permissions, **kwargs)
            return func

        return decorator

    def get(
        self, path: str, *, permissions: Optional[Iterable[str]] = None, **kwargs
    ) -> Callable:
        return self.api_route(path, permissions=permissions, **kwargs)

On this case, we're only defining the get method, and yes, we need to define it because we want the custom field permissions, the original get from APIRouter doesn't have this field, hence we'd receive an error.
Following, we have the app and router instances:
app = FastAPI()
router = CustomAPIRouter()

@router.get("/", permissions=["Potato", "Tomato"])
def home(request: Request):
    return request.state.permissions

app.include_router(router)

What happens here is:

FastAPI app is created.
CustomAPIRouter is created.
CustomAPIRoute is created and saved in the routes attribute in the CustomAPIRouter.
FastAPI app includes the router router.

The problem is in the step 4. If you check the implementation, you'll see:
    def include_router(
        self,
        router: routing.APIRouter,
        *,
        prefix: str = "",
        tags: Optional[List[str]] = None,
        dependencies: Optional[Sequence[Depends]] = None,
        responses: Optional[Dict[Union[int, str], Dict[str, Any]]] = None,
        default_response_class: Optional[Type[Response]] = None,
    ) -> None:
        self.router.include_router(
            router,
            prefix=prefix,
            tags=tags,
            dependencies=dependencies,
            responses=responses or {},
            default_response_class=default_response_class
            or self.default_response_class,
        )

Which tries to include our router inside the application router. But if you follow the path to the inner include_router(), you'll see the field permission/action or wherever you want to create is not send to your CustomAPIRoute!
Possible solution: open a PR on routing.py to update add_api_route() so it accepts **kwargs or some other strategy to accept custom fields. @tiangolo Would you accept a PR with it?
Full example:
from typing import Callable, Iterable, Optional

from fastapi import FastAPI, APIRouter, Response, Request
from fastapi.routing import APIRoute

app = FastAPI()

class CustomAPIRoute(APIRoute):
    def __init__(
        self,
        path: str,
        endpoint: Callable,
        *,
        permissions: Optional[Iterable[str]] = None,
        **kwargs
    ) -> None:
        super().__init__(path, endpoint, **kwargs)
        self.permissions = permissions

    def get_route_handler(self) -> Callable:
        original_route_handler = super().get_route_handler()

        async def custom_route_handler(request: Request) -> Response:
            request.state.permissions = self.permissions
            response = await original_route_handler(request)
            return response

        return custom_route_handler

class CustomAPIRouter(APIRouter):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self.route_class = CustomAPIRoute

    def add_api_route(
        self,
        path: str,
        endpoint: Callable,
        *,
        permissions: Optional[Iterable[str]] = None,
        **kwargs
    ) -> None:
        route = self.route_class(
            path=path, endpoint=endpoint, permissions=permissions, **kwargs
        )
        self.routes.append(route)

    def api_route(
        self, path: str, *, permissions: Optional[Iterable[str]] = None, **kwargs
    ) -> Callable:
        def decorator(func: Callable) -> Callable:
            self.add_api_route(path, func, permissions=permissions, **kwargs)
            return func

        return decorator

    def get(
        self, path: str, *, permissions: Optional[Iterable[str]] = None, **kwargs
    ) -> Callable:
        return self.api_route(path, permissions=permissions, **kwargs)

router = CustomAPIRouter()

@router.get("/", permissions=["Potato", "Tomato"])
def home(request: Request):
    return request.state.permissions

app.include_router(router)

@Kludex I appreciate you taking time with this issue. and I believe its a valid use case specially when we want to to have middlewares.
I kinda did the same as you have implemented it, I override APIRoute and APIRouter. but can't still use a middleware as the value of action/permission in the middleware is None, I did some digging and saw the at include_api_routes in the applications.FastAPI is not recognizing my changes. so I end up just have the APIRoute without a middleware.
and looking at your PR 1917 might be the solution to my use case of having a middleware. I will test it out and share my findings.

Btw, if you check the tests on that PR, you'll find an easier solution.
Just need the CustomAPIRoute, not the router.

@tiangolo thanks for your response... I ended up using dependency injection... :)
I am closing this ticket.
Thanks


Database Table Relations and Contraints

As in #63 Indices and Foreign Keys are planned.
The Question: Will there be support for Unique-Constraints between selected columns, Composit-Primary keys, Column with Increment but without Primary (tricky with lavarel)?
These are special cases or advanced needs but typical for complex systems. It would be nice if they could be prototyped in the Builder plugin.
I implemented a database schema containing all the above concepts. If there are any questions I'm willing to help out ;)

This won't be implemented in Builder and should be managed with manual migrations. The database management is a very broad topic and tools that implement it are complicated. It's relatively easy to implement some features for a single chosen database engine, but it gets tricky when dealing with multiple database systems, even with excellent abstraction layer provided by Eloquent. Even mapping timestamps to native database column types was tricky and we had to hard code typical timestamp column names in Builder to simplify the task. This is not a task we want to spend time in the CMS project. But Builder is open source and your input is always appreciated - please feel free to implement missing features and submit them as a pull request.


No option to calculate non-normalized Hamming distances in scipy.spatial.distance.pdist

This is similar to the issue raised in https://github.com/scipy/scipy/issues/4047, but I couldn't find a conversation about Hamming distances specifically.
I think that the hamming metric should return the Hamming distance, and not the normalized Hamming distance, or at least there should be an option to compute one or the other. Based on Wikipedia, Mathword, and NIST, the docstring is incorrect and defines the normalized Hamming distance although it says that it defines the Hamming distance.
From the Wikipedia page:

In information theory, the Hamming distance between two strings of equal length is the number of positions at which the corresponding symbols are different.

From Mathematica documentation:

HammingDistance[u,v] gives the number of elements whose values disagree in u and v.

From the NIST.gov:

Hamming distance
Definition: The number of bits which differ between two binary strings. More formally, the distance between two strings A and B is ∑ | Ai - Bi |.

However,  MATLAB does describe a normalized value. From MATLAB documentation

'hamming' | Hamming distance, which is the percentage of coordinates that differ.

The fix would be simple, just remove the .mean() from the following code or provide a separate nhamming function:
def hamming(u, v):
    """
    Computes the Hamming distance between two 1-D arrays.
    The Hamming distance between 1-D arrays `u` and `v`, is simply the
    proportion of disagreeing components in `u` and `v`. If `u` and `v` are
    boolean vectors, the Hamming distance is
    .. math::
       \\frac{c_{01} + c_{10}}{n}
    where :math:`c_{ij}` is the number of occurrences of
    :math:`\\mathtt{u[k]} = i` and :math:`\\mathtt{v[k]} = j` for
    :math:`k < n`.
    Parameters
    ----------
    u : (N,) array_like
        Input array.
    v : (N,) array_like
        Input array.
    Returns
    -------
    hamming : double
        The Hamming distance between vectors `u` and `v`.
    """
    u = _validate_vector(u)
    v = _validate_vector(v)
    if u.shape != v.shape:
        raise ValueError('The 1d arrays must have equal lengths.')
    return (u != v).mean()

Any thoughts behind the current standard? I couldn't find a discussion about this on the github, but perhaps I didn't look in the right spots.
Thankfully this isn't a critical issue because you can pass a user-defined distance function to pdist. I just wanted to start a conversation about why the function is set up as is.

Any thoughts behind the current standard? I couldn't find a discussion about this on the github, but perhaps I didn't look in the right spots.

The implementation hasn't changed in many years, I doubt there was any discussion. The original author just made a choice, possibly using Matlab as a reference.
It's not possible at this point to change the implementation, due to backwards compatibility. A new metric or keyword is possible. Keyword seems better to me.

Probably important to at least consider that both pdist and cdist also can take hamming as a valid metric keyword argument, and that their docstrings both describe the latter metric as being normalized.
If the 1D array comparison hamming function is modified to accept an appropriate keyword argument for non-normalizing behavior, would this make it difficult to have a similar "interface" for getting the non-normalized hamming value from either pdist or cdist? It seems the answer is probably "no" as there are already a few extra keyword arguments there that only apply to a subset of the possible metric values. On the other hand, it may or may not be considered "ugly" to add yet another such metric-specific keyword to pdist and cdist.

I suspect I'm slightly out of date because of recent Xdist argument efforts, although I think even there it is still necessary to parse the built-in vs. custom metric names.


C# Unit Test Template is still the old template

The readme for the project says that VS 2017 Preview 4 and above are using the new unit test template. But I have the 17 Preview 7.1 update and attempting to create a new C# unit test project is still using the old template. Is there something additional that needs to be installed before the new templates show up?

@CoolDadTx : That's strange, this should be part of the ".Net Desktop Development" workload. Can you share the build version please? Also, I'm assuming you are creating a Desktop based UT project from Test -> Unit Test Project in the New project dialog which is putting out a project which does not have nuget packages auto-referenced. Do correct me if that is incorrect.

15.3.0 Preview 7.1 which was just released.
I started VS and created a new project via File\New Project -> Visual C#\Test -> Unit Test Project (.NET Framework). The generated project still contains the import of Microsoft.TestTools.targets but doesn't include any references to the unit test assemblies like it used to.
I don't know that I've updated to the newer .NET core SDK yet. Is that required? The project itself I targeted at .NET 4.6.1.

Maybe I'm doing something wrong because I see this behavior on 2 different machines with the same updates. The templates appear to be the old template but they don't have any Nuget or assembly references to the testing framework. Creating a new project and clicking build complains about the types defined in the test assemblies not being found. This behavior is identical on another machine that is configured the same way.

@CoolDadTx , @michaeltccd: Thanks. Can you share the project that got created with us please?

UnitTestProject1.zip
Attaching the generated project.
I also went and looked at the base template being used by VS. It still has the install date of the original VS 2017 instance. It doesn't appear to have been updated in any recent updates to VS 2017.

FYI, this the same user, I have 2 different GitHub accounts I bounce between.
There is no category for NuGet when the project is created. There also isn't any when I try to do a build but I have my system configured to not save solutions by default so if I create a "temp" project and then try to build it fails. If I try to go to Manage Nuget then it errors saying the project has to be saved first. Saving the solution doesn't change anything.  There is also no packages.config nor does the project file contain any PackageReference elements to refer to NuGet. It looks just like the template that is stored in the VS install folder.

Thanks @CoolDadTx. This looks like an issue with the installation of nuget. Can you move to the 15.3 RTM version and try this out? It doesn't repro for me there.

Yes I confirmed it seems to be working with RTM version. It doesn't honor the nuget settings properly but I'll report that as a separate issue if it hasn't been reported yet.


fix: remove spacer column in datagrid

Closes #3401

I noticed that the table body and table headers don't align together as expected for the Infinite scroll and With virtualized data stories.

@davidmenendez make sure we also test this on data tables with fewer columns. I remember in our original PR, that caused some issues too where tables would no longer expand to the full width.
(I had to dig deep into my DMs with @matthewgallo to find this.)

confirmed with @matthewgallo that this fix produces the desired functionality


[Feature]: Running in RAM

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
In current version of coolify there is no option to run deployed docker in RAM and just only in
Why should this be worked on?
Improves safety in case of server hack
If somebody gets access to your server you can simply shutdown server and app will be lost without possibility for recovery

I'm closing this issue, because tracking features will be moved to GitHub discussions. Github issues will be only for bugs.
Version 4 is in full focus. v3 related issues will be closed, if it is not a critical bug.
Thanks for your understanding.


js-interop: Error while passing Map<String,Dynmaic> from dart code to js function

repository that reproduces this issue:
https://github.com/drbcode/dart_interop_map_issue
pubspec.yaml
name: dart_interop_map_issue
version: 0.0.1
description:
author:
homepage:

environment:
  sdk: ">=2.0.0-dev.68.0 <3.0.0"

dependencies:
  js: any

dev_dependencies:
  build_runner: any
  build_web_compilers: any

web/index.html
<!DOCTYPE html>

<html>
<head>
    <title>test</title>
    <script src="test.js"></script>
    <script src="test.dart.js" defer></script>
</head>

<body>
</body>
</html>

web/test.js
function mapTester(a) {
    console.log("logging value of a.b");
    console.log(a.b);
}

web/test_interop.dart
@JS()
library some_test;

import 'package:js/js.dart';

@JS('mapTester')
external mapTester(Map<String,dynamic> a);

@JS('mapTester')
external mapTester2(a);

web/test.dart
import 'test_interop.dart' as interop_test;
import 'dart:js';

void main() {
  Map<String,dynamic> a={
    "b":1,
  };
  // doesn't work
  interop_test.mapTester(a);
  interop_test.mapTester2(jsify(a));
}

dynamic jsify(dynamic obj) {
  if (obj == null || obj is num || obj is String) {
    return obj;
  } else if (obj is Map) {
    // Do a deep convert.
    Map m = {};
    for (var key in obj.keys) {
      m[key] = jsify(obj[key]);
    }
    return new JsObject.jsify(m);
  } else if (obj is Iterable) {
    // Do a deep convert.
    return new JsArray.from(obj).map(jsify);
  } else {
    return obj;
  }
}

how to run
webdev serve

console output
logging value of a.b
undefined
logging value of a.b
undefined

expected output
logging value of a.b
1
logging value of a.b
1

what works
Old interop done using dart:js works fine.
test(Map<String, dynamic> items) {
    context.callMethod('mapTester', [jsify(items)]);
    return;
}

There are APIs like chrome.storage.local.set that require you to pass a Map<String, dynamic> items, this can't be done using new interop ('package:js/js.dart';) but it's possible to do with old interop (dart:js).
js:
version: "0.6.1+1"
json_annotation:
version: "1.1.0"
Dart VM version: 2.0.0 (Fri Aug 3 10:53:23 2018 +0200) on "linux_x64"

A Map in Dart is not the same thing as an object in JavaScript.
You might want to look at some examples:

https://github.com/matanlurey/dart_js_interop#creating-a-structured-object
https://github.com/matanlurey/dart_js_interop#creating-an-unstructured-object

It says error: The function 'createObject' isn't defined. (undefined_function at [dart_interop_map_issue] web/test.dart:10)
// lib.dart

import 'package:js/js_util.dart' as js;

void main() {
  var object = js.createObject();
  js.setProperty(object, 'anyName', 'anyValue');
}

The problem is I'm writing a public facing API and making developers write abstract classes for creating js object doesn't seem like the right thing to do.
In older versions of dart I was able to use jsify function that I have posted above for dart:js package that worked fine.
Is there any way to dynamically convert dart map to js objects that is supported by new js package?

I made a post on stackoverflow.
Dynamically convert a Dart 2 Map to a Javascript object:
https://stackoverflow.com/questions/51804476/dynamically-convert-a-dart-2-map-to-a-javascript-object

In above example I'm passing both a normal map and jsified map, in both cases it fails, I believe this is a bug, if not then context.callMethod('mapTester', [jsify(items)]); should fail as well.

Code
void main() {
  Map<String,dynamic> a={
    "b":1,
  };
  interop_test.mapTester(a);
  interop_test.mapTester2(a);
  interop_test.mapTester2(jsify(a));
  interop_test.mapTester2(JsObject.jsify(a));
  context.callMethod('mapTester', [jsify(a)]);
}

Output:

Why it doesn't fail for context.callMethod('mapTester', [jsify(a)]); ?

This one solved the issue for me, also the documentation that you have linked to doesn't include examples for latest SDKs, need some correction there , will send PRs soon.
import 'test_interop.dart' as interop_test;
import 'package:js/js_util.dart' as js;
void main() {
  Map<String,dynamic> a={"b":1,};
  interop_test.mapTester(mapToJSObj(a));
}
Object mapToJSObj(Map<dynamic,dynamic> a){
  var object = js.newObject();
  a.forEach((k, v) {
    var key = k;
    var value = v;
    js.setProperty(object, key, value);
  });
  return object;
}


Inadvertently calling indexAction on redirect during error condition

Recently an issue has come up regarding a few URLs which produce blank responses with a 200 OK response code.  One URL we've found producing this issue is from the Amazon Payments module.  The URL is:
https://www.DOMAIN.com/amazon_payments/onepage/?error_description=Access not permitted.&error=access_denied
Unfortunately, I don't have any detail on what actions precisely triggered this URL, but this is a blank page due to an empty controller action:
https://github.com/amzn/amazon-payments-magento-plugin/blob/master/app/code/community/Amazon/Payments/controllers/OnepageController.php#L20
Perhaps the intention of this action was to forward to the checkout/onepage/index route in an error scenario?
It looks like this is happening when this code fails to authorize the token, for whatever reason:
https://github.com/amzn/amazon-payments-magento-plugin/blob/master/app/code/community/Amazon/Payments/Controller/Checkout.php#L40
Since the code doesn't end up redirecting the user, it ends up handling the blank route, which returns no response.
I'd recommend calling this if the response is handled in preDispatch:
$this->setFlag('', Mage_Core_Controller_Varien_Action::FLAG_NO_DISPATCH, true);
And then inside the index action, somehow handle the error condition or bad request.  This way, it won't call the indexAction method when the redirect occurs.
We do see these errors occur from time to time in our logs.  Unfortunately, we're not sure exactly the cause, so we don't know the current experience users get exactly.

More information from reporting merchant
The user is redirected to that URL whenever they cancel during the checkout flow. if you attempt an Amazon checkout, log in, then click cancel rather than completing your purchase.

Fixed redirect to prevent blank response (1.4).


The latest release youtube-dl 2024.08.02 was working until today broken again

Checklist

[x] I'm reporting a broken site support
[ ] I've verified that I'm running youtube-dl version 2021.12.17
[ ] I've checked that all provided URLs are alive and playable in a browser
[ ] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[ ] I've searched the bugtracker for similar issues including closed ones

Verbose log

PASTE VERBOSE LOG HERE

Description

WRITE DESCRIPTION HERE
Downloaded the latest release 2024.08.02 on 2024.08.03, it was working well until today (may be yesterday) with following errors:
WARNING: [youtube] XHIct72sqIQ: Unable to decode n-parameter: expect download to be blocked or throttled (slice must be applied on a list in: u'a.slice(0,0)'; please report this issue on https://github.com/ytdl-org/youtube-dl/issues , using the appropriate issue template. Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose option and include the complete output.


Add button groups to viewer

I'm attempting to upstream this into viser, will come back to this after that's stable


Fix typo in changelog

Yeah, I know, not a memorable first contribution to flux :)

Yeah, I know, not a memorable first contribution to flux :)

Gotta start somewhere .. thanks Fons!


Error: require.paths is removed

I googled this problem, alas, no solutions yet...
jason@ubuntu:~/Rails$ coffee
coffee> parseInt '330'
Error: require.paths is removed. Use node_modules folders, or the NODE_PATH environment variable instead.
at Function. (module.js:360:11)
at Object.eval (/home/jason/local/lib/node_modules/coffee-script/lib/coffee-script.js:97:32)
at Interface. (/home/jason/local/lib/node_modules/coffee-script/lib/repl.js:44:34)
at Interface.emit (events.js:67:17)
at Interface._onLine (readline.js:153:10)
at Interface._line (readline.js:408:8)
at Interface._ttyWrite (readline.js:585:14)
at ReadStream. (readline.js:73:12)
at ReadStream.emit (events.js:88:20)
at ReadStream._emitKey (tty_posix.js:306:10)

Hello, I'm having the same problem with node 0.5.10 and CS 1.1.2, i tried downgrading to 1.1.1, but the problem is still the same.
I'm doing some exercises from "CoffeeScript (accelerated javascript development)" and when I try to do coffee first_iteration.coffee this error arises
coffee first_iteration.coffee

Welcome to 5X5!
Please enter the coordinates for the first tile

/usr/local/lib/node_modules/coffee-script/lib/command.js:15
    return process.binding('stdio').writeError(line + '\n');
                   ^
Error: No such module
    at /usr/local/lib/node_modules/coffee-script/lib/command.js:15:20
    at /usr/local/lib/node_modules/coffee-script/lib/command.js:167:7
    at /usr/local/lib/node_modules/coffee-script/lib/command.js:115:26
    at [object Object].<anonymous> (fs.js:108:5)
    at [object Object].emit (events.js:64:17)
    at afterRead (fs.js:1074:12)
    at Object.wrapper [as oncomplete] (fs.js:246:17)

In the code i use stdin = process.openStdin() to interact with the user.
The funny thing is that if I open the coffee REPL and type process, the error above appears, if I type process again, it works just fine, any ideas why?

it also did work for me thanks!.


Kafka: Add support for custom command for brokers

What this PR does / why we need it:
Adds flexibility to the command section of the statefulset.yaml. My use case is that I want to prioritise the DNS name I am setting with ExternalDNS annotation on the headless service over the pod IP. As such a custom command is required for the brokers.
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
None.
Special notes for your reviewer:
@benjigoldberg As discussed!

@chris-vest my only concern w/ overriding the command like this is that we use interpolation on some of these variables. The way helm works I dont think they would render if a user tried to specify them in the cmd like this. Have you tried it out w/ the default cmd that exists today?

@benjigoldberg That's true! For my use case I won't be using any interpolation on the custom command, so tbh I hadn't thought about that...!

@chris-vest would the overrides available for external/internal listeners help? It gets set to advertisedListenersOverride here and then used as an override on this line


Task design

Implementation of a bridge between tasks and storage. The goal here is to standardize task design (currently, it's just: "design is a list of lists of dictionaries"), make it possible to specify how the entire task dataset is laid out, and provide a storage.write(trial) method that can just dump the trial design data all at once.

[x] create the base task design hierarchy (design -> block -> trial -> array)
[x] add some unit tests
[ ] rework storage to use the design hierarchy
[ ] add Task.prepare_design

Codecov Report

Merging #39 into master will increase coverage by 1.41%.
The diff coverage is 97.56%.

@@            Coverage Diff             @@
##           master      #39      +/-   ##
==========================================
+ Coverage   58.72%   60.14%   +1.41%
==========================================
  Files          18       19       +1
  Lines        1083     1124      +41
==========================================
+ Hits          636      676      +40
- Misses        447      448       +1

Impacted Files
Coverage Δ

axopy/design.py
97.56% <97.56%> (ø)

Continue to review full report at Codecov.

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


d8bf209d7ab402ed4d776274c0b2d67fe2f1ed37 Missing files in commit

Latest commit has some missing files, I think.
Cannot open source file: 'D3dDdi\Log\CommonLog.cpp' & 'D3dDdi\Log\CommonLog.h'

Yes, I noticed this as well. I added the missing files now.
I wish I knew how it happened though. The files were shown as "ignored" in Visual Studio and "git status" didn't list them either, even though they weren't in the .gitignore file. I just unignored them via Visual Studio.


Futures 0.1 to 0.3

From what I know it's deprecated the cpupool crate and wait function

Resolved by this https://github.com/AndreVuillemot160/QuickDash/commit/2bcf01f6e36e355a4bba6f515363745ea848909b


How to download the starter code from the dotnet/samples GitHub repository.

How do I download the starter code from the dotnet/samples GitHub repository? I click on the link and it's not clear how to download the starter code. I can't figure it out.

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

ID: 1ddce3f5-395d-00d0-5101-62ae5c4f34e0
Version Independent ID: 5513eda4-204d-28ed-f6cb-6123f670751e
Content: Tutorial: Build algorithms with pattern matching
Content Source: docs/csharp/fundamentals/tutorials/pattern-matching.md
Product: dotnet-csharp
Technology: csharp-fundamentals
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Hi @regal60740
You can download the code by cloning the entire repo. That's not a great experience, because the repo has a large number of samples.
I'll update the samples so they are visible in the Samples Browswer, which will make the experience much better.

Associated WorkItem - 26235

Associated WorkItem - 26236


Enabling load balancers with NAT rules/pools only, and no load balancing rules

customer request tracked by https://github.com/Azure/azure-sdk-for-java/issues/1659

Can one of the admins verify this patch?


Webview developer tools do not use browserify source maps

Issue Type: Bug
Using browserify version 16.2.3

Create a javascript file called "test.js" with an obvious bug, e.g console.log(uninitializedVariableHere).
Create a bundled file with source maps using :
$ browserify -d test.js > bundle.js
Launch a webview containing the bundle.js script.
Open the webview developer tools and look at the console to find the debugger referencing the bundle.js file and not the original test.js file:
Uncaught ReferenceError: blah is not defined at Object.1 (vscode-resource:/home/tom/conjure/ide/out/bundle.js:2:13)
4: Expected (as in google chrome):
Uncaught ReferenceError: blah is not defined at Object.1 (test.js:1)1

VS Code version: Code 1.28.2 (7f3ce96ff4729c91352ae6def877e59c561f4850, 2018-10-17T00:20:56.183Z)
OS version: Linux x64 4.15.0-36-generic

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz (4 x 1884)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: disabled_softwarevideo_decode: unavailable_softwarevideo_encode: unavailable_softwarewebgl: enabledwebgl2: enabled

Load (avg)
2, 1, 2

Memory (System)
7.70GB (1.29GB free)

Process Argv
--disable-extensions

Screen Reader
no

VM
0%

Extensions disabled

Yes thats right, the sourcemap is appended at the bottom of the script.
I made a github repo to demonstrate, please do:
git clone https://github.com/Revilotom/webviewTest
cd webviewTest
npm install
code .
Run in vscode by pressing f5
Activate the extension by running the Hello World command:
ctrl + shift + p and then type Hello world.
The webview should have loaded now.
In the webview, open developer tools by doing ctrl + shift + p and then type Open Webview Developer Tools
In the console you should see that the error references bundle.js:
Uncaught ReferenceError: blah is not defined at Object.1 (vscode-resource:/home/tom/Downloads/webviewTest/src/bundle.js:2:13)
But I would like it to reference the original sourcefile which is src/webviewScript.js.
The bundle was created by doing: browserify -d > bundle.js
Any help would be greatly appreciated!

@JanKoehnlein Hey I saw your question on stack overflow. I also tried using webpack but it still didn't work. Have you by any chance managed to find a workaround ?

@Revilotom No, so far no responses. It could be about source map overrides:
https://github.com/Microsoft/vscode-chrome-debug/blob/master/README.md#sourcemaps
but I currently don't have time experimenting with this. If you find out something, please let me know.

@JanKoehnlein  I found a way that works for me, I answered your question on stackoverflow but basically it boils down to adding:  'devtool: "eval-source-map" in the webpack.config.js file. I hope it works for you too.

@Revilotom Cool, that does the trick. Thanks a lot!
I am leaving this issue open as it started with a slightly issue. Maybe browserify has a similar switch as well.

Is there any option to also support devtool: "source-map" instead of eval-source-map when using vscode-resource:?

eval-source-map does not work for my webview in custom editor. Anyone got an alternative?
Uncaught EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'nonce-fnNqb6CA86SK2AkkcSuF9czpo7hkjVkq'".


Exception handling for nchunks > ndets

When using the Wick's theorem code, we need to check if nchunks > ndets and crash accordingly if this is not satisfied.

Closed following #124


hours-start option not working

Hi, i'm trying to setup a timepicker for hours of the day but i can't manage to filter dynamically the start and the end of the hours of the day:
The popup should be agnostic of the current day, just pick the given range of hours minutes of the day (in fact, i hould remove the title of the current day in the default timepicker dialog).
Here is an example:
<input class="form-control"         moment-picker="sg.timepicker"         format="HH:mm"         hours-start="10"         ng-model="sg.timepicker"         ng-model-options="{ updateOn: 'blur' }">
Thanks in advance :)

Had the same issue, the only way I could get it to work is by setting these values in the provider config options like this:
.config(['momentPickerProvider', function (momentPickerProvider) {
momentPickerProvider.options({
minutesStep: 15,
hoursStart:7,
hoursEnd:22
});
 }])

I was able to achieve this by using min-date and max-date attributes on the moment-picker control. I set the format attribute to 'HH:mm' and the min/max values to the times I wanted, e.g., "9:30", "14:25".
You can edit this plunk to see it in action.

fixed in #287


Dataframe to Spark

The new output from LogToDataframe is great but I think the 'Nullable Integer Arrays'  might be causing some issues when trying to convert to a Spark dataframe.
See: https://stackoverflow.com/questions/38794522/pandas-dataframe-to-spark-dataframe-can-not-merge-type-error

I think dataframe to Spark isn't probably the best approach, here are 3 approaches that are probably better suited to 'real world' use:

Convert Log to Parquet (and then have Spark read in Parquet)
Read Log directly into Spark (we should have a class for this)
Zeek -> Kafka to Spark


_isFastBoot being overriden (Warning in Ember Octane)

ember-simple-auth is great!
I'm getting this error in my console though
isFastBoot computed property was just overriden. This removes the computed property and replaces it with a plain value, and has been deprecated. If you want this behavior, consider defining a setter which does it manually. [deprecation id: computed-property.override]
Is it in the plans to make it a getter?

This should be fixed in 3.0. Be aware that’s not an error but a deprecation btw.

Right, this is not an error.


Feat: support pbr sheen

Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Feature.
What is the current behavior? (You can also link to an open issue here)
no sheen radiance
What is the new behavior (if this is a feature change)?

Migrated to：envBRDFApprox_Sheen and https://github.com/galacean/engine-toolkit/pull/312


Run ci non-parallel to avoid OOM

Branch to try fixing the CI on circleCI

We'll upgrade the CircleCI


Add possibility to use Brave browser

Added another browser to make a clear difference between normal and avli windows.
Brave browser is a chromium based browser that has the same cli params as Chrome.
Also Tried to fetch of default browser on linux but wasnt consistent over platforms so reverted

lgtm - thanks!


Documentation Update Request for Paragraph left_indent

The below is not reflected properly in python-docx documentation:
"The left_indent property was moved to the paragraph_format "sub-object" a couple releases back as the ParagraphFormat class is used by both the Paragraph and ParagraphStyle objects."
http://stackoverflow.com/questions/30584681/how-to-properly-indent-with-python-docx
Thanks!

Fixed in release v0.8.7 circa Aug 18 2018.


remove nil property for backwards compatibility

remove nil property for backwards compatibility: github.com/konveyor/mig-controller uses an older controller-runtime which does feature WithContextFunc yet. The removal of the nil initialization has no effect on the functionality.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.03%) to 93.519%

Totals

Change from base Build<PHONE_NUMBER>:
-0.03%

Covered Lines:
202

Relevant Lines:
216

💛  - Coveralls