INTEGRITY Dokumentace

Web Core SDK

Přihlásit se k odběru RSS

2026-08-24

RealtimeKit Web Core 2.0.2

Vylepšení

  • Vygenerovaná dokumentace API nyní správně identifikuje názvy tříd, což uživatelům TypeScriptu poskytuje přesnější návrhy typů.
  • Spuštění nahrávání, které již probíhá, nyní vrátí chybový kód 1005 místo obecného chybového kódu 1000. Pokud váš onError callback zpracovává chybový kód 1000 pro tento případ ji aktualizujte tak, aby zpracovávala 1005.

Opravy

  • Opravena chyba transpilace Babel, ke které mohlo dojít při použití buildů ES2015 obsahujících RequestError.
  • Opravena obnova relace po timeoutu SFU. Účastníci nyní mohou po přechodném timeoutu SFU API dál slyšet a vidět ostatní.
  • Opraveno dávkové vytváření mediálních konzumentů tak, aby podporovalo mřížky účastníků až se 100 účastníky na stránku, oproti dřívějším 24 na stránku.

2026-07-17

RealtimeKit Web Core 2.0.1

Opravy

  • Opraveny buildy ES5 obsahující VERSION_PLACEHOLDER v balíčku místo skutečné verze SDK.
  • Opraveno selhání inicializace SDK při neúspěšném prvním pokusu o připojení socketu, které také bránilo vytvoření úložiště pluginů. SDK nyní vytvoření úložiště opakuje podle stavu připojení socketu.

2026-06-18

RealtimeKit Web Core 2.0.0

Kompatibilita: Nejlépe funguje s RealtimeKit Web UI Kit 2.0.0 nebo novějším.

Jde o zásadní verzi s nekompatibilními změnami. Několik zastaralých API bylo odstraněno a API pro pluginy bylo zcela přepracováno. Před upgradem si pečlivě projděte průvodce migrací uvedený níže.

Plugin API: kompletní redesign

Pluginy se už automaticky nenačítají ze serveru. Konfigurace pluginů nyní zadáváte při inicializaci SDK prostřednictvím defaults.plugins.

Před (v1.x):

// plugins were loaded via API in SDK internally
const meeting = await RealtimeKitClient.init({
  authToken,
});

// Server-hosted plugins were auto-populated
const plugin = meeting.plugins.all.get(pluginId);

// Plugin rendered in an iframe managed by the SDK
plugin.addPluginView(iframeElement, 'plugin-main');

// Permissions checked via meeting.self.permissions.plugins.canStart / canClose

Po (v2.0):

Komponenta pluginu je jakýkoli HTMLElement. Můžete použít vlastní element, komponentu frameworku připojenou do kontejneru nebo iframe. Následující příklad vkládá kolaborativní textový editor jako plugin:

const editor = document.createElement('iframe');
editor.src = 'https://rustpad.io/#WKLJaD';
editor.style.width = '100%';
editor.style.height = '100%';
editor.style.border = 'none';

const meeting = await RealtimeKitClient.init({
  authToken,
  defaults: {
    plugins: [
      {
        id: 'collaborative-editor', // SDK prefixes this with {meetingId}: to create the namespaced plugin.id
        name: 'Collaborative Editor',
        icon: 'https://example.com/editor.png',
        permissions: {
          canActivate: true,
          canDeactivate: true,
        },
        component: editor,
      },
    ],
  },
});

// Plugin is registered and available
const plugin = meeting.plugins.all.get(pluginId);

// Activate — state is synced across all participants
await plugin.activate();

Úplného průvodce vytvářením vlastních pluginů najdete v Vytváření vlastních pluginů. Pokud potřebujete nahrávat obsah pluginu, musíte sestavit vlastní aplikace pro nahrávání.

Klíčové změny:

  • Nové exporty typů: ClientPluginConfig, ClientPluginPermissions.
  • Plugin id je nyní umístěna v jmenném prostoru: SDK přidá prefix k vámi zadanému id hodnotou {meetingId}: a vytvořit tak interní pluginId.
  • Stav aktivace a deaktivace pluginu se nyní synchronizuje prostřednictvím kolaborativního úložiště (__rtk_plugins__) místo vyhrazených socket zpráv.
  • Pluginy nyní mají component vlastnost (jakákoli HTMLElement) místo vykreslování založeného na iframe pomocí addPluginView.
  • Oprávnění pro jednotlivé pluginy (plugin.permissions.canActivate / plugin.permissions.canDeactivate) nahrazují starou globální meeting.self.permissions.plugins.canStart / meeting.self.permissions.plugins.canClose.

