Commit 52ca750
feature/share-on-list (#9)
* Refactor distribute page to support per-person item distribution
Co-authored-by: swc.pub <swc.pub@pm.me>
* Refactor item share calculation using map and list comprehension
Co-authored-by: swc.pub <swc.pub@pm.me>
* feature/actions (#6)
* feature/pull-request-actions (#3)
* feat: Add GitHub Actions for pull request checks
- Create feature/pull-request-actions branch
- Add comprehensive CI workflow with tests, linting, and security checks
- Add pull request workflow for basic quality checks
- Add security workflow for vulnerability scanning
- Update pyproject.toml with additional dev and security dependencies
- Update README with development workflow documentation
- Configure PDM for dependency management
- Set up ruff, black, pytest, bandit, and safety checks
* chore: Update lock file with security dependencies
* refactor: Consolidate GitHub Actions into single comprehensive workflow
- Remove redundant pull-request.yml and security.yml files
- Consolidate all checks into single ci.yml workflow
- Add conditional job execution for optimized performance
- Quick checks for PRs, full suite for main branch
- Update README to reflect simplified approach
* simplify: Remove lint and security jobs from GitHub Actions
- Remove lint job (ruff format, isort checks)
- Remove security job (bandit, safety scans)
- Keep only quick-checks and test jobs
- Update README to reflect simplified workflow
- Streamline local development instructions
* feat: Make test job run only on manual triggers
- Add conditional 'if: github.event_name == workflow_dispatch' to test job
- Test job now only runs when manually triggered
- Pull requests only run quick checks (Ruff + Black)
- Update README to reflect new behavior
* revert: Restore README.md to original state
- Remove all GitHub Actions documentation
- Remove development workflow instructions
- Restore original README content
* feat: Add pytest to quick-checks job
- Add pytest step to quick-checks job for pull requests
- Exclude test_receipt_analysis_with_chat test that calls OpenAI API
- Use -k 'not test_receipt_analysis_with_chat' to skip the API test
- All other tests (15/16) run successfully in quick checks
* fix: Add ruff configuration to resolve CI failures
- Add comprehensive ruff configuration to pyproject.toml
- Use modern lint section syntax to avoid deprecation warnings
- Ignore import sorting issues (I001) to focus on code quality
- Ignore other style issues that don't affect functionality
- Ensure consistent behavior between local and CI environments
* fix: Simplify ruff configuration to resolve CI issues
- Reduce ruff rules to only essential error checking (E, W, F)
- Remove complex rules that might cause version compatibility issues
- Keep only basic pycodestyle errors, warnings, and pyflakes
- Ignore only line length issues (E501) which are handled by black
* fix: Use pdm sync instead of pdm install in GitHub Actions
- Change pdm install to pdm sync to ensure all dependencies are installed
- pdm sync installs all groups including dev dependencies (ruff, black, pytest)
- pdm install only installs main dependencies by default
- This should resolve the 'ruff command not found' error in CI
* fix: Add dev group to lockfile and update GitHub Actions
- Add dev group to pdm.lock so dev dependencies can be installed
- Update GitHub Actions to explicitly install dev group with --group dev
- Add pdm list command for debugging to see what's installed
- This should resolve the missing ruff and other dev tools in CI
* test binary data
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* feat: add manual lint-format-write GitHub Action workflow (#5)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
* bugfix/action-commit (#7)
* fix: add explicit permissions to lint-format workflow to resolve authentication issues
* test fix
---------
Co-authored-by: GitHub Action <action@github.com>
* Simplify person items rendering and filtering logic
Co-authored-by: swc.pub <swc.pub@pm.me>
* Add method to get individual person's shares across all items
Co-authored-by: swc.pub <swc.pub@pm.me>
* Modify get_person_shares to return item-share tuples instead of just shares
Co-authored-by: swc.pub <swc.pub@pm.me>
* Refactor get_person_shares to use lazy evaluation with map
Co-authored-by: swc.pub <swc.pub@pm.me>
* Add distribute_item endpoint for splitting bill item among people
Co-authored-by: swc.pub <swc.pub@pm.me>
* Remove total_distributed calculation from item distribution response
Co-authored-by: swc.pub <swc.pub@pm.me>
* Add Calculator initialization with empty extras in distribute_item
Co-authored-by: swc.pub <swc.pub@pm.me>
* Refactor item distribution to use Calculator for precise share calculation
Co-authored-by: swc.pub <swc.pub@pm.me>
* Remove distribute_item function from payments page
Co-authored-by: swc.pub <swc.pub@pm.me>
* Add route to share/unshare payment items between persons
Co-authored-by: swc.pub <swc.pub@pm.me>
* Simplify share_item logic by removing redundant index check
Co-authored-by: swc.pub <swc.pub@pm.me>
* Add interactive item sharing with dynamic UI updates
Co-authored-by: swc.pub <swc.pub@pm.me>
* Remove unnecessary comments in payments UI code
Co-authored-by: swc.pub <swc.pub@pm.me>
* Simplify item sharing logic by removing redundant sharing flag
Co-authored-by: swc.pub <swc.pub@pm.me>
* Add person subtotal and total to share item response
Co-authored-by: swc.pub <swc.pub@pm.me>
* Refactor payments view to use new calculator method for person shares
Co-authored-by: swc.pub <swc.pub@pm.me>
* Add item management methods to Person class and simplify share_item logic
Co-authored-by: swc.pub <swc.pub@pm.me>
* Enhance docstrings for Person methods with detailed parameter descriptions
Co-authored-by: swc.pub <swc.pub@pm.me>
* Refactor item management methods to prevent duplicates and handle errors
Co-authored-by: swc.pub <swc.pub@pm.me>
* Add test for Person.update_item() method with toggle functionality
Co-authored-by: swc.pub <swc.pub@pm.me>
* Simplify test_person_update_item by removing redundant comments
Co-authored-by: swc.pub <swc.pub@pm.me>
* Revert distribute files to master branch state
* Checkpoint before follow-up message
Co-authored-by: swc.pub <swc.pub@pm.me>
* Fix TypeScript compilation errors by renaming duplicate functions in payments.ts
* Fix missing import: add save_persons_file to payments.py imports
* Fix missing import: add Iterable to calculator.py imports
* style: apply automatic formatting and linting fixes
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: swc.pub <swc.pub@pm.me>
Co-authored-by: GitHub Action <action@github.com>1 parent ee70dcd commit 52ca750
File tree
7 files changed
+225
-22
lines changed- .github/workflows
- src
- bill
- ui
- templates
- tests
7 files changed
+225
-22
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
15 | 14 | | |
16 | 15 | | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
17 | 19 | | |
18 | 20 | | |
19 | 21 | | |
20 | 22 | | |
21 | 23 | | |
22 | | - | |
23 | 24 | | |
24 | | - | |
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
69 | | - | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
3 | 4 | | |
4 | 5 | | |
5 | 6 | | |
| |||
124 | 125 | | |
125 | 126 | | |
126 | 127 | | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
127 | 146 | | |
128 | 147 | | |
129 | 148 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
12 | | - | |
| 13 | + | |
13 | 14 | | |
14 | 15 | | |
15 | 16 | | |
| |||
36 | 37 | | |
37 | 38 | | |
38 | 39 | | |
39 | | - | |
| 40 | + | |
40 | 41 | | |
41 | | - | |
42 | | - | |
| 42 | + | |
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
| |||
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
| |||
70 | 71 | | |
71 | 72 | | |
72 | 73 | | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
83 | 76 | | |
84 | | - | |
| 77 | + | |
| 78 | + | |
85 | 79 | | |
86 | 80 | | |
87 | 81 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
194 | 194 | | |
195 | 195 | | |
196 | 196 | | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
0 commit comments