@smartbit4all/ng-client 4.5.11 → 4.5.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,4 +9,5 @@ export * from './smart-timer/smart-session-timer.component';
9
9
  export * from './smart-timer/smart-session-timer.service';
10
10
  export * from './smart-backend-bootstrap.service';
11
11
  export * from './smart-backend-bootstrap.config';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL3Byb2plY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygc21hcnQtc2Vzc2lvblxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vc21hcnQtc2Vzc2lvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vc21hcnQtc2Vzc2lvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zbWFydC1zZXNzaW9uLWhhbmRsZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NtYXJ0LXRpbWVyL3NtYXJ0LXNlc3Npb24tdGltZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc21hcnQtdGltZXIvc21hcnQtc2Vzc2lvbi10aW1lci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc21hcnQtYmFja2VuZC1ib290c3RyYXAuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NtYXJ0LWJhY2tlbmQtYm9vdHN0cmFwLmNvbmZpZyc7XG4iXX0=
12
+ export * from './smart-default-error-ui.service';
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL3Byb2plY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBzbWFydC1zZXNzaW9uXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9zbWFydC1zZXNzaW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGkvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9zbWFydC1zZXNzaW9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NtYXJ0LXNlc3Npb24taGFuZGxlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc21hcnQtdGltZXIvc21hcnQtc2Vzc2lvbi10aW1lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zbWFydC10aW1lci9zbWFydC1zZXNzaW9uLXRpbWVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zbWFydC1iYWNrZW5kLWJvb3RzdHJhcC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc21hcnQtYmFja2VuZC1ib290c3RyYXAuY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vc21hcnQtZGVmYXVsdC1lcnJvci11aS5zZXJ2aWNlJztcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtYmFja2VuZC1ib290c3RyYXAuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc2Vzc2lvbi9zbWFydC1iYWNrZW5kLWJvb3RzdHJhcC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVpQWN0aW9uRGVzY3JpcHRvciB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9hcGknO1xuaW1wb3J0IHsgU21hcnRWaWV3SGFuZGxlck1vZGVsIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC5tb2RlbCc7XG5pbXBvcnQgeyBTZXNzaW9uRXJyb3IgfSBmcm9tICcuL3NtYXJ0LXNlc3Npb24taGFuZGxlci5zZXJ2aWNlJztcblxuLyoqXG4gKiBFeHRlcm5hbGx5IHByb3ZpZGVkIHNlc3Npb24gKyB2aWV3Q29udGV4dCB0byBoeWRyYXRlIHRoZSBib290c3RyYXAgd2l0aCxcbiAqIGJ5cGFzc2luZyB0aGUgcmVndWxhciBgc3RhcnQoKWAgZmxvdy4gVHlwaWNhbCB1c2UgY2FzZTogYSBuYXRpdmUgbW9iaWxlXG4gKiBzaGVsbCB0aGF0IHBlcmZvcm1lZCBhdXRoZW50aWNhdGlvbiBpdHNlbGYgYW5kIGhhbmRzIG9mZiB0aGUgcmVzdWx0IHRvIGFcbiAqIHdlYnZpZXctaG9zdGVkIEFuZ3VsYXIgYXBwIHZpYSBVUkwgZnJhZ21lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRCYWNrZW5kQm9vdHN0cmFwQ3JlZGVudGlhbHMge1xuICAvKiogU0lEIGlzc3VlZCBieSB0aGUgYmFja2VuZDsgd2lsbCBiZSBzZW50IGFzIGBBdXRob3JpemF0aW9uOiBCZWFyZXIgPHNlc3Npb25Ub2tlbj5gLiAqL1xuICBzZXNzaW9uVG9rZW46IHN0cmluZztcbiAgLyoqIFVVSUQgb2YgYW4gYWxyZWFkeS1leGlzdGluZyB2aWV3Q29udGV4dCBvbiB0aGUgYmFja2VuZC4gKi9cbiAgdmlld0NvbnRleHRVdWlkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBsb25nLWxpdmVkIHJlZnJlc2ggdG9rZW4gcGFpcmVkIHdpdGggdGhlIFNJRC4gSWYgcHJvdmlkZWQsIGl0IGlzXG4gICAqIHBlcnNpc3RlZCB0byBsb2NhbFN0b3JhZ2Ugc28gdGhlIGF1dG9ub21vdXMgYFNtYXJ0RXJyb3JDYXRjaGluZ0ludGVyY2VwdG9yYFxuICAgKiBSRUZSRVNIIGZsb3cgY2FuIHJlY292ZXIgZnJvbSBgc2Vzc2lvbi5leHBpcmVkYCBlcnJvcnMgd2l0aG91dCBkcm9wcGluZ1xuICAgKiB0aGUgdXNlciBiYWNrIHRvIGEgZnJlc2ggYW5vbnltb3VzIHNlc3Npb24uXG4gICAqL1xuICByZWZyZXNoVG9rZW4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRCYWNrZW5kQm9vdHN0cmFwQ29uZmlnIHtcbiAgdXJsOiBzdHJpbmc7XG4gIGNvb2tpZU5hbWU6IHN0cmluZztcbiAgbWVzc2FnZURpYWxvZ05hbWU6IHN0cmluZztcbiAgdmlld0hhbmRsZXJzOiBTbWFydFZpZXdIYW5kbGVyTW9kZWxbXTtcbiAgYWN0aW9uRGVzY3JpcHRvcnM6IE1hcDxzdHJpbmcsIFVpQWN0aW9uRGVzY3JpcHRvcj47XG5cbiAgLyoqIE9wdGlvbmFsIG92ZXJyaWRlIGZvciB0aGUgZGVmYXVsdCBgaGFuZGxlU2Vzc2lvbkVycm9yYCBmbG93LiAqL1xuICBvblNlc3Npb25FcnJvcj86IChlcnI6IFNlc3Npb25FcnJvcikgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG5cbiAgLyoqIE9wdGlvbmFsIG92ZXJyaWRlIGZvciB0aGUgZGVmYXVsdCBgb3BlblNtYXJ0TGlua2AgaGFuZGxlci4gKi9cbiAgb25TbWFydExpbms/OiAoY2hhbm5lbDogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+IHwgdm9pZDtcblxuICAvKiogSG9vayBmb3IgaG9zdCBVWCB3aGVuIGBzdGFydCgpYCByZWplY3RzIChzbmFja2JhciArIHJldHJ5KS4gKi9cbiAgb25TdGFydEVycm9yPzogKGVycjogdW5rbm93bikgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEhvb2sgY2FsbGVkIHdoZW4gdGhlIGJhY2tlbmQgcmVwb3J0cyB0aGUgY3VycmVudCB2aWV3Q29udGV4dCBpcyBnb25lXG4gICAqIChsb2dvdXQsIHNlc3Npb24gZXhwaXJ5LCBiYWNrZW5kIHJlc3RhcnQpIOKAlCBpLmUuIHdoZW4gdGhlXG4gICAqIGBTbWFydEVycm9yQ2F0Y2hpbmdJbnRlcmNlcHRvcmAgd291bGQgaGlzdG9yaWNhbGx5IGF1dG8tdHJpZ2dlclxuICAgKiBgUkVTVEFSVF9WSUVXQ09OVEVYVGAuXG4gICAqXG4gICAqIERlZmF1bHQ6IHJlYnVpbGRzIGEgZnJlc2ggYW5vbnltb3VzIHZpZXdDb250ZXh0IHZpYVxuICAgKiBgdmlld0NvbnRleHQuaW5pdE5ld1ZpZXdDb250ZXh0KClgICh0aGUgaGlzdG9yaWNhbCB3ZWIgZmxvdykuXG4gICAqXG4gICAqIE1vYmlsZS9lbWJlZGRlZCBob3N0cyBvdmVycmlkZSB0aGlzIHRvIGZ1bGx5IGRlbGVnYXRlIHRvIHRoZSBzaGVsbCDigJRcbiAgICogdHlwaWNhbGx5IGJ5IGNhbGxpbmcgYSBKUyBicmlkZ2UgdGhhdCBzaWduYWxzIHRoZSBuYXRpdmUgc2lkZSB0b1xuICAgKiB0ZWFyIGRvd24gdGhlIHdlYnZpZXcgYW5kIHJldHVybiB0byB0aGUgbmF0aXZlIGxvZ2luIHBhZ2UuXG4gICAqL1xuICBvblZpZXdDb250ZXh0TG9zdD86IChlcnI6IFNlc3Npb25FcnJvcikgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtYmFja2VuZC1ib290c3RyYXAuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc2Vzc2lvbi9zbWFydC1iYWNrZW5kLWJvb3RzdHJhcC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgVWlBY3Rpb25EZXNjcmlwdG9yIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L2FwaSc7XG5pbXBvcnQgeyBTbWFydFZpZXdIYW5kbGVyTW9kZWwgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvc21hcnQtdmlldy1jb250ZXh0Lm1vZGVsJztcbmltcG9ydCB7IFNlc3Npb25FcnJvciB9IGZyb20gJy4vc21hcnQtc2Vzc2lvbi1oYW5kbGVyLnNlcnZpY2UnO1xuXG4vKipcbiAqIEV4dGVybmFsbHkgcHJvdmlkZWQgc2Vzc2lvbiArIHZpZXdDb250ZXh0IHRvIGh5ZHJhdGUgdGhlIGJvb3RzdHJhcCB3aXRoLFxuICogYnlwYXNzaW5nIHRoZSByZWd1bGFyIGBzdGFydCgpYCBmbG93LiBUeXBpY2FsIHVzZSBjYXNlOiBhIG5hdGl2ZSBtb2JpbGVcbiAqIHNoZWxsIHRoYXQgcGVyZm9ybWVkIGF1dGhlbnRpY2F0aW9uIGl0c2VsZiBhbmQgaGFuZHMgb2ZmIHRoZSByZXN1bHQgdG8gYVxuICogd2Vidmlldy1ob3N0ZWQgQW5ndWxhciBhcHAgdmlhIFVSTCBmcmFnbWVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTbWFydEJhY2tlbmRCb290c3RyYXBDcmVkZW50aWFscyB7XG4gIC8qKiBTSUQgaXNzdWVkIGJ5IHRoZSBiYWNrZW5kOyB3aWxsIGJlIHNlbnQgYXMgYEF1dGhvcml6YXRpb246IEJlYXJlciA8c2Vzc2lvblRva2VuPmAuICovXG4gIHNlc3Npb25Ub2tlbjogc3RyaW5nO1xuICAvKiogVVVJRCBvZiBhbiBhbHJlYWR5LWV4aXN0aW5nIHZpZXdDb250ZXh0IG9uIHRoZSBiYWNrZW5kLiAqL1xuICB2aWV3Q29udGV4dFV1aWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGxvbmctbGl2ZWQgcmVmcmVzaCB0b2tlbiBwYWlyZWQgd2l0aCB0aGUgU0lELiBJZiBwcm92aWRlZCwgaXQgaXNcbiAgICogcGVyc2lzdGVkIHRvIGxvY2FsU3RvcmFnZSBzbyB0aGUgYXV0b25vbW91cyBgU21hcnRFcnJvckNhdGNoaW5nSW50ZXJjZXB0b3JgXG4gICAqIFJFRlJFU0ggZmxvdyBjYW4gcmVjb3ZlciBmcm9tIGBzZXNzaW9uLmV4cGlyZWRgIGVycm9ycyB3aXRob3V0IGRyb3BwaW5nXG4gICAqIHRoZSB1c2VyIGJhY2sgdG8gYSBmcmVzaCBhbm9ueW1vdXMgc2Vzc2lvbi5cbiAgICovXG4gIHJlZnJlc2hUb2tlbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTbWFydEJhY2tlbmRCb290c3RyYXBDb25maWcge1xuICB1cmw6IHN0cmluZztcbiAgY29va2llTmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogVmlldyBuYW1lIHRoZSBiYWNrZW5kIHVzZXMgZm9yIGdlbmVyaWMgbWVzc2FnZSBkaWFsb2dzLiBEZWZhdWx0cyB0b1xuICAgKiBgJ21lc3NhZ2UtZGlhbG9nJ2AgKHRoZSBwbGF0Zm9ybSBjb252ZW50aW9uKSB3aGVuIG9taXR0ZWQuXG4gICAqL1xuICBtZXNzYWdlRGlhbG9nTmFtZT86IHN0cmluZztcbiAgdmlld0hhbmRsZXJzOiBTbWFydFZpZXdIYW5kbGVyTW9kZWxbXTtcbiAgYWN0aW9uRGVzY3JpcHRvcnM6IE1hcDxzdHJpbmcsIFVpQWN0aW9uRGVzY3JpcHRvcj47XG5cbiAgLyoqIE9wdGlvbmFsIG92ZXJyaWRlIGZvciB0aGUgZGVmYXVsdCBgaGFuZGxlU2Vzc2lvbkVycm9yYCBmbG93LiAqL1xuICBvblNlc3Npb25FcnJvcj86IChlcnI6IFNlc3Npb25FcnJvcikgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG5cbiAgLyoqIE9wdGlvbmFsIG92ZXJyaWRlIGZvciB0aGUgZGVmYXVsdCBgb3BlblNtYXJ0TGlua2AgaGFuZGxlci4gKi9cbiAgb25TbWFydExpbms/OiAoY2hhbm5lbDogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+IHwgdm9pZDtcblxuICAvKiogSG9vayBmb3IgaG9zdCBVWCB3aGVuIGBzdGFydCgpYCByZWplY3RzIChzbmFja2JhciArIHJldHJ5KS4gKi9cbiAgb25TdGFydEVycm9yPzogKGVycjogdW5rbm93bikgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEhvb2sgY2FsbGVkIHdoZW4gYSBCRkYgY2FsbCBmYWlscyBhdCB0aGUgdHJhbnNwb3J0IGxldmVsIOKAlCBzZXJ2ZXJcbiAgICogdW5yZWFjaGFibGUgKHN0YXR1cyAwKSwgZ2F0ZXdheS9zZXJ2aWNlLXVuYXZhaWxhYmxlICg1MDIvNTAzLzUwNCksIG9yXG4gICAqIGdlbmVyaWMgc2VydmVyLWVycm9yICg1MDApLiBEZWZhdWx0OiBhIGNvbnNvbGUud2FybiBsaW5lOyB0aGUgcmVxdWVzdFxuICAgKiBzdGlsbCByZWplY3RzIHdpdGggdGhlIG9yaWdpbmFsIGVycm9yLCBhbGxvd2luZyBwZXItY2FsbCBoYW5kbGluZy5cbiAgICpcbiAgICogRmlyZS1hbmQtZm9yZ2V0OiBldmVyeSBmYWlsZWQgcmVxdWVzdCBpbnZva2VzIHRoZSBob29rIChubyBkZWR1cCk7IHRoZVxuICAgKiBob3N0IGlzIHJlc3BvbnNpYmxlIGZvciBvd24gVUkgZGVkdXBsaWNhdGlvbiBpZiBuZWVkZWQgKGUuZy4gc25hY2tiYXJcbiAgICogd2l0aCBhIFwidGhpcyBtZXNzYWdlIGlzIGFscmVhZHkgc2hvd2luZ1wiIGd1YXJkKS5cbiAgICovXG4gIG9uVHJhbnNwb3J0RXJyb3I/OiAoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEhvb2sgY2FsbGVkIHdoZW4gdGhlIGJhY2tlbmQgcmVwb3J0cyB0aGUgY3VycmVudCB2aWV3Q29udGV4dCBpcyBnb25lXG4gICAqIChsb2dvdXQsIHNlc3Npb24gZXhwaXJ5LCBiYWNrZW5kIHJlc3RhcnQpIOKAlCBpLmUuIHdoZW4gdGhlXG4gICAqIGBTbWFydEVycm9yQ2F0Y2hpbmdJbnRlcmNlcHRvcmAgd291bGQgaGlzdG9yaWNhbGx5IGF1dG8tdHJpZ2dlclxuICAgKiBgUkVTVEFSVF9WSUVXQ09OVEVYVGAuXG4gICAqXG4gICAqIERlZmF1bHQ6IHJlYnVpbGRzIGEgZnJlc2ggYW5vbnltb3VzIHZpZXdDb250ZXh0IHZpYVxuICAgKiBgdmlld0NvbnRleHQuaW5pdE5ld1ZpZXdDb250ZXh0KClgICh0aGUgaGlzdG9yaWNhbCB3ZWIgZmxvdykuXG4gICAqXG4gICAqIE1vYmlsZS9lbWJlZGRlZCBob3N0cyBvdmVycmlkZSB0aGlzIHRvIGZ1bGx5IGRlbGVnYXRlIHRvIHRoZSBzaGVsbCDigJRcbiAgICogdHlwaWNhbGx5IGJ5IGNhbGxpbmcgYSBKUyBicmlkZ2UgdGhhdCBzaWduYWxzIHRoZSBuYXRpdmUgc2lkZSB0b1xuICAgKiB0ZWFyIGRvd24gdGhlIHdlYnZpZXcgYW5kIHJldHVybiB0byB0aGUgbmF0aXZlIGxvZ2luIHBhZ2UuXG4gICAqL1xuICBvblZpZXdDb250ZXh0TG9zdD86IChlcnI6IFNlc3Npb25FcnJvcikgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG59XG4iXX0=
@@ -18,7 +18,7 @@ export class SmartBackendBootstrapService {
18
18
  this.session.setCookieName(config.cookieName);
19
19
  this.session.setSessionHandlerService(this);
20
20
  this.viewContext.setViewHandlers(config.viewHandlers);
21
- this.viewContext.setMessageDialogName(config.messageDialogName);
21
+ this.viewContext.setMessageDialogName(config.messageDialogName ?? 'message-dialog');
22
22
  this.viewContext.setActionDescriptors(config.actionDescriptors);
23
23
  this.viewContext.openSmartLink.subscribe((channel) => {
24
24
  this.handleSmartLink(channel);
@@ -101,6 +101,21 @@ export class SmartBackendBootstrapService {
101
101
  }
102
102
  await this.viewContext.initNewViewContext();
103
103
  }
104
+ /**
105
+ * Called by `SmartErrorCatchingInterceptor` for transport-level failures
106
+ * (status 0, 5xx). Fire-and-forget; the request still rejects with the
107
+ * original error so callers can do per-call handling.
108
+ */
109
+ async handleTransportError(err) {
110
+ if (!this.config) {
111
+ return Promise.reject(new Error('SmartBackendBootstrapService.configure() must be called before handleTransportError().'));
112
+ }
113
+ if (this.config.onTransportError) {
114
+ await this.config.onTransportError(err);
115
+ return;
116
+ }
117
+ console.warn('Transport error — server unreachable or 5xx', err);
118
+ }
104
119
  async runInit() {
105
120
  try {
106
121
  await this.session.initialize();
@@ -148,4 +163,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
148
163
  type: Injectable,
149
164
  args: [{ providedIn: 'root' }]
150
165
  }], ctorParameters: () => [{ type: i1.SmartSessionService }, { type: i2.SmartViewContextService }] });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtYmFja2VuZC1ib290c3RyYXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3Nlc3Npb24vc21hcnQtYmFja2VuZC1ib290c3RyYXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBWTNDLE1BQU0sT0FBTyw0QkFBNEI7SUFPdkMsWUFDVSxPQUE0QixFQUM1QixXQUFvQztRQURwQyxZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFOdEMsbUJBQWMsR0FBRyxLQUFLLENBQUM7SUFPNUIsQ0FBQztJQUVKLFNBQVMsQ0FBQyxNQUFtQztRQUMzQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLHVGQUF1RixDQUFDLENBQUM7WUFDdEcsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUVyQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsaUJBQWlC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VSw0QkFBNEI7bUhBQTVCLDRCQUE0QixjQURmLE1BQU07OzRGQUNuQiw0QkFBNEI7a0JBRHhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU21hcnRTZXNzaW9uU2VydmljZSB9IGZyb20gJy4vc21hcnQtc2Vzc2lvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IFNlc3Npb25FcnJvciwgU21hcnRTZXNzaW9uSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LXNlc3Npb24taGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIFNtYXJ0QmFja2VuZEJvb3RzdHJhcENvbmZpZyxcbiAgU21hcnRCYWNrZW5kQm9vdHN0cmFwQ3JlZGVudGlhbHMsXG59IGZyb20gJy4vc21hcnQtYmFja2VuZC1ib290c3RyYXAuY29uZmlnJztcblxudHlwZSBCb290c3RyYXBNb2RlID0gJ3N0YXJ0JyB8ICdib290c3RyYXBXaXRoJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlIGltcGxlbWVudHMgU21hcnRTZXNzaW9uSGFuZGxlclNlcnZpY2Uge1xuICBwcml2YXRlIGNvbmZpZz86IFNtYXJ0QmFja2VuZEJvb3RzdHJhcENvbmZpZztcbiAgcHJpdmF0ZSBydW5uaW5nSW5pdD86IFByb21pc2U8dm9pZD47XG4gIHByaXZhdGUgbGFzdEluaXRGYWlsZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBtb2RlPzogQm9vdHN0cmFwTW9kZTtcbiAgcHJpdmF0ZSBydW5uaW5nVmlld0NvbnRleHRMb3N0PzogUHJvbWlzZTx2b2lkPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNlc3Npb246IFNtYXJ0U2Vzc2lvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSB2aWV3Q29udGV4dDogU21hcnRWaWV3Q29udGV4dFNlcnZpY2UsXG4gICkge31cblxuICBjb25maWd1cmUoY29uZmlnOiBTbWFydEJhY2tlbmRCb290c3RyYXBDb25maWcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb25maWcpIHtcbiAgICAgIGNvbnNvbGUud2FybignU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZSBhbHJlYWR5IGNvbmZpZ3VyZWQ7IGlnbm9yaW5nIGR1cGxpY2F0ZSBjb25maWd1cmUoKSBjYWxsLicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcblxuICAgIHRoaXMuc2Vzc2lvbi5zZXRVcmwoY29uZmlnLnVybCk7XG4gICAgdGhpcy5zZXNzaW9uLnNldENvb2tpZU5hbWUoY29uZmlnLmNvb2tpZU5hbWUpO1xuICAgIHRoaXMuc2Vzc2lvbi5zZXRTZXNzaW9uSGFuZGxlclNlcnZpY2UodGhpcyk7XG5cbiAgICB0aGlzLnZpZXdDb250ZXh0LnNldFZpZXdIYW5kbGVycyhjb25maWcudmlld0hhbmRsZXJzKTtcbiAgICB0aGlzLnZpZXdDb250ZXh0LnNldE1lc3NhZ2VEaWFsb2dOYW1lKGNvbmZpZy5tZXNzYWdlRGlhbG9nTmFtZSk7XG4gICAgdGhpcy52aWV3Q29udGV4dC5zZXRBY3Rpb25EZXNjcmlwdG9ycyhjb25maWcuYWN0aW9uRGVzY3JpcHRvcnMpO1xuXG4gICAgdGhpcy52aWV3Q29udGV4dC5vcGVuU21hcnRMaW5rLnN1YnNjcmliZSgoY2hhbm5lbDogc3RyaW5nKSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZVNtYXJ0TGluayhjaGFubmVsKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlU21hcnRMaW5rKGNoYW5uZWw6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmNvbmZpZz8ub25TbWFydExpbmspIHtcbiAgICAgIGF3YWl0IHRoaXMuY29uZmlnLm9uU21hcnRMaW5rKGNoYW5uZWwpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBEZWZhdWx0OiBzaW1wbHkgdW5ibG9jayBzaG93UHVibGlzaGVkVmlldydzIGBhd2FpdCBvcGVuU21hcnRMaW5rLnRvUHJvbWlzZSgpYC5cbiAgICAvLyBUaGUgdmlld0NvbnRleHQgaXMgYWxyZWFkeSBpbml0aWFsaXplZCBieSBzdGFydCgpL2Jvb3RzdHJhcFdpdGgoKSDigJQgY2FsbGluZ1xuICAgIC8vIGluaXRpYWxpemUoKSBoZXJlIHdpdGhvdXQgYSB1dWlkIHdvdWxkIGFsd2F5cyB0cmlnZ2VyIHN0YXJ0Vmlld0NvbnRleHQoKSxcbiAgICAvLyBjcmVhdGluZyBhIHNlY29uZCB2aWV3Y29udGV4dCBhbmQgcHJvZHVjaW5nIGR1cGxpY2F0ZSBVSSAoZS5nLiB0d28gbG9naW4gcGFnZXMpLlxuICAgIHRoaXMudmlld0NvbnRleHQub3BlblNtYXJ0TGluay5jb21wbGV0ZSgpO1xuICB9XG5cbiAgc3RhcnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZykge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcignU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZS5jb25maWd1cmUoKSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgc3RhcnQoKS4nKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm1vZGUgPT09ICdib290c3RyYXBXaXRoJyAmJiAhdGhpcy5sYXN0SW5pdEZhaWxlZCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihcbiAgICAgICAgJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UuYm9vdHN0cmFwV2l0aCgpIHdhcyBhbHJlYWR5IGNhbGxlZDsgc3RhcnQoKSBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCBpdC4gQ2FsbCByZXNldCgpIGZpcnN0IHRvIHN3aXRjaCBlbnRyeSBwb2ludHMuJyxcbiAgICAgICkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5ydW5uaW5nSW5pdCAmJiAhdGhpcy5sYXN0SW5pdEZhaWxlZCkge1xuICAgICAgcmV0dXJuIHRoaXMucnVubmluZ0luaXQ7XG4gICAgfVxuICAgIHRoaXMubW9kZSA9ICdzdGFydCc7XG4gICAgdGhpcy5sYXN0SW5pdEZhaWxlZCA9IGZhbHNlO1xuICAgIHRoaXMucnVubmluZ0luaXQgPSB0aGlzLnJ1bkluaXQoKTtcbiAgICByZXR1cm4gdGhpcy5ydW5uaW5nSW5pdDtcbiAgfVxuXG4gIGJvb3RzdHJhcFdpdGgoY3JlZHM6IFNtYXJ0QmFja2VuZEJvb3RzdHJhcENyZWRlbnRpYWxzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZykge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcignU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZS5jb25maWd1cmUoKSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgYm9vdHN0cmFwV2l0aCgpLicpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ3N0YXJ0JyAmJiAhdGhpcy5sYXN0SW5pdEZhaWxlZCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihcbiAgICAgICAgJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2Uuc3RhcnQoKSB3YXMgYWxyZWFkeSBjYWxsZWQ7IGJvb3RzdHJhcFdpdGgoKSBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCBpdC4gQ2FsbCByZXNldCgpIGZpcnN0IHRvIHN3aXRjaCBlbnRyeSBwb2ludHMuJyxcbiAgICAgICkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5ydW5uaW5nSW5pdCAmJiAhdGhpcy5sYXN0SW5pdEZhaWxlZCkge1xuICAgICAgcmV0dXJuIHRoaXMucnVubmluZ0luaXQ7XG4gICAgfVxuICAgIHRoaXMubW9kZSA9ICdib290c3RyYXBXaXRoJztcbiAgICB0aGlzLmxhc3RJbml0RmFpbGVkID0gZmFsc2U7XG4gICAgdGhpcy5ydW5uaW5nSW5pdCA9IHRoaXMucnVuQm9vdHN0cmFwV2l0aChjcmVkcyk7XG4gICAgcmV0dXJuIHRoaXMucnVubmluZ0luaXQ7XG4gIH1cblxuICB3aGVuUmVhZHkoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLnJ1bm5pbmdJbml0KSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCdCb290c3RyYXBOb3RTdGFydGVkJykpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5ydW5uaW5nSW5pdDtcbiAgfVxuXG4gIGFzeW5jIHJlc2V0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMucnVubmluZ0luaXQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5sYXN0SW5pdEZhaWxlZCA9IGZhbHNlO1xuICAgIHRoaXMubW9kZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnJ1bm5pbmdWaWV3Q29udGV4dExvc3QgPSB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHRoaXMuc3RhcnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgYnkgYFNtYXJ0RXJyb3JDYXRjaGluZ0ludGVyY2VwdG9yYCB3aGVuIHRoZSBiYWNrZW5kIHJlcG9ydHNcbiAgICogYHNlc3Npb24udmlld2NvbnRleHQubWlzc2luZ2AuIElkZW1wb3RlbnQgYWNyb3NzIGNvbmN1cnJlbnQgYW5kXG4gICAqIHNlcXVlbnRpYWwgY2FsbHMgdW50aWwgdGhlIG5leHQgYHJlc2V0KClgIOKAlCBtdWx0aXBsZSByYWNpbmcgQkZGXG4gICAqIGZhaWx1cmVzIGNvbGxhcHNlIGludG8gYSBzaW5nbGUgcmVjb3ZlcnkgYXR0ZW1wdC5cbiAgICovXG4gIGhhbmRsZVZpZXdDb250ZXh0TG9zdChlcnI6IFNlc3Npb25FcnJvcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5jb25maWcpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoXG4gICAgICAgICdTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLmNvbmZpZ3VyZSgpIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBoYW5kbGVWaWV3Q29udGV4dExvc3QoKS4nLFxuICAgICAgKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnJ1bm5pbmdWaWV3Q29udGV4dExvc3QpIHtcbiAgICAgIHJldHVybiB0aGlzLnJ1bm5pbmdWaWV3Q29udGV4dExvc3Q7XG4gICAgfVxuICAgIHRoaXMucnVubmluZ1ZpZXdDb250ZXh0TG9zdCA9IHRoaXMucnVuVmlld0NvbnRleHRMb3N0KGVycik7XG4gICAgcmV0dXJuIHRoaXMucnVubmluZ1ZpZXdDb250ZXh0TG9zdDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcnVuVmlld0NvbnRleHRMb3N0KGVycjogU2Vzc2lvbkVycm9yKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuY29uZmlnPy5vblZpZXdDb250ZXh0TG9zdCkge1xuICAgICAgYXdhaXQgdGhpcy5jb25maWcub25WaWV3Q29udGV4dExvc3QoZXJyKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy52aWV3Q29udGV4dC5pbml0TmV3Vmlld0NvbnRleHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcnVuSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5zZXNzaW9uLmluaXRpYWxpemUoKTtcbiAgICAgIGF3YWl0IHRoaXMudmlld0NvbnRleHQuaW5pdFZpZXdDb250ZXh0KCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBhd2FpdCB0aGlzLmhhbmRsZUluaXRGYWlsdXJlKGVycik7XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBydW5Cb290c3RyYXBXaXRoKGNyZWRzOiBTbWFydEJhY2tlbmRCb290c3RyYXBDcmVkZW50aWFscyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnNlc3Npb24uc2V0U2Vzc2lvblRva2VuKGNyZWRzLnNlc3Npb25Ub2tlbiwgY3JlZHMucmVmcmVzaFRva2VuKTtcbiAgICAgIGF3YWl0IHRoaXMudmlld0NvbnRleHQuaW5pdEZyb21FeGlzdGluZ1ZpZXdDb250ZXh0KGNyZWRzLnZpZXdDb250ZXh0VXVpZCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBhd2FpdCB0aGlzLmhhbmRsZUluaXRGYWlsdXJlKGVycik7XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVJbml0RmFpbHVyZShlcnI6IHVua25vd24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmxhc3RJbml0RmFpbGVkID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5jb25maWc/Lm9uU3RhcnRFcnJvcikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5jb25maWcub25TdGFydEVycm9yKGVycik7XG4gICAgICB9IGNhdGNoIChjYWxsYmFja0Vycikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLm9uU3RhcnRFcnJvciBjYWxsYmFjayB0aHJldycsIGNhbGxiYWNrRXJyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhc3luYyBoYW5kbGVTZXNzaW9uRXJyb3IoZXJyOiBTZXNzaW9uRXJyb3IpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5jb25maWc/Lm9uU2Vzc2lvbkVycm9yKSB7XG4gICAgICBhd2FpdCB0aGlzLmNvbmZpZy5vblNlc3Npb25FcnJvcihlcnIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBEZWZhdWx0OiBjbGVhciB0aGUgc2Vzc2lvbiBhbmQgbGV0IHRoZSBiYWNrZW5kIHJlYnVpbGQgdmlhIFJFU1RBUlRfVklFV0NPTlRFWFQuXG4gICAgLy8gTm8gcm91dGVyIG5hdmlnYXRpb24gaGVyZSDigJQgdGhlIG5ldyB2aWV3Y29udGV4dCBkcml2ZXMgbmF2aWdhdGlvbiBzZXJ2ZXItc2lkZS5cbiAgICBhd2FpdCB0aGlzLnNlc3Npb24uY2xlYXJBbmRTdGFydE5ld1Nlc3Npb24oKTtcbiAgfVxufVxuIl19
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtYmFja2VuZC1ib290c3RyYXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3Nlc3Npb24vc21hcnQtYmFja2VuZC1ib290c3RyYXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBWTNDLE1BQU0sT0FBTyw0QkFBNEI7SUFPdkMsWUFDVSxPQUE0QixFQUM1QixXQUFvQztRQURwQyxZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFOdEMsbUJBQWMsR0FBRyxLQUFLLENBQUM7SUFPNUIsQ0FBQztJQUVKLFNBQVMsQ0FBQyxNQUFtQztRQUMzQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLHVGQUF1RixDQUFDLENBQUM7WUFDdEcsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUVyQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLGlCQUFpQixJQUFJLGdCQUFnQixDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFN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QztZQUN0QyxDQUFDO1lBQUMsT0FBTyxXQUFXLEVBQUUsQ0FBQztnQkFDckIsT0FBTyxDQUFDLEtBQUssQ0FBQywwREFBMEQsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUN6RixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsR0FBaUI7UUFDeEMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLGNBQWMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEMsT0FBTztRQUNULENBQUM7UUFDRCxrRkFBa0Y7UUFDbEYsaUZBQWlGO1FBQ2pGLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQy9DLENBQUM7K0dBbkxVLDRCQUE0QjttSEFBNUIsNEJBQTRCLGNBRGYsTUFBTTs7NEZBQ25CLDRCQUE0QjtrQkFEeEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNtYXJ0U2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LXNlc3Npb24uc2VydmljZSc7XG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0U2VydmljZSB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9zbWFydC12aWV3LWNvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBTZXNzaW9uRXJyb3IsIFNtYXJ0U2Vzc2lvbkhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi9zbWFydC1zZXNzaW9uLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQge1xuICBTbWFydEJhY2tlbmRCb290c3RyYXBDb25maWcsXG4gIFNtYXJ0QmFja2VuZEJvb3RzdHJhcENyZWRlbnRpYWxzLFxufSBmcm9tICcuL3NtYXJ0LWJhY2tlbmQtYm9vdHN0cmFwLmNvbmZpZyc7XG5cbnR5cGUgQm9vdHN0cmFwTW9kZSA9ICdzdGFydCcgfCAnYm9vdHN0cmFwV2l0aCc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZSBpbXBsZW1lbnRzIFNtYXJ0U2Vzc2lvbkhhbmRsZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjb25maWc/OiBTbWFydEJhY2tlbmRCb290c3RyYXBDb25maWc7XG4gIHByaXZhdGUgcnVubmluZ0luaXQ/OiBQcm9taXNlPHZvaWQ+O1xuICBwcml2YXRlIGxhc3RJbml0RmFpbGVkID0gZmFsc2U7XG4gIHByaXZhdGUgbW9kZT86IEJvb3RzdHJhcE1vZGU7XG4gIHByaXZhdGUgcnVubmluZ1ZpZXdDb250ZXh0TG9zdD86IFByb21pc2U8dm9pZD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZXNzaW9uOiBTbWFydFNlc3Npb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgdmlld0NvbnRleHQ6IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlLFxuICApIHt9XG5cbiAgY29uZmlndXJlKGNvbmZpZzogU21hcnRCYWNrZW5kQm9vdHN0cmFwQ29uZmlnKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29uZmlnKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UgYWxyZWFkeSBjb25maWd1cmVkOyBpZ25vcmluZyBkdXBsaWNhdGUgY29uZmlndXJlKCkgY2FsbC4nKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jb25maWcgPSBjb25maWc7XG5cbiAgICB0aGlzLnNlc3Npb24uc2V0VXJsKGNvbmZpZy51cmwpO1xuICAgIHRoaXMuc2Vzc2lvbi5zZXRDb29raWVOYW1lKGNvbmZpZy5jb29raWVOYW1lKTtcbiAgICB0aGlzLnNlc3Npb24uc2V0U2Vzc2lvbkhhbmRsZXJTZXJ2aWNlKHRoaXMpO1xuXG4gICAgdGhpcy52aWV3Q29udGV4dC5zZXRWaWV3SGFuZGxlcnMoY29uZmlnLnZpZXdIYW5kbGVycyk7XG4gICAgdGhpcy52aWV3Q29udGV4dC5zZXRNZXNzYWdlRGlhbG9nTmFtZShjb25maWcubWVzc2FnZURpYWxvZ05hbWUgPz8gJ21lc3NhZ2UtZGlhbG9nJyk7XG4gICAgdGhpcy52aWV3Q29udGV4dC5zZXRBY3Rpb25EZXNjcmlwdG9ycyhjb25maWcuYWN0aW9uRGVzY3JpcHRvcnMpO1xuXG4gICAgdGhpcy52aWV3Q29udGV4dC5vcGVuU21hcnRMaW5rLnN1YnNjcmliZSgoY2hhbm5lbDogc3RyaW5nKSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZVNtYXJ0TGluayhjaGFubmVsKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlU21hcnRMaW5rKGNoYW5uZWw6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmNvbmZpZz8ub25TbWFydExpbmspIHtcbiAgICAgIGF3YWl0IHRoaXMuY29uZmlnLm9uU21hcnRMaW5rKGNoYW5uZWwpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBEZWZhdWx0OiBzaW1wbHkgdW5ibG9jayBzaG93UHVibGlzaGVkVmlldydzIGBhd2FpdCBvcGVuU21hcnRMaW5rLnRvUHJvbWlzZSgpYC5cbiAgICAvLyBUaGUgdmlld0NvbnRleHQgaXMgYWxyZWFkeSBpbml0aWFsaXplZCBieSBzdGFydCgpL2Jvb3RzdHJhcFdpdGgoKSDigJQgY2FsbGluZ1xuICAgIC8vIGluaXRpYWxpemUoKSBoZXJlIHdpdGhvdXQgYSB1dWlkIHdvdWxkIGFsd2F5cyB0cmlnZ2VyIHN0YXJ0Vmlld0NvbnRleHQoKSxcbiAgICAvLyBjcmVhdGluZyBhIHNlY29uZCB2aWV3Y29udGV4dCBhbmQgcHJvZHVjaW5nIGR1cGxpY2F0ZSBVSSAoZS5nLiB0d28gbG9naW4gcGFnZXMpLlxuICAgIHRoaXMudmlld0NvbnRleHQub3BlblNtYXJ0TGluay5jb21wbGV0ZSgpO1xuICB9XG5cbiAgc3RhcnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZykge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcignU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZS5jb25maWd1cmUoKSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgc3RhcnQoKS4nKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm1vZGUgPT09ICdib290c3RyYXBXaXRoJyAmJiAhdGhpcy5sYXN0SW5pdEZhaWxlZCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihcbiAgICAgICAgJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UuYm9vdHN0cmFwV2l0aCgpIHdhcyBhbHJlYWR5IGNhbGxlZDsgc3RhcnQoKSBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCBpdC4gQ2FsbCByZXNldCgpIGZpcnN0IHRvIHN3aXRjaCBlbnRyeSBwb2ludHMuJyxcbiAgICAgICkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5ydW5uaW5nSW5pdCAmJiAhdGhpcy5sYXN0SW5pdEZhaWxlZCkge1xuICAgICAgcmV0dXJuIHRoaXMucnVubmluZ0luaXQ7XG4gICAgfVxuICAgIHRoaXMubW9kZSA9ICdzdGFydCc7XG4gICAgdGhpcy5sYXN0SW5pdEZhaWxlZCA9IGZhbHNlO1xuICAgIHRoaXMucnVubmluZ0luaXQgPSB0aGlzLnJ1bkluaXQoKTtcbiAgICByZXR1cm4gdGhpcy5ydW5uaW5nSW5pdDtcbiAgfVxuXG4gIGJvb3RzdHJhcFdpdGgoY3JlZHM6IFNtYXJ0QmFja2VuZEJvb3RzdHJhcENyZWRlbnRpYWxzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZykge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcignU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZS5jb25maWd1cmUoKSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgYm9vdHN0cmFwV2l0aCgpLicpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ3N0YXJ0JyAmJiAhdGhpcy5sYXN0SW5pdEZhaWxlZCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihcbiAgICAgICAgJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2Uuc3RhcnQoKSB3YXMgYWxyZWFkeSBjYWxsZWQ7IGJvb3RzdHJhcFdpdGgoKSBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCBpdC4gQ2FsbCByZXNldCgpIGZpcnN0IHRvIHN3aXRjaCBlbnRyeSBwb2ludHMuJyxcbiAgICAgICkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5ydW5uaW5nSW5pdCAmJiAhdGhpcy5sYXN0SW5pdEZhaWxlZCkge1xuICAgICAgcmV0dXJuIHRoaXMucnVubmluZ0luaXQ7XG4gICAgfVxuICAgIHRoaXMubW9kZSA9ICdib290c3RyYXBXaXRoJztcbiAgICB0aGlzLmxhc3RJbml0RmFpbGVkID0gZmFsc2U7XG4gICAgdGhpcy5ydW5uaW5nSW5pdCA9IHRoaXMucnVuQm9vdHN0cmFwV2l0aChjcmVkcyk7XG4gICAgcmV0dXJuIHRoaXMucnVubmluZ0luaXQ7XG4gIH1cblxuICB3aGVuUmVhZHkoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLnJ1bm5pbmdJbml0KSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCdCb290c3RyYXBOb3RTdGFydGVkJykpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5ydW5uaW5nSW5pdDtcbiAgfVxuXG4gIGFzeW5jIHJlc2V0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMucnVubmluZ0luaXQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5sYXN0SW5pdEZhaWxlZCA9IGZhbHNlO1xuICAgIHRoaXMubW9kZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnJ1bm5pbmdWaWV3Q29udGV4dExvc3QgPSB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHRoaXMuc3RhcnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgYnkgYFNtYXJ0RXJyb3JDYXRjaGluZ0ludGVyY2VwdG9yYCB3aGVuIHRoZSBiYWNrZW5kIHJlcG9ydHNcbiAgICogYHNlc3Npb24udmlld2NvbnRleHQubWlzc2luZ2AuIElkZW1wb3RlbnQgYWNyb3NzIGNvbmN1cnJlbnQgYW5kXG4gICAqIHNlcXVlbnRpYWwgY2FsbHMgdW50aWwgdGhlIG5leHQgYHJlc2V0KClgIOKAlCBtdWx0aXBsZSByYWNpbmcgQkZGXG4gICAqIGZhaWx1cmVzIGNvbGxhcHNlIGludG8gYSBzaW5nbGUgcmVjb3ZlcnkgYXR0ZW1wdC5cbiAgICovXG4gIGhhbmRsZVZpZXdDb250ZXh0TG9zdChlcnI6IFNlc3Npb25FcnJvcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5jb25maWcpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoXG4gICAgICAgICdTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLmNvbmZpZ3VyZSgpIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBoYW5kbGVWaWV3Q29udGV4dExvc3QoKS4nLFxuICAgICAgKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnJ1bm5pbmdWaWV3Q29udGV4dExvc3QpIHtcbiAgICAgIHJldHVybiB0aGlzLnJ1bm5pbmdWaWV3Q29udGV4dExvc3Q7XG4gICAgfVxuICAgIHRoaXMucnVubmluZ1ZpZXdDb250ZXh0TG9zdCA9IHRoaXMucnVuVmlld0NvbnRleHRMb3N0KGVycik7XG4gICAgcmV0dXJuIHRoaXMucnVubmluZ1ZpZXdDb250ZXh0TG9zdDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcnVuVmlld0NvbnRleHRMb3N0KGVycjogU2Vzc2lvbkVycm9yKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuY29uZmlnPy5vblZpZXdDb250ZXh0TG9zdCkge1xuICAgICAgYXdhaXQgdGhpcy5jb25maWcub25WaWV3Q29udGV4dExvc3QoZXJyKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy52aWV3Q29udGV4dC5pbml0TmV3Vmlld0NvbnRleHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgYnkgYFNtYXJ0RXJyb3JDYXRjaGluZ0ludGVyY2VwdG9yYCBmb3IgdHJhbnNwb3J0LWxldmVsIGZhaWx1cmVzXG4gICAqIChzdGF0dXMgMCwgNXh4KS4gRmlyZS1hbmQtZm9yZ2V0OyB0aGUgcmVxdWVzdCBzdGlsbCByZWplY3RzIHdpdGggdGhlXG4gICAqIG9yaWdpbmFsIGVycm9yIHNvIGNhbGxlcnMgY2FuIGRvIHBlci1jYWxsIGhhbmRsaW5nLlxuICAgKi9cbiAgYXN5bmMgaGFuZGxlVHJhbnNwb3J0RXJyb3IoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5jb25maWcpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoXG4gICAgICAgICdTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLmNvbmZpZ3VyZSgpIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBoYW5kbGVUcmFuc3BvcnRFcnJvcigpLicsXG4gICAgICApKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY29uZmlnLm9uVHJhbnNwb3J0RXJyb3IpIHtcbiAgICAgIGF3YWl0IHRoaXMuY29uZmlnLm9uVHJhbnNwb3J0RXJyb3IoZXJyKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc29sZS53YXJuKCdUcmFuc3BvcnQgZXJyb3Ig4oCUIHNlcnZlciB1bnJlYWNoYWJsZSBvciA1eHgnLCBlcnIpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBydW5Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnNlc3Npb24uaW5pdGlhbGl6ZSgpO1xuICAgICAgYXdhaXQgdGhpcy52aWV3Q29udGV4dC5pbml0Vmlld0NvbnRleHQoKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGF3YWl0IHRoaXMuaGFuZGxlSW5pdEZhaWx1cmUoZXJyKTtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJ1bkJvb3RzdHJhcFdpdGgoY3JlZHM6IFNtYXJ0QmFja2VuZEJvb3RzdHJhcENyZWRlbnRpYWxzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc2Vzc2lvbi5zZXRTZXNzaW9uVG9rZW4oY3JlZHMuc2Vzc2lvblRva2VuLCBjcmVkcy5yZWZyZXNoVG9rZW4pO1xuICAgICAgYXdhaXQgdGhpcy52aWV3Q29udGV4dC5pbml0RnJvbUV4aXN0aW5nVmlld0NvbnRleHQoY3JlZHMudmlld0NvbnRleHRVdWlkKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGF3YWl0IHRoaXMuaGFuZGxlSW5pdEZhaWx1cmUoZXJyKTtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGhhbmRsZUluaXRGYWlsdXJlKGVycjogdW5rbm93bik6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMubGFzdEluaXRGYWlsZWQgPSB0cnVlO1xuICAgIGlmICh0aGlzLmNvbmZpZz8ub25TdGFydEVycm9yKSB7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCB0aGlzLmNvbmZpZy5vblN0YXJ0RXJyb3IoZXJyKTtcbiAgICAgIH0gY2F0Y2ggKGNhbGxiYWNrRXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2Uub25TdGFydEVycm9yIGNhbGxiYWNrIHRocmV3JywgY2FsbGJhY2tFcnIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGhhbmRsZVNlc3Npb25FcnJvcihlcnI6IFNlc3Npb25FcnJvcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmNvbmZpZz8ub25TZXNzaW9uRXJyb3IpIHtcbiAgICAgIGF3YWl0IHRoaXMuY29uZmlnLm9uU2Vzc2lvbkVycm9yKGVycik7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIERlZmF1bHQ6IGNsZWFyIHRoZSBzZXNzaW9uIGFuZCBsZXQgdGhlIGJhY2tlbmQgcmVidWlsZCB2aWEgUkVTVEFSVF9WSUVXQ09OVEVYVC5cbiAgICAvLyBObyByb3V0ZXIgbmF2aWdhdGlvbiBoZXJlIOKAlCB0aGUgbmV3IHZpZXdjb250ZXh0IGRyaXZlcyBuYXZpZ2F0aW9uIHNlcnZlci1zaWRlLlxuICAgIGF3YWl0IHRoaXMuc2Vzc2lvbi5jbGVhckFuZFN0YXJ0TmV3U2Vzc2lvbigpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,134 @@
1
+ import { Injectable, inject } from '@angular/core';
2
+ import { MatSnackBar } from '@angular/material/snack-bar';
3
+ import { SmartSessionService } from './smart-session.service';
4
+ import * as i0 from "@angular/core";
5
+ const STRINGS_HU = {
6
+ startErrorMessage: 'A szerver nem elérhető.',
7
+ startErrorRetry: 'Újrapróbálás',
8
+ transportErrorMessage: 'A szerver nem elérhető.',
9
+ transportErrorReload: 'Újratöltés',
10
+ sessionErrorMessage: 'A munkamenet lejárt, kérjük jelentkezzen be újra.',
11
+ sessionErrorAction: 'Bejelentkezés',
12
+ };
13
+ const STRINGS_EN = {
14
+ startErrorMessage: 'The server is unavailable.',
15
+ startErrorRetry: 'Retry',
16
+ transportErrorMessage: 'The server is unavailable.',
17
+ transportErrorReload: 'Reload',
18
+ sessionErrorMessage: 'Your session has expired. Please log in again.',
19
+ sessionErrorAction: 'Log in',
20
+ };
21
+ /**
22
+ * Opt-in default UX for `SmartBackendBootstrapService` error hooks.
23
+ *
24
+ * Spread the result of `hooks(options)` into `bootstrap.configure()` to get a
25
+ * MatSnackBar-based "error + retry" UI without writing the host glue:
26
+ *
27
+ * ```ts
28
+ * bootstrap.configure({
29
+ * ...minimalConfig,
30
+ * ...defaultErrorUi.hooks({ language: 'hu' }),
31
+ * });
32
+ * ```
33
+ *
34
+ * Hosts that want custom logic can omit this service and write their own
35
+ * `onStartError` / `onTransportError` callbacks directly.
36
+ */
37
+ export class SmartDefaultErrorUiService {
38
+ constructor() {
39
+ this.snackBar = inject(MatSnackBar);
40
+ this.session = inject(SmartSessionService);
41
+ }
42
+ /** Returns a hooks bundle ready to spread into `bootstrap.configure()`. */
43
+ hooks(options = {}) {
44
+ return {
45
+ onStartError: (err) => this.showStartError(err, options),
46
+ onTransportError: (err) => this.showTransportError(err, options),
47
+ onSessionError: (err) => this.showSessionError(err, options),
48
+ };
49
+ }
50
+ showStartError(_err, options = {}) {
51
+ const s = this.resolveStrings(options);
52
+ const ref = this.snackBar.open(s.startErrorMessage, s.startErrorRetry, {
53
+ duration: 0, // sticky — app is not usable until retry succeeds
54
+ });
55
+ // Full reload, not bootstrap.start(). A bootstrap.start() retry only re-runs
56
+ // the init sequence; any components that already mounted during the failed
57
+ // attempt have rejected `whenReady()` Promises and won't re-trigger their
58
+ // run() when bootstrap eventually succeeds. Reload guarantees a clean mount.
59
+ ref.onAction().subscribe(() => this.verifyServerAndReload());
60
+ }
61
+ showTransportError(_err, options = {}) {
62
+ const s = this.resolveStrings(options);
63
+ const ref = this.snackBar.open(s.transportErrorMessage, s.transportErrorReload, {
64
+ duration: options.transportErrorDuration ?? 0,
65
+ });
66
+ ref.onAction().subscribe(() => this.verifyServerAndReload());
67
+ }
68
+ showSessionError(_err, options = {}) {
69
+ const s = this.resolveStrings(options);
70
+ const ref = this.snackBar.open(s.sessionErrorMessage, s.sessionErrorAction, {
71
+ duration: 0, // sticky — session is invalid until the user takes action
72
+ });
73
+ ref.onAction().subscribe(() => this.recoverSession());
74
+ }
75
+ /**
76
+ * Clears the dead session and reloads. Unlike `verifyServerAndReload`, this
77
+ * does NOT pre-check via `getSession()` — the SID is known to be invalid,
78
+ * so the check would fail. We best-effort `clearAndStartNewSession()`
79
+ * (creates a fresh anonymous session); reload happens regardless so the
80
+ * user is not stuck if the clear fails (e.g., server flapping).
81
+ *
82
+ * Overridable in tests.
83
+ */
84
+ async recoverSession() {
85
+ try {
86
+ await this.session.clearAndStartNewSession();
87
+ }
88
+ catch {
89
+ // Server may also be down; reload anyway and let bootstrap.start() retry.
90
+ }
91
+ this.reloadPage();
92
+ }
93
+ /**
94
+ * Pings `getSession()` before reloading: if the server is still down, the
95
+ * reload would just re-trigger the broken-screen state. The failed check
96
+ * goes through `SmartErrorCatchingInterceptor` and re-fires `onTransportError`,
97
+ * so the user sees a fresh snackbar — they get visible feedback that the
98
+ * server is still unreachable, without paying the cost of a full bundle
99
+ * reload that lands on the same broken state.
100
+ *
101
+ * Overridable in tests.
102
+ */
103
+ async verifyServerAndReload() {
104
+ try {
105
+ await this.session.getSession();
106
+ }
107
+ catch {
108
+ return; // server still unreachable — interceptor re-opens the snackbar
109
+ }
110
+ this.reloadPage();
111
+ }
112
+ /** Overridable in tests. */
113
+ reloadPage() {
114
+ window.location.reload();
115
+ }
116
+ resolveStrings(options) {
117
+ const lang = this.resolveLanguage(options.language);
118
+ const base = lang === 'hu' ? STRINGS_HU : STRINGS_EN;
119
+ return { ...base, ...(options.strings ?? {}) };
120
+ }
121
+ resolveLanguage(lang) {
122
+ if (lang === 'hu' || lang === 'en') {
123
+ return lang;
124
+ }
125
+ return navigator.language?.toLowerCase().startsWith('hu') ? 'hu' : 'en';
126
+ }
127
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartDefaultErrorUiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
128
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartDefaultErrorUiService, providedIn: 'root' }); }
129
+ }
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartDefaultErrorUiService, decorators: [{
131
+ type: Injectable,
132
+ args: [{ providedIn: 'root' }]
133
+ }] });
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZGVmYXVsdC1lcnJvci11aS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc2Vzc2lvbi9zbWFydC1kZWZhdWx0LWVycm9yLXVpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQW9DOUQsTUFBTSxVQUFVLEdBQTBCO0lBQ3hDLGlCQUFpQixFQUFFLHlCQUF5QjtJQUM1QyxlQUFlLEVBQUUsY0FBYztJQUMvQixxQkFBcUIsRUFBRSx5QkFBeUI7SUFDaEQsb0JBQW9CLEVBQUUsWUFBWTtJQUNsQyxtQkFBbUIsRUFBRSxtREFBbUQ7SUFDeEUsa0JBQWtCLEVBQUUsZUFBZTtDQUNwQyxDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQTBCO0lBQ3hDLGlCQUFpQixFQUFFLDRCQUE0QjtJQUMvQyxlQUFlLEVBQUUsT0FBTztJQUN4QixxQkFBcUIsRUFBRSw0QkFBNEI7SUFDbkQsb0JBQW9CLEVBQUUsUUFBUTtJQUM5QixtQkFBbUIsRUFBRSxnREFBZ0Q7SUFDckUsa0JBQWtCLEVBQUUsUUFBUTtDQUM3QixDQUFDO0FBRUY7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsTUFBTSxPQUFPLDBCQUEwQjtJQUR2QztRQUVVLGFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0IsWUFBTyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0tBaUcvQztJQS9GQywyRUFBMkU7SUFDM0UsS0FBSyxDQUFDLFVBQWlDLEVBQUU7UUFLdkMsT0FBTztZQUNMLFlBQVksRUFBRSxDQUFD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QUE4QjtRQUNuRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRCxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUNyRCxPQUFPLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRU8sZUFBZSxDQUFDLElBQTZCO1FBQ25ELElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbkMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUUsQ0FBQzsrR0FsR1UsMEJBQTBCO21IQUExQiwwQkFBMEIsY0FEYixNQUFNOzs0RkFDbkIsMEJBQTBCO2tCQUR0QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBTZXNzaW9uRXJyb3IgfSBmcm9tICcuL3NtYXJ0LXNlc3Npb24taGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNtYXJ0U2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LXNlc3Npb24uc2VydmljZSc7XG5cbmV4cG9ydCB0eXBlIERlZmF1bHRFcnJvclVpTGFuZ3VhZ2UgPSAnaHUnIHwgJ2VuJyB8ICdhdXRvJztcblxuZXhwb3J0IGludGVyZmFjZSBEZWZhdWx0RXJyb3JVaVN0cmluZ3Mge1xuICBzdGFydEVycm9yTWVzc2FnZTogc3RyaW5nO1xuICBzdGFydEVycm9yUmV0cnk6IHN0cmluZztcbiAgdHJhbnNwb3J0RXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gIHRyYW5zcG9ydEVycm9yUmVsb2FkOiBzdHJpbmc7XG4gIHNlc3Npb25FcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgc2Vzc2lvbkVycm9yQWN0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVmYXVsdEVycm9yVWlPcHRpb25zIHtcbiAgLyoqICdhdXRvJyAoZGVmYXVsdCkgcGlja3MgJ2h1JyBpZiBuYXZpZ2F0b3IubGFuZ3VhZ2Ugc3RhcnRzIHdpdGggJ2h1JywgZWxzZSAnZW4nLiAqL1xuICBsYW5ndWFnZT86IERlZmF1bHRFcnJvclVpTGFuZ3VhZ2U7XG4gIC8qKiBPdmVycmlkZSBpbmRpdmlkdWFsIHN0cmluZ3M7IG1pc3Npbmcga2V5cyBmYWxsIGJhY2sgdG8gdGhlIGxhbmd1YWdlIGRlZmF1bHQuICovXG4gIHN0cmluZ3M/OiBQYXJ0aWFsPERlZmF1bHRFcnJvclVpU3RyaW5ncz47XG4gIC8qKlxuICAgKiBTbmFja2JhciBhdXRvLWRpc21pc3MgaW4gbXMgZm9yIHRyYW5zcG9ydEVycm9yLiBEZWZhdWx0OiAwIChzdGlja3kpLlxuICAgKlxuICAgKiBTdGlja3kgZGVmYXVsdCByYXRpb25hbGU6IGEgdHJhbnNwb3J0IGVycm9yIGNvbW1vbmx5IGxlYXZlcyB0aGUgc2NyZWVuIGluXG4gICAqIGFuIGluY29uc2lzdGVudCBzdGF0ZSAoZmFpbGVkIGNvbXBvbmVudCBsb2Fkcywgc3R1Y2sgc3Bpbm5lcnMpIHRoYXQgZG9lc1xuICAgKiBOT1Qgc2VsZi1yZWNvdmVyIHdoZW4gdGhlIHNlcnZlciByZXR1cm5zLiBBbiBhdXRvLWRpc21pc3Npbmcgc25hY2tiYXJcbiAgICogd291bGQgaGlkZSB0aGUgbm90aWZpY2F0aW9uIGJlZm9yZSB0aGUgdXNlciBjYW4gYWN0LCBsZWF2aW5nIHRoZW0gd2l0aCBhXG4gICAqIGJyb2tlbiBVSSBhbmQgbm8gd2F5IGJhY2suIFN0aWNreSBmb3JjZXMgdGhlIFJlbG9hZCBhY3Rpb24uXG4gICAqXG4gICAqIFNldCBhIHBvc2l0aXZlIG51bWJlciB0byBvcHQgaW50byBhdXRvLWRpc21pc3MgKGUuZy4gbW9iaWxlLXNoZWxsIGZsb3dzXG4gICAqIHdoZXJlIHRoZSBzaGVsbCB0ZWFycyBkb3duIHRoZSB3ZWJ2aWV3IG9uIHRyYW5zcG9ydCBlcnJvciBhbnl3YXkpLlxuICAgKlxuICAgKiBgc3RhcnRFcnJvcmAgaXMgYWx3YXlzIHN0aWNreSByZWdhcmRsZXNzIOKAlCB0aGUgYXBwIGlzIHVudXNhYmxlIHVudGlsIHRoZVxuICAgKiB1c2VyIHJldHJpZXMuXG4gICAqL1xuICB0cmFuc3BvcnRFcnJvckR1cmF0aW9uPzogbnVtYmVyO1xufVxuXG5jb25zdCBTVFJJTkdTX0hVOiBEZWZhdWx0RXJyb3JVaVN0cmluZ3MgPSB7XG4gIHN0YXJ0RXJyb3JNZXNzYWdlOiAnQSBzemVydmVyIG5lbSBlbMOpcmhldMWRLicsXG4gIHN0YXJ0RXJyb3JSZXRyeTogJ8OaanJhcHLDs2LDoWzDoXMnLFxuICB0cmFuc3BvcnRFcnJvck1lc3NhZ2U6ICdBIHN6ZXJ2ZXIgbmVtIGVsw6lyaGV0xZEuJyxcbiAgdHJhbnNwb3J0RXJyb3JSZWxvYWQ6ICfDmmpyYXTDtmx0w6lzJyxcbiAgc2Vzc2lvbkVycm9yTWVzc2FnZTogJ0EgbXVua2FtZW5ldCBsZWrDoXJ0LCBrw6lyasO8ayBqZWxlbnRrZXp6ZW4gYmUgw7pqcmEuJyxcbiAgc2Vzc2lvbkVycm9yQWN0aW9uOiAnQmVqZWxlbnRrZXrDqXMnLFxufTtcblxuY29uc3QgU1RSSU5HU19FTjogRGVmYXVsdEVycm9yVWlTdHJpbmdzID0ge1xuICBzdGFydEVycm9yTWVzc2FnZTogJ1RoZSBzZXJ2ZXIgaXMgdW5hdmFpbGFibGUuJyxcbiAgc3RhcnRFcnJvclJldHJ5OiAnUmV0cnknLFxuICB0cmFuc3BvcnRFcnJvck1lc3NhZ2U6ICdUaGUgc2VydmVyIGlzIHVuYXZhaWxhYmxlLicsXG4gIHRyYW5zcG9ydEVycm9yUmVsb2FkOiAnUmVsb2FkJyxcbiAgc2Vzc2lvbkVycm9yTWVzc2FnZTogJ1lvdXIgc2Vzc2lvbiBoYXMgZXhwaXJlZC4gUGxlYXNlIGxvZyBpbiBhZ2Fpbi4nLFxuICBzZXNzaW9uRXJyb3JBY3Rpb246ICdMb2cgaW4nLFxufTtcblxuLyoqXG4gKiBPcHQtaW4gZGVmYXVsdCBVWCBmb3IgYFNtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2VgIGVycm9yIGhvb2tzLlxuICpcbiAqIFNwcmVhZCB0aGUgcmVzdWx0IG9mIGBob29rcyhvcHRpb25zKWAgaW50byBgYm9vdHN0cmFwLmNvbmZpZ3VyZSgpYCB0byBnZXQgYVxuICogTWF0U25hY2tCYXItYmFzZWQgXCJlcnJvciArIHJldHJ5XCIgVUkgd2l0aG91dCB3cml0aW5nIHRoZSBob3N0IGdsdWU6XG4gKlxuICogYGBgdHNcbiAqIGJvb3RzdHJhcC5jb25maWd1cmUoe1xuICogICAuLi5taW5pbWFsQ29uZmlnLFxuICogICAuLi5kZWZhdWx0RXJyb3JVaS5ob29rcyh7IGxhbmd1YWdlOiAnaHUnIH0pLFxuICogfSk7XG4gKiBgYGBcbiAqXG4gKiBIb3N0cyB0aGF0IHdhbnQgY3VzdG9tIGxvZ2ljIGNhbiBvbWl0IHRoaXMgc2VydmljZSBhbmQgd3JpdGUgdGhlaXIgb3duXG4gKiBgb25TdGFydEVycm9yYCAvIGBvblRyYW5zcG9ydEVycm9yYCBjYWxsYmFja3MgZGlyZWN0bHkuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU21hcnREZWZhdWx0RXJyb3JVaVNlcnZpY2Uge1xuICBwcml2YXRlIHNuYWNrQmFyID0gaW5qZWN0KE1hdFNuYWNrQmFyKTtcbiAgcHJpdmF0ZSBzZXNzaW9uID0gaW5qZWN0KFNtYXJ0U2Vzc2lvblNlcnZpY2UpO1xuXG4gIC8qKiBSZXR1cm5zIGEgaG9va3MgYnVuZGxlIHJlYWR5IHRvIHNwcmVhZCBpbnRvIGBib290c3RyYXAuY29uZmlndXJlKClgLiAqL1xuICBob29rcyhvcHRpb25zOiBEZWZhdWx0RXJyb3JVaU9wdGlvbnMgPSB7fSk6IHtcbiAgICBvblN0YXJ0RXJyb3I6IChlcnI6IHVua25vd24pID0+IHZvaWQ7XG4gICAgb25UcmFuc3BvcnRFcnJvcjogKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHZvaWQ7XG4gICAgb25TZXNzaW9uRXJyb3I6IChlcnI6IFNlc3Npb25FcnJvcikgPT4gdm9pZDtcbiAgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9uU3RhcnRFcnJvcjogKGVycjogdW5rbm93bikgPT4gdGhpcy5zaG93U3RhcnRFcnJvcihlcnIsIG9wdGlvbnMpLFxuICAgICAgb25UcmFuc3BvcnRFcnJvcjogKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHRoaXMuc2hvd1RyYW5zcG9ydEVycm9yKGVyciwgb3B0aW9ucyksXG4gICAgICBvblNlc3Npb25FcnJvcjogKGVycjogU2Vzc2lvbkVycm9yKSA9PiB0aGlzLnNob3dTZXNzaW9uRXJyb3IoZXJyLCBvcHRpb25zKSxcbiAgICB9O1xuICB9XG5cbiAgc2hvd1N0YXJ0RXJyb3IoX2VycjogdW5rbm93biwgb3B0aW9uczogRGVmYXVsdEVycm9yVWlPcHRpb25zID0ge30pOiB2b2lkIHtcbiAgICBjb25zdCBzID0gdGhpcy5yZXNvbHZlU3RyaW5ncyhvcHRpb25zKTtcbiAgICBjb25zdCByZWYgPSB0aGlzLnNuYWNrQmFyLm9wZW4ocy5zdGFydEVycm9yTWVzc2FnZSwgcy5zdGFydEVycm9yUmV0cnksIHtcbiAgICAgIGR1cmF0aW9uOiAwLCAvLyBzdGlja3kg4oCUIGFwcCBpcyBub3QgdXNhYmxlIHVudGlsIHJldHJ5IHN1Y2NlZWRzXG4gICAgfSk7XG4gICAgLy8gRnVsbCByZWxvYWQsIG5vdCBib290c3RyYXAuc3RhcnQoKS4gQSBib290c3RyYXAuc3RhcnQoKSByZXRyeSBvbmx5IHJlLXJ1bnNcbiAgICAvLyB0aGUgaW5pdCBzZXF1ZW5jZTsgYW55IGNvbXBvbmVudHMgdGhhdCBhbHJlYWR5IG1vdW50ZWQgZHVyaW5nIHRoZSBmYWlsZWRcbiAgICAvLyBhdHRlbXB0IGhhdmUgcmVqZWN0ZWQgYHdoZW5SZWFkeSgpYCBQcm9taXNlcyBhbmQgd29uJ3QgcmUtdHJpZ2dlciB0aGVpclxuICAgIC8vIHJ1bigpIHdoZW4gYm9vdHN0cmFwIGV2ZW50dWFsbHkgc3VjY2VlZHMuIFJlbG9hZCBndWFyYW50ZWVzIGEgY2xlYW4gbW91bnQuXG4gICAgcmVmLm9uQWN0aW9uKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMudmVyaWZ5U2VydmVyQW5kUmVsb2FkKCkpO1xuICB9XG5cbiAgc2hvd1RyYW5zcG9ydEVycm9yKF9lcnI6IEh0dHBFcnJvclJlc3BvbnNlLCBvcHRpb25zOiBEZWZhdWx0RXJyb3JVaU9wdGlvbnMgPSB7fSk6IHZvaWQge1xuICAgIGNvbnN0IHMgPSB0aGlzLnJlc29sdmVTdHJpbmdzKG9wdGlvbnMpO1xuICAgIGNvbnN0IHJlZiA9IHRoaXMuc25hY2tCYXIub3BlbihzLnRyYW5zcG9ydEVycm9yTWVzc2FnZSwgcy50cmFuc3BvcnRFcnJvclJlbG9hZCwge1xuICAgICAgZHVyYXRpb246IG9wdGlvbnMudHJhbnNwb3J0RXJyb3JEdXJhdGlvbiA/PyAwLFxuICAgIH0pO1xuICAgIHJlZi5vbkFjdGlvbigpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnZlcmlmeVNlcnZlckFuZFJlbG9hZCgpKTtcbiAgfVxuXG4gIHNob3dTZXNzaW9uRXJyb3IoX2VycjogU2Vzc2lvbkVycm9yLCBvcHRpb25zOiBEZWZhdWx0RXJyb3JVaU9wdGlvbnMgPSB7fSk6IHZvaWQge1xuICAgIGNvbnN0IHMgPSB0aGlzLnJlc29sdmVTdHJpbmdzKG9wdGlvbnMpO1xuICAgIGNvbnN0IHJlZiA9IHRoaXMuc25hY2tCYXIub3BlbihzLnNlc3Npb25FcnJvck1lc3NhZ2UsIHMuc2Vzc2lvbkVycm9yQWN0aW9uLCB7XG4gICAgICBkdXJhdGlvbjogMCwgLy8gc3RpY2t5IOKAlCBzZXNzaW9uIGlzIGludmFsaWQgdW50aWwgdGhlIHVzZXIgdGFrZXMgYWN0aW9uXG4gICAgfSk7XG4gICAgcmVmLm9uQWN0aW9uKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVjb3ZlclNlc3Npb24oKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHRoZSBkZWFkIHNlc3Npb24gYW5kIHJlbG9hZHMuIFVubGlrZSBgdmVyaWZ5U2VydmVyQW5kUmVsb2FkYCwgdGhpc1xuICAgKiBkb2VzIE5PVCBwcmUtY2hlY2sgdmlhIGBnZXRTZXNzaW9uKClgIOKAlCB0aGUgU0lEIGlzIGtub3duIHRvIGJlIGludmFsaWQsXG4gICAqIHNvIHRoZSBjaGVjayB3b3VsZCBmYWlsLiBXZSBiZXN0LWVmZm9ydCBgY2xlYXJBbmRTdGFydE5ld1Nlc3Npb24oKWBcbiAgICogKGNyZWF0ZXMgYSBmcmVzaCBhbm9ueW1vdXMgc2Vzc2lvbik7IHJlbG9hZCBoYXBwZW5zIHJlZ2FyZGxlc3Mgc28gdGhlXG4gICAqIHVzZXIgaXMgbm90IHN0dWNrIGlmIHRoZSBjbGVhciBmYWlscyAoZS5nLiwgc2VydmVyIGZsYXBwaW5nKS5cbiAgICpcbiAgICogT3ZlcnJpZGFibGUgaW4gdGVzdHMuXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgcmVjb3ZlclNlc3Npb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuc2Vzc2lvbi5jbGVhckFuZFN0YXJ0TmV3U2Vzc2lvbigpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gU2VydmVyIG1heSBhbHNvIGJlIGRvd247IHJlbG9hZCBhbnl3YXkgYW5kIGxldCBib290c3RyYXAuc3RhcnQoKSByZXRyeS5cbiAgICB9XG4gICAgdGhpcy5yZWxvYWRQYWdlKCk7XG4gIH1cblxuICAvKipcbiAgICogUGluZ3MgYGdldFNlc3Npb24oKWAgYmVmb3JlIHJlbG9hZGluZzogaWYgdGhlIHNlcnZlciBpcyBzdGlsbCBkb3duLCB0aGVcbiAgICogcmVsb2FkIHdvdWxkIGp1c3QgcmUtdHJpZ2dlciB0aGUgYnJva2VuLXNjcmVlbiBzdGF0ZS4gVGhlIGZhaWxlZCBjaGVja1xuICAgKiBnb2VzIHRocm91Z2ggYFNtYXJ0RXJyb3JDYXRjaGluZ0ludGVyY2VwdG9yYCBhbmQgcmUtZmlyZXMgYG9uVHJhbnNwb3J0RXJyb3JgLFxuICAgKiBzbyB0aGUgdXNlciBzZWVzIGEgZnJlc2ggc25hY2tiYXIg4oCUIHRoZXkgZ2V0IHZpc2libGUgZmVlZGJhY2sgdGhhdCB0aGVcbiAgICogc2VydmVyIGlzIHN0aWxsIHVucmVhY2hhYmxlLCB3aXRob3V0IHBheWluZyB0aGUgY29zdCBvZiBhIGZ1bGwgYnVuZGxlXG4gICAqIHJlbG9hZCB0aGF0IGxhbmRzIG9uIHRoZSBzYW1lIGJyb2tlbiBzdGF0ZS5cbiAgICpcbiAgICogT3ZlcnJpZGFibGUgaW4gdGVzdHMuXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgdmVyaWZ5U2VydmVyQW5kUmVsb2FkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnNlc3Npb24uZ2V0U2Vzc2lvbigpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuOyAvLyBzZXJ2ZXIgc3RpbGwgdW5yZWFjaGFibGUg4oCUIGludGVyY2VwdG9yIHJlLW9wZW5zIHRoZSBzbmFja2JhclxuICAgIH1cbiAgICB0aGlzLnJlbG9hZFBhZ2UoKTtcbiAgfVxuXG4gIC8qKiBPdmVycmlkYWJsZSBpbiB0ZXN0cy4gKi9cbiAgcHJvdGVjdGVkIHJlbG9hZFBhZ2UoKTogdm9pZCB7XG4gICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlU3RyaW5ncyhvcHRpb25zOiBEZWZhdWx0RXJyb3JVaU9wdGlvbnMpOiBEZWZhdWx0RXJyb3JVaVN0cmluZ3Mge1xuICAgIGNvbnN0IGxhbmcgPSB0aGlzLnJlc29sdmVMYW5ndWFnZShvcHRpb25zLmxhbmd1YWdlKTtcbiAgICBjb25zdCBiYXNlID0gbGFuZyA9PT0gJ2h1JyA/IFNUUklOR1NfSFUgOiBTVFJJTkdTX0VOO1xuICAgIHJldHVybiB7IC4uLmJhc2UsIC4uLihvcHRpb25zLnN0cmluZ3MgPz8ge30pIH07XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVMYW5ndWFnZShsYW5nPzogRGVmYXVsdEVycm9yVWlMYW5ndWFnZSk6ICdodScgfCAnZW4nIHtcbiAgICBpZiAobGFuZyA9PT0gJ2h1JyB8fCBsYW5nID09PSAnZW4nKSB7XG4gICAgICByZXR1cm4gbGFuZztcbiAgICB9XG4gICAgcmV0dXJuIG5hdmlnYXRvci5sYW5ndWFnZT8udG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKCdodScpID8gJ2h1JyA6ICdlbic7XG4gIH1cbn1cbiJdfQ==
@@ -66,11 +66,20 @@ export class SmartErrorCatchingInterceptor {
66
66
  }));
