From 4129aa92820584fa00b48df7f44784ca6d8db18e Mon Sep 17 00:00:00 2001 From: Aziz FADIL Date: Tue, 10 Sep 2024 12:25:18 -0400 Subject: [PATCH 1/5] update readme and roadmap --- README.md | 37 ++++++++++++++++++++---------- ROADMAP.md | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+), 12 deletions(-) create mode 100644 ROADMAP.md diff --git a/README.md b/README.md index c39ac9b..61701e4 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,30 @@ - +
+ + Logo + + +

Wealthfolio

+ +

+ A Beautiful and Boring Desktop Investment Tracker +
+
+ Website + · + Discord + · + Twitter + · + Releases +

+
[Buy me a coffee button](https://www.buymeacoffee.com/afadil)
-# Wealthfolio - -## Overview +## Introduction **Wealthfolio App** is a Beautiful and Boring Investment Tracker, with Local Data Storage. No Subscriptions, No Cloud. @@ -17,12 +34,8 @@ Visit the app website at [Wealthfolio App](https://wealthfolio.app/). ![Screenshot](public/screenshot.png) ## Roadmap -- [ ] Export Data -- [ ] Support Options -- [ ] Support Bonds -- [ ] Monte-Carlo Portfolio Projection -- [ ] CSV Import Profile by Account -- [ ] Mobile App with Database File Sync + +See [ROADMAP.md](./ROADMAP.md). ## Getting Started @@ -153,7 +166,7 @@ Contributions are welcome! Please follow these steps: This project is licensed under the LGPL-3.0 license. See the `LICENSE` file for details. ## 🌟 Star History -[![Star History Chart](https://api.star-history.com/svg?repos=afadil/wealthfolio&type=Timeline)](https://star-history.com/#afadil/wealthfolio&Date) ---- + +## [![Star History Chart](https://api.star-history.com/svg?repos=afadil/wealthfolio&type=Timeline)](https://star-history.com/#afadil/wealthfolio&Date) Enjoy managing your wealth with **Wealthfolio**! 🚀 diff --git a/ROADMAP.md b/ROADMAP.md new file mode 100644 index 0000000..11fe71d --- /dev/null +++ b/ROADMAP.md @@ -0,0 +1,67 @@ +Here is a draft of my vision to this project. Any ideas are welcome: + +## Vision + +To help individuals build their wealth by providing a safe, privacy-focused and easy-to-use tool to +track their investments and goals. + +## Strategy + +1. Build a polished application that focuses on the essentials +2. Underdo the competition by offering a simpler, more focused alternative +3. Fight feature creep and resist creating a bloated app +4. Avoid complexity at all costs +5. Provide clear insights on how your portfolio is performing against your goals + +## What We Believe In + +1. Your Privacy: Your money info stays on your computer. You retain complete control over your + financial information.. +2. Easy to Use: Anyone can track their investments with our simple design. +3. No Hidden Costs: Free or Pay once to support. Use forever—no surprise fees or subscriptions. +4. Lots of Features: Track many types of investments and use helpful tools. +5. Beautiful, Focused, and Boring App: We believe in crafting an app that's visually appealing yet + doesn't distract from its core purpose. + +## Roadmap + +### Step 1: The Basics (Now) + +- [x] Track your investments +- [x] Store data on your computer +- [x] Simple, easy-to-use design + +### Step 2: More Features (Next 3-6 months) + +- [ ] Let you export your data (CSV, sqlite file, json) +- [ ] Support another market data API (Bring your own API keys) (example + https://www.alphavantage.co) +- [ ] Support Stock Splitting +- [ ] Let you track more things like houses, gold, and cars +- [ ] Enhance portfolio History calculation +- [ ] Build install packages for the remaining platforms + +### Step 3: Smart Tools (6-12 months) + +- [ ] Advanced CSV import +- [ ] Some portfolio analysis and insights +- [ ] Add Monte-Carlo projection +- [ ] Support another market data API + +### Step 4: Growing (12-18 months) + +- [ ] Make a mobile app that works with your phone securely +- [ ] Connect with some brokers/ plateform to fetch and update activities automatically + +### Step 5: Building a Community (18+ months) + +- [ ] Add support for Options trading + +### Always Doing + +- Keeping the app safe and up-to-date +- Making the app faster and bette using user feedback + +We're building Wealthfolio to be a great alternative to online investment trackers. Our plan might +change based on what users tell us they want, but we'll always focus on keeping your data private +and helping you manage your money better. From ed240229576371dbea830f248d4cbd05e19fa8bb Mon Sep 17 00:00:00 2001 From: Aziz FADIL Date: Tue, 10 Sep 2024 13:20:09 -0400 Subject: [PATCH 2/5] Fix #91 Unable to Manually Add FEE --- src/lib/schemas.ts | 4 ++-- src/pages/activity/components/activity-form.tsx | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/lib/schemas.ts b/src/lib/schemas.ts index af7944b..e16b507 100644 --- a/src/lib/schemas.ts +++ b/src/lib/schemas.ts @@ -48,9 +48,9 @@ export const newActivitySchema = z.object({ quantity: z.coerce .number({ required_error: 'Please enter a valid quantity.', - invalid_type_error: 'Quantity must be a positive number.', + invalid_type_error: 'Quantity must be a number.', }) - .positive({ message: 'Quantity must be a positive number.' }), + .min(0, { message: 'Quantity must be a non-negative number.' }), assetId: z.string().min(1, { message: 'Asset ID is required' }), activityType: z.enum( [ diff --git a/src/pages/activity/components/activity-form.tsx b/src/pages/activity/components/activity-form.tsx index fc14a8e..d2c210e 100644 --- a/src/pages/activity/components/activity-form.tsx +++ b/src/pages/activity/components/activity-form.tsx @@ -130,7 +130,9 @@ export function ActivityForm({ accounts, defaultValues, onSuccess = () => {} }: if (CASH_ACTIVITY_TYPES.includes(watchedType)) { form.setValue('assetId', `$CASH-${currentAccountCurrency}`); form.setValue('unitPrice', 1); - form.setValue('fee', 0); + if (watchedType !== 'FEE') { + form.setValue('fee', 0); + } } }, [currentAccountCurrency, watchedType]); From 7b40a26af108428982650c12b1b81dfe9f843a14 Mon Sep 17 00:00:00 2001 From: Aziz FADIL Date: Tue, 10 Sep 2024 13:25:33 -0400 Subject: [PATCH 3/5] update reqwest dependencyto fix security vulnerability --- src-core/Cargo.toml | 2 +- src-tauri/Cargo.lock | 95 ++++++++++++++++++++++++++++++++++++++------ 2 files changed, 83 insertions(+), 14 deletions(-) diff --git a/src-core/Cargo.toml b/src-core/Cargo.toml index 2642532..cf04ce6 100644 --- a/src-core/Cargo.toml +++ b/src-core/Cargo.toml @@ -20,7 +20,7 @@ rusqlite = { version = "0.30.0", features = ["bundled"] } csv = "1.3.0" yahoo_finance_api = "2.2.1" regex = "1.10.2" -reqwest = { version = "0.11.22", features = ["json", "cookies", "cookie_store" ] } +reqwest = { version = "0.12.7", features = ["json", "cookies" ] } thiserror = "1.0.50" lazy_static = "1.4.0" diesel_migrations = { version = "2.1.0", features = ["sqlite" ] } diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index e2759a2..5694864 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -110,6 +110,12 @@ dependencies = [ "system-deps 6.2.2", ] +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + [[package]] name = "autocfg" version = "1.3.0" @@ -416,9 +422,9 @@ checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" [[package]] name = "cookie" -version = "0.17.0" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7efb37c3e1ccb1ff97164ad95ac1606e8ccd35b3fa0a7d99a304c7f4a428cc24" +checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747" dependencies = [ "percent-encoding", "time", @@ -427,12 +433,12 @@ dependencies = [ [[package]] name = "cookie_store" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "387461abbc748185c3a6e1673d826918b450b87ff22639429c694619a83b6cf6" +checksum = "4934e6b7e8419148b6ef56950d277af8561060b56afd59e2aadf98b59fce6baa" dependencies = [ "cookie", - "idna 0.3.0", + "idna 0.5.0", "log", "publicsuffix", "serde", @@ -1343,6 +1349,25 @@ dependencies = [ "tracing", ] +[[package]] +name = "h2" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http 1.1.0", + "indexmap 2.4.0", + "slab", + "tokio", + "tokio-util", + "tracing", +] + [[package]] name = "hashbrown" version = "0.12.3" @@ -1499,7 +1524,7 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2", + "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", "httparse", @@ -1522,6 +1547,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", + "h2 0.4.6", "http 1.1.0", "http-body 1.0.1", "httparse", @@ -1563,6 +1589,22 @@ dependencies = [ "tokio-native-tls", ] +[[package]] +name = "hyper-tls" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" +dependencies = [ + "bytes", + "http-body-util", + "hyper 1.4.1", + "hyper-util", + "native-tls", + "tokio", + "tokio-native-tls", + "tower-service", +] + [[package]] name = "hyper-util" version = "0.1.8" @@ -2853,16 +2895,14 @@ checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" dependencies = [ "base64 0.21.7", "bytes", - "cookie", - "cookie_store", "encoding_rs", "futures-core", "futures-util", - "h2", + "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", "hyper 0.14.30", - "hyper-tls", + "hyper-tls 0.5.0", "ipnet", "js-sys", "log", @@ -2876,7 +2916,7 @@ dependencies = [ "serde_json", "serde_urlencoded", "sync_wrapper 0.1.2", - "system-configuration", + "system-configuration 0.5.1", "tokio", "tokio-native-tls", "tokio-util", @@ -2897,18 +2937,24 @@ checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63" dependencies = [ "base64 0.22.1", "bytes", + "cookie", + "cookie_store", + "encoding_rs", "futures-core", "futures-util", + "h2 0.4.6", "http 1.1.0", "http-body 1.0.1", "http-body-util", "hyper 1.4.1", "hyper-rustls", + "hyper-tls 0.6.0", "hyper-util", "ipnet", "js-sys", "log", "mime", + "native-tls", "once_cell", "percent-encoding", "pin-project-lite", @@ -2920,7 +2966,9 @@ dependencies = [ "serde_json", "serde_urlencoded", "sync_wrapper 1.0.1", + "system-configuration 0.6.1", "tokio", + "tokio-native-tls", "tokio-rustls", "tower-service", "url", @@ -3495,7 +3543,18 @@ checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ "bitflags 1.3.2", "core-foundation", - "system-configuration-sys", + "system-configuration-sys 0.5.0", +] + +[[package]] +name = "system-configuration" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" +dependencies = [ + "bitflags 2.6.0", + "core-foundation", + "system-configuration-sys 0.6.0", ] [[package]] @@ -3508,6 +3567,16 @@ dependencies = [ "libc", ] +[[package]] +name = "system-configuration-sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "system-deps" version = "5.0.0" @@ -4371,7 +4440,7 @@ dependencies = [ "lazy_static", "rayon", "regex", - "reqwest 0.11.27", + "reqwest 0.12.7", "rusqlite", "serde", "serde_json", From 0f29c65d9d4d95159569304bdb46105a5e19e658 Mon Sep 17 00:00:00 2001 From: Aziz FADIL Date: Tue, 10 Sep 2024 13:55:37 -0400 Subject: [PATCH 4/5] Fix #75 CSV format documentation --- .../activity/import/activity-import-page.tsx | 4 +- src/pages/activity/import/import-help.tsx | 41 +++++++++++-------- 2 files changed, 26 insertions(+), 19 deletions(-) diff --git a/src/pages/activity/import/activity-import-page.tsx b/src/pages/activity/import/activity-import-page.tsx index ebe080a..3922396 100644 --- a/src/pages/activity/import/activity-import-page.tsx +++ b/src/pages/activity/import/activity-import-page.tsx @@ -11,7 +11,7 @@ import ImportedActivitiesTable from './imported-activity-table'; import { useMutation, useQueryClient } from '@tanstack/react-query'; import { createActivities } from '@/commands/activity'; import { syncHistoryQuotes } from '@/commands/symbol'; -import { ImportHelpHoverCard } from './import-help'; +import { ImportHelpPopover } from './import-help'; const ActivityImportPage = () => { const navigate = useNavigate(); @@ -86,7 +86,7 @@ const ActivityImportPage = () => { return (
- + diff --git a/src/pages/activity/import/import-help.tsx b/src/pages/activity/import/import-help.tsx index 80bbaae..5b82716 100644 --- a/src/pages/activity/import/import-help.tsx +++ b/src/pages/activity/import/import-help.tsx @@ -1,27 +1,28 @@ import { Icons } from '@/components/icons'; -import { HoverCard, HoverCardContent, HoverCardTrigger } from '@/components/ui/hover-card'; +import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'; import { Button } from '@/components/ui/button'; -export function ImportHelpHoverCard() { +export function ImportHelpPopover() { return ( - - + + - - + +

Importing Account Activities

-

+

Follow these steps to import your account activities from a CSV file:

-
    +
    • Ensure your CSV file is in the correct format.
    • - Columns should include Date, Symbol, Quantity, Activity Type, Unit Price, Currency, and - Fee. + Columns should include date, symbol,{' '} + quantity, activityType, unitPrice,{' '} + currency, fee
    • Click the 'Import' button and select your CSV file.
    • Review the imported activities before confirming.
    • @@ -35,10 +36,10 @@ export function ImportHelpHoverCard() {
    • INTEREST
    • DEPOSIT
    • WITHDRAWAL
    • -
    • TRANSFER_IN
    • -
    • TRANSFER_OUT
    • -
    • CONVERSION_IN
    • -
    • CONVERSION_OUT
    • +
    • TRANSFER_IN (same as deposit)
    • +
    • TRANSFER_OUT (same as withdrawal)
    • +
    • CONVERSION_IN (same as deposit)
    • +
    • CONVERSION_OUT (same as withdrawal)
    • FEE
    • TAX
    @@ -52,8 +53,14 @@ export function ImportHelpHoverCard() { 2023-12-15T15:02:36.329Z,MSFT,30,BUY,368.6046511627907,USD,0
    2023-08-11T14:55:30.863Z,$CASH-USD,600.03,DEPOSIT,1,USD,0 +
    + 2023-06-05T09:15:22.456Z,$CASH-USD,1,INTEREST,180.5,USD,0 +
    + 2023-05-18T13:45:30.789Z,GOOGL,5,SELL,2500.75,USD,10 +
    + 2023-04-02T11:20:15.321Z,$CASH-USD,1000,WITHDRAWAL,1,USD,0 - - + + ); } From dc6e4f50d2fcd5d43db06c25de1d41447641b729 Mon Sep 17 00:00:00 2001 From: Aziz FADIL Date: Tue, 10 Sep 2024 18:39:05 -0400 Subject: [PATCH 5/5] Bump version to 1.0.10 --- package.json | 2 +- src-core/Cargo.lock | 325 +++++++++----------------------------- src-core/Cargo.toml | 2 +- src-tauri/Cargo.lock | 4 +- src-tauri/Cargo.toml | 2 +- src-tauri/tauri.conf.json | 2 +- 6 files changed, 79 insertions(+), 258 deletions(-) diff --git a/package.json b/package.json index e31fbb0..adae457 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "wealthfolio-app", "private": true, - "version": "1.0.10", + "version": "1.0.11", "type": "module", "scripts": { "dev": "vite", diff --git a/src-core/Cargo.lock b/src-core/Cargo.lock index 21ca183..9802eb5 100644 --- a/src-core/Cargo.lock +++ b/src-core/Cargo.lock @@ -59,6 +59,12 @@ dependencies = [ "libc", ] +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + [[package]] name = "autocfg" version = "1.3.0" @@ -80,12 +86,6 @@ dependencies = [ "rustc-demangle", ] -[[package]] -name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - [[package]] name = "base64" version = "0.22.1" @@ -120,12 +120,6 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - [[package]] name = "bitflags" version = "2.6.0" @@ -177,14 +171,14 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.52.6", + "windows-targets", ] [[package]] name = "cookie" -version = "0.17.0" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7efb37c3e1ccb1ff97164ad95ac1606e8ccd35b3fa0a7d99a304c7f4a428cc24" +checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747" dependencies = [ "percent-encoding", "time", @@ -193,12 +187,12 @@ dependencies = [ [[package]] name = "cookie_store" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "387461abbc748185c3a6e1673d826918b450b87ff22639429c694619a83b6cf6" +checksum = "4934e6b7e8419148b6ef56950d277af8561060b56afd59e2aadf98b59fce6baa" dependencies = [ "cookie", - "idna 0.3.0", + "idna 0.5.0", "log", "publicsuffix", "serde", @@ -530,16 +524,16 @@ checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" [[package]] name = "h2" -version = "0.3.26" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" dependencies = [ + "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "futures-util", - "http 0.2.12", + "http", "indexmap", "slab", "tokio", @@ -592,17 +586,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "http" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - [[package]] name = "http" version = "1.1.0" @@ -614,17 +597,6 @@ dependencies = [ "itoa", ] -[[package]] -name = "http-body" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" -dependencies = [ - "bytes", - "http 0.2.12", - "pin-project-lite", -] - [[package]] name = "http-body" version = "1.0.1" @@ -632,7 +604,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.1.0", + "http", ] [[package]] @@ -643,8 +615,8 @@ checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" dependencies = [ "bytes", "futures-util", - "http 1.1.0", - "http-body 1.0.1", + "http", + "http-body", "pin-project-lite", ] @@ -654,36 +626,6 @@ version = "1.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - -[[package]] -name = "hyper" -version = "0.14.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http 0.2.12", - "http-body 0.4.6", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", -] - [[package]] name = "hyper" version = "1.4.1" @@ -693,8 +635,9 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "http 1.1.0", - "http-body 1.0.1", + "h2", + "http", + "http-body", "httparse", "itoa", "pin-project-lite", @@ -710,8 +653,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" dependencies = [ "futures-util", - "http 1.1.0", - "hyper 1.4.1", + "http", + "hyper", "hyper-util", "rustls", "rustls-pki-types", @@ -723,15 +666,18 @@ dependencies = [ [[package]] name = "hyper-tls" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ "bytes", - "hyper 0.14.30", + "http-body-util", + "hyper", + "hyper-util", "native-tls", "tokio", "tokio-native-tls", + "tower-service", ] [[package]] @@ -743,9 +689,9 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "http 1.1.0", - "http-body 1.0.1", - "hyper 1.4.1", + "http", + "http-body", + "hyper", "pin-project-lite", "socket2", "tokio", @@ -1049,7 +995,7 @@ version = "0.10.66" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" dependencies = [ - "bitflags 2.6.0", + "bitflags", "cfg-if", "foreign-types", "libc", @@ -1107,7 +1053,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -1351,7 +1297,7 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" dependencies = [ - "bitflags 2.6.0", + "bitflags", ] [[package]] @@ -1385,11 +1331,11 @@ checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "reqwest" -version = "0.11.27" +version = "0.12.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" +checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63" dependencies = [ - "base64 0.21.7", + "base64", "bytes", "cookie", "cookie_store", @@ -1397,66 +1343,32 @@ dependencies = [ "futures-core", "futures-util", "h2", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.30", - "hyper-tls", - "ipnet", - "js-sys", - "log", - "mime", - "native-tls", - "once_cell", - "percent-encoding", - "pin-project-lite", - "rustls-pemfile 1.0.4", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper 0.1.2", - "system-configuration", - "tokio", - "tokio-native-tls", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "winreg", -] - -[[package]] -name = "reqwest" -version = "0.12.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63" -dependencies = [ - "base64 0.22.1", - "bytes", - "futures-core", - "futures-util", - "http 1.1.0", - "http-body 1.0.1", + "http", + "http-body", "http-body-util", - "hyper 1.4.1", + "hyper", "hyper-rustls", + "hyper-tls", "hyper-util", "ipnet", "js-sys", "log", "mime", + "native-tls", "once_cell", "percent-encoding", "pin-project-lite", "quinn", "rustls", - "rustls-pemfile 2.1.3", + "rustls-pemfile", "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", - "sync_wrapper 1.0.1", + "sync_wrapper", + "system-configuration", "tokio", + "tokio-native-tls", "tokio-rustls", "tower-service", "url", @@ -1488,7 +1400,7 @@ version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a78046161564f5e7cd9008aff3b2990b3850dc8e0349119b98e8f251e099f24d" dependencies = [ - "bitflags 2.6.0", + "bitflags", "fallible-iterator", "fallible-streaming-iterator", "hashlink", @@ -1514,7 +1426,7 @@ version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ - "bitflags 2.6.0", + "bitflags", "errno", "libc", "linux-raw-sys", @@ -1535,22 +1447,13 @@ dependencies = [ "zeroize", ] -[[package]] -name = "rustls-pemfile" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" -dependencies = [ - "base64 0.21.7", -] - [[package]] name = "rustls-pemfile" version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425" dependencies = [ - "base64 0.22.1", + "base64", "rustls-pki-types", ] @@ -1598,7 +1501,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.6.0", + "bitflags", "core-foundation", "core-foundation-sys", "libc", @@ -1782,12 +1685,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "sync_wrapper" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" - [[package]] name = "sync_wrapper" version = "1.0.1" @@ -1799,20 +1696,20 @@ dependencies = [ [[package]] name = "system-configuration" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 1.3.2", + "bitflags", "core-foundation", "system-configuration-sys", ] [[package]] name = "system-configuration-sys" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" dependencies = [ "core-foundation-sys", "libc", @@ -2192,7 +2089,7 @@ checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" [[package]] name = "wealthfolio_core" -version = "1.0.10" +version = "1.0.11" dependencies = [ "chrono", "csv", @@ -2202,7 +2099,7 @@ dependencies = [ "lazy_static", "rayon", "regex", - "reqwest 0.11.27", + "reqwest", "rusqlite", "serde", "serde_json", @@ -2236,7 +2133,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -2247,7 +2144,7 @@ checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" dependencies = [ "windows-result", "windows-strings", - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -2256,7 +2153,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" dependencies = [ - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -2266,16 +2163,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" dependencies = [ "windows-result", - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", + "windows-targets", ] [[package]] @@ -2284,7 +2172,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -2293,22 +2181,7 @@ version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", + "windows-targets", ] [[package]] @@ -2317,46 +2190,28 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.6", - "windows_x86_64_gnu 0.52.6", - "windows_x86_64_gnullvm 0.52.6", - "windows_x86_64_msvc 0.52.6", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", ] -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - [[package]] name = "windows_aarch64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - [[package]] name = "windows_i686_gnu" version = "0.52.6" @@ -2369,48 +2224,24 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - [[package]] name = "windows_i686_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - [[package]] name = "windows_x86_64_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - [[package]] name = "windows_x86_64_msvc" version = "0.52.6" @@ -2426,16 +2257,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "winreg" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - [[package]] name = "xml5ever" version = "0.17.0" @@ -2453,7 +2274,7 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d4a51e69ea2e11b657c7857c856b13be4ab64a8dcde9ea66093c5b61d7c6e12d" dependencies = [ - "reqwest 0.12.7", + "reqwest", "select", "serde", "serde_json", diff --git a/src-core/Cargo.toml b/src-core/Cargo.toml index cf04ce6..70a38d8 100644 --- a/src-core/Cargo.toml +++ b/src-core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wealthfolio_core" -version = "1.0.10" +version = "1.0.11" description = "Portfolio tracker" authors = ["Aziz Fadil"] license = "MIT" diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 5694864..a851cd7 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -4421,7 +4421,7 @@ dependencies = [ [[package]] name = "wealthfolio-app" -version = "1.0.10" +version = "1.0.11" dependencies = [ "tauri", "tauri-build", @@ -4430,7 +4430,7 @@ dependencies = [ [[package]] name = "wealthfolio_core" -version = "1.0.10" +version = "1.0.11" dependencies = [ "chrono", "csv", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index c21daa7..7375359 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wealthfolio-app" -version = "1.0.10" +version = "1.0.11" description = "Portfolio tracker" authors = ["Aziz Fadil"] license = "LGPL-3.0" diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 0514444..5e20b53 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -8,7 +8,7 @@ }, "package": { "productName": "Wealthfolio", - "version": "1.0.10" + "version": "1.0.11" }, "tauri": { "allowlist": {