Ignore a field

Given the following struct:
 #[derive(InfluxDbWriteable)]
pub struct SomeData {
    #[tag]
    pub user_id: String,
    pub important: u64
   #[ignore_field]
    pub not_important: ShadyTypeNotWriteable
}

I'd like to be able to avoid having to implement InfluxDbWriteable on ShadyTypeNotWriteable. Is this possible? If not, I'd like to implement it. I wouldn't mind getting some pointers.

Hello. This is certainly possible.
The macro is implemented here. In similar fashion to is_tag, you'd add a new is_ignored, and then skip generation the input for this field, probably in the filter method call here.
Let me know if you have any more questions.

Hi @Empty2k12
Following your suggestion:
diff --git a/influxdb/tests/derive_integration_tests.rs b/influxdb/tests/derive_integration_tests.rs
index 9c136b2..2ed055f 100644
--- a/influxdb/tests/derive_integration_tests.rs
+++ b/influxdb/tests/derive_integration_tests.rs
@@ -20,6 +20,8 @@ struct WeatherReading {
     humidity: i32,
     #[tag]
     wind_strength: Option<u64>,
+    #[ignored]
+    temperature: u64,
 }

 #[test]
diff --git a/influxdb_derive/src/writeable.rs b/influxdb_derive/src/writeable.rs
index f42c333..ee563bb 100644
--- a/influxdb_derive/src/writeable.rs
+++ b/influxdb_derive/src/writeable.rs
@@ -6,11 +6,21 @@ use syn::{parse_macro_input, Field, Fields, Ident, ItemStruct};
 struct WriteableField {
     ident: Ident,
     is_tag: bool,
+    is_ignored: bool,
 }

 impl From<Field> for WriteableField {
     fn from(field: Field) -> WriteableField {
         let ident = field.ident.expect("fields without ident are not supported");
+        let is_ignored = field.attrs.iter().any(|attr| {
+            attr.path
+                .segments
+                .iter()
+                .last()
+                .map(|seg| seg.ident.to_string())
+                .unwrap_or_default()
+                == "ignored"
+        });
         let is_tag = field.attrs.iter().any(|attr| {
             attr.path
                 .segments
@@ -20,7 +30,12 @@ impl From<Field> for WriteableField {
                 .unwrap_or_default()
                 == "tag"
         });
-        WriteableField { ident, is_tag }
+
+        WriteableField {
+            ident,
+            is_tag,
+            is_ignored,
+        }
     }
 }

@@ -38,6 +53,7 @@ pub fn expand_writeable(tokens: TokenStream) -> TokenStream {
             .named
             .into_iter()
             .map(WriteableField::from)
+            .filter(|field| !field.is_ignored)
             .filter(|field| field.ident.to_string() != time_field.to_string())
             .map(|field| {
                 let ident = field.ident;

I get
❯ cargo test --features="derive,use-serde"
   Compiling influxdb v0.3.0 (/Users/bruger/projects/foss/influxdb-rust/influxdb)
error: cannot find attribute `ignored` in this scope
  --> influxdb/tests/derive_integration_tests.rs:23:7
   |
23 |     #[ignored]
   |       ^^^^^^^ help: a built-in attribute with a similar name exists: `ignore`

error: aborting due to previous error

error: could not compile `influxdb`

To learn more, run the command again with --verbose.

Could you point me to what I'm doing wrong? Thanks :)

Could you try running the command CI is using to test the crate? cargo test --package influxdb --package influxdb_derive --all-features --no-fail-fast

Sure:
error: cannot find attribute `ignored` in this scope
  --> influxdb/tests/derive_integration_tests.rs:23:7
   |
23 |     #[ignored]
   |       ^^^^^^^ help: a built-in attribute with a similar name exists: `ignore`

error: aborting due to previous error

error: could not compile `influxdb`

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: build failed

All attributes used in a derive macro need to be registered: https://github.com/Empty2k12/influxdb-rust/blob/master/influxdb_derive/src/lib.rs#L12


Protocol: Root Rollup Circuit

Explain / justify the requirements for this circuit.
Describe the Public Inputs ABI & the Bus ABI for this circuit.
Explain the statements (logic) and assertions, neatly organised.
Explain possible future refactoring / optimisation opportunities.
Will we allow for various 'sizes' of arrays in the ABI?
Explain limitations of the circuit.
Explain uncertainties (e.g. choice of constants).

Done as part of #3558.


FeatureAutoProxy should scan interfaces on superclasses in addition to the given class (?)

https://github.com/clun/ff4j/blob/master/ff4j-aop/src/main/java/org/ff4j/aop/FeatureAutoProxy.java#L59
That line will get the interfaces directly implemented by the class, but not those implemented by any superclasses--for example, interfaces implemented by an abstract class that implements some non-flippable methods common to the two flippable implementations. And if the abstract class implements the interface then logically the subclasses do as well. If you agree, I would be happy to contribute an update. And thank you for the AOP stuff, it'll do wonders for minimizing technical debt from our feature toggles!

Thank ou for you kind words :) I do agree with your idea, please go ahead and contribute / always good to have people involve.
AOP is indeed useful but there is a drawback in current implementation : it's based on Spring AOP where I could simply use CGLIB and dynamic proxies, i expect to change that for 2.x.
I notice you contribute to MongoBee as well good !! Will need it soon in the JHipster FF4J generator. Today I made the files for Liquibase but not MongoBee.
If you interested in contributing I would be able to give ou a license of IntelliJ Ultimate thanks to the support of JetBrains.
Regards

I am afraid I will close this one, to focus on v2 with pure cglib.


How to refer Subflow within Execution

In Execution spec there are options available to refer Parent Flow.
apiVersion: authenticationflow.keycloak.crossplane.io/v1alpha1
kind: Execution
metadata:
  annotations:
    meta.upbound.io/example-id: authenticationflow/v1alpha1/execution
  labels:
    testing.upbound.io/example-name: execution_one
  name: execution-one
spec:
  forProvider:
    authenticator: auth-cookie
    parentFlowAliasSelector:
      matchLabels:
        testing.upbound.io/example-name: flow
    realmIdSelector:
      matchLabels:
        testing.upbound.io/example-name: realm
    requirement: ALTERNATIVE

Similar to this, how can we refer Parent SubFlow, as I want to add step within Subflow in KeyCloak authentication.

can  you make a full example of what you are trying to do / need?

I have configured this flow and added 2 steps using Execution MR and one SubFlow using SubFlow MR using this Provider.
But I want to add one step within SubFlow and for that I need to create MR of type Execution but it should resolve the reference to this SubFlow but I think it can only resolves for type Flow.
So, within parentFlowAliasSelector it should support resolvereference for both Flow and SubFlow.
apiVersion: authenticationflow.keycloak.crossplane.io/v1alpha1
kind: Execution
metadata:
  name: execution-one
spec:
  forProvider:
    authenticator: auth-cookie
    parentFlowAliasSelector:
      matchLabels:
        testing.upbound.io/example-name: flow
    realmIdSelector:
      matchLabels:
        testing.upbound.io/example-name: realm
    requirement: ALTERNATIVE
    ```

    But if this is an inccorect assumption and there is some other way to add step within SubFlow then that would be helpful.


Allow client key to be retrieved from the windows certificate store

Background
This is the first portion of our larger effort to remove client.pem files from disk where possible.
In this initial implementation, we will add the ability to fetch client.pem content from the Windows Certificate Store as the default behavior with configuration values to specify specifics.

Acceptance Criteria

When running the chef-client CLI the client.pem will be fetched in the following order

MY store at the Local System level
Local disk at the existing location

The key will be identified in the store using the Chef Infra Client and the node name, allowing us to have multiple nodes managed by a single node in the future

https://github.com/chef/chef/pull/12426


Sync wallet address with wallet extension

Is your feature request related to a problem? Please describe.
For example, I have 4 wallets in Phantom, I have connected wallet-1 via wallet-adaper sdk, then I change selected wallet to wallet-2 in Phantom, wallet-adaper sdk can not sync the new selected wallet in Phantom. I have to refresh my page.
Describe the solution you'd like
Auto-sync function from wallet-adaper sdk
Describe alternatives you've considered
Manual-sync function from wallet-adaper sdk
Additional context
No

Phantom has an event (accountChanged) for this. The Phantom wallet adapter supports it. However, if the app doesn't have access to the account that was switched to, I don't think this will work (it will just disconnect). This behavior is up to Phantom, and not something the adapter can do anything about.


Add profile option to knock away certain packages

If autotrace starts, it often grabs too much packages, those should be able to "knock-off" from the list.

Addressed: https://github.com/isbm/mezzotint/pull/19


Export a file that maps bibstem to most-recent publisher

ADSCachedExports needs to have access to a publisher-bibstem map.  There are multiple ways to achieve this:

API call to the summary endpoint with the bibstem
Redis cache with the mapping
Flat file to provision ADSCachedExports with

Of these three, the flat file option is probably most consistent with the existing infrastructure: the redis cache would involve additional infrastructure and provisioning of the import_pipeline container that isn't straightforward; the API call would currently require either calling the API once for every record, or calling the API and querying all known bibstems for their publisher, and caching the result in a dict.
NOTE: anything that we do requires that we have a complete mapping of bibstem to publisher in journals database itself, and this is currently an ongoing curation project.  That curation work must be completed before we rely on the journals database as the origin of this mapping.
The proposed location for this would be in the task task_export_classic_files.  We would need to add code to utils to create formatted output, and add a variable to config containing the path/name of the destination file.

I agree that the flat file option is the most consistent with the existing infrastructure. We wouldn't want the Import Pipeline (via ADSCachedExports) be dependent on calls to an external service.

@ehenneken The other classic files I'm exporting have a row/size count at the top.  Do you want the first line of this file to be a row count, or just the data, no header?

@seasidesparrow Let's put the row count on the first line, please.

Implemented in #60


'movewindow, u' doesn't work if border_size is set to 0

Bug or Regression?
Bug
System Info and Version
 System/Version info
Hyprland, built from branch  at commit ea2501d4556f84d3de86a4ae2f4b22a474555b9f  (props: bump version to 0.41.0).
Date: Mon Jun 10 14:23:06 2024
Tag: v0.41.0, commits: 4794

flags: (if any)

System Information:
System name: Linux
Node name: arch
Release: 6.9.4-arch1-1
Version: #1 SMP PREEMPT_DYNAMIC Wed, 12 Jun 2024 20:17:17 +0000

GPU information:
06:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU106 [GeForce RTX 2060 Rev. A] [10de:1f08] (rev a1) (prog-if 00 [VGA controller])

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

plugins:

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

Config File: /home/adriano/.config/hypr/hyprland.conf: Read Succeeded
#     ___                    _     __    _
#    /   |  _  _____  ____  (_)___/ /__ ( )_____
#   / /| | | |/_/ _ \/ __ \/ / __  / _ \|// ___/
#  / ___ |_>  </  __/ / / / / /_/ /  __/ (__  )
# /_/ _|_/_/|_|\___/_/ /_/_/\__,_/\___/ /____/ __
#    / / / /_  ______  _____/ /___ _____  ____/ /
#   / /_/ / / / / __ \/ ___/ / __ `/ __ \/ __  /
#  / __  / /_/ / /_/ / /  / / /_/ / / / / /_/ /
# /_/ /_/\__, / .___/_/  /_/\__,_/_/ /_/\__,_/
#       /____/_/

# https://github.com/Axenide/Dotfiles

# Monitor configuration
monitor=,preferred,auto,1

# Load NVIDIA environment variables only when needed
# exec-once = ~/.config/hypr/scripts/nvidia.sh

# Source a file (multi-file configs)
source = ~/.config/hypr/source/environment.conf
source = ~/.config/hypr/source/binds.conf
source = ~/.config/hypr/source/autostart.conf
source = ~/.config/hypr/source/windowrules.conf
source = ~/.config/hypr/source/input.conf
# source = ~/.config/hypr/source/plugins.conf

general {
    gaps_in = 5
    gaps_out = 10
    border_size = 0
    col.active_border = rgba(111111FF)
    col.inactive_border = rgba(000000FF)
    layout = dwindle
}

decoration {
    blur {
        enabled = yes
        size = 5
        passes = 3
        new_optimizations = yes
        contrast = 1
        brightness = 1
    }
    rounding = 10
    drop_shadow = yes
    shadow_range = 10
    shadow_render_power = 2
    col.shadow = rgba(0, 0, 0, 0.25)
    dim_inactive = true
}

animations {
    enabled = yes
    bezier = myBezier, 0.0, 1.00, 0.0, 1.00
    animation = windows, 1, 5, myBezier, slide
    animation = border, 1, 5, myBezier
    animation = fade, 1, 5, myBezier
    animation = workspaces, 1, 5, myBezier, slidevert
}

misc {
    disable_hyprland_logo = 1
    disable_splash_rendering = 1
    focus_on_activate = 1
    # animate_manual_resizes = true
    # animate_mouse_windowdragging = true
    no_direct_scanout = yes
    allow_session_lock_restore = true
}

dwindle {
    pseudotile = yes
    preserve_split = yes
}

master {
    new_is_master = true
}

gestures {
    workspace_swipe = on
}

# device:epic mouse V1 {
    # sensitivity = -0.5
# }

opengl {
  nvidia_anti_flicker = true
}

Config File: /home/adriano/.config/hypr/source/environment.conf: Read Succeeded
env = LIBSEAT_BACKEND=logind
env = _JAVA_AWT_WM_NONREPARENTING=1
env = XDG_SESSION_TYPE,wayland
env = QT_SELECTION=/usr/bin/qmake
env = ELECTRON_ARGS="--enable-features=UseOzonePlatform --ozone-platform=wayland"
env = MOZ_DBUS_REMOTE=1
env = XCURSOR_SIZE=24
env = LIBVA_DRIVER_NAME,nvidia
env = GBM_BACKEND,nvidia-drm
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
env = WLR_NO_HARDWARE_CURSORS,1
env = WLR_DRM_NO_ATOMIC=1
env = QT_WAYLAND_DISABLE_WINDOWDECORATION=1

Config File: /home/adriano/.config/hypr/source/binds.conf: Read Succeeded
$mainMod = SUPER

# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, C, killactive,
bind = $mainMod SHIFT, escape, exit,
bind = $mainMod, E, exec, nemo
bind = $mainMod SHIFT, E, exec, [float]nemo

# Floorp
bind = $mainMod, W, exec, floorp
# Private Floorp
bind = $mainMod SHIFT, W, exec, floorp --private-window

# # Brave
# bind = $mainMod, W, exec, brave-nightly
# # Brave Incognito
# bind = $mainMod SHIFT, W, exec, brave-nightly --incognito

# # Firefox
# bind = $mainMod, W, exec, firefox
# # Private Firefox
# bind = $mainMod SHIFT, W, exec, firefox --private-window

bind = $mainMod, space, togglefloating,
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod SHIFT, D, togglesplit, # dwindle
# bind = $mainMod, L, exec, swaylock

# Rofi
$rofiPath = ~/.config/rofi
# Launcher
# bind = $mainMod, R, exec, $rofiPath/launcher/launcher.sh
# bind = $mainMod, R, exec, ~/.config/ags/shared/scripts/sidebar.sh toggle-applauncher
# Powermenu
bind = $mainMod, escape, exec, $rofiPath/powermenu/powermenu.sh
# Emoji
bind = $mainMod, PERIOD, exec, $rofiPath/emoji/emoji.sh
# Wallpaper
# bind = $mainMod, COMMA, exec, $rofiPath/wallpaper/wallpaper.sh
# Tmux
bind = $mainMod, T, exec, $rofiPath/tmux/tmux.sh
# Notes
bind = $mainMod, N, exec, $rofiPath/notes/notes.sh
# Volume
bind = $mainMod, V, exec, $rofiPath/applets/bin/volume.sh --row 3
# To-Do's
bind = $mainMod, Q, exec, $rofiPath/todo/todo.sh
# Calculator
# bind = $mainMod, M, exec, ~/.config/rofi/calc/calc.sh
bind = $mainMod, M, exec, gnome-calculator
# Bluetooth
bind = $mainMod, B, exec, $rofiPath/bluetooth/bluetooth.sh
# Network
# bind = $mainMod, D, exec, python ~/.config/rofi/network/network.py
# Keepass
bind = $mainMod, U, exec, $rofiPath/keepmenu/keepmenu.sh
# Calendar
bind = $mainMod, I, exec, $rofiPath/calendar/calendar.sh
# Screenshot
bind = $mainMod, S, exec, $rofiPath/screenshot/screenshot.sh

# Fullscreen screenshot
# CopySave
bind = , Print, exec, grimblast --notify copysave screen $XDG_PICTURES_DIR/Screenshots/$(date +%Y-%m-%d-%H-%M-%S).png
# Copy
bind = SHIFT, Print, exec, grimblast --notify copy screen

# Area screenshot
bind = $mainMod SHIFT, S, exec, grimblast --notify copy area

# Waybar
# Hide/Show waybar
# bind = $mainMod SHIFT, B, exec, killall -SIGUSR1 waybar

# Restart waybar
# bind = $mainMod ALT, B, exec, killall waybar;waybar

# Fullscreen toggle
bind = $mainMod, F, fullscreen,
bind = $mainMod CTRL, F, fullscreen, 1
bind = $mainMod SHIFT, F, fakefullscreen,

# Start Kitty terminal
bind = $mainMod, RETURN, exec, kitty
# Start Kitty terminal in floating mode
bind = $mainMod SHIFT, RETURN, exec, kitty --class kitty-floating
# Execute kitty-slurp.sh
bind = $mainMod ALT, RETURN, exec, ~/.config/kitty/kitty-slurp.sh

# Open notification center
# bind = $mainMod, A, exec, swaync-client -t -sw

# Fabric
bind = $mainMod ALT, B, exec, killall ax-bar; cd ~/.config/fabric/bar && python main.py

$fabricSend = python ~/.config/fabric/bar/scripts/send.py

bind = $mainMod, A, exec, $fabricSend chat
bind = $mainMod, D, exec, $fabricSend dashboard
bind = $mainMod, COMMA, exec, $fabricSend wallpapers
bind = $mainMod, R, exec, $fabricSend apps
bind = $mainMod SHIFT, B, exec, $fabricSend update-style

# Pin a window
bind = $mainMod, Y, pin,

# Center window
bind = $mainMod, G, centerwindow

# ARROWS

# Move focus with mainMod + arrow keys
bind = $mainMod, Left, movefocus, l
bind = $mainMod, Right, movefocus, r
bind = $mainMod, Up, movefocus, u
bind = $mainMod, Down, movefocus, d

# Move active window with mainMod + SHIFT + arrow keys
bind = $mainMod SHIFT, Left, movewindow, l
bind = $mainMod SHIFT, Right, movewindow, r
bind = $mainMod SHIFT, Up, movewindow, u
bind = $mainMod SHIFT, Down, movewindow, d

# Resize active window with mainMod + CTRL + arrow keys
bind = $mainMod CONTROL, Left, resizeactive, -50 0
bind = $mainMod CONTROL, Right, resizeactive, 50 0
bind = $mainMod CONTROL, Up, resizeactive, 0 -50
bind = $mainMod CONTROL, Down, resizeactive, 0 50

# Move floating window with mainMod + ALT + arrow keys
bind = $mainMod ALT, Left, moveactive, -50 0
bind = $mainMod ALT, Right, moveactive, 50 0
bind = $mainMod ALT, Up, moveactive, 0 -50
bind = $mainMod ALT, Down, moveactive, 0 50

# Move floating window with mainMod + SHIFT + ALT + arrow keys
bind = $mainMod SHIFT ALT, Left, moveactive, -10 0
bind = $mainMod SHIFT ALT, Right, moveactive, 10 0
bind = $mainMod SHIFT ALT, Up, moveactive, 0 -10
bind = $mainMod SHIFT ALT, Down, moveactive, 0 10

# VIM-LIKE

# Move focus with mainMod + arrow keys
bind = $mainMod, H, movefocus, l
bind = $mainMod, L, movefocus, r
bind = $mainMod, K, movefocus, u
bind = $mainMod, J, movefocus, d

# Move active window with mainMod + SHIFT + arrow keys
bind = $mainMod SHIFT, H, movewindow, l
bind = $mainMod SHIFT, L, movewindow, r
bind = $mainMod SHIFT, K, movewindow, u
bind = $mainMod SHIFT, J, movewindow, d

# Resize active window with mainMod + CTRL + arrow keys
bind = $mainMod CONTROL, H, resizeactive, -50 0
bind = $mainMod CONTROL, L, resizeactive, 50 0
bind = $mainMod CONTROL, K, resizeactive, 0 -50
bind = $mainMod CONTROL, J, resizeactive, 0 50

# Move floating window with mainMod + ALT + arrow keys
bind = $mainMod ALT, H, moveactive, -50 0
bind = $mainMod ALT, L, moveactive, 50 0
bind = $mainMod ALT, K, moveactive, 0 -50
bind = $mainMod ALT, J, moveactive, 0 50

# Move floating window with mainMod + SHIFT + ALT + arrow keys
bind = $mainMod SHIFT ALT, H, moveactive, -10 0
bind = $mainMod SHIFT ALT, L, moveactive, 10 0
bind = $mainMod SHIFT ALT, K, moveactive, 0 -10
bind = $mainMod SHIFT ALT, J, moveactive, 0 10

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

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

# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e-1
bind = $mainMod SHIFT, Z, workspace, e-1
bind = $mainMod, mouse_up, workspace, e+1
bind = $mainMod SHIFT, X, workspace, e+1

# Next/previous workspace with Z and X
bind = $mainMod, Z, workspace, -1
bind = $mainMod, X, workspace, +1

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

# Audio
bind=,XF86AudioPlay,exec,playerctl play-pause
bind=,XF86AudioPrev,exec,playerctl previous
bind=,XF86AudioNext,exec,playerctl next

bindl=,XF86AudioMedia,exec,playerctl play-pause
bindl=,XF86AudioStop,exec,playerctl stop

# volume
bindle=,XF86AudioRaiseVolume,exec,swayosd-client --output-volume 5
bindle=,XF86AudioLowerVolume,exec,swayosd-client --output-volume -5
bindle=,XF86AudioMute,exec,swayosd-client --output-volume mute-toggle
# brightness
bindle=,XF86MonBrightnessUp,exec,swayosd-client --brightness=raise 5
bindle=,XF86MonBrightnessDown,exec,swayosd-client --brightness=lower 5
# bind=,XF86Calculator,exec, ~/.config/rofi/calc/calc.sh
bind=,XF86Calculator,exec, gnome-calculator

# Plugins
# bind = $mainMod, D, hyprexpo:expo, toggle # can be: toggle, off/disable or on/enable

# bind = $mainMod SHIFT, SEMICOLON, exec, notify-send colon
# bind = $mainMod, SEMICOLON, exec, notify-send semicolon

Config File: /home/adriano/.config/hypr/source/autostart.conf: Read Succeeded
exec-once = rm $XDG_RUNTIME_DIR/swww.socket
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
# exec-once = hyprpm reload -n
exec = swww init
exec = swaync
exec = swayosd-server
# exec = wl-clip-persist -c both
# exec-once = waybar
exec = alpha start
exec-once = cd ~/.config/fabric/bar && python main.py
exec-once = maestral_qt

Config File: /home/adriano/.config/hypr/source/windowrules.conf: Read Succeeded
# Blur
# blurls=waybar
# layerrule = ignorezero, waybar
# layerrule = ignorezero, swaync-control-center
layerrule = noanim, swaync-control-center
layerrule = noanim, swaync-notification-window
# layerrule = ignorezero, rofi
layerrule = noanim, rofi

# blurls=rofi
# blurls=swaync-control-center

# Fabric
layerrule = noanim, fabric
# layerrule = ignorealpha 0.75, fabric
# blurls=fabric

windowrulev2 = float, class:^(org.gnome.Calculator)$

# Firefox Picture-in-picture
windowrulev2 = float, class:^(firefox)$, title:^(Picture-in-picture)$
windowrulev2 = move 1492 839, class:^(firefox)$, title:^(Picture-in-picture)$
windowrulev2 = size 427 240, class:^(firefox)$, title:^(Picture-in-picture)$
windowrulev2 = pin, class:^(firefox)$, title:^(Picture-in-picture)$

# Floorp Picture-in-picture
windowrulev2 = float, class:^(floorp)$, title:^(Picture-in-picture)$
windowrulev2 = move 1492 839, class:^(floorp)$, title:^(Picture-in-picture)$
windowrulev2 = size 427 240, class:^(floorp)$, title:^(Picture-in-picture)$
windowrulev2 = pin, class:^(floorp)$, title:^(Picture-in-picture)$

# Kitty floating
windowrulev2 = float, class:^(kitty-floating)$
# windowrulev2 = dimaround, class:^(kitty-floating)$

layerrule=noanim,selection

Config File: /home/adriano/.config/hypr/source/input.conf: Read Succeeded
input {
    kb_layout = us
    kb_variant = altgr-intl
    kb_model =
    kb_options =
    kb_rules =

    follow_mouse = 1

    touchpad {
        natural_scroll = yes
        scroll_factor = 0.25
    }

    sensitivity = 0
}

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

Description
When I tried to do movewindow, u it wasn't working, but worked with all other directions. Then I added borders to windows again and... It worked.
How to reproduce
general {
    border_size = 0
}

bind = $mainMod SHIFT, Up, movewindow, u

The binding can be any combination.
Crash reports, logs, images, videos
No response

Tried to reproduce with the same version and did not happen.
I had your bind bind = $mainMod SHIFT, Up, movewindow, u like this: bind = $mod SHIFT, up, movewindow, u and it worked both ways, also with or without border.

@299792458ms That's really weird. This is happening both in my PC and my laptop.

This is really weird indeed. I have wouldn't imagine that this is related to border_size. I can reproduce this bug, but in my case behaves differently:
For more context I'm on dwindle layout and I daily driver border_size = 0
Windows on tile mode acts totally fine and behaves as expected (i.e. bind = $mainMod SHIFT, Up, movewindow, u  moves the window up in the grid and so on the l,r,d  parameters moves the windows correctly to their respective directions).
As I change the window to floating mode, I can't move it neither left nor up, but moving it to the right and down works. As @Axenide states setting border_size = 1 makes everything work just right.
Here's my info
 System/Version info
Hyprland, built from branch  at commit ea2501d4556f84d3de86a4ae2f4b22a474555b9f  (props: bump version to 0.41.0).
Date: Mon Jun 10 14:23:06 2024
Tag: v0.41.0, commits: 4794

flags: (if any)

System Information:
System name: Linux
Node name: HuaaaliP0NKH-ER0S
Release: 6.9.1-zen1-2-zen
Version: #3 ZEN SMP PREEMPT_DYNAMIC Sat May 25 22:07:16 UTC 2024

GPU information:
00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0126] (rev 09) (prog-if 00 [VGA controller])

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

plugins:

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

Config File: /home/macydnah/.config/hypr/hyprland.conf: Read Succeeded
# ~/.config/hypr/hyprland.conf

#monitor=name,resolution,porition,scale
monitor=,preferred,auto,auto

$mod = SUPER
#$terminal = st
$terminal = footclient
$fileManager = pcmanfm
$menu = /home/macydnah/.config/rofi/launcher.sh

exec-once = pcmanfm -d
exec-once = foot --server
exec-once = swaybg --output LVDS-1 --image /usr/share/backgrounds/fgm.png --mode fill

#############################
### ENVIRONMENT VARIABLES ###
#############################

env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24

env = GDK_BACKEND,wayland
env = LIBVA_DRIVER_NAME,i965
env = LIBVA_DRIVERS_PATH,/usr/lib/dri
env = MOZ_ENABLE_WAYLAND,1
env = QT_QPA_PLATFORM,wayland-egl
env = SDL_VIDEODRIVER,wayland
env = XDG_SESSION_TYPE,wayland
env = _JAVA_AWT_WM_NONREPARENTING,1

#####################
### LOOK AND FEEL ###
#####################

# Refer to https://wiki.hyprland.org/Configuring/Variables/

# https://wiki.hyprland.org/Configuring/Variables/#general
general {
    gaps_in = 2
    gaps_out = 4

    border_size = 0

    # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
    col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
    col.inactive_border = rgba(595959aa)

    # Set to true enable resizing windows by clicking and dragging on borders and gaps
    resize_on_border = false

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

    layout = dwindle
}

cursor {
    inactive_timeout = 2
}

# https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration {
    rounding = 3

    # Change transparency of focused and unfocused windows
    active_opacity = 1.0
    inactive_opacity = 0.9

    drop_shadow = true
    shadow_range = 4
    shadow_render_power = 3
    col.shadow = rgba(1a1a1aee)
#    screen_shader = /home/macydnah/.config/hypr/blue-light-filter.frag

    # https://wiki.hyprland.org/Configuring/Variables/#blur
    blur {
        enabled = true
        size = 3
        passes = 1

        vibrancy = 0.1696
    }
}

# https://wiki.hyprland.org/Configuring/Variables/#animations
animations {
    enabled = true

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

    bezier = myBezier, 0.05, 0.9, 0.1, 1.05

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

dwindle {
    pseudotile = true
    force_split = 2
    preserve_split = true
    no_gaps_when_only = 0
    use_active_for_splits = true

    bind = $mod, P, pseudo
    bind = $mod, C, togglesplit
}

master {
    new_is_master = true
}

# https://wiki.hyprland.org/Configuring/Variables/#misc
misc {
    force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
    disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
}

binds {
    allow_workspace_cycles = true
}

#############
### INPUT ###
#############

# https://wiki.hyprland.org/Configuring/Variables/#input
input {
    kb_layout = us
    kb_variant = altgr-intl
    kb_model = pc104
    kb_options =
    kb_rules =

    follow_mouse = 2

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

    touchpad {
        natural_scroll = true
    }
}

# https://wiki.hyprland.org/Configuring/Variables/#gestures
gestures {
    workspace_swipe = true
}

# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
device {
    name = epic-mouse-v1
    sensitivity = -0.5
}

####################
### KEYBINDINGS ###
####################

# Volume/Brightness Control
bind = ,XF86AudioMute, exec, volfade.sh -m
bind = ,XF86AudioRaiseVolume, exec, volfade.sh -i
bind = ,XF86AudioLowerVolume, exec, volfade.sh -d
binde = ,XF86MonBrightnessUp, exec, xbacklight -inc 3 -fps 60 -time 111 -perceived
binde = ,XF86MonBrightnessDown, exec, xbacklight -dec 3 -fps 60 -time 111 -perceived
bind = SHIFT,XF86MonBrightnessUp, exec, hyprctl keyword decoration:screen_shader /home/macydnah/.config/hypr/blue-light-filter.frag
bind = SHIFT,XF86MonBrightnessDown, exec, hyprctl keyword decoration:screen_shader ''
bind = $mod, Menu, exec, kblight

# Keybinds/shortcuts for applications
bind = $mod, Return, exec, $terminal
bind = $mod, grave, exec, togglescrat.sh
bind = $mod, A, exec, $menu
#bind = $mod, B, exec, $bar
bind = $mod, E, exec, $fileManager
bind = $mod, N, exec, networkmanager_dmenu

# Window manager functions
bind = $mod, Q, killactive
bind = $mod, F, fullscreen, 0
bind = $mod, Tab, workspace, previous
bind = $mod, space, togglefloating,
bind = $mod SHIFT, Escape, exec, hyprctl dispatcher exit

# Keyboard navigation
bind = $mod, J, movefocus, l
bind = $mod, semicolon, movefocus, r
bind = $mod, K, movefocus, u
bind = $mod, L, movefocus, d
bind = $mod SHIFT, J, movewindow, l
bind = $mod SHIFT, semicolon, movewindow, r
bind = $mod SHIFT, K, movewindow, u
bind = $mod SHIFT, L, movewindow, d

bind = $mod, 1, workspace, 1
bind = $mod, 2, workspace, 2
bind = $mod, 3, workspace, 3
bind = $mod, 4, workspace, 4
bind = $mod, 5, workspace, 5
bind = $mod, 6, workspace, 6
bind = $mod, 7, workspace, 7
bind = $mod, 8, workspace, 8
bind = $mod, 9, workspace, 9
bind = $mod, 0, workspace, 10

bind = $mod SHIFT, 1, movetoworkspace, 1
bind = $mod SHIFT, 2, movetoworkspace, 2
bind = $mod SHIFT, 3, movetoworkspace, 3
bind = $mod SHIFT, 4, movetoworkspace, 4
bind = $mod SHIFT, 5, movetoworkspace, 5
bind = $mod SHIFT, 6, movetoworkspace, 6
bind = $mod SHIFT, 7, movetoworkspace, 7
bind = $mod SHIFT, 8, movetoworkspace, 8
bind = $mod SHIFT, 9, movetoworkspace, 9
bind = $mod SHIFT, 0, movetoworkspace, 10

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

# Scroll through existing workspaces with mod + scroll
bind = $mod, mouse_down, workspace, e+1
bind = $mod, mouse_up, workspace, e-1

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

##############################
### WINDOWS AND WORKSPACES ###
##############################

windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.

floating-st {
windowrulev2 = pseudo,class:^(floating-st)$
windowrulev2 = workspace special:magic,class:^(floating-st)$
}

floating-foot {
windowrulev2 = workspace special:magic,class:^(floating-foot)$

windowrulev2 = size 677 382,class:^(floating-foot)$
windowrulev2 = float,class:^(floating-foot)$
windowrulev2 = pseudo,class:^(floating-foot)$
windowrulev2 = tile,class:^(floating-foot)$
}

scrcpy {
windowrulev2 = float,class:^(scrcpy)$,title:^(SM-G935F)$
windowrulev2 = size 32% 99%,class:^(scrcpy)$,title:^(SM-G935F)$
windowrulev2 = tile,class:^(scrcpy)$,title:^(SM-G935F)$
windowrulev2 = pseudo,class:^(scrcpy)$,title:^(SM-G935F)$
}

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

@macydnah Yeah, I forgot to say that this happened when I tried to move while I had a floating window. But only up doesn't work.

Hi, im facing the same issue with floating windows. but in my case window doesn't move to the left. i've fixed that by setting border_size and deleting inactive / active border's colors variables

didn't I fix this already?
the window had to be floating
@vaxerski

dupe of https://github.com/hyprwm/Hyprland/issues/6372

Issue still persists , v0.41.2
https://github.com/user-attachments/assets/54d12da5-dc32-4f0b-84c6-871270772fc1


⚠ St. Lawrence Global Observatory CKAN Sitemap has degraded performance

In a888132, St. Lawrence Global Observatory CKAN Sitemap (https://catalogue.ogsl.ca/sitemap/sitemap-1.xml) experienced degraded performance:

HTTP code: 200
Response time: 5841 ms

Resolved: St. Lawrence Global Observatory CKAN Sitemap performance has improved in 264fa48 after 1 hour, 11 minutes.


ucFirst removed ?

 import { ucFirst } from 'change-case';

Updated from 3.1.0 to 4.0.0.
Why removing function instead of deprecation?
Also it's not clear how to import upperCaseFirst.

@ph55 It's a major version change. That's how semver works. What's unclear about the import?

@ph55 To be clear, upperCaseFirst isn't part of change-case anymore. It could be added easily, but since it didn't follow the rest of the "change case" conventions I removed it in this major version. You can read the docs under https://github.com/blakeembrey/change-case#other-case-utilities.

@blakeembrey Ok, got it.
Regarding imports, neither
import * as changeCase from 'change-case';
changeCase.upperCaseFirst('text');

// method not found

nor
import { upperCaseFirst } from 'change-case';

// has no exported member 'upperCaseFirst'

Works

@blakeembrey
I see that I could add it via
import { upperCaseFirst } from 'upper-case-first';

Worth to mention in docs IMO.
Thanks.

I clarified the README a little bit (first time dealing with a mono-repo), let me know if it helps. upperCaseFirst is a separate library.

Worth to mention in docs IMO.

How would you document this? Can you submit a PR? It's documented on the library page.

Oh I see, it's mono–repo. It was my confusion then :)
All clear now, thanks.
When change-case installed I see that upper-case-first installed automatically though.

It is a dependency of some of the case changing libraries (e.g. camel case), but you shouldn’t rely on it without depending on it yourself.

May I know what was the rationale for splitting the original project into many tiny projects?
Many projects are now essentially one liners, e.g.
export function upperCaseFirst(input: string) {
  return input.charAt(0).toUpperCase() + input.substr(1);
}

It takes longer (to download, build, etc.) for a project to depend on many small npm packages instead of one-two reasonably sized libraries with multiple functions. I'm really curious why the refactor was made, and what the benefits are, since there are disadvantages as well (see: Monorepo anti-pattern).

FWIW, this was not a change. This was originally many different packages, the only change is a monorepo.


added "cancel" functionality into DTLS process

Added "cancel" feature for DtlsClientProtocol and DtlsServerProtocol in tls layer

Would love to see feedback on this. There doesn't seem to be another way that I can see to abort an active DTLS handshake.

The first thing to note is that you are using the legacy TLS API (which I've recently explicitly deprecated). Please move to the new API (org.bouncycastle.tls) in the bctls jar, at least for purposes of testing and establishing how this cancellation should work.
The new API already supports a handshake timeout (override TlsPeer.getHandshakeTimeoutMillis()), in case that's all you're trying to do.
The patch supplied here doesn't really achieve much, because a thread blocked on a socket read won't be interrupted. Also, you can't add per-connection data to DTLSClientProtocol. The only real way to "cancel" reliably is to close the DTLSTransport (socket) from a separate thread. There was a bug with that in the legacy API, not sure if fixed there, but fixed in new API. We'll look at backporting that specific fix to legacy Java and C# APIs.
If you do still want a "cancellation" mechanism we could add an isCancelled method to TlsPeer.

Is there any harm in merging this in? It's been in use for years now and has proven to be a very reliable way to abort the handshake externally. It's obviously preferable for us to continue to use a proven solution over re-writing and de-stabilizing our DTLS integration with BouncyCastle.
Even with the new API, the internal timeout isn't sufficient to address the use case, which requires cancelling the handshake based on some external trigger.

To clarify the use case, the problem we ran into is that a handshake timeout (or user cancelled) would result in a blocked thread. Over time, the number of blocked threads increases, so we needed to add a mechanism by which threads stuck in the loop could be exited.
It sounds like the fix you mentioned regarding closing the DTLSTransport would solve the issue in a perhaps more graceful manner. At least in C#, closing the DTLSTransport from a separate thread doesn't seem to unblock the DTLSClient/ServerProtocol.

I've pushed changes that are very similar to the proposed PR, except that the cancel() method is on TlsPeer (i.e. the user-provided TlsClient/TlsServer instance).
The changes were applied in both the legacy API (org.bouncycastle.crypto.tls) and the new one (org.bouncycastle.tls), but please be aware that we plan to completely remove the legacy API after the upcoming release (1.63).

Thank you, @peterdettman!
Understood regarding the legacy API removal plans. Is it possible to have this change applied to the C# SDK, too? https://github.com/bcgit/bc-csharp/pull/207

Yes, it will go into C# too.

Thank you, @peterdettman!

Fixed in 1.63.


Prepare database

Add an option to prepare the database (option --prepare) in the anhalytics-harvest project to load the anhalytics and anhalytics_biblio schema in the mysql database that is configured.
Additionally this command can do a check of the various component to report connectivity or configuration issues (e.g. the user forgets to start the elasticsearch).

Fixed c0393ba


chore(master): release 1.1.91

:robot: I have created a release beep boop
1.1.91 (2023-09-14)
Miscellaneous

deps: update dependency wayofdev/cs-fixer-config to v1.2.60 (f22fcef)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/wayofdev/laravel-stripe-webhooks/releases/tag/v1.1.91 :sunflower:


Is there any simple tutorial?

I read all the readme.MD file but I can't find a way of how to add this lib to my project. Is there any tutorial or walkthrough (step by step) on the internet?

Hi @mehrad77. No, to my knowledge there is no tutorial or walkthrough yet. Can you explain what information you need? If the README isn't explanatory enough, we should improve it.

Sorry for the delayed answer.
well, I can not understand the 3. Project setup step. where should I config it after adding NPM package? how can I trigger switching language?
even a simple youtube video or a post in dev.to or anywhere else would be helpfull. a walkthrough of adding it to the project. step by step for dummies.

I will consider writing an article and posting it on Medium. Unfortunately it takes a lot of time to do these walk throughs and gather all the necessary images, etc.
For now, are there any specific questions I can answer?

Thank you for considering.
No, I'll wait for it. <3

Okay, not exactly sure when I will have time. It will be at least 1-2 weeks. Thank you for your patience.

Hey @mehrad77, I wrote an article for you. Let me know if it helps.

Thank you, Well it helped me to get the first insight and not get confused at first.

Any suggestions or feedback? Anything you think needs more clarification?
I was thinking also of creating a diagram to show how the whole system works between the server and client.


Brave doesn't work if there is a partial sign with different fee payer

We have the case where we want to cover any transaction fees for the user so the way we currently have it is as follows:

Ask the backend for a transaction
Creates a transactions
set feePayer as the keypair's public key we have stored
partially sign the tx `transacation.partialSign(feePayerKP)
serialize the tx in base64
send to the frontend
recover transaction with Buffer.from and Transaction.from
call sendTransaction from wallet adapter

What happens at this point is brave wallet pops up but without any action, just the account info and it gets stuck there forever
What we did to fix it is instead of calling sendTransaction from wallet adapter, we call signTransaction and sign the tx and the send it with connection.sendRawTransaction after serialize it. This fix got us to believe there is an issue in brave implementation on wallet.signAndSendTransaction that's being used in brave's sendTransaction in its adapter
Also removing the feepayer and the signature works too. Someone from our team thinks it might be an issue with signature order in brave.
with @steveluscher 's permission, here is a video https://drive.google.com/file/d/14jX-Fqds9oBCwDgNkcJxWmmodB_tpX-P/view

@yamijuan, can you quickly test what happens here if you call window.solana.signAndSendTransaction() directly?

FWIW this is a use case we've seen with Solana Pay, where the transaction served will be partially signed either to pay fees or to send a token to the user
I've been able to repro this issue with a slightly modified version of our solana-pay-scaffold: https://github.com/mcintyre94/solana-pay-scaffold (change-fee-payer branch)
To test it, copy .env.example to .env, put any private key with devnet SOL in as WALLET_PRIVATE_KEY, yarn, yarn dev. Click connect wallet and then send with wallet on the transaction request page (localhost:3000/)
The main branch uses a simple transaction with no other signers and works correctly in Brave, the change-fee-payer branch has the same issue reported here
I've also tested the window.solana.signAndSendTransaction() and the behaviour is exactly the same

Moving this discussion over to https://github.com/brave/brave-browser/issues/28955.
(@jordansexton, I can't close this issue myself)

Closed per @steveluscher, thanks for looking into this everyone!

@yamijuan Thanks for the report, we've merged a fix in Brave Nightly, it should be working now on our latest Nightly, if you could help confirm that it's also fixed on your end, that would be great. We're in the process of uplifting the fix into Brave Beta and Brave Release, for Brave Beta, it could be this or next week, and for Brave Release, current planned release date is 03/22 (next week). Thanks!


Fixed 'unnamed' routes

get :archived do works ok but get do not
should fix regex to target that?
      resource :orders do
        desc "Return list of all orders", { object_fields: API::V1::Entities::Order.documentation }
        get do
          present Order.today, with: API::V1::Entities::Order
        end

        desc "Return archived (closed) orders for specified account"
        params do
          requires :identifier, type: String, desc: "Account identifier"
        end
        get :archived do
          account = Account.find_by(identifier: params[:identifier])
          raise "AccountNotFound" unless account

          present account.orders.archived, with: API::V1::Entities::Order
        end
     end

This needs tests and a CHANGELOG entry, please.

+1 for this

Can someone finish this with tests/changelog, bump @dannecker.

seems like fixed here https://github.com/tim-vandecasteele/grape-swagger/pull/216

I think so, closing. @dannecker Please confirm if you have a moment.


several utilities patches

login using appstate
[fix new quote format for legacyFBMQTT regex match]

Update:

Fixed conflict with upstream
Bump Node engine to >=14 (for using Puppeteer to get cookie)


Create a conda channel for pre-releases

See https://conda-forge.org/docs/maintainer/knowledge_base/#pre-release-builds


Fred review

Add some screenshots and more info.

@spasiu

rest looks good to me.

@jpjoyal fixed! thanks.

What's this, merge it!


Network I/O stats all zero / GlobalIPv6Address not set

Hello,
When using the /stats endpoint all the network stats are zero, the other stats return the expected results. There has been network traffic working with the container.
Any suggestions on what to try next?  Below is my debugging / output so far.
Thanks
Ben
======
Stats output
$ curl localhost/containers/414ne0_d2d/stats?stream=false
"network":{"rx_bytes":0,"rx_packets":0,"rx_errors":0,"rx_dropped":0,"tx_bytes":0,"tx_packets":0,"tx_errors":0,"tx_dropped":0},

Here are the network settings for the said container.
    "NetworkSettings": {
        "Bridge": "",
        "EndpointID": "4b1cd925b020c9f36237895ea233516b53ed58d8766840ccea67840cf42a4ceb",
        "Gateway": "<IP_ADDRESS>",
        "GlobalIPv6Address": "",
        "GlobalIPv6PrefixLen": 0,
        "HairpinMode": false,
        "IPAddress": "<IP_ADDRESS>",
        "IPPrefixLen": 16,
        "IPv6Gateway": "",
        "LinkLocalIPv6Address": "",
        "LinkLocalIPv6PrefixLen": 0,
        "MacAddress": "02:42:ac:11:00:ae",
        "NetworkID": "47023aeadd22b0bead2073edbdd1811d34d8dfab2ddd409c2ba1ad039bba6a85",
        "PortMapping": null,
        "SandboxKey": "/var/run/docker/netns/87a43adf5425",
        "SecondaryIPAddresses": null,
        "SecondaryIPv6Addresses": null
    },

Attempting to output the netns file returns nothing.
$ cat /var/run/docker/netns/87a43adf5425

The results for ifconfig are all in inet6 with not iPv4 addresses so I'm unable to relate them back to the container, not sure why GlobalIPv6Address hasn't been set. Is this the reason?
$ ifconfig
vethd35519b Link encap:Ethernet  HWaddr f6:bf:bf:be:b1:ea
          inet6 addr: fe80::f4bf:bfff:febe:b1ea/64 Scope:Link
          UP BROADCAST RUNNING  MTU:1500  Metric:1
          RX packets:2061 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2581 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:186088 (186.0 KB)  TX bytes:11125879 (11.1 MB)

The ethtool doesn't return any of the expected stats either.   The fix will be in 1.7.1
#14324

That's great! Thank you.

For reference, that PR is in the docker repository, not this repo; https://github.com/docker/docker/pull/14324

@BenHall if you want to test if this issue is resolved for you, the current release candidates for docker 1.7.1 can be found here; https://github.com/docker/docker/pull/14264#issuecomment-119692197 (and RPMs here: https://github.com/docker/docker/pull/14264#issuecomment-119747020).
There will be an 1.7.1-rc3, so you might want to keep an eye on that PR, and the release is scheduled for next Tuesday

Closing as docker 1.7.1 has been released
If you still find that this issue is persisting, please drop us a note and we can re-open this issue!


Fix summary context repeating groups

What is the context of this PR?
We currently don't add any group to the summary context if it doesn't have any blocks in it.
This was to avoid showing and empty group on the summary. e.g if you only add one person on test_repeat_until_summaries.json. it would show the Other Household Members title without any content.
Not adding groups to the summary context causes issues in LMS for instance, when we have one person with 1 job and another with 2 jobs, the first group would not be added to the context (since they don't have any of the two-job questions, yet we still reference the context by the group_instance. So in this case there would only be one item in context['summary']['groups'], but we're trying to reference it as if there were 2 items.
I've added a condition to the summary template to avoid showing anything if there are no blocks in the group.
How to review
Check test_repeat_until_summaries does not include any extra titles etc.
Checklist

[ ] New static content marked up for translation
[ ] Newly defined schema content included in eq-translations repo

Fixed @jonnyshaw89

We could have had a situation when loop.nextitem was an empty group, so I've filtered in the for loop to avoid that. Nicer anyway.


Collisions is not a constructor

My code is simply
var Collisions = require("detect-collisions");

var system = new Collisions();
var result = system.createResult();

but I get the error TypeError: Collisions is not a constructor. I know what that means but Collisions is supposed to be a constructor. Also when trying it without the new it says Collisions is not a function. I probably made an obvious mistake but I can't find it.
Edit
When console.loging Collisions everything looks defined and default is a function.
Edit #2
var Collisions = require("detect-collisions").default;

var system = new Collisions();
var result = system.createResult();

Adding .default works for some reason.

thanks for help

Sorry there was error in the documentation :(
Please use like:
const {Collisions} = require('detect-collisions');

const system = new Collisions();

Please update to version 2.4.3 the docs are up to date now

// other options:
const Collisions = require('detect-collisions').default;
import Collisions from 'detect-collisions';

this is because there is more to the engine than just Collisions, there are
Circle: function()
Collisions: function()
Point: function()
Polygon: function()
Result: function()
default: function() // equal to Collisions

Thank you. If I only watched my email I would've seen this before giving up xD. My projects are gone now anyways (I had a PC problem)


Add support for Headless hostPort services

A simple implementation for #315 and based on #278.
The idea is, to assign a DNS address for every Pod running under a Headless service. This is a fairly important usecase in my mind, for exposing Stateful services, which have some kind of inbuilt discovery mechanism, like Apache Kafka. As these services can only really properly work with a HostPort(I did not find any other way), it makes sense to export their HostIP as a stable DNS record.
I thought about a number of approaches to parametrize this, but the simple approach was to add a subdomain annotation. Conceptually we would want  for each Pod appear with the hostname assigned to it by the StatefulSet, so we only  need to concerned with the subdomain where the Pods are registered.
So I added a new annotation external-dns.alpha.kubernetes.io/headlessDomain, which is basically the subdomain, i.e .example.org. I was unsure about adding the . in code or in the annotation.
It does not address generating a SRV record and simply generates A records for every running Pod, with the HostIP.
This is my first time coding against the Kubernetes API or in GO, so any comments about structure/style and other mistakes are welcome. I am also not 100% sure the approach I took is perfect, so comments are welcome.

@Arttii Thanks for your contribution. We'll have a look.

@Arttii I was looking to tackle something similar, so thanks!
I was thinking that perhaps the existing annotation could be used and try and model the implementation  closer to the K8 handling of Headless Services.  With Headless services right now with K8 DNS we get a record for the service itself and also DNS records per instance of the matched pods as subdomain entries of the service's domain.
Ex. A Headless service deployed as kafka-broker with a 3-replica StatefulSet named kafka provides DNS lookups of <statefulset-name>-<offset>.<service name>:

kafka-0.kafka-broker.default.svc.cluster.local
kafka-2.kafka-broker.default.svc.cluster.local
kafka-3.kafka-broker.default.svc.cluster.local

(I believe this does require the serviceName to be set on the StatefulSet's spec.serviceName)
Dig for single pod (note: subdomain entry of service's fqdn)
18:03 $ dig kafka-1.kafka-broker.default.svc.cluster.local

...

;; ANSWER SECTION:
kafka-1.kafka-broker.default.svc.cluster.local. 30 IN A <IP_ADDRESS>

...

Future:
Right now the multi-value A records wouldn't be supported by the Endpoint model, so I would recommend still skipping that.  But what we could then do with the same External DNS anntoation would be to have the Multi-entry A record refelect the values that it would in K8 DNS iteslef.
Dig for the service
18:03 $ dig kafka-broker.default.svc.cluster.local

...

;; ANSWER SECTION:
kafka-broker.default.svc.cluster.local. 30 IN A <IP_ADDRESS>
kafka-broker.default.svc.cluster.local. 30 IN A <IP_ADDRESS>
kafka-broker.default.svc.cluster.local. 30 IN A <IP_ADDRESS>

...

Proposed Changes:

Instead of using new annotation, we could reuse existing annotation to express the FQDN of the service itself and keep that logic the same.  (In the future this would be a multi-A record, for now it is not created at all).
Use your existing logic and append the individual pods, but instead reuse the existing annotation's value

Kafka Itself...unrelated
On a completely unrelated note, we tackled the Kafka static IP problem a bit differently/hackily using a ClusterIP service per member of the statefulset. The pods themselves have an init container that introspects the hostname add adds label to itself that allows the kafka-<N> service to differentiate which of the N kafka nodes it should have a label selector for.  This was our approach for "Static IPs" in K8 and has worked well for Zookeeper and Kafka clients that have notorious problems with IP caching.  Email me or something if you want that info.  I'll try and write a blog post about it soon-ish.

Hi,
Thanks for taking a look.
I'm going to rephrase to check my understanding. Do you mean we basically append the POD ids to the FQDN specified in the existing Annotation and then later also add all the POD's to the mutli-value record?
I guess we could detect the headless service based on the ClusterIP being None in that case?

Yep. You hit it directly on the head with what I was thinking.

Hi folks, any way we can help it get merged? We need this feature.

:+1: @linki @ideahitme please merge


add trust_remote_code argument, make default = False for other classes

Description
Fixes issue with loading rerank model that needs to be loaded using 'trust_remote_code' argument, as stated here https://github.com/run-llama/llama_index/issues/17131
New Package?
Did I fill in the tool.llamahub section in the pyproject.toml and provide a detailed README.md for my new integration or package?

[ ] Yes
[x] No

Version Bump?
Did I bump the version in the pyproject.toml file of the package I am updating? (Except for the llama-index-core package)

[ ] Yes
[x] No

Type of Change
Please delete options that are not relevant.

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

How Has This Been Tested?
Your pull-request will likely not be merged unless it is covered by some form of impactful unit testing.

[ ] I added new unit tests to cover this change
[x] I believe this change is already covered by existing unit tests

Suggested Checklist:

[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added Google Colab support for the newly added notebooks.
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] I ran make format; make lint to appease the lint gods

Testing failures are unrelated to this PR


Create CI pipeline

Is your feature request related to a problem? Please describe.
Create a proper ci pipeline for druckerei, backend, flutter apps, release notes, Mattermost notification, etc
Consider that we maybe need release notes different for each app. F.e. we provide multi cards only for sozialpass, so it shouldn't be shown for entitlement card
Describe the solution you'd like
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Closed in favor of https://github.com/digitalfabrik/entitlementcard/issues/1158


Transition to Kubernetes instead of docker compose

[x] Run on minikube
[ ] Run on GKE

Now that node is able to show the order table directly, we've removed flask and the need to do a url redirect for it and the whole thing runs on a local kubernetes (minikube) cluster, todo: port to gke

Functioning kubernetes system running with commit fb8502b


Search behavior in Terminal -- add capability to insert the matched hit

Allow Search functionality to easily expand found text, and insert the expanded found text at current cursor location
as an example take a look at this Kubernetes example:
╭─root@nonprod /home/nonprod
╰─# k get po -n dev | grep notifications
oom-ent-notifications-1-0-775c6fb9dc-n476x                1/1     Running   3          71d
╭─root@nonprod /home/nonprod
╰─#

The system listed a container name - a complex generated name.  I need the full container name to delete the container, for instance, what I want is to execute the following
k delete po -n dev oom-ent-notifications-1-0-775c6fb9dc-n476x

Now the problem is -- how do I get the long name in?  The mac iterm2 solves this by allowing a search

User hits ctrl+f (or ctrl+shift+f)
User types in oom-ent
System matches oom-ent  (below the line ending in grep notifications)
User presses Tab
System highlights oom-ent-notifications-1-0-775c6fb9dc-n476x AND copies it to clipboard
User types k delete po -n dev [Ctrl+V]
System displays k delete po -n dev oom-ent-notifications-1-0-775c6fb9dc-n476x
User hits enter to execute the command.
Shift-Tab should work to select up to the beginning of the word.  Shift-Tab followed by Tab should select the whole word if letters in the middle of the word are matched.

Allowing this functionality is super-useful.
F.

Out of curiosity, is there any terminal out there that actually has this particular feature?

Yes.  Mac iTerm2 has that feature.
F.
On Sun., Nov. 15, 2020, 20:29 Chester Liu<EMAIL_ADDRESS>wrote:

Out of curiosity, is there any terminal out there that actually has this
particular feature?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/terminal/issues/8274#issuecomment-727681322,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADQ735VKS6VFJP4ARJJH7LSQB6BJANCNFSM4TVVUB4A
.

So, I'll throw this on the Search v2 backlog, but we'll need to definitely think about how this will work exactly. Right now, tab in the find dialog will move the focus to the "Find Up" button. We'd need to be able to offer some sort of configurable way of intercepting that and performing some other action - in this case, something like "expandSelection(word)".
Presumably, in your example, if the user had searched for ent-not, that would expand in both directions, to select the entire oom-ent-notifications-1-0-775c6fb9dc-n476x word. Nevermind, just read the following:

Shift-Tab should work to select up to the beginning of the word. Shift-Tab followed by Tab should select the whole word if letters in the middle of the word are matched.

So idk if we have actions for both of those spec'd in #2840, I'd have to check
Then, we'd need to figure out how this plays with copy on select - I'm thinking that we'd probably not have it auto-copy (unless copyOnSelect was enabled, and instead require the user to manually press the copy keybinding.

The specification of this feature needs to be way more detailed than my
feature request.  I can put in an effort in doing this on 2 conditions:

Someone takes the time to properly review/discuss the spec with me.
This feature request does not end in an endless backlog, and actually
gets into a released product within 1 year.

Otherwise, I see no point on working on a spec for something that ends up
in a drawer.  Depending on the language the terminal is written in, and if
it's open source, I might also contribute.
Best,
F.
On Wed, Nov 18, 2020 at 7:15 AM Mike Griese<EMAIL_ADDRESS>wrote:

So, I'll throw this on the Search v2 backlog, but we'll need to definitely
think about how this will work exactly. Right now, tab in the find dialog
will move the focus to the "Find Up" button. We'd need to be able to offer
some sort of configurable way of intercepting that and performing some
other action - in this case, something like "expandSelection(word)".
Presumably, in your example, if the user had searched for ent-not, that
would expand in both directions, to select the entire
oom-ent-notifications-1-0-775c6fb9dc-n476x word. Nevermind, just read the
following:
Shift-Tab should work to select up to the beginning of the word. Shift-Tab
followed by Tab should select the whole word if letters in the middle of
the word are matched.
So idk if we have actions for both of those spec'd in #2840
https://github.com/microsoft/terminal/pull/2840, I'd have to check
Then, we'd need to figure out how this plays with copy on select - I'm
thinking that we'd probably not have it auto-copy (unless copyOnSelect
was enabled, and instead require the user to manually press the copy
keybinding.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/terminal/issues/8274#issuecomment-729639666,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADQ737W6IPCLF2JWUZ2XYTSQO3ELANCNFSM4TVVUB4A
.

I would love to help you write a spec 😃
Right now, we've got a spec template over here. I'm gonna level with you, I don't love the template, and I'm working on updating it now, but it's certainly a good enough starting point. I'd think that the "Capabilities" header should definitely be renamed to "Concerns" or something similar. There's a bunch of other completed specs in the same folder, with a variety of levels of detail (less, more, most). Those can be a good reference for what we're looking for.
As far as details go, I'm a little worried that this feature might run up against the "Keyboard Selection Spec" over in #2840. I'm pretty sure that spec is actually in its final form and has all the details that the team discussed, but we're mostly just backed up a little bit bureaucratically on that on. So I think that's fine to use as a base to build off of.
I'd also keep an eye on the fact that currently, the TermControl itself is the thing responsible for handling the key events to try and dispatch an action. If we wanted to have the keybinding for this action configurable, then we'd need some way of identifying that the action is being dispatched from the find dialog, not the terminal control. If you can describe the UX well enough, we can almost certainly help figure the plumbing out.
I'm super happy to keep pushing on the discussion and keep bumping the review as much as possible, though I'd just also warn you that as we're heading into the end of the year, there are a lot more holidays and vacation days used, so our response times might be a little slower than usual.
The codebase is all C++ (more specifically, C++/WinRT). If you're interested in poking around the code, this directory is probably the most relevant to the discussion.

Mike,
thank you for your detailed answer with the pointers to example specs.  Let
me see if I can come up with something spec-wise, but it may take some time.
I am an active developer by profession, but have not touched  C++ in many,
many years, favoring C# development since 2006 (.net 2.0) or so.  Now all
the stuff I do is .net 5 cross platform, asp.net, ef etc. , ruby, python,
bash and aws devops.  I do have extensive WPF desktop experience but have
never touched WinRT (windows stores apps).  I'll have a quick look at the
code when I have some time.
So for the spec, you assigned issue #8274 - should I just

Fork the repo
Clone my fork with branch main
Create a new branch dev/brunzefb/spec/insert-matched-search from main
Add a new file [root]/doc/specs/#8274 - Insert Matched Search
Hit/spec.md (the spec .md starting from the template and all the .png files
going into the folder?
Do the spec writing
Commit the branch, push to my fork and issue a PR back to the project?

Then ask for a review on the original thread?
If you can point me to other docs that specify how you work, or code of
conduct, pls send me links.
Best,
Friedrich
On Wed, Nov 18, 2020 at 11:08 AM Mike Griese<EMAIL_ADDRESS>wrote:

I would love to help you write a spec 😃
Right now, we've got a spec template over here
https://github.com/microsoft/terminal/blob/main/doc/specs/spec-template.md.
I'm gonna level with you, I don't love the template, and I'm working on
updating it now, but it's certainly a good enough starting point. I'd think
that the "Capabilities" header should definitely be renamed to "Concerns"
or something similar. There's a bunch of other completed specs in the
same folder https://github.com/microsoft/terminal/tree/main/doc/specs,
with a variety of levels of detail (less
https://github.com/microsoft/terminal/blob/main/doc/specs/%231337 - Per-Profile Tab Colors/%231337 - Per-Profile Tab Colors.md,
more
https://github.com/microsoft/terminal/blob/main/doc/specs/%231502 - Advanced Tab Switcher/spec.md,
most
https://github.com/microsoft/terminal/blob/dev/migrie/s/5000/doc/specs/%235000 - Process Model 2.0/%235000 - Process Model 2.0.md).
Those can be a good reference for what we're looking for.
As far as details go, I'm a little worried that this feature might run
up against the "Keyboard Selection Spec" over in #2840
https://github.com/microsoft/terminal/pull/2840. I'm pretty sure that
spec is actually in its final form and has all the details that the team
discussed, but we're mostly just backed up a little bit
bureaucratically on that on. So I think that's fine to use as a base to
build off of.
I'd also keep an eye on the fact that currently, the TermControl itself is
the thing responsible for handling the key events to try and dispatch an
action. If we wanted to have the keybinding for this action configurable,
then we'd need some way of identifying that the action is being dispatched
from the find dialog, not the terminal control. If you can describe the UX
well enough, we can almost certainly help figure the plumbing out.
I'm super happy to keep pushing on the discussion and keep bumping the
review as much as possible, though I'd just also warn you that as we're
heading into the end of the year, there are a lot more holidays and
vacation days used, so our response times might be a little slower than
usual.
The codebase is all C++ (more specifically, C++/WinRT). If you're
interested in poking around the code, this directory
https://github.com/microsoft/terminal/tree/dev%2Fmigrie%2Fs%2F5000/src/cascadia/TerminalControl
is probably the most relevant to the discussion.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/terminal/issues/8274#issuecomment-729781604,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADQ737AFVOD3QJI6L3WGPLSQPWOFANCNFSM4TVVUB4A
.

Take however long you need! If you only want to work on the spec, that's perfectly fine too. C++/WinRT is a bit of a weird hybrid of C++ and C#, and it can be a little tricky to get things exactly right. It's really nice once you've gotten the hang of it, but it can have some really nasty edge cases.
As far as the process goes, what you've outlined is great. I think we're still trying to find the best way to handle community spec contributions. You'll probably get a couple reviews from the team after submitting the PR, and we tend to hold specs to a 3-approval minimum, to ensure there's a broader consensus across the team. We usually have team syncs on Mondays, so we might have additional feedback for you the Monday after the PR is submitted.
I think technically our code of conduct is here, but we operate pretty informally. If you follow the unofficial COC of "don't be an asshole", then you'll get along just fine 😄

An idle thought: We've got mark mode now. Maybe we could have the find dialog trigger a mark mode selection, use the dialog to get to the hit you want, then hit esc to dismiss the dialog. At this point, you've got part of a word selected. Maybe we could bind tab[1] here to "expand selection to word". Then you could ctrl+c to copy it to the clipboard and ctrl+v to paste.
/cc @carlos-zamora to run my crazy idea past you
[1]: I'm aware that as of 1.16 tab in mark mode jumps to the next hyperlink. We didn't really make that rebindable. Maybe we go with ctrl+space for expandToWord? I know that's what Sublime does by default.

An idle thought: We've got mark mode now. Maybe we could have the find dialog trigger a mark mode selection, use the dialog to get to the hit you want, then hit esc to dismiss the dialog. At this point, you've got part of a word selected. Maybe we could bind tab[1] here to "expand selection to word". Then you could ctrl+c to copy it to the clipboard and ctrl+v to paste.
[1]: I'm aware that as of 1.16 tab in mark mode jumps to the next hyperlink. We didn't really make that rebindable. Maybe we go with ctrl+space for expandToWord? I know that's what Sublime does by default.

Hmm... I don't like making ctrl+space expandToWord. It feels unintuitive imo. But I can't think of an intuitive default key binding. So for that reason, I think it shouldn't be bound to mark mode.
That said, I'll meet you halfway. What if we did this...

Setup:

(new work) introduce expandToWord() action. Unbound by default. Operates like "copy" as in it only expands the selection when a selection is present (otherwise the key chord just goes through to the terminal).
User binds tab to multipleActions([ expandToWord(), copy(), paste() ]) action. This means that tab will expand the selection to encompass the current word, copy the selection, and immediately paste it.
We do not make "Find" enter mark mode (this is the behavior today, I just want to highlight this).

Scenario (paraphrasing what OP said):

User hits ctrl+shift+f to search text
User types in oom-ent
System matches oom-ent
User presses Tab --> this executes the multiple actions introduced in the setup, which then highlights oom-ent-notifications-1-0-775c6fb9dc-n476x, copies it, and immediately pastes it (NOTE: if you don't want to paste it, we can just edit the multipleActions() in setup)
Done

tldr: add an expandToWord() action and if the user binds it to Tab, tab works as expected. Just don't bind it by default (but heck, that's even debatable tbh since it won't interfere with mark mode's tab behavior)
@zadjii-msft shipit? This is a pretty easy task tbh. TerminalSelection already has logic to expand by word. We'd just expand "start" to the beginning of the word and "end" to the end of the word haha.

 I think even in the find dialog, we check keybindings (so binding tab to something predictably prevents tab navigation of the UI)[1]. BUT I think otherwise, this should all work as expected, yea?
We may want to sanity check something like returning false out of a multipleActions action - do we keep going with the rest of the actions? We do. (Maybe we shouldn't?). But that's an aside.
I'd say :shipit:, and I'll let @brunzefb ACK if this idea would work for them
[1]: this is a mild fact, I haven't actually verified it.

Oh. Minor correction for what I said above. We should escape the find dialog first. Then press tab. That way, tab is bound to something.
Hoping to write expandToWord() in my spare time soon. Just for fun ;)


[#139472449]export_users_for_framework: lazyload a lot of relationships we don't need

This might fix story https://www.pivotaltracker.com/story/show/139472449
At some point we need to look at how much we overuse eager loading of relationships. It gets more than a bit silly.

Confirmed that outputs are identical to previously.
Also did some rudimentary profiling locally ands this seems to have made it a lot faster ⏩
Average times before and after, in some unspecified units of time:
G7  286908 -> 023105
G8  071800 -> 024538
G9  076668 -> 021988
DOS 274108 -> 022142
:boom:
Let's get this in and release it ASAP :clap:
:+1:


Refs #26015 -- Added regression test for an empty sitemap.

https://code.djangoproject.com/ticket/26015

merged in 5b2e11e574dcc84d3d10efa3ee45c25f97faca5e, thanks!


feature: support video attachments for multiple tests

When executing require("neotest").playwright.attachment() on a description that contains multiple tests with multiple video attachments, there is no way to tell which project video goes with each test:

This PR adds result.short to the attachment table and updates the options list for video files:

Also, opens text/plain content type with vim.cmd.edit

Thanks!


All files in prim/fun and prim/constraint should have associated files in rev/fun, rev/constraint and fwd/fun, fwd/constrain

Description
When we do not have a reverse or forward mode specialization for a function we default to the function available in prim. When we write functions with no reverse or forward mode specializations we assume the sub functions (or sub sub functions) that make up that larger function will then use reverse or forward mode specializations. Take the log1p_exp example below, Stan has reverse and forward mode for this function but I'm just using it as an example. This log1p function is generically templated so that it would accept double, var, and fvar<T> types.
template <typename T>
inline auto log1p_exp(T a) {
  // like log_sum_exp below with b=0.0; prevents underflow
  if (a > 0.0) {
    return a + log1p(exp(-a));
  }
  return log1p(exp(a));
}

If the forward and reverse mode functions for log1p and exp are not included beforehand, Stan would either

Default to the prim version of the function
(worse case) call the standard library function
(best case) Throw a compiler error

To make sure those includes come in correctly, for each file in prim that does not already have a specialization in rev or fwd we should have a file in the equivalent path of rev/fwd. That file will contain includes for any sub functions used in the prim function that have specializations in rev/(fwd). The final include will include the prim function that will then have the specializations for its sub-functions available to it. This will also simplify our include scheme for fwd/prim/rev as well. The new rules will be that all includes in rev(fwd) must come from rev(fwd), besides a prim implementation of the same file name.
For feature requests:
Given log1p above, it's rev file would look like the following
#include <stan/math/rev/core.hpp>
#include <stan/math/rev/fun/log1p.hpp>
#include <stan/math/rev/fun/exp.hpp>
#include <stan/math/prim/fun/log1p_exp.hpp>

Current Version:
v4.9.0

@SteveBronder, thanks for putting up this issue. I think the issue itself could use a few more details on the technical side in order to be fully specified and implementable.
Before that, a couple of questions:

Is the action of populating all the files what we want to do?

It's a lot of work. It's finite and scoped, so it's doable. I'm just putting that out there. (It's fine; a bit of work in exchange for clarity is worth it.)

Does this properly solve the problem of having the incorrect specialization in scope?

I think if we're having trouble with calling the wrong instantiation, then this action doesn't actually solve that problem. (I think the problem would be something in stan/math/rev/core.hpp or unexpected has instantiated something improperly.)

To go with your example, if log1p_exp compiles with a Stan type, then all the sub functions (+, *, log1p, exp) have been instantiated with the Stan type. If exp was instantiated with prim version and not the specialized version, that would mean that the specialized version wasn't included by the time log1p_exp was instantiated.
I can see that happening if someone were using Math library by trying to selectively include functions, but if we're including any of the top-level includes such as stan/math/rev.hpp then we shouldn't have this problem by construction. For any rev specialization, this file would be included in rev.hpp and all the functions that have specializations would also be included in the proper order.
I think if we have the problem now, it'll still be a problem if we implemented this change. I think it would come from an improper include somewhere in something like core.hpp, which is absolutely possible.
Have you seen this problem recently?


[Bug]: Combinations in COLDP exports lack rank

Steps to reproduce the bug
1.Open Global Lepidoptera Index project
2.Select Catalogue of Life (COLDP) exports tool
3. Enter and select Parainesis Krüger, 2015 as the OTU and click Download
4. On completion, download ZIP
5. Review Name.tsv file in download
6. Note that _Eilema restricta_ and _Eilema heterogyna_ (the two subsequent but non-current combinations) lack anything in the rank column
...

Screenshot

Expected behavior
These two combinations should have "species" in the rank column
Additional Screenshots
No response
Environment
Production
Sandbox Used
No response
Version
No response
Browser Used
No response

@gdower Combination's are rankeless in the model, we have to determine by the finest Protonym used in the Combination in this case.  I thought we had a method for this, but perhaps not.

@mjy, I tested it on 3i Auchenorrhyncha and the export took 26 minutes which is about how long it usually takes so I don't think this has a major impact on export performance.  Thanks to @proceps for helping find a method to get ranks for combinations.

Thank you all - this will help me greatly.


Carousel: Enable page thumbnail caching by default

Context

Summary
Sets the feature flag for caching page thumbnails to true now that issues for Safari have been fixed within https://github.com/google/web-stories-wp/pull/9168.

Relevant Technical Choices

To-do

User-facing changes

Testing Instructions

[ ] This is a non-user-facing change and requires no QA

This PR can be tested by following these steps:

Open the editor in Safari
Add a few pages with different images etc.
Verify that when navigating between the pages, the page thumbnails display the page content correctly and not just empty / gray as previously.
Note: some shapes display incorrectly for Safari, please ignore that, see #9173

Checklist

[x] This PR addresses an existing issue and I have linked this PR to it in ZenHub
[ ] I have tested this code to the best of my abilities
[ ] I have verified accessibility to the best of my abilities (docs)
[ ] I have verified i18n and l10n (translation, right-to-left layout) to the best of my abilities
[ ] This code is covered by automated tests (unit, integration, and/or e2e) to verify it works as intended (docs)
[ ] I have added documentation where necessary
[x] I have added a matching Type: XYZ label to the PR

Fixes #9263

there are some odd e2e test failures now on this branch 🤔

Hm, the error can be seen in console for the Contributor role outside of tests as well but doesn't look like it actually breaks anything. Seeing this in console with the Contributor role:

A quick search says that supposedly adding crossorigin="anonymous" to the links could help with this but not sure if this is applicable here.
Would be ideal to fix these issues even if it doesn't cause issues using the editor.
One option could be keeping the feature disabled for contributors and creating another follow-up issue to fix it. Alternatively we could ignore the console errors until following up.
Any thoughts on why these errors happen for the Contributor role but not for other roles?

@choumx @gajasinski This might need a product decision.
With the thumbnail caching feature enabled, there seem to be console errors with the Contributor role, and also some e2e tests are failing due to the errors.
We could either ignore the console messages for now (since the functionality doesn't seem to be affected); or we could disable the feature for Contributor role (it's working for all the other roles), and in either case follow up with an issue to fix it.
Thoughts?

Thanks @miina!


Drag preview jumps on drag

When using this library, my drag preview image jumps with respect to the drag source unless I click the upper left corner of the image. The amount that the drag preview jumps is dependent on how offset my mouse is from the upper left corner when beginning the drag.
Desired behavior is for the image not to jump. I see that there are parameters available for detecting the mouse offset, (and indeed I can accurately read in the initialClientOffset) but I cannot set the offset appropriately, and I believe the library is supposed to do the right thing by default and avoid jumping.

What is your browser's zoom level?  And which browser are you using?  This might be a duplicate of #430.

I am using Chrome 49.0.2623.110. You are correct in thinking to check browser zoom: set at 50%. When I increase to 100%, issue disappears. Therefore, yes this is a dupe of #430. However, would be very useful if drag preview worked independent of browser zoom, or if a temporary workaround could be proposed. Thank you!

Yes it would be nice if it worked!  I tested an html5 drag and drop example [here] (http://www.w3schools.com/html/html5_draganddrop.asp) and it worked fine with zoom.  Therefore I think it should be possible. I don't know of any workarounds, unfortunately, but I will leave this issue open for now, and hopefully someone (maybe me, maybe you?) will fix it.

Also having this issue. I have a custom drag layer that flashes at an incorrect location on drag start.
Issue comes from sourceClientOffset giving wrong values. What's perplexing is that after dragstart, values on first 2 renders are ok, values on the following 2 renders are wrong (off by about -100px in each direction) then fine again on subsequent renders of the drag.
I have no idea why

I'm using Chrome 75 on Windows 10 and I am also experiencing the jumping issue in the example: http://react-dnd.github.io/react-dnd/examples/sortable/simple

The docs basically say "zero flicker" and there is flicker happening.  Why the cognitive dissonance? Issue can be seen at   https://react-dnd.github.io/react-dnd/examples/drag-around/custom-drag-layer  on the JavaScript tab.


Adding my name to Contributors.md

I have added my amazing name to your lovely contributors list :)

@kieran23101, I'm quite elated about your PR. I wanna evolve this project to addresses various problems faced by first-time contributors. I'd love to learn about your journey in open source community, the problems, pain points you had etc.
Could you explain how you felt when you went through the tutorial, made a PR and learned that I merged it?


No "import Swagger" option available 2.5.1 plugin - SOAP UI 5.2.1

After downloading and unzipping https://github.com/SmartBear/readyapi-swagger-plugin/releases/download/2.5.1/soapui-swagger-plugin-2.5.1-dist.jar to the ..\SoapUi\bin folder as per the readme, and moving the soapui-swagger-plugin-2.2-dist.jar out of the SoapUi plugins folder, the Import Swagger option fails to appear on the REST project.  Replacing the 2.2 jar with soapui-swagger-plugin-2.5.1-dist.jar results in the same issue.
Leaving the soapui-swagger-plugin-2.2-dist.jar in plugins shows the import option, but I can't verify which version is being used.
The reason I'm trying to upgrade the plugin is due to the following error when trying to import a .json spec verified as valid by the Swagger editor.

groovy.lang.MissingPropertyException: No such property: sampleContent for class: com.eviware.soapui.impl.rest.RestRepresentation

Thanks - unfortunately SoapUI is currently incompatible with the latest Swagger plugin - perhaps you can try to build the https://github.com/SmartBear/soapui/tree/add-sampleContent-to-restrepresentation branch to get it working with the 2.2 version for now?

That did it, thank you sir

welcome - thanks for confirming!

Hi @olensmar, probably not the best place to ask, but it is worth it: how are you guys seeing the support of SoapUI for Swagger (and other) plugins? I took a look on SoapUI Next branch and there's not much happening there. I understand that w/out Package Manager and no Swagger 2.0 plugin, SoapUI OS is not a mock option anymore. Am I loosing anything here?  Thank you!

Are we both talking about SoapUI Open Source, ritght?
Installed 5.3.0 yesterday and got no swagger bundled plugin. But I'm on
Linux 64 bits, and the tarball doesn't include plugins, so I tried getting
the latest swagger plugin from GitHub and dropping it on plugins folder,
but got a message saying that only SmartBear signed plugins can be used.
Am I confusing anything here? Probably yes, so any help is greatly
appreciated. :)
Tks!
Em qui, 5 de jan de 2017 às 07:07, Ole Lensmar<EMAIL_ADDRESS>escreveu:
Hi! We definitely wan't SoapUI to have up-to-date Swagger support - the
recent 5.3.0 release updated the bundled Swagger plugin - so it should be
much better now. Are you missing something specific that we need to make
sure makes it into next?
Thanks for reaching out!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/SmartBear/readyapi-swagger-plugin/issues/51#issuecomment-270596238,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA_F9hVezy3YIcKs19wz85qWrY9QOegGks5rPLLTgaJpZM4KMsmQ
.

hm... let us follow up on this - sorry about the confusion - will get back to you!

Thank you in advance! We always used SoapUI as a mock for development and with our API being defined in Swagger looked like the perfect fit. The "only SmartBear plugins" policy deployed in 5.2 break everything though. I understand the money behind the decision, but got little bit disappointed as SoapUI always had an open source mindset. Hope you guys can figure it out a way to keep things going.

Hi, we added support for Swagger 2.0 in SoapUI OS 2.0 as a bundled plugin, but apparently it is missing in the tarball. We're trying to solve the issue as fast as possible. Maybe you could try installing the linux version using the installer and then copy the plugin from that installation, as a temporary solution.
BR, Matti

Hey @mattihjelm, sorry for the delay, I just could give it a try yesterday.
Tried installing SoapUI 5.2 and 5.3 (both Linux x64) but couldn't find a plugins folder. Where is the plugin located in the installation folder?

I do observe the same with 5.3 windows x64 bit installation that I did today. I couldn't find any plugin folder in the installation location. However when I downloaded itand copied the plugin to bin folder I got the import swagger definition option.

Was this issue ever resolved? Being able to import my Swagger definitions would make SoapUI a lot more attractive.

I haven't checked newer versions of SoapUI since then but, at the time, I wasn't able to make it work. I understand it as a commercial decision (it will only be supported in paid version).


Report number of completed results

Is your feature request related to a problem? Please describe.
The server logs information about total results, which can be many more than the number of completed, usable results.
Describe the solution you'd like
The server should log the number of completed results in addition to the total number of results. This information should be made available at the /information endpoint.
Describe alternatives you've considered
Not worrying about it because the total number of results is a reasonable proxy for the number of completed results.
Additional context
There is some commented code to do this already, with the note that it's too slow. However, it should be fast to do by counting the number of results that are not complete:
SELECT COUNT(*) FROM public.base_result - 584 ms
SELECT COUNT(*) FROM public.base_result WHERE status = 'complete' - 4184 ms
SELECT COUNT(*) FROM public.base_result WHERE status != 'complete' - 957 ms

I wanted to limit the number of full table scans. How important do you gauge this information to be?

Right now, it's low importance since the current count is 95% correct. However, it could become a problem if one were to say... schedule 2 million computations to run over the break.


Is it possible to run chromely's controllers so that external processes can access the endpoints?

For quick development (with live reload) I wanted to be able to send requires from a OS browser to the chromely application.
is it possible to make AJAX requires to the chromely process (i.e. treat it as an web server) for development purposes?
if not, is it possible to create ASP core project that can use the controllers from chromley?

treat it as an web server

No you cannot. Please see my comment here - https://github.com/chromelyapps/Chromely/issues/176
The whole idea of "Restful" is just using a  pattern that everyone is familiar with. For cefQuery, you can actually replace the route/url with guid or some other keyword as long as you can identify your resources with that.
The only time a well-formed url is required is if you are using HTTP/XHR.

if not, is it possible to create ASP core project that can use the controllers from chromley?

If they are within same AppDomain, sure. It is just POC. Or extract the controller classes into a common lib.


Add KeybindText

SpongeAPI | SpongeCommon
fixes #1758

@kashike
Wanna throw me a test plugin?

Closing as the API is being changed out for API 8.


IMAGE BEFORE SONG

Describe your problem here.
So i need to know how to put an image before a song and then by pressing a key, it skips
Like on Indie cross, where an image appears for tell you what notes you need to press and wich you gotta dodge and then
pressing Enter it skips.
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No response

try this:
function onCreate()
    skipImage = false
end

local allowCountdown = false

function onStartCountdown()
    if not allowCountdown then
        setProperty('inCutscene', true)
        makeLuaSprite('aaa', 'your image')
        scaleLuaSprite('aaa', 2, 2)
        addLuaSprite('aaa', true)
        setObjectCamera('aaa', 'other')
        if getPropertyFromClass('keys.justPressed.ENTER') then
            skipImage = true
            removeLuaSprite('aaa')
            setProperty('inCutscene', false)
        end
        return Function_Stop
    end
    return Function_Continue
end

then why would u post it if you knew it was broken


Plugin does not expand @string value for API_KEY

Expected behavior
Upload release mapping task should expand the @string reference in the AndroidManifest file to represent the actual API_KEY value.
Observed behavior
Upload release mapping task uses @string/bugsnag_api_key as the literal value for the API_KEY. This causes the upload to fail with error:
> Task :app:uploadBugsnagReleaseMapping
Attempting upload of mapping file to Bugsnag
Bugsnag upload failed with code 401: invalid apiKey

> Task :app:uploadBugsnagReleaseMapping FAILED

> Task :app:bugsnagReleaseReleaseTask
{"errors":["API key not recognised: @string/bugsnag_api_key"],"status":"error"}
Release Request failed with statusCode 400

Steps to reproduce
Define bugsnag api key as a string resource:
res/strings.xml
<resources>
    <string name="bugsnag_api_key">API_KEY_HERE</string>
</resources>

Reference it in the AndroidManifest.xml file:
AndroidManifest.xml
<application>
    <meta-data
      android:name="com.bugsnag.android.API_KEY"
      android:value="@string/bugsnag_api_key" />
</application>

Version
4.+
Edit:
I've realized after some research that this is likely not an issue with the plugin—the merged manifests are not pre-processed and thus do not contain the interpolated values (I'm not an Android developer by profession). However, using the above style does allow the application to work at runtime. I'd prefer not to keep my API key directly in the manifest, so if there's an alternative, I'd love to know. Thanks!

Hi @cwhenderson20
The approach we'd recommend is described here:
https://docs.bugsnag.com/platforms/android/configuration-options/#customizing-by-build-setting
Using manifest placeholders in your app's build.gradle allows you to populate the Bugsnag API key (and other Bugsnag configuration) in the AndroidManifest.xml but vary the config for different build variants.
Thanks!

Have the same issue.

Task :app:bugsnagReleaseGoogle-releaseTask
{"errors":["API key not recognised: @string/bugsnag_api_key"],"status":"error"}
Release Request failed with statusCode 400

Hey @MoNTE48, if you make the following changes, this will fix the issue for you:
In your AndroidManifest.xml:
<application>
    <meta-data android:name="com.bugsnag.android.API_KEY" android:value="${bugsnagApiKey}"/>
...

In your build.gradle:
android {
    defaultConfig {
        manifestPlaceholders = [
            // omit any of the following placeholders to use the default values
            bugsnagApiKey: "<api-key>",
...

Take a look here for more information: https://docs.bugsnag.com/platforms/android/legacy/configuration-options/#manifest-placeholders. Re-opening and linking this to an internal ticket to track.

Hey @MoNTE48, if you make the following changes, this will fix the issue for you:
In your AndroidManifest.xml:
<application>
    <meta-data android:name="com.bugsnag.android.API_KEY" android:value="${bugsnagApiKey}"/>
...

In your build.gradle:
android {
    defaultConfig {
        manifestPlaceholders = [bugsnagApiKey: "<api-key>"]
    }
}
...

Take a look here for more information: https://docs.bugsnag.com/platforms/android/legacy/configuration-options/#manifest-placeholders. Re-opening and linking this to an internal ticket to track.

I had the same error when I used "@string/bugsnag_api_key"
This one works!!


chore(ci): run release on 'release' branch

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Support for multiple unseen sets

There should be multiple lists of unseen elements available for the game. The user should be able to change between the list from a menu in the GUI.
Requirements

[x] Another unseen set added.
[x] GUI element available on the home screen that can select unseen set.
[x] It is only possible to change unseen set if no input has been given a game.
[x] Game only generates elements from the selected set.
[ ] GameOver preserves the set chosen at the time the game were played.
[ ] Chosen set is preserved when encoding and decoding a GameOver.

Consider

Try the game out for a bit and see if an issue should be created for "A warning modal is displayed if the selected set is changed during a game that has had input.".

Debt
URL:s with invalid UnseedSetID crashes the web app.
This is a part of the bigger problem of that the web api/frontend is poorly tested.


Store prompt choices into session storage to be less intrusive.

Currently, if I edit a file which the reloader thinks is unrelated (but it isn't, it's just not been tracked into the templates machinery because it's gone through e.g. Engine.from_string()) the thing will prompt with a confirm dialog modal. Cancelling that means "don't ask again, it's unrelated" and accepting that means "yeah it's related, reload"
But those choices aren't saved anywhere except in the JS scope, so navigating around or hard refreshing clears them out.
I should be able to use the LivereloadishPageState to track those changes into session/local storage and restore them, and thus once I've made a decision ("yes related", "no ignore it") not have to do so again for that URI.

Implemented in aab3c8d26a91a70c76b950be2cbd008f8f965070