JMAP Webmail
Go to file
Eli Ribble c17e8b9ad0 Get to where I'm querying for mailboxes
This won't work, not in the long term, but it's a better direction.

I've created proxy classes for the classes coming from the JMAP client.
The issue here is that this client is likely to have a bunch of things
wrong. Specifically, the standard indicates that the client can be
extremely stateful, to the point where it's just getting a stream of
updates and keeping most of the structure in memory. The client, as
presently built, does not make it easy to honor this part of the
standard, so I'm going to have to structure the client interaction
differently.

However, what I've done here, while interesting, is not good.

The problem is that I am correctly telling the client "I need the list
of mailboxes" when I render the mailbox list, but I'm not able to
propogate that information back to the client since it's passed down
through props.

I'm going to need to separate out the client into its own class and have
an eventing system of some kind between it and the app.
2024-08-28 01:08:27 -07:00
public Add favicon and site title. 2024-08-28 01:08:27 -07:00
src Get to where I'm querying for mailboxes 2024-08-28 01:08:27 -07:00
.gitignore Bootstrap with basic create-react-app and typescript. 2024-08-28 01:08:26 -07:00
.pre-commit-config.yaml Add pre-commit hook for formatting 2024-08-28 01:08:27 -07:00
.prettierrc Use tabs, add jmap-client-ts, use it a bit 2024-08-28 01:08:27 -07:00
LICENSE Initial commit 2024-08-28 01:06:57 -07:00
README.md Add an autoformatter. 2024-08-28 01:08:27 -07:00
default.nix Add pre-commit hook for formatting 2024-08-28 01:08:27 -07:00
package-lock.json Use tabs, add jmap-client-ts, use it a bit 2024-08-28 01:08:27 -07:00
package.json Use tabs, add jmap-client-ts, use it a bit 2024-08-28 01:08:27 -07:00
tsconfig.json Auto pretty everything, add initial auth modal. 2024-08-28 01:08:27 -07:00

README.md

Drishti

This a JMAP browser email client.

Incantations

In the project directory, you can run:

Run Development Server

npm start

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

Run Tests

npm test

Launches the test runner in the interactive watch mode.
See the section about running tests for more information.

Build for production

npm run build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

See the section about deployment for more information.

Format all the code

npx prettier . --write