67
67
  }
68
68
  }
69
+ if (this.isTransportError(error)) {
70
+ // Fire-and-forget; the request still rejects so callers can react per-call.
71
+ this.bootstrap.handleTransportError(error).catch((err) => {
72
+ console.error('handleTransportError hook threw', err);
73
+ });
74
+ }
69
75
  return throwError(() => error);
70
76
  }
71
77
  isSessionError(error) {
72
78
  return error.status === 400 && error.error.code != null;
73
79
  }
80
+ isTransportError(error) {
81
+ return error.status === 0 || error.status >= 500;
82
+ }
74
83
  getSessionError(error) {
75
84
  return this.sessionErrorCodes.find((sessionError) => sessionError.code === error.error.code);
76
85
  }
@@ -97,4 +106,4 @@ export class SmartErrorCatchingInterceptor {
97
106
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartErrorCatchingInterceptor, decorators: [{
98
107
  type: Injectable
99
108
  }], ctorParameters: () => [{ type: i1.SmartSessionService }, { type: i2.SmartBackendBootstrapService }] });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZXJyb3ItY2F0Y2hpbmcuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL3NtYXJ0LWVycm9yLWNhdGNoaW5nLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBSUwscUJBQXFCLEdBRXRCLE1BQU0sWUFBWSxDQUFDOzs7O0FBSXBCLE1BQU0sT0FBTyw2QkFBNkI7SUFnQ3hDLFlBQ1UsT0FBNEIsRUFDNUIsU0FBdUM7UUFEdkMsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUFDNUIsY0FBUyxHQUFULFNBQVMsQ0FBOEI7UUFqQ2pELHNCQUFpQixHQUFtQjtZQUNsQztnQkFDRSxJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixTQUFTLEVBQUUscUJBQXFCLENBQUMsT0FBTzthQUN6QztZQUNEO2dCQUNFLElBQUksRUFBRSw4QkFBOEI7Z0JBQ3BDLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxPQUFPO2FBQ3pDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLGlDQUFpQztnQkFDdkMsU0FBUyxFQUFFLHFCQUFxQixDQUFDLE9BQU87YUFDekM7WUFDRDtnQkFDRSxJQUFJLEVBQUUsNEJBQTRCO2dCQUNsQyxTQUFTLEVBQUUscUJBQXFCLENBQUMsT0FBTzthQUN6QztZQUNEO2dCQUNFLElBQUksRUFBRSwyQkFBMkI7Z0JBQ2pDLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxPQUFPO2FBQ3pDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLHdCQUF3QjtnQkFDOUIsU0FB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cUJBQXFCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUNsRSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxPQUE2QjtRQUN4RCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUF3QixFQUFFLEVBQUU7WUFDN0QsT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQ3RCLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUM7YUFDeEUsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOytHQXJHVSw2QkFBNkI7bUhBQTdCLDZCQUE2Qjs7NEZBQTdCLDZCQUE2QjtrQkFEekMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEh0dHBFcnJvclJlc3BvbnNlLFxuICBIdHRwRXZlbnQsXG4gIEh0dHBIYW5kbGVyLFxuICBIdHRwSW50ZXJjZXB0b3IsXG4gIEh0dHBSZXF1ZXN0LFxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBBcGlFcnJvcixcbiAgSGVhZGVyUGFyYW0sXG4gIFNlc3Npb25FcnJvcixcbiAgU2Vzc2lvbkVycm9yQmVoYXZpb3VyLFxuICBTbWFydFNlc3Npb25TZXJ2aWNlLFxufSBmcm9tICcuL3Byb2plY3RzJztcbmltcG9ydCB7IFNtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LWJhY2tlbmQtYm9vdHN0cmFwLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU21hcnRFcnJvckNhdGNoaW5nSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICBzZXNzaW9uRXJyb3JDb2RlczogU2Vzc2lvbkVycm9yW10gPSBbXG4gICAge1xuICAgICAgY29kZTogJ3Nlc3Npb24uZXhwaXJlZCcsXG4gICAgICBiZWhhdmlvdXI6IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRUZSRVNILFxuICAgIH0sXG4gICAge1xuICAgICAgY29kZTogJ3Nlc3Npb24ucmVmcmVzaHRva2VuLmludmFsaWQnLFxuICAgICAgYmVoYXZpb3VyOiBTZXNzaW9uRXJyb3JCZWhhdmlvdXIuUkVTVEFSVCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNvZGU6ICdzZXNzaW9uLmJhZHJlcXVlc3QubWlzc2luZ3Rva2VuJyxcbiAgICAgIGJlaGF2aW91cjogU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFU1RBUlQsXG4gICAgfSxcbiAgICB7XG4gICAgICBjb2RlOiAnc2Vzc2lvbi5zZWN1cml0eS5ub2NvbnRleHQnLFxuICAgICAgYmVoYXZpb3VyOiBTZXNzaW9uRXJyb3JCZWhhdmlvdXIuUkVTVEFSVCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNvZGU6ICdzZXNzaW9uLmludmFsaWRzZXNzaW9udXJpJyxcbiAgICAgIGJlaGF2aW91cjogU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFU1RBUlQsXG4gICAgfSxcbiAgICB7XG4gICAgICBjb2RlOiAnc2Vzc2lvbi5ub3Rpbml0aWFsaXplZCcsXG4gICAgICBiZWhhdmlvdXI6IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRVNUQVJULFxuICAgIH0sXG4gICAge1xuICAgICAgY29kZTogJ3Nlc3Npb24udmlld2NvbnRleHQubWlzc2luZycsXG4gICAgICBiZWhhdmlvdXI6IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRVNUQVJUX1ZJRVdDT05URVhULFxuICAgIH0sXG4gIF07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZXNzaW9uOiBTbWFydFNlc3Npb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgYm9vdHN0cmFwOiBTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLFxuICApIHt9XG5cbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XG4gICAgcmV0dXJuIG5leHRcbiAgICAgIC5oYW5kbGUocmVxdWVzdClcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnJvciwgcmVxdWVzdCwgbmV4dCkpKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRXJyb3IoXG4gICAgZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLFxuICAgIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LFxuICAgIG5leHQ6IEh0dHBIYW5kbGVyXG4gICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XG4gICAgaWYgKHRoaXMuaXNTZXNzaW9uRXJyb3IoZXJyb3IpKSB7XG4gICAgICBjb25zdCBzZXNzaW9uRXJyb3IgPSB0aGlzLmdldFNlc3Npb25FcnJvcihlcnJvcik7XG4gICAgICBpZiAoc2Vzc2lvbkVycm9yKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlc29sdmVFcnJvcihzZXNzaW9uRXJyb3IpLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKChyZXNvbHZlZCkgPT4ge1xuICAgICAgICAgICAgaWYgKHJlc29sdmVkICYmIHNlc3Npb25FcnJvci5iZWhhdmlvdXIgPT09IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRUZSRVNIKSB7XG4gICAgICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZSh0aGlzLnVwZGF0ZVJlcXVlc3RIZWFkZXJzKHJlcXVlc3QpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBjYXRjaEVycm9yKChyZXNvbHZlRXJyb3IpID0+IHtcbiAgICAgICAgICAgIC8vIHdoZW4gdGhlIHJlc29sdmVFcnJvciB0aHJvd3MgYSByZXN0YXJ0IGVycm9yIChpbiB0aGUgcmVmcmVzaFNlc3Npb24pLCByZXRocm93IHRoZSBvcmlnaW5hbCBlcnJvclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNTZXNzaW9uRXJyb3IocmVzb2x2ZUVycm9yKSkge1xuICAgICAgICAgICAgICBjb25zdCByZXNvbHZlU2Vzc2lvbkVycm9yID0gdGhpcy5nZXRTZXNzaW9uRXJyb3IocmVzb2x2ZUVycm9yKTtcbiAgICAgICAgICAgICAgaWYgKHJlc29sdmVTZXNzaW9uRXJyb3I/LmJlaGF2aW91ciA9PT0gU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFU1RBUlQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IHJlc29sdmVFcnJvcik7XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1Nlc3Npb25FcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZXJyb3Iuc3RhdHVzID09PSA0MDAgJiYgKGVycm9yLmVycm9yIGFzIEFwaUVycm9yKS5jb2RlICE9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIGdldFNlc3Npb25FcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBTZXNzaW9uRXJyb3IgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnNlc3Npb25FcnJvckNvZGVzLmZpbmQoXG4gICAgICAoc2Vzc2lvbkVycm9yOiBTZXNzaW9uRXJyb3IpID0+IHNlc3Npb25FcnJvci5jb2RlID09PSAoZXJyb3IuZXJyb3IgYXMgQXBpRXJyb3IpLmNvZGVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlRXJyb3Ioc2Vzc2lvbkVycm9yOiBTZXNzaW9uRXJyb3IpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmIChzZXNzaW9uRXJyb3IuYmVoYXZpb3VyID09PSBTZXNzaW9uRXJyb3JCZWhhdmlvdXIuUkVTVEFSVCkge1xuICAgICAgcmV0dXJuIGZyb20odGhpcy5zZXNzaW9uLmhhbmRsZVNlc3Npb25FcnJvcihzZXNzaW9uRXJyb3IpKTtcbiAgICB9XG4gICAgaWYgKHNlc3Npb25FcnJvci5iZWhhdmlvdXIgPT09IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRVNUQVJUX1ZJRVdDT05URVhUKSB7XG4gICAgICByZXR1cm4gZnJvbSh0aGlzLmJvb3RzdHJhcC5oYW5kbGVWaWV3Q29udGV4dExvc3Qoc2Vzc2lvbkVycm9yKSk7XG4gICAgfVxuICAgIHJldHVybiBmcm9tKHRoaXMuc2Vzc2lvbi5yZWZyZXNoU2Vzc2lvbigpKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUmVxdWVzdEhlYWRlcnMocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4pOiBIdHRwUmVxdWVzdDx1bmtub3duPiB7XG4gICAgdGhpcy5zZXNzaW9uLmhlYWRlclBhcmFtcy5mb3JFYWNoKChoZWFkZXJQYXJhbTogSGVhZGVyUGFyYW0pID0+IHtcbiAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgaGVhZGVyczogcmVxdWVzdC5oZWFkZXJzLnNldChoZWFkZXJQYXJhbS5oZWFkZXJOYW1lLCBoZWFkZXJQYXJhbS52YWx1ZSksXG4gICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVxdWVzdDtcbiAgfVxufVxuIl19
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZXJyb3ItY2F0Y2hpbmcuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL3NtYXJ0LWVycm9yLWNhdGNoaW5nLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBSUwscUJBQXFCLEdBRXRCLE1BQU0sWUFBWSxDQUFDOzs7O0FBSXBCLE1BQU0sT0FBTyw2QkFBNkI7SUFnQ3hDLFlBQ1UsT0FBNEIsRUFDNUIsU0FBdUM7UUFEdkMsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUFDNUIsY0FBUyxHQUFULFNBQVMsQ0FBOEI7UUFqQ2pELHNCQUFpQixHQUFtQjtZQUNsQztnQkFDRSxJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixTQUFTLEVBQUUscUJBQXFCLENBQUMsT0FBTzthQUN6QztZQUNEO2dCQUNFLElBQUksRUFBRSw4QkFBOEI7Z0JBQ3BDLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxPQUFPO2FBQ3pDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLGlDQUFpQztnQkFDdkMsU0FBUyxFQUFFLHFCQUFxQixDQUFDLE9BQU87YUFDekM7WUFDRDtnQkFDRSxJQUFJLEVBQUUsNEJBQTRCO2dCQUNsQyxTQUFTLEVBQUUscUJBQXFCLENBQUMsT0FBTzthQUN6QztZQUNEO2dCQUNFLElBQUksRUFBRSwyQkFBMkI7Z0JBQ2pDLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxPQUFPO2FBQ3pDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLHdCQUF3QjtnQkFDOUIsU0FB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QUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxLQUFNLEtBQUssQ0FBQyxLQUFrQixDQUFDLElBQUksQ0FDckYsQ0FBQztJQUNKLENBQUM7SUFFTyxZQUFZLENBQUMsWUFBMEI7UUFDN0MsSUFBSSxZQUFZLENBQUMsU0FBUyxLQUFLLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzdELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsSUFBSSxZQUFZLENBQUMsU0FBUyxLQUFLLHFCQUFxQixDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDekUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLG9CQUFvQixDQUFDLE9BQTZCO1FBQ3hELElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQXdCLEVBQUUsRUFBRTtZQUM3RCxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDdEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQzthQUN4RSxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7K0dBL0dVLDZCQUE2QjttSEFBN0IsNkJBQTZCOzs0RkFBN0IsNkJBQTZCO2tCQUR6QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSHR0cEVycm9yUmVzcG9uc2UsXG4gIEh0dHBFdmVudCxcbiAgSHR0cEhhbmRsZXIsXG4gIEh0dHBJbnRlcmNlcHRvcixcbiAgSHR0cFJlcXVlc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIEFwaUVycm9yLFxuICBIZWFkZXJQYXJhbSxcbiAgU2Vzc2lvbkVycm9yLFxuICBTZXNzaW9uRXJyb3JCZWhhdmlvdXIsXG4gIFNtYXJ0U2Vzc2lvblNlcnZpY2UsXG59IGZyb20gJy4vcHJvamVjdHMnO1xuaW1wb3J0IHsgU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZSB9IGZyb20gJy4vc21hcnQtYmFja2VuZC1ib290c3RyYXAuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTbWFydEVycm9yQ2F0Y2hpbmdJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIHNlc3Npb25FcnJvckNvZGVzOiBTZXNzaW9uRXJyb3JbXSA9IFtcbiAgICB7XG4gICAgICBjb2RlOiAnc2Vzc2lvbi5leHBpcmVkJyxcbiAgICAgIGJlaGF2aW91cjogU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFRlJFU0gsXG4gICAgfSxcbiAgICB7XG4gICAgICBjb2RlOiAnc2Vzc2lvbi5yZWZyZXNodG9rZW4uaW52YWxpZCcsXG4gICAgICBiZWhhdmlvdXI6IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRVNUQVJULFxuICAgIH0sXG4gICAge1xuICAgICAgY29kZTogJ3Nlc3Npb24uYmFkcmVxdWVzdC5taXNzaW5ndG9rZW4nLFxuICAgICAgYmVoYXZpb3VyOiBTZXNzaW9uRXJyb3JCZWhhdmlvdXIuUkVTVEFSVCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNvZGU6ICdzZXNzaW9uLnNlY3VyaXR5Lm5vY29udGV4dCcsXG4gICAgICBiZWhhdmlvdXI6IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRVNUQVJULFxuICAgIH0sXG4gICAge1xuICAgICAgY29kZTogJ3Nlc3Npb24uaW52YWxpZHNlc3Npb251cmknLFxuICAgICAgYmVoYXZpb3VyOiBTZXNzaW9uRXJyb3JCZWhhdmlvdXIuUkVTVEFSVCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNvZGU6ICdzZXNzaW9uLm5vdGluaXRpYWxpemVkJyxcbiAgICAgIGJlaGF2aW91cjogU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFU1RBUlQsXG4gICAgfSxcbiAgICB7XG4gICAgICBjb2RlOiAnc2Vzc2lvbi52aWV3Y29udGV4dC5taXNzaW5nJyxcbiAgICAgIGJlaGF2aW91cjogU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFU1RBUlRfVklFV0NPTlRFWFQsXG4gICAgfSxcbiAgXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNlc3Npb246IFNtYXJ0U2Vzc2lvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBib290c3RyYXA6IFNtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UsXG4gICkge31cblxuICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8dW5rbm93bj4+IHtcbiAgICByZXR1cm4gbmV4dFxuICAgICAgLmhhbmRsZShyZXF1ZXN0KVxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB0aGlzLmhhbmRsZUVycm9yKGVycm9yLCByZXF1ZXN0LCBuZXh0KSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcihcbiAgICBlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UsXG4gICAgcmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sXG4gICAgbmV4dDogSHR0cEhhbmRsZXJcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8dW5rbm93bj4+IHtcbiAgICBpZiAodGhpcy5pc1Nlc3Npb25FcnJvcihlcnJvcikpIHtcbiAgICAgIGNvbnN0IHNlc3Npb25FcnJvciA9IHRoaXMuZ2V0U2Vzc2lvbkVycm9yKGVycm9yKTtcbiAgICAgIGlmIChzZXNzaW9uRXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZUVycm9yKHNlc3Npb25FcnJvcikucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoKHJlc29sdmVkKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzb2x2ZWQgJiYgc2Vzc2lvbkVycm9yLmJlaGF2aW91ciA9PT0gU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFRlJFU0gpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHRoaXMudXBkYXRlUmVxdWVzdEhlYWRlcnMocmVxdWVzdCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKHJlc29sdmVFcnJvcikgPT4ge1xuICAgICAgICAgICAgLy8gd2hlbiB0aGUgcmVzb2x2ZUVycm9yIHRocm93cyBhIHJlc3RhcnQgZXJyb3IgKGluIHRoZSByZWZyZXNoU2Vzc2lvbiksIHJldGhyb3cgdGhlIG9yaWdpbmFsIGVycm9yXG4gICAgICAgICAgICBpZiAodGhpcy5pc1Nlc3Npb25FcnJvcihyZXNvbHZlRXJyb3IpKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHJlc29sdmVTZXNzaW9uRXJyb3IgPSB0aGlzLmdldFNlc3Npb25FcnJvcihyZXNvbHZlRXJyb3IpO1xuICAgICAgICAgICAgICBpZiAocmVzb2x2ZVNlc3Npb25FcnJvcj8uYmVoYXZpb3VyID09PSBTZXNzaW9uRXJyb3JCZWhhdmlvdXIuUkVTVEFSVCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gcmVzb2x2ZUVycm9yKTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5pc1RyYW5zcG9ydEVycm9yKGVycm9yKSkge1xuICAgICAgLy8gRmlyZS1hbmQtZm9yZ2V0OyB0aGUgcmVxdWVzdCBzdGlsbCByZWplY3RzIHNvIGNhbGxlcnMgY2FuIHJlYWN0IHBlci1jYWxsLlxuICAgICAgdGhpcy5ib290c3RyYXAuaGFuZGxlVHJhbnNwb3J0RXJyb3IoZXJyb3IpLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcignaGFuZGxlVHJhbnNwb3J0RXJyb3IgaG9vayB0aHJldycsIGVycik7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1Nlc3Npb25FcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZXJyb3Iuc3RhdHVzID09PSA0MDAgJiYgKGVycm9yLmVycm9yIGFzIEFwaUVycm9yKS5jb2RlICE9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIGlzVHJhbnNwb3J0RXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGVycm9yLnN0YXR1cyA9PT0gMCB8fCBlcnJvci5zdGF0dXMgPj0gNTAwO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTZXNzaW9uRXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKTogU2Vzc2lvbkVycm9yIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5zZXNzaW9uRXJyb3JDb2Rlcy5maW5kKFxuICAgICAgKHNlc3Npb25FcnJvcjogU2Vzc2lvbkVycm9yKSA9PiBzZXNzaW9uRXJyb3IuY29kZSA9PT0gKGVycm9yLmVycm9yIGFzIEFwaUVycm9yKS5jb2RlXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZUVycm9yKHNlc3Npb25FcnJvcjogU2Vzc2lvbkVycm9yKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAoc2Vzc2lvbkVycm9yLmJlaGF2aW91ciA9PT0gU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFU1RBUlQpIHtcbiAgICAgIHJldHVybiBmcm9tKHRoaXMuc2Vzc2lvbi5oYW5kbGVTZXNzaW9uRXJyb3Ioc2Vzc2lvbkVycm9yKSk7XG4gICAgfVxuICAgIGlmIChzZXNzaW9uRXJyb3IuYmVoYXZpb3VyID09PSBTZXNzaW9uRXJyb3JCZWhhdmlvdXIuUkVTVEFSVF9WSUVXQ09OVEVYVCkge1xuICAgICAgcmV0dXJuIGZyb20odGhpcy5ib290c3RyYXAuaGFuZGxlVmlld0NvbnRleHRMb3N0KHNlc3Npb25FcnJvcikpO1xuICAgIH1cbiAgICByZXR1cm4gZnJvbSh0aGlzLnNlc3Npb24ucmVmcmVzaFNlc3Npb24oKSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVJlcXVlc3RIZWFkZXJzKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+KTogSHR0cFJlcXVlc3Q8dW5rbm93bj4ge1xuICAgIHRoaXMuc2Vzc2lvbi5oZWFkZXJQYXJhbXMuZm9yRWFjaCgoaGVhZGVyUGFyYW06IEhlYWRlclBhcmFtKSA9PiB7XG4gICAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7XG4gICAgICAgIGhlYWRlcnM6IHJlcXVlc3QuaGVhZGVycy5zZXQoaGVhZGVyUGFyYW0uaGVhZGVyTmFtZSwgaGVhZGVyUGFyYW0udmFsdWUpLFxuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlcXVlc3Q7XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Injectable, Optional, Inject, PLATFORM_ID, NgModule, SkipSelf, RendererStyleFlags2, Directive, Input, HostBinding, HostListener, Component, EventEmitter, Output, ViewChildren, ViewChild, ElementRef, forwardRef, Pipe, ViewContainerRef, ViewEncapsulation, ChangeDetectionStrategy, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, input, computed, effect, signal, ChangeDetectorRef } from '@angular/core';
2
+ import { InjectionToken, Injectable, Optional, Inject, PLATFORM_ID, NgModule, SkipSelf, RendererStyleFlags2, Directive, Input, HostBinding, HostListener, Component, EventEmitter, Output, ViewChildren, ViewChild, ElementRef, forwardRef, Pipe, ViewContainerRef, ViewEncapsulation, ChangeDetectionStrategy, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, inject, input, computed, effect, signal, ChangeDetectorRef } from '@angular/core';
3
3
  import * as i1 from '@angular/common/http';
