Commit Graph
1245 Commits
Author SHA1 Message Date
Thomas Scholtes f80b193bbd Don’t intercept navigation to external URLs in Markdown
Fixes 928

Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-14 09:29:19 +02:00
Rūdolfs Ošiņš b797c6a3f7 Reverse revision commit ordering
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2023-07-14 09:26:34 +02:00
Rūdolfs Ošiņš cdd0b9c7b6 Set page title in the router
This improves UX making it easier to find the tab that I'm looking for
when I have multiple tabs open.

Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2023-07-14 08:38:15 +02:00
Thomas Scholtes d0ee6e42e6 Simplify ProjectLoadedView
We simplify some of the choices for `ProjectLoadedView` by reducing the
nesting and removing redundant properties.

Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-12 15:59:46 +02:00
Sebastian Martinez 205fc814bc Bring reactions to comments and issues
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-12 15:36:02 +02:00
Sebastian Martinez 28718ba0cf Add --alias to rad auth
To avoid the popping up of a terminal input field during the
globalFixture setup, we need to pass the wanted alias as a flag.

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-12 15:36:02 +02:00
Sebastian Martinez 6e3bcc1998 Update heartwood version
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-12 15:36:02 +02:00
Thomas Scholtes d0a280be02 Simplify project route resolving
Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-12 15:24:06 +02:00
Thomas Scholtes 9dd3af0f9f Cleanup shared peer and revision props for project route
We move the `peer` and `revision` properties from the shared
`ProjectLoadedParams` interface to the `tree` and `history` subroutes
where they are needed.

Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-12 15:15:39 +02:00
xphoniex 08a5a329c3 Use correct tree hash for file path on diff page
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-07-12 14:43:50 +02:00
xphoniex 5db94a962d Show "Empty file" when diff is plain without hunks
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-07-12 14:16:54 +02:00
Sebastian Martinez 3cf5563c09 Run httpd-api unit tests with multiple threads
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-12 10:58:46 +02:00
Sebastian Martinez d03f0ae2c0 Add missing tests to project and session routes
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-12 10:58:46 +02:00
Sebastian Martinez 4bf37b6d26 Add support functions for httpd-api tests
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-12 10:58:45 +02:00
Sebastian Martinez 0327cf21e5 Add a create method to the session.Client
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-12 10:58:45 +02:00
Sebastian Martinez d5857952aa Add createPatch method to the project.Client
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-12 10:58:45 +02:00
Sebastian Martinez 3d4e1bbfd9 Add httpd test fixture to vitest httpd-api tests
This fixture is simil to the way Playwright handles fixtures, which are
being setup and teardown for each test.

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-12 10:58:45 +02:00
Sebastian Martinez 92f19d0ca4 Bring cobsFixture back to the httpd-api tests
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-12 10:58:45 +02:00
Sebastian Martinez 00f752a990 Fix @httpd-client path resolving in httpd-api tests
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-12 10:58:45 +02:00
Thomas Scholtes 829532fe94 Decouple project route types from loaded types
We remove the requirement that `LoadedSourceBrowsingView` needs to be
assignable to `ProjectParams["view"]`. This decouples `ProjectRoute` and
`ProjectLoadedRoute` and lets us modify them independently.

I did not use a common `routeParamsView` function because I prefer the
flexibility of being able to modify them independently while this area
of code changes a lot.

Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-11 14:22:41 +02:00
Thomas Scholtes f09e3f6edf Remove redundant selectedCommit route property
Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-11 14:22:41 +02:00
Sebastian Martinez 9294e23ea4 Update patch review schemas
To address changes to patch code review,
implemented in Heartwood in commit 45e87a6.

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-11 13:59:23 +02:00
Sebastian Martinez 145169d03d Changes necessary for heartwood update
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-11 13:59:23 +02:00
Thomas Scholtes bb5f6613e7 Improve resource separation in route URL building
We refactor the code that builds a URL from a project route so that it
is clearer that only the `tree` and `history` resource have some
complicated logic. We also eliminate the use of the shared `suffix`
variable. We now build the URL left-to-right.

Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-11 12:04:17 +02:00
Thomas Scholtes 50dd25a6b8 Use ESlint warnings and Prettier config
* We remove all styling related lints and use `eslint-config-prettier`.
  There’s no need to bother developers with styling lints because
  Prettier already takes care of that. (This is the [recommended
  integration with Prettier][1])

* We use the “warning” level for lints that are code style related. This
  allows developers to distinguish issues that need to be fixed now
  (like type errors) and issues that can be fixed later (like style
  errors). We do enforce all lints on CI by settings
  `--max-warnings=0`.

