Commit Graph

119 Commits

Author SHA1 Message Date
somebody1234
abdbcfcdb1
Fix double clicking projects to open them (#7690)
- Fixes #7689
- Fix double clicking projects to open them

# Important Notes
None
2023-09-05 09:16:28 +00:00
somebody1234
73b864640b
Home screen (#7517)
- Closes https://github.com/enso-org/cloud-v2/issues/580
- Adds home screen

Other changes:
- Typing in the search bar from the home page, switches to the drive page. This is easy to change/remove, of course

# Important Notes
There are minor differences from the design:
- The Enso logo has opacity 0.6 to match the text color, rather than 0.665
- The list of samples is different
- The border-radius on the "create empty project" tile was changed from 18px to 16px, to match every other border-radius (especially the ones on the tiles for the other samples)

Implementation notes:
- The "new project" circled plus icon has a different color to the primary text color as well, but that has been left as-is
- The sample descriptions have a backdrop-blur, but the background image no longer extends underneath it
- There are currently no inset shadows for the home screen, but it will be easy to copy them from the old implementation from the old templates list
- "Read what's new in Enso 3.0 Beta" currently links to https://enso.org/, rather than a blog post (which does not yet exist)
- The new template backgrounds have been replaced with SVGs. The Excel one uses the Excel logo from Wikipedia; the new geospatial analysis one was converted to SVG via auto-tracing.

There are also several placeholders:
- Sample author icon
- Sample author
- Sample open count
- Sample like ount
2023-08-31 15:03:39 +00:00
Paweł Grabarz
226c5cf7c7
Revert "Handle wasm panics, display a message and allow a restart (#7507)" (#7708) 2023-08-31 13:30:01 +02:00
Paweł Grabarz
c834847c48
Handle wasm panics, display a message and allow a restart (#7507) 2023-08-30 13:31:08 +02:00
somebody1234
d9768ca63e
Change folder icon to arrow on hover (#7673)
- Closes https://github.com/enso-org/cloud-v2/issues/628
- Change folder icon to arrow on hover

# Important Notes
The arrow used is the same one used in the chat side panel.
2023-08-30 06:30:29 +00:00
somebody1234
b69fa516b7
Fix play button on local backend (#7688)
If the user does not have sufficient permissions to open the project, the project no longer shows the play button. However, this does not work on the local backend because the local backend lacks permissions completely.

# Important Notes
None
2023-08-29 16:33:14 +00:00
somebody1234
c558dec315
Fix context menu option visibility (#7686)
Fixes context menu options incorrectly being hidden due to incorrect logic when determining whether someone else is opening a project

# Important Notes
None
2023-08-29 15:19:51 +00:00
somebody1234
78c36ddfc7
Fix "opened by" being missing for new projects (#7684)
Fixes the project icon for new projects being disabled, because `opened_by` is missing, making the frontend think the current user was not the one that opened the project.

# Important Notes
None
2023-08-29 10:07:13 +00:00
somebody1234
e0ef0a258d
Improve assets table display (#7500)
- Closes #7463
- Makes table header sticky
- Clips table body so it does not overlap table header

Other changes:
- Clip table header row so it does not overlap extra columns selector
- Hide extra columns selector on local backend (PM backend)
- Focus search bar if the keypress will type regular text
- Change row height from 40px to 32px
- Add "Share" button when the editor is open
- Make entire area of backend selector (Cloud <-> Local) clickable (previously, the padding was not clickable)
- Remove the up-arrow icon to open a project. Projects are now opened by switching to the project tab using the tab selector on the top left (or by double clicking the row).
- Fix opening newly created folder (previously its entries were appended to the end, rather than under the folder)
- Indent background of "name" column (the first column)
- Minor code style changes
- Add background back to "change password" modal (oops)
- Hide "open" context menu entry and show "stop" entry, when a project is currently running
- ℹ️ It might be a good idea to support the "open" action on directories as well, however it is difficult without the assets table refactor in #7540. As such, this functionality will not be added in this PR.
- Fix horizontal padding on "sign in" user menu entry
- Hide email/password validation when using oauth logins

More fixes for assets list:
- Project is inserted at start of list when there are no existing projects
- Project is inserted at start of children when there are no existing children
- Deleting a folder collapses it (hides its descendants)
- Adding children to a newly created folder puts them at the correct depth, rather than depth 1

# Important Notes
None
2023-08-28 18:01:40 +00:00
somebody1234
8b3578b4e7
Fix "localStorage has already been declared" (#7675)
Fix issue caused by latest PRs being auto-merged improperly

# Important Notes
None
2023-08-28 15:51:32 +00:00
somebody1234
704ddff624
Disable opening projects that are already opened by other users (#7660)
- Closes https://github.com/enso-org/cloud-v2/issues/568
- Disable project with an `openedBy` that is not the current user

Fixes other issues:
- Fixes freshly restored saved projects not being unset when clicking stop before the editor first opens
- Changes "unable to" in errors to "could not", for consistency
- Users with insufficient permissions now see a network (node graph) icon instead of a play button:

![image](https://github.com/enso-org/enso/assets/4046547/0464ae66-4da7-4374-a4aa-80dd74fa1dc0)

# Important Notes
None
2023-08-28 13:21:36 +00:00
somebody1234
01aab4a2cc
Fix unsetting saved project on close (#7661)
Extracted from #7660.
Fixes the bug that happens when you do:
- Open the app with a saved "last opened project"
- The app will immediately restore the project
- Close the project
- Reopen/reload the app
- The same project will start opening again.
- Expected behavior: The project does not start, because it was previously manually closed.

# Important Notes
None
2023-08-28 13:15:12 +00:00
somebody1234
f6225882ed
Add Provisioned project state (#7658)
- Closes https://github.com/enso-org/cloud-v2/issues/647
- Add handling for `Provisioned` project state to frontend

- Also fixes bug causing cloud project loading message to not disappear (oops...)

# Important Notes
- sometimes the editor opens fine, but the websocket times out
- when checking requests, I don't see a request that returns `Provisioned`, so I can't be 100% sure that the handling for the `Provisioned` state actually works
2023-08-28 11:05:41 +00:00
somebody1234
37c487f530
Fix restoring cloud projects that have been closed (e.g. from inactivity) (#7584)
Fix issues restoring cloud projects that have been closed.
On current develop, the frontend assumes cloud projects are still open from the last time they were open. If this is not the case, it tries to open WebSocket endpoints that no longer exist

# Important Notes
For a relatively easy way to test:
- Run `Enso.dmg` or `./ide run watch`
- Open a cloud project
- Refresh Electron to make sure restoration is working
- Go to `localhost:8080`
- Close the project
- Refresh Electron to make sure startup + restoration is working

Should also test restoring local projects to make sure that didn't break.

I was unable to properly test cloud projects (the one I tested with opened, but was blank with just the IDE background and no cursor and no nodes, for some reason)
2023-08-25 13:19:31 +00:00
somebody1234
aa2f72cbd0
Allow configuring Project Manager server host and port (#6774)
- Closes #6730
- Changes config to allow environment variables to override server host and port
- Adds port scanning to Electron app to ensure the PM is started at a free port

# Important Notes
- `SERVER_PORT=abcd enso.AppImage` does NOT work. It would not be difficult to implement, but it probably needs discussion on how exactly it should be implemented - for example, `SERVER_PORT` is quite a generic name, should the Electron app pass though something like `ENSO_PM_SERVER_PORT` to the PM as `SERVER_PORT` instead?

⚠️ Port scanning is *only* implemented in the JS frontend. It is not implemented:
- In Scala, because the JS/Rust code calling it needs to know the port as well. There shouldn't be any problems with adding port scanning though, if that's desired
- In Rust, because I'm not sure parsing the host and port from a string is a good idea.
- (This also applies to JS, but it *must* work in JS, and port scanning is already a dependency there so it's quite a bit easier)

- QA *will* need a new PM (`sbt buildProjectManagerDistribution` or `./run backend sbt` -> `buildProjectManagerDistribution`), and the path must be supplied as: `-engine.project-manager-path=path/to/new/pm/here`
2023-08-25 07:33:31 +00:00
somebody1234
a3377a5434
Fix "manage permissions" modal losing focus (#7628)
Fixes "manage permissions" modal losing focus after typing a single character

# Important Notes
None
2023-08-25 07:20:55 +00:00
somebody1234
6af51d7c82
Properly hide "delete all" when no items are selected (#7606)
- Fixes #7603
- "Move All To Trash" option sometimes appears even when the list is empty

# Important Notes
This appears to be caused by multiple things:
- deleting a single item does not remove it from the set of selected keys
- waiting for `project/close` to make sure a project can be `project/delete`d, takes a while.

Both issues have been fixed, by adding a new `AssetListEvent` to let the assets table to immediately remove the asset's key (its id or placeholder id) from the set of selected keys
2023-08-25 07:16:12 +00:00
somebody1234
06b2280ee6
New user menu (#7581)
- Closes https://github.com/enso-org/cloud-v2/issues/610
- New user menu
- Remove "go to profile" action that does not currently have an action, and does not exist in new design
- Add placeholder icons for existing actions

- Re-style "change password" modal to fit in with the design

# Important Notes
There are many differences from the design - none are visual differences though:
- The list of actions is completely different - there are no menu entries in common between the design and the current
- This also means that *all* current icons are placeholders. There are no appropriate icons in the "icons" Figma tab either.
- The user icon is still a placeholder, as there is no backend support for user icons yet.
- The user menu entries are highlighted on hover (not specified in the design), but to make this look nice, some of the padding has been moved from the outer container to the individual menu entries.
- The menu entries use the same component as the context menu, so they *do* support shortcuts, and adding shortcuts to them will be very easy, *however* no shortcuts have been set for the new actions, because they are different from the actions in the Figma design (and so they don't have an official default shortcut)
2023-08-21 15:05:57 +00:00
somebody1234
f3f2f06bd9
Sort assets (#7540)
- Closes https://github.com/enso-org/cloud-v2/issues/511
- Adds sorting. Currently supported columns: "Name" and "Last Modified"

# Important Notes
The sort arrows have a slightly thicker border (changed from 2px to 2.14px), to remove the (very small) internal hole in the Figma design. It is possible to make the shape more accurate to the original design by using a polygon (or a path) that traces around the original outline instead, but I figured it's not worth spending the extra time on a fix that may not be correct.

ℹ️ The comparison function for sorting is quite complicated. I think this is the least intrusive change for now, but it is worth considering changing `AssetsTable` to store items internally as a tree instead, and do a preorder traversal to flatten it into an array when needed.
2023-08-18 15:47:23 +00:00
somebody1234
d4e69192fd
Category switcher (#7586)
- Closes https://github.com/enso-org/cloud-v2/issues/615
- Add category switcher

# Important Notes
None of the buttons currently do anything. This is intentional, as the corresponding backend functionality does not yet exist.
2023-08-18 11:23:27 +00:00
somebody1234
de81643a72
Change context menu styling for non-macOS platforms (#7578)
- Closes #7576
- Stop using icons for non-macOS platforms, because it is non-standard to use icons
- Increase width otherwise entries will line wrap

# Important Notes
None
2023-08-18 10:25:22 +00:00
somebody1234
42db519a43
Disable shortcuts in modals (#7602)
- Fixes https://github.com/enso-org/enso/issues/7600
- Prevents all `keydown` events from propagating out of modals

# Important Notes
None
2023-08-18 09:39:25 +00:00
somebody1234
4bdc1af720
Fix z-index of top bar (#7537)
- Closes #7536
- Top bar is now below fullscreen visualizations

Other changes:
- Fully hides mouse cursor in editor view

# Important Notes
There should be basically no logic changes - check the code to be extra sure.
The main things that should be tested are:
- cursor should be hidden on top bar in the editor, and visible when not in the editor
- cursor should be visible in the "change password" modal
2023-08-18 05:04:51 +00:00
somebody1234
d11745a205
Fix validation regexes (#7499)
- Closes #7498
- Validation regex previously disallowed non-ASCII characters, now fixed
- Changes every password input to use the correct regex. For old/new passwords, it uses the regular input. For password confirmations, it uses the new password, converted to a regex. This makes it so that the password confirmation input's validation only succeeds when it exactly matches the new password.

# Important Notes
None
2023-08-17 10:32:53 +00:00
somebody1234
937898826f
Load a maximum of one IDE entrypoint (#7570)
Fix for `showLogs` when opening a second cloud project. Alternative to #7568.
This one avoids loading the cloud's `index.js.gz`, unless it is in the cloud - and in the cloud, it only loads the first `index.js.gz`.
2023-08-14 11:28:40 +00:00
Michał Wawrzyniec Urbańczyk
87f5ea021f
Fixes for importing project bundles (#7558)
This fixes a few issues:
* support for `enso-project` bundles that were compressed in a way that includes leading `./` in the paths;
* partially undos #7305 — projects won't be renamed on import.

Many thanks to @somebody1234 for the help.
2023-08-11 16:30:49 +00:00
somebody1234
2cc35fde01
Fix IDE bug on cloud backend (#7564)
Fixes cloud projects not being able to be opened.
The cause is because the IDE React component was calling `document.body.removeChild()`, but the script was being added to `document.head`. The `removeChild()` has now been replaced with `child.remove()` to prevent this from happening again.

# Important Notes
None
2023-08-11 12:42:11 +00:00
somebody1234
e035b2d50a
localStorage manager (#7467)
Closes https://github.com/enso-org/cloud-v2/issues/571
- Moves all interaction with `localStorage` into a `LocalStorage` class
- Saves and loads current tab (dashboard, or IDE)
- Saves and loads currently open project

Unrelated fixes:
- Changes authentication toast notifications to replace loading toast, rather than creating a new toast

# Important Notes
⚠️ `remoteLog` has not been parametrised with `projectId` (and `sessionId` for cloud projects)

There are several places that previously used manual `localStorage.setItem` and `getItem`:
- Whether the templates list is currently open
- The current project management backend (local, or cloud)
- The path to the current directory is (as far as I can tell) obsolete, as the new directory view always displays the root directory, and so it has been removed
2023-08-11 05:16:54 +00:00
somebody1234
f1c224e62e
New context menu (#7431)
Closes https://github.com/enso-org/cloud-v2/issues/560
- New context menu
- Global keyboard shortcut handler
- Moves the existing "escape" keybindings (close modal, cancel editing names) to global keybind handlers

# Important Notes
- The "Upload To Cloud" action is not present in the Figma design. As such:
- Its current icon is an edit of the "cloud_from" icon, with the arrow upside down
- It does not have a corresponding keyboard shortcut
2023-08-10 15:31:53 +00:00
somebody1234
af0e738dec
New sharing menu (#7406)
- Closes https://github.com/enso-org/cloud-v2/issues/561
- New "Invite" modal
- Change autocomplete multi-select behavior
- Fix scrolling for autocomplete
- Scrolling when there are many users with permissions
- New backend permissions

- ⚠️ Intentional differences from Figma design:
- The permission type selector (the secondary modal) is slightly wider. This is because of minor changes to the text - check thread for details.
- The permission type selector for sharing with new users (the top one, next to the input) is vertically offset 4px more than usual. This is intentional; it means there is roughly the same spacing on either side of the input's border, and also means there is spacing between the "invite" button and the permission type selector
- Many buttons are faded out (`opacity-50`) when they are not interactable.
- Text changes
- "Invite" changes to "Share" in blue button
- "File" changes to "<asset type>" in permission type selector

# Important Notes
Some options don't work because the backend representation for permissions is currently different - in particular, the `admin`, `edit`, and `read` permissions, and the `docs` sub-permission.

ℹ️ Currently only works with new backend permissions - i.e. `ENVIRONMENT` must be `'pbuchu'` in `config.ts`.
2023-08-10 09:09:31 +00:00
somebody1234
0e20644e47
Upload and download .enso-projects from the local backend (PM backend) (#7305)
- Closes https://github.com/enso-org/cloud-v2/issues/478
- Download local project as `.enso-project` archive
- Requires latest nightly version of Project Manager
- Closes https://github.com/enso-org/cloud-v2/issues/510
- Allow uploading `.enso-project` to local backend
- Closes https://github.com/enso-org/cloud-v2/issues/477
- Promote local project to cloud
- Currently errors with 500 (when uploading a small bundle) or 413 (when uploading a large bundle). May be fixed soon

# Important Notes
The "upload project to cloud" context menu action does not currently have an entry in the new context menu, so that will probably need an official design at some point
2023-08-09 09:30:40 +00:00
Adam Obuchowicz
59329bd59a
New Top Bar (#7488)
Fixes #7411

So far, this branch removes window control buttons and go-to dashboard (hamburger icon), and adds option for dashboard to set offset of the rest of top bar panels.
2023-08-08 15:23:41 +00:00
somebody1234
4fe399feed
Fix dispatching events to assets table (#7430)
* Fix creating first local project

* Fix ESLint warning

* Fix bug

* Fix bug

* Remove `isRunning` from row state

* Fix row state resetting when placeholder is being forcefully shown

* Remove `forceShowPlaceholder` option from `table.tsx`

* Rename `DirectoryView` to `DriveView`

* Attempt to fix events

* Always keep `Delete` action enabled

On the local backend, now waits for project to fully open before deleting

* Only allow one project open at a time

* Fix "invalid params" error when creating new project

* Fix "invalid params" when creating many projects quickly

* wip: Fix cloud project loading modal not being dismissed

* Maybe fix opening cloud project after refresh

`/open` is no longer sent according to DevTools

* wip: Switching to local backend with cloud project open results in "invalid params"

* Fix "invalid params" when switching to local backend with cloud project open

* Fix logic for showing errors on buttons

* Don't close project when switching backend

* Fix minor error
2023-08-06 16:21:19 +02:00
Michał Wawrzyniec Urbańczyk
90e3f9ccef
Introducing new notifications to the GUI (#7458)
This PR replaces statusbar and popup components with the new notification API.

I have moved debug mode status notification to the bottom of the window, so it is separate from other notifications.

![obraz](https://github.com/enso-org/enso/assets/1548407/0e28bdd5-3567-4d8c-b580-d53099a00715)

![obraz](https://github.com/enso-org/enso/assets/1548407/47468d56-c4fc-4a0a-876d-2b059509a29c)

![obraz](https://github.com/enso-org/enso/assets/1548407/359dd764-305a-4a75-b9a4-75674bcc9990)
2023-08-04 16:48:23 +02:00
Nikita Pekin
acce6108d9
impr(cloud-v2#494): Remove OpenSSL as a dependency (#7404)
* add npekin auth config

* fix: use rustls

* remove native-tls

* impr: update npekin pool details

* set env to production

* remove deps

* prettier
2023-08-02 12:11:53 +02:00
somebody1234
6f90711f0f
Auth flow improvements (#7451)
* Improvements to sign up flows

* Change "offline" text to "not signed in"

* Debounce validation
2023-08-02 11:43:06 +02:00
Paweł Buchowski
74551b3188
Add missing cognito oauth scope (#7450)
For some reason, the hosted UI for both email and password and SSO, as well as the `Auth.federatedSignIn({provider: 'Google'})` call require the `aws.cognito.signin.user.admin` scope to be enabled to fetch and update user attributed. However, a call to `Auth.signIn(email, password)` does not. This is not well documented in AWS Cognito.

# Important Notes
`aws.cognito.signin.user.admin` gives you access to all Cognito User Pool APIs. Which federatedSignIn with google provider uses to get `currentUserInfo()` where we store optional `organizationId`. It does not provide any admin level access to other cognito or AWS parts.
2023-08-01 15:50:16 +00:00
somebody1234
ece18537e4
New top bar (#7392)
* wip

* wip

* New backend switcher

* New user bar (user and chat buttons)

* Page switcher

* New search bar; minor style fixes

* Address QA

* Refactor HTML `button`s into `Button` component

* Add cloud color back to Tailwind

* Fix icons shrinking

* Fix bug

---------

Co-authored-by: Paweł Buchowski <pawel.buchowski@enso.org>
2023-08-01 11:32:32 +02:00
somebody1234
c1e24629b0
Fix startup.project (#7393) 2023-07-31 19:52:28 +02:00
somebody1234
fe160ac287
Fix dashboard regressions (#7414)
* Fix dashboard regressions

* Restore templates spinner

* Fix bug

* Fix bug

* Faster reactive event implementation

* Fix event implementation; fix "New Project" button; fix `uniqueString`

* Fix infinitely loading project spinner

* Fix infinitely loading template spinner

* Minor documentation change

* Stop template spinners when switching backends
2023-07-29 10:19:31 +02:00
Dmitry Bushev
80c4b1ca06
Allow users to give a project other than Upper_Snake_Case name (#7397)
close #6356

Allow arbitrary names for user projects.

# Important Notes
https://github.com/enso-org/enso/assets/357683/55a3b660-af23-4b09-959b-eac515766788
2023-07-28 13:44:39 +00:00
somebody1234
e4357f8890
Background translucency (#7386)
* Set translucency options

* Vibrancy on Windows

* Use explicit background image instead of vibrancy

* Attempt to fix `ide build`

* Fix lint warning

* Remove background from authentication flow

* Fix background image and position

---------

Co-authored-by: Paweł Buchowski <pawel.buchowski@enso.org>
2023-07-27 10:53:00 +02:00
somebody1234
b62c3d7867
Update assets table design (#7377)
* wip: refactor all tables into one single `AssetsTable`

* wip: Continue merging the four asset tables; make files type-error-free

* Get table working again

* Prepare for nested directories; insert new items at correct position

* Save extra columns state; minor style fixes

* Make tab toggle bar sticky

* Rename array.withItemsInsertedAtBoundary

* Fix minor bug; adjust dropzone appearance

* Indentation for nested assets; fetching nested assets; svg color changes

* New appearances for permission display; minor fixes for "shared with" modal

* Address issues

* Minor bug fixes

* New assets upload bar

* Adjust permission display and table cell borders

* Adjust styling

* Change `toastAndLog` to a hook

* Address issues

* Make table full-width

---------

Co-authored-by: Paweł Buchowski <pawel.buchowski@enso.org>
2023-07-26 14:59:48 +02:00
Michał Wawrzyniec Urbańczyk
7211c8317d
New notification system (#7339)
This PR consists of two primary changes:
1. I've replaced `react-hot-toast` with `react-toastify` library. Both serve the same purpose — sending popup notifications (so-called "toasts"). However, the latter comes with a richer feature set that matches our requirements much better.
2. I've exposed the relevant API surface to the Rust. Now Rust code can easily send notifications.

### Important Notes
At this point, no attempt at customizing style of notifications was made (other than selecting the "light" theme). 

Likely we should consider this soon after integration as a separate task.
2023-07-24 21:58:53 +02:00
somebody1234
3e3b823620
Add option to skip logging in (#7282)
Co-authored-by: Paweł Buchowski <pawel.buchowski@enso.org>
2023-07-21 15:14:48 +02:00
somebody1234
ce33af82f7
Split dashboard.tsx into smaller components (#6546)
* Consistent order for statements in `dashboard.tsx`; change functions back to lambdas

* Create convenience aliases for each asset type

* Remove obsolete FIXME

* Refactor out column renderers into components

* Enable `prefer-const` lint

* Remove hardcoded product name

* Add fixme

* Enable `react-hooks` lints (not working for some reason)

* Consistent messages for naming-convention lint overrides

* Enable `react` lints

* Extract out tables for each asset type

* Refactor out column display mode switcher to a file

* Switch VM check state to use an enum

* Fix lint errors

* Minor section change

* Fix position of create forms

* Fix bugs; improve debugging QoL

* Add documentation for new components

* Refactor out drive bar

* Refactor out event handlers to variables

* Minor clarifications

* Refactor out directory view; some fixes; improve React DX

There are still many issues when switching backends

* Add `assert`

* Use `backend.platform` instead of checking for properties

* Fix errors when switching backend

* Minor style changes; fix lint errors

* Fix assert behavior

* Change `Rows` to `Table`

* Fixes

* Fix lint errors

* Fix "show dashboard" button

* Implement click to rename

* Fix lint errors

* Fix lint errors (along with a bug in `devServiceWorker`)

* Enable dev-mode on `ide watch`

* Fix bug in `useAsyncEffect` introduced during merge

* More fixes; new debug hooks; fix infinite loop in `auth.tsx`

* Inline Cognito methods

* Remove redundant `Promise.resolve`s

* Fix column display

* Fixes

* Simplify modal type

* Fix bug when opening IDE

* Shift+click to select a range of table items

* Implement delete multiple

* Fixes

* Tick and cross for rename input; fixes

* Implement rename and delete directory and multi-delete directory; fixes

* Optimize modal re-rendering

* Make some internal `Props` private

* Remove old asset selection code

* Eliminate re-renders when clicking document body

* Fix name flickering when renaming

* Use static placeholders

* Avoid refreshing entire directory on rename

* Use asset name instead of ID in error messages

* QoL improvements

* Enable react lints and `strict-boolean-expressions`

* Extract dashboard feature flags to its own module

* Feature flag to show more toasts; minimize calls to `listDirectory`

* Deselect selection on delete; hide unused features; add exception to PascalCase lint

* Fix projects disappearing after being created

* Fix name of `projectEvent` module imports

* Re-disable delete when project is being closed

* Fix assets refreshing when adding new projects

* Refactor row state into `Table`; fix delete not being disabled again

* Address review

* Implement shortcut registry

* Fix stop icon spinning when switching backends (ported from #6919)

* Give columns names

* Immediately show project as opening

* Replace `asNewtype` with constructor functions

* Address review

* Minor bugfixes

* Prepare for optimistically updated tables

* wip 2

* Fix type errors

* Remove indirect usages of `doRefresh`

Updating the lists of items will need to be re-added later

* Remove `toastPromise`

* Fix `New_Directory_-Infinity` bug

* wip

* WIP: Begin restoring functionality to rows

* Fix most issues with DirectoriesTable

* Port optimistic UI from `DirectoriesTable` to all other asset tables

* Fix bugs in item list events for asset tables

* Merge `projectActionButton` into `projectsTable`

* Remove `RenameModal`; minor context menu bugfixes

* Fix bugs

* Remove small default user icon

* Fix more bugs

* Fix bugs

* Fix type error

* Address review and QA

* Fix optimistic UI for "manage permissions" modal

* Fix "share with" modal

* Fix template spinner disappearing

* Allow multiple projects to be opened on local backend; fix version lifecycle returned by local backend

* Fix minor bug when closing local project

---------

Co-authored-by: Paweł Buchowski <pawel.buchowski@enso.org>
2023-07-19 11:48:39 +02:00
somebody1234
457d0986b6
Help chat (#7151)
* wip

* wip 2

* wip

* Copy types from bot

* wip

* Send and display messages

* wip: shadow

* Copy styles from design screenshot

* Fix "create new thread" button

* Fix switching threads

* wip

* Scrollback

* Reactions

* Fix issues with chat input sizing

* Update changelog

* Fix bugs; add scroll to thread list

* Use types from backend definitions

* Update git commit of chat backend; remove stray file path

* hotfix: fix "edit thread" shortcut on macos

* Address issues

* Extract chat header to separate component

* Begin matching appearance with Figma

* Show reaction bar on hover

* fix small scrollbar appear next to the message input

* Disallow sending empty messages

* Add chat URL to config - production URL will be added soon

* add production chat url

* fix linters

---------

Co-authored-by: Paweł Buchowski <pawel.buchowski@enso.org>
2023-07-18 13:23:41 +02:00
somebody1234
b042807790
Fix offline mode (#7250)
* Fix offline mode

* Remove `authentication=false` from URL when logging in

---------

Co-authored-by: Paweł Buchowski <pawel.buchowski@enso.org>
2023-07-13 15:35:30 +02:00
Paweł Buchowski
1d77f7cd8e
Add remoteLog function for gathering gui logs (#6582)
Co-authored-by: Michał W. Urbańczyk <mwu-tow@gazeta.pl>
Co-authored-by: Nikita Pekin <nikita@frecency.com>
2023-07-12 12:22:07 +02:00
somebody1234
af03938305
"Share with" button (#7100)
* Add backend endpoints for "share with" button

* wip

* Fix bugs

* Invite user to organization if email is not found

* Minor fix for error message

* Address review

* Address issues

* Fix React error about identical keys

* Fix "share with" modal z-index; filter out users with permissions on asset

* Fix errors; address comment

* Fix

* Change submit button text to "Already has access" when appropriate

* Address review

* Show email on hover

* Finish renaming "share with" modal

* Select multiple for "share with" modal

* Minor style changes

* Deselect other permissions when "own" permission is selected

* Fix deselecting permissions

* Remove unused svg

---------

Co-authored-by: Paweł Buchowski <pawel.buchowski@enso.org>
2023-07-12 10:12:39 +02:00