4
4
  import { HttpHeaders, HttpContext, HttpErrorResponse, HttpParams, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
5
5
  import { Subject, lastValueFrom, take, takeUntil, interval, startWith, map, distinctUntilChanged, catchError, throwError, from } from 'rxjs';
@@ -33,7 +33,7 @@ import { ENTER, COMMA } from '@angular/cdk/keycodes';
33
33
  import { deepEqual } from 'fast-equals';
34
34
  import moment from 'moment';
35
35
  import * as i1$4 from '@angular/material/snack-bar';
36
- import { MAT_SNACK_BAR_DATA, MatSnackBarModule } from '@angular/material/snack-bar';
36
+ import { MAT_SNACK_BAR_DATA, MatSnackBarModule, MatSnackBar } from '@angular/material/snack-bar';
37
37
  import { TemplatePortal } from '@angular/cdk/portal';
38
38
  import * as i2$2 from '@angular/cdk/overlay';
39
39
  import * as i11 from '@angular/material/form-field';
@@ -13212,7 +13212,7 @@ class SmartBackendBootstrapService {
13212
13212
  this.session.setCookieName(config.cookieName);
13213
13213
  this.session.setSessionHandlerService(this);
13214
13214
  this.viewContext.setViewHandlers(config.viewHandlers);
13215
- this.viewContext.setMessageDialogName(config.messageDialogName);
13215
+ this.viewContext.setMessageDialogName(config.messageDialogName ?? 'message-dialog');
13216
13216
  this.viewContext.setActionDescriptors(config.actionDescriptors);
13217
13217
  this.viewContext.openSmartLink.subscribe((channel) => {
13218
13218
  this.handleSmartLink(channel);
@@ -13295,6 +13295,21 @@ class SmartBackendBootstrapService {
13295
13295
  }
13296
13296
  await this.viewContext.initNewViewContext();
13297
13297
  }
13298
+ /**
13299
+ * Called by `SmartErrorCatchingInterceptor` for transport-level failures
13300
+ * (status 0, 5xx). Fire-and-forget; the request still rejects with the
13301
+ * original error so callers can do per-call handling.
13302
+ */
13303
+ async handleTransportError(err) {
13304
+ if (!this.config) {
13305
+ return Promise.reject(new Error('SmartBackendBootstrapService.configure() must be called before handleTransportError().'));
13306
+ }
13307
+ if (this.config.onTransportError) {
13308
+ await this.config.onTransportError(err);
13309
+ return;
13310
+ }
13311
+ console.warn('Transport error — server unreachable or 5xx', err);
13312
+ }
13298
13313
  async runInit() {
13299
13314
  try {
13300
13315
  await this.session.initialize();
@@ -13343,6 +13358,136 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
13343
13358
  args: [{ providedIn: 'root' }]
13344
13359
  }], ctorParameters: () => [{ type: SmartSessionService }, { type: SmartViewContextService }] });
13345
13360
 
13361
+ const STRINGS_HU = {
13362
+ startErrorMessage: 'A szerver nem elérhető.',
13363
+ startErrorRetry: 'Újrapróbálás',
13364
+ transportErrorMessage: 'A szerver nem elérhető.',
13365
+ transportErrorReload: 'Újratöltés',
13366
+ sessionErrorMessage: 'A munkamenet lejárt, kérjük jelentkezzen be újra.',
13367
+ sessionErrorAction: 'Bejelentkezés',
13368
+ };
13369
+ const STRINGS_EN = {
13370
+ startErrorMessage: 'The server is unavailable.',
13371
+ startErrorRetry: 'Retry',
13372
+ transportErrorMessage: 'The server is unavailable.',
13373
+ transportErrorReload: 'Reload',
13374
+ sessionErrorMessage: 'Your session has expired. Please log in again.',
13375
+ sessionErrorAction: 'Log in',
13376
+ };
13377
+ /**
13378
+ * Opt-in default UX for `SmartBackendBootstrapService` error hooks.
13379
+ *
13380
+ * Spread the result of `hooks(options)` into `bootstrap.configure()` to get a
13381
+ * MatSnackBar-based "error + retry" UI without writing the host glue:
13382
+ *
13383
+ * ```ts
13384
+ * bootstrap.configure({
13385
+ * ...minimalConfig,
13386
+ * ...defaultErrorUi.hooks({ language: 'hu' }),
13387
+ * });
13388
+ * ```
13389
+ *
13390
+ * Hosts that want custom logic can omit this service and write their own
13391
+ * `onStartError` / `onTransportError` callbacks directly.
13392
+ */
13393
+ class SmartDefaultErrorUiService {
13394
+ constructor() {
13395
+ this.snackBar = inject(MatSnackBar);
13396
+ this.session = inject(SmartSessionService);
13397
+ }
13398
+ /** Returns a hooks bundle ready to spread into `bootstrap.configure()`. */
13399
+ hooks(options = {}) {
13400
+ return {
13401
+ onStartError: (err) => this.showStartError(err, options),
13402
+ onTransportError: (err) => this.showTransportError(err, options),
13403
+ onSessionError: (err) => this.showSessionError(err, options),
13404
+ };
13405
+ }
13406
+ showStartError(_err, options = {}) {
13407
+ const s = this.resolveStrings(options);
13408
+ const ref = this.snackBar.open(s.startErrorMessage, s.startErrorRetry, {
13409
+ duration: 0, // sticky — app is not usable until retry succeeds
13410
+ });
13411
+ // Full reload, not bootstrap.start(). A bootstrap.start() retry only re-runs
13412
+ // the init sequence; any components that already mounted during the failed
13413
+ // attempt have rejected `whenReady()` Promises and won't re-trigger their
13414
+ // run() when bootstrap eventually succeeds. Reload guarantees a clean mount.
13415
+ ref.onAction().subscribe(() => this.verifyServerAndReload());
13416
+ }
13417
+ showTransportError(_err, options = {}) {
13418
+ const s = this.resolveStrings(options);
13419
+ const ref = this.snackBar.open(s.transportErrorMessage, s.transportErrorReload, {
13420
+ duration: options.transportErrorDuration ?? 0,
13421
+ });
13422
+ ref.onAction().subscribe(() => this.verifyServerAndReload());
13423
+ }
13424
+ showSessionError(_err, options = {}) {
13425
+ const s = this.resolveStrings(options);
13426
+ const ref = this.snackBar.open(s.sessionErrorMessage, s.sessionErrorAction, {
13427
+ duration: 0, // sticky — session is invalid until the user takes action
13428
+ });
13429
+ ref.onAction().subscribe(() => this.recoverSession());
13430
+ }
13431
+ /**
13432
+ * Clears the dead session and reloads. Unlike `verifyServerAndReload`, this
13433
+ * does NOT pre-check via `getSession()` — the SID is known to be invalid,
13434
+ * so the check would fail. We best-effort `clearAndStartNewSession()`
13435
+ * (creates a fresh anonymous session); reload happens regardless so the
13436
+ * user is not stuck if the clear fails (e.g., server flapping).
13437
+ *
13438
+ * Overridable in tests.
13439
+ */
13440
+ async recoverSession() {
13441
+ try {
13442
+ await this.session.clearAndStartNewSession();
13443
+ }
13444
+ catch {
13445
+ // Server may also be down; reload anyway and let bootstrap.start() retry.
13446
+ }
13447
+ this.reloadPage();
13448
+ }
13449
+ /**
13450
+ * Pings `getSession()` before reloading: if the server is still down, the
13451
+ * reload would just re-trigger the broken-screen state. The failed check
13452
+ * goes through `SmartErrorCatchingInterceptor` and re-fires `onTransportError`,
13453
+ * so the user sees a fresh snackbar — they get visible feedback that the
13454
+ * server is still unreachable, without paying the cost of a full bundle
13455
+ * reload that lands on the same broken state.
13456
+ *
13457
+ * Overridable in tests.
13458
+ */
13459
+ async verifyServerAndReload() {
13460
+ try {
13461
+ await this.session.getSession();
13462
+ }
13463
+ catch {
13464
+ return; // server still unreachable — interceptor re-opens the snackbar
13465
+ }
13466
+ this.reloadPage();
13467
+ }
13468
+ /** Overridable in tests. */
13469
+ reloadPage() {
13470
+ window.location.reload();
13471
+ }
13472
+ resolveStrings(options) {
13473
+ const lang = this.resolveLanguage(options.language);
13474
+ const base = lang === 'hu' ? STRINGS_HU : STRINGS_EN;
13475
+ return { ...base, ...(options.strings ?? {}) };
13476
+ }
13477
+ resolveLanguage(lang) {
13478
+ if (lang === 'hu' || lang === 'en') {
13479
+ return lang;
13480
+ }
13481
+ return navigator.language?.toLowerCase().startsWith('hu') ? 'hu' : 'en';
13482
+ }
13483
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartDefaultErrorUiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13484
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartDefaultErrorUiService, providedIn: 'root' }); }
13485
+ }
13486
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartDefaultErrorUiService, decorators: [{
13487
+ type: Injectable,
13488
+ args: [{ providedIn: 'root' }]
13489
+ }] });
13490
+
13346
13491
  /*
13347
13492
  * Public API Surface of smart-session
13348
13493
  */