[1]: https://prettier.io/docs/en/integrating-with-linters.html

Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-11 11:08:27 +02:00
Thomas Scholtes a7f267932d Stop handling URL hash through routing
We stop handling the URL hash through the routing system. Hashes are
local to the current view and can be handled by the shown components.

Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-10 15:15:22 +02:00
Rūdolfs Ošiņš 74fa05cf26 Rewrite markdown link navigation
Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2023-07-09 15:17:43 +02:00
Rūdolfs Ošiņš cb52e96542 Use generic routing Link component everywhere
This way we can get rid of the project browsing specific ProjectLink
component and simplify the router types.

Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2023-07-09 15:05:18 +02:00
Thomas Scholtes f3e5b47124 Don’t replace path on internal navigation
We don’t replace the path when we navigate internally. This means we
keep the hash part of the URL even if it is not part of the route and we
can remove the workaround for that.

This also means that we keep the original URL if the parsed route would
result in a different URL. This change is visible through a slight
adjustments in the tests.

Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-09 14:46:26 +02:00
Sebastian Martinez db94969f8a Allow httpd API ports to be generated randomly.
To avoid port collisions between tests that can eventually run in
parallel, we need to be able to generate random port numbers.

This commit generates random httpd port numbers for inline tests,
while keeping the current palm seed with the default port number 8080.

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-09 14:19:47 +02:00
Sebastian Martinez bde2d97c9b Update dependencies
We had to change the eventDispatcher for events that shouldn't have a
second parameter to `null` instead of `never`.

See: https://github.com/sveltejs/svelte/pull/8872

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-09 14:02:58 +02:00
Thomas Scholtes 999a3a4c30 Use non-dev port for webserver during end-to-end tests
The end-to-end tests no run against the app served on port 3001 so that
we don’t need to shut down the development server.

Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-09 13:54:24 +02:00
Thomas Scholtes d7442d23ae Add tests for projectRouteToPath
Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-09 13:34:11 +02:00
Thomas Scholtes 2386b7c154 Move project route to path code into project router module
Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-09 13:34:11 +02:00
Thomas Scholtes 092f8ad774 Don’t leave line selected when switching blobs
Fixes #906

Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-07 07:41:51 +02:00
Thomas Scholtes e0e659f54a Only log errors when something unexpected happens in local node connection
We remove a couple of calls to `console.error()` in the code for the
local node connection. It’s not necessary to log errors that are
expected, for example, if the node is down.

Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-06 10:14:34 +02:00
Thomas Scholtes d94b78a784 Simplify branch loading in project route
* Don’t load branches in `commits` view. We the branch selector is not
  enabled there.
* Don’t silently swallow errors when fetching branches. Let the route
  loading mechanism handle errors.
* Don’t use the default branch as the fallback for `branches`. They are
  allowed to be empty and the empty case is handled properly now.

Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-05 17:06:42 +02:00
Thomas Scholtes db778f97b1 Remove unnecessary logic in BranchSelector
We remove logic used in the `BranchSelector` component. Instead we
restructure the component properties and rely on the `Browser`,
`History` and `Commit` components to pass values that result in the same
behavior.

Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-05 17:06:39 +02:00
Rūdolfs Ošiņš 44e55415d4 Slim down Project header props
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2023-07-05 14:07:05 +02:00
Rūdolfs Ošiņš 70a876b65f Move SourceBrowsingHeader into the respective sub views
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2023-07-05 14:07:05 +02:00
Sebastian Martinez 91f5abafd3 Add a UI test flow for issues
Tests:
- Authentication
- Issue creation
- Title editing
- Commenting
- Reply to comment
- Issue state change

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-05 13:48:42 +02:00
Sebastian Martinez 8e7e94c896 Add padding to reviews without comment
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-04 16:52:18 +02:00
Sebastian Martinez 555d4da30c Fix some style regressions in patch view
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-04 16:33:17 +02:00
Rūdolfs Ošiņš 92f6d58dfc Use Link instead of ProjectLink in Issues/Patches/Commits
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2023-07-04 15:45:05 +02:00
Sebastian Martinez 33594b732f Change some ProjectLink components into Link
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-04 14:52:51 +02:00
Sebastian Martinez fc05770775 Split patch revision creation from patch revision events
Also uses same border-radius on comment and other events, and removes
the revision creation as a timeline event.

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-04 14:52:51 +02:00
Sebastian Martinez e0261fe69e Add more comments and replies and a rejected review to the test fixtures
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-04 14:52:51 +02:00
Sebastian Martinez d91591c908 Make the action var in Issue.svelte reactive to the httpd state
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-04 14:14:29 +02:00
Sebastian Martinez 0cd42908e5 Add error handling for issue creation and commenting
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-04 14:14:29 +02:00
Sebastian Martinez 3e797a2d08 Make a globalSetup for the httpd-client tests
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-04 09:56:23 +02:00