Skip to content

[dashboard-v2] Git Integrations #3528

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 56 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
e4a1867
[dashboard] v2 initial commit
svenefftinge Mar 1, 2021
6cdb17e
try build
AlexTugarev Mar 5, 2021
dc25056
fix yarn.lock, typescript, supervisor-api gen, etc.
AlexTugarev Mar 5, 2021
749ee6e
[supervisor-api] fix generate.sh script
akosyakov Mar 5, 2021
eb00f8c
revert template change
AlexTugarev Mar 5, 2021
dcef826
add gitpod-schema.json
AlexTugarev Mar 5, 2021
fc946b5
Integrated gitpod service
svenefftinge Mar 7, 2021
bb71d2d
Fix external links in top-level menu
jankeromnes Mar 8, 2021
23b79be
[dashboard] profile page minor updates
svenefftinge Mar 9, 2021
a8cc3f2
disable tos temporarily
AlexTugarev Mar 9, 2021
2624559
disable error_404_dashboard in proxy
AlexTugarev Mar 9, 2021
72a8864
[temp][server] disable getSafeReturnToParam
AlexTugarev Mar 9, 2021
0b217d8
add login page and user context
AlexTugarev Mar 9, 2021
8265523
disable CSRF protection
AlexTugarev Mar 9, 2021
37ed700
fix PREVIEW_URL
AlexTugarev Mar 9, 2021
abdc0fe
applying changes from review
AlexTugarev Mar 9, 2021
0bd1ac6
update telepresence
AlexTugarev Mar 10, 2021
9a9069f
fix proxy for browserrouter
AlexTugarev Mar 12, 2021
f039388
attach gitpod service to window
AlexTugarev Mar 10, 2021
23d7af8
add login page (50%)
AlexTugarev Mar 12, 2021
b18f779
FIXME: Workaround to fix dashboard in iframe
jankeromnes Mar 11, 2021
736a4c5
[dashboard] Import MAD color scheme into Tailwind
jankeromnes Mar 12, 2021
dceb64f
[dashboard] Re-implement create workspace page (Gitpod URL prefix)
jankeromnes Mar 9, 2021
d9563bd
[dashboard] Re-implement workspace /start page
jankeromnes Mar 12, 2021
dac6cdf
[dashboard] Simplify context URL hashchange listener
jankeromnes Mar 12, 2021
59cba2c
[dashboard] Improve workspace start UI
jankeromnes Mar 12, 2021
cfc3af8
[dashboard] Improve workspace start status messages
jankeromnes Mar 12, 2021
eda11c2
[dashboard] Apply code review suggestions
jankeromnes Mar 13, 2021
768bea8
[dashboard] Merge Account and Settings pages into a single sub-menu, …
jankeromnes Mar 15, 2021
64a6116
[dev] Update telepresence
AlexTugarev Mar 15, 2021
a996da6
[dashboard] Re-implement running workspace selector for new dashboard
jankeromnes Mar 16, 2021
9cca01a
[dashboard] Update Tailwind green shades for buttons
jankeromnes Mar 16, 2021
6d99107
[dashboard] Hide running workspace open button when group isn't hovered
jankeromnes Mar 16, 2021
e834989
Merge pull request #3457 from gitpod-io/minor-updates
svenefftinge Mar 17, 2021
9e990bf
apply 💄 to login page
AlexTugarev Mar 15, 2021
7a9975d
[server] disable tos check on signup
AlexTugarev Mar 15, 2021
14e29d9
extract getGitpodService function
AlexTugarev Mar 17, 2021
d6cddf6
fix screen breakpoints
AlexTugarev Mar 17, 2021
f1b574d
[dashboard] Change font stack, update logo, change menu colors (#3478)
gtsiolis Mar 17, 2021
26cbae4
[dashboard] added favicons
svenefftinge Mar 17, 2021
d644c6b
[dashboard] addition workspaces list features
svenefftinge Mar 18, 2021
78e2bf5
[dashboard] allow open workspace in new tab
svenefftinge Mar 18, 2021
2a5705f
[dashboard] fix deletion of workspaces
svenefftinge Mar 18, 2021
4b92cdd
[dashboard] improve modal
svenefftinge Mar 19, 2021
115ce8d
[dashboard] avatar menu
svenefftinge Mar 19, 2021
acf4375
[code] Graduate VS Code out of Feature Preview
jankeromnes Mar 18, 2021
621bbcb
[dashboard] Re-implement default IDE switch for new dashboard
jankeromnes Mar 16, 2021
d5e488b
[dashboard] Adjust styles in Settings menu and Account page
jankeromnes Mar 17, 2021
a3c9d46
[dashboard] Simplify SettingsPage component by folding the SubMenu ba…
jankeromnes Mar 18, 2021
62ce212
[dashboad] Apply Default IDE code review feedback
jankeromnes Mar 18, 2021
258b17b
[dashboard] Make the new Default IDE page actually change the user se…
jankeromnes Mar 18, 2021
e24cf0a
[code] Make VS Code the default IDE for new users
jankeromnes Mar 19, 2021
9a9ff73
[dashboard] Delete custom IDE image option from new dashboard again
jankeromnes Mar 19, 2021
803baa6
[dashboard] Improve new workspace start experience ⚡
jankeromnes Mar 19, 2021
cd4d4e1
[dashboard] added notifications
svenefftinge Mar 20, 2021
30776c4
[dashboard] Add Git Providers
AlexTugarev Mar 22, 2021
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
2 changes: 1 addition & 1 deletion .gitpod.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:aledbf-grpc.46
image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:at-dev-env.5
workspaceLocation: gitpod/gitpod-ws.theia-workspace
checkoutLocation: gitpod
ports:
Expand Down
2 changes: 1 addition & 1 deletion .werft/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ pod:
- name: MYSQL_TCP_PORT
value: 23306
- name: build
image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:aledbf-grpc.46
image: eu.gcr.io/gitpod-core-dev/dev/dev-environment:at-dev-env.5
workingDir: /workspace
imagePullPolicy: Always
volumeMounts:
Expand Down
24 changes: 12 additions & 12 deletions chart/config/proxy/lib.locations.conf
Original file line number Diff line number Diff line change
Expand Up @@ -44,18 +44,18 @@ location / {

proxy_pass http://dashboard$request_uri;

# # Page Not Found
# Let's redirect the browser agent to the web app, if no resources are found in the locations specified here.
#
# This is derived from the issue https://github.com/gitpod-io/gitpod/issues/2659, which
# was appearently caused by Twitter's link shortening. So, if the leading www is missing
# in the URL by accident, we will redirect to the web on 404 – Not Found.
error_page 404 @error_404_dashboard;
}

location @error_404_dashboard {
return 302 https://www.${PROXY_DOMAIN}$request_uri;
}
# # # Page Not Found
# # Let's redirect the browser agent to the web app, if no resources are found in the locations specified here.
# #
# # This is derived from the issue https://github.com/gitpod-io/gitpod/issues/2659, which
# # was appearently caused by Twitter's link shortening. So, if the leading www is missing
# # in the URL by accident, we will redirect to the web on 404 – Not Found.
# error_page 404 @error_404_dashboard;
}

