├── .devcontainer
├── devcontainer.json
└── docker-compose.yml
├── .editorconfig
├── .gitattributes
├── .github
├── FUNDING.yml
├── ISSUE_TEMPLATE
│ ├── bug-report.yml
│ ├── config.yml
│ └── feature-request.yml
├── PULL_REQUEST_TEMPLATE.md
├── actions
│ ├── bump-package-versions
│ ├── check-migrations.js
│ ├── handle-feature-requests.js
│ ├── netlify-wait-for-build
│ └── setup
│ │ └── action.yml
└── workflows
│ ├── build.yml
│ ├── check.yml
│ ├── codeql.yml
│ ├── docker-edge.yml
│ ├── docker-release.yml
│ ├── e2e-test.yml
│ ├── electron-master.yml
│ ├── electron-pr.yml
│ ├── generate-release-pr.yml
│ ├── i18n-string-extract-master.yml
│ ├── issues-close-feature-requests.yml
│ ├── issues-feature-implemented.yml
│ ├── issues-remove-help-wanted.yml
│ ├── netlify-release.yml
│ ├── publish-npm-packages.yml
│ ├── release-notes.yml
│ ├── size-compare.yml
│ ├── stale.yml
│ └── update-vrt.yml
├── .gitignore
├── .husky
└── pre-commit
├── .nvmrc
├── .prettierignore
├── .prettierrc.json
├── .secret-tokens.example
├── .yarn
├── patches
│ └── adm-zip-npm-0.5.16-4556fea098.patch
└── releases
│ └── yarn-4.9.1.cjs
├── .yarnrc.yml
├── CONTRIBUTING.md
├── Dockerfile
├── LICENSE.txt
├── README.md
├── bin
├── docker-start
├── package-browser
├── package-electron
├── release-note-generator.ts
└── run-vrt
├── data
└── .gitkeep
├── demo.png
├── docker-compose.yml
├── eslint.config.mjs
├── package.json
├── packages
├── api
│ ├── .gitignore
│ ├── README.md
│ ├── __snapshots__
│ │ └── methods.test.ts.snap
│ ├── app
│ │ └── query.js
│ ├── index.ts
│ ├── injected.js
│ ├── methods.test.ts
│ ├── methods.ts
│ ├── mocks
│ │ └── budgets
│ │ │ └── .gitkeep
│ ├── package.json
│ ├── tsconfig.dist.json
│ ├── utils.js
│ ├── validateNodeVersion.js
│ └── vitest.config.ts
├── component-library
│ ├── package.json
│ ├── src
│ │ ├── AlignedText.tsx
│ │ ├── Block.tsx
│ │ ├── Button.tsx
│ │ ├── Card.tsx
│ │ ├── FormError.tsx
│ │ ├── InitialFocus.ts
│ │ ├── InitialFocus.web.test.tsx
│ │ ├── InlineField.tsx
│ │ ├── Input.tsx
│ │ ├── Label.tsx
│ │ ├── Menu.tsx
│ │ ├── Paragraph.tsx
│ │ ├── Popover.tsx
│ │ ├── Select.tsx
│ │ ├── SpaceBetween.tsx
│ │ ├── Stack.tsx
│ │ ├── Text.tsx
│ │ ├── TextOneLine.tsx
│ │ ├── Toggle.tsx
│ │ ├── Tooltip.tsx
│ │ ├── View.tsx
│ │ ├── hooks
│ │ │ └── useResponsive.ts
│ │ ├── icons
│ │ │ ├── .gitignore
│ │ │ ├── .svgrrc.js
│ │ │ ├── AnimatedLoading.tsx
│ │ │ ├── Loading.tsx
│ │ │ ├── add-attribute.js
│ │ │ ├── index-template.ts
│ │ │ ├── logo
│ │ │ │ ├── Logo.tsx
│ │ │ │ ├── index.ts
│ │ │ │ └── logo.svg
│ │ │ ├── template.ts
│ │ │ ├── v0
│ │ │ │ ├── Add.svg
│ │ │ │ ├── Add.tsx
│ │ │ │ ├── Delete.svg
│ │ │ │ ├── Delete.tsx
│ │ │ │ ├── ExpandArrow.svg
│ │ │ │ ├── ExpandArrow.tsx
│ │ │ │ ├── LeftArrow2.svg
│ │ │ │ ├── LeftArrow2.tsx
│ │ │ │ ├── Math.svg
│ │ │ │ ├── Math.tsx
│ │ │ │ ├── Merge.tsx
│ │ │ │ ├── RightArrow2.svg
│ │ │ │ ├── RightArrow2.tsx
│ │ │ │ ├── Split.tsx
│ │ │ │ ├── Subtract.svg
│ │ │ │ ├── Subtract.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── merge.svg
│ │ │ │ └── split.svg
│ │ │ ├── v1
│ │ │ │ ├── Add.tsx
│ │ │ │ ├── AddOutline.tsx
│ │ │ │ ├── AddSolid.tsx
│ │ │ │ ├── Adjust.tsx
│ │ │ │ ├── Airplane.tsx
│ │ │ │ ├── Album.tsx
│ │ │ │ ├── AlignCenter.tsx
│ │ │ │ ├── AlignJustified.tsx
│ │ │ │ ├── AlignLeft.tsx
│ │ │ │ ├── AlignRight.tsx
│ │ │ │ ├── Anchor.tsx
│ │ │ │ ├── Announcement.tsx
│ │ │ │ ├── Apparel.tsx
│ │ │ │ ├── ArrowDown.tsx
│ │ │ │ ├── ArrowLeft.tsx
│ │ │ │ ├── ArrowOutlineDown.tsx
│ │ │ │ ├── ArrowOutlineLeft.tsx
│ │ │ │ ├── ArrowOutlineRight.tsx
│ │ │ │ ├── ArrowOutlineUp.tsx
│ │ │ │ ├── ArrowRight.tsx
│ │ │ │ ├── ArrowThickDown.tsx
│ │ │ │ ├── ArrowThickLeft.tsx
│ │ │ │ ├── ArrowThickRight.tsx
│ │ │ │ ├── ArrowThickUp.tsx
│ │ │ │ ├── ArrowThinDown.tsx
│ │ │ │ ├── ArrowThinLeft.tsx
│ │ │ │ ├── ArrowThinRight.tsx
│ │ │ │ ├── ArrowThinUp.tsx
│ │ │ │ ├── ArrowUp.tsx
│ │ │ │ ├── Artist.tsx
│ │ │ │ ├── AtSymbol.tsx
│ │ │ │ ├── Attachment.tsx
│ │ │ │ ├── Backspace.tsx
│ │ │ │ ├── Backward.tsx
│ │ │ │ ├── BackwardStep.tsx
│ │ │ │ ├── Badge.tsx
│ │ │ │ ├── BatteryFull.tsx
│ │ │ │ ├── BatteryHalf.tsx
│ │ │ │ ├── BatteryLow.tsx
│ │ │ │ ├── Beverage.tsx
│ │ │ │ ├── Block.tsx
│ │ │ │ ├── Bluetooth.tsx
│ │ │ │ ├── Bolt.tsx
│ │ │ │ ├── BookReference.tsx
│ │ │ │ ├── Bookmark.tsx
│ │ │ │ ├── BookmarkCopy2.tsx
│ │ │ │ ├── BookmarkCopy3.tsx
│ │ │ │ ├── BookmarkOutline.tsx
│ │ │ │ ├── BookmarkOutlineAdd.tsx
│ │ │ │ ├── BorderAll.tsx
│ │ │ │ ├── BorderBottom.tsx
│ │ │ │ ├── BorderHorizontal.tsx
│ │ │ │ ├── BorderInner.tsx
│ │ │ │ ├── BorderLeft.tsx
│ │ │ │ ├── BorderNone.tsx
│ │ │ │ ├── BorderOuter.tsx
│ │ │ │ ├── BorderRight.tsx
│ │ │ │ ├── BorderTop.tsx
│ │ │ │ ├── BorderVertical.tsx
│ │ │ │ ├── Box.tsx
│ │ │ │ ├── BrightnessDown.tsx
│ │ │ │ ├── BrightnessUp.tsx
│ │ │ │ ├── BrowserWindow.tsx
│ │ │ │ ├── BrowserWindowNew.tsx
│ │ │ │ ├── BrowserWindowOpen.tsx
│ │ │ │ ├── Bug.tsx
│ │ │ │ ├── Buoy.tsx
│ │ │ │ ├── Calculator.tsx
│ │ │ │ ├── Calendar.tsx
│ │ │ │ ├── Camera.tsx
│ │ │ │ ├── Chart.tsx
│ │ │ │ ├── ChartArea.tsx
│ │ │ │ ├── ChartBar.tsx
│ │ │ │ ├── ChartPie.tsx
│ │ │ │ ├── ChatBubbleDots.tsx
│ │ │ │ ├── CheckAlternative.tsx
│ │ │ │ ├── Checkmark.tsx
│ │ │ │ ├── CheckmarkOutline.tsx
│ │ │ │ ├── CheveronDown.tsx
│ │ │ │ ├── CheveronLeft.tsx
│ │ │ │ ├── CheveronOutlineDown.tsx
│ │ │ │ ├── CheveronOutlineLeft.tsx
│ │ │ │ ├── CheveronOutlineRight.tsx
│ │ │ │ ├── CheveronOutlineUp.tsx
│ │ │ │ ├── CheveronRight.tsx
│ │ │ │ ├── CheveronUp.tsx
│ │ │ │ ├── Clipboard.tsx
│ │ │ │ ├── Close.tsx
│ │ │ │ ├── CloseOutline.tsx
│ │ │ │ ├── CloseSolid.tsx
│ │ │ │ ├── Cloud.tsx
│ │ │ │ ├── CloudCheck.tsx
│ │ │ │ ├── CloudDownload.tsx
│ │ │ │ ├── CloudUpload.tsx
│ │ │ │ ├── CloudWarning.tsx
│ │ │ │ ├── Code.tsx
│ │ │ │ ├── Coffee.tsx
│ │ │ │ ├── Cog.tsx
│ │ │ │ ├── ColorPalette.tsx
│ │ │ │ ├── Compose.tsx
│ │ │ │ ├── ComputerDesktop.tsx
│ │ │ │ ├── ComputerLaptop.tsx
│ │ │ │ ├── Conversation.tsx
│ │ │ │ ├── Copy.tsx
│ │ │ │ ├── CreditCard.tsx
│ │ │ │ ├── CurrencyDollar.tsx
│ │ │ │ ├── Dashboard.tsx
│ │ │ │ ├── DateAdd.tsx
│ │ │ │ ├── DialPad.tsx
│ │ │ │ ├── Directions.tsx
│ │ │ │ ├── Document.tsx
│ │ │ │ ├── DocumentAdd.tsx
│ │ │ │ ├── DotsHorizontalDouble.tsx
│ │ │ │ ├── DotsHorizontalTriple.tsx
│ │ │ │ ├── Download.tsx
│ │ │ │ ├── Duplicate.tsx
│ │ │ │ ├── EditCopy.tsx
│ │ │ │ ├── EditCrop.tsx
│ │ │ │ ├── EditCut.tsx
│ │ │ │ ├── EditPencil.tsx
│ │ │ │ ├── Education.tsx
│ │ │ │ ├── Envelope.tsx
│ │ │ │ ├── Equals.tsx
│ │ │ │ ├── ExclamationOutline.tsx
│ │ │ │ ├── ExclamationSolid.tsx
│ │ │ │ ├── Explore.tsx
│ │ │ │ ├── Factory.tsx
│ │ │ │ ├── FastForward.tsx
│ │ │ │ ├── FastRewind.tsx
│ │ │ │ ├── FileDouble.tsx
│ │ │ │ ├── Film.tsx
│ │ │ │ ├── Filter.tsx
│ │ │ │ ├── Flag.tsx
│ │ │ │ ├── Flashlight.tsx
│ │ │ │ ├── Folder.tsx
│ │ │ │ ├── FolderOutline.tsx
│ │ │ │ ├── FolderOutlineAdd.tsx
│ │ │ │ ├── FormatBold.tsx
│ │ │ │ ├── FormatFontSize.tsx
│ │ │ │ ├── FormatItalic.tsx
│ │ │ │ ├── FormatTextSize.tsx
│ │ │ │ ├── FormatUnderline.tsx
│ │ │ │ ├── Forward.tsx
│ │ │ │ ├── ForwardStep.tsx
│ │ │ │ ├── Gift.tsx
│ │ │ │ ├── Globe.tsx
│ │ │ │ ├── HandStop.tsx
│ │ │ │ ├── HardDrive.tsx
│ │ │ │ ├── Headphones.tsx
│ │ │ │ ├── Heart.tsx
│ │ │ │ ├── Home.tsx
│ │ │ │ ├── Hot.tsx
│ │ │ │ ├── HourGlass.tsx
│ │ │ │ ├── Inbox.tsx
│ │ │ │ ├── InboxCheck.tsx
│ │ │ │ ├── InboxDownload.tsx
│ │ │ │ ├── InboxFull.tsx
│ │ │ │ ├── IndentDecrease.tsx
│ │ │ │ ├── IndentIncrease.tsx
│ │ │ │ ├── InformationOutline.tsx
│ │ │ │ ├── InformationSolid.tsx
│ │ │ │ ├── Key.tsx
│ │ │ │ ├── Keyboard.tsx
│ │ │ │ ├── Layers.tsx
│ │ │ │ ├── Library.tsx
│ │ │ │ ├── LightBulb.tsx
│ │ │ │ ├── Link.tsx
│ │ │ │ ├── List.tsx
│ │ │ │ ├── ListAdd.tsx
│ │ │ │ ├── ListBullet.tsx
│ │ │ │ ├── LoadBalancer.tsx
│ │ │ │ ├── Location.tsx
│ │ │ │ ├── LocationCurrent.tsx
│ │ │ │ ├── LocationFood.tsx
│ │ │ │ ├── LocationGasStation.tsx
│ │ │ │ ├── LocationHotel.tsx
│ │ │ │ ├── LocationMarina.tsx
│ │ │ │ ├── LocationPark.tsx
│ │ │ │ ├── LocationRestroom.tsx
│ │ │ │ ├── LocationShopping.tsx
│ │ │ │ ├── LockClosed.tsx
│ │ │ │ ├── LockOpen.tsx
│ │ │ │ ├── Map.tsx
│ │ │ │ ├── Menu.tsx
│ │ │ │ ├── Mic.tsx
│ │ │ │ ├── MinusOutline.tsx
│ │ │ │ ├── MinusSolid.tsx
│ │ │ │ ├── MobileDevices.tsx
│ │ │ │ ├── MoneyBag.tsx
│ │ │ │ ├── MoodHappyOutline.tsx
│ │ │ │ ├── MoodHappySolid.tsx
│ │ │ │ ├── MoodNeutralOutline.tsx
│ │ │ │ ├── MoodNeutralSolid.tsx
│ │ │ │ ├── MoodSadOutline.tsx
│ │ │ │ ├── MoodSadSolid.tsx
│ │ │ │ ├── Mouse.tsx
│ │ │ │ ├── MoveBack.tsx
│ │ │ │ ├── MusicAlbum.tsx
│ │ │ │ ├── MusicArtist.tsx
│ │ │ │ ├── MusicNotes.tsx
│ │ │ │ ├── MusicPlaylist.tsx
│ │ │ │ ├── NavigationMore.tsx
│ │ │ │ ├── Network.tsx
│ │ │ │ ├── NewsPaper.tsx
│ │ │ │ ├── Notification.tsx
│ │ │ │ ├── Notifications.tsx
│ │ │ │ ├── NotificationsOutline.tsx
│ │ │ │ ├── Paste.tsx
│ │ │ │ ├── Pause.tsx
│ │ │ │ ├── PauseOutline.tsx
│ │ │ │ ├── PauseSolid.tsx
│ │ │ │ ├── PenTool.tsx
│ │ │ │ ├── PencilWrite.tsx
│ │ │ │ ├── Phone.tsx
│ │ │ │ ├── Photo.tsx
│ │ │ │ ├── PhpElephant.tsx
│ │ │ │ ├── PiggyBank.tsx
│ │ │ │ ├── Pin.tsx
│ │ │ │ ├── Play.tsx
│ │ │ │ ├── PlayOutline.tsx
│ │ │ │ ├── Playlist.tsx
│ │ │ │ ├── Plugin.tsx
│ │ │ │ ├── Portfolio.tsx
│ │ │ │ ├── Printer.tsx
│ │ │ │ ├── Pylon.tsx
│ │ │ │ ├── Question.tsx
│ │ │ │ ├── Queue.tsx
│ │ │ │ ├── Radar.tsx
│ │ │ │ ├── RadarCopy2.tsx
│ │ │ │ ├── Radio.tsx
│ │ │ │ ├── Refresh.tsx
│ │ │ │ ├── Reload.tsx
│ │ │ │ ├── Reply.tsx
│ │ │ │ ├── ReplyAll.tsx
│ │ │ │ ├── Reports.tsx
│ │ │ │ ├── Repost.tsx
│ │ │ │ ├── SaveDisk.tsx
│ │ │ │ ├── ScreenFull.tsx
│ │ │ │ ├── Search.tsx
│ │ │ │ ├── Send.tsx
│ │ │ │ ├── Servers.tsx
│ │ │ │ ├── Share.tsx
│ │ │ │ ├── Share01.tsx
│ │ │ │ ├── ShareAlt.tsx
│ │ │ │ ├── Shield.tsx
│ │ │ │ ├── ShoppingCart.tsx
│ │ │ │ ├── ShowSidebar.tsx
│ │ │ │ ├── Shuffle.tsx
│ │ │ │ ├── StandBy.tsx
│ │ │ │ ├── StarFull.tsx
│ │ │ │ ├── Station.tsx
│ │ │ │ ├── StepBackward.tsx
│ │ │ │ ├── StepForward.tsx
│ │ │ │ ├── Stethoscope.tsx
│ │ │ │ ├── StoreFront.tsx
│ │ │ │ ├── StrokeWidth.tsx
│ │ │ │ ├── SubdirectoryLeft.tsx
│ │ │ │ ├── SubdirectoryRight.tsx
│ │ │ │ ├── Subtract.tsx
│ │ │ │ ├── Swap.tsx
│ │ │ │ ├── Tablet.tsx
│ │ │ │ ├── Tag.tsx
│ │ │ │ ├── Target.tsx
│ │ │ │ ├── TextBox.tsx
│ │ │ │ ├── TextDecoration.tsx
│ │ │ │ ├── Thermometer.tsx
│ │ │ │ ├── ThumbsDown.tsx
│ │ │ │ ├── ThumbsUp.tsx
│ │ │ │ ├── Ticket.tsx
│ │ │ │ ├── Time.tsx
│ │ │ │ ├── Timer.tsx
│ │ │ │ ├── ToolsCopy.tsx
│ │ │ │ ├── Translate.tsx
│ │ │ │ ├── Trash.tsx
│ │ │ │ ├── Travel.tsx
│ │ │ │ ├── TravelBus.tsx
│ │ │ │ ├── TravelCar.tsx
│ │ │ │ ├── TravelCase.tsx
│ │ │ │ ├── TravelTaxiCab.tsx
│ │ │ │ ├── TravelTrain.tsx
│ │ │ │ ├── TravelWalk.tsx
│ │ │ │ ├── Trophy.tsx
│ │ │ │ ├── Tuning.tsx
│ │ │ │ ├── Upload.tsx
│ │ │ │ ├── Usb.tsx
│ │ │ │ ├── User.tsx
│ │ │ │ ├── UserAdd.tsx
│ │ │ │ ├── UserGroup.tsx
│ │ │ │ ├── UserSolidCircle.tsx
│ │ │ │ ├── UserSolidSquare.tsx
│ │ │ │ ├── Vector.tsx
│ │ │ │ ├── VideoCamera.tsx
│ │ │ │ ├── ViewCarousel.tsx
│ │ │ │ ├── ViewColumn.tsx
│ │ │ │ ├── ViewHide.tsx
│ │ │ │ ├── ViewList.tsx
│ │ │ │ ├── ViewShow.tsx
│ │ │ │ ├── ViewTile.tsx
│ │ │ │ ├── VolumeDown.tsx
│ │ │ │ ├── VolumeMute.tsx
│ │ │ │ ├── VolumeOff.tsx
│ │ │ │ ├── VolumeUp.tsx
│ │ │ │ ├── Wallet.tsx
│ │ │ │ ├── Watch.tsx
│ │ │ │ ├── Window.tsx
│ │ │ │ ├── WindowNew.tsx
│ │ │ │ ├── WindowOpen.tsx
│ │ │ │ ├── Wrench.tsx
│ │ │ │ ├── YinYang.tsx
│ │ │ │ ├── ZoomIn.tsx
│ │ │ │ ├── ZoomOut.tsx
│ │ │ │ ├── add-outline.svg
│ │ │ │ ├── add-solid.svg
│ │ │ │ ├── add.svg
│ │ │ │ ├── adjust.svg
│ │ │ │ ├── airplane.svg
│ │ │ │ ├── album.svg
│ │ │ │ ├── align-center.svg
│ │ │ │ ├── align-justified.svg
│ │ │ │ ├── align-left.svg
│ │ │ │ ├── align-right.svg
│ │ │ │ ├── anchor.svg
│ │ │ │ ├── announcement.svg
│ │ │ │ ├── apparel.svg
│ │ │ │ ├── arrow-down.svg
│ │ │ │ ├── arrow-left.svg
│ │ │ │ ├── arrow-outline-down.svg
│ │ │ │ ├── arrow-outline-left.svg
│ │ │ │ ├── arrow-outline-right.svg
│ │ │ │ ├── arrow-outline-up.svg
│ │ │ │ ├── arrow-right.svg
│ │ │ │ ├── arrow-thick-down.svg
│ │ │ │ ├── arrow-thick-left.svg
│ │ │ │ ├── arrow-thick-right.svg
│ │ │ │ ├── arrow-thick-up.svg
│ │ │ │ ├── arrow-thin-down.svg
│ │ │ │ ├── arrow-thin-left.svg
│ │ │ │ ├── arrow-thin-right.svg
│ │ │ │ ├── arrow-thin-up.svg
│ │ │ │ ├── arrow-up.svg
│ │ │ │ ├── artist.svg
│ │ │ │ ├── at-symbol.svg
│ │ │ │ ├── attachment.svg
│ │ │ │ ├── backspace.svg
│ │ │ │ ├── backward-step.svg
│ │ │ │ ├── backward.svg
│ │ │ │ ├── badge.svg
│ │ │ │ ├── battery-full.svg
│ │ │ │ ├── battery-half.svg
│ │ │ │ ├── battery-low.svg
│ │ │ │ ├── beverage.svg
│ │ │ │ ├── block.svg
│ │ │ │ ├── bluetooth.svg
│ │ │ │ ├── bolt.svg
│ │ │ │ ├── book-reference.svg
│ │ │ │ ├── bookmark copy 2.svg
│ │ │ │ ├── bookmark copy 3.svg
│ │ │ │ ├── bookmark-outline-add.svg
│ │ │ │ ├── bookmark-outline.svg
│ │ │ │ ├── bookmark.svg
│ │ │ │ ├── border-all.svg
│ │ │ │ ├── border-bottom.svg
│ │ │ │ ├── border-horizontal.svg
│ │ │ │ ├── border-inner.svg
│ │ │ │ ├── border-left.svg
│ │ │ │ ├── border-none.svg
│ │ │ │ ├── border-outer.svg
│ │ │ │ ├── border-right.svg
│ │ │ │ ├── border-top.svg
│ │ │ │ ├── border-vertical.svg
│ │ │ │ ├── box.svg
│ │ │ │ ├── brightness-down.svg
│ │ │ │ ├── brightness-up.svg
│ │ │ │ ├── browser-window-new.svg
│ │ │ │ ├── browser-window-open.svg
│ │ │ │ ├── browser-window.svg
│ │ │ │ ├── bug.svg
│ │ │ │ ├── buoy.svg
│ │ │ │ ├── calculator.svg
│ │ │ │ ├── calendar.svg
│ │ │ │ ├── camera.svg
│ │ │ │ ├── chart-bar.svg
│ │ │ │ ├── chart-pie.svg
│ │ │ │ ├── chart.svg
│ │ │ │ ├── chat-bubble-dots.svg
│ │ │ │ ├── check-alternative.svg
│ │ │ │ ├── checkmark-outline.svg
│ │ │ │ ├── checkmark.svg
│ │ │ │ ├── cheveron-down.svg
│ │ │ │ ├── cheveron-left.svg
│ │ │ │ ├── cheveron-outline-down.svg
│ │ │ │ ├── cheveron-outline-left.svg
│ │ │ │ ├── cheveron-outline-right.svg
│ │ │ │ ├── cheveron-outline-up.svg
│ │ │ │ ├── cheveron-right.svg
│ │ │ │ ├── cheveron-up.svg
│ │ │ │ ├── clipboard.svg
│ │ │ │ ├── close-outline.svg
│ │ │ │ ├── close-solid.svg
│ │ │ │ ├── close.svg
│ │ │ │ ├── cloud-check.svg
│ │ │ │ ├── cloud-download.svg
│ │ │ │ ├── cloud-upload.svg
│ │ │ │ ├── cloud-warning.svg
│ │ │ │ ├── cloud.svg
│ │ │ │ ├── code.svg
│ │ │ │ ├── coffee.svg
│ │ │ │ ├── cog.svg
│ │ │ │ ├── color-palette.svg
│ │ │ │ ├── compose.svg
│ │ │ │ ├── computer-desktop.svg
│ │ │ │ ├── computer-laptop.svg
│ │ │ │ ├── conversation.svg
│ │ │ │ ├── copy.svg
│ │ │ │ ├── credit-card.svg
│ │ │ │ ├── currency-dollar.svg
│ │ │ │ ├── dashboard.svg
│ │ │ │ ├── date-add.svg
│ │ │ │ ├── dial-pad.svg
│ │ │ │ ├── directions.svg
│ │ │ │ ├── document-add.svg
│ │ │ │ ├── document.svg
│ │ │ │ ├── dots-horizontal-double.svg
│ │ │ │ ├── dots-horizontal-triple.svg
│ │ │ │ ├── download.svg
│ │ │ │ ├── duplicate.svg
│ │ │ │ ├── edit-copy.svg
│ │ │ │ ├── edit-crop.svg
│ │ │ │ ├── edit-cut.svg
│ │ │ │ ├── edit-pencil.svg
│ │ │ │ ├── education.svg
│ │ │ │ ├── envelope.svg
│ │ │ │ ├── equals.svg
│ │ │ │ ├── exclamation-outline.svg
│ │ │ │ ├── exclamation-solid.svg
│ │ │ │ ├── explore.svg
│ │ │ │ ├── factory.svg
│ │ │ │ ├── fast-forward.svg
│ │ │ │ ├── fast-rewind.svg
│ │ │ │ ├── file-double.svg
│ │ │ │ ├── film.svg
│ │ │ │ ├── filter.svg
│ │ │ │ ├── flag.svg
│ │ │ │ ├── flashlight.svg
│ │ │ │ ├── folder-outline-add.svg
│ │ │ │ ├── folder-outline.svg
│ │ │ │ ├── folder.svg
│ │ │ │ ├── format-bold.svg
│ │ │ │ ├── format-font-size.svg
│ │ │ │ ├── format-italic.svg
│ │ │ │ ├── format-text-size.svg
│ │ │ │ ├── format-underline.svg
│ │ │ │ ├── forward-step.svg
│ │ │ │ ├── forward.svg
│ │ │ │ ├── gift.svg
│ │ │ │ ├── globe.svg
│ │ │ │ ├── hand-stop.svg
│ │ │ │ ├── hard-drive.svg
│ │ │ │ ├── headphones.svg
│ │ │ │ ├── heart.svg
│ │ │ │ ├── home.svg
│ │ │ │ ├── hot.svg
│ │ │ │ ├── hour-glass.svg
│ │ │ │ ├── inbox-check.svg
│ │ │ │ ├── inbox-download.svg
│ │ │ │ ├── inbox-full.svg
│ │ │ │ ├── inbox.svg
│ │ │ │ ├── indent-decrease.svg
│ │ │ │ ├── indent-increase.svg
│ │ │ │ ├── index.ts
│ │ │ │ ├── information-outline.svg
│ │ │ │ ├── information-solid.svg
│ │ │ │ ├── key.svg
│ │ │ │ ├── keyboard.svg
│ │ │ │ ├── layers.svg
│ │ │ │ ├── library.svg
│ │ │ │ ├── light-bulb.svg
│ │ │ │ ├── link.svg
│ │ │ │ ├── list-add.svg
│ │ │ │ ├── list-bullet.svg
│ │ │ │ ├── list.svg
│ │ │ │ ├── load-balancer.svg
│ │ │ │ ├── location-current.svg
│ │ │ │ ├── location-food.svg
│ │ │ │ ├── location-gas-station.svg
│ │ │ │ ├── location-hotel.svg
│ │ │ │ ├── location-marina.svg
│ │ │ │ ├── location-park.svg
│ │ │ │ ├── location-restroom.svg
│ │ │ │ ├── location-shopping.svg
│ │ │ │ ├── location.svg
│ │ │ │ ├── lock-closed.svg
│ │ │ │ ├── lock-open.svg
│ │ │ │ ├── map.svg
│ │ │ │ ├── menu.svg
│ │ │ │ ├── mic.svg
│ │ │ │ ├── minus-outline.svg
│ │ │ │ ├── minus-solid.svg
│ │ │ │ ├── mobile-devices.svg
│ │ │ │ ├── money-bag.svg
│ │ │ │ ├── mood-happy-outline.svg
│ │ │ │ ├── mood-happy-solid.svg
│ │ │ │ ├── mood-neutral-outline.svg
│ │ │ │ ├── mood-neutral-solid.svg
│ │ │ │ ├── mood-sad-outline.svg
│ │ │ │ ├── mood-sad-solid.svg
│ │ │ │ ├── mouse.svg
│ │ │ │ ├── move-back.svg
│ │ │ │ ├── music-album.svg
│ │ │ │ ├── music-artist.svg
│ │ │ │ ├── music-notes.svg
│ │ │ │ ├── music-playlist.svg
│ │ │ │ ├── navigation-more.svg
│ │ │ │ ├── network.svg
│ │ │ │ ├── news-paper.svg
│ │ │ │ ├── notification.svg
│ │ │ │ ├── notifications-outline.svg
│ │ │ │ ├── notifications.svg
│ │ │ │ ├── paste.svg
│ │ │ │ ├── pause-outline.svg
│ │ │ │ ├── pause-solid.svg
│ │ │ │ ├── pause.svg
│ │ │ │ ├── pen-tool.svg
│ │ │ │ ├── pencil-write.svg
│ │ │ │ ├── phone.svg
│ │ │ │ ├── photo.svg
│ │ │ │ ├── php-elephant.svg
│ │ │ │ ├── piggy-bank.svg
│ │ │ │ ├── pin.svg
│ │ │ │ ├── play-outline.svg
│ │ │ │ ├── play.svg
│ │ │ │ ├── playlist.svg
│ │ │ │ ├── plugin.svg
│ │ │ │ ├── portfolio.svg
│ │ │ │ ├── printer.svg
│ │ │ │ ├── pylon.svg
│ │ │ │ ├── question.svg
│ │ │ │ ├── queue.svg
│ │ │ │ ├── radar copy 2.svg
│ │ │ │ ├── radar.svg
│ │ │ │ ├── radio.svg
│ │ │ │ ├── refresh.svg
│ │ │ │ ├── reload.svg
│ │ │ │ ├── reply-all.svg
│ │ │ │ ├── reply.svg
│ │ │ │ ├── reports.svg
│ │ │ │ ├── repost.svg
│ │ │ │ ├── save-disk.svg
│ │ │ │ ├── screen-full.svg
│ │ │ │ ├── search.svg
│ │ │ │ ├── send.svg
│ │ │ │ ├── servers.svg
│ │ │ │ ├── share-01.svg
│ │ │ │ ├── share-alt.svg
│ │ │ │ ├── share.svg
│ │ │ │ ├── shield.svg
│ │ │ │ ├── shopping-cart.svg
│ │ │ │ ├── show-sidebar.svg
│ │ │ │ ├── shuffle.svg
│ │ │ │ ├── stand-by.svg
│ │ │ │ ├── star-full.svg
│ │ │ │ ├── station.svg
│ │ │ │ ├── step-backward.svg
│ │ │ │ ├── step-forward.svg
│ │ │ │ ├── stethoscope.svg
│ │ │ │ ├── store-front.svg
│ │ │ │ ├── stroke-width.svg
│ │ │ │ ├── subdirectory-left.svg
│ │ │ │ ├── subdirectory-right.svg
│ │ │ │ ├── subtract.svg
│ │ │ │ ├── swap.svg
│ │ │ │ ├── tablet.svg
│ │ │ │ ├── tag.svg
│ │ │ │ ├── target.svg
│ │ │ │ ├── text-box.svg
│ │ │ │ ├── text-decoration.svg
│ │ │ │ ├── thermometer.svg
│ │ │ │ ├── thumbs-down.svg
│ │ │ │ ├── thumbs-up.svg
│ │ │ │ ├── ticket.svg
│ │ │ │ ├── time.svg
│ │ │ │ ├── timer.svg
│ │ │ │ ├── tools copy.svg
│ │ │ │ ├── translate.svg
│ │ │ │ ├── trash.svg
│ │ │ │ ├── travel-bus.svg
│ │ │ │ ├── travel-car.svg
│ │ │ │ ├── travel-case.svg
│ │ │ │ ├── travel-taxi-cab.svg
│ │ │ │ ├── travel-train.svg
│ │ │ │ ├── travel-walk.svg
│ │ │ │ ├── travel.svg
│ │ │ │ ├── trophy.svg
│ │ │ │ ├── tuning.svg
│ │ │ │ ├── upload.svg
│ │ │ │ ├── usb.svg
│ │ │ │ ├── user-add.svg
│ │ │ │ ├── user-group.svg
│ │ │ │ ├── user-solid-circle.svg
│ │ │ │ ├── user-solid-square.svg
│ │ │ │ ├── user.svg
│ │ │ │ ├── vector.svg
│ │ │ │ ├── video-camera.svg
│ │ │ │ ├── view-carousel.svg
│ │ │ │ ├── view-column.svg
│ │ │ │ ├── view-hide.svg
│ │ │ │ ├── view-list.svg
│ │ │ │ ├── view-show.svg
│ │ │ │ ├── view-tile.svg
│ │ │ │ ├── volume-down.svg
│ │ │ │ ├── volume-mute.svg
│ │ │ │ ├── volume-off.svg
│ │ │ │ ├── volume-up.svg
│ │ │ │ ├── wallet.svg
│ │ │ │ ├── watch.svg
│ │ │ │ ├── window-new.svg
│ │ │ │ ├── window-open.svg
│ │ │ │ ├── window.svg
│ │ │ │ ├── wrench.svg
│ │ │ │ ├── yin-yang.svg
│ │ │ │ ├── zoom-in.svg
│ │ │ │ └── zoom-out.svg
│ │ │ └── v2
│ │ │ │ ├── AlertTriangle.tsx
│ │ │ │ ├── ArrowButtonDown1.tsx
│ │ │ │ ├── ArrowButtonLeft1.tsx
│ │ │ │ ├── ArrowButtonRight1.tsx
│ │ │ │ ├── ArrowButtonSingleLeft1.tsx
│ │ │ │ ├── ArrowButtonUp1.tsx
│ │ │ │ ├── ArrowsExpand3.tsx
│ │ │ │ ├── ArrowsShrink3.tsx
│ │ │ │ ├── ArrowsSynchronize.tsx
│ │ │ │ ├── Calendar.tsx
│ │ │ │ ├── Calendar3.tsx
│ │ │ │ ├── Check.tsx
│ │ │ │ ├── CheckAll.tsx
│ │ │ │ ├── CheckCircle1.tsx
│ │ │ │ ├── CheckCircleHollow.tsx
│ │ │ │ ├── CloseParenthesis.svg
│ │ │ │ ├── CloseParenthesis.tsx
│ │ │ │ ├── CloudUnknown.tsx
│ │ │ │ ├── CloudUpload.tsx
│ │ │ │ ├── CustomNotesPaper.tsx
│ │ │ │ ├── DownAndRightArrow.tsx
│ │ │ │ ├── DownloadThickBottom.tsx
│ │ │ │ ├── EditSkull1.tsx
│ │ │ │ ├── FavoriteStar.tsx
│ │ │ │ ├── Filter2.tsx
│ │ │ │ ├── Help.tsx
│ │ │ │ ├── Hyperlink2.tsx
│ │ │ │ ├── Hyperlink3.tsx
│ │ │ │ ├── InformationCircle.tsx
│ │ │ │ ├── Key.tsx
│ │ │ │ ├── LockClosed.tsx
│ │ │ │ ├── MoonStars.tsx
│ │ │ │ ├── NavigationMenu.tsx
│ │ │ │ ├── NotesPaper.tsx
│ │ │ │ ├── NotesPaperText.tsx
│ │ │ │ ├── OpenParenthesis.svg
│ │ │ │ ├── OpenParenthesis.tsx
│ │ │ │ ├── Pencil1.tsx
│ │ │ │ ├── PencilWriteAlternate.tsx
│ │ │ │ ├── RefreshArrow.tsx
│ │ │ │ ├── Remove.tsx
│ │ │ │ ├── RemoveAlternate.tsx
│ │ │ │ ├── Search1.tsx
│ │ │ │ ├── SearchAlternate.tsx
│ │ │ │ ├── SettingsSliderAlternate.tsx
│ │ │ │ ├── Subtract.tsx
│ │ │ │ ├── Sum.svg
│ │ │ │ ├── Sum.tsx
│ │ │ │ ├── Sun.tsx
│ │ │ │ ├── System.svg
│ │ │ │ ├── System.tsx
│ │ │ │ ├── UncheckAll.tsx
│ │ │ │ ├── UploadThickBottom.tsx
│ │ │ │ ├── ValidationCheck.tsx
│ │ │ │ ├── ViewHide.tsx
│ │ │ │ ├── ViewShow.tsx
│ │ │ │ ├── alert-triangle.svg
│ │ │ │ ├── arrow-button-down-1.svg
│ │ │ │ ├── arrow-button-left-1.svg
│ │ │ │ ├── arrow-button-right-1.svg
│ │ │ │ ├── arrow-button-single-left-1.svg
│ │ │ │ ├── arrow-button-up-1.svg
│ │ │ │ ├── arrows-expand-3.svg
│ │ │ │ ├── arrows-shrink-3.svg
│ │ │ │ ├── arrows-synchronize.svg
│ │ │ │ ├── calendar-3.svg
│ │ │ │ ├── calendar.svg
│ │ │ │ ├── check-all.svg
│ │ │ │ ├── check-circle-1.svg
│ │ │ │ ├── check-circle-hollow.svg
│ │ │ │ ├── check.svg
│ │ │ │ ├── cloud-unknown.svg
│ │ │ │ ├── cloud-upload.svg
│ │ │ │ ├── custom-notes-paper.svg
│ │ │ │ ├── down-and-right-arrow.svg
│ │ │ │ ├── download-thick-bottom.svg
│ │ │ │ ├── edit-skull-1.svg
│ │ │ │ ├── favorite-star.svg
│ │ │ │ ├── filter-2.svg
│ │ │ │ ├── help.svg
│ │ │ │ ├── hyperlink-2.svg
│ │ │ │ ├── hyperlink-3.svg
│ │ │ │ ├── index.ts
│ │ │ │ ├── information-circle.svg
│ │ │ │ ├── key.svg
│ │ │ │ ├── lock-closed.svg
│ │ │ │ ├── moon-stars.svg
│ │ │ │ ├── navigation-menu.svg
│ │ │ │ ├── notes-paper-text.svg
│ │ │ │ ├── notes-paper.svg
│ │ │ │ ├── pencil-1.svg
│ │ │ │ ├── pencil-write-alternate.svg
│ │ │ │ ├── refresh-arrow.svg
│ │ │ │ ├── remove-alternate.svg
│ │ │ │ ├── remove.svg
│ │ │ │ ├── search-1.svg
│ │ │ │ ├── search-alternate.svg
│ │ │ │ ├── settings-slider-alternate.svg
│ │ │ │ ├── subtract.svg
│ │ │ │ ├── sun.svg
│ │ │ │ ├── uncheck-all.svg
│ │ │ │ ├── upload-thick-bottom.svg
│ │ │ │ ├── validation-check.svg
│ │ │ │ ├── view-hide.svg
│ │ │ │ └── view-show.svg
│ │ ├── styles.ts
│ │ ├── theme.ts
│ │ └── tokens.ts
│ └── vitest.web.config.ts
├── crdt
│ ├── .gitignore
│ ├── README.md
│ ├── bin
│ │ └── generate-proto
│ ├── index.ts
│ ├── package.json
│ ├── src
│ │ ├── crdt
│ │ │ ├── __snapshots__
│ │ │ │ └── merkle.test.ts.snap
│ │ │ ├── index.ts
│ │ │ ├── merkle.test.ts
│ │ │ ├── merkle.ts
│ │ │ ├── timestamp.test.ts
│ │ │ └── timestamp.ts
│ │ ├── index.ts
│ │ └── proto
│ │ │ ├── sync.proto
│ │ │ ├── sync_pb.d.ts
│ │ │ └── sync_pb.js
│ └── tsconfig.dist.json
├── desktop-client
│ ├── .gitignore
│ ├── .swcrc
│ ├── README.md
│ ├── bin
│ │ ├── build-browser
│ │ ├── remove-untranslated-languages
│ │ └── watch-browser
│ ├── e2e
│ │ ├── accounts.mobile.test.ts
│ │ ├── accounts.mobile.test.ts-snapshots
│ │ │ ├── Mobile-Accounts-opens-individual-account-page-and-checks-that-filtering-is-working-1-chromium-linux.png
│ │ │ ├── Mobile-Accounts-opens-individual-account-page-and-checks-that-filtering-is-working-2-chromium-linux.png
│ │ │ ├── Mobile-Accounts-opens-individual-account-page-and-checks-that-filtering-is-working-3-chromium-linux.png
│ │ │ ├── Mobile-Accounts-opens-individual-account-page-and-checks-that-filtering-is-working-4-chromium-linux.png
│ │ │ ├── Mobile-Accounts-opens-individual-account-page-and-checks-that-filtering-is-working-5-chromium-linux.png
│ │ │ ├── Mobile-Accounts-opens-individual-account-page-and-checks-that-filtering-is-working-6-chromium-linux.png
│ │ │ ├── Mobile-Accounts-opens-individual-account-page-and-checks-that-filtering-is-working-7-chromium-linux.png
│ │ │ ├── Mobile-Accounts-opens-individual-account-page-and-checks-that-filtering-is-working-8-chromium-linux.png
│ │ │ ├── Mobile-Accounts-opens-individual-account-page-and-checks-that-filtering-is-working-9-chromium-linux.png
│ │ │ ├── Mobile-Accounts-opens-the-accounts-page-and-asserts-on-balances-1-chromium-linux.png
│ │ │ ├── Mobile-Accounts-opens-the-accounts-page-and-asserts-on-balances-2-chromium-linux.png
│ │ │ └── Mobile-Accounts-opens-the-accounts-page-and-asserts-on-balances-3-chromium-linux.png
│ │ ├── accounts.test.ts
│ │ ├── accounts.test.ts-snapshots
│ │ │ ├── Accounts-Import-Transactions-import-csv-file-twice-1-chromium-linux.png
│ │ │ ├── Accounts-Import-Transactions-import-csv-file-twice-2-chromium-linux.png
│ │ │ ├── Accounts-Import-Transactions-import-csv-file-twice-3-chromium-linux.png
│ │ │ ├── Accounts-Import-Transactions-imports-transactions-from-a-CSV-file-1-chromium-linux.png
│ │ │ ├── Accounts-Import-Transactions-imports-transactions-from-a-CSV-file-2-chromium-linux.png
│ │ │ ├── Accounts-Import-Transactions-imports-transactions-from-a-CSV-file-3-chromium-linux.png
│ │ │ ├── Accounts-closes-an-account-1-chromium-linux.png
│ │ │ ├── Accounts-closes-an-account-2-chromium-linux.png
│ │ │ ├── Accounts-closes-an-account-3-chromium-linux.png
│ │ │ ├── Accounts-closes-an-account-4-chromium-linux.png
│ │ │ ├── Accounts-closes-an-account-5-chromium-linux.png
│ │ │ ├── Accounts-closes-an-account-6-chromium-linux.png
│ │ │ ├── Accounts-creates-a-new-account-and-views-the-initial-balance-transaction-1-chromium-linux.png
│ │ │ ├── Accounts-creates-a-new-account-and-views-the-initial-balance-transaction-2-chromium-linux.png
│ │ │ └── Accounts-creates-a-new-account-and-views-the-initial-balance-transaction-3-chromium-linux.png
│ │ ├── budget.mobile.test.ts
│ │ ├── budget.mobile.test.ts-snapshots
│ │ │ ├── Mobile-Budget-Envelope-applies-budget-template-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-applies-budget-template-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-applies-budget-template-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking--14404-in-the-page-header-opens-the-month-menu-modal-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking--321fd-ed-amount-opens-the-budget-summary-menu-modal-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking--4bb70-ed-amount-opens-the-budget-summary-menu-modal-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking--589a6-the-page-header-shows-the-next-month-s-budget-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking--6ab37-roup-name-opens-the-category-group-menu-modal-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking--6dbdb-page-header-shows-the-previous-month-s-budget-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking--7bd8f-the-page-header-shows-the-next-month-s-budget-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking--884ac-the-page-header-shows-the-next-month-s-budget-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking--94a79-roup-name-opens-the-category-group-menu-modal-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking--94a85-ed-amount-opens-the-budget-summary-menu-modal-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking--96ebb-page-header-shows-the-previous-month-s-budget-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking--9e6aa-in-the-page-header-opens-the-budget-page-menu-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking--bbde3-roup-name-opens-the-category-group-menu-modal-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking--bed18-in-the-page-header-opens-the-month-menu-modal-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking--c18ad-l-redirects-to-the-category-transactions-page-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking--ceb3a-in-the-page-header-opens-the-month-menu-modal-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking--d270d-in-the-page-header-opens-the-budget-page-menu-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking--d7184-page-header-shows-the-previous-month-s-budget-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking--e995e-l-redirects-to-the-category-transactions-page-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking--fdd57-in-the-page-header-opens-the-budget-page-menu-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking--ff568-l-redirects-to-the-category-transactions-page-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking-the-balance-cell-opens-the-balance-menu-modal-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking-the-balance-cell-opens-the-balance-menu-modal-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking-the-balance-cell-opens-the-balance-menu-modal-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking-the-budgeted-cell-opens-the-budget-menu-modal-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking-the-budgeted-cell-opens-the-budget-menu-modal-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking-the-budgeted-cell-opens-the-budget-menu-modal-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking-the-category-name-opens-the-category-menu-modal-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking-the-category-name-opens-the-category-menu-modal-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-checks-that-clicking-the-category-name-opens-the-category-menu-modal-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-copies-last-month-s-budget-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-copies-last-month-s-budget-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-copies-last-month-s-budget-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-loads-the-budget-page-with-budgeted-amounts-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-loads-the-budget-page-with-budgeted-amounts-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-loads-the-budget-page-with-budgeted-amounts-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-set-budget-to-12-month-average-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-set-budget-to-12-month-average-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-set-budget-to-12-month-average-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-set-budget-to-3-month-average-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-set-budget-to-3-month-average-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-set-budget-to-3-month-average-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-set-budget-to-6-month-average-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-set-budget-to-6-month-average-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-set-budget-to-6-month-average-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-updates-the-budgeted-amount-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-updates-the-budgeted-amount-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Envelope-updates-the-budgeted-amount-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-applies-budget-template-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-applies-budget-template-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-applies-budget-template-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking--0ba04-nt-amount-opens-the-budget-summary-menu-modal-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking--0dfe7-page-header-shows-the-previous-month-s-budget-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking--11290-l-redirects-to-the-category-transactions-page-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking--1ce6d-nt-amount-opens-the-budget-summary-menu-modal-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking--42062-in-the-page-header-opens-the-month-menu-modal-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking--49fb6-in-the-page-header-opens-the-month-menu-modal-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking--57d88-l-redirects-to-the-category-transactions-page-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking--5d90c-l-redirects-to-the-category-transactions-page-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking--5f098-roup-name-opens-the-category-group-menu-modal-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking--7c353-the-page-header-shows-the-next-month-s-budget-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking--929be-roup-name-opens-the-category-group-menu-modal-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking--a3783-in-the-page-header-opens-the-budget-page-menu-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking--a8b5e-in-the-page-header-opens-the-budget-page-menu-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking--b1562-in-the-page-header-opens-the-month-menu-modal-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking--cfb69-page-header-shows-the-previous-month-s-budget-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking--d5af6-the-page-header-shows-the-next-month-s-budget-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking--dc927-roup-name-opens-the-category-group-menu-modal-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking--f2198-the-page-header-shows-the-next-month-s-budget-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking--f224f-nt-amount-opens-the-budget-summary-menu-modal-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking--f7fa3-page-header-shows-the-previous-month-s-budget-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking--f8a19-in-the-page-header-opens-the-budget-page-menu-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking-the-balance-cell-opens-the-balance-menu-modal-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking-the-balance-cell-opens-the-balance-menu-modal-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking-the-balance-cell-opens-the-balance-menu-modal-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking-the-budgeted-cell-opens-the-budget-menu-modal-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking-the-budgeted-cell-opens-the-budget-menu-modal-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking-the-budgeted-cell-opens-the-budget-menu-modal-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking-the-category-name-opens-the-category-menu-modal-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking-the-category-name-opens-the-category-menu-modal-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-checks-that-clicking-the-category-name-opens-the-category-menu-modal-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-copies-last-month-s-budget-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-copies-last-month-s-budget-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-copies-last-month-s-budget-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-loads-the-budget-page-with-budgeted-amounts-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-loads-the-budget-page-with-budgeted-amounts-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-loads-the-budget-page-with-budgeted-amounts-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-set-budget-to-12-month-average-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-set-budget-to-12-month-average-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-set-budget-to-12-month-average-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-set-budget-to-3-month-average-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-set-budget-to-3-month-average-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-set-budget-to-3-month-average-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-set-budget-to-6-month-average-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-set-budget-to-6-month-average-2-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-set-budget-to-6-month-average-3-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-updates-the-budgeted-amount-1-chromium-linux.png
│ │ │ ├── Mobile-Budget-Tracking-updates-the-budgeted-amount-2-chromium-linux.png
│ │ │ └── Mobile-Budget-Tracking-updates-the-budgeted-amount-3-chromium-linux.png
│ │ ├── budget.test.ts
│ │ ├── budget.test.ts-snapshots
│ │ │ ├── Budget-renders-the-summary-information-available-funds-overspent-budgeted-and-for-next-month-1-chromium-linux.png
│ │ │ ├── Budget-renders-the-summary-information-available-funds-overspent-budgeted-and-for-next-month-2-chromium-linux.png
│ │ │ ├── Budget-renders-the-summary-information-available-funds-overspent-budgeted-and-for-next-month-3-chromium-linux.png
│ │ │ ├── Budget-transfer-funds-to-another-category-1-chromium-linux.png
│ │ │ ├── Budget-transfer-funds-to-another-category-2-chromium-linux.png
│ │ │ └── Budget-transfer-funds-to-another-category-3-chromium-linux.png
│ │ ├── data
│ │ │ ├── actual-demo-budget.zip
│ │ │ ├── test.csv
│ │ │ ├── ynab4-demo-budget.zip
│ │ │ └── ynab5-demo-budget.json
│ │ ├── fixtures.ts
│ │ ├── onboarding.test.ts
│ │ ├── onboarding.test.ts-snapshots
│ │ │ ├── Onboarding-checks-the-page-visuals-1-chromium-linux.png
│ │ │ ├── Onboarding-checks-the-page-visuals-2-chromium-linux.png
│ │ │ ├── Onboarding-checks-the-page-visuals-3-chromium-linux.png
│ │ │ ├── Onboarding-checks-the-page-visuals-4-chromium-linux.png
│ │ │ ├── Onboarding-checks-the-page-visuals-5-chromium-linux.png
│ │ │ └── Onboarding-checks-the-page-visuals-6-chromium-linux.png
│ │ ├── page-models
│ │ │ ├── account-page.ts
│ │ │ ├── budget-page.ts
│ │ │ ├── close-account-modal.ts
│ │ │ ├── configuration-page.ts
│ │ │ ├── custom-report-page.ts
│ │ │ ├── mobile-account-page.ts
│ │ │ ├── mobile-accounts-page.ts
│ │ │ ├── mobile-balance-menu-modal.ts
│ │ │ ├── mobile-budget-menu-modal.ts
│ │ │ ├── mobile-budget-page.ts
│ │ │ ├── mobile-category-menu-modal.ts
│ │ │ ├── mobile-edit-notes-modal.ts
│ │ │ ├── mobile-envelope-budget-summary-modal.ts
│ │ │ ├── mobile-navigation.ts
│ │ │ ├── mobile-reports-page.ts
│ │ │ ├── mobile-tracking-budget-summary-modal.ts
│ │ │ ├── mobile-transaction-entry-page.ts
│ │ │ ├── navigation.ts
│ │ │ ├── payees-page.ts
│ │ │ ├── reports-page.ts
│ │ │ ├── rules-page.ts
│ │ │ ├── schedules-page.ts
│ │ │ └── settings-page.ts
│ │ ├── payees.test.ts
│ │ ├── payees.test.ts-snapshots
│ │ │ ├── Payees-checks-the-payees-page-visuals-1-chromium-linux.png
│ │ │ ├── Payees-checks-the-payees-page-visuals-2-chromium-linux.png
│ │ │ ├── Payees-checks-the-payees-page-visuals-3-chromium-linux.png
│ │ │ ├── Payees-checks-the-payees-page-visuals-4-chromium-linux.png
│ │ │ ├── Payees-checks-the-payees-page-visuals-5-chromium-linux.png
│ │ │ └── Payees-checks-the-payees-page-visuals-6-chromium-linux.png
│ │ ├── reports.test.ts
│ │ ├── reports.test.ts-snapshots
│ │ │ ├── Reports-custom-reports-Switches-to-Area-Graph-and-checks-the-visuals-1-chromium-linux.png
│ │ │ ├── Reports-custom-reports-Switches-to-Area-Graph-and-checks-the-visuals-2-chromium-linux.png
│ │ │ ├── Reports-custom-reports-Switches-to-Area-Graph-and-checks-the-visuals-3-chromium-linux.png
│ │ │ ├── Reports-custom-reports-Switches-to-Bar-Graph-and-checks-the-visuals-1-chromium-linux.png
│ │ │ ├── Reports-custom-reports-Switches-to-Bar-Graph-and-checks-the-visuals-2-chromium-linux.png
│ │ │ ├── Reports-custom-reports-Switches-to-Bar-Graph-and-checks-the-visuals-3-chromium-linux.png
│ │ │ ├── Reports-custom-reports-Switches-to-Data-Table-and-checks-the-visuals-1-chromium-linux.png
│ │ │ ├── Reports-custom-reports-Switches-to-Data-Table-and-checks-the-visuals-2-chromium-linux.png
│ │ │ ├── Reports-custom-reports-Switches-to-Data-Table-and-checks-the-visuals-3-chromium-linux.png
│ │ │ ├── Reports-custom-reports-Switches-to-Donut-Graph-and-checks-the-visuals-1-chromium-linux.png
│ │ │ ├── Reports-custom-reports-Switches-to-Donut-Graph-and-checks-the-visuals-2-chromium-linux.png
│ │ │ ├── Reports-custom-reports-Switches-to-Donut-Graph-and-checks-the-visuals-3-chromium-linux.png
│ │ │ ├── Reports-custom-reports-Switches-to-Line-Graph-and-checks-the-visuals-1-chromium-linux.png
│ │ │ ├── Reports-custom-reports-Switches-to-Line-Graph-and-checks-the-visuals-2-chromium-linux.png
│ │ │ ├── Reports-custom-reports-Switches-to-Line-Graph-and-checks-the-visuals-3-chromium-linux.png
│ │ │ ├── Reports-custom-reports-Validates-that-show-labels-button-shows-the-labels-1-chromium-linux.png
│ │ │ ├── Reports-custom-reports-Validates-that-show-labels-button-shows-the-labels-2-chromium-linux.png
│ │ │ ├── Reports-custom-reports-Validates-that-show-labels-button-shows-the-labels-3-chromium-linux.png
│ │ │ ├── Reports-custom-reports-Validates-that-show-legend-button-shows-the-legend-side-bar-1-chromium-linux.png
│ │ │ ├── Reports-custom-reports-Validates-that-show-legend-button-shows-the-legend-side-bar-2-chromium-linux.png
│ │ │ ├── Reports-custom-reports-Validates-that-show-legend-button-shows-the-legend-side-bar-3-chromium-linux.png
│ │ │ ├── Reports-custom-reports-Validates-that-show-summary-button-shows-the-summary-1-chromium-linux.png
│ │ │ ├── Reports-custom-reports-Validates-that-show-summary-button-shows-the-summary-2-chromium-linux.png
│ │ │ ├── Reports-custom-reports-Validates-that-show-summary-button-shows-the-summary-3-chromium-linux.png
│ │ │ ├── Reports-loads-cash-flow-graph-and-checks-visuals-1-chromium-linux.png
│ │ │ ├── Reports-loads-cash-flow-graph-and-checks-visuals-2-chromium-linux.png
│ │ │ ├── Reports-loads-cash-flow-graph-and-checks-visuals-3-chromium-linux.png
│ │ │ ├── Reports-loads-net-worth-and-cash-flow-reports-1-chromium-linux.png
│ │ │ ├── Reports-loads-net-worth-and-cash-flow-reports-2-chromium-linux.png
│ │ │ ├── Reports-loads-net-worth-and-cash-flow-reports-3-chromium-linux.png
│ │ │ ├── Reports-loads-net-worth-graph-and-checks-visuals-1-chromium-linux.png
│ │ │ ├── Reports-loads-net-worth-graph-and-checks-visuals-2-chromium-linux.png
│ │ │ └── Reports-loads-net-worth-graph-and-checks-visuals-3-chromium-linux.png
│ │ ├── rules.test.ts
│ │ ├── rules.test.ts-snapshots
│ │ │ ├── Rules-checks-the-page-visuals-1-chromium-linux.png
│ │ │ ├── Rules-checks-the-page-visuals-2-chromium-linux.png
│ │ │ ├── Rules-checks-the-page-visuals-3-chromium-linux.png
│ │ │ ├── Rules-creates-a-rule-and-makes-sure-it-is-applied-when-creating-a-transaction-1-chromium-linux.png
│ │ │ ├── Rules-creates-a-rule-and-makes-sure-it-is-applied-when-creating-a-transaction-2-chromium-linux.png
│ │ │ ├── Rules-creates-a-rule-and-makes-sure-it-is-applied-when-creating-a-transaction-3-chromium-linux.png
│ │ │ ├── Rules-creates-a-rule-and-makes-sure-it-is-applied-when-creating-a-transaction-4-chromium-linux.png
│ │ │ ├── Rules-creates-a-rule-and-makes-sure-it-is-applied-when-creating-a-transaction-5-chromium-linux.png
│ │ │ ├── Rules-creates-a-rule-and-makes-sure-it-is-applied-when-creating-a-transaction-6-chromium-linux.png
│ │ │ ├── Rules-creates-a-split-transaction-rule-and-makes-sure-it-is-applied-when-creating-a-transaction-1-chromium-linux.png
│ │ │ ├── Rules-creates-a-split-transaction-rule-and-makes-sure-it-is-applied-when-creating-a-transaction-2-chromium-linux.png
│ │ │ └── Rules-creates-a-split-transaction-rule-and-makes-sure-it-is-applied-when-creating-a-transaction-3-chromium-linux.png
│ │ ├── schedules.test.ts
│ │ ├── schedules.test.ts-snapshots
│ │ │ ├── Schedules-checks-the-page-visuals-1-chromium-linux.png
│ │ │ ├── Schedules-checks-the-page-visuals-2-chromium-linux.png
│ │ │ ├── Schedules-checks-the-page-visuals-3-chromium-linux.png
│ │ │ ├── Schedules-creates-a-new-schedule-posts-the-transaction-and-later-completes-it-1-chromium-linux.png
│ │ │ ├── Schedules-creates-a-new-schedule-posts-the-transaction-and-later-completes-it-10-chromium-linux.png
│ │ │ ├── Schedules-creates-a-new-schedule-posts-the-transaction-and-later-completes-it-11-chromium-linux.png
│ │ │ ├── Schedules-creates-a-new-schedule-posts-the-transaction-and-later-completes-it-12-chromium-linux.png
│ │ │ ├── Schedules-creates-a-new-schedule-posts-the-transaction-and-later-completes-it-13-chromium-linux.png
│ │ │ ├── Schedules-creates-a-new-schedule-posts-the-transaction-and-later-completes-it-14-chromium-linux.png
│ │ │ ├── Schedules-creates-a-new-schedule-posts-the-transaction-and-later-completes-it-15-chromium-linux.png
│ │ │ ├── Schedules-creates-a-new-schedule-posts-the-transaction-and-later-completes-it-2-chromium-linux.png
│ │ │ ├── Schedules-creates-a-new-schedule-posts-the-transaction-and-later-completes-it-3-chromium-linux.png
│ │ │ ├── Schedules-creates-a-new-schedule-posts-the-transaction-and-later-completes-it-4-chromium-linux.png
│ │ │ ├── Schedules-creates-a-new-schedule-posts-the-transaction-and-later-completes-it-5-chromium-linux.png
│ │ │ ├── Schedules-creates-a-new-schedule-posts-the-transaction-and-later-completes-it-6-chromium-linux.png
│ │ │ ├── Schedules-creates-a-new-schedule-posts-the-transaction-and-later-completes-it-7-chromium-linux.png
│ │ │ ├── Schedules-creates-a-new-schedule-posts-the-transaction-and-later-completes-it-8-chromium-linux.png
│ │ │ └── Schedules-creates-a-new-schedule-posts-the-transaction-and-later-completes-it-9-chromium-linux.png
│ │ ├── settings.mobile.test.ts
│ │ ├── settings.mobile.test.ts-snapshots
│ │ │ ├── Mobile-Settings-checks-that-settings-page-can-be-opened-1-chromium-linux.png
│ │ │ ├── Mobile-Settings-checks-that-settings-page-can-be-opened-2-chromium-linux.png
│ │ │ ├── Mobile-Settings-checks-that-settings-page-can-be-opened-3-chromium-linux.png
│ │ │ ├── Mobile-Settings-checks-that-settings-page-can-be-opened-4-chromium-linux.png
│ │ │ ├── Mobile-Settings-checks-that-settings-page-can-be-opened-5-chromium-linux.png
│ │ │ └── Mobile-Settings-checks-that-settings-page-can-be-opened-6-chromium-linux.png
│ │ ├── settings.test.ts
│ │ ├── settings.test.ts-snapshots
│ │ │ ├── Settings-checks-the-page-visuals-1-chromium-linux.png
│ │ │ ├── Settings-checks-the-page-visuals-2-chromium-linux.png
│ │ │ └── Settings-checks-the-page-visuals-3-chromium-linux.png
│ │ ├── transactions.mobile.test.ts
│ │ ├── transactions.mobile.test.ts-snapshots
│ │ │ ├── Mobile-Transactions-creates-a-categorized-transaction-from-accounts-uncategorized-page-1-chromium-linux.png
│ │ │ ├── Mobile-Transactions-creates-a-categorized-transaction-from-accounts-uncategorized-page-2-chromium-linux.png
│ │ │ ├── Mobile-Transactions-creates-a-categorized-transaction-from-accounts-uncategorized-page-3-chromium-linux.png
│ │ │ ├── Mobile-Transactions-creates-a-transaction-from-accounts-id-page-1-chromium-linux.png
│ │ │ ├── Mobile-Transactions-creates-a-transaction-from-accounts-id-page-2-chromium-linux.png
│ │ │ ├── Mobile-Transactions-creates-a-transaction-from-accounts-id-page-3-chromium-linux.png
│ │ │ ├── Mobile-Transactions-creates-a-transaction-via-footer-button-1-chromium-linux.png
│ │ │ ├── Mobile-Transactions-creates-a-transaction-via-footer-button-2-chromium-linux.png
│ │ │ ├── Mobile-Transactions-creates-a-transaction-via-footer-button-3-chromium-linux.png
│ │ │ ├── Mobile-Transactions-creates-a-transaction-via-footer-button-4-chromium-linux.png
│ │ │ ├── Mobile-Transactions-creates-a-transaction-via-footer-button-5-chromium-linux.png
│ │ │ ├── Mobile-Transactions-creates-a-transaction-via-footer-button-6-chromium-linux.png
│ │ │ ├── Mobile-Transactions-creates-a-transaction-via-footer-button-7-chromium-linux.png
│ │ │ ├── Mobile-Transactions-creates-a-transaction-via-footer-button-8-chromium-linux.png
│ │ │ ├── Mobile-Transactions-creates-a-transaction-via-footer-button-9-chromium-linux.png
│ │ │ ├── Mobile-Transactions-creates-an-uncategorized-transaction-from-accounts-uncategorized-page-1-chromium-linux.png
│ │ │ ├── Mobile-Transactions-creates-an-uncategorized-transaction-from-accounts-uncategorized-page-2-chromium-linux.png
│ │ │ └── Mobile-Transactions-creates-an-uncategorized-transaction-from-accounts-uncategorized-page-3-chromium-linux.png
│ │ ├── transactions.test.ts
│ │ └── transactions.test.ts-snapshots
│ │ │ ├── Transactions-checks-the-page-visuals-1-chromium-linux.png
│ │ │ ├── Transactions-checks-the-page-visuals-2-chromium-linux.png
│ │ │ ├── Transactions-checks-the-page-visuals-3-chromium-linux.png
│ │ │ ├── Transactions-creates-a-split-test-transaction-1-chromium-linux.png
│ │ │ ├── Transactions-creates-a-split-test-transaction-2-chromium-linux.png
│ │ │ ├── Transactions-creates-a-split-test-transaction-3-chromium-linux.png
│ │ │ ├── Transactions-creates-a-test-transaction-1-chromium-linux.png
│ │ │ ├── Transactions-creates-a-test-transaction-2-chromium-linux.png
│ │ │ ├── Transactions-creates-a-test-transaction-3-chromium-linux.png
│ │ │ ├── Transactions-creates-a-transfer-test-transaction-1-chromium-linux.png
│ │ │ ├── Transactions-creates-a-transfer-test-transaction-2-chromium-linux.png
│ │ │ ├── Transactions-creates-a-transfer-test-transaction-3-chromium-linux.png
│ │ │ ├── Transactions-creates-a-transfer-test-transaction-4-chromium-linux.png
│ │ │ ├── Transactions-creates-a-transfer-test-transaction-5-chromium-linux.png
│ │ │ ├── Transactions-creates-a-transfer-test-transaction-6-chromium-linux.png
│ │ │ ├── Transactions-filters-transactions-by-category-1-chromium-linux.png
│ │ │ ├── Transactions-filters-transactions-by-category-2-chromium-linux.png
│ │ │ ├── Transactions-filters-transactions-by-category-3-chromium-linux.png
│ │ │ ├── Transactions-filters-transactions-by-category-4-chromium-linux.png
│ │ │ ├── Transactions-filters-transactions-by-category-5-chromium-linux.png
│ │ │ ├── Transactions-filters-transactions-by-category-6-chromium-linux.png
│ │ │ ├── Transactions-filters-transactions-by-category-7-chromium-linux.png
│ │ │ ├── Transactions-filters-transactions-by-category-8-chromium-linux.png
│ │ │ ├── Transactions-filters-transactions-by-category-9-chromium-linux.png
│ │ │ ├── Transactions-filters-transactions-by-date-1-chromium-linux.png
│ │ │ ├── Transactions-filters-transactions-by-date-2-chromium-linux.png
│ │ │ ├── Transactions-filters-transactions-by-date-3-chromium-linux.png
│ │ │ ├── Transactions-filters-transactions-by-date-4-chromium-linux.png
│ │ │ ├── Transactions-filters-transactions-by-date-5-chromium-linux.png
│ │ │ ├── Transactions-filters-transactions-by-date-6-chromium-linux.png
│ │ │ ├── Transactions-filters-transactions-by-date-7-chromium-linux.png
│ │ │ ├── Transactions-filters-transactions-by-date-8-chromium-linux.png
│ │ │ └── Transactions-filters-transactions-by-date-9-chromium-linux.png
│ ├── globals.d.ts
│ ├── i18next-parser.config.js
│ ├── index.html
│ ├── package.json
│ ├── playwright.config.ts
│ ├── public
│ │ ├── _headers
│ │ ├── _redirects
│ │ ├── android-chrome-192x192.png
│ │ ├── android-chrome-512x512.png
│ │ ├── apple-touch-icon.png
│ │ ├── browserconfig.xml
│ │ ├── favicon-16x16.png
│ │ ├── favicon-32x32.png
│ │ ├── favicon.ico
│ │ ├── maskable-192x192.png
│ │ ├── maskable-512x512.png
│ │ ├── mstile-150x150.png
│ │ ├── screenshot_narrow.png
│ │ ├── screenshot_wide.png
│ │ ├── shortcut-accounts.svg
│ │ ├── shortcut-reports.svg
│ │ ├── shortcut-transaction.svg
│ │ └── site.webmanifest
│ ├── src
│ │ ├── accounts
│ │ │ └── accountsSlice.ts
│ │ ├── app
│ │ │ └── appSlice.ts
│ │ ├── auth
│ │ │ ├── AuthProvider.tsx
│ │ │ ├── ProtectedRoute.tsx
│ │ │ └── types.ts
│ │ ├── browser-preload.browser.js
│ │ ├── browser-preload.js
│ │ ├── browser-server.js
│ │ ├── budgets
│ │ │ └── budgetsSlice.ts
│ │ ├── build-shims.js
│ │ ├── components
│ │ │ ├── AnimatedRefresh.tsx
│ │ │ ├── App.tsx
│ │ │ ├── AppBackground.tsx
│ │ │ ├── Background.tsx
│ │ │ ├── BackgroundImage.tsx
│ │ │ ├── BankSyncStatus.tsx
│ │ │ ├── DevelopmentTopBar.tsx
│ │ │ ├── EditablePageHeaderTitle.tsx
│ │ │ ├── FatalError.tsx
│ │ │ ├── FinancesApp.tsx
│ │ │ ├── FixedSizeList.tsx
│ │ │ ├── GlobalKeys.ts
│ │ │ ├── HelpMenu.tsx
│ │ │ ├── LoggedInUser.tsx
│ │ │ ├── ManageRules.tsx
│ │ │ ├── ManageRulesPage.tsx
│ │ │ ├── Modals.tsx
│ │ │ ├── Notes.tsx
│ │ │ ├── NotesButton.tsx
│ │ │ ├── Notifications.tsx
│ │ │ ├── Page.tsx
│ │ │ ├── PrivacyFilter.tsx
│ │ │ ├── ScrollProvider.tsx
│ │ │ ├── ServerContext.tsx
│ │ │ ├── SyncRefresh.tsx
│ │ │ ├── ThemeSelector.tsx
│ │ │ ├── Titlebar.tsx
│ │ │ ├── UpdateNotification.tsx
│ │ │ ├── accounts
│ │ │ │ ├── Account.tsx
│ │ │ │ ├── AccountEmptyMessage.tsx
│ │ │ │ ├── AccountSyncCheck.tsx
│ │ │ │ ├── Balance.tsx
│ │ │ │ ├── Header.tsx
│ │ │ │ └── Reconcile.tsx
│ │ │ ├── admin
│ │ │ │ ├── UserAccess
│ │ │ │ │ ├── UserAccess.tsx
│ │ │ │ │ ├── UserAccessHeader.tsx
│ │ │ │ │ ├── UserAccessPage.tsx
│ │ │ │ │ └── UserAccessRow.tsx
│ │ │ │ └── UserDirectory
│ │ │ │ │ ├── UserDirectory.tsx
│ │ │ │ │ ├── UserDirectoryHeader.tsx
│ │ │ │ │ ├── UserDirectoryPage.tsx
│ │ │ │ │ └── UserDirectoryRow.tsx
│ │ │ ├── alerts.tsx
│ │ │ ├── autocomplete
│ │ │ │ ├── AccountAutocomplete.tsx
│ │ │ │ ├── Autocomplete.tsx
│ │ │ │ ├── CategoryAutocomplete.tsx
│ │ │ │ ├── FilterAutocomplete.tsx
│ │ │ │ ├── FilterList.tsx
│ │ │ │ ├── ItemHeader.tsx
│ │ │ │ ├── PayeeAutocomplete.test.tsx
│ │ │ │ ├── PayeeAutocomplete.tsx
│ │ │ │ ├── ReportAutocomplete.tsx
│ │ │ │ └── ReportList.tsx
│ │ │ ├── banksync
│ │ │ │ ├── AccountRow.tsx
│ │ │ │ ├── AccountsHeader.tsx
│ │ │ │ ├── AccountsList.tsx
│ │ │ │ ├── EditSyncAccount.tsx
│ │ │ │ ├── FieldMapping.tsx
│ │ │ │ └── index.tsx
│ │ │ ├── budget
│ │ │ │ ├── BalanceWithCarryover.tsx
│ │ │ │ ├── BudgetCategories.jsx
│ │ │ │ ├── BudgetMonthCountContext.tsx
│ │ │ │ ├── BudgetPageHeader.tsx
│ │ │ │ ├── BudgetSummaries.tsx
│ │ │ │ ├── BudgetTable.tsx
│ │ │ │ ├── BudgetTotals.tsx
│ │ │ │ ├── DynamicBudgetTable.tsx
│ │ │ │ ├── ExpenseCategory.tsx
│ │ │ │ ├── ExpenseGroup.tsx
│ │ │ │ ├── IncomeCategory.tsx
│ │ │ │ ├── IncomeGroup.tsx
│ │ │ │ ├── IncomeHeader.tsx
│ │ │ │ ├── MonthCountSelector.tsx
│ │ │ │ ├── MonthPicker.tsx
│ │ │ │ ├── MonthsContext.tsx
│ │ │ │ ├── RenderMonths.tsx
│ │ │ │ ├── SidebarCategory.tsx
│ │ │ │ ├── SidebarGroup.tsx
│ │ │ │ ├── envelope
│ │ │ │ │ ├── BalanceMenu.tsx
│ │ │ │ │ ├── BalanceMovementMenu.tsx
│ │ │ │ │ ├── BudgetMenu.tsx
│ │ │ │ │ ├── CoverMenu.tsx
│ │ │ │ │ ├── EnvelopeBudgetComponents.tsx
│ │ │ │ │ ├── EnvelopeBudgetContext.tsx
│ │ │ │ │ ├── HoldMenu.tsx
│ │ │ │ │ ├── TransferMenu.tsx
│ │ │ │ │ └── budgetsummary
│ │ │ │ │ │ ├── BudgetMonthMenu.tsx
│ │ │ │ │ │ ├── BudgetSummary.tsx
│ │ │ │ │ │ ├── ToBudget.tsx
│ │ │ │ │ │ ├── ToBudgetAmount.tsx
│ │ │ │ │ │ ├── ToBudgetMenu.tsx
│ │ │ │ │ │ └── TotalsList.tsx
│ │ │ │ ├── goals
│ │ │ │ │ ├── BudgetAutomation.tsx
│ │ │ │ │ ├── BudgetAutomationEditor.tsx
│ │ │ │ │ ├── BudgetAutomationReadOnly.tsx
│ │ │ │ │ ├── CategoryAutomationButton.tsx
│ │ │ │ │ ├── actions.ts
│ │ │ │ │ ├── constants.ts
│ │ │ │ │ ├── editor
│ │ │ │ │ │ ├── HistoricalAutomation.tsx
│ │ │ │ │ │ ├── HistoricalAutomationReadOnly.tsx
│ │ │ │ │ │ ├── PercentageAutomation.tsx
│ │ │ │ │ │ ├── PercentageAutomationReadOnly.tsx
│ │ │ │ │ │ ├── ScheduleAutomation.tsx
│ │ │ │ │ │ ├── ScheduleAutomationReadOnly.tsx
│ │ │ │ │ │ ├── SimpleAutomation.tsx
│ │ │ │ │ │ ├── SimpleAutomationReadOnly.tsx
│ │ │ │ │ │ ├── WeekAutomation.tsx
│ │ │ │ │ │ └── WeekAutomationReadOnly.tsx
│ │ │ │ │ ├── reducer.ts
│ │ │ │ │ └── useBudgetAutomationCategories.ts
│ │ │ │ ├── index.tsx
│ │ │ │ ├── tracking
│ │ │ │ │ ├── BalanceMenu.tsx
│ │ │ │ │ ├── BudgetMenu.tsx
│ │ │ │ │ ├── TrackingBudgetComponents.tsx
│ │ │ │ │ ├── TrackingBudgetContext.tsx
│ │ │ │ │ └── budgetsummary
│ │ │ │ │ │ ├── BudgetMonthMenu.tsx
│ │ │ │ │ │ ├── BudgetSummary.tsx
│ │ │ │ │ │ ├── BudgetTotal.tsx
│ │ │ │ │ │ ├── ExpenseProgress.tsx
│ │ │ │ │ │ ├── ExpenseTotal.tsx
│ │ │ │ │ │ ├── IncomeProgress.tsx
│ │ │ │ │ │ ├── IncomeTotal.tsx
│ │ │ │ │ │ ├── PieProgress.tsx
│ │ │ │ │ │ ├── Saved.tsx
│ │ │ │ │ │ └── fraction.ts
│ │ │ │ └── util.ts
│ │ │ ├── common
│ │ │ │ ├── InfiniteScrollWrapper.tsx
│ │ │ │ ├── Link.tsx
│ │ │ │ ├── Modal.tsx
│ │ │ │ └── Search.tsx
│ │ │ ├── filters
│ │ │ │ ├── AppliedFilters.tsx
│ │ │ │ ├── CompactFiltersButton.tsx
│ │ │ │ ├── ConditionsOpMenu.tsx
│ │ │ │ ├── FilterExpression.tsx
│ │ │ │ ├── FilterMenu.tsx
│ │ │ │ ├── FiltersButton.tsx
│ │ │ │ ├── FiltersMenu.jsx
│ │ │ │ ├── FiltersStack.tsx
│ │ │ │ ├── NameFilter.tsx
│ │ │ │ ├── OpButton.tsx
│ │ │ │ ├── SavedFilterMenuButton.tsx
│ │ │ │ ├── subfieldFromFilter.ts
│ │ │ │ ├── subfieldToOptions.ts
│ │ │ │ └── updateFilterReducer.ts
│ │ │ ├── forms.tsx
│ │ │ ├── gocardless
│ │ │ │ └── GoCardlessLink.tsx
│ │ │ ├── manager
│ │ │ │ ├── BudgetFileSelection.tsx
│ │ │ │ ├── ConfigServer.tsx
│ │ │ │ ├── ManagementApp.tsx
│ │ │ │ ├── ServerURL.tsx
│ │ │ │ ├── WelcomeScreen.tsx
│ │ │ │ └── subscribe
│ │ │ │ │ ├── Bootstrap.tsx
│ │ │ │ │ ├── ChangePassword.tsx
│ │ │ │ │ ├── ConfirmPasswordForm.tsx
│ │ │ │ │ ├── Error.tsx
│ │ │ │ │ ├── Login.tsx
│ │ │ │ │ ├── OpenIdCallback.ts
│ │ │ │ │ ├── OpenIdForm.tsx
│ │ │ │ │ └── common.tsx
│ │ │ ├── mobile
│ │ │ │ ├── FloatingActionBar.tsx
│ │ │ │ ├── MobileBackButton.tsx
│ │ │ │ ├── MobileForms.tsx
│ │ │ │ ├── MobileNavTabs.tsx
│ │ │ │ ├── PullToRefresh.tsx
│ │ │ │ ├── accounts
│ │ │ │ │ ├── Account.tsx
│ │ │ │ │ ├── AccountTransactions.tsx
│ │ │ │ │ └── Accounts.tsx
│ │ │ │ ├── budget
│ │ │ │ │ ├── BalanceCell.tsx
│ │ │ │ │ ├── BudgetCell.tsx
│ │ │ │ │ ├── BudgetTable.jsx
│ │ │ │ │ ├── Category.tsx
│ │ │ │ │ ├── CategoryTransactions.tsx
│ │ │ │ │ ├── ExpenseCategoryList.tsx
│ │ │ │ │ ├── ExpenseCategoryListItem.tsx
│ │ │ │ │ ├── ExpenseGroupList.tsx
│ │ │ │ │ ├── ExpenseGroupListItem.tsx
│ │ │ │ │ ├── IncomeCategoryList.tsx
│ │ │ │ │ ├── IncomeCategoryListItem.tsx
│ │ │ │ │ ├── IncomeGroup.tsx
│ │ │ │ │ ├── SpentCell.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── transactions
│ │ │ │ │ ├── AddTransactionButton.tsx
│ │ │ │ │ ├── FocusableAmountInput.tsx
│ │ │ │ │ ├── TransactionEdit.jsx
│ │ │ │ │ ├── TransactionList.tsx
│ │ │ │ │ ├── TransactionListItem.tsx
│ │ │ │ │ └── TransactionListWithBalances.tsx
│ │ │ │ └── utils.ts
│ │ │ ├── modals
│ │ │ │ ├── AccountAutocompleteModal.tsx
│ │ │ │ ├── AccountMenuModal.tsx
│ │ │ │ ├── BudgetAutomationsModal.tsx
│ │ │ │ ├── BudgetFileSelectionModal.tsx
│ │ │ │ ├── BudgetPageMenuModal.tsx
│ │ │ │ ├── CategoryAutocompleteModal.tsx
│ │ │ │ ├── CategoryGroupMenuModal.tsx
│ │ │ │ ├── CategoryMenuModal.tsx
│ │ │ │ ├── CloseAccountModal.tsx
│ │ │ │ ├── ConfirmCategoryDeleteModal.tsx
│ │ │ │ ├── ConfirmTransactionDeleteModal.tsx
│ │ │ │ ├── ConfirmTransactionEditModal.tsx
│ │ │ │ ├── ConfirmUnlinkAccountModal.tsx
│ │ │ │ ├── CoverModal.tsx
│ │ │ │ ├── CreateAccountModal.tsx
│ │ │ │ ├── CreateEncryptionKeyModal.tsx
│ │ │ │ ├── CreateLocalAccountModal.tsx
│ │ │ │ ├── EditAccess.tsx
│ │ │ │ ├── EditFieldModal.tsx
│ │ │ │ ├── EditRuleModal.jsx
│ │ │ │ ├── EditUser.tsx
│ │ │ │ ├── EnvelopeBalanceMenuModal.tsx
│ │ │ │ ├── EnvelopeBudgetMenuModal.tsx
│ │ │ │ ├── EnvelopeBudgetMonthMenuModal.tsx
│ │ │ │ ├── EnvelopeBudgetSummaryModal.tsx
│ │ │ │ ├── EnvelopeToBudgetMenuModal.tsx
│ │ │ │ ├── FixEncryptionKeyModal.tsx
│ │ │ │ ├── GoCardlessExternalMsgModal.tsx
│ │ │ │ ├── GoCardlessInitialiseModal.tsx
│ │ │ │ ├── GoalTemplateModal.tsx
│ │ │ │ ├── HoldBufferModal.tsx
│ │ │ │ ├── ImportTransactionsModal
│ │ │ │ │ ├── CheckboxOption.tsx
│ │ │ │ │ ├── DateFormatSelect.tsx
│ │ │ │ │ ├── FieldMappings.tsx
│ │ │ │ │ ├── ImportTransactionsModal.jsx
│ │ │ │ │ ├── InOutOption.tsx
│ │ │ │ │ ├── MultiplierOption.tsx
│ │ │ │ │ ├── ParsedDate.tsx
│ │ │ │ │ ├── SelectField.tsx
│ │ │ │ │ ├── SubLabel.tsx
│ │ │ │ │ ├── Transaction.tsx
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── utils.test.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── KeyboardShortcutModal.tsx
│ │ │ │ ├── LoadBackupModal.tsx
│ │ │ │ ├── ManageRulesModal.tsx
│ │ │ │ ├── MergeUnusedPayeesModal.tsx
│ │ │ │ ├── NewCategoryGroupModal.tsx
│ │ │ │ ├── NewCategoryModal.tsx
│ │ │ │ ├── NotesModal.tsx
│ │ │ │ ├── OpenIDEnableModal.tsx
│ │ │ │ ├── OutOfSyncMigrationsModal.tsx
│ │ │ │ ├── PasswordEnableModal.tsx
│ │ │ │ ├── PayeeAutocompleteModal.tsx
│ │ │ │ ├── PluggyAiInitialiseModal.tsx
│ │ │ │ ├── ScheduledTransactionMenuModal.tsx
│ │ │ │ ├── SelectLinkedAccountsModal.jsx
│ │ │ │ ├── SimpleFinInitialiseModal.tsx
│ │ │ │ ├── SingleInputModal.tsx
│ │ │ │ ├── TrackingBalanceMenuModal.tsx
│ │ │ │ ├── TrackingBudgetMenuModal.tsx
│ │ │ │ ├── TrackingBudgetMonthMenuModal.tsx
│ │ │ │ ├── TrackingBudgetSummaryModal.tsx
│ │ │ │ ├── TransferModal.tsx
│ │ │ │ ├── TransferOwnership.tsx
│ │ │ │ └── manager
│ │ │ │ │ ├── ConfirmChangeDocumentDir.tsx
│ │ │ │ │ ├── DeleteFileModal.tsx
│ │ │ │ │ ├── DuplicateFileModal.tsx
│ │ │ │ │ ├── FilesSettingsModal.tsx
│ │ │ │ │ ├── ImportActualModal.tsx
│ │ │ │ │ ├── ImportModal.tsx
│ │ │ │ │ ├── ImportYNAB4Modal.tsx
│ │ │ │ │ └── ImportYNAB5Modal.tsx
│ │ │ ├── payees
│ │ │ │ ├── CategoryLearning.tsx
│ │ │ │ ├── ManagePayees.tsx
│ │ │ │ ├── ManagePayeesPage.tsx
│ │ │ │ ├── ManagePayeesWithData.tsx
│ │ │ │ ├── PayeeMenu.tsx
│ │ │ │ ├── PayeeTable.tsx
│ │ │ │ └── PayeeTableRow.tsx
│ │ │ ├── reports
│ │ │ │ ├── CategorySelector.tsx
│ │ │ │ ├── Change.tsx
│ │ │ │ ├── ChooseGraph.tsx
│ │ │ │ ├── Container.tsx
│ │ │ │ ├── DateRange.tsx
│ │ │ │ ├── GraphButton.tsx
│ │ │ │ ├── Header.tsx
│ │ │ │ ├── LegendItem.tsx
│ │ │ │ ├── LoadingIndicator.tsx
│ │ │ │ ├── ModeButton.tsx
│ │ │ │ ├── Overview.tsx
│ │ │ │ ├── ReportCard.tsx
│ │ │ │ ├── ReportCardName.tsx
│ │ │ │ ├── ReportLegend.tsx
│ │ │ │ ├── ReportOptions.ts
│ │ │ │ ├── ReportRouter.tsx
│ │ │ │ ├── ReportSidebar.tsx
│ │ │ │ ├── ReportSummary.tsx
│ │ │ │ ├── ReportTopbar.tsx
│ │ │ │ ├── SaveReport.tsx
│ │ │ │ ├── SaveReportChoose.tsx
│ │ │ │ ├── SaveReportDelete.tsx
│ │ │ │ ├── SaveReportMenu.tsx
│ │ │ │ ├── SaveReportName.tsx
│ │ │ │ ├── SnapshotButton.tsx
│ │ │ │ ├── SummaryNumber.tsx
│ │ │ │ ├── chart-theme.ts
│ │ │ │ ├── constants.ts
│ │ │ │ ├── disabledList.ts
│ │ │ │ ├── getCustomTick.ts
│ │ │ │ ├── getLiveRange.ts
│ │ │ │ ├── graphs
│ │ │ │ │ ├── AreaGraph.tsx
│ │ │ │ │ ├── BarGraph.tsx
│ │ │ │ │ ├── BarLineGraph.tsx
│ │ │ │ │ ├── CalendarGraph.tsx
│ │ │ │ │ ├── CashFlowGraph.tsx
│ │ │ │ │ ├── DonutGraph.tsx
│ │ │ │ │ ├── LineGraph.tsx
│ │ │ │ │ ├── NetWorthGraph.tsx
│ │ │ │ │ ├── SpendingGraph.tsx
│ │ │ │ │ ├── StackedBarGraph.tsx
│ │ │ │ │ ├── adjustTextSize.ts
│ │ │ │ │ ├── renderCustomLabel.tsx
│ │ │ │ │ ├── showActivity.ts
│ │ │ │ │ └── tableGraph
│ │ │ │ │ │ ├── RenderTableRow.tsx
│ │ │ │ │ │ ├── ReportTable.tsx
│ │ │ │ │ │ ├── ReportTableHeader.tsx
│ │ │ │ │ │ ├── ReportTableList.tsx
│ │ │ │ │ │ ├── ReportTableRow.tsx
│ │ │ │ │ │ └── ReportTableTotals.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── numberFormatter.ts
│ │ │ │ ├── overview.scss
│ │ │ │ ├── reportRanges.ts
│ │ │ │ ├── reports
│ │ │ │ │ ├── Calendar.tsx
│ │ │ │ │ ├── CalendarCard.tsx
│ │ │ │ │ ├── CashFlow.tsx
│ │ │ │ │ ├── CashFlowCard.tsx
│ │ │ │ │ ├── CustomReport.tsx
│ │ │ │ │ ├── CustomReportListCards.tsx
│ │ │ │ │ ├── GetCardData.tsx
│ │ │ │ │ ├── MarkdownCard.tsx
│ │ │ │ │ ├── MissingReportCard.tsx
│ │ │ │ │ ├── NetWorth.tsx
│ │ │ │ │ ├── NetWorthCard.tsx
│ │ │ │ │ ├── Spending.tsx
│ │ │ │ │ ├── SpendingCard.tsx
│ │ │ │ │ ├── Summary.tsx
│ │ │ │ │ └── SummaryCard.tsx
│ │ │ │ ├── setSessionReport.ts
│ │ │ │ ├── spreadsheets
│ │ │ │ │ ├── calculateLegend.ts
│ │ │ │ │ ├── calendar-spreadsheet.ts
│ │ │ │ │ ├── cash-flow-spreadsheet.tsx
│ │ │ │ │ ├── custom-spreadsheet.ts
│ │ │ │ │ ├── filterEmptyRows.ts
│ │ │ │ │ ├── filterHiddenItems.ts
│ │ │ │ │ ├── grouped-spreadsheet.ts
│ │ │ │ │ ├── makeQuery.ts
│ │ │ │ │ ├── net-worth-spreadsheet.ts
│ │ │ │ │ ├── recalculate.ts
│ │ │ │ │ ├── sortData.ts
│ │ │ │ │ ├── spending-spreadsheet.ts
│ │ │ │ │ └── summary-spreadsheet.ts
│ │ │ │ ├── useReport.ts
│ │ │ │ └── util.ts
│ │ │ ├── responsive
│ │ │ │ ├── index.tsx
│ │ │ │ ├── narrow.ts
│ │ │ │ └── wide.ts
│ │ │ ├── rules
│ │ │ │ ├── ActionExpression.tsx
│ │ │ │ ├── ConditionExpression.tsx
│ │ │ │ ├── RuleRow.tsx
│ │ │ │ ├── RulesHeader.tsx
│ │ │ │ ├── RulesList.tsx
│ │ │ │ ├── ScheduleValue.tsx
│ │ │ │ └── Value.tsx
│ │ │ ├── schedules
│ │ │ │ ├── CustomUpcomingLength.tsx
│ │ │ │ ├── DiscoverSchedules.tsx
│ │ │ │ ├── PostsOfflineNotification.tsx
│ │ │ │ ├── ScheduleDetails.tsx
│ │ │ │ ├── ScheduleLink.tsx
│ │ │ │ ├── SchedulesTable.tsx
│ │ │ │ ├── StatusBadge.tsx
│ │ │ │ ├── UpcomingLength.tsx
│ │ │ │ └── index.tsx
│ │ │ ├── select
│ │ │ │ ├── DateSelect.left.png
│ │ │ │ ├── DateSelect.right.png
│ │ │ │ ├── DateSelect.tsx
│ │ │ │ └── RecurringSchedulePicker.tsx
│ │ │ ├── settings
│ │ │ │ ├── AuthSettings.tsx
│ │ │ │ ├── Backups.tsx
│ │ │ │ ├── BudgetTypeSettings.tsx
│ │ │ │ ├── Encryption.tsx
│ │ │ │ ├── Experimental.tsx
│ │ │ │ ├── Export.tsx
│ │ │ │ ├── Format.tsx
│ │ │ │ ├── LanguageSettings.tsx
│ │ │ │ ├── RepairTransactions.tsx
│ │ │ │ ├── Reset.tsx
│ │ │ │ ├── Themes.tsx
│ │ │ │ ├── UI.tsx
│ │ │ │ └── index.tsx
│ │ │ ├── sidebar
│ │ │ │ ├── Account.tsx
│ │ │ │ ├── Accounts.tsx
│ │ │ │ ├── BudgetName.tsx
│ │ │ │ ├── Item.tsx
│ │ │ │ ├── ItemContent.tsx
│ │ │ │ ├── PrimaryButtons.tsx
│ │ │ │ ├── SecondaryButtons.tsx
│ │ │ │ ├── SecondaryItem.tsx
│ │ │ │ ├── Sidebar.tsx
│ │ │ │ ├── SidebarProvider.tsx
│ │ │ │ ├── ToggleButton.tsx
│ │ │ │ └── index.tsx
│ │ │ ├── sort.tsx
│ │ │ ├── spreadsheet
│ │ │ │ ├── CellValue.tsx
│ │ │ │ ├── NamespaceContext.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── useFormat.ts
│ │ │ │ ├── useSheetName.ts
│ │ │ │ └── useSheetValue.ts
│ │ │ ├── table.tsx
│ │ │ ├── transactions
│ │ │ │ ├── SelectedTransactionsButton.tsx
│ │ │ │ ├── SimpleTransactionsTable.tsx
│ │ │ │ ├── TransactionList.tsx
│ │ │ │ ├── TransactionMenu.tsx
│ │ │ │ ├── TransactionsTable.test.tsx
│ │ │ │ ├── TransactionsTable.tsx
│ │ │ │ └── table
│ │ │ │ │ └── utils.ts
│ │ │ └── util
│ │ │ │ ├── AmountInput.tsx
│ │ │ │ ├── DisplayId.tsx
│ │ │ │ ├── GenericInput.jsx
│ │ │ │ ├── LoadComponent.tsx
│ │ │ │ ├── PercentInput.tsx
│ │ │ │ ├── accountValidation.ts
│ │ │ │ └── countries.ts
│ │ ├── fonts.scss
│ │ ├── global-events.ts
│ │ ├── gocardless.ts
│ │ ├── hooks
│ │ │ ├── useAccount.ts
│ │ │ ├── useAccountPreviewTransactions.ts
│ │ │ ├── useAccounts.ts
│ │ │ ├── useCachedSchedules.tsx
│ │ │ ├── useCategories.ts
│ │ │ ├── useCategory.ts
│ │ │ ├── useCategoryGroup.ts
│ │ │ ├── useCategoryPreviewTransactions.ts
│ │ │ ├── useCategoryScheduleGoalTemplateIndicator.ts
│ │ │ ├── useCategoryScheduleGoalTemplates.ts
│ │ │ ├── useClosedAccounts.ts
│ │ │ ├── useContextMenu.ts
│ │ │ ├── useDashboard.ts
│ │ │ ├── useDateFormat.ts
│ │ │ ├── useDisplayPayee.ts
│ │ │ ├── useDragRef.ts
│ │ │ ├── useFailedAccounts.ts
│ │ │ ├── useFeatureFlag.ts
│ │ │ ├── useFormatList.ts
│ │ │ ├── useGlobalPref.ts
│ │ │ ├── useGoCardlessStatus.ts
│ │ │ ├── useInitialMount.ts
│ │ │ ├── useIsInViewport.ts
│ │ │ ├── useLatestVersion.ts
│ │ │ ├── useLocalPref.ts
│ │ │ ├── useLocale.ts
│ │ │ ├── useMergedRefs.ts
│ │ │ ├── useMetaThemeColor.ts
│ │ │ ├── useMetadataPref.ts
│ │ │ ├── useModalState.ts
│ │ │ ├── useNavigate.ts
│ │ │ ├── useNotes.ts
│ │ │ ├── useOffBudgetAccounts.ts
│ │ │ ├── useOnBudgetAccounts.ts
│ │ │ ├── useOverspentCategories.ts
│ │ │ ├── usePayee.ts
│ │ │ ├── usePayees.ts
│ │ │ ├── usePluggyAiStatus.ts
│ │ │ ├── usePreviewTransactions.ts
│ │ │ ├── usePrevious.ts
│ │ │ ├── usePrivacyMode.ts
│ │ │ ├── useProperFocus.tsx
│ │ │ ├── useQuery.ts
│ │ │ ├── useReport.ts
│ │ │ ├── useReports.ts
│ │ │ ├── useResizeObserver.ts
│ │ │ ├── useRuleConditionFilters.ts
│ │ │ ├── useSchedules.ts
│ │ │ ├── useSelected.tsx
│ │ │ ├── useSendPlatformRequest.ts
│ │ │ ├── useSimpleFinStatus.ts
│ │ │ ├── useSingleActiveEditForm.tsx
│ │ │ ├── useSplitsExpanded.tsx
│ │ │ ├── useSpreadsheet.tsx
│ │ │ ├── useSyncServerStatus.ts
│ │ │ ├── useSyncedPref.ts
│ │ │ ├── useSyncedPrefs.ts
│ │ │ ├── useTransactionBatchActions.ts
│ │ │ ├── useTransactionFilters.ts
│ │ │ ├── useTransactions.ts
│ │ │ ├── useTransactionsSearch.ts
│ │ │ ├── useUndo.ts
│ │ │ ├── useUpdatedAccounts.ts
│ │ │ └── useWidget.ts
│ │ ├── i18n.test.ts
│ │ ├── i18n.ts
│ │ ├── index.tsx
│ │ ├── modals
│ │ │ └── modalsSlice.ts
│ │ ├── notifications
│ │ │ └── notificationsSlice.ts
│ │ ├── polyfills.ts
│ │ ├── prefs
│ │ │ └── prefsSlice.ts
│ │ ├── queries
│ │ │ ├── aqlQuery.test.ts
│ │ │ ├── aqlQuery.ts
│ │ │ ├── liveQuery.test.ts
│ │ │ ├── liveQuery.ts
│ │ │ ├── pagedQuery.test.ts
│ │ │ ├── pagedQuery.ts
│ │ │ ├── queries.ts
│ │ │ └── queriesSlice.ts
│ │ ├── redux
│ │ │ ├── index.ts
│ │ │ ├── mock.tsx
│ │ │ └── store.ts
│ │ ├── setupTests.js
│ │ ├── style
│ │ │ ├── colors.ts
│ │ │ ├── index.ts
│ │ │ ├── palette.ts
│ │ │ ├── styles.ts
│ │ │ ├── theme.tsx
│ │ │ └── themes
│ │ │ │ ├── dark.ts
│ │ │ │ ├── development.ts
│ │ │ │ ├── light.ts
│ │ │ │ └── midnight.ts
│ │ ├── sync-events.ts
│ │ ├── undo
│ │ │ └── index.ts
│ │ ├── users
│ │ │ └── usersSlice.ts
│ │ └── util
│ │ │ ├── markdown.ts
│ │ │ ├── router-tools.ts
│ │ │ └── versions.ts
│ └── vite.config.mts
├── desktop-electron
│ ├── .babelrc
│ ├── .gitignore
│ ├── appx
│ │ ├── LargeTile.png
│ │ ├── LargeTile.scale-100.png
│ │ ├── LargeTile.scale-125.png
│ │ ├── LargeTile.scale-150.png
│ │ ├── LargeTile.scale-200.png
│ │ ├── LargeTile.scale-400.png
│ │ ├── SmallTile.png
│ │ ├── SmallTile.scale-100.png
│ │ ├── SmallTile.scale-125.png
│ │ ├── SmallTile.scale-150.png
│ │ ├── SmallTile.scale-200.png
│ │ ├── SmallTile.scale-400.png
│ │ ├── SplashScreen.scale-100.png
│ │ ├── SplashScreen.scale-125.png
│ │ ├── SplashScreen.scale-150.png
│ │ ├── SplashScreen.scale-200.png
│ │ ├── SplashScreen.scale-400.png
│ │ ├── Square150x150Logo.png
│ │ ├── Square150x150Logo.scale-100.png
│ │ ├── Square150x150Logo.scale-125.png
│ │ ├── Square150x150Logo.scale-150.png
│ │ ├── Square150x150Logo.scale-200.png
│ │ ├── Square150x150Logo.scale-400.png
│ │ ├── Square44x44Logo.altform-lightunplated_targetsize-16.png
│ │ ├── Square44x44Logo.altform-lightunplated_targetsize-20.png
│ │ ├── Square44x44Logo.altform-lightunplated_targetsize-24.png
│ │ ├── Square44x44Logo.altform-lightunplated_targetsize-256.png
│ │ ├── Square44x44Logo.altform-lightunplated_targetsize-30.png
│ │ ├── Square44x44Logo.altform-lightunplated_targetsize-32.png
│ │ ├── Square44x44Logo.altform-lightunplated_targetsize-36.png
│ │ ├── Square44x44Logo.altform-lightunplated_targetsize-40.png
│ │ ├── Square44x44Logo.altform-lightunplated_targetsize-44.png
│ │ ├── Square44x44Logo.altform-lightunplated_targetsize-48.png
│ │ ├── Square44x44Logo.altform-lightunplated_targetsize-60.png
│ │ ├── Square44x44Logo.altform-lightunplated_targetsize-64.png
│ │ ├── Square44x44Logo.altform-lightunplated_targetsize-72.png
│ │ ├── Square44x44Logo.altform-lightunplated_targetsize-80.png
│ │ ├── Square44x44Logo.altform-lightunplated_targetsize-96.png
│ │ ├── Square44x44Logo.altform-unplated_targetsize-16.png
│ │ ├── Square44x44Logo.altform-unplated_targetsize-20.png
│ │ ├── Square44x44Logo.altform-unplated_targetsize-24.png
│ │ ├── Square44x44Logo.altform-unplated_targetsize-256.png
│ │ ├── Square44x44Logo.altform-unplated_targetsize-30.png
│ │ ├── Square44x44Logo.altform-unplated_targetsize-32.png
│ │ ├── Square44x44Logo.altform-unplated_targetsize-36.png
│ │ ├── Square44x44Logo.altform-unplated_targetsize-40.png
│ │ ├── Square44x44Logo.altform-unplated_targetsize-44.png
│ │ ├── Square44x44Logo.altform-unplated_targetsize-48.png
│ │ ├── Square44x44Logo.altform-unplated_targetsize-60.png
│ │ ├── Square44x44Logo.altform-unplated_targetsize-64.png
│ │ ├── Square44x44Logo.altform-unplated_targetsize-72.png
│ │ ├── Square44x44Logo.altform-unplated_targetsize-80.png
│ │ ├── Square44x44Logo.altform-unplated_targetsize-96.png
│ │ ├── Square44x44Logo.png
│ │ ├── Square44x44Logo.scale-100.png
│ │ ├── Square44x44Logo.scale-125.png
│ │ ├── Square44x44Logo.scale-150.png
│ │ ├── Square44x44Logo.scale-200.png
│ │ ├── Square44x44Logo.scale-400.png
│ │ ├── Square44x44Logo.targetsize-16.png
│ │ ├── Square44x44Logo.targetsize-20.png
│ │ ├── Square44x44Logo.targetsize-24.png
│ │ ├── Square44x44Logo.targetsize-256.png
│ │ ├── Square44x44Logo.targetsize-30.png
│ │ ├── Square44x44Logo.targetsize-32.png
│ │ ├── Square44x44Logo.targetsize-36.png
│ │ ├── Square44x44Logo.targetsize-40.png
│ │ ├── Square44x44Logo.targetsize-44.png
│ │ ├── Square44x44Logo.targetsize-48.png
│ │ ├── Square44x44Logo.targetsize-60.png
│ │ ├── Square44x44Logo.targetsize-64.png
│ │ ├── Square44x44Logo.targetsize-72.png
│ │ ├── Square44x44Logo.targetsize-80.png
│ │ ├── Square44x44Logo.targetsize-96.png
│ │ ├── StoreLogo.png
│ │ ├── StoreLogo.scale-100.png
│ │ ├── StoreLogo.scale-125.png
│ │ ├── StoreLogo.scale-150.png
│ │ ├── StoreLogo.scale-200.png
│ │ ├── StoreLogo.scale-400.png
│ │ ├── Wide310x150Logo.png
│ │ ├── Wide310x150Logo.scale-100.png
│ │ ├── Wide310x150Logo.scale-125.png
│ │ ├── Wide310x150Logo.scale-150.png
│ │ ├── Wide310x150Logo.scale-200.png
│ │ └── Wide310x150Logo.scale-400.png
│ ├── beforePackHook.ts
│ ├── bin
│ │ └── update-client
│ ├── e2e
│ │ ├── __screenshots__
│ │ │ └── onboarding.test.ts
│ │ │ │ ├── Onboarding-checks-the-page-visuals-1-linux.png
│ │ │ │ └── Onboarding-checks-the-page-visuals-2-linux.png
│ │ ├── data
│ │ │ └── .gitkeep
│ │ ├── fixtures.ts
│ │ └── onboarding.test.ts
│ ├── icons
│ │ ├── generate-icns
│ │ ├── icon.icns
│ │ ├── icon.ico
│ │ └── icon.png
│ ├── index.ts
│ ├── loading.html
│ ├── menu.ts
│ ├── modules.d.ts
│ ├── package.json
│ ├── playwright.config.ts
│ ├── preload.ts
│ ├── security.ts
│ ├── server.ts
│ ├── tsconfig.dist.json
│ └── window-state.ts
├── eslint-plugin-actual
│ ├── lib
│ │ └── rules
│ │ │ ├── __tests__
│ │ │ ├── prefer-if-statement.test.js
│ │ │ └── typography.test.js
│ │ │ ├── prefer-if-statement.js
│ │ │ └── typography.js
│ └── package.json
├── loot-core
│ ├── .gitignore
│ ├── .swcrc
│ ├── bin
│ │ ├── build-api
│ │ ├── build-browser
│ │ └── copy-migrations
│ ├── db.sqlite
│ ├── default-db.sqlite
│ ├── migrations
│ │ ├── .force-copy-windows
│ │ ├── 1548957970627_remove-db-version.sql
│ │ ├── 1550601598648_payees.sql
│ │ ├── 1555786194328_remove_category_group_unique.sql
│ │ ├── 1561751833510_indexes.sql
│ │ ├── 1567699552727_budget.sql
│ │ ├── 1582384163573_cleared.sql
│ │ ├── 1597756566448_rules.sql
│ │ ├── 1608652596043_parent_field.sql
│ │ ├── 1608652596044_trans_views.sql
│ │ ├── 1612625548236_optimize.sql
│ │ ├── 1614782639336_trans_views2.sql
│ │ ├── 1615745967948_meta.sql
│ │ ├── 1616167010796_accounts_order.sql
│ │ ├── 1618975177358_schedules.sql
│ │ ├── 1632571489012_remove_cache.js
│ │ ├── 1679728867040_rules_conditions.sql
│ │ ├── 1681115033845_add_schedule_name.sql
│ │ ├── 1682974838138_remove_payee_rules.sql
│ │ ├── 1685007876842_add_category_hidden.sql
│ │ ├── 1686139660866_remove_account_type.sql
│ │ ├── 1688749527273_transaction_filters.sql
│ │ ├── 1688841238000_add_account_type.sql
│ │ ├── 1691233396000_add_schedule_next_date_tombstone.sql
│ │ ├── 1694438752000_add_goal_targets.sql
│ │ ├── 1697046240000_add_reconciled.sql
│ │ ├── 1704572023730_add_account_sync_source.sql
│ │ ├── 1704572023731_add_missing_goCardless_sync_source.sql
│ │ ├── 1707267033000_reports.sql
│ │ ├── 1712784523000_unhide_input_group.sql
│ │ ├── 1716359441000_include_current.sql
│ │ ├── 1720310586000_link_transfer_schedules.sql
│ │ ├── 1720664867241_add_payee_favorite.sql
│ │ ├── 1720665000000_goal_context.sql
│ │ ├── 1722717601000_reports_move_selected_categories.js
│ │ ├── 1722804019000_create_dashboard_table.js
│ │ ├── 1723665565000_prefs.js
│ │ ├── 1730744182000_fix_dashboard_table.sql
│ │ ├── 1736640000000_custom_report_sorting.sql
│ │ ├── 1737158400000_add_learn_categories_to_payees.sql
│ │ ├── 1738491452000_sorting_rename.sql
│ │ ├── 1739139550000_bank_sync_page.sql
│ │ ├── 1740506588539_add_last_reconciled_at.sql
│ │ └── 1745425408000_update_budgetType_pref.sql
│ ├── package.json
│ ├── peg-loader.js
│ ├── src
│ │ ├── mocks
│ │ │ ├── arbitrary-schema.ts
│ │ │ ├── budget.ts
│ │ │ ├── files
│ │ │ │ ├── 8859-1.qfx
│ │ │ │ ├── best.data-ever$.QFX
│ │ │ │ ├── big.data.QiF
│ │ │ │ ├── budgets
│ │ │ │ │ └── .commit-to-git
│ │ │ │ ├── camt
│ │ │ │ │ └── camt.053.xml
│ │ │ │ ├── credit-card.ofx
│ │ │ │ ├── data-multi-decimal.ofx
│ │ │ │ ├── data.ofx
│ │ │ │ ├── data.qfx
│ │ │ │ ├── data.qif
│ │ │ │ ├── default-budget-template
│ │ │ │ │ ├── db.sqlite
│ │ │ │ │ └── metadata.json
│ │ │ │ └── html-vals.qfx
│ │ │ ├── index.ts
│ │ │ ├── migrations
│ │ │ │ ├── 1508717984291_up_add-poop.sql
│ │ │ │ ├── 1508718036311_up_modify-poop.sql
│ │ │ │ └── 1508727787513_remove-is_income.sql
│ │ │ ├── random.ts
│ │ │ ├── setup.ts
│ │ │ ├── spreadsheet.ts
│ │ │ └── util.ts
│ │ ├── platform
│ │ │ ├── client
│ │ │ │ ├── fetch
│ │ │ │ │ ├── __mocks__
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── index.browser.ts
│ │ │ │ │ ├── index.d.ts
│ │ │ │ │ └── index.ts
│ │ │ │ └── undo
│ │ │ │ │ └── index.ts
│ │ │ ├── exceptions
│ │ │ │ ├── __mocks__
│ │ │ │ │ └── index.ts
│ │ │ │ └── index.ts
│ │ │ └── server
│ │ │ │ ├── asyncStorage
│ │ │ │ ├── __mocks__
│ │ │ │ │ └── index.ts
│ │ │ │ ├── index.d.ts
│ │ │ │ ├── index.electron.ts
│ │ │ │ └── index.ts
│ │ │ │ ├── connection
│ │ │ │ ├── __mocks__
│ │ │ │ │ └── index.ts
│ │ │ │ ├── index.api.ts
│ │ │ │ ├── index.d.ts
│ │ │ │ ├── index.electron.ts
│ │ │ │ └── index.ts
│ │ │ │ ├── fetch
│ │ │ │ ├── __mocks__
│ │ │ │ │ └── index.ts
│ │ │ │ ├── index.api.ts
│ │ │ │ ├── index.electron.ts
│ │ │ │ └── index.ts
│ │ │ │ ├── fs
│ │ │ │ ├── index.d.ts
│ │ │ │ ├── index.electron.ts
│ │ │ │ ├── index.web.test.ts
│ │ │ │ ├── index.web.ts
│ │ │ │ ├── path-join.d.ts
│ │ │ │ ├── path-join.electron.ts
│ │ │ │ ├── path-join.web.ts
│ │ │ │ └── shared.ts
│ │ │ │ ├── indexeddb
│ │ │ │ └── index.ts
│ │ │ │ ├── log
│ │ │ │ └── index.ts
│ │ │ │ └── sqlite
│ │ │ │ ├── index.d.ts
│ │ │ │ ├── index.electron.ts
│ │ │ │ ├── index.web.test.ts
│ │ │ │ ├── index.web.ts
│ │ │ │ ├── normalise.ts
│ │ │ │ ├── unicodeLike.test.ts
│ │ │ │ └── unicodeLike.ts
│ │ ├── server
│ │ │ ├── __mocks__
│ │ │ │ └── post.ts
│ │ │ ├── __snapshots__
│ │ │ │ ├── main.test.ts.snap
│ │ │ │ └── sheet.test.ts.snap
│ │ │ ├── accounts
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── sync.test.ts.snap
│ │ │ │ ├── app.ts
│ │ │ │ ├── link.ts
│ │ │ │ ├── payees.ts
│ │ │ │ ├── sync.test.ts
│ │ │ │ ├── sync.ts
│ │ │ │ └── title
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── lower-case.ts
│ │ │ │ │ └── specials.ts
│ │ │ ├── admin
│ │ │ │ └── app.ts
│ │ │ ├── api-models.ts
│ │ │ ├── api.test.ts
│ │ │ ├── api.ts
│ │ │ ├── app.ts
│ │ │ ├── aql
│ │ │ │ ├── compiler.test.ts
│ │ │ │ ├── compiler.ts
│ │ │ │ ├── exec.test.ts
│ │ │ │ ├── exec.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── schema-helpers.test.ts
│ │ │ │ ├── schema-helpers.ts
│ │ │ │ ├── schema
│ │ │ │ │ ├── executors.test.ts
│ │ │ │ │ ├── executors.ts
│ │ │ │ │ ├── index.test.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── views.test.ts
│ │ │ │ └── views.ts
│ │ │ ├── auth
│ │ │ │ └── app.ts
│ │ │ ├── bench.ts
│ │ │ ├── budget
│ │ │ │ ├── actions.ts
│ │ │ │ ├── app.ts
│ │ │ │ ├── base.test.ts
│ │ │ │ ├── base.ts
│ │ │ │ ├── category-template-context.test.ts
│ │ │ │ ├── category-template-context.ts
│ │ │ │ ├── cleanup-template.pegjs
│ │ │ │ ├── cleanup-template.ts
│ │ │ │ ├── envelope.ts
│ │ │ │ ├── goal-template.pegjs
│ │ │ │ ├── goal-template.ts
│ │ │ │ ├── report.ts
│ │ │ │ ├── schedule-template.test.ts
│ │ │ │ ├── schedule-template.ts
│ │ │ │ ├── statements.ts
│ │ │ │ ├── template-notes.test.ts
│ │ │ │ ├── template-notes.ts
│ │ │ │ ├── types
│ │ │ │ │ └── templates.d.ts
│ │ │ │ └── util.ts
│ │ │ ├── budgetfiles
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── backups.test.ts.snap
│ │ │ │ ├── app.ts
│ │ │ │ ├── backups.test.ts
│ │ │ │ └── backups.ts
│ │ │ ├── cloud-storage.ts
│ │ │ ├── dashboard
│ │ │ │ └── app.ts
│ │ │ ├── db
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── index.test.ts.snap
│ │ │ │ ├── index.test.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── mappings.ts
│ │ │ │ ├── sort.ts
│ │ │ │ ├── types
│ │ │ │ │ └── index.ts
│ │ │ │ └── util.ts
│ │ │ ├── encryption
│ │ │ │ ├── app.ts
│ │ │ │ ├── encryption-internals.ts
│ │ │ │ ├── encryption-internals.web.ts
│ │ │ │ ├── encryption.test.ts
│ │ │ │ ├── index.test.ts
│ │ │ │ └── index.ts
│ │ │ ├── errors.ts
│ │ │ ├── filters
│ │ │ │ └── app.ts
│ │ │ ├── importers
│ │ │ │ ├── actual.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── ynab4-types.d.ts
│ │ │ │ ├── ynab4.ts
│ │ │ │ ├── ynab5-types.d.ts
│ │ │ │ └── ynab5.ts
│ │ │ ├── main-app.ts
│ │ │ ├── main.test.ts
│ │ │ ├── main.ts
│ │ │ ├── migrate
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── migrations.test.ts.snap
│ │ │ │ ├── cli.ts
│ │ │ │ ├── migrations.test.ts
│ │ │ │ └── migrations.ts
│ │ │ ├── models.ts
│ │ │ ├── mutators.ts
│ │ │ ├── notes
│ │ │ │ └── app.ts
│ │ │ ├── payees
│ │ │ │ └── app.ts
│ │ │ ├── polyfills.ts
│ │ │ ├── post.ts
│ │ │ ├── preferences
│ │ │ │ └── app.ts
│ │ │ ├── prefs.ts
│ │ │ ├── reports
│ │ │ │ └── app.ts
│ │ │ ├── rules
│ │ │ │ ├── app.ts
│ │ │ │ ├── index.test.ts
│ │ │ │ └── index.ts
│ │ │ ├── schedules
│ │ │ │ ├── app.test.ts
│ │ │ │ ├── app.ts
│ │ │ │ └── find-schedules.ts
│ │ │ ├── server-config.ts
│ │ │ ├── sheet.test.ts
│ │ │ ├── sheet.ts
│ │ │ ├── spreadsheet
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── spreadsheet.test.ts.snap
│ │ │ │ ├── app.ts
│ │ │ │ ├── globals.ts
│ │ │ │ ├── graph-data-structure.ts
│ │ │ │ ├── scratch
│ │ │ │ ├── spreadsheet.test.ts
│ │ │ │ ├── spreadsheet.ts
│ │ │ │ └── util.ts
│ │ │ ├── sql
│ │ │ │ └── init.sql
│ │ │ ├── sync
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── sync.test.ts.snap
│ │ │ │ ├── app.ts
│ │ │ │ ├── encoder.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── make-test-message.ts
│ │ │ │ ├── migrate.test.ts
│ │ │ │ ├── migrate.ts
│ │ │ │ ├── repair.ts
│ │ │ │ ├── reset.ts
│ │ │ │ ├── sync.property.test.ts
│ │ │ │ ├── sync.test.ts
│ │ │ │ └── utils.ts
│ │ │ ├── tests
│ │ │ │ ├── mockData.json
│ │ │ │ └── mockSyncServer.ts
│ │ │ ├── tools
│ │ │ │ └── app.ts
│ │ │ ├── transactions
│ │ │ │ ├── __snapshots__
│ │ │ │ │ ├── transaction-rules.test.ts.snap
│ │ │ │ │ └── transfer.test.ts.snap
│ │ │ │ ├── app.ts
│ │ │ │ ├── export
│ │ │ │ │ └── export-to-csv.ts
│ │ │ │ ├── import
│ │ │ │ │ ├── __snapshots__
│ │ │ │ │ │ └── parse-file.test.ts.snap
│ │ │ │ │ ├── ofx2json.test.ts
│ │ │ │ │ ├── ofx2json.ts
│ │ │ │ │ ├── parse-file.test.ts
│ │ │ │ │ ├── parse-file.ts
│ │ │ │ │ ├── qif2json.ts
│ │ │ │ │ └── xmlcamt2json.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── merge.test.ts
│ │ │ │ ├── merge.ts
│ │ │ │ ├── transaction-rules.test.ts
│ │ │ │ ├── transaction-rules.ts
│ │ │ │ ├── transfer.test.ts
│ │ │ │ └── transfer.ts
│ │ │ ├── undo.ts
│ │ │ ├── update.ts
│ │ │ └── util
│ │ │ │ ├── budget-name.ts
│ │ │ │ ├── custom-sync-mapping.ts
│ │ │ │ └── rschedule.ts
│ │ ├── shared
│ │ │ ├── __mocks__
│ │ │ │ └── platform.web.ts
│ │ │ ├── __snapshots__
│ │ │ │ └── months.test.ts.snap
│ │ │ ├── arithmetic.test.ts
│ │ │ ├── arithmetic.ts
│ │ │ ├── async.test.ts
│ │ │ ├── async.ts
│ │ │ ├── dashboard.ts
│ │ │ ├── environment.ts
│ │ │ ├── errors.ts
│ │ │ ├── locale.ts
│ │ │ ├── months.test.ts
│ │ │ ├── months.ts
│ │ │ ├── normalisation.ts
│ │ │ ├── platform.electron.ts
│ │ │ ├── platform.ts
│ │ │ ├── platform.web.ts
│ │ │ ├── query.ts
│ │ │ ├── rules.ts
│ │ │ ├── schedules.test.ts
│ │ │ ├── schedules.ts
│ │ │ ├── test-helpers.ts
│ │ │ ├── transactions.test.ts
│ │ │ ├── transactions.ts
│ │ │ ├── transfer.test.ts
│ │ │ ├── transfer.ts
│ │ │ ├── user.ts
│ │ │ ├── util.test.ts
│ │ │ └── util.ts
│ │ └── types
│ │ │ ├── api-handlers.ts
│ │ │ ├── budget.ts
│ │ │ ├── file.ts
│ │ │ ├── handlers.ts
│ │ │ ├── models
│ │ │ ├── account.d.ts
│ │ │ ├── bank-sync.ts
│ │ │ ├── bank.d.ts
│ │ │ ├── category-group.ts
│ │ │ ├── category.ts
│ │ │ ├── dashboard.ts
│ │ │ ├── gocardless.ts
│ │ │ ├── index.ts
│ │ │ ├── note.ts
│ │ │ ├── openid.ts
│ │ │ ├── payee.ts
│ │ │ ├── pluggyai.d.ts
│ │ │ ├── reports.ts
│ │ │ ├── rule.ts
│ │ │ ├── schedule.ts
│ │ │ ├── simplefin.ts
│ │ │ ├── transaction-filter.ts
│ │ │ ├── transaction.ts
│ │ │ ├── user-access.d.ts
│ │ │ └── user.d.ts
│ │ │ ├── prefs.d.ts
│ │ │ ├── server-events.ts
│ │ │ ├── server-handlers.ts
│ │ │ └── util.ts
│ ├── tsconfig.api.json
│ ├── typings
│ │ ├── pegjs.d.ts
│ │ ├── vite-plugin-peggy-loader.d.ts
│ │ └── window.d.ts
│ ├── vitest.config.ts
│ ├── vitest.web.config.ts
│ └── webpack
│ │ ├── webpack.api.config.js
│ │ ├── webpack.browser.config.js
│ │ └── webpack.desktop.config.js
└── sync-server
│ ├── .dockerignore
│ ├── .gitignore
│ ├── LICENSE
│ ├── README.md
│ ├── app.ts
│ ├── babel.config.json
│ ├── bin
│ └── actual-server.js
│ ├── docker-compose.yml
│ ├── docker
│ ├── alpine.Dockerfile
│ └── ubuntu.Dockerfile
│ ├── migrations
│ ├── 1694360000000-create-folders.js
│ ├── 1694360479680-create-account-db.js
│ ├── 1694362247011-create-secret-table.js
│ ├── 1702667624000-rename-nordigen-secrets.js
│ ├── 1718889148000-openid.js
│ └── 1719409568000-multiuser.js
│ ├── package.json
│ ├── src
│ ├── account-db.js
│ ├── accounts
│ │ ├── openid.js
│ │ └── password.js
│ ├── app-account.js
│ ├── app-admin.js
│ ├── app-admin.test.js
│ ├── app-gocardless
│ │ ├── README.md
│ │ ├── app-gocardless.js
│ │ ├── bank-factory.js
│ │ ├── banks
│ │ │ ├── abanca_caglesmm.js
│ │ │ ├── abnamro_abnanl2a.js
│ │ │ ├── american_express_aesudef1.js
│ │ │ ├── bancsabadell_bsabesbbb.js
│ │ │ ├── bank.interface.ts
│ │ │ ├── bank_of_ireland_b365_bofiie2d.js
│ │ │ ├── bankinter_bkbkesmm.js
│ │ │ ├── belfius_gkccbebb.js
│ │ │ ├── berliner_sparkasse_beladebexxx.js
│ │ │ ├── bnp_be_gebabebb.js
│ │ │ ├── boursobank_bousfrppxxx.js
│ │ │ ├── cbc_cregbebb.js
│ │ │ ├── commerzbank_cobadeff.js
│ │ │ ├── danskebank_dabno22.js
│ │ │ ├── direkt_heladef1822.js
│ │ │ ├── easybank_bawaatww.js
│ │ │ ├── entercard_swednokk.js
│ │ │ ├── fortuneo_ftnofrp1xxx.js
│ │ │ ├── hype_hyeeit22.js
│ │ │ ├── ing_ingbrobu.js
│ │ │ ├── ing_ingddeff.js
│ │ │ ├── ing_pl_ingbplpw.js
│ │ │ ├── integration-bank.js
│ │ │ ├── isybank_itbbitmm.js
│ │ │ ├── kbc_kredbebb.js
│ │ │ ├── lhv-lhvbee22.js
│ │ │ ├── mbank_retail_brexplpw.js
│ │ │ ├── nationwide_naiagb21.js
│ │ │ ├── nbg_ethngraaxxx.js
│ │ │ ├── norwegian_xx_norwnok1.js
│ │ │ ├── revolut_revolt21.js
│ │ │ ├── sandboxfinance_sfin0000.js
│ │ │ ├── seb_kort_bank_ab.js
│ │ │ ├── seb_privat.js
│ │ │ ├── sparnord_spnodk22.js
│ │ │ ├── spk_karlsruhe_karsde66.js
│ │ │ ├── spk_marburg_biedenkopf_heladef1mar.js
│ │ │ ├── spk_worms_alzey_ried_malade51wor.js
│ │ │ ├── ssk_dusseldorf_dussdeddxxx.js
│ │ │ ├── swedbank_habalv22.js
│ │ │ ├── tests
│ │ │ │ ├── abanca_caglesmm.spec.js
│ │ │ │ ├── abnamro_abnanl2a.spec.js
│ │ │ │ ├── bancsabadell_bsabesbbb.spec.js
│ │ │ │ ├── belfius_gkccbebb.spec.js
│ │ │ │ ├── boursobank_bousfrppxxx.spec.js
│ │ │ │ ├── cbc_cregbebb.spec.js
│ │ │ │ ├── commerzbank_cobadeff.spec.js
│ │ │ │ ├── easybank_bawaatww.spec.js
│ │ │ │ ├── fortuneo_ftnofrp1xxx.spec.js
│ │ │ │ ├── ing_ingddeff.spec.js
│ │ │ │ ├── ing_pl_ingbplpw.spec.js
│ │ │ │ ├── integration_bank.spec.js
│ │ │ │ ├── kbc_kredbebb.spec.js
│ │ │ │ ├── lhv-lhvbee22.spec.js
│ │ │ │ ├── mbank_retail_brexplpw.spec.js
│ │ │ │ ├── nationwide_naiagb21.spec.js
│ │ │ │ ├── nbg_ethngraaxxx.spec.js
│ │ │ │ ├── revolut_revolt21.spec.js
│ │ │ │ ├── sandboxfinance_sfin0000.spec.js
│ │ │ │ ├── spk_marburg_biedenkopf_heladef1mar.spec.js
│ │ │ │ ├── ssk_dusseldorf_dussdeddxxx.spec.js
│ │ │ │ ├── swedbank_habalv22.spec.js
│ │ │ │ └── virgin_nrnbgb22.spec.js
│ │ │ ├── util
│ │ │ │ ├── escape-regexp.js
│ │ │ │ └── extract-payeeName-from-remittanceInfo.js
│ │ │ └── virgin_nrnbgb22.js
│ │ ├── errors.js
│ │ ├── gocardless-node.types.ts
│ │ ├── gocardless.types.ts
│ │ ├── link.html
│ │ ├── services
│ │ │ ├── gocardless-service.js
│ │ │ └── tests
│ │ │ │ ├── fixtures.js
│ │ │ │ └── gocardless-service.spec.js
│ │ ├── tests
│ │ │ ├── bank-factory.spec.js
│ │ │ └── utils.spec.js
│ │ ├── util
│ │ │ └── handle-error.js
│ │ └── utils.js
│ ├── app-openid.js
│ ├── app-pluggyai
│ │ ├── app-pluggyai.js
│ │ └── pluggyai-service.js
│ ├── app-secrets.js
│ ├── app-simplefin
│ │ └── app-simplefin.js
│ ├── app-sync.test.ts
│ ├── app-sync.ts
│ ├── app-sync
│ │ ├── errors.js
│ │ ├── services
│ │ │ └── files-service.js
│ │ ├── tests
│ │ │ └── services
│ │ │ │ └── files-service.test.js
│ │ └── validation.js
│ ├── app.ts
│ ├── config-types.ts
│ ├── db.js
│ ├── load-config.js
│ ├── migrations.js
│ ├── scripts
│ │ ├── disable-openid.js
│ │ ├── enable-openid.js
│ │ ├── health-check.js
│ │ ├── reset-password.js
│ │ └── run-migrations.js
│ ├── secrets.test.js
│ ├── services
│ │ ├── secrets-service.js
│ │ └── user-service.js
│ ├── sql
│ │ └── messages.sql
│ ├── sync-simple.js
│ └── util
│ │ ├── hash.js
│ │ ├── middlewares.js
│ │ ├── paths.js
│ │ ├── payee-name.js
│ │ ├── prompt.js
│ │ ├── title
│ │ ├── index.js
│ │ ├── lower-case.js
│ │ └── specials.js
│ │ └── validate-user.js
│ ├── tsconfig.json
│ ├── vitest.config.ts
│ └── vitest.globalSetup.js
├── sync-server.Dockerfile
├── tsconfig.json
├── upcoming-release-notes
├── 4766.md
├── 4787.md
├── 4789.md
├── 4810.md
├── 4815.md
├── 4817.md
├── 4818.md
├── 4819.md
├── 4820.md
├── 4821.md
├── 4822.md
├── 4823.md
├── 4827.md
├── 4828.md
├── 4830.md
├── 4864.md
├── 4869.md
├── 4870.md
├── 4872.md
├── 4879.md
├── 4882.md
├── 4887.md
├── 4889.md
├── 4897.md
├── 4903.md
├── 4908.md
├── 4910.md
├── 4911.md
├── 4912.md
├── 4914.md
├── 4917.md
├── 4921.md
├── 4922.md
├── 4923.md
├── 4930.md
├── 4932.md
├── 4933.md
├── 4935.md
├── 4940.md
├── 4942.md
├── 4943.md
├── 4949.md
├── 4953.md
├── 4954.md
├── 4955.md
├── 4956.md
├── 4957.md
├── 4958.md
├── 4960.md
├── 4968.md
├── 4970.md
├── 4978.md
├── 4980.md
├── 4986.md
├── 4987.md
├── 4992.md
├── 4994.md
├── 4995.md
├── 4998.md
├── 5002.md
├── 5008.md
├── 5011.md
├── 5014.md
├── 5015.md
├── 5017.md
├── 5018.md
├── 5019.md
├── 5024.md
├── 5025.md
├── 5027.md
├── 5028.md
├── 5029.md
├── 5031.md
├── 5034.md
├── 5036.md
├── 5038.md
├── 5041.md
├── 5042.md
├── 5045.md
├── 5050.md
├── 5051.md
├── 5052.md
├── 5069.md
├── 5070.md
├── 5073.md
├── 5075.md
└── README.md
└── yarn.lock
/.devcontainer/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3.8'
2 | services:
3 | actual-development:
4 | volumes:
5 | - ..:/workspaces:cached
6 | command: /bin/sh -c "while sleep 1000; do :; done"
7 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # https://editorconfig.org
2 |
3 | root = true
4 |
5 | [*]
6 | charset = utf-8
7 | end_of_line = lf
8 | indent_size = 2
9 | indent_style = space
10 | insert_final_newline = true
11 | trim_trailing_whitespace = true
12 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # Funding policies: https://actualbudget.org/docs/contributing/leadership/funding
2 | open_collective: actual
3 | github: actualbudget
4 |
--------------------------------------------------------------------------------
/.husky/pre-commit:
--------------------------------------------------------------------------------
1 | yarn lint-staged
2 |
--------------------------------------------------------------------------------
/.nvmrc:
--------------------------------------------------------------------------------
1 | v20/*
2 |
--------------------------------------------------------------------------------
/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "singleQuote": true,
3 | "trailingComma": "all",
4 | "arrowParens": "avoid"
5 | }
6 |
--------------------------------------------------------------------------------
/.secret-tokens.example:
--------------------------------------------------------------------------------
1 | export APPLE_ID=example@email.com
2 | export APPLE_APP_SPECIFIC_PASSWORD=password
3 |
--------------------------------------------------------------------------------
/.yarnrc.yml:
--------------------------------------------------------------------------------
1 | compressionLevel: mixed
2 |
3 | enableGlobalCache: false
4 |
5 | enableTransparentWorkspaces: false
6 |
7 | nodeLinker: node-modules
8 |
9 | yarnPath: .yarn/releases/yarn-4.9.1.cjs
10 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | Please review the contributing documentation on our website: https://actualbudget.org/docs/contributing/
2 |
--------------------------------------------------------------------------------
/data/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/data/.gitkeep
--------------------------------------------------------------------------------
/demo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/demo.png
--------------------------------------------------------------------------------
/packages/api/.gitignore:
--------------------------------------------------------------------------------
1 | app/bundle.api.js*
2 | app/stats.json
3 | migrations
4 | default-db.sqlite
5 | mocks/budgets/**/*
6 |
--------------------------------------------------------------------------------
/packages/api/README.md:
--------------------------------------------------------------------------------
1 | ```
2 | npm install @actual-app/api
3 | ```
4 |
5 | View docs here: https://actualbudget.org/docs/api/
6 |
--------------------------------------------------------------------------------
/packages/api/injected.js:
--------------------------------------------------------------------------------
1 | // TODO: comment on why it works this way
2 |
3 | export let send;
4 |
5 | export function override(sendImplementation) {
6 | send = sendImplementation;
7 | }
8 |
--------------------------------------------------------------------------------
/packages/api/mocks/budgets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/api/mocks/budgets/.gitkeep
--------------------------------------------------------------------------------
/packages/api/utils.js:
--------------------------------------------------------------------------------
1 | export function amountToInteger(n) {
2 | return Math.round(n * 100);
3 | }
4 |
5 | export function integerToAmount(n) {
6 | return parseFloat((n / 100).toFixed(2));
7 | }
8 |
--------------------------------------------------------------------------------
/packages/api/vitest.config.ts:
--------------------------------------------------------------------------------
1 | export default {
2 | test: {
3 | globals: true,
4 | onConsoleLog(log: string, type: 'stdout' | 'stderr'): boolean | void {
5 | // print only console.error
6 | return type === 'stderr';
7 | },
8 | },
9 | };
10 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/.gitignore:
--------------------------------------------------------------------------------
1 | index.js
2 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/logo/index.ts:
--------------------------------------------------------------------------------
1 | export { SvgLogo } from './Logo';
2 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/add-outline.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/add-solid.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/adjust.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/airplane.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/album.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/align-center.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/align-justified.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/align-left.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/align-right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/anchor.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/announcement.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/apparel.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/arrow-down.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/arrow-left.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/arrow-outline-down.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/arrow-outline-left.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/arrow-outline-right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/arrow-outline-up.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/arrow-right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/arrow-thick-down.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/arrow-thick-left.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/arrow-thick-right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/arrow-thick-up.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/arrow-thin-down.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/arrow-thin-left.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/arrow-thin-right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/arrow-thin-up.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/arrow-up.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/artist.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/at-symbol.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/attachment.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/backspace.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/backward-step.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/backward.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/badge.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/battery-full.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/battery-half.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/battery-low.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/beverage.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/block.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/bluetooth.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/bolt.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/book-reference.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/bookmark copy 2.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/bookmark copy 3.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/bookmark-outline-add.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/bookmark-outline.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/bookmark.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/border-all.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/border-inner.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/border-outer.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/box.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/browser-window-new.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/browser-window-open.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/browser-window.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/calculator.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/calendar.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/camera.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/chart-bar.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/chart-pie.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/chat-bubble-dots.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/checkmark-outline.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/checkmark.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/cheveron-down.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/cheveron-left.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/cheveron-outline-down.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/cheveron-outline-left.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/cheveron-outline-right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/cheveron-outline-up.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/cheveron-right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/cheveron-up.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/clipboard.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/close-solid.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/close.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/cloud-upload.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/cloud.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/code.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/coffee.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/compose.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/computer-desktop.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/computer-laptop.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/conversation.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/copy.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/credit-card.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/currency-dollar.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/dashboard.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/date-add.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/directions.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/document-add.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/document.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/dots-horizontal-double.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/dots-horizontal-triple.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/download.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/duplicate.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/edit-copy.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/edit-crop.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/edit-pencil.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/education.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/envelope.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/exclamation-outline.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/exclamation-solid.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/explore.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/factory.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/fast-forward.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/fast-rewind.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/film.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/filter.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/flag.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/flashlight.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/folder-outline-add.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/folder-outline.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/folder.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/format-bold.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/format-font-size.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/format-italic.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/format-text-size.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/format-underline.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/forward-step.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/forward.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/gift.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/hand-stop.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/headphones.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/heart.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/home.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/hot.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/hour-glass.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/inbox-check.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/inbox-download.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/inbox-full.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/inbox.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/indent-decrease.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/indent-increase.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/information-outline.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/information-solid.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/key.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/layers.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/library.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/light-bulb.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/list-add.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/list-bullet.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/list.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/load-balancer.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/location-current.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/location-food.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/location-gas-station.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/location-hotel.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/location-marina.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/location-park.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/location-restroom.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/location-shopping.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/location.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/lock-closed.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/lock-open.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/map.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/menu.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/mic.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/minus-outline.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/minus-solid.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/mood-happy-outline.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/mood-happy-solid.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/mood-neutral-solid.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/mood-sad-outline.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/mood-sad-solid.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/mouse.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/music-album.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/music-artist.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/music-notes.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/music-playlist.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/navigation-more.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/news-paper.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/notification.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/notifications-outline.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/notifications.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/pause-outline.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/pause-solid.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/pause.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/pen-tool.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/phone.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/photo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/php-elephant.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/pin.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/play-outline.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/play.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/playlist.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/portfolio.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/printer.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/pylon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/question.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/queue.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/radar.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/refresh.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/reload.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/reply-all.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/reply.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/repost.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/save-disk.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/search.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/send.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/share-01.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/share-alt.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/share.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/shopping-cart.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/show-sidebar.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/stand-by.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/star-full.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/station.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/step-backward.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/step-forward.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/stroke-width.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/subdirectory-left.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/subdirectory-right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/subtract.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/swap.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/tablet.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/tag.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/target.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/text-box.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/text-decoration.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/thermometer.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/thumbs-down.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/thumbs-up.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/ticket.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/time.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/timer.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/tools copy.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/trash.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/travel-case.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/travel.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/trophy.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/tuning.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/upload.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/usb.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/user-add.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/user-solid-circle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/user-solid-square.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/user.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/vector.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/video-camera.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/view-carousel.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/view-column.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/view-list.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/view-show.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/view-tile.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/volume-down.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/volume-mute.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/volume-off.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/volume-up.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/wallet.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/watch.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/window-new.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/window-open.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/window.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/wrench.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/yin-yang.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/zoom-in.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v1/zoom-out.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v2/lock-closed.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v2/navigation-menu.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v2/subtract.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/component-library/src/icons/v2/view-show.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/crdt/.gitignore:
--------------------------------------------------------------------------------
1 | bin/protoc-gen-js
2 | bin/protoc
3 |
--------------------------------------------------------------------------------
/packages/crdt/index.ts:
--------------------------------------------------------------------------------
1 | export * from './src';
2 |
--------------------------------------------------------------------------------
/packages/crdt/src/crdt/index.ts:
--------------------------------------------------------------------------------
1 | import * as merkle from './merkle';
2 |
3 | export { merkle };
4 | export {
5 | getClock,
6 | setClock,
7 | makeClock,
8 | makeClientId,
9 | serializeClock,
10 | deserializeClock,
11 | type Clock,
12 | Timestamp,
13 | } from './timestamp';
14 |
--------------------------------------------------------------------------------
/packages/crdt/src/index.ts:
--------------------------------------------------------------------------------
1 | import * as SyncPb from './proto/sync_pb';
2 | export {
3 | merkle,
4 | getClock,
5 | setClock,
6 | makeClock,
7 | makeClientId,
8 | serializeClock,
9 | deserializeClock,
10 | type Clock,
11 | Timestamp,
12 | } from './crdt';
13 |
14 | export const SyncProtoBuf = SyncPb;
15 |
--------------------------------------------------------------------------------
/packages/desktop-client/bin/watch-browser:
--------------------------------------------------------------------------------
1 | #!/bin/sh -e
2 |
3 | ROOT=`dirname $0`
4 | cd "$ROOT/.."
5 |
6 | export IS_GENERIC_BROWSER=1
7 | export PORT=3001
8 | export REACT_APP_BACKEND_WORKER_HASH="dev"
9 |
10 | yarn start
11 |
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/accounts.test.ts-snapshots/Accounts-closes-an-account-1-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/accounts.test.ts-snapshots/Accounts-closes-an-account-1-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/accounts.test.ts-snapshots/Accounts-closes-an-account-2-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/accounts.test.ts-snapshots/Accounts-closes-an-account-2-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/accounts.test.ts-snapshots/Accounts-closes-an-account-3-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/accounts.test.ts-snapshots/Accounts-closes-an-account-3-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/accounts.test.ts-snapshots/Accounts-closes-an-account-4-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/accounts.test.ts-snapshots/Accounts-closes-an-account-4-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/accounts.test.ts-snapshots/Accounts-closes-an-account-5-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/accounts.test.ts-snapshots/Accounts-closes-an-account-5-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/accounts.test.ts-snapshots/Accounts-closes-an-account-6-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/accounts.test.ts-snapshots/Accounts-closes-an-account-6-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/budget.test.ts-snapshots/Budget-transfer-funds-to-another-category-1-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/budget.test.ts-snapshots/Budget-transfer-funds-to-another-category-1-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/budget.test.ts-snapshots/Budget-transfer-funds-to-another-category-2-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/budget.test.ts-snapshots/Budget-transfer-funds-to-another-category-2-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/budget.test.ts-snapshots/Budget-transfer-funds-to-another-category-3-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/budget.test.ts-snapshots/Budget-transfer-funds-to-another-category-3-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/data/actual-demo-budget.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/data/actual-demo-budget.zip
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/data/ynab4-demo-budget.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/data/ynab4-demo-budget.zip
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/onboarding.test.ts-snapshots/Onboarding-checks-the-page-visuals-1-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/onboarding.test.ts-snapshots/Onboarding-checks-the-page-visuals-1-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/onboarding.test.ts-snapshots/Onboarding-checks-the-page-visuals-2-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/onboarding.test.ts-snapshots/Onboarding-checks-the-page-visuals-2-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/onboarding.test.ts-snapshots/Onboarding-checks-the-page-visuals-3-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/onboarding.test.ts-snapshots/Onboarding-checks-the-page-visuals-3-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/onboarding.test.ts-snapshots/Onboarding-checks-the-page-visuals-4-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/onboarding.test.ts-snapshots/Onboarding-checks-the-page-visuals-4-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/onboarding.test.ts-snapshots/Onboarding-checks-the-page-visuals-5-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/onboarding.test.ts-snapshots/Onboarding-checks-the-page-visuals-5-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/onboarding.test.ts-snapshots/Onboarding-checks-the-page-visuals-6-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/onboarding.test.ts-snapshots/Onboarding-checks-the-page-visuals-6-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/payees.test.ts-snapshots/Payees-checks-the-payees-page-visuals-1-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/payees.test.ts-snapshots/Payees-checks-the-payees-page-visuals-1-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/payees.test.ts-snapshots/Payees-checks-the-payees-page-visuals-2-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/payees.test.ts-snapshots/Payees-checks-the-payees-page-visuals-2-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/payees.test.ts-snapshots/Payees-checks-the-payees-page-visuals-3-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/payees.test.ts-snapshots/Payees-checks-the-payees-page-visuals-3-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/payees.test.ts-snapshots/Payees-checks-the-payees-page-visuals-4-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/payees.test.ts-snapshots/Payees-checks-the-payees-page-visuals-4-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/payees.test.ts-snapshots/Payees-checks-the-payees-page-visuals-5-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/payees.test.ts-snapshots/Payees-checks-the-payees-page-visuals-5-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/payees.test.ts-snapshots/Payees-checks-the-payees-page-visuals-6-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/payees.test.ts-snapshots/Payees-checks-the-payees-page-visuals-6-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/reports.test.ts-snapshots/Reports-loads-cash-flow-graph-and-checks-visuals-1-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/reports.test.ts-snapshots/Reports-loads-cash-flow-graph-and-checks-visuals-1-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/reports.test.ts-snapshots/Reports-loads-cash-flow-graph-and-checks-visuals-2-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/reports.test.ts-snapshots/Reports-loads-cash-flow-graph-and-checks-visuals-2-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/reports.test.ts-snapshots/Reports-loads-cash-flow-graph-and-checks-visuals-3-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/reports.test.ts-snapshots/Reports-loads-cash-flow-graph-and-checks-visuals-3-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/reports.test.ts-snapshots/Reports-loads-net-worth-and-cash-flow-reports-1-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/reports.test.ts-snapshots/Reports-loads-net-worth-and-cash-flow-reports-1-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/reports.test.ts-snapshots/Reports-loads-net-worth-and-cash-flow-reports-2-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/reports.test.ts-snapshots/Reports-loads-net-worth-and-cash-flow-reports-2-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/reports.test.ts-snapshots/Reports-loads-net-worth-and-cash-flow-reports-3-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/reports.test.ts-snapshots/Reports-loads-net-worth-and-cash-flow-reports-3-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/reports.test.ts-snapshots/Reports-loads-net-worth-graph-and-checks-visuals-1-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/reports.test.ts-snapshots/Reports-loads-net-worth-graph-and-checks-visuals-1-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/rules.test.ts-snapshots/Rules-checks-the-page-visuals-1-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/rules.test.ts-snapshots/Rules-checks-the-page-visuals-1-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/rules.test.ts-snapshots/Rules-checks-the-page-visuals-2-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/rules.test.ts-snapshots/Rules-checks-the-page-visuals-2-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/rules.test.ts-snapshots/Rules-checks-the-page-visuals-3-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/rules.test.ts-snapshots/Rules-checks-the-page-visuals-3-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/schedules.test.ts-snapshots/Schedules-checks-the-page-visuals-1-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/schedules.test.ts-snapshots/Schedules-checks-the-page-visuals-1-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/schedules.test.ts-snapshots/Schedules-checks-the-page-visuals-2-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/schedules.test.ts-snapshots/Schedules-checks-the-page-visuals-2-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/schedules.test.ts-snapshots/Schedules-checks-the-page-visuals-3-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/schedules.test.ts-snapshots/Schedules-checks-the-page-visuals-3-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/settings.test.ts-snapshots/Settings-checks-the-page-visuals-1-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/settings.test.ts-snapshots/Settings-checks-the-page-visuals-1-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/settings.test.ts-snapshots/Settings-checks-the-page-visuals-2-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/settings.test.ts-snapshots/Settings-checks-the-page-visuals-2-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/settings.test.ts-snapshots/Settings-checks-the-page-visuals-3-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/settings.test.ts-snapshots/Settings-checks-the-page-visuals-3-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-checks-the-page-visuals-1-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-checks-the-page-visuals-1-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-checks-the-page-visuals-2-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-checks-the-page-visuals-2-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-checks-the-page-visuals-3-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-checks-the-page-visuals-3-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-creates-a-test-transaction-1-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-creates-a-test-transaction-1-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-creates-a-test-transaction-2-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-creates-a-test-transaction-2-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-creates-a-test-transaction-3-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-creates-a-test-transaction-3-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-filters-transactions-by-date-1-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-filters-transactions-by-date-1-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-filters-transactions-by-date-2-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-filters-transactions-by-date-2-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-filters-transactions-by-date-3-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-filters-transactions-by-date-3-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-filters-transactions-by-date-4-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-filters-transactions-by-date-4-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-filters-transactions-by-date-5-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-filters-transactions-by-date-5-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-filters-transactions-by-date-6-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-filters-transactions-by-date-6-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-filters-transactions-by-date-7-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-filters-transactions-by-date-7-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-filters-transactions-by-date-8-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-filters-transactions-by-date-8-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-filters-transactions-by-date-9-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-filters-transactions-by-date-9-chromium-linux.png
--------------------------------------------------------------------------------
/packages/desktop-client/public/_redirects:
--------------------------------------------------------------------------------
1 | /* /index.html 200
--------------------------------------------------------------------------------
/packages/desktop-client/public/android-chrome-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/public/android-chrome-192x192.png
--------------------------------------------------------------------------------
/packages/desktop-client/public/android-chrome-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/public/android-chrome-512x512.png
--------------------------------------------------------------------------------
/packages/desktop-client/public/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/public/apple-touch-icon.png
--------------------------------------------------------------------------------
/packages/desktop-client/public/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/public/favicon-16x16.png
--------------------------------------------------------------------------------
/packages/desktop-client/public/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/public/favicon-32x32.png
--------------------------------------------------------------------------------
/packages/desktop-client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/public/favicon.ico
--------------------------------------------------------------------------------
/packages/desktop-client/public/maskable-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/public/maskable-192x192.png
--------------------------------------------------------------------------------
/packages/desktop-client/public/maskable-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/public/maskable-512x512.png
--------------------------------------------------------------------------------
/packages/desktop-client/public/mstile-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/public/mstile-150x150.png
--------------------------------------------------------------------------------
/packages/desktop-client/public/screenshot_narrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/public/screenshot_narrow.png
--------------------------------------------------------------------------------
/packages/desktop-client/public/screenshot_wide.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/public/screenshot_wide.png
--------------------------------------------------------------------------------
/packages/desktop-client/public/shortcut-reports.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/packages/desktop-client/public/shortcut-transaction.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/packages/desktop-client/src/auth/types.ts:
--------------------------------------------------------------------------------
1 | export enum Permissions {
2 | ADMINISTRATOR = 'ADMIN',
3 | }
4 |
--------------------------------------------------------------------------------
/packages/desktop-client/src/browser-preload.js:
--------------------------------------------------------------------------------
1 | // Intentionally left blank to make electron app work
2 |
--------------------------------------------------------------------------------
/packages/desktop-client/src/components/budget/tracking/budgetsummary/fraction.ts:
--------------------------------------------------------------------------------
1 | // @ts-strict-ignore
2 | export function fraction(num, denom) {
3 | if (denom === 0) {
4 | if (num > 0) {
5 | return 1;
6 | }
7 | return 0;
8 | }
9 |
10 | return num / denom;
11 | }
12 |
--------------------------------------------------------------------------------
/packages/desktop-client/src/components/modals/ImportTransactionsModal/index.ts:
--------------------------------------------------------------------------------
1 | export { ImportTransactionsModal } from './ImportTransactionsModal';
2 |
--------------------------------------------------------------------------------
/packages/desktop-client/src/components/reports/constants.ts:
--------------------------------------------------------------------------------
1 | export const NON_DRAGGABLE_AREA_CLASS_NAME = 'non-draggable-area';
2 |
--------------------------------------------------------------------------------
/packages/desktop-client/src/components/reports/getCustomTick.ts:
--------------------------------------------------------------------------------
1 | export const getCustomTick = (value: string, isPrivacyModeEnabled: boolean) => {
2 | if (isPrivacyModeEnabled) {
3 | return '...';
4 | } else {
5 | return value;
6 | }
7 | };
8 |
--------------------------------------------------------------------------------
/packages/desktop-client/src/components/reports/overview.scss:
--------------------------------------------------------------------------------
1 | @use 'react-grid-layout/css/styles.css';
2 |
3 | .react-grid-item {
4 | transition: none;
5 | }
6 |
7 | .react-grid-item.react-grid-placeholder {
8 | background-color: #8719e0;
9 | }
10 |
--------------------------------------------------------------------------------
/packages/desktop-client/src/components/responsive/narrow.ts:
--------------------------------------------------------------------------------
1 | export { Budget } from '../mobile/budget';
2 |
3 | export { Accounts } from '../mobile/accounts/Accounts';
4 | export { Account } from '../mobile/accounts/Account';
5 |
--------------------------------------------------------------------------------
/packages/desktop-client/src/components/select/DateSelect.left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/src/components/select/DateSelect.left.png
--------------------------------------------------------------------------------
/packages/desktop-client/src/components/select/DateSelect.right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-client/src/components/select/DateSelect.right.png
--------------------------------------------------------------------------------
/packages/desktop-client/src/components/spreadsheet/NamespaceContext.ts:
--------------------------------------------------------------------------------
1 | import { createContext } from 'react';
2 |
3 | export const NamespaceContext = createContext(undefined);
4 |
--------------------------------------------------------------------------------
/packages/desktop-client/src/fonts.scss:
--------------------------------------------------------------------------------
1 | @use '@fontsource/redacted-script';
2 | @use 'inter-ui/variable' with (
3 | $inter-font-path: '../../../node_modules/inter-ui/Inter (web)'
4 | );
5 | @include variable.default;
6 |
--------------------------------------------------------------------------------
/packages/desktop-client/src/hooks/useAccount.ts:
--------------------------------------------------------------------------------
1 | import { useMemo } from 'react';
2 |
3 | import { useAccounts } from './useAccounts';
4 |
5 | export function useAccount(id: string) {
6 | const accounts = useAccounts();
7 | return useMemo(() => accounts.find(a => a.id === id), [id, accounts]);
8 | }
9 |
--------------------------------------------------------------------------------
/packages/desktop-client/src/hooks/useCategory.ts:
--------------------------------------------------------------------------------
1 | import { useMemo } from 'react';
2 |
3 | import { useCategories } from './useCategories';
4 |
5 | export function useCategory(id: string) {
6 | const { list: categories } = useCategories();
7 | return useMemo(() => categories.find(c => c.id === id), [id, categories]);
8 | }
9 |
--------------------------------------------------------------------------------
/packages/desktop-client/src/hooks/useDateFormat.ts:
--------------------------------------------------------------------------------
1 | import { useSyncedPref } from './useSyncedPref';
2 |
3 | export function useDateFormat() {
4 | const [dateFormat] = useSyncedPref('dateFormat');
5 | return dateFormat;
6 | }
7 |
--------------------------------------------------------------------------------
/packages/desktop-client/src/hooks/useInitialMount.ts:
--------------------------------------------------------------------------------
1 | import { useRef } from 'react';
2 |
3 | export function useInitialMount(): boolean {
4 | const initial = useRef(true);
5 |
6 | if (initial.current) {
7 | initial.current = false;
8 | return true;
9 | }
10 |
11 | return false;
12 | }
13 |
--------------------------------------------------------------------------------
/packages/desktop-client/src/hooks/usePayee.ts:
--------------------------------------------------------------------------------
1 | import { useMemo } from 'react';
2 |
3 | import { usePayees } from './usePayees';
4 |
5 | export function usePayee(id: string) {
6 | const payees = usePayees();
7 | return useMemo(() => payees.find(p => p.id === id), [id, payees]);
8 | }
9 |
--------------------------------------------------------------------------------
/packages/desktop-client/src/hooks/usePrivacyMode.ts:
--------------------------------------------------------------------------------
1 | import { useSyncedPref } from './useSyncedPref';
2 |
3 | export function usePrivacyMode() {
4 | const [isPrivacyEnabled] = useSyncedPref('isPrivacyEnabled');
5 | return String(isPrivacyEnabled) === 'true';
6 | }
7 |
--------------------------------------------------------------------------------
/packages/desktop-client/src/hooks/useUpdatedAccounts.ts:
--------------------------------------------------------------------------------
1 | import { useSelector } from '@desktop-client/redux';
2 |
3 | export function useUpdatedAccounts() {
4 | return useSelector(state => state.queries.updatedAccounts);
5 | }
6 |
--------------------------------------------------------------------------------
/packages/desktop-client/src/queries/aqlQuery.ts:
--------------------------------------------------------------------------------
1 | import { send } from 'loot-core/platform/client/fetch';
2 | import { type Query } from 'loot-core/shared/query';
3 |
4 | export async function aqlQuery(query: Query) {
5 | return send('query', query.serialize());
6 | }
7 |
--------------------------------------------------------------------------------
/packages/desktop-client/src/style/index.ts:
--------------------------------------------------------------------------------
1 | export * as colors from './colors';
2 | export * from './styles';
3 | export * from './theme';
4 |
--------------------------------------------------------------------------------
/packages/desktop-electron/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": ["babel-plugin-transform-es2015-modules-commonjs"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/desktop-electron/.gitignore:
--------------------------------------------------------------------------------
1 | # testing
2 | test-results
3 | playwright-report
4 | data/
5 | !data/.gitkeep
6 |
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/LargeTile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/LargeTile.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/LargeTile.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/LargeTile.scale-100.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/LargeTile.scale-125.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/LargeTile.scale-125.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/LargeTile.scale-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/LargeTile.scale-150.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/LargeTile.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/LargeTile.scale-200.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/LargeTile.scale-400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/LargeTile.scale-400.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/SmallTile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/SmallTile.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/SmallTile.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/SmallTile.scale-100.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/SmallTile.scale-125.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/SmallTile.scale-125.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/SmallTile.scale-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/SmallTile.scale-150.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/SmallTile.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/SmallTile.scale-200.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/SmallTile.scale-400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/SmallTile.scale-400.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/SplashScreen.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/SplashScreen.scale-100.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/SplashScreen.scale-125.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/SplashScreen.scale-125.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/SplashScreen.scale-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/SplashScreen.scale-150.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/SplashScreen.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/SplashScreen.scale-200.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/SplashScreen.scale-400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/SplashScreen.scale-400.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square150x150Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square150x150Logo.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square150x150Logo.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square150x150Logo.scale-100.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square150x150Logo.scale-125.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square150x150Logo.scale-125.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square150x150Logo.scale-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square150x150Logo.scale-150.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square150x150Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square150x150Logo.scale-200.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square150x150Logo.scale-400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square150x150Logo.scale-400.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-16.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-20.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-24.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-256.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-30.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-30.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-32.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-36.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-36.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-40.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-44.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-44.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-48.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-60.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-64.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-72.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-80.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-lightunplated_targetsize-96.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-16.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-20.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-24.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-256.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-30.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-30.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-32.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-36.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-36.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-40.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-44.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-44.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-48.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-60.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-64.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-72.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-80.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.altform-unplated_targetsize-96.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.scale-100.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.scale-125.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.scale-125.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.scale-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.scale-150.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.scale-200.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.scale-400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.scale-400.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.targetsize-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.targetsize-16.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.targetsize-20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.targetsize-20.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.targetsize-24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.targetsize-24.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.targetsize-256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.targetsize-256.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.targetsize-30.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.targetsize-30.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.targetsize-32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.targetsize-32.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.targetsize-36.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.targetsize-36.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.targetsize-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.targetsize-40.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.targetsize-44.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.targetsize-44.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.targetsize-48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.targetsize-48.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.targetsize-60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.targetsize-60.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.targetsize-64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.targetsize-64.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.targetsize-72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.targetsize-72.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.targetsize-80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.targetsize-80.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Square44x44Logo.targetsize-96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Square44x44Logo.targetsize-96.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/StoreLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/StoreLogo.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/StoreLogo.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/StoreLogo.scale-100.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/StoreLogo.scale-125.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/StoreLogo.scale-125.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/StoreLogo.scale-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/StoreLogo.scale-150.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/StoreLogo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/StoreLogo.scale-200.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/StoreLogo.scale-400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/StoreLogo.scale-400.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Wide310x150Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Wide310x150Logo.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Wide310x150Logo.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Wide310x150Logo.scale-100.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Wide310x150Logo.scale-125.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Wide310x150Logo.scale-125.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Wide310x150Logo.scale-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Wide310x150Logo.scale-150.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Wide310x150Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Wide310x150Logo.scale-200.png
--------------------------------------------------------------------------------
/packages/desktop-electron/appx/Wide310x150Logo.scale-400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/appx/Wide310x150Logo.scale-400.png
--------------------------------------------------------------------------------
/packages/desktop-electron/e2e/__screenshots__/onboarding.test.ts/Onboarding-checks-the-page-visuals-1-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/e2e/__screenshots__/onboarding.test.ts/Onboarding-checks-the-page-visuals-1-linux.png
--------------------------------------------------------------------------------
/packages/desktop-electron/e2e/__screenshots__/onboarding.test.ts/Onboarding-checks-the-page-visuals-2-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/e2e/__screenshots__/onboarding.test.ts/Onboarding-checks-the-page-visuals-2-linux.png
--------------------------------------------------------------------------------
/packages/desktop-electron/e2e/data/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/e2e/data/.gitkeep
--------------------------------------------------------------------------------
/packages/desktop-electron/icons/icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/icons/icon.icns
--------------------------------------------------------------------------------
/packages/desktop-electron/icons/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/icons/icon.ico
--------------------------------------------------------------------------------
/packages/desktop-electron/icons/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/desktop-electron/icons/icon.png
--------------------------------------------------------------------------------
/packages/desktop-electron/modules.d.ts:
--------------------------------------------------------------------------------
1 | declare module 'module' {
2 | const globalPaths: string[];
3 | }
4 |
--------------------------------------------------------------------------------
/packages/loot-core/.gitignore:
--------------------------------------------------------------------------------
1 | lib-node
2 | lib-dist
--------------------------------------------------------------------------------
/packages/loot-core/.swcrc:
--------------------------------------------------------------------------------
1 | {
2 | "jsc": {
3 | "target": "es2022",
4 | "externalHelpers": true,
5 | "parser": {
6 | "syntax": "typescript",
7 | "tsx": true
8 | }
9 | },
10 | "sourceMaps": true
11 | }
12 |
--------------------------------------------------------------------------------
/packages/loot-core/bin/copy-migrations:
--------------------------------------------------------------------------------
1 | #!/bin/bash -e
2 |
3 | ROOT=`dirname $(dirname "$0")`
4 | DEST="$1"
5 |
6 | rm -rf "$DEST"/migrations
7 | mkdir -p "$DEST"/migrations
8 | cp "$ROOT"/migrations/* "$DEST"/migrations/
9 | cp "$ROOT"/default-db.sqlite "$DEST"
10 |
--------------------------------------------------------------------------------
/packages/loot-core/db.sqlite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/loot-core/db.sqlite
--------------------------------------------------------------------------------
/packages/loot-core/default-db.sqlite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/loot-core/default-db.sqlite
--------------------------------------------------------------------------------
/packages/loot-core/migrations/.force-copy-windows:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/loot-core/migrations/.force-copy-windows
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1548957970627_remove-db-version.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | DROP TABLE db_version;
4 |
5 | COMMIT;
6 |
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1561751833510_indexes.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | CREATE INDEX trans_category_date ON transactions(category, date);
4 | CREATE INDEX trans_category ON transactions(category);
5 | CREATE INDEX trans_date ON transactions(date);
6 |
7 | COMMIT;
8 |
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1582384163573_cleared.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | ALTER TABLE transactions ADD COLUMN cleared INTEGER DEFAULT 1;
4 | ALTER TABLE transactions ADD COLUMN pending INTEGER DEFAULT 0;
5 |
6 | COMMIT;
7 |
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1597756566448_rules.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | CREATE TABLE rules
4 | (id TEXT PRIMARY KEY,
5 | stage TEXT,
6 | conditions TEXT,
7 | actions TEXT,
8 | tombstone INTEGER DEFAULT 0);
9 |
10 | COMMIT;
11 |
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1612625548236_optimize.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | CREATE INDEX messages_crdt_search ON messages_crdt(dataset, row, column, timestamp);
4 |
5 | ANALYZE;
6 |
7 | COMMIT;
8 |
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1616167010796_accounts_order.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | ALTER TABLE accounts ADD COLUMN sort_order REAL;
4 |
5 | COMMIT;
6 |
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1679728867040_rules_conditions.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | ALTER TABLE rules ADD COLUMN conditions_op TEXT DEFAULT 'and';
4 |
5 | COMMIT;
6 |
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1681115033845_add_schedule_name.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | ALTER TABLE schedules ADD COLUMN name TEXT DEFAULT NULL;
4 |
5 | COMMIT;
6 |
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1682974838138_remove_payee_rules.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | DROP TABLE payee_rules;
4 |
5 | COMMIT;
6 |
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1685007876842_add_category_hidden.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | ALTER TABLE categories ADD COLUMN hidden BOOLEAN NOT NULL DEFAULT 0;
4 | ALTER TABLE category_groups ADD COLUMN hidden BOOLEAN NOT NULL DEFAULT 0;
5 |
6 | COMMIT;
7 |
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1686139660866_remove_account_type.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | ALTER TABLE accounts DROP COLUMN type;
4 |
5 | COMMIT;
6 |
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1688749527273_transaction_filters.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | CREATE TABLE transaction_filters
4 | (id TEXT PRIMARY KEY,
5 | name TEXT,
6 | conditions TEXT,
7 | conditions_op TEXT DEFAULT 'and',
8 | tombstone INTEGER DEFAULT 0);
9 |
10 | COMMIT;
11 |
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1688841238000_add_account_type.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | ALTER TABLE accounts ADD COLUMN type TEXT;
4 |
5 | COMMIT;
6 |
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1691233396000_add_schedule_next_date_tombstone.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | ALTER TABLE schedules_next_date ADD COLUMN tombstone INTEGER DEFAULT 0;
4 |
5 | COMMIT;
6 |
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1694438752000_add_goal_targets.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | ALTER TABLE zero_budgets ADD column goal INTEGER DEFAULT null;
4 | ALTER TABLE reflect_budgets ADD column goal INTEGER DEFAULT null;
5 | ALTER TABLE categories ADD column goal_def TEXT DEFAULT null;
6 |
7 | COMMIT;
8 |
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1697046240000_add_reconciled.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | ALTER TABLE transactions ADD COLUMN reconciled INTEGER DEFAULT 0;
4 |
5 | COMMIT;
6 |
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1704572023730_add_account_sync_source.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | ALTER TABLE accounts ADD COLUMN account_sync_source TEXT;
4 |
5 | COMMIT;
6 |
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1704572023731_add_missing_goCardless_sync_source.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | UPDATE accounts
4 | SET
5 | account_sync_source = 'goCardless'
6 | WHERE account_id IS NOT NULL
7 | AND account_sync_source IS NULL;
8 |
9 | COMMIT;
10 |
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1712784523000_unhide_input_group.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | UPDATE category_groups
4 | SET
5 | hidden = 0
6 | WHERE is_income = 1;
7 |
8 | COMMIT;
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1716359441000_include_current.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | ALTER TABLE custom_reports ADD COLUMN include_current INTEGER DEFAULT 0;
4 |
5 | COMMIT;
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1720664867241_add_payee_favorite.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | ALTER TABLE payees ADD COLUMN favorite INTEGER DEFAULT 0 DEFAULT FALSE;
4 |
5 | COMMIT;
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1720665000000_goal_context.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | ALTER TABLE zero_budgets ADD COLUMN long_goal INTEGER DEFAULT null;
4 | ALTER TABLE reflect_budgets ADD COLUMN long_goal INTEGER DEFAULT null;
5 |
6 | COMMIT;
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1730744182000_fix_dashboard_table.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | UPDATE dashboard
4 | SET tombstone = 1
5 | WHERE type is NULL;
6 |
7 | COMMIT;
8 |
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1736640000000_custom_report_sorting.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | ALTER TABLE custom_reports ADD COLUMN sort_by TEXT DEFAULT 'Descending';
4 | UPDATE custom_reports SET sort_by = 'Descending';
5 | UPDATE custom_reports SET sort_by = 'Budget' where graph_type = 'TableGraph';
6 |
7 | COMMIT;
8 |
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1737158400000_add_learn_categories_to_payees.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | ALTER TABLE payees ADD COLUMN learn_categories BOOLEAN DEFAULT 1;
4 |
5 | COMMIT;
6 |
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1739139550000_bank_sync_page.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | ALTER TABLE accounts ADD COLUMN last_sync text;
4 |
5 | ALTER TABLE transactions ADD COLUMN raw_synced_data text;
6 |
7 | COMMIT;
8 |
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1740506588539_add_last_reconciled_at.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | ALTER TABLE accounts ADD COLUMN last_reconciled text;
4 |
5 | COMMIT;
6 |
--------------------------------------------------------------------------------
/packages/loot-core/migrations/1745425408000_update_budgetType_pref.sql:
--------------------------------------------------------------------------------
1 | BEGIN TRANSACTION;
2 |
3 | UPDATE preferences
4 | SET value = CASE WHEN id = 'budgetType' AND value = 'report' THEN 'tracking' ELSE 'envelope' END
5 | WHERE id = 'budgetType';
6 |
7 | COMMIT;
8 |
--------------------------------------------------------------------------------
/packages/loot-core/src/mocks/files/budgets/.commit-to-git:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/loot-core/src/mocks/files/budgets/.commit-to-git
--------------------------------------------------------------------------------
/packages/loot-core/src/mocks/files/default-budget-template/db.sqlite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/actualbudget/actual/82329b7de2e2017cc68c140e76726f30e4a0bdb2/packages/loot-core/src/mocks/files/default-budget-template/db.sqlite
--------------------------------------------------------------------------------
/packages/loot-core/src/mocks/files/default-budget-template/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "Default-Test-Db",
3 | "budgetName": "Default Test Db",
4 | "budgetVersion": "0.0.1",
5 | "isCached": true
6 | }
7 |
--------------------------------------------------------------------------------
/packages/loot-core/src/mocks/migrations/1508718036311_up_modify-poop.sql:
--------------------------------------------------------------------------------
1 | ALTER TABLE poop ADD COLUMN is_income INTEGER DEFAULT 0;
2 | ALTER TABLE poop ADD COLUMN is_expense INTEGER DEFAULT 0;
3 |
--------------------------------------------------------------------------------
/packages/loot-core/src/platform/exceptions/__mocks__/index.ts:
--------------------------------------------------------------------------------
1 | export const captureException = function () {};
2 |
3 | export const captureBreadcrumb = function () {};
4 |
--------------------------------------------------------------------------------
/packages/loot-core/src/platform/exceptions/index.ts:
--------------------------------------------------------------------------------
1 | export const captureException = function (exc: Error) {
2 | console.error('[Exception]', exc);
3 | };
4 |
5 | // eslint-disable-next-line
6 | export const captureBreadcrumb = function (crumb: unknown) {};
7 |
--------------------------------------------------------------------------------
/packages/loot-core/src/platform/server/fetch/__mocks__/index.ts:
--------------------------------------------------------------------------------
1 | export const fetch = function () {
2 | throw new Error('fetch not implemented');
3 | };
4 |
--------------------------------------------------------------------------------
/packages/loot-core/src/platform/server/fetch/index.api.ts:
--------------------------------------------------------------------------------
1 | export const fetch = globalThis.fetch;
2 |
--------------------------------------------------------------------------------
/packages/loot-core/src/platform/server/fs/path-join.d.ts:
--------------------------------------------------------------------------------
1 | export function join(...args: string[]): string;
2 | export type Join = typeof join;
3 |
--------------------------------------------------------------------------------
/packages/loot-core/src/platform/server/fs/path-join.electron.ts:
--------------------------------------------------------------------------------
1 | export { join } from 'path';
2 |
--------------------------------------------------------------------------------
/packages/loot-core/src/platform/server/log/index.ts:
--------------------------------------------------------------------------------
1 | export const logger = {
2 | info: (...args: unknown[]) => {
3 | console.log(...args);
4 | },
5 | warn: (...args: unknown[]) => {
6 | console.warn(...args);
7 | },
8 | };
9 |
--------------------------------------------------------------------------------
/packages/loot-core/src/platform/server/sqlite/normalise.ts:
--------------------------------------------------------------------------------
1 | import { getNormalisedString } from '../../../shared/normalisation';
2 |
3 | export function normalise(value: string | null): string | null {
4 | if (!value) {
5 | return null;
6 | }
7 |
8 | return getNormalisedString(value);
9 | }
10 |
--------------------------------------------------------------------------------
/packages/loot-core/src/server/__mocks__/post.ts:
--------------------------------------------------------------------------------
1 | // @ts-strict-ignore
2 | export {
3 | handleRequest as post,
4 | handleRequestBinary as postBinary,
5 | } from '../tests/mockSyncServer';
6 |
7 | export const get = function () {
8 | throw new Error('get unimplemented');
9 | };
10 |
--------------------------------------------------------------------------------
/packages/loot-core/src/server/polyfills.ts:
--------------------------------------------------------------------------------
1 | // By default, no polyfills are installed
2 |
--------------------------------------------------------------------------------
/packages/loot-core/src/server/sync/utils.ts:
--------------------------------------------------------------------------------
1 | export function isError(value: unknown): value is { error: unknown } {
2 | return (value as { error: unknown }).error !== undefined;
3 | }
4 |
--------------------------------------------------------------------------------
/packages/loot-core/src/server/util/rschedule.ts:
--------------------------------------------------------------------------------
1 | import '@rschedule/standard-date-adapter/setup';
2 |
3 | export * from '@rschedule/standard-date-adapter';
4 | export * from '@rschedule/core';
5 | export * from '@rschedule/core/generators';
6 |
--------------------------------------------------------------------------------
/packages/loot-core/src/shared/__mocks__/platform.web.ts:
--------------------------------------------------------------------------------
1 | export const isPlaywright = false;
2 |
3 | export const OS: 'windows' | 'mac' | 'linux' | 'unknown' = 'unknown';
4 | export const env: 'web' | 'mobile' | 'unknown' = 'unknown';
5 | export const isBrowser = false;
6 |
7 | export const isIOSAgent = false;
8 |
--------------------------------------------------------------------------------
/packages/loot-core/src/shared/months.test.ts:
--------------------------------------------------------------------------------
1 | import * as monthUtils from './months';
2 |
3 | test('range returns a full range', () => {
4 | expect(monthUtils.range('2016-10', '2018-01')).toMatchSnapshot();
5 | });
6 |
--------------------------------------------------------------------------------
/packages/loot-core/src/shared/normalisation.ts:
--------------------------------------------------------------------------------
1 | export function getNormalisedString(value: string) {
2 | return value
3 | .toLowerCase()
4 | .normalize('NFD')
5 | .replace(/\p{Diacritic}/gu, '');
6 | }
7 |
--------------------------------------------------------------------------------
/packages/loot-core/src/shared/platform.ts:
--------------------------------------------------------------------------------
1 | export const isPlaywright = false;
2 |
3 | export const OS: 'windows' | 'mac' | 'linux' | 'unknown' = 'unknown';
4 | export const env: 'web' | 'mobile' | 'unknown' = 'unknown';
5 | export const isBrowser = false;
6 |
7 | export const isIOSAgent = false;
8 |
--------------------------------------------------------------------------------
/packages/loot-core/src/shared/user.ts:
--------------------------------------------------------------------------------
1 | export const PossibleRoles = {
2 | ADMIN: 'Admin',
3 | BASIC: 'Basic',
4 | };
5 |
--------------------------------------------------------------------------------
/packages/loot-core/src/types/budget.ts:
--------------------------------------------------------------------------------
1 | export type Budget = {
2 | id: string;
3 | cloudFileId?: string;
4 | encryptKeyId?: string;
5 | groupId?: string;
6 | name: string;
7 | owner?: string;
8 | };
9 |
--------------------------------------------------------------------------------
/packages/loot-core/src/types/models/bank.d.ts:
--------------------------------------------------------------------------------
1 | export type BankEntity = {
2 | id: string;
3 | name: string;
4 | bank_id: string;
5 | tombstone: 0 | 1;
6 | };
7 |
--------------------------------------------------------------------------------
/packages/loot-core/src/types/models/note.ts:
--------------------------------------------------------------------------------
1 | export type NoteEntity = {
2 | id: string;
3 | note: string;
4 | };
5 |
--------------------------------------------------------------------------------
/packages/loot-core/src/types/models/openid.ts:
--------------------------------------------------------------------------------
1 | export type OpenIdConfig = {
2 | selectedProvider: string;
3 | issuer?: string;
4 | client_id: string;
5 | client_secret: string;
6 | server_hostname: string;
7 | discoveryURL: string;
8 | };
9 |
--------------------------------------------------------------------------------
/packages/loot-core/src/types/models/payee.ts:
--------------------------------------------------------------------------------
1 | import { AccountEntity } from './account';
2 |
3 | export interface PayeeEntity {
4 | id: string;
5 | name: string;
6 | transfer_acct?: AccountEntity['id'];
7 | favorite?: boolean;
8 | learn_categories?: boolean;
9 | tombstone?: boolean;
10 | }
11 |
--------------------------------------------------------------------------------
/packages/loot-core/src/types/models/transaction-filter.ts:
--------------------------------------------------------------------------------
1 | import { type RuleConditionEntity } from './rule';
2 |
3 | export interface TransactionFilterEntity {
4 | id: string;
5 | name: string;
6 | conditionsOp: 'and' | 'or';
7 | conditions: RuleConditionEntity[];
8 | tombstone: boolean;
9 | }
10 |
--------------------------------------------------------------------------------
/packages/loot-core/src/types/models/user-access.d.ts:
--------------------------------------------------------------------------------
1 | export interface NewUserAccessEntity {
2 | fileId: string;
3 | userId: string;
4 | }
5 |
6 | export interface UserAccessEntity extends NewUserAccessEntity {
7 | displayName: string;
8 | userName: string;
9 | fileName: string;
10 | }
11 |
--------------------------------------------------------------------------------
/packages/loot-core/typings/pegjs.d.ts:
--------------------------------------------------------------------------------
1 | declare module '*.pegjs';
2 |
--------------------------------------------------------------------------------
/packages/loot-core/typings/vite-plugin-peggy-loader.d.ts:
--------------------------------------------------------------------------------
1 | declare module 'vite-plugin-peggy-loader';
2 |
--------------------------------------------------------------------------------
/packages/sync-server/.dockerignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | user-files
3 | server-files
4 |
5 | # Yarn
6 | .pnp.*
7 | .yarn/*
8 | !.yarn/patches
9 | !.yarn/plugins
10 | !.yarn/releases
11 | !.yarn/sdks
12 | !.yarn/versions
13 |
--------------------------------------------------------------------------------
/packages/sync-server/babel.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["@babel/preset-typescript"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/sync-server/src/app-gocardless/banks/util/escape-regexp.js:
--------------------------------------------------------------------------------
1 | // Escape special characters in the string to create a valid regular expression
2 | export function escapeRegExp(string) {
3 | return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
4 | }
5 |
--------------------------------------------------------------------------------
/packages/sync-server/src/scripts/run-migrations.js:
--------------------------------------------------------------------------------
1 | import { run } from '../migrations.js';
2 |
3 | const direction = process.argv[2] || 'up';
4 |
5 | run(direction).catch(err => {
6 | console.error('Migration failed:', err);
7 | process.exit(1);
8 | });
9 |
--------------------------------------------------------------------------------
/packages/sync-server/src/sql/messages.sql:
--------------------------------------------------------------------------------
1 |
2 | CREATE TABLE messages_binary
3 | (timestamp TEXT PRIMARY KEY,
4 | is_encrypted BOOLEAN,
5 | content bytea);
6 |
7 | CREATE TABLE messages_merkles
8 | (id INTEGER PRIMARY KEY,
9 | merkle TEXT);
10 |
--------------------------------------------------------------------------------
/packages/sync-server/src/util/hash.js:
--------------------------------------------------------------------------------
1 | import crypto from 'crypto';
2 |
3 | export async function sha256String(str) {
4 | return crypto.createHash('sha256').update(str).digest('base64');
5 | }
6 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4766.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [alvaro-crespo]
4 | ---
5 |
6 | Add functional tests for the payee page
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4787.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | Rename AQL module's runQuery function to aqlQuery to disambiguate with DB module runQuery function
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4789.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | Use @hooks path alias for cleaner imports
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4810.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Features
3 | authors: [jfdoming]
4 | ---
5 |
6 | Add modal for creating budget automations
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4815.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Enhancements
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | Add upcoming/missed/due schedules indicator on budget table (based on category schedule templates)
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4817.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | Move loot-core/client/app code over to desktop-client package
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4818.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | Move loot-core/client/budgets code over to desktop-client package
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4819.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | Move loot-core/client/modals code over to desktop-client package
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4820.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | Move loot-core/client/notifications code over to desktop-client package
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4821.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | Move loot-core/client/prefs code over to desktop-client package.
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4822.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | Move loot-core/client/queries code over to desktop-client package
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4823.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | Move loot-core/client/users code over to desktop-client package
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4827.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | Move loot-core/client/store and loot-core/client/redux to desktop-client package
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4828.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | Move loot-core/client/data-hooks over to desktop-client package
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4830.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | [Final PR] Move remaining loot-core/client files to desktop-client feature folders
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4864.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [jfdoming]
4 | ---
5 |
6 | Stabilize electron build directory paths
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4869.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Enhancements
3 | authors: [vincegio]
4 | ---
5 |
6 | Flip transaction amounts for most of SEB Kort AB affiliated cards (Strawberry/Nordic choice, Eurocard, Globecard, Opel, SAAB, SAS, SJ Prio, Circle K, Wallet, Ingo and Scandic)
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4870.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Features
3 | authors: [MikesGlitch]
4 | ---
5 |
6 | Desktop app Sync Server server configuration screen
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4872.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Enhancements
3 | authors: [JaredTweed]
4 | ---
5 |
6 | Changed 'Close file' wording to 'Switch file' to prevent confusion about possibly it shutting down the account
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4879.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | Update budgetType preference from rollover/report to be envelope/tracking
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4882.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [youngcw]
4 | ---
5 |
6 | Add tests to goal template processor functions
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4887.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Enhancements
3 | authors: [rgoldfinger]
4 | ---
5 |
6 | Converted sync-server to run with typescript
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4889.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | Add a functionality to split transactions repair tool to remove categories from parent transactions and prevent adding/update parent transactions with categories
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4897.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [MikesGlitch]
4 | ---
5 |
6 | Replace Actuator dependency with our own implementation to ensure the Server version displays properly in all scenarios
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4903.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [lelemm]
4 | ---
5 |
6 | Promoting OpenId as default feature
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4908.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [alecbakholdin]
4 | ---
5 |
6 | Fixed undefined reference in utils titleFirst function
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4910.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [alecbakholdin]
4 | ---
5 |
6 | Fixed issue with setting date and notes while creating transaction on mobile
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4911.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [alecbakholdin]
4 | ---
5 |
6 | Fixed bug with OFX with leading/trailing whitespace
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4912.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [ sambobbarnes ]
4 | ---
5 |
6 | Fix autofocus of `Button` elements when enclosed in the `InitialFocus` component
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4914.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [alecbakholdin]
4 | ---
5 |
6 | Fixed issue with account and notes not clearing when launching action from PWA
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4917.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [alecbakholdin]
4 | ---
5 |
6 | Fixed graphical error in display on month in top right corner of monthly spending
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4921.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [alecbakholdin]
4 | ---
5 |
6 | Made default string for transaction editing respect localization of commas and periods
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4922.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [alecbakholdin]
4 | ---
5 |
6 | Improved visibility for reconciliation popover
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4923.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [alecbakholdin]
4 | ---
5 |
6 | Made dark scrollbar wider for the account sidebar.
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4930.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [alecbakholdin]
4 | ---
5 |
6 | Beginning of transition of Transactions table to TS
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4932.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [jfdoming]
4 | ---
5 |
6 | Automatically generate GitHub release text
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4933.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Enhancements
3 | authors: [jfdoming]
4 | ---
5 |
6 | Use the latest release tag instead of the latest tag for version checks
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4935.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [ohNoBigO]
4 | ---
5 |
6 | Fix viewing pie/donut charts on mobile
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4940.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | [Mobile] Show transactions upon clicking income categories
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4942.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | Fix lint error accidentally pushed to master
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4943.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [jfdoming]
4 | ---
5 |
6 | Deduplicate vite versions
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4949.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [Johnn27]
4 | ---
5 |
6 | Fix Dashboard Widgets Not Ordered on Mobile
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4953.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [MikesGlitch]
4 | ---
5 |
6 | Fix server migrations directory reference
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4954.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [MikesGlitch]
4 | ---
5 |
6 | Ensure sync server uses absolute directories so users can configure relative paths for user-files
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4955.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | Update @actual-app/components/input to be based on react-aria-components Input component.
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4956.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | Use cx in Button className merging
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4957.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [MikesGlitch]
4 | ---
5 |
6 | Fix cli tool version after server typescript update
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4958.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Enhancements
3 | authors: [Aerion]
4 | ---
5 |
6 | Add BoursoBank GoCardless Integration
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4960.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | Use @desktop-client alias in all of desktop-client package
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4968.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [MikesGlitch]
4 | ---
5 |
6 | Ensuring new sync-server build process copies over sql files
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4970.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Enhancements
3 | authors: [sergiomola]
4 | ---
5 |
6 | Add Abanca to banks with limited history
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4978.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [matt-fidd]
4 | ---
5 |
6 | Change minimum version of Node.js to version 20
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4980.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [matt-fidd]
4 | ---
5 |
6 | Increase OpenID request timeout
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4986.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Enhancements
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | Add types to budget template files and some cleanup
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4987.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Enhancements
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | Add option to calculate running balances in useTransactions hook
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4992.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [eldemarkki]
4 | ---
5 |
6 | Update react-spring to version 10.0.0
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4994.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Enhancements
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | Add runningBalances to usePreviewTransactions and an option to set the starting balance to start running balance calculation from
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4995.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | Fix prefsSlice import
7 |
8 |
--------------------------------------------------------------------------------
/upcoming-release-notes/4998.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | [Mobile] Fix category transactions screen not showing child transactions
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5002.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [alecbakholdin]
4 | ---
5 |
6 | fixed qif import skipping transactions when empty lines present
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5008.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | Make InitialFocus component generic
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5011.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [rgoldfinger]
4 | ---
5 |
6 | Add a package.json engine version for Yarn
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5014.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [matt-fidd]
4 | ---
5 |
6 | Bump `yarn` version from `v4.7.0` to `v4.9.1`.
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5015.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [matt-fidd]
4 | ---
5 |
6 | Bump dependency patch versions
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5017.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [matt-fidd]
4 | ---
5 |
6 | Remove ip dependency
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5018.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [matt-fidd]
4 | ---
5 |
6 | bump jq dependency
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5019.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [matt-fidd]
4 | ---
5 |
6 | Bump adm-zip to 0.5.16
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5024.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [matt-fidd]
4 | ---
5 |
6 | Fix loot-core peer dependency warnings
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5025.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [matt-fidd]
4 | ---
5 |
6 | Upgrade low risk dependencies to their newest minor version
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5027.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [matt-fidd]
4 | ---
5 |
6 | Upgrade react dependencies to their newest minor version
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5028.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [matt-fidd]
4 | ---
5 |
6 | Upgrade babel/webpack dependencies to their newest minor version
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5029.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [matt-fidd]
4 | ---
5 |
6 | Upgrade electron dependencies to their newest minor version
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5031.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Enhancements
3 | authors: [lorenzenv]
4 | ---
5 |
6 | Enable GoCardless account selection if supported by the target institution
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5034.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [jfdoming]
4 | ---
5 |
6 | Automatically upload to MS store on release
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5036.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [joel-jeremy]
4 | ---
5 |
6 | Fix category schedule indicators not showing up in budget page
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5038.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Enhancements
3 | authors: [SteinTokvam]
4 | ---
5 |
6 | Added information that sync error are caued by a rate limit if that's the case.
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5041.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [matt-fidd]
4 | ---
5 |
6 | Upgrade date-fns from v2.30.0 -> v4.1.0
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5042.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [matt-fidd]
4 | ---
5 |
6 | Upgrade express from 4.21.2 -> 5.1.0
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5045.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [matt-fidd]
4 | ---
5 |
6 | Fix "delete x users" translation string
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5050.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [ShreyasKallingal]
4 | ---
5 |
6 | Restrict Electron-embedded sync server to bind only to configured hostname.
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5051.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [johnn27]
4 | ---
5 |
6 | 🐛 Fix goals tooltip obstructing cover spending context menu
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5052.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Enhancements
3 | authors: [NormenKD]
4 | ---
5 |
6 | Add 'GLS Gemeinschaftsbank' to banks with limited history
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5069.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [misu-dev]
4 | ---
5 |
6 | Fixes a bug where the category expansion state was not saved when its value was 0
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5070.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [MatissJanis]
4 | ---
5 |
6 | Added 'needs triage' label to all new bug issues
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5073.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Bugfix
3 | authors: [marcin-honang]
4 | ---
5 |
6 | Add `ING_PL_INGBPLPW` to banks with limited history
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/5075.md:
--------------------------------------------------------------------------------
1 | ---
2 | category: Maintenance
3 | authors: [matt-fidd]
4 | ---
5 |
6 | Bump formidable from 2.1.2 to 2.1.5
7 |
--------------------------------------------------------------------------------
/upcoming-release-notes/README.md:
--------------------------------------------------------------------------------
1 | See the [Writing Good Release Notes](https://actualbudget.org/docs/contributing/#writing-good-release-notes) section of the README for the documentation repo for more information on how to create a release notes file here.
2 |
--------------------------------------------------------------------------------