Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
7a613a4
Gemma 3 with image processing
AnthonyRonning Jun 11, 2025
3f03260
Disable non-image models when image
AnthonyRonning Jun 11, 2025
54cd114
Refactor chat view
AnthonyRonning Jun 11, 2025
512194f
fix: add type safety to fileToDataURL function
claude[bot] Jun 11, 2025
51ec0d0
Restrict image types for upload
AnthonyRonning Jun 11, 2025
d16f041
Update frontend/src/state/LocalStateContextDef.ts
AnthonyRonning Jun 12, 2025
fe893e7
fix double mount issue on photo upload
AnthonyRonning Jun 12, 2025
3e7aded
Fix thinking markdown streaming
AnthonyRonning Jun 12, 2025
0b6e7b9
Fix title generation
AnthonyRonning Jun 13, 2025
8695d2b
fix: handle both capture groups in think tag regex pattern
claude[bot] Jun 13, 2025
9926923
fix: improve error handling and model capability detection in useChat…
claude[bot] Jun 13, 2025
8a6c8c5
feat: Add document upload support with OpenSecret SDK
AnthonyRonning Jun 16, 2025
6b960a2
security: add rehype-sanitize to prevent XSS in document preview
claude[bot] Jun 17, 2025
a6e278c
Fix document parsing logic and icon
AnthonyRonning Jun 17, 2025
8d072ae
refactor: use shared MODEL_CONFIG for vision capability checks
AnthonyRonning Jun 17, 2025
d2304c7
fix: add opacity-50 to Camera icon for visual consistency with Lock icon
AnthonyRonning Jun 19, 2025
7315108
fix: remove type assertion and properly handle multimodal content in …
AnthonyRonning Jun 19, 2025
afe785c
fix: prevent memory leaks by properly revoking object URLs for upload…
AnthonyRonning Jun 19, 2025
c374f9d
refactor: consolidate MODEL_CONFIG to single source of truth
AnthonyRonning Jun 19, 2025
b430f0d
fix: replace unsafe type assertions with proper type guards for messa…
AnthonyRonning Jun 19, 2025
72455fe
fix: allow document-only and image-only submissions without requiring…
AnthonyRonning Jun 19, 2025
6a05537
refactor: remove "Here is a document:" prefix when combining document…
AnthonyRonning Jun 19, 2025
1f15947
fix: enable submit button for document-only and image-only submissions
AnthonyRonning Jun 19, 2025
718d75f
fix: document preview button not showing for document-only messages
AnthonyRonning Jun 19, 2025
8701ed5
fix: improve JSON parsing security in parseDocumentJson
AnthonyRonning Jun 19, 2025
989cc43
feat: add user notifications for image upload failures
AnthonyRonning Jun 19, 2025
0000a32
refactor: use CSS text-overflow instead of manual truncation
AnthonyRonning Jun 19, 2025
2d5e52e
feat: add file size validation and improved upload indicators
AnthonyRonning Jun 19, 2025
25cc022
feat: add ARIA labels for better accessibility
AnthonyRonning Jun 19, 2025
4e315e9
Refactor document parsing logic
AnthonyRonning Jun 20, 2025
ef938f6
fix: iOS image upload using canvas fallback when FileReader unavailable
AnthonyRonning Jun 20, 2025
1164b3e
docs: add iOS build troubleshooting guide and update gitignore
AnthonyRonning Jun 20, 2025
3974b03
feat: consolidate image and document upload into single + button with…
claude[bot] Jun 30, 2025
9d5e067
feat: consolidate image and document upload into single + button with…
claude[bot] Jun 30, 2025
f90b746
feat: show upload button for all users with Pro upgrade prompts
AnthonyRonning Jun 30, 2025
2e5be49
feat: improve image upload UX with auto-model switching
AnthonyRonning Jun 30, 2025
2d42992
chore: update pre-commit hook to check formatting instead of auto-fix
AnthonyRonning Jun 30, 2025
892aa05
fix: restore chat draft functionality and remove auto-save on model c…
AnthonyRonning Jun 30, 2025
58c444d
Update pricing documentation
AnthonyRonning Jun 30, 2025
9480afa
fix: improve upload dropdown UI consistency for free users
AnthonyRonning Jun 30, 2025
cf0c90b
feat: increase document upload limit from 1MB to 5MB and improve uplo…
AnthonyRonning Jul 1, 2025
7d912a3
feat: migrate document upload to new task-based API
AnthonyRonning Jul 1, 2025
17cf5fe
feat: enable markdown (.md) file selection in document upload
claude[bot] Jul 1, 2025
5a88ebf
feat: process text files locally without server upload
AnthonyRonning Jul 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion .githooks/pre-commit
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,15 @@ if ! command -v bun &> /dev/null; then
exit 1
fi

