[READ-ONLY] Mirror of https://github.com/probablykasper/remind-me-again. Toggleable cron reminders app for Mac, Linux and Windows
linux macos notifications reminder tauri windows
0

Configure Feed

Select the types of activity you want to include in your feed.

Fix deleting reminders

Kasper (Jul 11, 2022, 8:06 AM +0200) 12d0abe5 cb26f6e9

+171 -134
+118 -100
src-tauri/Cargo.lock
··· 49 49 50 50 [[package]] 51 51 name = "anyhow" 52 - version = "1.0.57" 52 + version = "1.0.58" 53 53 source = "registry+https://github.com/rust-lang/crates.io-index" 54 - checksum = "08f9b8508dccb7687a1d6c4ce66b2b0ecef467c94667de27d8d7fe1f8d2a9cdc" 54 + checksum = "bb07d2053ccdbe10e2af2995a2f116c1330396493dc1269f6a91d0ae82e19704" 55 55 56 56 [[package]] 57 57 name = "async-cron-scheduler" ··· 188 188 189 189 [[package]] 190 190 name = "cairo-rs" 191 - version = "0.15.11" 191 + version = "0.15.12" 192 192 source = "registry+https://github.com/rust-lang/crates.io-index" 193 - checksum = "62be3562254e90c1c6050a72aa638f6315593e98c5cdaba9017cedbabf0a5dee" 193 + checksum = "c76ee391b03d35510d9fa917357c7f1855bd9a6659c95a1b392e33f49b3369bc" 194 194 dependencies = [ 195 195 "bitflags", 196 196 "cairo-sys-rs", ··· 405 405 406 406 [[package]] 407 407 name = "crossbeam-channel" 408 - version = "0.5.4" 408 + version = "0.5.5" 409 409 source = "registry+https://github.com/rust-lang/crates.io-index" 410 - checksum = "5aaa7bd5fb665c6864b5f963dd9097905c54125909c7aa94c9e18507cdbe6c53" 410 + checksum = "4c02a4d71819009c192cf4872265391563fd6a84c81ff2c0f2a7026ca4c1d85c" 411 411 dependencies = [ 412 412 "cfg-if", 413 413 "crossbeam-utils", ··· 415 415 416 416 [[package]] 417 417 name = "crossbeam-utils" 418 - version = "0.8.8" 418 + version = "0.8.10" 419 419 source = "registry+https://github.com/rust-lang/crates.io-index" 420 - checksum = "0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38" 420 + checksum = "7d82ee10ce34d7bc12c2122495e7593a9c41347ecdd64185af4ecf72cb1a7f83" 421 421 dependencies = [ 422 422 "cfg-if", 423 - "lazy_static", 423 + "once_cell", 424 424 ] 425 425 426 426 [[package]] 427 427 name = "crypto-common" 428 - version = "0.1.3" 428 + version = "0.1.5" 429 429 source = "registry+https://github.com/rust-lang/crates.io-index" 430 - checksum = "57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8" 430 + checksum = "2ccfd8c0ee4cce11e45b3fd6f9d5e69e0cc62912aa6a0cb1bf4617b0eba5a12f" 431 431 dependencies = [ 432 432 "generic-array", 433 433 "typenum", ··· 513 513 514 514 [[package]] 515 515 name = "dbus" 516 - version = "0.9.5" 516 + version = "0.9.6" 517 517 source = "registry+https://github.com/rust-lang/crates.io-index" 518 - checksum = "de0a745c25b32caa56b82a3950f5fec7893a960f4c10ca3b02060b0c38d8c2ce" 518 + checksum = "6f8bcdd56d2e5c4ed26a529c5a9029f5db8290d433497506f958eae3be148eb6" 519 519 dependencies = [ 520 520 "libc", 521 521 "libdbus-sys", ··· 646 646 647 647 [[package]] 648 648 name = "filetime" 649 - version = "0.2.16" 649 + version = "0.2.17" 650 650 source = "registry+https://github.com/rust-lang/crates.io-index" 651 - checksum = "c0408e2626025178a6a7f7ffc05a25bc47103229f19c113755de7bf63816290c" 651 + checksum = "e94a7bbaa59354bc20dd75b67f23e2797b4490e9d6928203fb105c79e448c86c" 652 652 dependencies = [ 653 653 "cfg-if", 654 654 "libc", 655 655 "redox_syscall", 656 - "winapi", 656 + "windows-sys", 657 657 ] 658 658 659 659 [[package]] ··· 941 941 942 942 [[package]] 943 943 name = "getrandom" 944 - version = "0.2.6" 944 + version = "0.2.7" 945 945 source = "registry+https://github.com/rust-lang/crates.io-index" 946 - checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad" 946 + checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" 947 947 dependencies = [ 948 948 "cfg-if", 949 949 "js-sys", 950 950 "libc", 951 - "wasi 0.10.0+wasi-snapshot-preview1", 951 + "wasi 0.11.0+wasi-snapshot-preview1", 952 952 "wasm-bindgen", 953 953 ] 954 954 955 955 [[package]] 956 956 name = "gio" 957 - version = "0.15.11" 957 + version = "0.15.12" 958 958 source = "registry+https://github.com/rust-lang/crates.io-index" 959 - checksum = "0f132be35e05d9662b9fa0fee3f349c6621f7782e0105917f4cc73c1bf47eceb" 959 + checksum = "68fdbc90312d462781a395f7a16d96a2b379bb6ef8cd6310a2df272771c4283b" 960 960 dependencies = [ 961 961 "bitflags", 962 962 "futures-channel", ··· 984 984 985 985 [[package]] 986 986 name = "glib" 987 - version = "0.15.11" 987 + version = "0.15.12" 988 988 source = "registry+https://github.com/rust-lang/crates.io-index" 989 - checksum = "bd124026a2fa8c33a3d17a3fe59c103f2d9fa5bd92c19e029e037736729abeab" 989 + checksum = "edb0306fbad0ab5428b0ca674a23893db909a98582969c9b537be4ced78c505d" 990 990 dependencies = [ 991 991 "bitflags", 992 992 "futures-channel", ··· 1035 1035 1036 1036 [[package]] 1037 1037 name = "globset" 1038 - version = "0.4.8" 1038 + version = "0.4.9" 1039 1039 source = "registry+https://github.com/rust-lang/crates.io-index" 1040 - checksum = "10463d9ff00a2a068db14231982f5132edebad0d7660cd956a1c30292dbcbfbd" 1040 + checksum = "0a1e17342619edbc21a964c2afbeb6c820c6a2560032872f397bb97ea127bd0a" 1041 1041 dependencies = [ 1042 1042 "aho-corasick", 1043 1043 "bstr", ··· 1114 1114 1115 1115 [[package]] 1116 1116 name = "hashbrown" 1117 - version = "0.12.1" 1117 + version = "0.12.2" 1118 1118 source = "registry+https://github.com/rust-lang/crates.io-index" 1119 - checksum = "db0d4cf898abf0081f964436dc980e96670a0f36863e4b83aaacdb65c9d7ccc3" 1119 + checksum = "607c8a29735385251a339424dd462993c0fed8fa09d378f259377df08c126022" 1120 1120 1121 1121 [[package]] 1122 1122 name = "heck" ··· 1158 1158 1159 1159 [[package]] 1160 1160 name = "http" 1161 - version = "0.2.7" 1161 + version = "0.2.8" 1162 1162 source = "registry+https://github.com/rust-lang/crates.io-index" 1163 - checksum = "ff8670570af52249509a86f5e3e18a08c60b177071826898fde8997cf5f6bfbb" 1163 + checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" 1164 1164 dependencies = [ 1165 1165 "bytes", 1166 1166 "fnv", ··· 1442 1442 1443 1443 [[package]] 1444 1444 name = "mac-notification-sys" 1445 - version = "0.5.2" 1445 + version = "0.5.3" 1446 1446 source = "registry+https://github.com/rust-lang/crates.io-index" 1447 - checksum = "042f74a606175d72ca483e14e0873fe0f6c003f7af45865b17b16fdaface7203" 1447 + checksum = "47a4acb83c904844ca12aafeac6fff6f781cf9e220a985c1db94fd94123993aa" 1448 1448 dependencies = [ 1449 1449 "cc", 1450 1450 "dirs-next", ··· 1525 1525 1526 1526 [[package]] 1527 1527 name = "miniz_oxide" 1528 - version = "0.5.1" 1528 + version = "0.5.3" 1529 1529 source = "registry+https://github.com/rust-lang/crates.io-index" 1530 - checksum = "d2b29bd4bc3f33391105ebee3589c19197c4271e3e5a9ec9bfe8127eeff8f082" 1530 + checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc" 1531 1531 dependencies = [ 1532 1532 "adler", 1533 1533 ] 1534 1534 1535 1535 [[package]] 1536 + name = "nanoid" 1537 + version = "0.4.0" 1538 + source = "registry+https://github.com/rust-lang/crates.io-index" 1539 + checksum = "3ffa00dec017b5b1a8b7cf5e2c008bfda1aa7e0697ac1508b491fdf2622fb4d8" 1540 + dependencies = [ 1541 + "rand 0.8.5", 1542 + ] 1543 + 1544 + [[package]] 1536 1545 name = "nanorand" 1537 1546 version = "0.7.0" 1538 1547 source = "registry+https://github.com/rust-lang/crates.io-index" 1539 1548 checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" 1540 1549 dependencies = [ 1541 - "getrandom 0.2.6", 1550 + "getrandom 0.2.7", 1542 1551 ] 1543 1552 1544 1553 [[package]] ··· 1724 1733 1725 1734 [[package]] 1726 1735 name = "once_cell" 1727 - version = "1.12.0" 1736 + version = "1.13.0" 1728 1737 source = "registry+https://github.com/rust-lang/crates.io-index" 1729 - checksum = "7709cef83f0c1f58f666e746a08b21e0085f7440fa6a29cc194d68aac97a4225" 1738 + checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1" 1730 1739 1731 1740 [[package]] 1732 1741 name = "open" ··· 1782 1791 1783 1792 [[package]] 1784 1793 name = "parking_lot" 1785 - version = "0.12.0" 1794 + version = "0.12.1" 1786 1795 source = "registry+https://github.com/rust-lang/crates.io-index" 1787 - checksum = "87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58" 1796 + checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" 1788 1797 dependencies = [ 1789 1798 "lock_api", 1790 1799 "parking_lot_core 0.9.3", ··· 2072 2081 2073 2082 [[package]] 2074 2083 name = "proc-macro2" 2075 - version = "1.0.39" 2084 + version = "1.0.40" 2076 2085 source = "registry+https://github.com/rust-lang/crates.io-index" 2077 - checksum = "c54b25569025b7fc9651de43004ae593a75ad88543b17178aa5e1b9c4f15f56f" 2086 + checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7" 2078 2087 dependencies = [ 2079 2088 "unicode-ident", 2080 2089 ] 2081 2090 2082 2091 [[package]] 2083 2092 name = "quote" 2084 - version = "1.0.18" 2093 + version = "1.0.20" 2085 2094 source = "registry+https://github.com/rust-lang/crates.io-index" 2086 - checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1" 2095 + checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804" 2087 2096 dependencies = [ 2088 2097 "proc-macro2", 2089 2098 ] ··· 2148 2157 source = "registry+https://github.com/rust-lang/crates.io-index" 2149 2158 checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" 2150 2159 dependencies = [ 2151 - "getrandom 0.2.6", 2160 + "getrandom 0.2.7", 2152 2161 ] 2153 2162 2154 2163 [[package]] ··· 2193 2202 source = "registry+https://github.com/rust-lang/crates.io-index" 2194 2203 checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" 2195 2204 dependencies = [ 2196 - "getrandom 0.2.6", 2205 + "getrandom 0.2.7", 2197 2206 "redox_syscall", 2198 2207 "thiserror", 2199 2208 ] 2200 2209 2201 2210 [[package]] 2202 2211 name = "regex" 2203 - version = "1.5.6" 2212 + version = "1.6.0" 2204 2213 source = "registry+https://github.com/rust-lang/crates.io-index" 2205 - checksum = "d83f127d94bdbcda4c8cc2e50f6f84f4b611f69c902699ca385a39c3a75f9ff1" 2214 + checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" 2206 2215 dependencies = [ 2207 2216 "aho-corasick", 2208 2217 "memchr", ··· 2220 2229 2221 2230 [[package]] 2222 2231 name = "regex-syntax" 2223 - version = "0.6.26" 2232 + version = "0.6.27" 2224 2233 source = "registry+https://github.com/rust-lang/crates.io-index" 2225 - checksum = "49b3de9ec5dc0a3417da371aab17d729997c15010e7fd24ff707773a33bddb64" 2234 + checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" 2226 2235 2227 2236 [[package]] 2228 2237 name = "remind-me-again" ··· 2232 2241 "chrono", 2233 2242 "cocoa", 2234 2243 "macos-app-nap", 2244 + "nanoid", 2235 2245 "objc", 2236 2246 "serde", 2237 2247 "serde_json", ··· 2290 2300 source = "registry+https://github.com/rust-lang/crates.io-index" 2291 2301 checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" 2292 2302 dependencies = [ 2293 - "semver 1.0.9", 2303 + "semver 1.0.12", 2294 2304 ] 2295 2305 2296 2306 [[package]] 2297 2307 name = "rustversion" 2298 - version = "1.0.6" 2308 + version = "1.0.7" 2299 2309 source = "registry+https://github.com/rust-lang/crates.io-index" 2300 - checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f" 2310 + checksum = "a0a5f7c728f5d284929a1cccb5bc19884422bfe6ef4d6c409da2c41838983fcf" 2301 2311 2302 2312 [[package]] 2303 2313 name = "ryu" ··· 2363 2373 2364 2374 [[package]] 2365 2375 name = "semver" 2366 - version = "1.0.9" 2376 + version = "1.0.12" 2367 2377 source = "registry+https://github.com/rust-lang/crates.io-index" 2368 - checksum = "8cb243bdfdb5936c8dc3c45762a19d12ab4550cdc753bc247637d4ec35a040fd" 2378 + checksum = "a2333e6df6d6598f2b1974829f853c2b4c5f4a6e503c10af918081aa6f8564e1" 2369 2379 dependencies = [ 2370 2380 "serde", 2371 2381 ] ··· 2381 2391 2382 2392 [[package]] 2383 2393 name = "serde" 2384 - version = "1.0.137" 2394 + version = "1.0.139" 2385 2395 source = "registry+https://github.com/rust-lang/crates.io-index" 2386 - checksum = "61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1" 2396 + checksum = "0171ebb889e45aa68b44aee0859b3eede84c6f5f5c228e6f140c0b2a0a46cad6" 2387 2397 dependencies = [ 2388 2398 "serde_derive", 2389 2399 ] 2390 2400 2391 2401 [[package]] 2392 2402 name = "serde_derive" 2393 - version = "1.0.137" 2403 + version = "1.0.139" 2394 2404 source = "registry+https://github.com/rust-lang/crates.io-index" 2395 - checksum = "1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be" 2405 + checksum = "dc1d3230c1de7932af58ad8ffbe1d784bd55efd5a9d84ac24f69c72d83543dfb" 2396 2406 dependencies = [ 2397 2407 "proc-macro2", 2398 2408 "quote", ··· 2401 2411 2402 2412 [[package]] 2403 2413 name = "serde_json" 2404 - version = "1.0.81" 2414 + version = "1.0.82" 2405 2415 source = "registry+https://github.com/rust-lang/crates.io-index" 2406 - checksum = "9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c" 2416 + checksum = "82c2c1fdcd807d1098552c5b9a36e425e42e9fbd7c6a37a8425f390f781f7fa7" 2407 2417 dependencies = [ 2408 2418 "itoa 1.0.2", 2409 2419 "ryu", ··· 2518 2528 2519 2529 [[package]] 2520 2530 name = "smallvec" 2521 - version = "1.8.0" 2531 + version = "1.9.0" 2522 2532 source = "registry+https://github.com/rust-lang/crates.io-index" 2523 - checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83" 2533 + checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1" 2524 2534 2525 2535 [[package]] 2526 2536 name = "soup2" ··· 2582 2592 dependencies = [ 2583 2593 "new_debug_unreachable", 2584 2594 "once_cell", 2585 - "parking_lot 0.12.0", 2595 + "parking_lot 0.12.1", 2586 2596 "phf_shared 0.10.0", 2587 2597 "precomputed-hash", 2588 2598 "serde", ··· 2629 2639 2630 2640 [[package]] 2631 2641 name = "syn" 2632 - version = "1.0.95" 2642 + version = "1.0.98" 2633 2643 source = "registry+https://github.com/rust-lang/crates.io-index" 2634 - checksum = "fbaf6116ab8924f39d52792136fb74fd60a80194cf1b1c6ffa6453eef1c3f942" 2644 + checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd" 2635 2645 dependencies = [ 2636 2646 "proc-macro2", 2637 2647 "quote", ··· 2723 2733 2724 2734 [[package]] 2725 2735 name = "tauri" 2726 - version = "1.0.2" 2736 + version = "1.0.3" 2727 2737 source = "registry+https://github.com/rust-lang/crates.io-index" 2728 - checksum = "421641ec549d34935530886151a42ce5ecbbb57beb30e5eec1b22f8e08e10ee9" 2738 + checksum = "d61fc211e0bd2c04c0aecd202d2cd72dd797a89da02989a39e1b9691462386d6" 2729 2739 dependencies = [ 2730 2740 "anyhow", 2731 2741 "cocoa", ··· 2749 2759 "raw-window-handle", 2750 2760 "regex", 2751 2761 "rfd", 2752 - "semver 1.0.9", 2762 + "semver 1.0.12", 2753 2763 "serde", 2754 2764 "serde_json", 2755 2765 "serde_repr", ··· 2764 2774 "thiserror", 2765 2775 "tokio", 2766 2776 "url", 2767 - "uuid 1.1.0", 2777 + "uuid 1.1.2", 2768 2778 "webkit2gtk", 2769 2779 "webview2-com", 2770 2780 "windows 0.37.0", ··· 2772 2782 2773 2783 [[package]] 2774 2784 name = "tauri-build" 2775 - version = "1.0.2" 2785 + version = "1.0.3" 2776 2786 source = "registry+https://github.com/rust-lang/crates.io-index" 2777 - checksum = "598bd36884ee15ac73dfca9921066fd87d13d9beea60384b99a66c3a5d800d70" 2787 + checksum = "2f2b32e551ec810ba4ab2ad735de5e3576e54bf0322ab0f4b7ce41244bc65ecf" 2778 2788 dependencies = [ 2779 2789 "anyhow", 2780 2790 "cargo_toml", 2781 2791 "heck 0.4.0", 2782 - "semver 1.0.9", 2792 + "json-patch", 2793 + "semver 1.0.12", 2783 2794 "serde_json", 2784 2795 "tauri-utils", 2785 2796 "winres", ··· 2787 2798 2788 2799 [[package]] 2789 2800 name = "tauri-codegen" 2790 - version = "1.0.2" 2801 + version = "1.0.3" 2791 2802 source = "registry+https://github.com/rust-lang/crates.io-index" 2792 - checksum = "048a7b404b92c86e7dc32458fd0963f042a76d520681e6f598d73a97c2feeeef" 2803 + checksum = "f6f1f7928dd040fc03c94207adfad506c0cf5b152982fd1dc0a621f7fd777e22" 2793 2804 dependencies = [ 2794 2805 "base64", 2795 2806 "brotli", 2796 2807 "ico", 2808 + "json-patch", 2797 2809 "plist", 2798 2810 "png 0.17.5", 2799 2811 "proc-macro2", 2800 2812 "quote", 2801 2813 "regex", 2802 - "semver 1.0.9", 2814 + "semver 1.0.12", 2803 2815 "serde", 2804 2816 "serde_json", 2805 2817 "sha2", 2806 2818 "tauri-utils", 2807 2819 "thiserror", 2808 2820 "time 0.3.11", 2809 - "uuid 1.1.0", 2821 + "uuid 1.1.2", 2810 2822 "walkdir", 2811 2823 ] 2812 2824 2813 2825 [[package]] 2814 2826 name = "tauri-macros" 2815 - version = "1.0.2" 2827 + version = "1.0.3" 2816 2828 source = "registry+https://github.com/rust-lang/crates.io-index" 2817 - checksum = "aaf70098bfab21efde9b2c089008b319ba333f4ee6e55c38bdea188dea86497f" 2829 + checksum = "e50b9f52871c088857360319a37472d59f4644f1ed004489599d62831a1b6996" 2818 2830 dependencies = [ 2819 2831 "heck 0.4.0", 2820 2832 "proc-macro2", ··· 2851 2863 "serde_json", 2852 2864 "tauri-utils", 2853 2865 "thiserror", 2854 - "uuid 1.1.0", 2866 + "uuid 1.1.2", 2855 2867 "webview2-com", 2856 2868 "windows 0.37.0", 2857 2869 ] ··· 2869 2881 "raw-window-handle", 2870 2882 "tauri-runtime", 2871 2883 "tauri-utils", 2872 - "uuid 1.1.0", 2884 + "uuid 1.1.2", 2873 2885 "webkit2gtk", 2874 2886 "webview2-com", 2875 2887 "windows 0.37.0", ··· 2893 2905 "phf 0.10.1", 2894 2906 "proc-macro2", 2895 2907 "quote", 2896 - "semver 1.0.9", 2908 + "semver 1.0.12", 2897 2909 "serde", 2898 2910 "serde_json", 2899 2911 "serde_with", ··· 3036 3048 3037 3049 [[package]] 3038 3050 name = "tracing" 3039 - version = "0.1.34" 3051 + version = "0.1.35" 3040 3052 source = "registry+https://github.com/rust-lang/crates.io-index" 3041 - checksum = "5d0ecdcb44a79f0fe9844f0c4f33a342cbcbb5117de8001e6ba0dc2351327d09" 3053 + checksum = "a400e31aa60b9d44a52a8ee0343b5b18566b03a8321e0d321f695cf56e940160" 3042 3054 dependencies = [ 3043 3055 "cfg-if", 3044 3056 "pin-project-lite", ··· 3048 3060 3049 3061 [[package]] 3050 3062 name = "tracing-attributes" 3051 - version = "0.1.21" 3063 + version = "0.1.22" 3052 3064 source = "registry+https://github.com/rust-lang/crates.io-index" 3053 - checksum = "cc6b8ad3567499f98a1db7a752b07a7c8c7c7c34c332ec00effb2b0027974b7c" 3065 + checksum = "11c75893af559bc8e10716548bdef5cb2b983f8e637db9d0e15126b61b484ee2" 3054 3066 dependencies = [ 3055 3067 "proc-macro2", 3056 3068 "quote", ··· 3059 3071 3060 3072 [[package]] 3061 3073 name = "tracing-core" 3062 - version = "0.1.26" 3074 + version = "0.1.28" 3063 3075 source = "registry+https://github.com/rust-lang/crates.io-index" 3064 - checksum = "f54c8ca710e81886d498c2fd3331b56c93aa248d49de2222ad2742247c60072f" 3076 + checksum = "7b7358be39f2f274f322d2aaed611acc57f382e8eb1e5b48cb9ae30933495ce7" 3065 3077 dependencies = [ 3066 - "lazy_static", 3078 + "once_cell", 3067 3079 "valuable", 3068 3080 ] 3069 3081 ··· 3080 3092 3081 3093 [[package]] 3082 3094 name = "tracing-subscriber" 3083 - version = "0.3.11" 3095 + version = "0.3.14" 3084 3096 source = "registry+https://github.com/rust-lang/crates.io-index" 3085 - checksum = "4bc28f93baff38037f64e6f43d34cfa1605f27a49c34e8a04c5e78b0babf2596" 3097 + checksum = "3a713421342a5a666b7577783721d3117f1b69a393df803ee17bb73b1e122a59" 3086 3098 dependencies = [ 3087 3099 "ansi_term", 3088 - "lazy_static", 3089 3100 "matchers", 3101 + "once_cell", 3090 3102 "regex", 3091 3103 "sharded-slab", 3092 3104 "smallvec", ··· 3113 3125 3114 3126 [[package]] 3115 3127 name = "ucd-trie" 3116 - version = "0.1.3" 3128 + version = "0.1.4" 3117 3129 source = "registry+https://github.com/rust-lang/crates.io-index" 3118 - checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" 3130 + checksum = "89570599c4fe5585de2b388aab47e99f7fa4e9238a1399f707a02e356058141c" 3119 3131 3120 3132 [[package]] 3121 3133 name = "unicode-bidi" ··· 3125 3137 3126 3138 [[package]] 3127 3139 name = "unicode-ident" 3128 - version = "1.0.0" 3140 + version = "1.0.1" 3129 3141 source = "registry+https://github.com/rust-lang/crates.io-index" 3130 - checksum = "d22af068fba1eb5edcb4aea19d382b2a3deb4c8f9d475c589b6ada9e0fd493ee" 3142 + checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c" 3131 3143 3132 3144 [[package]] 3133 3145 name = "unicode-normalization" 3134 - version = "0.1.19" 3146 + version = "0.1.21" 3135 3147 source = "registry+https://github.com/rust-lang/crates.io-index" 3136 - checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" 3148 + checksum = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6" 3137 3149 dependencies = [ 3138 3150 "tinyvec", 3139 3151 ] ··· 3169 3181 source = "registry+https://github.com/rust-lang/crates.io-index" 3170 3182 checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" 3171 3183 dependencies = [ 3172 - "getrandom 0.2.6", 3184 + "getrandom 0.2.7", 3173 3185 ] 3174 3186 3175 3187 [[package]] 3176 3188 name = "uuid" 3177 - version = "1.1.0" 3189 + version = "1.1.2" 3178 3190 source = "registry+https://github.com/rust-lang/crates.io-index" 3179 - checksum = "93bbc61e655a4833cf400d0d15bf3649313422fa7572886ad6dab16d79886365" 3191 + checksum = "dd6469f4314d5f1ffec476e05f17cc9a78bc7a27a6a857842170bdf8d6f98d2f" 3180 3192 dependencies = [ 3181 - "getrandom 0.2.6", 3193 + "getrandom 0.2.7", 3182 3194 ] 3183 3195 3184 3196 [[package]] ··· 3253 3265 version = "0.10.0+wasi-snapshot-preview1" 3254 3266 source = "registry+https://github.com/rust-lang/crates.io-index" 3255 3267 checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" 3268 + 3269 + [[package]] 3270 + name = "wasi" 3271 + version = "0.11.0+wasi-snapshot-preview1" 3272 + source = "registry+https://github.com/rust-lang/crates.io-index" 3273 + checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 3256 3274 3257 3275 [[package]] 3258 3276 name = "wasm-bindgen"
+1
src-tauri/Cargo.toml
··· 22 22 tauri = { version = "1.0", features = ["dialog-message", "macos-private-api", "notification-all", "shell-open"] } 23 23 async-cron-scheduler = "1.0" 24 24 tauri-plugin-window-state = "0.1" 25 + nanoid = "0.4" 25 26 26 27 [target.'cfg(target_os = "macos")'.dependencies] 27 28 macos-app-nap = "0.0.1"
+3 -19
src-tauri/src/main.rs
··· 6 6 use std::sync::Mutex; 7 7 use std::thread; 8 8 9 - use notifications::{Data, Group, Instance}; 9 + use notifications::{Data, Instance}; 10 10 use tauri::api::{dialog, shell}; 11 11 use tauri::{ 12 12 command, AboutMetadata, CustomMenuItem, Manager, Menu, MenuEntry, MenuItem, Submenu, Window, ··· 42 42 43 43 tauri::async_runtime::set(tokio::runtime::Handle::current()); 44 44 45 - let groups = vec![ 46 - Group { 47 - title: "Rabbit stuff".to_string(), 48 - description: "Yo".to_string(), 49 - enabled: true, 50 - id: 0, 51 - next_date: Some(0), 52 - cron: "0 0 0 * * *".to_string(), 53 - }, 54 - Group { 55 - title: "Things".to_string(), 56 - description: "yea".to_string(), 57 - enabled: true, 58 - id: 1, 59 - next_date: Some(0), 60 - cron: "0 0 1,13 1-15 Jan-Nov Mon,Wed,Fri".to_string(), 61 - }, 62 - ]; 45 + let groups = Vec::new(); 63 46 let mut instance = Instance { 64 47 scheduler: None, 65 48 groups, ··· 71 54 error_popup, 72 55 notifications::get_groups, 73 56 notifications::new_group, 57 + notifications::delete_group, 74 58 ]) 75 59 .manage(Data(Mutex::new(instance))) 76 60 .plugin(tauri_plugin_window_state::Builder::default().build())
+44 -10
src-tauri/src/notifications.rs
··· 1 - use async_cron_scheduler::{Job, Scheduler}; 1 + use async_cron_scheduler::{Job, JobId, Scheduler}; 2 2 use chrono::offset::Local; 3 + use nanoid::nanoid; 3 4 use serde::{Deserialize, Serialize}; 4 5 use serde_json::Value; 5 6 use std::sync::Mutex; ··· 18 19 pub title: String, 19 20 pub description: String, 20 21 pub enabled: bool, 21 - pub id: u64, 22 + pub id: String, 23 + #[serde(skip)] 24 + pub job_id: Option<JobId>, 22 25 pub cron: String, 23 26 pub next_date: Option<u64>, 24 27 } ··· 53 56 }; 54 57 Ok(()) 55 58 } 59 + pub fn generate_id(&self) -> String { 60 + let alphabet: [char; 32] = [ 61 + 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 62 + 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '2', '3', '4', '5', '6', '7', 63 + ]; 64 + for _ in 0..100 { 65 + let id = nanoid!(7, &alphabet); 66 + let exists = self.groups.iter().any(|g| g.id == id); 67 + if !exists { 68 + return id; 69 + } 70 + } 71 + panic!("Error generating ID: Generated IDs already exist") 72 + } 73 + pub fn delete_group(&mut self, index: usize) { 74 + let scheduler = match &mut self.scheduler { 75 + Some(scheduler) => scheduler, 76 + None => { 77 + self.groups.remove(index); 78 + return; 79 + } 80 + }; 81 + match self.groups[index].job_id { 82 + Some(job_id) => scheduler.remove(job_id), 83 + None => {} 84 + }; 85 + self.groups.remove(index); 86 + } 56 87 pub fn start(&mut self) -> Result<(), String> { 57 88 let (mut scheduler, _sched_service) = Scheduler::<Local>::launch(tokio::time::sleep); 58 89 59 90 let mut err = None; 60 - for group in &self.groups { 91 + for group in &mut self.groups { 61 92 if !group.enabled { 62 93 continue; 63 94 } ··· 68 99 continue; 69 100 } 70 101 }; 71 - let _job_id = scheduler.insert(job, |id| { 102 + let job_id = scheduler.insert(job, |id| { 72 103 println!("Job {:?}", id); 73 104 }); 105 + group.job_id = Some(job_id); 74 106 println!("Scheduled \"{}\" at {}", group.title, group.cron); 75 107 } 76 108 ··· 100 132 #[command] 101 133 pub async fn new_group(mut group: Group, data: State<'_, Data>) -> Result<Value, String> { 102 134 let mut data = data.0.lock().unwrap(); 103 - group.id = data 104 - .groups 105 - .iter() 106 - .max_by_key(|g| g.id) 107 - .map(|g| g.id + 1) 108 - .unwrap_or(0); 135 + group.id = data.generate_id(); 109 136 data.add_group(group)?; 110 137 to_json(&data.groups) 111 138 } 139 + 140 + #[command] 141 + pub async fn delete_group(index: usize, data: State<'_, Data>) -> Result<Value, String> { 142 + let mut data = data.0.lock().unwrap(); 143 + data.delete_group(index); 144 + to_json(&data.groups) 145 + }
+3 -3
src/App.svelte
··· 42 42 groups = newGroups 43 43 }} 44 44 /> 45 - {#each groups as group (group.id)} 45 + {#each groups as group, i (group.id)} 46 46 <div 47 47 in:receive={{ key: group.id, duration: 400 }} 48 48 out:send={{ key: group.id, duration: 400 }} ··· 50 50 > 51 51 <Item 52 52 bind:group 53 - onDelete={() => { 54 - groups = groups.filter((g) => g.id !== group.id) 53 + onDelete={async () => { 54 + groups = await runCmd('delete_group', { index: i }) 55 55 }} 56 56 /> 57 57 </div>
+1 -1
src/lib/New.svelte
··· 31 31 let group: Group = newBlank() 32 32 function newBlank(): Group { 33 33 return { 34 - id: 0, 34 + id: '', 35 35 enabled: true, 36 36 title: '', 37 37 description: '',
+1 -1
src/lib/types.ts
··· 2 2 title: string 3 3 description: string 4 4 enabled: boolean 5 - id: number 5 + id: string 6 6 cron: string 7 7 next_date: number | null 8 8 }