# Thin Client events
locale: en
repository: safeview
product: safeview
services:
   - thin-client
contact:
   - xxxxx@menlosecurity.com

thin-client:
   title: Thin Client
   py_output: false
   js_output: false

   show-error-page:
      public: true
      level: CRITICAL
      reason: The thin-client is unable to pair to a surrogate and is displaying 'Maintenance in Progress'.
      cause: A server issue is preventing the thin-client in the client browser from being able to pair to a surrogate browser.
      action: Restart the instance.  If the problem persists, export diagnostics and contact Menlo Security Support.

   tc-server-call-failed:
      public: true
      level:  ERROR
      reason: A thin client XHR request to the server has failed.
      cause: A server issue has prevented communication between the thin-client on the client browser to the server.
      action: None required.  If the problem persists, restart the instance. If restarting does not solve the issue, export
              diagnostics and contact Menlo Security Support.

   tc-channel-websock-retry:
      public: true
      level: WARNING
      reason: Re-establish the websocket connection.
      cause: The Channel was severed while in websockets mode, perhaps due to a flaky network or idle TCP timeout.
      action: None required. TC will retry up to 3 times before doing a full page refresh.

   tc-channel-ws-high-rtt:
      public: true
      level: WARNING
      reason: High RTT (round trip time) was detected on the TC to SurrogateRouter channel.
      cause: Network latency is usually to blame.
      action: None required nor possible. Interactive response time will suffer.

   tc-channel-long-poll-retry:
      public: true
      level: WARNING
      reason: Retry the long-polling request.
      cause: A pull or push XHR failed, perhaps because of a flaky network.
      action: None required. TC will retry up to 3 times before doing a full page refresh.

   tc-channel-died:
      public: true
      level:  INFO
      reason: The channel between the thin client in the client's browser and the surrogate browser has been removed.
      cause: User has been allocated a new surrogate and a new channel needs to be estabished.
      action: None required. This is a normal occurance during browsing to maintain isolation when navigating to different sites.

   warn:
      public: true
      level:  WARNING
      reason: The thin-client has encountered something unexpected that it has dealt with.
      cause:  See message attribute for details.
      action: None required.

   error:
      public: true
      level:  WARNING
      reason: The thin-client has encountered something unexpected that it has dealt with.
      cause: See message attribute for details.
      action: None required.

   tc-assert:
      public: true
      level:  WARNING
      reason: The thin-client has encountered an invalid or unexpected state.
      cause: An unexpected state in the thin-client.
      action: None required.

   tc-uncaught-exception:
      public: true
      level:  ERROR
      reason: The thin-client has encountered an unexpected exception.
      cause: An uncaught exception has been raised in the thin-client.
      action: None required.

   tc-cb-generated-exception:
      public: false
      level:  ERROR
      reason: An uncaught exception was thrown inside of the event callback
      cause: An uncaught exception has been raised in the thin-client during a callback.
      action: None required.

   tc-channel-abort-push-xhr:
      public: false
      level:  WARNING
      reason: A push XHR request has been aborted
      cause:
      action:

   tc-channel-websock-connect-error:
      public: false
      level:  INFO
      reason: TC was unable to establish a WebSocket connection with the server

   tc-channel-websock-test-failed:
      public: false
      level:  INFO
      reason: The test for WebSockets connectivity has failed

   tc-cof-client-unexpected-origin:
      public: false
      level:  WARNING
      reason: Message came from a frame from an unexpected origin via PostMessage API (potential security violation)
      cause:
      action:

   tc-cof-server-unexpected-origin:
      public: false
      level:  WARNING
      reason: Message came from a frame from an unexpected origin via PostMessage API (potential security violation)
      cause:
      action:

   tc-commframe-invalid-domain:
      public: false
      level:  ERROR
      reason: The communication frame that sent the message has a wrong domain origin
      cause:
      action:

   tc-domframe-invalid-domain:
      public: false
      level:  ERROR
      reason: The communication frame received a message from a dom frame of which thedomain origin cannot be verified
      cause:
      action:

   tc-domframe-domain-check:
      public: false
      level:  ERROR
      reason: The communication frame is not able to find the domain to enforce message post
      cause:
      action:

   tc-dom-alternate-append-child-failed:
      public: false
      level:  WARNING
      reason: An alternative version of appendChild failed
      cause:
      action:

   tc-dom-char-data-add-error:
      public: false
      level:  WARNING
      reason: Exception generated when adding character data
      cause:
      action:

   tc-dom-frame-fid-missing:
      public: false
      level:  ERROR
      reason: An iframe DOM node is created but fid is missing
      cause:
      action:

   tc-dom-insert-sibling-error:
      public: false
      level:  WARNING
      reason: Exception generated while trying to insert a sibling DOM element
      cause:
      action:

   tc-dom-loaded:
      public: true
      level:  INFO
      reason: TC has received the DOM-loaded event from the Surrogate and has processed / applied all preceding updates

   tc-dom-unexpected-property-update:
      public: false
      level:  ERROR
      reason: A property update was made to an input or file element; those updates should be handled on a separate path
      cause:
      action:

   tc-dom-unknown-scroll:
      public: false
      level:  ERROR
      reason: An unrecognized scroll controller was detected, default action is to ignore it (scrolling may not work correctly in this case)
      cause:
      action:

   tc-dom-unable-to-blur:
      public: false
      level:  WARNING
      reason: Element is missing the blur property and thus cannot be blurred
      cause:
      action:

   tc-download-failed-to-get-policy:
      public: false
      level:  ERROR
      reason: Unable to retrieve the policy for this page from the server
      cause:
      action:

   tc-feedback-no-bypass:
      public: false
      level:  INFO
      reason: Server has indicated that this page will not be bypassed

   tc-feedback-not-showing-bar:
      public: false
      level:  INFO
      reason: Server has indicates that the feedback bar should not be shown

   tc-frame-helper-load-timed-out:
      public: false
      level:  ERROR
      reason: Unable to load the frame helper because the frame contentWindow is not accessible
      cause:
      action:

   tc-frame-load-timed-out:
      public: false
      level:  ERROR
      reason: Frame failed to become ready within the timeout interval
      cause:
      action:

   tc-interp-element-not-found-error:
      public: false
      level:  INFO
      reason: Interpreter received a ElementNotFound exception, typically generated by HTML5 video subsystem on IE

   tc-interp-unknown-opcode:
      public: false
      level:  WARNING
      reason: TC received an unknown opcode, could indicate a security violation
      cause:
      action:

   tc-localization-no-entry:
      public: false
      level: ERROR
      reason: Translation was requested for an unknown id
      cause:
      action:

   tc-media-blob-unknown-node:
      public: false
      level:  WARNING
      reason: Cannot stash block for unknown node
      cause:
      action:

   tc-media-error:
      public: false
      level:  WARNING
      reason: Encountered an error while loading or playing the media
      cause:
      action:

   tc-media-state-update-missing-property:
      public: false
      level:  WARNING
      reason: The media node is a missing a property for which we have a state update
      cause:
      action:

   tc-media-unknown-node:
      public: false
      level:  WARNING
      reason: TC received a MEDIA_NEW_NODE command but the corresponding DOM element has yet to be registered
      cause:
      action:

   tc-pairing-invalid-url:
      public: false
      level:  ERROR
      reason: The top frame has requested to load a page for a different domain
      cause:
      action:

   tc-pairing-repaired-to-new-surrogate:
      public: false
      level:  WARNING
      reason: TC has been re-paired with a new Surrogate
      cause:
      action:

   tc-pairing-retry:
      public: false
      level:  WARNING
      reason: server has instructed TC to fast-retry pairing with exponential backoff (no MIP screen shown), usually due to a server-side Surrogate allocation error
      cause:
      action:

   tc-pairing-slow-retry:
      public: false
      level:  WARNING
      reason: Pairing failed for an unusual reason (e.g., network error), will slow retry a few times in an effort to silently recover (no MIP screen shown)
      cause:
      action:

   tc-pairing-tab-storage-invalid:
      public: false
      level:  WARNING
      reason: The pairing state stored in TabStorage is not valid; this results in a full TC reset (reset of tab state + reload)
      cause:
      action:

   tc-pairing-unexpected-build-id:
      public: false
      level:  ERROR
      reason: TC has paired with a cluster running a different build id; this results in a TC reset (reset of tab state + reload)
      cause:
      action:

   tc-pairing-unexpected-response:
      public: false
      level:  ERROR
      reason: Pairing state returned by the server is invalid, possibly due to a TC/server version mismatch or bug
      cause:
      action:

   tc-pv-abort-play-missing-container-node:
      public: false
      level:  ERROR
      reason: Aborting view activation because the DOM node on which this view should be projected has not been registered and is not in the DOM
      cause:
      action:

   tc-pv-abort-play-other-plugins-active:
      public: false
      level:  ERROR
      reason: Aborting view activation because there are other active views, and because our one-at-a-time rule forbids multiple active views
      cause:
      action:

   tc-pv-abort-play-bad-plugin-state:
      public: false
      level:  ERROR
      reason: Aborting view activation because previous shutdown of the same view did not complete and the view is now in an expected state
      cause:
      action:

   tc-pv-drawable-id-changed:
      public: false
      level:  INFO
      reason: The view will be re-coupled with a new backend drawable, usually because the corresponding plugin in the Surrogate was resized

   tc-pv-pending-destroy:
      public: false
      level:  INFO
      reason: View is being stopped and destroyed

   tc-pv-recreate-view:
      public: false
      level:  INFO
      reason: View will be recreated

   tc-pv-restart-plugin-client:
      public: false
      level:  INFO
      reason: View will be restarted due to a resize of the backend drawable

   tc-pv-security-error:
      public: false
      level:  ERROR
      reason: Caught SecurityError exception when creating websocket. Likely happens when IE hits the websocket limit
      cause:
      action:

   tc-pv-start-failed:
      public: false
      level:  ERROR
      reason: Giving up waiting for the backend plugin to start
      cause:
      action:

   tc-pv-unexpected-destroy:
      public: false
      level:  WARNING
      reason: Known issue. Sometimes, the current page will receive a destroy message for a plugin that belongs to the previous page before navigation
      cause:
      action:

   tc-pv-view-created:
      public: false
      level:  INFO
      reason: A new plugin has been created on the backend, create the corresponding view on the TC

   tc-pv-view-already-created:
      public: false
      level:  INFO
      reason: Aborting view creation since it appears to already exist; likely due to a DOM detach / reattach scenario

   tc-reload-started:
      public: true
      level:  INFO
      reason: The thin client has been reloaded.

   tc-reset:
      public: false
      level:  WARNING
      reason: About to flush events, clear tab storage, and reload the page (location.reload(true))
      cause:
      action:

   tc-screenshot-requested:
      public: false
      level:  INFO
      reason: TC has requested that the Surrogate send us a screenshot

   tc-sc-delegate-context-missing:
      public: false
      level:  ERROR
      reason: Server call context is missing when processing server call result
      cause:
      action:

   tc-scroll-ignored-bad-dim:
      public: false
      level:  WARNING
      reason: User tried to scroll an element with zero height or width, scroll is ignored
      cause:
      action:

   tc-service-check-failed:
      public: true
      level: WARNING
      reason: During a thin-client reload, communication to the server failed.
      cause: Unable to contact the director service on the isolation platform server
      action: Restart the service. If this problem persists, contact Menlo Security Support.

   tc-started:
      public: false
      level:  INFO
      reason: TC has started execution, printed early on in TC startup

   tc-streaming-audio-playback-aborted:
      public: false
      level:  WARNING
      reason: Audio element playback was aborted
      cause:
      action:

   tc-streaming-audio-playback-error:
      public: false
      level:  WARNING
      reason: An error was encountered when loading or playing an audio element
      cause:
      action:

   tc-tab-invalid-features-json:
      public: false
      level:  ERROR
      reason: TC received unexpected JSON from the server
      cause:
      action:

   tc-ui-frame-fetch-failed:
      public: false
      level:  ERROR
      reason: The XHR used to retrieve the UI frame HTML page has failed
      cause:
      action:

   tc-upload-bad-byte-count:
      public: false
      level:  ERROR
      reason: Bytes were not accounted for during the upload
      cause:
      action:

   tc-upload-chooser-mismatch:
      public: false
      level:  ERROR
      reason: Got an unexpected file chooser ID
      cause:
      action:

   tc-upload-file-reader-error:
      public: false
      level:  ERROR
      reason: FileReader says there was trouble processing the file(s) to be uploaded
      cause:
      action:

   tc-upload-no-files-specified:
      public: false
      level:  ERROR
      reason: File chooser did not specify any files to upload
      cause:
      action:

   tc-upload-out-of-sync:
      public: false
      level:  ERROR
      reason: Acks for previously sent bytes were not received
      cause:
      action:

   tc-upload-read-failed:
      public: false
      level:  ERROR
      reason: There was trouble reading the file(s) to be uploaded
      cause:
      action:

   tc-upload-show-file-chooser-error:
      public: false
      level:  ERROR
      reason: There was trouble displaying the file chooser dialog
      cause:
      action:

   tc-upload-user-abort:
      public: false
      level:  WARNING
      reason: User has aborted the upload
      cause:
      action:

   tc-ux-no-placeholder:
      public: false
      level: INFO
      reason: There is no placeholder for an explanation parameter from pnr-enforcement in the template.

   tc-ux-no-template:
      public: false
      level: WARNING
      reason: There is no template for an explanation from pnr-enforcement.
      cause:
      action:

   tc-ux-unknown-type:
      public: false
      level: WARNING
      reason: An explanation parameter from pnr-enforcement has an unknown type.
      cause:
      action:

   tc-websock-tester-connect-error:
      public: false
      level:  INFO
      reason: The test for WebSockets connectivity has failed

   tc-websock-tester-timeout-exception:
      public: false
      level:  INFO
      reason: An exception was generated when cleaning up the WebSockets tester after its timeout period expired

   tc-mse-unrecognized-queue-item-error:
      public: false
      level:  ERROR
      reason: An item in the queue for a SourceBuffer had a 'cmd' attribute that is unknown.
      cause:
      action:

   tc-mse-append-error:
      public: false
      level:  ERROR
      reason: Encountered an error while calling appendBuffer() to add data to a SourceBuffer.
      cause:
      action:

   tc-mse-source-buffer-action-error:
      public: false
      level:  ERROR
      reason: Encountered an error calling a method or setting an attribute on a SourceBuffer.
      cause:
      action:

   tc-mse-sourcebuffer-init-error:
      public: false
      level:  ERROR
      reason: Encountered an error while setting up a SourceBuffer on a MediaSource object.
      cause:
      action:

   tc-mse-mediasource-init-error:
      public: false
      level:  ERROR
      reason: Encountered an error while setting up a MediaSource object for a media element.
      cause:
      action:

   tc-mse-segment-fetch-error:
      public: false
      level:  ERROR
      reason: Media segment fetch via xhr failed.
      cause:
      action:
   tc-mse-set-duration-error:
      public: false
      level:  ERROR
      reason: Encountered an error setting the duration on a MediaSource object for a media element.
      cause:
      action:

   tc-downstream-cat-check-failed:
      public: false
      level: WARNING
      reason: XHR request to file download URL via downstream proxy failed.
      cause:
      action:
