This is an automated email from the ASF dual-hosted git repository.
chengpan pushed a commit to branch branch-0.12
in repository https://gitbox.apache.org/repos/asf/zeppelin.git
The following commit(s) were added to refs/heads/branch-0.12 by this push:
new 58ddbd18cc [ZEPPELIN-6097] Suppress duplicated error popup and fix
broken CSS
58ddbd18cc is described below
commit 58ddbd18ccc7ab0d51e37ad671600c7dfbe5f19f
Author: YONGJAE LEE(이용재) <[email protected]>
AuthorDate: Wed Oct 16 13:04:43 2024 +0900
[ZEPPELIN-6097] Suppress duplicated error popup and fix broken CSS
### What is this PR for?
If I broke notebook's(*.zepl) JSON structure I can get error message like
below.

There are two kind of problems.
1. Same error message shows twice.
2. Word break CSS style is not applied yet so it looks quite weird.
So I fixed it correct way.
[How to solve]
1. Check
[/zeppelin-web-angular/src/app/pages/workspace/notebook/notebook.component.ts](https://github.com/apache/zeppelin/blob/bdf5b067b6bdde2614b98a6a3f6a7b5d6637e57c/zeppelin-web-angular/src/app/pages/workspace/notebook/notebook.component.ts)
file and found
[L392](https://github.com/apache/zeppelin/blob/bdf5b067b6bdde2614b98a6a3f6a7b5d6637e57c/zeppelin-web-angular/src/app/pages/workspace/notebook/notebook.component.ts#L392),
[L396](https://github.com/apache/zeppelin/blob/bdf5b067b6 [...]
2. So I just handle it with
[/zeppelin-web-angular/src/app/app-message.interceptor.ts](https://github.com/apache/zeppelin/blob/bdf5b067b6bdde2614b98a6a3f6a7b5d6637e57c/zeppelin-web-angular/src/app/app-message.interceptor.ts)
this file to this
https://github.com/apache/zeppelin/pull/4872/commits/67bec5c3415b9fa6d23f842a61d2ee0a5f139dac
3. I just added `word-wrap` and `word-break` options to
`nzNotificationService.warning` function's third parameter for correct style
issue
https://github.com/apache/zeppelin/pull/4872/commits/d0e73057c9ee76a9af8b4caf53e68bb240d00328
### What type of PR is it?
Bug Fix
### Todos
### What is the Jira issue?
* [[ZEPPELIN-6097](https://issues.apache.org/jira/browse/ZEPPELIN-6097)]
### How should this be tested?
<img width="1624" alt="스크린샷 2024-10-14 오후 10 26 25"
src="https://github.com/user-attachments/assets/56cf3ae1-9eb6-4720-b6cc-9ef6a5ec5840">
1. Broke .zepl extension file's JSON structure like above screenshot.
<img width="1378" alt="스크린샷 2024-10-14 오후 11 07 55"
src="https://github.com/user-attachments/assets/05a15473-a9dc-426c-ae1e-a437ee3b4036">
2. Check it on webpage with browser console.
<img width="1624" alt="스크린샷 2024-10-14 오후 11 11 15"
src="https://github.com/user-attachments/assets/b9ec4f52-5857-416b-91b1-8af48d38ef14">
3. If error message look so long you can change
`nzNotificationService.warning` function's second parameter.
<img width="1277" alt="스크린샷 2024-10-14 오후 11 13 11"
src="https://github.com/user-attachments/assets/6bdbdeca-aa14-4ac2-becb-b4fb11425b6c">
4. Check error message still appear twice.
### Screenshots (if appropriate)
### Questions:
* Does the license files need to update? N
* Is there breaking changes for older versions? N
* Does this needs documentation? N
Closes #4872 from dididy/master.
Signed-off-by: Cheng Pan <[email protected]>
(cherry picked from commit de406a7e713a5c6ad304c041f7d9b9d5f458af8a)
Signed-off-by: Cheng Pan <[email protected]>
---
zeppelin-web-angular/src/app/app-message.interceptor.ts | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/zeppelin-web-angular/src/app/app-message.interceptor.ts
b/zeppelin-web-angular/src/app/app-message.interceptor.ts
index 02fdf962c6..d2be729277 100644
--- a/zeppelin-web-angular/src/app/app-message.interceptor.ts
+++ b/zeppelin-web-angular/src/app/app-message.interceptor.ts
@@ -26,7 +26,8 @@ export class AppMessageInterceptor implements
MessageInterceptor {
private router: Router,
private nzNotificationService: NzNotificationService,
private ticketService: TicketService,
- private nzModalService: NzModalService
+ private nzModalService: NzModalService,
+ private prevErrorInfo: string
) {}
received<T extends keyof MessageReceiveDataTypeMap>(data:
WebSocketMessage<T>): WebSocketMessage<T> {
@@ -60,8 +61,18 @@ export class AppMessageInterceptor implements
MessageInterceptor {
} else if (data.op === OP.ERROR_INFO) {
// tslint:disable-next-line:no-any
const rData = (data.data as any) as
MessageReceiveDataTypeMap[OP.ERROR_INFO];
- if (rData.info) {
- this.nzNotificationService.warning('ERROR', rData.info);
+ const isDuplicateError = this.prevErrorInfo === rData.info;
+
+ if (!isDuplicateError && rData.info) {
+ this.nzNotificationService.warning('ERROR', rData.info, {
+ nzStyle: { wordWrap: 'break-word', wordBreak: 'break-all' }
+ });
+ this.prevErrorInfo = rData.info;
+ }
+ if (isDuplicateError) {
+ setTimeout(() => {
+ this.prevErrorInfo = null;
+ }, 500);
}
}
return data;