# Run prettier check
echo "Checking code formatting with Prettier..."
if ! bun run format:check; then
echo ""
echo "Error: Code formatting issues found! Please run 'bun run format' to fix formatting issues."
echo "Run 'cd frontend && bun run format:check' to see the formatting issues."
exit 1
fi

# Run the build command
echo "Running bun build..."
if ! bun run build; then
Expand All @@ -20,5 +29,5 @@ if ! bun run build; then
exit 1
Comment thread
AnthonyRonning marked this conversation as resolved.
fi

echo "Build successful! Proceeding with commit..."
echo "All checks passed! Proceeding with commit..."
exit 0
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,8 @@ frontend/*.local
*.tsbuildinfo

**/.claude/settings.local.json

.repo_ignore
Comment thread
AnthonyRonning marked this conversation as resolved.

# iOS build backups
frontend/src-tauri/gen/apple/maple.xcodeproj/project.pbxproj.backup
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,18 @@ If there's a new version of the enclave pushed to staging or prod, append the ne

## iOS Development

Run in emulator:

```bash
dotenv -e .env.local -- bun run tauri ios dev 'iPhone 16 Pro'
Comment thread
AnthonyRonning marked this conversation as resolved.
```

Run on a connected phone:

```bash
dotenv -e .env.local -- bun run tauri ios build
```

### Ignoring Local XCode Project Changes

To prevent committing automatic changes to the XCode project file during local development:
Expand Down
73 changes: 73 additions & 0 deletions docs/troubleshooting-ios-build.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# iOS Build Troubleshooting

## arm64-sim Architecture Error

### Problem
When building for iOS simulator, you may encounter this error:
```
clang: error: version '-sim' in target triple 'arm64-apple-ios13.0-simulator-sim' is invalid
```

This happens when the Xcode project file incorrectly lists `arm64-sim` as an architecture, causing a duplicate `-sim` suffix in the target triple.

### Solution

1. **Edit the Xcode project file** (`frontend/src-tauri/gen/apple/maple.xcodeproj/project.pbxproj`):

Find and replace all occurrences of:
```
ARCHS = (
arm64,
"arm64-sim",
);
```

With:
```
ARCHS = (
arm64,
x86_64,
);
```

2. **Update VALID_ARCHS**:

Replace:
```
VALID_ARCHS = "arm64 arm64-sim";
Comment thread
AnthonyRonning marked this conversation as resolved.
```

With:
```
VALID_ARCHS = "arm64 x86_64";
```

3. **Update EXCLUDED_ARCHS**:

Replace:
```
"EXCLUDED_ARCHS[sdk=iphoneos*]" = "arm64-sim x86_64";
```

With:
```
"EXCLUDED_ARCHS[sdk=iphoneos*]" = x86_64;
```
Comment thread
AnthonyRonning marked this conversation as resolved.

### Important Notes

- Keep the `arm64-sim` references in library search paths and output paths - these refer to directory names, not architectures
- This issue can reoccur if the Xcode project is regenerated
- Related to Xcode 16.3+ behavior changes with simulator architectures

### Prevention

To prevent this issue from recurring:

1. Avoid regenerating the iOS project unless necessary
2. If you must regenerate, check the project.pbxproj file for incorrect `arm64-sim` architecture entries
3. Consider adding a post-generation script to automatically fix these entries

### Reference

This issue is tracked in [tauri-apps/tauri#12882](https://github.com/tauri-apps/tauri/issues/12882)
9 changes: 7 additions & 2 deletions frontend/bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"mdast-util-gfm-autolink-literal": "2.0.0"
},
"dependencies": {
"@opensecret/react": "1.3.6",
"@opensecret/react": "1.3.8",
"@radix-ui/react-alert-dialog": "^1.1.1",
"@radix-ui/react-avatar": "^1.1.0",
"@radix-ui/react-dialog": "^1.1.1",
Expand All @@ -42,6 +42,7 @@
"react-markdown": "^9.0.1",
"rehype-highlight": "^7.0.0",
"rehype-katex": "^7.0.1",
"rehype-sanitize": "^6.0.0",
"remark-breaks": "^4.0.0",
"remark-gfm": "^4.0.0",
"remark-math": "^6.0.0",
Expand Down
Loading
Loading