Tizen OS 4 Browser Diagnostic

← Back to Home

Testing server-side rendering and static content display (No client-side JavaScript required)

Server Information

Rendering Mode: Server-Side Rendering (SSR)

Client-Side JavaScript: Disabled

Test Results Count: 6

Current Time: 2025-10-27T15:54:37.941Z

Environment: Production Build

NEXT_PUBLIC_API_URL: http://54.245.245.206:3000

NODE_ENV: production

API URL Used: http://54.245.245.206:3000/api/polling

Browser Information

{
  "userAgent": "Server-side rendering - no client browser info available",
  "platform": "Server",
  "language": "en",
  "cookieEnabled": false,
  "onLine": true,
  "hardwareConcurrency": null,
  "maxTouchPoints": 0,
  "vendor": "Server",
  "webkit": false,
  "tizen": false,
  "samsung": false,
  "version": "1.0.0"
}

Test Results

Server-Side RenderingPASS

Page rendered successfully on server

2025-10-27T15:54:37.941Z

Static ContentPASS

Static content displays correctly

2025-10-27T15:54:37.941Z

Image LoadingPASS

Next.js Image component works

2025-10-27T15:54:37.941Z

CSS StylingPASS

Tailwind CSS styles applied correctly

2025-10-27T15:54:37.941Z

Server-Side PollingPASS

Successfully polled data (count: 12)

2025-10-27T15:54:37.936Z

WebSocket SupportPASS

WebSocket API available (44 tests)

2025-10-27T15:54:37.941Z

Static Image Carousel

Static Item 1

Static Item 1

Timestamp: 3:54:37 PM

Static Item 2

Static Item 2

Timestamp: 3:54:37 PM

Static Item 3

Static Item 3

Timestamp: 3:54:37 PM

Static Item 4

Static Item 4

Timestamp: 3:54:37 PM

Static Item 5

Static Item 5

Timestamp: 3:54:37 PM

Static carousel - first image visible (no JavaScript rotation)

CSS Animation Test

Pulsing Animation (CSS only)
Bouncing Animation (CSS only)
Spinning Animation (CSS only)

Server-Side Polling Test

POLL #13ACTIVE

System Information

Poll Count: 13

Last Update: 3:54:37 PM

Uptime: 0s

Memory Usage: 22.6%

CPU Usage: 86.0%

Active Connections: 13

Latest Headlines

Headline 13: Server-side polling working!

3:54:37 PM

Update 13: Data refreshed 13 times

3:54:37 PM

Latest Images

Image 13
Image 13
Note: This data is fetched server-side on each page load. Refresh the page to see updated polling data.

WebSocket Diagnostic Test

WS AVAILABLE48 TESTS

Environment Information

Node.js Version: v18.20.8

Platform: linux

WebSocket API: Available

Test Time: 3:54:37 PM

Test Results

Browser WebSocket SupportNOT-SUPPORTED

This test runs server-side, browser WebSocket support cannot be tested here

2025-10-27T15:36:21.963Z

WebSocket Upgrade HeadersSUCCESS

Server can handle WebSocket upgrade requests (theoretical)

2025-10-27T15:36:21.963Z

WebSocket API AvailabilitySUCCESS

WebSocket API is available

2025-10-27T15:54:37.939Z

WebSocket Instance CreationSUCCESS

WebSocket constructor available (no connection attempted)

2025-10-27T15:54:37.939Z

Browser WebSocket SupportNOT-SUPPORTED

This test runs server-side, browser WebSocket support cannot be tested here

2025-10-27T15:54:37.939Z

WebSocket Upgrade HeadersSUCCESS

Server can handle WebSocket upgrade requests (theoretical)

2025-10-27T15:54:37.939Z

WebSocket API AvailabilitySUCCESS

WebSocket API is available

2025-10-27T15:54:37.950Z

WebSocket Instance CreationSUCCESS

WebSocket constructor available (no connection attempted)

2025-10-27T15:54:37.950Z

Browser WebSocket SupportNOT-SUPPORTED

This test runs server-side, browser WebSocket support cannot be tested here

2025-10-27T15:54:37.950Z

WebSocket Upgrade HeadersSUCCESS

Server can handle WebSocket upgrade requests (theoretical)

2025-10-27T15:54:37.950Z

WebSocket Support Analysis

✅ WebSocket API is available in this environment.

This means WebSocket connections could potentially work, but:

  • Server-side WebSocket creation may not work (expected)
  • Client-side WebSocket support depends on the browser/emulator
  • WebSocket server setup would be required for real connections
Note: This test runs server-side and checks WebSocket API availability. For full WebSocket functionality, you would need to set up a WebSocket server and test client-side connections.

Socket Errors: If you see "socket hang up" errors in the console, they're from previous connection attempts. The current test avoids actual connections to prevent these errors.

Real-time WebSocket Test (Socket.IO)

Connection Status

DISCONNECTED

Real-time Data

0
Counter
0
Messages
3:54:37 PM
Last Update
3:54:37 PM
Last Message
Note: This component now uses Socket.IO for real-time communication instead of raw WebSockets. Make sure to run the WebSocket server with pnpm run dev:ws or pnpm run start:ws.

Real-time Updates: The server sends data every 2 seconds when updates are started, or on-demand when you request data. This demonstrates how real-time airport displays would work.

Socket.IO Features: Automatic reconnection, fallback to polling, and better error handling than raw WebSockets.

Debug Panel: Click "Show Debug" to see detailed connection statistics, error logs, and server information.

Socket.IO Real-time Test

Connection Status

DISCONNECTED

Real-time Data

0
Counter
0
Messages
3:54:37 PM
Last Update
3:54:37 PM
Last Message
Note: This component uses Socket.IO for real-time communication. Make sure to run the WebSocket server with pnpm run dev:ws or pnpm run start:ws.

Real-time Updates: The server sends data every 2 seconds when updates are started, or on-demand when you request data. This demonstrates how real-time airport displays would work.

Socket.IO Features: Automatic reconnection, fallback to polling, and better error handling than raw WebSockets.

Advanced Fetch & XHR Testing

Individual Tests

JavaScript Support Test

Diagnosis

If nothing happens when you click buttons, the emulator likely has no client-side JavaScript support. This means WebSockets, fetch, and other client-side features won't work.

If No JavaScript Support:

WebSockets won't work - They require client-side JavaScript

Real-time updates won't work - No client-side event handling

Interactive features won't work - No button clicks, form submissions, etc.

Solution: Use server-side rendering with periodic page refreshes or server-sent events

Client-Side Fetch Testing

Test if the emulator can make HTTP requests from client-side JavaScript.

Instructions: Click each button to test different types of HTTP requests. This will help determine if the emulator supports client-side fetch operations.

Expected Results:
  • Health API should return server status
  • Polling API should return mock data
  • WebSocket Test API should return diagnostic info
  • External API tests internet connectivity

Server-Sent Events (SSE) Test

What is SSE?

Server-Sent Events allow the server to push data to the client in real-time. Unlike WebSockets, SSE is one-way (server to client) and uses standard HTTP.

Connection Status

DISCONNECTED

SSE Messages (0)

No messages received yet. Click "Connect SSE" to start receiving messages.

Instructions:
  1. Click "Test SSE Support" to check if EventSource is available
  2. Click "Connect SSE" to start receiving real-time messages
  3. Watch for messages appearing every 2 seconds
  4. Click "Disconnect" to stop receiving messages

Expected Results:
  • If SSE works: You'll see real-time messages appearing
  • If SSE doesn't work: You'll see error messages
  • SSE is more likely to work than WebSockets in limited environments

Server-Sent Events Demo (No JavaScript)

Test SSE without requiring client-side JavaScript. This page shows how to test SSE using command-line tools.

Open SSE Demo Page

Meta Refresh Demo

Test automatic page refresh without JavaScript. This is a simple solution for real-time updates.

Server-Side Real-Time Alternative

Since Client-Side JavaScript Doesn't Work:

The emulator appears to have no client-side JavaScript support. Here are server-side alternatives for real-time functionality.

✅ Server-Side Polling

This works! The server fetches data and renders it on each page load.

How it works: Server fetches data → Renders HTML → User sees updated content

🔄 Meta Refresh (Auto-Reload)

Automatically refresh the page every few seconds to show new data.

Implementation: Add <meta http-equiv="refresh" content="5"> to auto-refresh every 5 seconds

📡 Server-Sent Events (SSE)

One-way real-time communication from server to client. More efficient than polling.

Note: Requires client-side JavaScript, so won't work in this emulator

❌ WebSockets

Two-way real-time communication. Requires client-side JavaScript.

Status: Not supported in this emulator environment

Recommended Solution for Airport Displays:

1. Server-Side Rendering with Polling - What we have now, works great!

2. Meta Refresh - Add auto-refresh for more "real-time" feel

3. Static Generation with Rebuilds - Regenerate pages when data changes

4. Edge-Side Includes (ESI) - Cache static parts, update dynamic parts

Current Status: Your airport display system is working perfectly with server-side rendering! The diagnostic page shows all server-side tests are successful. For real-time updates, consider implementing meta refresh or scheduled page regeneration.

Form-based Testing

Instructions

This diagnostic page is designed to work without client-side JavaScript:

  • All content is server-side rendered
  • Images load using Next.js Image component
  • CSS animations work without JavaScript
  • Forms can submit to server actions
  • Static content displays immediately

If you can see this page with styled content and images, the basic rendering is working.