Skip to content
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

Notifications on Tasks started/ended are missing context #13394

Closed
slemeur opened this issue May 22, 2019 · 10 comments
Closed

Notifications on Tasks started/ended are missing context #13394

slemeur opened this issue May 22, 2019 · 10 comments
Assignees
Labels
kind/enhancement A feature request - must adhere to the feature request template.

Comments

@slemeur
Copy link
Contributor

slemeur commented May 22, 2019

Description

When starting a task we are displaying some notification in the IDE. Those notifications are missing context so that the user can know what tasks have been started or stopped.

Capture d’écran 2019-05-22 à 12 13 31

Start Notification

Ended Notification

  • The message "Task Update DTD for GWT-module descriptors #1 is ended" does not help the user, because he has no idea about what task it was. we should improve the message "Task name has ended".
  • Not sure about the exit code, I don't think it's meaning anything
  • If we add the "open output" button to the start notification, I would add it to the ended notification too.
@slemeur slemeur added kind/enhancement A feature request - must adhere to the feature request template. team/ide labels May 22, 2019
@vzhukovs vzhukovs self-assigned this May 24, 2019
@vzhukovs
Copy link
Contributor

Working on this issue now, here it is updated variant:
Снимок экрана 2019-05-24 в 16 47 30
Снимок экрана 2019-05-24 в 16 46 54

What about exit code, I wouldn't remove it from the notification, because it is an indicator of either successful or not workflow of process.

@slemeur
Copy link
Contributor Author

slemeur commented May 27, 2019

Thanks @vzhukovskii :

  • Should we add a button to jump into the outputs of the task?

Also, you command is "shell: long running test task" but displayed "Task long running test task", why "shell" disappeared?

Exit code yes - but what is the meaning? where can I find a description about it? Should it not be information that is secondary that a user could find somewhere else?

@vzhukovs
Copy link
Contributor

Also, you command is "shell: long running test task" but displayed "Task long running test task", why "shell" disappeared?

shell in terms of task configuration as I see means, that this is particular type of command, that executes as bash command.

Exit code yes - but what is the meaning? where can I find a description about it?

it depends on the shell command, some command can return 0 as successful execution, 1 or above if there is some error during execution, exit codes user can see in man pages for the particular command, for example:

curl man page

curl exit codes

1
Unsupported protocol. This build of curl has no support for this protocol.
2
Failed to initialize.
3
URL malformed. The syntax was not correct.
5
Couldn't resolve proxy. The given proxy host could not be resolved.
6
Couldn't resolve host. The given remote host was not resolved.
7
Failed to connect to host.
8
FTP weird server reply. The server sent data curl couldn't parse.
9
FTP access denied. The server denied login or denied access to the particular resource or directory you wanted to reach. Most often you tried to change to a directory that doesn't exist on the server.
11
FTP weird PASS reply. Curl couldn't parse the reply sent to the PASS request.
13
FTP weird PASV reply, Curl couldn't parse the reply sent to the PASV request.
14
FTP weird 227 format. Curl couldn't parse the 227-line the server sent.
15
FTP can't get host. Couldn't resolve the host IP we got in the 227-line.
17
FTP couldn't set binary. Couldn't change transfer method to binary.
18
Partial file. Only a part of the file was transferred.
19
FTP couldn't download/access the given file, the RETR (or similar) command failed.
21
FTP quote error. A quote command returned error from the server.
22
HTTP page not retrieved. The requested url was not found or returned another error with the HTTP error code being 400 or above. This return code only appears if -f/--fail is used.
23
Write error. Curl couldn't write data to a local filesystem or similar.
25
FTP couldn't STOR file. The server denied the STOR operation, used for FTP uploading.
26
Read error. Various reading problems.
27
Out of memory. A memory allocation request failed.
28
Operation timeout. The specified time-out period was reached according to the conditions.
30
FTP PORT failed. The PORT command failed. Not all FTP servers support the PORT command, try doing a transfer using PASV instead!
31
FTP couldn't use REST. The REST command failed. This command is used for resumed FTP transfers.
33
HTTP range error. The range "command" didn't work.
34
HTTP post error. Internal post-request generation error.
35
SSL connect error. The SSL handshaking failed.
36
FTP bad download resume. Couldn't continue an earlier aborted download.
37
FILE couldn't read file. Failed to open the file. Permissions?
38
LDAP cannot bind. LDAP bind operation failed.
39
LDAP search failed.
41
Function not found. A required LDAP function was not found.
42
Aborted by callback. An application told curl to abort the operation.
43
Internal error. A function was called with a bad parameter.
45
Interface error. A specified outgoing interface could not be used.
47
Too many redirects. When following redirects, curl hit the maximum amount.
48
Unknown TELNET option specified.
49
Malformed telnet option.
51
The peer's SSL certificate or SSH MD5 fingerprint was not ok.
52
The server didn't reply anything, which here is considered an error.
53
SSL crypto engine not found.
54
Cannot set SSL crypto engine as default.
55
Failed sending network data.
56
Failure in receiving network data.
58
Problem with the local certificate.
59
Couldn't use specified SSL cipher.
60
Peer certificate cannot be authenticated with known CA certificates.
61
Unrecognized transfer encoding.
62
Invalid LDAP URL.
63
Maximum file size exceeded.
64
Requested FTP SSL level failed.
65
Sending the data requires a rewind that failed.
66
Failed to initialise SSL Engine.
67
The user name, password, or similar was not accepted and curl failed to log in.
68
File not found on TFTP server.
69
Permission problem on TFTP server.
70
Out of disk space on TFTP server.
71
Illegal TFTP operation.
72
Unknown TFTP transfer ID.
73
File already exists (TFTP).
74
No such user (TFTP).
75
Character conversion failed.
76
Character conversion functions required.
77
Problem with reading the SSL CA cert (path? access rights?).
78
The resource referenced in the URL does not exist.
79
An unspecified error occurred during the SSH session.
80
Failed to shut down the SSL connection.
82
Could not load CRL file, missing or wrong format (added in 7.19.0).
83
Issuer check failed (added in 7.19.0).
XX
More error codes will appear here in future releases. The existing ones are meant to never change.

