Skip to content

fix(config): serde default for CombosConfig.combos#841

Merged
HaoboGu merged 1 commit into
HaoboGu:mainfrom
jpds:fix/combo-config-serde-default
May 11, 2026
Merged

fix(config): serde default for CombosConfig.combos#841
HaoboGu merged 1 commit into
HaoboGu:mainfrom
jpds:fix/combo-config-serde-default

Conversation

@jpds
Copy link
Copy Markdown
Contributor

@jpds jpds commented May 10, 2026

I don't have combos defined in my keyboard.toml, so without this, a [behavior.combo] section that only sets timeout or prior_idle_time (no combos defined) fails to deserialise with "missing configuration field behavior.combo.combos".

Without this, a `[behavior.combo]` section that only sets timeout or
prior_idle_time (no combos defined) fails to deserialise with
"missing configuration field behavior.combo.combos".
@github-actions
Copy link
Copy Markdown

Size Report

Example main PR Diff .text .data .bss
use_config/nrf52832_ble 356.2 KiB 356.2 KiB +0.00% 0 0 0
use_config/nrf52840_ble 406.3 KiB 406.3 KiB +0.00% ⬇️ -8 0 0
use_config/nrf52840_ble_split (central) 482.2 KiB 482.2 KiB +0.00% 0 0 0
use_config/nrf52840_ble_split (peripheral) 307.2 KiB 307.2 KiB +0.00% 0 0 0
use_config/pi_pico_w_ble 640.2 KiB 640.2 KiB +0.00% ⬆️ +4 0 0
use_config/rp2040 146.7 KiB 146.7 KiB +0.00% 0 0 0
use_config/rp2040_split (central) 158.4 KiB 158.4 KiB +0.00% ⬇️ -4 0 0
use_config/rp2040_split (peripheral) 25.9 KiB 25.9 KiB -0.01% ⬇️ -4 0 0
use_config/stm32f1 62.3 KiB 62.3 KiB +0.00% 0 0 0
use_config/stm32h7 99.7 KiB 99.7 KiB +0.00% 0 0 0
use_rust/nrf52832_ble 345.3 KiB 345.3 KiB +0.00% 0 0 0
use_rust/nrf52840_ble 401.6 KiB 401.5 KiB +0.00% ⬇️ -8 0 0
use_rust/nrf52840_ble_split (central) 490.5 KiB 490.5 KiB +0.00% ⬆️ +8 0 0
use_rust/nrf52840_ble_split (peripheral) 304.5 KiB 304.5 KiB +0.00% 0 0 0
use_rust/pi_pico_w_ble 640.8 KiB 640.8 KiB +0.00% ⬆️ +4 0 0
use_rust/rp2040 146.4 KiB 146.4 KiB +0.00% ⬆️ +4 0 0
use_rust/rp2040_split (central) 157.7 KiB 157.7 KiB +0.00% ⬆️ +4 0 0
use_rust/rp2040_split (peripheral) 26.4 KiB 26.4 KiB -0.01% ⬇️ -4 0 0
use_rust/stm32f1 61.8 KiB 61.8 KiB +0.00% 0 0 0
use_rust/stm32h7 120.8 KiB 120.8 KiB +0.00% ⬆️ +8 0 0
use_config/nrf52832_ble — 356.2 KiB → 356.2 KiB (+0.00%)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 326056	   5192	  33464	 364712	  590a8	rmk-nrf52832

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 326056	   5192	  33464	 364712	  590a8	rmk-nrf52832

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.0%    +120  [ = ]       0    .debug_info
  +0.0%     +11  [ = ]       0    .debug_line
  +0.0%     +10  [ = ]       0    .debug_loc
  +4.8%      +3  [ = ]       0    [Unmapped]
  -0.0%    -572  [ = ]       0    .debug_str
  -0.0%    -428  [ = ]       0    TOTAL
