Releases: refstudio/refstudio
Releases · refstudio/refstudio
v23.2.1
This is the second release of RefStudio 🎉
- Available downloads
Chat with references | Rewrite |
---|---|
![]() |
![]() |
FAQ
"refstudio.app" is damaged and can’t be opened. You should move it to the Trash
![](https://private-user-images.githubusercontent.com/174127/270291728-92ff6e50-697d-43d8-a84c-069e57a64dc2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTkwMDMwOTYsIm5iZiI6MTcxOTAwMjc5NiwicGF0aCI6Ii8xNzQxMjcvMjcwMjkxNzI4LTkyZmY2ZTUwLTY5N2QtNDNkOC1hODRjLTA2OWU1N2E2NGRjMi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNjIxJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDYyMVQyMDQ2MzZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00MGMzMzZjNmNhN2YzMTkwMWVmMjdiMWUzZmQ2YzNkNTMyY2M2YTc2YzRkODY2NTBmNTEzZWUwZjlhNzkyODg5JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.5hQWS_iIQlzQHdLC6YfZpuxemMsqXZvmKMLOFDf_L-g)
- FIX: Run
xattr -r -d com.apple.quarantine /Applications/refstudio.app
to clear the quarantine flag.- make sure your use the correct app path
What's Changed
- Tauri sidecar README fixes and added open ai env variables by @shauryr in #337
- doi extraction for linking to external databases by @shauryr in #338
- chore(backend): added logging to chunking by @shauryr in #336
- Update aiohttp to 3.8.5 by @danvk in #331
- fix: make indent commands return proper command result by @sehyod in #343
- Update ingest to only use grobid for header parsing by @gjreda in #352
- feat: Project Lifecycle by @cguedes in #350
- feat: save files as markdown by @sehyod in #341
- fix: hide div selection from editor by @sehyod in #344
- feat: implement ordered lists by @sehyod in #354
- fix: uncollapse collapsible blocks when changing type by @sehyod in #360
- Add http endpoints for sidecar functionality by @gjreda in #359
- Run RefStudio in the browser by @danvk in #358
- feat: web call sidecar http by @cguedes in #382
- chore(deps): bump certifi from 2023.5.7 to 2023.7.22 by @dependabot in #362
- Update design of welcome screen (including design bootstrap) by @sehyod in #386
- feat: Add filesystem and projects API by @gjreda in #389
- feat: update sidebar design by @sehyod in #383
- Export references by @sehyod in #392
- feat: Add python tests script and run python tests in pre-push by @cguedes in #390
- Separate cli interprocess comms from functionality by @gjreda in #394
- chore: update codecov config by @sehyod in #398
- feat: menu shortcuts for web by @cguedes in #388
- chore: update tailwind color names by @sehyod in #401
- Disable inlay hints in Rust by @danvk in #403
- feat: Create python http equivalent of settingsManager.ts by @gjreda in #396
- feat: design for main panel by @sehyod in #404
- fix: address comments from design by @sehyod in #410
- feat: chatbot panel styles by @sehyod in #408
- Sidecar server by @danvk in #407
- feat: Get file ingestion running through http by @gjreda in #395
- feat: references panel styles by @sehyod in #421
- feat: Adopt HTTP apis for web deployment by @cguedes in #393
- feat: add thinking animation by @sehyod in #423
- chore: Add black and format python code by @gjreda in #419
- Universal settings by @danvk in #417
- Add api for search by @gjreda in #432
- feat: Add dependency on settings for AI endpoints by @gjreda in #434
- Make contribution guidelines more clear (#431) by @jvoytek in #433
- fix: use roboto font in splashscreen by @sehyod in #437
- feat: explorer panel styles by @sehyod in #435
- Universal desktop web codebase by @cguedes in #425
- Remove legacy sidecar CLI and HTTP methods by @gjreda in #442
- bug: Handle exception if a user tries to view references before any have been ingested by @gjreda in #459
- fix: remove references regression by @cguedes in #462
- chore(deps): bump @adobe/css-tools from 4.2.0 to 4.3.1 by @dependabot in #443
- fix: rename files regression by @cguedes in #460
- Generate a TypeScript API from our OpenAPI spec by @danvk in #457
- Create distinct types for Settings / SettingsPatch by @danvk in #465
- fix: sidebar shadow and folder collapsing animation by @sehyod in #468
- chore: ignore openapi-tyepscript in knip config by @sehyod in #470
- Port a few more endpoints to the typed API by @danvk in #466
- feat: add recent projects to welcome screen by @sehyod in #450
- feat: update styles of rewrite panel by @sehyod in #463
- chore: update tailwind colour tokens by @sehyod in #473
- feat: save as markdown behaviour for web by @cguedes in #472
- feat: Improve project details API by @gjreda in #458
- feat: Add active project id to settings by @gjreda in #476
- chore: Add a reset_refstudio.sh script and update README.md by @cguedes in #477
- Adopt the new active_project_id in the client code by @cguedes in #478
- feat: Implement design for settings modal by @sehyod in #479
- chore: upgrade TipTap version by @sehyod in #487
- feat: add PDF icon in tab by @sehyod in #485
- feat: implement design for empty references panel by @sehyod in #489
- fix: margin between sibling list items by @sehyod in #488
- feat: new project dialog for web by @cguedes in #480
- feat: add empty welcome view by @sehyod in #500
- feat: export references behaviour for web (and desktop) by @cguedes in #501
- fix: prevent panel from uncollapsing when sidebar is disabled by @sehyod in #502
- feat: open project dialog for web (and desktop) by @cguedes in #498
- feat: update welcome screen by @sehyod in #505
- chore: remove sidecar from client code by @cguedes in #507
- Remove the dependency on @tauri-apps/api/fs by @cguedes in #509
- Reorg FastAPI backend into submodules by @gjreda in #495
- feat: Stop using the project path in the client code by @cguedes in #513
- feat: add star shortcut to create unordered lists by @sehyod in #516
- fix: activate venv instead of using poetry run by @sehyod in #518
- chore: sidecar enable logging flag is inverted by @cguedes in #524
- feat: Add missing api response types by @gjreda in #522
- feat: apply max width to editor instead of content only by @sehyod in #529
- feat: update command palette design by @sehyod in #514
- feat: Update FileNameInput component with latest colors and design by @sehyod in #531
- feat: Explorer panel design for multiple projects by @cguedes in #532
- fix: remove poetry cache by @sehyod in http...
v23.2.0
This is the second release of RefStudio 🎉
- Available downloads
Chat with references | Rewrite |
---|---|
![]() |
![]() |
FAQ
"refstudio.app" is damaged and can’t be opened. You should move it to the Trash
![](https://private-user-images.githubusercontent.com/174127/270291728-92ff6e50-697d-43d8-a84c-069e57a64dc2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTkwMDMwOTYsIm5iZiI6MTcxOTAwMjc5NiwicGF0aCI6Ii8xNzQxMjcvMjcwMjkxNzI4LTkyZmY2ZTUwLTY5N2QtNDNkOC1hODRjLTA2OWU1N2E2NGRjMi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNjIxJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDYyMVQyMDQ2MzZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00MGMzMzZjNmNhN2YzMTkwMWVmMjdiMWUzZmQ2YzNkNTMyY2M2YTc2YzRkODY2NTBmNTEzZWUwZjlhNzkyODg5JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.5hQWS_iIQlzQHdLC6YfZpuxemMsqXZvmKMLOFDf_L-g)
- FIX: Run
xattr -r -d com.apple.quarantine /Applications/refstudio.app
to clear the quarantine flag.- make sure your use the correct app path
What's Changed
- Tauri sidecar README fixes and added open ai env variables by @shauryr in #337
- doi extraction for linking to external databases by @shauryr in #338
- chore(backend): added logging to chunking by @shauryr in #336
- Update aiohttp to 3.8.5 by @danvk in #331
- fix: make indent commands return proper command result by @sehyod in #343
- Update ingest to only use grobid for header parsing by @gjreda in #352
- feat: Project Lifecycle by @cguedes in #350
- feat: save files as markdown by @sehyod in #341
- fix: hide div selection from editor by @sehyod in #344
- feat: implement ordered lists by @sehyod in #354
- fix: uncollapse collapsible blocks when changing type by @sehyod in #360
- Add http endpoints for sidecar functionality by @gjreda in #359
- Run RefStudio in the browser by @danvk in #358
- feat: web call sidecar http by @cguedes in #382
- chore(deps): bump certifi from 2023.5.7 to 2023.7.22 by @dependabot in #362
- Update design of welcome screen (including design bootstrap) by @sehyod in #386
- feat: Add filesystem and projects API by @gjreda in #389
- feat: update sidebar design by @sehyod in #383
- Export references by @sehyod in #392
- feat: Add python tests script and run python tests in pre-push by @cguedes in #390
- Separate cli interprocess comms from functionality by @gjreda in #394
- chore: update codecov config by @sehyod in #398
- feat: menu shortcuts for web by @cguedes in #388
- chore: update tailwind color names by @sehyod in #401
- Disable inlay hints in Rust by @danvk in #403
- feat: Create python http equivalent of settingsManager.ts by @gjreda in #396
- feat: design for main panel by @sehyod in #404
- fix: address comments from design by @sehyod in #410
- feat: chatbot panel styles by @sehyod in #408
- Sidecar server by @danvk in #407
- feat: Get file ingestion running through http by @gjreda in #395
- feat: references panel styles by @sehyod in #421
- feat: Adopt HTTP apis for web deployment by @cguedes in #393
- feat: add thinking animation by @sehyod in #423
- chore: Add black and format python code by @gjreda in #419
- Universal settings by @danvk in #417
- Add api for search by @gjreda in #432
- feat: Add dependency on settings for AI endpoints by @gjreda in #434
- Make contribution guidelines more clear (#431) by @jvoytek in #433
- fix: use roboto font in splashscreen by @sehyod in #437
- feat: explorer panel styles by @sehyod in #435
- Universal desktop web codebase by @cguedes in #425
- Remove legacy sidecar CLI and HTTP methods by @gjreda in #442
- bug: Handle exception if a user tries to view references before any have been ingested by @gjreda in #459
- fix: remove references regression by @cguedes in #462
- chore(deps): bump @adobe/css-tools from 4.2.0 to 4.3.1 by @dependabot in #443
- fix: rename files regression by @cguedes in #460
- Generate a TypeScript API from our OpenAPI spec by @danvk in #457
- Create distinct types for Settings / SettingsPatch by @danvk in #465
- fix: sidebar shadow and folder collapsing animation by @sehyod in #468
- chore: ignore openapi-tyepscript in knip config by @sehyod in #470
- Port a few more endpoints to the typed API by @danvk in #466
- feat: add recent projects to welcome screen by @sehyod in #450
- feat: update styles of rewrite panel by @sehyod in #463
- chore: update tailwind colour tokens by @sehyod in #473
- feat: save as markdown behaviour for web by @cguedes in #472
- feat: Improve project details API by @gjreda in #458
- feat: Add active project id to settings by @gjreda in #476
- chore: Add a reset_refstudio.sh script and update README.md by @cguedes in #477
- Adopt the new active_project_id in the client code by @cguedes in #478
- feat: Implement design for settings modal by @sehyod in #479
- chore: upgrade TipTap version by @sehyod in #487
- feat: add PDF icon in tab by @sehyod in #485
- feat: implement design for empty references panel by @sehyod in #489
- fix: margin between sibling list items by @sehyod in #488
- feat: new project dialog for web by @cguedes in #480
- feat: add empty welcome view by @sehyod in #500
- feat: export references behaviour for web (and desktop) by @cguedes in #501
- fix: prevent panel from uncollapsing when sidebar is disabled by @sehyod in #502
- feat: open project dialog for web (and desktop) by @cguedes in #498
- feat: update welcome screen by @sehyod in #505
- chore: remove sidecar from client code by @cguedes in #507
- Remove the dependency on @tauri-apps/api/fs by @cguedes in #509
- Reorg FastAPI backend into submodules by @gjreda in #495
- feat: Stop using the project path in the client code by @cguedes in #513
- feat: add star shortcut to create unordered lists by @sehyod in #516
- fix: activate venv instead of using poetry run by @sehyod in #518
- chore: sidecar enable logging flag is inverted by @cguedes in #524
- feat: Add missing api response types by @gjreda in #522
- feat: apply max width to editor instead of content only by @sehyod in #529
- feat: update command palette design by @sehyod in #514
- feat: Update FileNameInput component with latest colors and design by @sehyod in #531
- feat: Explorer panel design for multiple projects by @cguedes in #532
- fix: remove poetry cache by @sehyod i...
v23.1.0
This is the first (pre)release of RefStudio 🎉
RefStudio | Rewrite |
---|---|
![]() |
![]() |
How to Use
- Download and open one of the assets below (.dmg)
- Copy RefStudio to Applications
- Control-click the app icon, then choose Open from the shortcut menu. (more info here)
- Upload some reference PDFs
- Configure your OpenAI API Key in the settings
- Write text and interact with the references via AI
- Rewrite (right sidebar or command palette)
- Text completion (press CMD+J in the editor. Note that you can toggle/cycle between choices by pressing the shortcut again)
- Chat (right sidebar)
What's Changed
- PoC of Tauri working with
react-resizable-panels
by @sergioramos in #7 - Bump tauri from 1.2.4 to 1.2.5 in /src-tauri by @dependabot in #15
- Update README by @gjreda in #20
- add TipTap as an editor by @sehyod in #16
- Python sidecar by @gjreda in #21
- chore: add TypeScript styles and norms by @cguedes in #24
- feat: passing data back and forth between Tauri client and Python by @gjreda in #22
- feat: upload documents by @cguedes in #25
- fix: allow flexboxes to scroll by @sehyod in #40
- chore: open DevTools if env DEV_TOOLS is set by @cguedes in #39
- chore: add ruff for Python linting by @gjreda in #34
- fix: run prettier rules in git
pre-push
hook by @cguedes in #37 - chora: add contributing guidelines by @cguedes in #53
- chore: enable more ESLint rules and fix existing violations by @danvk in #47
- feat: run PDF ingestion on document upload by @gjreda in #29
- feat: view PDF files inline by @sehyod in #31
- feat: adopt Jotai for application state management by @cguedes in #52
- chore: add Python tests and scaffolding for coverage reporting by @gjreda in #51
- bug: Update binary build script to first remove existing binary (#70) by @gjreda in #71
- Prefix project storage directories with a dot (#72) by @gjreda in #73
- chore: check typescript error on push by @cguedes in #67
- feat: IDE layout by @cguedes in #62
- Fix case sensitive components folder name by @sergioramos in #80
- fix: prefix reset project storage directories with a dot by @gjreda in #84
- fix: remove embedding creation from pdf ingestion by @gjreda in #83
- ci: add workflows by @sehyod in #63
- Use ~ rather than hardcoded $HOME by @sergioramos in #86
- feat: use python binary as a resource instead of a sidecar by @gjreda in #74
- feat: populate and suggest references after PDF ingestion by @sehyod in #81
- ci: use cache in Python setup by @sehyod in #91
- Ensure main.spec exists before removing by @cguedes in #87
- refactor: use internal FileEntry type by @sehyod in #92
- fix: use home variable in script to reset uploads by @sehyod in #99
- feat: save references in local storage by @sehyod in #97
- refactor: create api folder by @sehyod in #95
- fix: PDF Ingestion bug when Grobid is unable to parse the reference PDF by @gjreda in #103
- chore: set up frontend testing infrastructure by @cguedes in #100
- feat: left/right collapsible sidebars by @cguedes in #93
- chore: Improve logging for sidecar by @gjreda in #104
- fix: add back style rules for ordered and unordered lists by @sehyod in #119
- feat: Add AI interaction for text rewrite by @gjreda in #66
- fix: Rename interact.py module to rewrite.py by @gjreda in #123
- fix: disallow transparent text in the editor by @sehyod in #116
- refactor: store file content in atom by @sehyod in #105
- feat: improve references search by @sehyod in #107
- chore: lint JSDoc with
eslint-plugin-jsdoc
by @danvk in #124 - fix-improve-css-for-html-lists by @cguedes in #130
- feat: add (sample) primary/secondary colors by @cguedes in #42
- feat: pull Python types into TypeScript by @danvk in #126
- feat: open editable files on the left, non editable on the right by @cguedes in #137
- feat: make all editor blocks draggable by @sehyod in #134
- feat: add JsonStorage and ability to chat with References by @gjreda in #127
- feat: add button to close all files to Open Files panel by @cguedes in #147
- feat: add chat interaction UI by @cguedes in #152
- Switch from dataclasses-jsonschema to Pydantic by @gjreda in #146
- Clean up pydantic JSON Schema and generated TypeScript types by @danvk in #161
- Help text for menu bar by @danvk in #163
- chore: Add code coverage to actions by @sehyod in #170
- Update python readme by @gjreda in #167
- Generate reference citation keys for ingested references by @gjreda in #114
- usePromise, useCallablePromise → react-query by @danvk in #164
- chore: Add coverage reporting for python sidecar by @gjreda in #171
- feat: improve collapsible blocks by @sehyod in #154
- feat: configuration screen by @cguedes in #153
- feat: add reference viewer by @sehyod in #180
- feat: improve references upload flow by @cguedes in #179
- fix: prevent infinite rerendering in reference view by @sehyod in #184
- Add vitest and arrow eslint plugins by @danvk in #185
- Rework some editor tests to use visual cursor and snapshots by @danvk in #186
- feat: Add new endpoint for ingestion status by @gjreda in #181
- feat: improve file tree by @sehyod in #196
- fix: Fix regression issue with drag-drop in editor by @cguedes in #192
- [Sidecar] Add ability to remove one or all references by @gjreda in #193
- fix: always keep a file as active file when possible by @sehyod in #206
- feat: "Table view" of many references in editor area by @cguedes in #208
- feat: add ability to save files by @sehyod in #204
- feat: Add badge for unsaved changes by @sehyod in #210
- Refactor project structure by @cguedes in #215
- Rename atoms by @cguedes in #216
- feat: Update ingest so uploads are only processed once by @gjreda in #219
- feat: Add sidecar endpoint so UI can pass reference metadata updates to backend by @gjreda in #217
- chore: use setUpEditorWithSelection in all tests by @sehyod in #220
- Remove filename_md5 from backend by @gjreda in #227
- Set up knip for dead code / dependency detection by @danvk in #225
- Resolve peer deps issues by @danvk in https://github.com/refstu...