Odstraněná API pluginů:

  • plugin.addPluginView(iframe, viewId), předejte HTMLElement jako component v ClientPluginConfig místo toho.
  • plugin.removePluginView(viewId), je řešeno automaticky pomocí UI Kit.
  • plugin.enable(), použijte plugin.activate().
  • plugin.disable(), použijte plugin.deactivate().
  • plugin.sendIframeEvent(), odstraněno. Komunikujte přímo se svou komponentou.
  • plugin.baseURL, odstraněno. Pluginy již nejsou hostovány na serveru.
  • plugin.picture, použijte plugin.icon.
  • plugin.description, plugin.organizationId, plugin.tags, plugin.type, plugin.staggered, plugin.private, plugin.published, plugin.createdAt, plugin.updatedAt, odstraněno. Již není relevantní.
  • plugin.config (PluginConfig): odstraněno. Koncept manifestu pluginu neexistuje.
  • meeting.self.permissions.plugins.canStart, použijte plugin.permissions.canActivate.
  • meeting.self.permissions.plugins.canClose, použijte plugin.permissions.canDeactivate.
  • modules.devTools.plugins (konfigurace pluginu pro lokální vývoj): použijte defaults.plugins s component odkazující na váš lokální element.

Odstraněna zastaralá API

Klient:

  • meeting.joinRoom(), použijte meeting.join().
  • meeting.leaveRoom(), použijte meeting.leave().

Chat:

  • meeting.chat.getMessagesByUser(userId), použijte meeting.chat.fetchPublicMessages() s příslušnými filtry.
  • meeting.chat.getMessagesByType(type), použijte meeting.chat.fetchPublicMessages() s příslušnými filtry.
  • meeting.chat.getMessages(timestamp, size, reversed), použijte meeting.chat.fetchPublicMessages() nebo meeting.chat.fetchPrivateMessages().
  • meeting.chat.searchMessages(query, filters), použijte meeting.chat.fetchPublicMessages() nebo meeting.chat.fetchPrivateMessages().
  • meeting.chat.pinned (getter): použijte meeting.chat.fetchPinnedMessages().

Oprávnění (meeting.self.permissions):

  • permissions.produceVideo, použijte permissions.canProduceVideo.
  • permissions.produceAudio, použijte permissions.canProduceAudio.
  • permissions.produceScreenshare, použijte permissions.canProduceScreenshare.
  • permissions.waitingRoomType, použijte permissions.waitingRoomBehaviour.
  • permissions.canChangeParticipantRole, použijte permissions.canChangeParticipantPermissions.
  • permissions.canChangeTheme, odstraněno (vždy vracelo false).
  • permissions.canPresent, zkontrolujte jednotlivá canProduceAudio, canProduceVideo, canProduceScreenshare.
  • permissions.requestProduce, zkontrolujte jednotlivá oprávnění k médiím pro CAN_REQUEST hodnoty.
  • permissions.acceptPresentRequests, použijte permissions.acceptStageRequests.
  • permissions.maxScreenShareCount, použijte meeting.self.config.maxScreenShareCount.
  • PermissionPreset.fromResponse(), použijte PermissionPreset.init().
  • PermissionPreset.default(), použijte PermissionPreset.init().

Účastníci:

  • meeting.participants.disableAudio(participantId), použijte meeting.participants.joined.get(participantId).disableAudio().
  • meeting.participants.disableVideo(participantId), použijte meeting.participants.joined.get(participantId).disableVideo().
  • meeting.participants.kick(participantId), zavolejte kick přímo na účastníkovi.
  • participant.clientSpecificId, použijte participant.customParticipantId.

Connected Meetings:

  • meeting.connectedMeetings.supportsConnectedMeetings, odstraněno. Kontroly oprávnění jsou nyní granulární prostřednictvím meeting.self.permissions.connectedMeetings.

Vylepšení

  • Rychlejší opětovné připojení: Při odpojení pouze socketu (kdy WebRTC transporty zůstávají funkční) se nyní přeskočí úplné nové nastavení transportu. Producenti se znovu zaregistrují a stávající konzumenti se přemapují, což výrazně zkracuje dobu opětovného připojení.
  • Účastníci zůstávají viditelní i během opětovného připojování: dlaždice účastníků zůstanou v mřížce i při krátkém výpadku socketu, místo aby mizely a znovu se objevovaly, což zajišťuje plynulý zážitek.
  • Oprava zdvojeného zvuku: Opravena chyba, při které mohli ostatní účastníci slyšet zdvojený zvuk od znovu připojeného účastníka, způsobená zastaralými producery, které nebyly vyčištěny.
  • Odolnost opětovného připojení Socketu: Socket nyní podporuje až 50 pokusů o opětovné připojení s exponenciálním prodlužováním intervalu (exponential backoff) a jitterem (dříve 10), což poskytuje přibližně čtyři minuty pokrytí opakovanými pokusy v případě výpadku internetu.
  • Vylepšení Store: StoreManager nyní podporuje refresh(name) a znovu tak načíst data store ze serveru, a vyhrazené názvy store (__rtk_plugins__) jsou chráněny před vytvořením uživatelem.