use_config/nrf52840_ble — 406.3 KiB → 406.3 KiB (+0.00% ⬇️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 360616	   5200	  50248	 416064	  65940	rmk-nrf52840

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 360624	   5200	  50248	 416072	  65948	rmk-nrf52840

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.0%     +28  [ = ]       0    .debug_info
   +24%     +11  [ = ]       0    [Unmapped]
  +0.0%      +1  [ = ]       0    .debug_line
  +0.0%      +1  [ = ]       0    .strtab
  -0.0%      -8  -0.0%      -8    .text
  -0.0%     -10  [ = ]       0    .debug_loc
  -0.0%    -559  [ = ]       0    .debug_str
  -0.0%    -536  -0.0%      -8    TOTAL
use_config/nrf52840_ble_split (central) — 482.2 KiB → 482.2 KiB (+0.00%)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 441164	   6524	  46056	 493744	  788b0	central

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 441164	   6524	  46056	 493744	  788b0	central

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.0% +1.46Ki  [ = ]       0    .debug_str
  +0.0%      +7  [ = ]       0    .debug_line
  -0.0%      -9  [ = ]       0    .debug_loc
  -0.0%    -238  [ = ]       0    .debug_info
  +0.0% +1.23Ki  [ = ]       0    TOTAL
use_config/nrf52840_ble_split (peripheral) — 307.2 KiB → 307.2 KiB (+0.00%)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 282128	   5888	  26520	 314536	  4cca8	peripheral

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 282128	   5888	  26520	 314536	  4cca8	peripheral

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.0%    +324  [ = ]       0    .debug_str
  +3.2%      +2  [ = ]       0    [Unmapped]
  -0.0%     -11  [ = ]       0    .debug_loc
  -0.0%    -159  [ = ]       0    .debug_info
  +0.0%    +156  [ = ]       0    TOTAL
use_config/pi_pico_w_ble — 640.2 KiB → 640.2 KiB (+0.00% ⬆️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 600944	      0	  54632	 655576	  a00d8	rmk-pi-pico-w

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 600940	      0	  54632	 655572	  a00d4	rmk-pi-pico-w

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.1% +1.78Ki  [ = ]       0    .debug_str
  +0.0%      +4  +0.0%      +4    .text
  -4.4%      -3  [ = ]       0    [Unmapped]
  -0.0%     -73  [ = ]       0    .debug_line
  -0.0%    -659  [ = ]       0    .debug_info
  +0.0% +1.07Ki  +0.0%      +4    TOTAL
use_config/rp2040 — 146.7 KiB → 146.7 KiB (+0.00%)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 134928	      0	  15244	 150172	  24a9c	rmk-rp2040

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 134928	      0	  15244	 150172	  24a9c	rmk-rp2040

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.0%      +2  [ = ]       0    .debug_line
  -5.9%      -4  [ = ]       0    [Unmapped]
  -0.0%     -32  [ = ]       0    .debug_loc
  -0.0%    -209  [ = ]       0    .debug_info
  -0.1%    -757  [ = ]       0    .debug_str
  -0.0%   -1000  [ = ]       0    TOTAL
use_config/rp2040_split (central) — 158.4 KiB → 158.4 KiB (+0.00% ⬇️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 146156	      0	  16008	 162164	  27974	central

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 146160	      0	  16008	 162168	  27978	central

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.0%    +338  [ = ]       0    .debug_str
  +0.0%     +32  [ = ]       0    .debug_loc
  -0.0%      -4  -0.0%      -4    .text
  -0.0%     -20  [ = ]       0    .debug_line
 -44.6%     -29  [ = ]       0    [Unmapped]
  -0.0%    -145  [ = ]       0    .debug_info
  +0.0%    +172  -0.0%      -4    TOTAL
use_config/rp2040_split (peripheral) — 25.9 KiB → 25.9 KiB (-0.01% ⬇️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
  24016	     56	   2412	  26484	   6774	peripheral

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
  24020	     56	   2412	  26488	   6778	peripheral

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.0%      +3  [ = ]       0    .debug_str
  +2.7%      +1  [ = ]       0    [Unmapped]
  -0.1%      -4  -0.1%      -4    .rodata
  [ = ]       0  -0.0%      -4    TOTAL
use_config/stm32f1 — 62.3 KiB → 62.3 KiB (+0.00%)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
  56312	     28	   7432	  63772	   f91c	rmk-stm32f1

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
  56312	     28	   7432	  63772	   f91c	rmk-stm32f1

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.0%    +173  [ = ]       0    .debug_info
  +0.0%     +17  [ = ]       0    .debug_line
  -0.0%    -214  [ = ]       0    .debug_str
  -0.0%     -24  [ = ]       0    TOTAL
use_config/stm32h7 — 99.7 KiB → 99.7 KiB (+0.00%)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
  92116	    268	   9664	 102048	  18ea0	rmk-stm32h7

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
  92116	    268	   9664	 102048	  18ea0	rmk-stm32h7

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +6.7%      +3  [ = ]       0    [Unmapped]
  +0.0%      +1  [ = ]       0    .strtab
  -0.0%      -2  [ = ]       0    .debug_info
  -0.0%     -21  [ = ]       0    .debug_str
  -0.1%    -149  [ = ]       0    .debug_line
  -0.0%    -168  [ = ]       0    TOTAL
use_rust/nrf52832_ble — 345.3 KiB → 345.3 KiB (+0.00%)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 315944	   5200	  32456	 353600	  56540	rmk-nrf52832

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 315944	   5200	  32456	 353600	  56540	rmk-nrf52832

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.2% +3.12Ki  [ = ]       0    .debug_info
  +0.2% +1.06Ki  [ = ]       0    .debug_loc
  +0.1%    +249  [ = ]       0    .debug_line
  +1.4%    +110  [ = ]       0    .debug_abbrev
 -11.5%      -7  [ = ]       0    [Unmapped]
  -0.0%      -8  [ = ]       0    .debug_aranges
  -0.0%     -16  [ = ]       0    .debug_ranges
  -0.1%     -20  [ = ]       0    .debug_frame
  -0.0%     -25  [ = ]       0    .strtab
  -0.0%     -32  [ = ]       0    .symtab
  -0.0% -1.08Ki  [ = ]       0    .debug_str
  +0.1% +3.34Ki  [ = ]       0    TOTAL
use_rust/nrf52840_ble — 401.6 KiB → 401.5 KiB (+0.00% ⬇️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 360256	   5200	  45728	 411184	  64630	rmk-nrf52840

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 360264	   5200	  45728	 411192	  64638	rmk-nrf52840

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.0%     +17  [ = ]       0    .debug_str
  +0.0%     +12  [ = ]       0    .debug_loc
  +8.3%      +5  [ = ]       0    [Unmapped]
  -0.0%      -8  -0.0%      -8    .text
  -0.0%     -18  [ = ]       0    .debug_line
  -0.0%    -440  [ = ]       0    .debug_info
  -0.0%    -432  -0.0%      -8    TOTAL
use_rust/nrf52840_ble_split (central) — 490.5 KiB → 490.5 KiB (+0.00% ⬆️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 443984	   6524	  51792	 502300	  7aa1c	central

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 443976	   6524	  51792	 502292	  7aa14	central

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.1% +2.76Ki  [ = ]       0    .debug_info
  +0.0% +1.50Ki  [ = ]       0    .debug_str
  +0.1% +1.04Ki  [ = ]       0    .debug_loc
  +0.1%    +235  [ = ]       0    .debug_line
   +49%     +22  [ = ]       0    [Unmapped]
  +0.0%      +8  +0.0%      +8    .text
  -0.0%      -8  [ = ]       0    .debug_aranges
  -0.0%     -20  [ = ]       0    .debug_frame
  -0.0%     -25  [ = ]       0    .strtab
  -0.0%     -32  [ = ]       0    .debug_ranges
  -0.0%     -32  [ = ]       0    .symtab
  +0.1% +5.45Ki  +0.0%      +8    TOTAL
use_rust/nrf52840_ble_split (peripheral) — 304.5 KiB → 304.5 KiB (+0.00%)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 281148	   5328	  25288	 311764	  4c1d4	peripheral

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 281148	   5328	  25288	 311764	  4c1d4	peripheral

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.0%    +153  [ = ]       0    .debug_str
  +0.0%      +9  [ = ]       0    .debug_loc
  +3.1%      +2  [ = ]       0    [Unmapped]
  -0.0%    -260  [ = ]       0    .debug_info
  -0.0%     -96  [ = ]       0    TOTAL
use_rust/pi_pico_w_ble — 640.8 KiB → 640.8 KiB (+0.00% ⬆️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 601380	      0	  54776	 656156	  a031c	rmk-pi-pico-w

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 601376	      0	  54776	 656152	  a0318	rmk-pi-pico-w

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.0%    +924  [ = ]       0    .debug_str
  +0.0%      +4  +0.0%      +4    .text
  -8.0%      -4  [ = ]       0    [Unmapped]
  -0.0%    -187  [ = ]       0    .debug_line
  -0.0%    -461  [ = ]       0    .debug_info
  +0.0%    +276  +0.0%      +4    TOTAL
use_rust/rp2040 — 146.4 KiB → 146.4 KiB (+0.00% ⬆️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 134800	      0	  15124	 149924	  249a4	rmk-rp2040

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 134796	      0	  15124	 149920	  249a0	rmk-rp2040

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.0%     +27  [ = ]       0    .debug_line
   +62%     +25  [ = ]       0    [Unmapped]
  +0.0%      +4  +0.0%      +4    .text
  +0.0%      +1  [ = ]       0    .strtab
  -0.0%     -42  [ = ]       0    .debug_loc
  -0.0%    -317  [ = ]       0    .debug_info
  -0.0%    -458  [ = ]       0    .debug_str
  -0.0%    -760  +0.0%      +4    TOTAL
use_rust/rp2040_split (central) — 157.7 KiB → 157.7 KiB (+0.00% ⬆️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 145656	      0	  15788	 161444	  276a4	central

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 145652	      0	  15788	 161440	  276a0	central

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.0%    +482  [ = ]       0    .debug_str
  +0.1%    +130  [ = ]       0    .debug_line
  +0.0%      +4  +0.0%      +4    .text
  -3.4%      -2  [ = ]       0    [Unmapped]
  -0.0%    -150  [ = ]       0    .debug_info
  +0.0%    +464  +0.0%      +4    TOTAL
use_rust/rp2040_split (peripheral) — 26.4 KiB → 26.4 KiB (-0.01% ⬇️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
  24316	     56	   2676	  27048	   69a8	peripheral

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
  24320	     56	   2676	  27052	   69ac	peripheral

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +7.3%      +4  [ = ]       0    [Unmapped]
  -0.1%      -4  -0.1%      -4    .rodata
  [ = ]       0  -0.0%      -4    TOTAL
use_rust/stm32f1 — 61.8 KiB → 61.8 KiB (+0.00%)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
  55848	     28	   7408	  63284	   f734	rmk-stm32f1

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
  55848	     28	   7408	  63284	   f734	rmk-stm32f1

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.0%    +185  [ = ]       0    .debug_info
  +0.0%      +9  [ = ]       0    .debug_line
  -2.2%      -1  [ = ]       0    [Unmapped]
  -0.1%    -553  [ = ]       0    .debug_str
  -0.0%    -360  [ = ]       0    TOTAL
use_rust/stm32h7 — 120.8 KiB → 120.8 KiB (+0.00% ⬆️)

cargo size (PR):

   text	   data	    bss	    dec	    hex	filename
 107972	    324	  15452	 123748	  1e364	rmk-stm32h7

cargo size (main):

   text	   data	    bss	    dec	    hex	filename
 107964	    324	  15452	 123740	  1e35c	rmk-stm32h7

Bloaty diff (PR vs main):

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.0%    +389  [ = ]       0    .debug_info
  +0.1%    +149  [ = ]       0    .debug_line
  +0.0%      +8  +0.0%      +8    .text
 -15.2%      -7  [ = ]       0    [Unmapped]
  -0.0%    -295  [ = ]       0    .debug_str
  +0.0%    +244  +0.0%      +8    TOTAL

@HaoboGu
Copy link
Copy Markdown
Owner

HaoboGu commented May 11, 2026

Thanks!

@HaoboGu HaoboGu merged commit 1c9177e into HaoboGu:main May 11, 2026
45 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants