Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  1. ioBroker Community Home
  2. English
  3. Development
  4. Adapter dev: Migration from "No Tab" to "React Tab" fails

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

Adapter dev: Migration from "No Tab" to "React Tab" fails

Geplant Angeheftet Gesperrt Verschoben Development
3 Beiträge 1 Kommentatoren 534 Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    stev-io
    schrieb am zuletzt editiert von
    #1

    Hi there!

    Situation:
    I am in the process of developing an adapter. I terms of a UI I began with no extra tab for the adapter. Now I want to create a tab and want to realize it with React. Therefore I created a fresh adapter with the help of adapter-creator with all relevant options set for a React tab. When I launch a dev-server instance for this newly created adapter everything is fine.

    So I began to adapt all the neccessary settings that I could find from all the different files from the newly created adapter to my adapter in development.

    Problem:
    The adapter in development does not render the react page but does render something different. For a better view here are two comparisons as a picture:
    Source: Here you see what effectively is deployed within a dev-server instance. On the left hand side for the adapter in development and on the right the newly created adapter.
    f478dce0-35f9-4250-bd00-b6e8e6f90d2e-grafik.png

    Runtime-Markup: Here you can see, what effectively gets rendered. On the left hand side for the adapter in development and on the right the newly created adapter.
    2878bc71-c114-43a4-880a-f7795cabfc8f-grafik.png

    From my understanding something is going on during the compile step that breaks things. Maybe somewhere there it is not clear to the build chain that a React tab is the goal and instead some boilerplate for... maybe Materialized tabs or so... is pulled?
    Is somebody out there that has a clue, what I need to check?

    Maybe a few settings that I guess are important for the build step...

    // io-package.json
    "adminUI": {
                "config": "json",
                "tab": "materialize"
            },
            "adminTab": {
                "singleton": false,
                "name": {
                    // ...
                },
                "link": "",
                "fa-icon": "info"
            },
    
    // package.json
        "build": "build-adapter all",
        "build:backend": "build-adapter ts",
        "build:admin": "build-adapter react",
    
    // admin/tsconfig.json
    // Specialized tsconfig for the admin directory,
    // includes DOM typings and configures the admin build
    {
        "extends": "../tsconfig.json",
        "compilerOptions": {
            "noEmit": false,
            "outDir": "./build",
            "sourceMap": true,
            "sourceRoot": "./src",
            "noImplicitAny": false,
            "lib": ["es2018", "DOM"],
            "jsx": "react"
        },
        "include": ["./**/*.ts", "./**/*.tsx", "../src/lib/adapter-config.d.ts"],
        "exclude": ["./**/*.test.ts", "./**/*.test.tsx"]
    }
    
    1 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      stev-io
      schrieb am zuletzt editiert von
      #2

      Small update: I realized that browser-sync is the one interfering with my React component.

      If one takes a closer look at the screenshot I provided, than one can see that browser-sync is loaded where it should'nt:
      34caea1c-465a-4a14-a25c-20a9d9612070-grafik.png On the left side it is loaded as part of the IFrame containing the tab. On the right side it is not loaded as part of the tab. Instead it is loaded in the parent frame:
      5863aff6-0197-4c69-8fbc-368d61ecfce2-grafik.png

      The effect that browser-sync has here is that it injects the code one can see for all admin/*html files like it does in my case but thats a misbehavior and I guess only intended to happen in the parent frame?
      cab6d13b-df5e-4e9d-8958-1d19a80df597-grafik.png

      Now I thought that might be because I installed dev-server as a local dev-dependency and this somehow pulls in the browser-sync script. But thats not the reason as far as I could test.

      S 1 Antwort Letzte Antwort
      0
      • S stev-io

        Small update: I realized that browser-sync is the one interfering with my React component.

        If one takes a closer look at the screenshot I provided, than one can see that browser-sync is loaded where it should'nt:
        34caea1c-465a-4a14-a25c-20a9d9612070-grafik.png On the left side it is loaded as part of the IFrame containing the tab. On the right side it is not loaded as part of the tab. Instead it is loaded in the parent frame:
        5863aff6-0197-4c69-8fbc-368d61ecfce2-grafik.png

        The effect that browser-sync has here is that it injects the code one can see for all admin/*html files like it does in my case but thats a misbehavior and I guess only intended to happen in the parent frame?
        cab6d13b-df5e-4e9d-8958-1d19a80df597-grafik.png

        Now I thought that might be because I installed dev-server as a local dev-dependency and this somehow pulls in the browser-sync script. But thats not the reason as far as I could test.

        S Offline
        S Offline
        stev-io
        schrieb am zuletzt editiert von
        #3

        Long story short: I opened this issues to solve the root cause: https://github.com/ioBroker/dev-server/issues/471

        1 Antwort Letzte Antwort
        0
        Antworten
        • In einem neuen Thema antworten
        Anmelden zum Antworten
        • Älteste zuerst
        • Neuste zuerst
        • Meiste Stimmen


        Support us

        ioBroker
        Community Adapters
        Donate

        347

        Online

        32.4k

        Benutzer

        81.4k

        Themen

        1.3m

        Beiträge
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
        ioBroker Community 2014-2025
        logo
        • Anmelden

        • Du hast noch kein Konto? Registrieren

        • Anmelden oder registrieren, um zu suchen
        • Erster Beitrag
          Letzter Beitrag
        0
        • Aktuell
        • Tags
        • Ungelesen 0
        • Kategorien
        • Unreplied
        • Beliebt
        • GitHub
        • Docu
        • Hilfe