@@ -13408,11 +13553,20 @@ class SmartErrorCatchingInterceptor {
13408
13553
  }));
13409
13554
  }
13410
13555
  }
13556
+ if (this.isTransportError(error)) {
13557
+ // Fire-and-forget; the request still rejects so callers can react per-call.
13558
+ this.bootstrap.handleTransportError(error).catch((err) => {
13559
+ console.error('handleTransportError hook threw', err);
13560
+ });
13561
+ }
13411
13562
  return throwError(() => error);
13412
13563
  }
13413
13564
  isSessionError(error) {
13414
13565
  return error.status === 400 && error.error.code != null;
13415
13566
  }
13567
+ isTransportError(error) {
13568
+ return error.status === 0 || error.status >= 500;
13569
+ }
13416
13570
  getSessionError(error) {
13417
13571
  return this.sessionErrorCodes.find((sessionError) => sessionError.code === error.error.code);
13418
13572
  }
@@ -23861,5 +24015,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
23861
24015
  * Generated bundle index. Do not edit.
23862
24016
  */
23863
24017
 
23864
- export { APIS$5 as APIS, AbstractMap, ApiModule$5 as ApiModule, ApiQueueService, BASE_PATH$7 as BASE_PATH, COLLECTION_FORMATS$7 as COLLECTION_FORMATS, COMPONENT_LIBRARY, CUSTOM_DIAGRAM_OPTIONS, CloseResult, ComparableDropdownDirective, ComparableMultiselectDirective, ComponentFactoryService, ComponentFactoryServiceModule, ComponentLibrary, ComponentType, ComponentWidgetType, Configuration$7 as Configuration, DIALOG_DISABLE_CLOSE, DataChangeKind, DefaultChartOptionsProvider, DefaultUiActionCode_CLOSE, DrawTime, EMPTY_PARAMS, ExpandableSectionButtonIconPosition, ExpandableSectionButtonType, ExpandableSectionComponent, FilterExpressionBoolOperator$1 as FilterExpressionBoolOperator, FilterExpressionBuilderGroupBuilderGroupKindEnum, FilterExpressionDataType, FilterExpressionFieldWidgetType, FilterExpressionOperation, FilterExpressionOrderByOrderEnum, GeoMapDataLoadingMode, GeoMapDataSourceType, GeoMapItemKind, GeoMapOperationMode, GeoMapSelectionMode, GeoMapTextType, GoogleMap, GridColumnContentType, GridDataAccessConfigKindEnum, GridSelectionMode, GridSelectionType, GridUiActionType, GridViewDescriptorKindEnum, HighlightPipe, IS_ASYNC_PARAM_NAME, IconPosition, ImageResourceKindEnum, LayoutDirection, LeafletMap, LinkTargetEnum, MAP_ENGINE, MapEngine, MenuComponent, MessageOptionType, MessageTextType, MessageType, NAMED_VALIDATOR, NamedValidatorOperationEnum, NamedValidatorService, PhotoCaptureWidgetComponent, RecordingUploaderPropertiesOpenDirectionEnum, SelectionDefinitionTypeEnum, SelectionDefinitionValueSetValueTypeEnum, ServerRequestType, SessionAPIS, SessionErrorBehaviour, SessionService, SharedModule, SimplifiedTabGroupComponent, SmartActionType, SmartBackendBootstrapService, SmartComponent, SmartComponentApiClient, SmartComponentLayoutComponent, SmartComponentLayoutModule, SmartComponentLayoutUtility, SmartDatePipe, SmartDateTimePipe, SmartDiagramComponent, SmartDiagramModule, SmartDialog, SmartEmbeddedSlotDirective, SmartExpandableSectionModule, SmartExpandableSectionService, SmartFileEditorComponent, SmartFileUploaderComponent, SmartFilterComponent, SmartFilterEditorContentComponent, SmartFilterEditorModule, SmartFilterEditorService, SmartFilterExpressionItemComponent, SmartFilterExpressionItemsComponent, SmartFilterModule, SmartFilterParamComponent, SmartFilterParamsComponent, SmartFilterPosition, SmartFilterType, SmartFormInputMode, SmartFormTextFieldButtonIconPosition, SmartFormWidgetDirection, SmartFormWidgetType, SmartFormWidgetWidth, SmartGridButtonType, SmartGridComponent, SmartGridDataLayout, SmartGridModule, SmartGridService, SmartGridType, SmartIconComponent, SmartIconModule, SmartIconService, SmartLayoutDef, SmartLinkChannelVariableInPath, SmartLinkMigrationStatusStatusEnum, SmartLinkUuidVariableInPath, SmartMapComponent, SmartMapModule, SmartMultiFileEditorComponent, SmartNavbarComponent, SmartNavbarModule, SmartNavbarService, SmartNavigationModule, SmartNavigationService, SmartNgClientModule, SmartNgClientService, SmartService, SmartSessionModule, SmartSessionService, SmartSessionTimerComponent, SmartSessionTimerService, SmartSubject, SmartTabGroupModule, SmartTabGroupService, SmartTable, SmartTableButtonType, SmartTableHeaderPropertyType, SmartTableInterfaceTypeEnum, SmartTableOptionButtonDirection, SmartTableOrder, SmartTableType, SmartTimePipe, SmartTooltipDirective, SmartTreeComponent, SmartTreeNodeButtonType, SmartUserSettinsIconPosition, SmartValidationModule, SmartValidatorName, SmartViewContextErrorDialogButtonLabel, SmartViewContextErrorDialogMessage, SmartViewContextErrorDialogTitle, SmartViewContextModule, SmartViewContextService, SmartViewRedirect, SmartVoiceRecorderComponent, SmartWidgetHintPosition, SmartWidgetHintPositionEnum, SmartWidgetSettings, SmartdialogModule, SmartdialogService, SmartfileuploaderComponent, SmartformComponent, SmartformLayoutDefinitionService, SmartformwidgetComponent, SmarttableComponent, SmarttableModule, SmarttableService, SmarttreeGenericService, SmarttreeModule, SmarttreeService, TabGroupComponent, ToggleLabelPosition, ToolbarDirection, UiActionButtonComponent, UiActionButtonType, UiActionConfirmDialogComponent, UiActionConfirmDialogService, UiActionDescriptorService, UiActionDialogButtonComponent, UiActionDialogType, UiActionFeedbackType, UiActionInputDialogComponent, UiActionInputDialogService, UiActionInputType, UiActionService, UiActionToolbarComponent, UiActionTooltipTooltipPositionEnum, UiBadgeComponent, UiBadgeDirective, UploadWidgetComponent, UploadWidgetType, ValueChangeMode, ViewEventHandlerViewEventTypeEnum, ViewService, ViewState, ViewType, VoiceRecordWidgetComponent, barChart, bubbleChart, createBasicOptions, doughnutChart, horizontalBarChart, horizontalStackedBarChart, multiAxisLineChart, pieChart, polarAreaChart, radarChart, scatterChart, stackedBarChart, transformDataToBarLikeDataSet, transformDataToBasicDataSets, transformDataToBubble, transformDataToScatter };
24018
+ export { APIS$5 as APIS, AbstractMap, ApiModule$5 as ApiModule, ApiQueueService, BASE_PATH$7 as BASE_PATH, COLLECTION_FORMATS$7 as COLLECTION_FORMATS, COMPONENT_LIBRARY, CUSTOM_DIAGRAM_OPTIONS, CloseResult, ComparableDropdownDirective, ComparableMultiselectDirective, ComponentFactoryService, ComponentFactoryServiceModule, ComponentLibrary, ComponentType, ComponentWidgetType, Configuration$7 as Configuration, DIALOG_DISABLE_CLOSE, DataChangeKind, DefaultChartOptionsProvider, DefaultUiActionCode_CLOSE, DrawTime, EMPTY_PARAMS, ExpandableSectionButtonIconPosition, ExpandableSectionButtonType, ExpandableSectionComponent, FilterExpressionBoolOperator$1 as FilterExpressionBoolOperator, FilterExpressionBuilderGroupBuilderGroupKindEnum, FilterExpressionDataType, FilterExpressionFieldWidgetType, FilterExpressionOperation, FilterExpressionOrderByOrderEnum, GeoMapDataLoadingMode, GeoMapDataSourceType, GeoMapItemKind, GeoMapOperationMode, GeoMapSelectionMode, GeoMapTextType, GoogleMap, GridColumnContentType, GridDataAccessConfigKindEnum, GridSelectionMode, GridSelectionType, GridUiActionType, GridViewDescriptorKindEnum, HighlightPipe, IS_ASYNC_PARAM_NAME, IconPosition, ImageResourceKindEnum, LayoutDirection, LeafletMap, LinkTargetEnum, MAP_ENGINE, MapEngine, MenuComponent, MessageOptionType, MessageTextType, MessageType, NAMED_VALIDATOR, NamedValidatorOperationEnum, NamedValidatorService, PhotoCaptureWidgetComponent, RecordingUploaderPropertiesOpenDirectionEnum, SelectionDefinitionTypeEnum, SelectionDefinitionValueSetValueTypeEnum, ServerRequestType, SessionAPIS, SessionErrorBehaviour, SessionService, SharedModule, SimplifiedTabGroupComponent, SmartActionType, SmartBackendBootstrapService, SmartComponent, SmartComponentApiClient, SmartComponentLayoutComponent, SmartComponentLayoutModule, SmartComponentLayoutUtility, SmartDatePipe, SmartDateTimePipe, SmartDefaultErrorUiService, SmartDiagramComponent, SmartDiagramModule, SmartDialog, SmartEmbeddedSlotDirective, SmartExpandableSectionModule, SmartExpandableSectionService, SmartFileEditorComponent, SmartFileUploaderComponent, SmartFilterComponent, SmartFilterEditorContentComponent, SmartFilterEditorModule, SmartFilterEditorService, SmartFilterExpressionItemComponent, SmartFilterExpressionItemsComponent, SmartFilterModule, SmartFilterParamComponent, SmartFilterParamsComponent, SmartFilterPosition, SmartFilterType, SmartFormInputMode, SmartFormTextFieldButtonIconPosition, SmartFormWidgetDirection, SmartFormWidgetType, SmartFormWidgetWidth, SmartGridButtonType, SmartGridComponent, SmartGridDataLayout, SmartGridModule, SmartGridService, SmartGridType, SmartIconComponent, SmartIconModule, SmartIconService, SmartLayoutDef, SmartLinkChannelVariableInPath, SmartLinkMigrationStatusStatusEnum, SmartLinkUuidVariableInPath, SmartMapComponent, SmartMapModule, SmartMultiFileEditorComponent, SmartNavbarComponent, SmartNavbarModule, SmartNavbarService, SmartNavigationModule, SmartNavigationService, SmartNgClientModule, SmartNgClientService, SmartService, SmartSessionModule, SmartSessionService, SmartSessionTimerComponent, SmartSessionTimerService, SmartSubject, SmartTabGroupModule, SmartTabGroupService, SmartTable, SmartTableButtonType, SmartTableHeaderPropertyType, SmartTableInterfaceTypeEnum, SmartTableOptionButtonDirection, SmartTableOrder, SmartTableType, SmartTimePipe, SmartTooltipDirective, SmartTreeComponent, SmartTreeNodeButtonType, SmartUserSettinsIconPosition, SmartValidationModule, SmartValidatorName, SmartViewContextErrorDialogButtonLabel, SmartViewContextErrorDialogMessage, SmartViewContextErrorDialogTitle, SmartViewContextModule, SmartViewContextService, SmartViewRedirect, SmartVoiceRecorderComponent, SmartWidgetHintPosition, SmartWidgetHintPositionEnum, SmartWidgetSettings, SmartdialogModule, SmartdialogService, SmartfileuploaderComponent, SmartformComponent, SmartformLayoutDefinitionService, SmartformwidgetComponent, SmarttableComponent, SmarttableModule, SmarttableService, SmarttreeGenericService, SmarttreeModule, SmarttreeService, TabGroupComponent, ToggleLabelPosition, ToolbarDirection, UiActionButtonComponent, UiActionButtonType, UiActionConfirmDialogComponent, UiActionConfirmDialogService, UiActionDescriptorService, UiActionDialogButtonComponent, UiActionDialogType, UiActionFeedbackType, UiActionInputDialogComponent, UiActionInputDialogService, UiActionInputType, UiActionService, UiActionToolbarComponent, UiActionTooltipTooltipPositionEnum, UiBadgeComponent, UiBadgeDirective, UploadWidgetComponent, UploadWidgetType, ValueChangeMode, ViewEventHandlerViewEventTypeEnum, ViewService, ViewState, ViewType, VoiceRecordWidgetComponent, barChart, bubbleChart, createBasicOptions, doughnutChart, horizontalBarChart, horizontalStackedBarChart, multiAxisLineChart, pieChart, polarAreaChart, radarChart, scatterChart, stackedBarChart, transformDataToBarLikeDataSet, transformDataToBasicDataSets, transformDataToBubble, transformDataToScatter };
23865
24019
  //# sourceMappingURL=smartbit4all-ng-client.mjs.map