# location @error_404_dashboard {
# return 302 https://www.${PROXY_DOMAIN}$request_uri;
# }

##### Authentication
# GitHub authentication callback endpoint does not like CORS headers
Expand Down
10 changes: 3 additions & 7 deletions components/dashboard/.gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# See https://help.github.com/ignore-files/ for more about ignoring files.
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage
Expand All @@ -19,9 +21,3 @@
npm-debug.log*
yarn-debug.log*
yarn-error.log*

lib
dist

/public/libs/*
!/public/libs/.keep
54 changes: 10 additions & 44 deletions components/dashboard/BUILD.yaml
Original file line number Diff line number Diff line change
@@ -1,58 +1,24 @@
packages:
- name: app
type: yarn
srcs:
- "public/images/**"
- "src/**/*.ts"
- "src/**/*.tsx"
- "src/**/*.css"
- "ee/src/**/*.ts"
- "ee/src/**/*.tsx"
- "ee/src/**/*.css"
- "typings/**"
- package.json
- postinstall.js
- webpack.config.js
- webpack.entrypoints.js
- tsconfig.json
deps:
- components/gitpod-protocol:lib
argdeps:
- removeSources
env:
- REMOVE_SOURCES=${removeSources}
config:
commands:
build: ["yarn", "build-app"]
yarnLock: ${coreYarnLockBase}/yarn.lock
dontTest: true
- name: lib
type: yarn
srcs:
- "public/**"
- "ee/public/**"
- "src/**/*.ts"
- "src/**/*.tsx"
- "build/**"
- "src/**/*.ts*"
- "src/**/*.css"
- "ee/src/**/*.ts"
- "ee/src/**/*.tsx"
- "ee/src/**/*.css"
- "src/**/*.svg"
- "typings/**"
- package.json
- postinstall.js
- webpack.config.js
- webpack.entrypoints.js
- tsconfig.json
- tsconfig.lib.json
- tailwind.config.js
- tsconfig.*
deps:
- components/gitpod-protocol:lib
config:
packaging: library
commands:
build: ["yarn", "build-lib"]
build: ["yarn", "build"]
yarnLock: ${coreYarnLockBase}/yarn.lock
tsconfig: tsconfig.lib.json
dontTest: true
packaging: archive
- name: static
type: generic
srcs:
Expand All @@ -78,9 +44,9 @@ scripts:
script: |-
trap "kill 0" EXIT
export NODE_OPTIONS='--max-old-space-size=3192'
yarn run webpack-dev-server --mode=development &
yarn start &

