fluid-notion / fluid-outliner

Open source web based outliner built with a strong focus on simplicity and ease of use
https://fluid-notion.github.io/fluid-outliner/
46 stars 3 forks source link

InternalError: "too much recursion" #1

Open solarkraft opened 5 years ago

solarkraft commented 5 years ago

First off: Nice app! Quite close to what I'm looking for.

While messing around I started getting this error after shift-tabbing an item with a sub-item (I am not exactly sure about all of the conditions):

InternalError: "too much recursion"
    get https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:16
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
    t https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:45
main.75605ebc779358ec36ee.js:123:71974
    zi https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:123
    callback https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:123
    Ho https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:123
    qo https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:123
    Xa https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:123
    Ya https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:123
    Ka https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:123
    qa https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:123
    nu https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:123
    Rn https://fluid-notion.github.io/fluid-outliner/main.75605ebc779358ec36ee.js:123

This error keeps appearing whenever I reload the page, probably because it is trying to load the same state:

{
  "outline": {
    "id": "e9d2cbab-e2a1-4d87-bc56-ad7c3e90fd07",
    "title": "Untitled",
    "allNodes": {
      "077dc852-0999-469f-9432-a903df089b93": {
        "id": "077dc852-0999-469f-9432-a903df089b93",
        "content": "Personal",
        "outline": "e9d2cbab-e2a1-4d87-bc56-ad7c3e90fd07",
        "parent": null,
        "children": [],
        "notes": [],
        "markers": []
      },
      "bec7d168-b585-4675-810c-2a5ce11878c6": {
        "id": "bec7d168-b585-4675-810c-2a5ce11878c6",
        "content": "Study",
        "outline": "e9d2cbab-e2a1-4d87-bc56-ad7c3e90fd07",
        "parent": null,
        "children": [
          "c89a283f-03ab-4b6d-9aef-632168a30f81"
        ],
        "notes": [],
        "markers": []
      },
      "4f2bfbef-2554-42b9-bdc8-143664040bcc": {
        "id": "4f2bfbef-2554-42b9-bdc8-143664040bcc",
        "content": "Work",
        "outline": "e9d2cbab-e2a1-4d87-bc56-ad7c3e90fd07",
        "parent": null,
        "children": [],
        "notes": [],
        "markers": []
      },
      "c89a283f-03ab-4b6d-9aef-632168a30f81": {
        "id": "c89a283f-03ab-4b6d-9aef-632168a30f81",
        "content": "Mind management",
        "outline": "e9d2cbab-e2a1-4d87-bc56-ad7c3e90fd07",
        "parent": "bec7d168-b585-4675-810c-2a5ce11878c6",
        "children": [
          "3de94b43-41b7-442c-b6fe-d2ed14a55b86"
        ],
        "notes": [],
        "markers": []
      },
      "3de94b43-41b7-442c-b6fe-d2ed14a55b86": {
        "id": "3de94b43-41b7-442c-b6fe-d2ed14a55b86",
        "content": "Outliners",
        "outline": "e9d2cbab-e2a1-4d87-bc56-ad7c3e90fd07",
        "parent": "c89a283f-03ab-4b6d-9aef-632168a30f81",
        "children": [
          "b2127444-1be0-480b-8df8-b912e562eb87",
          "a1df1099-80f2-40c6-8128-b48965083ae6"
        ],
        "notes": [],
        "markers": []
      },
      "b2127444-1be0-480b-8df8-b912e562eb87": {
        "id": "b2127444-1be0-480b-8df8-b912e562eb87",
        "content": "Fluid Outliner",
        "outline": "e9d2cbab-e2a1-4d87-bc56-ad7c3e90fd07",
        "parent": "3de94b43-41b7-442c-b6fe-d2ed14a55b86",
        "children": [],
        "notes": [],
        "markers": []
      },
      "3761d406-f0d5-447c-bcfe-78faedc5c65a": {
        "id": "3761d406-f0d5-447c-bcfe-78faedc5c65a",
        "content": "Interface",
        "outline": "e9d2cbab-e2a1-4d87-bc56-ad7c3e90fd07",
        "parent": "b2127444-1be0-480b-8df8-b912e562eb87",
        "children": [
          "4c4b8cf4-8930-43a0-a395-23f5cdb56b1c",
          "cc0f6b1a-e3c0-44f5-8719-269acf5f4d2e",
          "cb727d48-b2ad-4043-be9f-b6cec28b78d4",
          "a3812df6-ef1c-4128-9828-25dd28b0580d",
          "a1df1099-80f2-40c6-8128-b48965083ae6",
          "04b653db-f355-4581-ac24-669b54583485"
        ],
        "notes": [],
        "markers": []
      },
      "4c4b8cf4-8930-43a0-a395-23f5cdb56b1c": {
        "id": "4c4b8cf4-8930-43a0-a395-23f5cdb56b1c",
        "content": "Double-tap seems unneccessary",
        "outline": "e9d2cbab-e2a1-4d87-bc56-ad7c3e90fd07",
        "parent": "3761d406-f0d5-447c-bcfe-78faedc5c65a",
        "children": [],
        "notes": [],
        "markers": []
      },
      "cc0f6b1a-e3c0-44f5-8719-269acf5f4d2e": {
        "id": "cc0f6b1a-e3c0-44f5-8719-269acf5f4d2e",
        "content": "Why extra interface for editing by default? Could be done without relayouting (overflow menu)",
        "outline": "e9d2cbab-e2a1-4d87-bc56-ad7c3e90fd07",
        "parent": "3761d406-f0d5-447c-bcfe-78faedc5c65a",
        "children": [],
        "notes": [],
        "markers": []
      },
      "cb727d48-b2ad-4043-be9f-b6cec28b78d4": {
        "id": "cb727d48-b2ad-4043-be9f-b6cec28b78d4",
        "content": "Low information density",
        "outline": "e9d2cbab-e2a1-4d87-bc56-ad7c3e90fd07",
        "parent": "3761d406-f0d5-447c-bcfe-78faedc5c65a",
        "children": [],
        "notes": [],
        "markers": []
      },
      "a3812df6-ef1c-4128-9828-25dd28b0580d": {
        "id": "a3812df6-ef1c-4128-9828-25dd28b0580d",
"content": "Maybe slightly cumbersome keyboard navigation",
        "outline": "e9d2cbab-e2a1-4d87-bc56-ad7c3e90fd07",
        "parent": "3761d406-f0d5-447c-bcfe-78faedc5c65a",
        "children": [
          "26d5bfb0-ca23-4f73-86cd-807cfff66a78"
        ],
        "notes": [],
        "markers": []
      },
      "26d5bfb0-ca23-4f73-86cd-807cfff66a78": {
        "id": "26d5bfb0-ca23-4f73-86cd-807cfff66a78",
        "content": "Sometimes buggy",
        "outline": "e9d2cbab-e2a1-4d87-bc56-ad7c3e90fd07",
        "parent": "a3812df6-ef1c-4128-9828-25dd28b0580d",
        "children": [],
        "notes": [],
        "markers": []
      },
      "a1df1099-80f2-40c6-8128-b48965083ae6": {
        "id": "a1df1099-80f2-40c6-8128-b48965083ae6",
        "content": "File format",
        "outline": "e9d2cbab-e2a1-4d87-bc56-ad7c3e90fd07",
        "parent": "3de94b43-41b7-442c-b6fe-d2ed14a55b86",
        "children": [
          "e3f60053-e613-46a3-9134-f2b4b973d84c",
          "3761d406-f0d5-447c-bcfe-78faedc5c65a"
        ],
        "notes": [],
        "markers": []
      },
      "e3f60053-e613-46a3-9134-f2b4b973d84c": {
        "id": "e3f60053-e613-46a3-9134-f2b4b973d84c",
        "content": "Custom",
        "outline": "e9d2cbab-e2a1-4d87-bc56-ad7c3e90fd07",
        "parent": "a1df1099-80f2-40c6-8128-b48965083ae6",
        "children": [],
        "notes": [],
        "markers": []
      },
      "04b653db-f355-4581-ac24-669b54583485": {
        "id": "04b653db-f355-4581-ac24-669b54583485",
        "content": "Pretty amazing animation",
        "outline": "e9d2cbab-e2a1-4d87-bc56-ad7c3e90fd07",
        "parent": "3761d406-f0d5-447c-bcfe-78faedc5c65a",
        "children": [],
        "notes": [],
        "markers": []
      }
    },
    "children": [
      "bec7d168-b585-4675-810c-2a5ce11878c6",
      "077dc852-0999-469f-9432-a903df089b93",
      "4f2bfbef-2554-42b9-bdc8-143664040bcc"
    ]
  },
  "visitState": {
    "outline": "e9d2cbab-e2a1-4d87-bc56-ad7c3e90fd07",
    "collapsedNodes": {},
    "searchQuery": "",
    "activeItemId": null,
    "zoomStack": []
  }
}

I'm on Firefox 68.0.1 on Manjaro.

lorefnon commented 5 years ago

@solarkraft Thanks for your interest in the project.

I am however not actively working on this repository. I have found the pwa based approach a bit limiting and the material ui less than ideal for my own day to day usage.

So I am working on an electron based re-iteration which will have a more minimal and streamlined ui and support for file attachments, web clipping and automatic downloading of embedded images in rich text.

Doing all this entirely in a PWA is difficult without a backing web service which I want to avoid for now.

However if you'd like to contribute a pr for this feature I'd be happy to merge it.

solarkraft commented 5 years ago

Unfortunately I can't find the time for that, I think.

How is your work on the new project coming along? I'm still on the lookout for a good outliner and would be pretty interested in trying that out (considering I quite enjoy the UX of fluid-outliner).