Opravy

  • Opraveno selhávání opětovného připojení socketu, pokud zůstal odpojený 30 sekund.

2026-05-28

RealtimeKit Web Core 1.5.1

Kompatibilita: Nejlépe funguje s RealtimeKit Web UI Kit 1.2.0 nebo novějším.

Funkce

  • Přidán vyhrazený chybový kód 0014 pro selhání mediálního (WebRTC) připojení při vstupu do místnosti, což usnadňuje rozlišení selhání médií od selhání soketu a signalizace.

Vylepšení

  • Chyby inicializace a připojení z Client.init() a meeting.join() nyní místo obecných nebo vrstvených chyb zobrazují konkrétní chybové kódy a popisné zprávy.
  • Protokoly telemetrie se nyní komprimují pomocí gzip, pokud to prohlížeč podporuje prostřednictvím CompressionStream API, čímž dosahuje kompresního poměru přibližně 10:1. Starší prohlížeče a React Native se vrací k nekomprimovanému JSON s menšími dávkami.

Opravy

  • Opravena chyba založená na regulárním výrazu, kdy byl nesprávně odstraněn příznak middlewaru videa pro Safari, což mohlo narušit zpracování videa v Safari.
  • Opraven problém, kdy ClientError byly vzájemně zabaleny do sebe, když SDK opakoval neúspěšné API požadavky. To způsobovalo vnořené chybové zprávy, duplicitní onError callbacky a redundantní window chybové události.

Odstraněná API

  • Odstraněna služba příznaků třetích stran. meeting.__internals__.features je nyní zastaralá a bude odstraněna v některé z budoucích verzí.

2026-04-20

RealtimeKit Web Core 1.4.0

Kompatibilita: Nejlépe funguje s RealtimeKit Android Core 2.0.0+ a RealtimeKit iOS Core 2.0.0+.

Funkce

  • Přidáno meeting.__internals__.authToken a zpřístupnit tak autentizační token, což umožňuje lepší integraci mezi Web Core a UI Kit pro budoucí funkce a vylepšení.

Opravy

  • Proaktivně opravena chyba, kdy účastníci se zapnutým simulcastem nemohli zapnout kameru nebo mikrofon kvůli selháním SDP v prohlížeči Chrome verze 148+.

Vylepšení

  • SDK nyní používá *.realtime.cloudflare.com základní URI interně místo staršího dyte.io základní URI.
  • Přepracováno zpracování chyb tak, aby správně zachytávalo a zobrazovalo chybové kódy pro selhání inicializace SDK, selhání připojení k místnosti a další chyby.

2026-03-31

RealtimeKit Web Core 1.3.0

Funkce

  • Podpora simulcastu je nyní dostupná všem klientům RealtimeKit. Nakonfigurujte ji pro jednotlivé účastníky v Preset pomocí dashboard RealtimeKit, Preset API pomocí config.media.video.simulcast pole, nebo když inicializace SDK.
  • Přidána podpora videa ve 4K UHD při zpracování médií (lze nastavit v Presetu a API). Pokud kamera 4K nepodporuje, použije se maximální podporované rozlišení.

2026-03-10

RealtimeKit Web Core 1.2.5

Kompatibilita: Nejlépe funguje s RealtimeKit Web UI Kit 1.1.1 nebo novějším.

Vylepšení

  • Zavedeny limity opakování pro selhání ICE připojení, které zabraňují nekonečným pokusům o připojení a zvyšují spolehlivost.
  • Vylepšeno zpracování chyb při operacích připojení k místnosti, které nyní poskytuje podrobnější a srozumitelnější chybové zprávy.
  • Chyby při připojování k místnosti se nyní vždy vyhazují konzistentně, když je síťové připojení blokováno firewallem nebo když jsou servery TURN nedostupné.

Opravy

  • Opravena chyba v propojených schůzkách (Connected Meetings), kdy se ID peerů při přepínání mezi místnostmi neregenerovala. ID peerů se nyní správně přiřazují pro každou relaci místnosti.

2026-01-30

RealtimeKit Web Core 1.2.4