telepresence --swap-deployment dashboard \
--method inject-tcp \
--expose 13001:80 \
--run socat TCP-LISTEN:13001,reuseaddr,fork TCP:localhost:3001
--expose 13000:80 \
--run socat TCP-LISTEN:13000,reuseaddr,fork TCP:localhost:3000
35 changes: 27 additions & 8 deletions components/dashboard/README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,31 @@
# Gitpod Workspaces
# Dashboard Redesign POC

The workspaces page provides a UI for the gitpod server.
The dashboard is written in TypeScript and React. For styling it uses TailwindCSS which is a bit nicer than inlining CSS as it supports pseudo classes and a is a little more abstract/reusable.

## How to use
The App.tsx is the entry point for the SPA and it uses React-Router to register all pages.

Install it and run:
```ts
<Switch>
<Route path="/" exact component={Workspaces} />
<Route path="/profile" exact component={Profile} />
<Route path="/notifications" exact component={Notifications} />
<Route path="/subscriptions" exact component={Subscriptions} />
<Route path="/env-vars" exact component={EnvVars} />
<Route path="/git-integration" exact component={GitIntegration} />
<Route path="/feature-preview" exact component={FeaturePreview} />
<Route path="/default-ide" exact component={DefaultIDE} />
</Switch>
```
Pages are loaded lazily using `React.lazy` so that not everything needs to be loaded up-front but only when needed:

```bash
yarn install
yarn start
```
```ts
const Notifications = React.lazy(() => import('./account/Notifications'));
const Profile = React.lazy(() => import('./account/Profile'));
const Subscriptions = React.lazy(() => import('./account/Subscriptions'));
const DefaultIDE = React.lazy(() => import('./settings/DefaultIDE'));
const EnvVars = React.lazy(() => import('./settings/EnvVars'));
const FeaturePreview = React.lazy(() => import('./settings/FeaturePreview'));
const GitIntegration = React.lazy(() => import('./settings/GitIntegration'));
```

Global state is passed through `React.Context`.
1 change: 1 addition & 0 deletions components/dashboard/conf/conf.d/server-80.conf
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,6 @@ server {

location / {
root /www/data/dashboard;
try_files $uri $uri/ /index.html;
}
}
34 changes: 0 additions & 34 deletions components/dashboard/ee/public/admin/index.html

This file was deleted.

34 changes: 0 additions & 34 deletions components/dashboard/ee/public/license/index.html

This file was deleted.

64 changes: 0 additions & 64 deletions components/dashboard/ee/src/admin.tsx

This file was deleted.

Loading