Giter Site home page Giter Site logo

theia-ide / theia-apps Goto Github PK

View Code? Open in Web Editor NEW
1.0K 33.0 346.0 544 KB

Theia applications examples - docker images, desktop apps, packagings

License: Apache License 2.0

Shell 15.69% Dockerfile 38.28% TypeScript 24.49% JavaScript 19.23% Rust 0.62% Makefile 1.69%

theia-apps's People

Contributors

akosyakov avatar avelino avatar daball avatar dhruvalpatel007 avatar ducngn avatar dwjbosman avatar emdfonseca avatar jankoehnlein avatar jasonharrison avatar jbicker avatar jeff-tian avatar jgbradley1 avatar jgroom33 avatar jopit avatar kittaakos avatar lmcbout avatar lodup29 avatar marcdumais-work avatar mizux avatar mvallerie avatar nonameentername avatar paul-marechal avatar perrinjerome avatar sachav83 avatar satishbabariya avatar svenefftinge avatar thegecko avatar tom-shan avatar uniibu avatar vince-fugnitto avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

theia-apps's Issues

[yangster-docker] can't open files

When I try to open files in Theia, each time it fails and I get this exception in the frontend:

reflection_utils.js:33 Uncaught (in promise) Error: The number of constructor arguments in the derived class t must be >= than the number of constructor arguments of its base class.
    at u (reflection_utils.js:33)
    at Object.t.getDependencies (reflection_utils.js:11)
    at planner.js:106
    at Array.forEach (<anonymous>)
    at e (planner.js:94)
    at Object.t.plan (planner.js:129)
    at container.js:316
    at e._get (container.js:309)
    at e.get (container.js:228)
    at e.editorProvider (monaco-frontend-module.ts:53)

This is from freshly built images on my machine - I have not tried with the image deployed on dockerhub.

Tried also with the more basic theia-docker image, and that one does not seem to have that issue. Maybe related to the yangster extension?

Support of Python3

It's great to see the Docker for Python added. I've tried it and it works well. However, it is for Python2 only currently. Can we add support of Python3?

Vim Keybindings

Will Theia support Vim Keybinds? This is a feature that almost all popular text editors support. It is essential to Vim users.

Add Theia desktop apps

Latest and next theia-desktop app should be added. The auto build should be provided whenever a new @theia/core latest or next version is published.

Openshift Build Docker Image to Build Theia

I would like to propose the creation of build image specifically for Openshift to build/develop Theia. Openshift does not allow root access by default to containers/pods. This means adding in Python and other development tools can be a little harder https://github.com/theia-ide/theia-apps/blob/master/theia-docker/Dockerfile#L2 . This image would allow for further development and execution within Theia IDE. It would also open a development port (3001 ?) to attach the development Theia server to. We did something similar for che (che-in-che). If acceptable, I can issue a PR.

Really to do this a little easier the current Theia docker image could be broken out. https://github.com/theia-ide/theia-apps/blob/master/theia-docker/Dockerfile#L1-L5 could be an image called 'theiaide/theia-build'. This would save time on compile time too and be DRY. The 'theiaide/theia' dockerfile would then be:

FROM theiaide/theia-build
ADD $version.package.json ./package.json
RUN yarn && \
    yarn theia build && \
    rm -rf ./node_modules/electron && \
    yarn cache clean

FROM node:8-alpine
RUN apk add --no-cache git openssh bash
WORKDIR /home/theia
COPY --from=0 /home/theia /home/theia
EXPOSE 3000
ENV SHELL /bin/bash
ENV USE_LOCAL_GIT true
ENTRYPOINT [ "yarn", "theia", "start", "/home/project", "--hostname=0.0.0.0" ]

theiaide/theia-build

FROM node:8-alpine
RUN apk add --no-cache make gcc g++ python
ARG version=latest
WORKDIR /home/theia

.... Also FROM node:8-alpine ; RUN apk add --no-cache git openssh bash could be put into another Dockerfile too called maybe 'theiaide/theia-runtime'. Basically anywhere you need to download from an external source.

UPDATE: Wrote an article/blog at https://medium.com/@james_devcomb/theia-in-theia-78921a907531

[full:latest] Textmate coloring broken

It seems that including @theia/ruby:latest has broken the coloring (fixed in @theia/ruby:next). I had already seen this issue in the theia-ruby:latest.

exception:

root ERROR Could not initialize contribution TypeError: e.registerTextMateGrammarScope is not a function
    at e.registerTextmateLanguage (http://localhost:3003/bundle.js:116:1039721)
    at e.initialize (http://localhost:3003/bundle.js:30:434805)
    at e.<anonymous> (http://localhost:3003/bundle.js:12:181216)
    at http://localhost:3003/bundle.js:12:176949
    at Object.next (http://localhost:3003/bundle.js:12:177054)
    at http://localhost:3003/bundle.js:12:175967
    at new Promise (<anonymous>)
    at a (http://localhost:3003/bundle.js:12:175744)
    at e.startContributions (http://localhost:3003/bundle.js:12:180996)
    at e.<anonymous> (http://localhost:3003/bundle.js:12:178033)

We can either remove ruby from latest.package.json or leave it and wait for the next release, September 27th.

[theia-full-docker] docker build error

I try docker build of master branch (9865ec2).

Get:1 http://apt.llvm.org/xenial llvm-toolchain-xenial InRelease [4218 B]
Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]
Hit:3 http://ppa.launchpad.net/webupd8team/java/ubuntu xenial InRelease
Hit:4 http://archive.ubuntu.com/ubuntu xenial InRelease
Get:5 http://apt.llvm.org/xenial llvm-toolchain-xenial/main amd64 Packages [8910 B]
Get:6 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB]
Get:7 http://security.ubuntu.com/ubuntu xenial-security/universe Sources [79.0 kB]
Get:8 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [102 kB]
Get:9 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 Packages [431 kB]
Get:10 http://archive.ubuntu.com/ubuntu xenial-updates/universe Sources [253 kB]
Get:11 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [979 kB]
Get:12 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [800 kB]
Fetched 2862 kB in 5s (563 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package clang-tools-6.0
E: Couldn't find any package by glob 'clang-tools-6.0'
E: Couldn't find any package by regex 'clang-tools-6.0'
The command '/bin/sh -c apt-get update && apt-get install -y clang-tools-6.0' returned a non-zero code: 100

Not found package the clang-tools-6.0.

[go] [full] Problem with go-lint prevent building images

The full and go images do not build since yesterday evening. Looks like the issue is with a golang library that is downloaded as part of the build of these images. I do not know if this is a temporary issue or not.

github.com/golang/lint (download)
package github.com/golang/lint/golint: code in directory /home/theia/go/src/github.com/golang/lint/golint expects import "golang.org/x/lint/golint"
The command '/bin/sh -c go get -u -v github.com/ramya-rao-a/go-outline &&     go get -u -v github.com/acroca/go-symbols &&     go get -u -v github.com/nsf/gocode &&     go get -u -v github.com/rogpeppe/godef &&     go get -u -v golang.org/x/tools/cmd/godoc &&     go get -u -v github.com/zmb3/gogetdoc &&     go get -u -v github.com/golang/lint/golint &&     go get -u -v github.com/fatih/gomodifytags &&     go get -u -v github.com/uudashr/gopkgs/cmd/gopkgs &&     go get -u -v golang.org/x/tools/cmd/gorename &&     go get -u -v sourcegraph.com/sqs/goreturns &&     go get -u -v github.com/cweill/gotests/... &&     go get -u -v golang.org/x/tools/cmd/guru &&     go get -u -v github.com/josharian/impl &&     go get -u -v github.com/haya14busa/goplay/cmd/goplay &&     go get -u -v github.com/davidrjenni/reftools/cmd/fillstruct' returned a non-zero code: 1

https://travis-ci.org/theia-ide/theia-apps/builds/440396837?utm_source=github_status&utm_medium=notification

Failing Extensions on Theia Full

Seems one of the extensions require electron.

image
and the Git Extension seems to fail as well
image

Tested on chinodesuuu/theia:next image - based from theia-docker-full.

Make Theia images run on usermode

theia images should run on user mode via USER + a RUN command that adds the user.

There are a couple of factors why it should be done like this:

  • OpenShift compatibility/k8s compatibility
  • this is how other Cloud IDEs like Cloud9 and Codenvy/Eclipse Che author their workspace stacks.

Clean Yarn cache from Docker image

The Theia docker image is pretty big. When I dug into it, there's 335Mb in the Yarn cache that is pulled in during build and then never used again. I've found some other projects that have added "&& yarn clear cache" to their docker builds, which would clean this up and reduce the image size by 335Mb.

Also noticed the --production=true flag while I was investigating this, not sure if that would speed up the build or remove unnecessary dependencies too.

theia-full-docker: Error: "Cannot apply @injectable decorator multiple times. (due to yangster)

Cole Mickens: @akosyakov (had a problem with my docker invocation), I'm still seeing this: "Error: "Cannot apply @Injectable decorator multiple times." but I don't really see any other message, just a stack trace that looks not-so-helpful.

marcdumais-work: Hi, I think it's the yang extension causing the issue with the full image. @colemickens you can temporarily remote that one from next.package.json and rebuild the image.
related to theia-ide/yangster#59

cc: @marcdumais-work

[CI] add automated tests for repo's images

ATM we build the image, and if the build succeeds, we assume that all is good. It would very helpful to have even a basic test suite, run to validate that e.g. both front-end and back-end can start. Then we can build on that.

A quick win could be to consider the full image first. It's the one with the most extensions, so probably the most likely to have some issue, e.g. one "external" Theia extension is not up-to-date following an internal API change, can prevent the FE app from starting.

Might we be able to run the existing example application UI test suite against the image, after it's built on Travis?

GH API rate error

We have too many jobs running in parallel, one GH token is not enough. We should rather use several as secrets in travis file or break down jobs to several stages to avoid running all them together.

Theia-full image doesn't work

log from stdout
`

yarn run v1.9.4
warning Skipping preferred cache folder "/.cache/yarn" because it is not writable.
warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-1066760000".
$ /home/theia/node_modules/.bin/theia start /home/project --hostname=0.0.0.0
Starting server worker...
Server worker has been started. [ID: 1 | PID: 38]
Failed to start the backend application.
{ Error: Cannot find module '@theia/debug/lib/node/debug-model'
at Function.Module._resolveFilename (module.js:548:15)
at Function.Module._load (module.js:475:25)
at Module.require (module.js:597:17)
at require (internal/module.js:11:18)
at Object. (/home/theia/node_modules/@theia/cpp/lib/node/cpp-backend-module.js:20:21)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3) code: 'MODULE_NOT_FOUND' }
/home/theia/node_modules/@theia/core/lib/node/cluster/main.js:58
throw reason;
^

Error: Cannot find module '@theia/debug/lib/node/debug-model'
at Function.Module._resolveFilename (module.js:548:15)
at Function.Module._load (module.js:475:25)
at Module.require (module.js:597:17)
at require (internal/module.js:11:18)
at Object. (/home/theia/node_modules/@theia/cpp/lib/node/cpp-backend-module.js:20:21)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
Server worker has been disconnected. [ID: 1 | PID: 38]
Server worker failed to start within 5000 milliseconds.
Pass a greater value as '--startup-timeout' option to increase the timeout or a negative to disable.
Done in 1.24s.

`

Add Yangster

Yangster is currently dockerized using an automatic build on Docker Hub.
We should move this here to get the same results as for the other apps.

[theia-openshift] add image to CI, publish to docker hub

Would there be a way to build the theia-openshift image, so that the theia-docker image, from the same PR, is used as a base? This way we would notice it right away, if a change in the base image, impacts the build of the theia-openshift image.

Possible missing file in full image

log:

yarn run v1.9.4
  warning Skipping preferred cache folder "/.cache/yarn" because it is not writable.
  warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-1066760000".
  $ /home/theia/node_modules/.bin/theia start /home/project --hostname=0.0.0.0
  Starting server worker...
  Server worker has been started. [ID: 1 \ PID: 38]
  Error: @PostConstruct error in class TypeScriptContribution: EACCES: permission denied, open '/home/theia/.application-module-loader.js'
  at _postConstruct (/home/theia/node_modules/inversify/lib/resolution/instantiation.js:30:19)
  at Object.resolveInstance (/home/theia/node_modules/inversify/lib/resolution/instantiation.js:47:5)
  at /home/theia/node_modules/inversify/lib/resolution/resolver.js:72:42
  at /home/theia/node_modules/inversify/lib/resolution/resolver.js:34:24
  at Array.map ()
  at /home/theia/node_modules/inversify/lib/resolution/resolver.js:32:34
  at Object.resolve (/home/theia/node_modules/inversify/lib/resolution/resolver.js:96:12)
  at /home/theia/node_modules/inversify/lib/container/container.js:320:37
  at Container._get (/home/theia/node_modules/inversify/lib/container/container.js:311:44)
  at Container.getAll (/home/theia/node_modules/inversify/lib/container/container.js:239:21)
  { Error: EACCES: permission denied, open '/home/theia/package-backup.json'
  at Object.fs.openSync (fs.js:646:18)
  at copyFileSync (/home/theia/node_modules/fs-extra/lib/copy-sync/copy-file-sync.js:23:18)
  at Object.copySync (/home/theia/node_modules/fs-extra/lib/copy-sync/copy-sync.js:43:5)
  at ApplicationProject.backup (/home/theia/node_modules/@theia/extension-manager/lib/node/application-project.js:325:16)
  at new ApplicationProject (/home/theia/node_modules/@theia/extension-manager/lib/node/application-project.js:114:14)
  at _createInstance (/home/theia/node_modules/inversify/lib/resolution/instantiation.js:21:12)
  at Object.resolveInstance (/home/theia/node_modules/inversify/lib/resolution/instantiation.js:41:18)
  at /home/theia/node_modules/inversify/lib/resolution/resolver.js:72:42
  at Array.map ()
  at Object.resolveInstance (/home/theia/node_modules/inversify/lib/resolution/instantiation.js:40:67)
  errno: -13,
  code: 'EACCES',
  syscall: 'open',
  path: '/home/theia/package-backup.json' }
  Server worker is ready to accept messages. [ID: 1 \ PID: 38]
  root ERROR Could not start contribution Error: EACCES: permission denied, open '/home/theia/.application-module-loader.js'
  at Object.fs.openSync (fs.js:646:18)
  at Object.fs.writeFileSync (fs.js:1299:33)
  at ApplicationPackage.get [as resolveModule] (/home/theia/node_modules/@theia/application-package/lib/application-package.js:379:20)
  at ApplicationPackage.get [as extensionPackages] (/home/theia/node_modules/@theia/application-package/lib/application-package.js:158:157)
  at ExtensionMetricsContribution.startCollecting (/home/theia/node_modules/@theia/metrics/lib/node/extensions-metrics-contribution.js:40:59)
  at /home/theia/node_modules/@theia/metrics/lib/node/metrics-backend-application-contribution.js:46:26
  at Array.forEach ()
  at MetricsBackendApplicationContribution.onStart (/home/theia/node_modules/@theia/metrics/lib/node/metrics-backend-application-contribution.js:45:50)
  at BackendApplication. (/home/theia/node_modules/@theia/core/lib/node/backend-application.js:283:54)
  at step (/home/theia/node_modules/@theia/core/lib/node/backend-application.js:59:23)
  root INFO Theia app listening on http://0.0.0.0:3000 .
  Received message which is neither a response nor a notification message:
  "3000"
  root ERROR Cannot find a service for the path: /services/logger
  root ERROR Cannot find a service for the path: /services/messageService
  root ERROR Cannot find a service for the path: /services/filesystem
  root ERROR Cannot find a service for the path: /services/fs-watcher
  root ERROR Cannot find a service for the path: /services/workspace
  root ERROR Cannot find a service for the path: /services/envs
  root ERROR Cannot find a service for the path: /services/git
  root ERROR Cannot find a service for the path: /services/git-watcher
  root ERROR Cannot find a service for the path: /services/mini-browser-service
  root ERROR Cannot find a service for the path: /services/task
  root ERROR Cannot find a service for the path: /services/fs-watcher
  root ERROR Cannot find a service for the path: /services/application
  root ERROR Cannot find a service for the path: /services/extensions
  root ERROR Cannot find a service for the path: /services/search

Theia when served under a HTTP endpoint does not accept HTTPS requests

you can reproduce this with the Theia OpenShift image and deploy a TLS enabled route on OpenShift Online.
Steps to reproduce:

  • Upload the theia-openshift image to the OpenShift Online Registry for your project.
  • Create a deployment with the image (you may as well use my image to save you time for Step 1 which is chinodesuuu/theia:latest)
  • After the pod is detected Ready, create route under the application's service.

Expected: Even if it serves under http://0.0.0.0, it should accept incoming requests regardless if router enforced TLS.

Result: It does not serve on TLS-enabled routes or it takes a long time to serve to the route (if you do the same without the TLS, it serves immediately).

Auto build the next docker image

Whenever a new next version of @theia/core is published, typefox/theia:next image should be built and published to Docker Hub. Not sure whether we need to keep images for each published version similar to the latest image.

Probably npm webhook can be used to trigger the build on Docker Hub.

Trouble connecting monaco language client to theia app with C++

I am trying to connect monaco language client to the C++ language server in theia_full_docker, but unable to succeed.

First of all, I am able to run the monaco language client browser example successfully with JSON language server working. Also, I am able to run the browser example in theia_full_docker with C++ language server working. Next I want to see if I can have monaco language client work with the C++ language server within theia_full_docker.

What I have done so far:

1 in monaco language client browser example's client.ts, register the C++ language, similar to JSON in the original example;

2 have the client point to /services on the theia server with C++ language server;

Then I go ahead to type some C++ code, expecting completion to work, but it does not.

Things I notice:

1 the editor seems stuck at the initialize command; I found this by checking the websocket traffic in Chome's Network tab; the request looks like:

{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"rootPath":null,"rootUri":null,"capabilities":{"workspace":{"applyEdit":true,"workspaceEdit":{"documentChanges":true},"didChangeConfiguration":{"dynamicRegistration":false},"didChangeWatchedFiles":{"dynamicRegistration":false},"symbol":{"dynamicRegistration":true},"executeCommand":{"dynamicRegistration":true}},"textDocument":{"synchronization":{"dynamicRegistration":true},"completion":{"completionItem":{"snippetSupport":true},"dynamicRegistration":true},"hover":{"dynamicRegistration":true},"signatureHelp":{"dynamicRegistration":true},"references":{"dynamicRegistration":true},"documentHighlight":{"dynamicRegistration":true},"documentSymbol":{"dynamicRegistration":true},"formatting":{"dynamicRegistration":true},"rangeFormatting":{"dynamicRegistration":true},"onTypeFormatting":{"dynamicRegistration":true},"definition":{"dynamicRegistration":true},"codeAction":{"dynamicRegistration":true},"codeLens":{"dynamicRegistration":true},"documentLink":{"dynamicRegistration":true},"rename":{"dynamicRegistration":true}}},"trace":"off"}}

but the server never sends any response;

2 the ws endpoint /services on the server is open -- I am able to connect to it using some Chrome plugin; but when I try to send a JSON RPC initialize request to it, I get no response (again);

3 each time I try to connect to the server, I see the server prints this error message: root ERROR The ws channel does not exist 0.

Any idea how I can achieve this goal? Have spent hours on it to no avail.

Thanks!

Enable Docker Hub Automated Builds

Would it also be possible to enable automated builds so that whenever an update is pushed to any of the theia Dockerfiles all of the containers are also updated automatically?

Currently some of your containers (like full) lag behind the others, and it is not clear when updates are manually pushed.

Thanks.

Cannot visit Theia server started in Docker

I launched a container using the latest version of the offical Theia Docker on a server, but cannot visit it. I have no problem to visit it if I launch a container locally (on my Mac). Does the Theia Docker miss some configuration to make it usable by all ips?

[theia-full] go LS issues

Note: none of this happens with the theia-go image, which works fine, as far as I can tell.

When using an image locally build from theia-full, it seems that the go LS is partially non-functional. It's immediately seen that it's unable to find function references:

image

Also, maybe related, normally it's possible to right-click on a function and get a context menu with e.g. navigation options. When I try to right-click on a function name, I get the following exception logged in the F-E, and no context menu appears:

editor.main.js:31 Uncaught Error: Command 'go.add.tags' already registered.

Error: Command 'go.add.tags' already registered.
    at CommandRegistry.addCommand (index.js:121)
    at BrowserMainMenuFactory.addPhosphorCommand (browser-menu-plugin.ts:69)
    at BrowserMainMenuFactory.addPhosphorCommands (browser-menu-plugin.ts:57)
    at BrowserMainMenuFactory.addPhosphorCommands (browser-menu-plugin.ts:59)
    at BrowserMainMenuFactory.createPhosporCommands (browser-menu-plugin.ts:50)
    at BrowserMainMenuFactory.createContextMenu (browser-menu-plugin.ts:42)
    at BrowserContextMenuRenderer.render (browser-context-menu-renderer.ts:20)
    at MonacoContextMenuService.showContextMenu (monaco-context-menu.ts:27)
    at e._doShowContextMenu (editor.main.js:31)
    at e.showContextMenu (editor.main.js:31)
    at CommandRegistry.addCommand (index.js:121)
    at BrowserMainMenuFactory.addPhosphorCommand (browser-menu-plugin.ts:69)
    at BrowserMainMenuFactory.addPhosphorCommands (browser-menu-plugin.ts:57)
    at BrowserMainMenuFactory.addPhosphorCommands (browser-menu-plugin.ts:59)
    at BrowserMainMenuFactory.createPhosporCommands (browser-menu-plugin.ts:50)
    at BrowserMainMenuFactory.createContextMenu (browser-menu-plugin.ts:42)
    at BrowserContextMenuRenderer.render (browser-context-menu-renderer.ts:20)
    at MonacoContextMenuService.showContextMenu (monaco-context-menu.ts:27)
    at e._doShowContextMenu (editor.main.js:31)
    at e.showContextMenu (editor.main.js:31)
    at editor.main.js:31

Also, some .go file I seem unable to open, from the navigator. When I double-click on them, they are not open, and the following exception is generated in the FE:

Uncaught (in promise) A resource provider for 'file:///home/theia/go/src/bufio/bufio.go' is not registered.
rejected @ opener-service.ts:6
Promise rejected (async)
step @ opener-service.ts:6
fulfilled @ opener-service.ts:6
Promise resolved (async)
step @ opener-service.ts:6
(anonymous) @ opener-service.ts:6
__awaiter @ opener-service.ts:6
open @ opener-service.ts:71
FileNavigatorModel.doOpenNode @ navigator-model.ts:32
TreeModel.openNode @ tree-model.ts:238
TreeWidget.handleDblClickEvent @ tree-widget.ts:280
ondblclick @ tree-widget.ts:131

There is nothing of interest in the B-E stdout, that seems related to these issues.

[theia-go-docker] using "next" versions results in a non-starting application

IIUC, using "latest" version in package.json means that we will pick-up the latest published version of each module. In theory we can instead use "next" which means (I think) the latest version of a given component, even if not released yet, as part of a Theia version.

So for theia-docker-go, I tried to replace "latest" by "next" in package.json, and build the application (I by-pass docker and build natively - I assume the result would be the same with Docker).
$> cp latest.package.json package.json
$> # replace all "latest" by "next" in package.json
$> yarn
$> npx theia build
$> node src-gen/backend/main.js

The application builds correctly but there's an issue reported in the frontend, preventing it from starting:

image

Should this work? I guess by using "next" we might end-up with a mis-match of Theia extensions that are not tested well together?

If instead I keep the content of the original "latest.package.json", then the application starts correctly.

Auto build the docker latest image

Whenever a new release is published to theia-ide/theia repo, i.e. a tag is created:

  • an image typefox/theia:${tagVersion}, e.g. typefox/theia:v0.3.0, should be build and pushed to Docker Hub
  • the latest tag should be aliased to the last published version and pushed to Docker Hub

Probably it can be triggered via npmjs webhooks.

[travis] docker images are cached too eagerly

Currently, the travis file calls

docker build ... --cache-from "$IMAGE_TAG"

The image tag contains the most recent version number of @theia/core.
This strategy can yield stale builds when we don't update all versions of all Theia NPM packages simultaneously. Note we currently have @theia/core at version 0.3.0 while e.g. @theia/languages is at 0.3.1.

In particular, this does not allow to produce app image builds where the version of the specific extensions change more frequently than Theia. As the Dockerfile has no changes, yarn won't be run.
This actually happens for theia-go.

[yangster-docker] build issue using "next" version

I think this was working last week. Now there is this build error:

ERROR in ./~/theia-yang-extension/lib/frontend/monaco/yang-monaco-editor-provider.js
Module not found: Error: Can't resolve '@theia/monaco/lib/browser/monaco-diff-nagivator-factory' in '/home/theia/node_modules/theia-yang-extension/lib/frontend/monaco'
 @ ./~/theia-yang-extension/lib/frontend/monaco/yang-monaco-editor-provider.js 50:38-104
 @ ./~/theia-yang-extension/lib/frontend/language/frontend-extension.js
 @ ./src-gen/frontend/index.js

Error: webpack failed with the exit code 2
    at ChildProcess.<anonymous> (/home/theia/node_modules/@theia/application-manager/lib/application-process.js:59:28)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at maybeClose (internal/child_process.js:925:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
error Command failed with exit code 1.

It seems that a typo in this filename @theia/monaco/src/browser/monaco-diff-nagivator-factory.ts has been fixed in the main Theia repo, and we would need to use the new name:

"nagivator" => "navigator"

Theia Full Docker Refactor

Currently, when attempted to be built - it errors out: Mainly because it was built differently unlike other Node containers of Theia that uses Node.js Alpine/Debian from Docker Library.

I'll be doing this once PR #35 is done.

TODO

  • Refactor to use Debian Node.js image
  • Image works on :
    • PWD
      - k8s

TypeScript LS not starting

Probably happens in all images that include @theia/typescript. Looks like the TS compiler is not found (tsserver).

Generic message shown in Theia client: "Failed to start language server 'TypeScript'"

in client console:

messages.js:46 Uncaught (in promise) Error: Request initialize failed with message: Couldn't find 'tsserver' executable
    at new ResponseError (messages.js:46)
    at handleResponse (main.js:430)
    at processMessageQueue (main.js:258)
    at main.js:242
    at run (setImmediate.js:40)
    at runIfPresent (setImmediate.js:69)
    at onGlobalMessage (setImmediate.js:109)

[theia-go-docker] image doesn't start

With a new image built from scratch (with --no-cache), the following error can be seen in the front-end. Maybe related to the new Theia version published yesterday? :

index.js:47 Failed to start the frontend application.
module.exports.Promise.resolve.then.then.then.then.then.then.then.then.then.then.then.then.then.then.then.then.then.then.then.then.then.catch.reason @ index.js:47
14:49:28.634 index.js:49 Error: @inject called with undefined this could mean that the class GoCommandContribution has a circular dependency problem. You can use a LazyServiceIdentifer to  overcome this limitation.
    at inject.js:20
    at go-command-contribution.ts:6
    at DecorateConstructor (Reflect.ts:1202)
    at Object.decorate (Reflect.ts:742)
    at __decorate (go-command-contribution.ts:6)
    at go-command-contribution.ts:23
    at Object.__decorate (go-command-contribution.ts:53)
    at __webpack_require__ (bootstrap f95e21a8b358d1d5e83b:659)
    at fn (bootstrap f95e21a8b358d1d5e83b:85)
    at Object.__values (go-frontend-module.ts:11)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.