Kompatibilita: Nejlépe funguje s RealtimeKit Web UI Kit 1.1.0 nebo novějším.

Nová API

Přidána podpora stránkování chatu pomocí následujících metod:

  • meeting.chat.fetchPinnedMessages - Načte připnuté zprávy ze serveru.
  • meeting.chat.fetchPublicMessages - Načte veřejné zprávy ze serveru.
  • meeting.chat.fetchPrivateMessages - Načte soukromé zprávy ze serveru.

Vylepšení

  • Přidány komentáře JSDoc ke všem veřejným metodám a třídám pro lepší nápovědu při vývoji.
  • Operace se zprávami v chatu (úprava, mazání, připnutí) jsou nyní dostupné všem klientům RealtimeKit bez nutnosti dalšího nastavení.
  • pinMessage a unpinMessage události na meeting.chat nyní spolehlivě emitují.
  • Připnutí zpráv (meeting.chat.pin a meeting.chat.unpin) je nyní dostupné všem účastníkům.

Odstraněná API

Odstraněna nefunkční API chatovacích kanálů za účelem zjednodušení RealtimeKit SDK. Chat schůzky (meeting.chat) zůstává plně funkční.

  • Odstraněno meeting.self.permissions.chatChannel.
  • Odstraněno meeting.self.permissions.chatMessage. Použijte meeting.self.permissions.chatPublic a meeting.self.permissions.chatPrivate místo toho.
  • Odstraněno meeting.chat.channels.
  • Odstraněno meeting.chat.sendMessageToChannel.
  • Odstraněno meeting.chat.markLastReadMessage.
  • Odstraněné události: channelMessageUpdate, channelCreate, a channelUpdate z meeting.chat.

Změny API

  • Následující metody již nepřijímají třetí volitelný channelId parametr:
    • meeting.chat.editTextMessage(messageId, message)
    • meeting.chat.editImageMessage(messageId, imageFile)
    • meeting.chat.editFileMessage(messageId, file)
    • meeting.chat.editMessage(messageId, messagePayload)
    • meeting.chat.deleteMessage(messageId)

Zastaralé funkce

Následující metody jsou zastaralé kvůli omezením škálovatelnosti (omezeno na 1,000 nejnovějších zpráv):

  • meeting.chat.messages - Načítá pouze nedávné zprávy a nové zprávy po připojení.
  • meeting.chat.getMessagesByUser - Použít nové metody načítání pro škálovatelné získávání zpráv.
  • meeting.chat.getMessagesByType - Použít nové metody načítání pro škálovatelné získávání zpráv.
  • meeting.chat.getMessages - Použít meeting.chat.fetchPublicMessages nebo meeting.chat.fetchPrivateMessages místo toho.
  • meeting.chat.pinned - Použít meeting.chat.fetchPinnedMessages místo toho.
  • meeting.chat.searchMessages - Použít meeting.chat.fetchPublicMessages nebo meeting.chat.fetchPrivateMessages místo toho.

Známá omezení

  • Připnuté zprávy nejsou u soukromých chatů podporovány.

2026-01-05

RealtimeKit Web Core 1.2.3

Opravy

  • Opravena chyba, kdy u uživatelů, kteří se připojili ke schůzce s vypnutým audiem i videem a poté zahájili sdílení obrazovky karty, došlo při zastavení sdílení obrazovky k poškození SDP, což bránilo dalším akcím, jako je zapnutí audia nebo videa.

    Vyvolaná chyba:

    InvalidAccessError: Failed to execute 'setRemoteDescription' on 'RTCPeerConnection': Failed to set remote answer sdp: Failed to set remote audio description send parameters for m-section with mid='<N>'
    
  • Opravena chyba, kdy čekání na RealtimeKitClient.initMedia nevrátil žádné mediální tracky

    Příklad použití:

    const media = await RealtimeKitClient.initMedia({
      video : true,
      audio: true,
    });
    
    const { videoTrack, audioTrack } = media;
    
  • Opravena chyba, kdy nedefinovaná proměnná způsobovala TypeError: Cannot read properties of undefined (reading 'getValue') při načítání médií v důsledku souběhu (race condition).

2025-12-17

RealtimeKit Web Core 1.2.2

Opravy

  • Opravena chyba, kdy na zařízeních Android nefungovalo přepínání mezi přední a zadní kamerou
  • Opravena logika výběru zařízení pro efektivnější upřednostňování mediálních zařízení
  • Přidána podpora PIP pro Reakce

2025-11-18

RealtimeKit Web Core 1.2.1