unzip man page

Details

0
normal; no errors or warnings detected.

1

one or more warning errors were encountered, but processing completed successfully anyway. This includes zipfiles where one or more files was skipped due to unsupported compression method or encryption with an unknown password.

2

a generic error in the zipfile format was detected. Processing may have completed successfully anyway; some broken zipfiles created by other archivers have simple work-arounds.

3

a severe error in the zipfile format was detected. Processing probably failed immediately.

4

unzip was unable to allocate memory for one or more buffers during program initialization.

5

unzip was unable to allocate memory or unable to obtain a tty to read the decryption password(s).

6

unzip was unable to allocate memory during decompression to disk.

7

unzip was unable to allocate memory during in-memory decompression.

8

[currently not used]

9

the specified zipfiles were not found.

10

invalid options were specified on the command line.

11

no matching files were found.

50

the disk is (or was) full during extraction.

51

the end of the ZIP archive was encountered prematurely.

80

the user aborted unzip prematurely with control-C (or similar)

81

testing or extraction of one or more files failed due to unsupported compression methods or unsupported decryption.

82

no files were found due to bad decryption password(s). (If even one file is successfully processed, however, the exit status is 1.)

and so on.

Matching it (exit code) to the human readable message sometimes can be impossible, because there has to be a mechanism to identify the last one from the man page or from the command output (but otherwise, the command output can be suppressed).

Should we add a button to jump into the outputs of the task?

I wanted to discuss this functionality, because as I remember, the command output that has been executed and finished in che context, can be retrieved from the server side, but I'm not sure that this is possible in theia (because these changes has to be made in theia upstream). As I know, in theia it is possible to retrieve command output while they're executing, but I'm not sure, that we can retrieve output, when task has been finished. Looking for that at this moment.

Meantime, I think it would be better to quote the task name, because name can be long and quoted name is easy to read than non quoted. And, should we include shell type in command name in message popup? Wdyt?

@l0rd l0rd mentioned this issue May 28, 2019
@vzhukovs
Copy link
Contributor

@slemeur

@slemeur
Copy link
Contributor Author

slemeur commented May 28, 2019

Also, you command is "shell: long running test task" but displayed "Task long running test task", why "shell" disappeared?

shell in terms of task configuration as I see means, that this is particular type of command, that executes as bash command.

My point is that why it is displayed in one case and not displayed in the other case. That is not consistent.

Exit code displaying

My question is more, what is the value of displaying the exit code? Don't you need to get into the output anyway if you want to interpret it?

@vzhukovs
Copy link
Contributor

vzhukovs commented May 28, 2019

My point is that why it is displayed in one case and not displayed in the other case. That is not consistent.

I've updated formatting the message:
Снимок экрана 2019-05-28 в 17 01 58

My question is more, what is the value of displaying the exit code? Don't you need to get into the output anyway if you want to interpret it?

Sometimes output might be suppressed and there is no any log to determine what exception has been occurred. And by particular exit code developer can find what exactly happened.

@slemeur
Copy link
Contributor Author

slemeur commented May 28, 2019 via email

@RomanNikitenko
Copy link
Member

@slemeur
Theia team prefer to align behavior with VS Code instead of informing with notifications: eclipse-theia/theia#5296 (comment)
I like the idea about reusing terminal widget if task is completed, but I don't know if we can easy do it for che tasks. Maybe @AndrienkoAleksandr can provide more info about it.

@AndrienkoAleksandr
Copy link
Contributor

I like the idea about reusing terminal widget if task is completed, but I don't know if we can easy do it for che tasks.

I like too this idea. And yes, for us it's a harder to reuse this functionality even if theia guys will apply it to the task extension. Because for tasks we don't use extension any more, we use our own task theia plugin. And it's not a secret that theia plugin don't have full access to the extension api, we have limited access with help theia plugin api. Our task plugin use terminal theia plugin api. If this api doesn't provide reuse functionality it's hard for us to get this feature. It's possible but not such easy like with extensions. Also it's depends on how theia guys will implement reuse feature.

@slemeur
Copy link
Contributor Author

slemeur commented May 30, 2019

Can't we contribute and push that functionality as part of the the terminal theia plugin api?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement A feature request - must adhere to the feature request template.
Projects
None yet
Development

No branches or pull requests

4 participants