Opravy

  • Vyřešen problém, který bránil výběru výchozího mediálního zařízení.
  • Opraven balíček SDK tak, aby obsahoval browser.js místo nesprávného odesílání index.iife.js ve verzi 1.2.0.

Vylepšení

  • Externí mediální zařízení mají nyní přednost před interními zařízeními, pokud není nastaveno preferované zařízení.

2025-10-30

RealtimeKit Web Core 1.2.0

Funkce

  • Přidána podpora konfigurace simulcastu přes initMeeting:

    initMeeting({
      overrides: {
        simulcastConfig: {
          disable: false,
          encodings: [{ scaleResolutionDownBy: 2 }],
        },
      },
    });
    

Opravy

  • Vyřešen problém, kdy v některých krajních případech nebyla vidět videa vzdálených účastníků při stránkování mřížky.
  • Opravena chyba, která bránila účastníkům přepnout mikrofon, pokud první mikrofon v seznamu nefungoval.

Zásadní změny

  • Podpora staršího media enginu byla odebrána. Pokud byla vaše organizace vytvořena před 1. březnem 2025 a přecházíte na tuto verzi SDK nebo novější, můžete narazit na problémy s nahráváním. Pro zajištění nepřerušené funkčnosti nahrávání kontaktujte podporu ohledně přechodu na nový media engine Cloudflare SFU.

2025-08-26

RealtimeKit Web Core 1.1.7

Opravy

  • Opravena chyba, kdy se událost změny řečníka vyvolávala i v případě, že se aktivní řečník nezměnil.
  • Vyřešena změna chování při přepínání mikrofonu v nedávných verzích Google Chrome.
  • Přidáno deviceInfo protokoly za účelem zlepšení možností ladění pro React Native.
  • Opravena chyba, kdy se do fronty řadilo více mediálních konzumentů pro stejného peera, což zoptimalizovalo využití prostředků.

2025-08-14

RealtimeKit Web Core 1.1.6

Vylepšení

  • Interní změny usnadňující a zrychlující ladění problémů se spotřebou médií.

2025-08-04

RealtimeKit Web Core 1.1.5

Opravy

  • Vylepšena podpora React Native pro AudioActivityReporter se správným vzorkováním zvuku.
  • Vyřešen problém, který bránil uživatelům vytvářet ankety.
  • Opravena chyba, kdy opuštění schůzky trvalo déle než 20 sekund.

2025-07-17

RealtimeKit Web Core 1.1.4

Opravy

  • Funkce Livestream je nyní dostupná všem beta uživatelům.
  • Opravena funkčnost pódia u Livestreamu, kdy hostitelé po připojení účastníků na pódium nezobrazovali jejich video.
  • Vyřešeny problémy s připojováním a odpojováním diváků v rámci Livestream stage.

2025-07-08

RealtimeKit Web Core 1.1.3

Opravy

  • Opravena chyba, kdy si uživatelé nemohli zapnout video v průběhu schůzky, pokud se na začátku připojili bez videa.

2025-07-02

RealtimeKit Web Core 1.1.2

Opravy

  • Opraven okrajový případ ve velkých schůzkách, kdy stávající účastníci neslyšeli ani neviděli nově připojené uživatele.

2025-06-30

RealtimeKit Web Core 1.1.0-1.1.1

Funkce

  • Přidány metody pro přepínání viditelnosti dlaždice self tile.
  • Přidána funkce vysílání napříč propojenými schůzkami (skupinové místnosti).

Nové API

  • Odesílání zpráv napříč schůzkami:

    meeting.participants.broadcastMessage("<message_type>", { message: "Hi" }, {
      meetingIds: ["<connected_meeting_id>"],
    });
    

Vylepšení

  • Zkrácena doba zobrazení videí nově připojených účastníků při hromadném připojování.
  • Přidána podpora více schůzek na stejné stránce v RealtimeKit Core SDK.

2025-06-17

RealtimeKit Web Core 1.0.2

Opravy

  • Vylepšeno zpracování chyb u mediálních operací.
  • Opravena chyba, kdy se aktivní účastníci se zapnutým audiem nebo videem nezobrazovali v seznamu aktivních účastníků.

2025-05-29

RealtimeKit Web Core 1.0.1

Opravy

  • Vyřešeny počáteční problémy s nastavením integrace Cloudflare RealtimeKit.
  • Opraveny problémy s připojením ke schůzce a s mediální konektivitou.
  • Vylepšeno zpracování mediálních tracků.

2025-05-29

RealtimeKit Web Core 1.0.0

Funkce

  • První verze Cloudflare RealtimeKit s podporou skupinových hovorů, webinářů, živého vysílání, anket a chatu.