GMOD / jbrowse-components

Source code for JBrowse 2, a modern React-based genome browser
https://jbrowse.org/jb2
Apache License 2.0
208 stars 62 forks source link

Reduce amount of information in session #432

Closed cmdcolin closed 4 years ago

cmdcolin commented 5 years ago

Current state of session if it is to be encoded in the URL would benefit from being reduced in size

{
  "name": "Integration test example",
  "width": 1850,
  "drawerWidth": 384,
  "views": [
    {
      "id": "integration_test",
      "type": "LinearGenomeView",
      "offsetPx": 34021,
      "bpPerPx": 0.05,
      "displayedRegions": [
        {
          "refName": "ctgA",
          "start": 0,
          "end": 50001,
          "assemblyName": "volvox"
        },
        {
          "refName": "ctgB",
          "start": 0,
          "end": 6079,
          "assemblyName": "volvox"
        }
      ],
      "displayRegionsFromAssemblyName": "volvox",
      "reversed": false,
      "tracks": [
        {
          "id": "IBbtgrvyY",
          "type": "AlignmentsTrack",
          "height": 197,
          "configuration": "volvox_alignments",
          "blockState": {
            "volvox:ctgA:1601-1680": {
              "key": "volvox:ctgA:1601-1680",
              "region": {
                "refName": "ctgA",
                "start": 1600,
                "end": 1680,
                "assemblyName": "volvox"
              },
              "isLeftEndOfDisplayedRegion": false,
              "isRightEndOfDisplayedRegion": false
            },
            "volvox:ctgA:1681-1760": {
              "key": "volvox:ctgA:1681-1760",
              "region": {
                "refName": "ctgA",
                "start": 1680,
                "end": 1760,
                "assemblyName": "volvox"
              },
              "isLeftEndOfDisplayedRegion": false,
              "isRightEndOfDisplayedRegion": false
            },
            "volvox:ctgA:1761-1840": {
              "key": "volvox:ctgA:1761-1840",
              "region": {
                "refName": "ctgA",
                "start": 1760,
                "end": 1840,
                "assemblyName": "volvox"
              },
              "isLeftEndOfDisplayedRegion": false,
              "isRightEndOfDisplayedRegion": false
            },
            "volvox:ctgA:1841-1920": {
              "key": "volvox:ctgA:1841-1920",
              "region": {
                "refName": "ctgA",
                "start": 1840,
                "end": 1920,
                "assemblyName": "volvox"
              },
              "isLeftEndOfDisplayedRegion": false,
              "isRightEndOfDisplayedRegion": false
            }
          },
          "selectedRendering": ""
        },
        {
          "id": "Jws4mxveJ",
          "type": "AlignmentsTrack",
          "height": 100,
          "configuration": "volvox_bam_altname",
          "blockState": {
            "volvox:ctgA:1601-1680": {
              "key": "volvox:ctgA:1601-1680",
              "region": {
                "refName": "contigA",
                "start": 1600,
                "end": 1680,
                "assemblyName": "volvox"
              },
              "isLeftEndOfDisplayedRegion": false,
              "isRightEndOfDisplayedRegion": false
            },
            "volvox:ctgA:1681-1760": {
              "key": "volvox:ctgA:1681-1760",
              "region": {
                "refName": "contigA",
                "start": 1680,
                "end": 1760,
                "assemblyName": "volvox"
              },
              "isLeftEndOfDisplayedRegion": false,
              "isRightEndOfDisplayedRegion": false
            },
            "volvox:ctgA:1761-1840": {
              "key": "volvox:ctgA:1761-1840",
              "region": {
                "refName": "contigA",
                "start": 1760,
                "end": 1840,
                "assemblyName": "volvox"
              },
              "isLeftEndOfDisplayedRegion": false,
              "isRightEndOfDisplayedRegion": false
            },
            "volvox:ctgA:1841-1920": {
              "key": "volvox:ctgA:1841-1920",
              "region": {
                "refName": "contigA",
                "start": 1840,
                "end": 1920,
                "assemblyName": "volvox"
              },
              "isLeftEndOfDisplayedRegion": false,
              "isRightEndOfDisplayedRegion": false
            }
          },
          "selectedRendering": ""
        }
      ],
      "controlsWidth": 120,
      "width": 1466,
      "hideControls": false,
      "trackSelectorType": "hierarchical",
      "minimumBlockWidth": 20
    }
  ],
  "drawerWidgets": {
    "hierarchicalTrackSelector-Integration test example": {
      "id": "hierarchicalTrackSelector-Integration test example",
      "type": "HierarchicalTrackSelectorDrawerWidget",
      "collapsed": {},
      "filterText": "",
      "view": "integration_test"
    },
    "aboutDrawerWidget": {
      "id": "aboutDrawerWidget",
      "type": "AboutDrawerWidget"
    },
    "alignmentsFeature": {
      "id": "alignmentsFeature",
      "type": "AlignmentsFeatureDrawerWidget",
      "featureData": {
        "seq": "GTAGTCGGCTGATTTCGCGCAGAACTGCGCTCACCGGTCAGTGATTGCTGTCCGAACTTGGGGGCAGCGTAGTTTCTAGCTAGAGACCGCAGCGAAACTG",
        "unmapped": false,
        "qc_failed": false,
        "duplicate": false,
        "secondary_alignment": false,
        "supplementary_alignment": false,
        "start": 1724,
        "end": 1824,
        "strand": 1,
        "score": 25,
        "qual": "17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17",
        "MQ": 25,
        "CIGAR": "100M",
        "length_on_ref": 100,
        "template_length": 0,
        "XT": "U",
        "NM": 5,
        "X0": 1,
        "X1": 0,
        "XM": 5,
        "XO": 0,
        "XG": 0,
        "MD": "26T10A6C27A24A2",
        "id": 4591299,
        "name": "ctgA_1725_2323_5:0:0_2:0:0_15bd",
        "seq_length": 100,
        "refName": "ctgA",
        "type": "match",
        "uniqueId": 4591299
      }
    }
  },
  "activeDrawerWidgets": {
    "hierarchicalTrackSelector-Integration test example": "hierarchicalTrackSelector-Integration test example",
    "aboutDrawerWidget": "aboutDrawerWidget",
    "alignmentsFeature": "alignmentsFeature"
  },
  "menuBars": [
    {
      "id": "mGLpxhytSN0",
      "type": "MainMenuBar",
      "menus": [
        {
          "name": "File",
          "menuItems": [
            {
              "name": "New Session",
              "icon": "add",
              "callback": "function(session) {session.setDefaultSession();}"
            },
            {
              "name": "divider",
              "icon": "",
              "callback": "function(model){console.log(model)}"
            },
            {
              "name": "Open Session...",
              "icon": "folder_open",
              "callback": "function(session) {const drawerWidget = session.addDrawerWidget('SessionManager','sessionManager',);session.showDrawerWidget(drawerWidget);}"
            },
            {
              "name": "divider",
              "icon": "",
              "callback": "function(model){console.log(model)}"
            },
            {
              "name": "Duplicate Session",
              "icon": "file_copy",
              "callback": "function(session) {session.duplicateCurrentSession();}"
            }
          ]
        },
        {
          "name": "Admin",
          "menuItems": [
            {
              "name": "Export configuration",
              "icon": "cloud_download",
              "callback": "exportConfiguration"
            },
            {
              "name": "Import configuration",
              "icon": "cloud_upload",
              "callback": "importConfiguration"
            }
          ]
        },
        {
          "name": "Help",
          "menuItems": [
            {
              "name": "About",
              "icon": "info",
              "callback": "openAbout"
            },
            {
              "name": "Help",
              "icon": "help",
              "callback": "openHelp"
            }
          ]
        }
      ]
    }
  ],
  "connections": {}
}

The menus seem like configuration The individual state of all drawers are maybe something that can be reduced The block states on the view can be removed I think as volatile, I think that this was discussed at one point The alignment feature details are somewhat debatable because if we want to refresh on a feature, you have to re-find the feature in a feature query, but you can easily imagine if you sent a long read feature over a link it would be too long

cmdcolin commented 5 years ago

The session URL appears to cause issue if I click on a long-read in the human dataset and refresh the page

I am seeing a URL like this cause http 400 error consistently in chrome with latest master, this URL has length 9966

http://localhost:3000/?session=eJztXWtzG8ex_SsqfIldRSv7fijlD5NxPHZuZOfakzi3UikWBC5JlEGAAkDLisr__c50n16AxAKaJUEQkmWOSWB3trenn6d7FtC7wXR41QxeDL65uRpOn_3l1-HV9aR59tnlRVx_PjgZvBmfLS8HL-IqT08GZ_Phm2b-Ex9Kq-xk8Mu4ebMYvPj3u8H4zBHRV8M0W1R__au7cvn22tP923jaDOemmc6umn-62e7M7Px80Sz__qsjW0bp86KqijhK4zxNkvpk8Or6783cn8wjd8fx4noyfNuc_dBcjGdTvtW8Of-OmR5dzmNHcLEczpeDF25-M3VsJFmd5FGRxCeD4WLRXL2avMV8v6rBbyd3SCRdJNK4rtMyDSSRbpKI6ypKHJ0okETWRSKO8ywpi0ASeQeJKqrjPClCuSg6SJSxYyMqykASZQeJvI7TqihCxVl1kMiKtMicRANJ1F0k4iROnWYDScRRB400z9OszEKFEXfYp6MRRUUeh6o17jDQOE2rPK7qPJRGl4XGjoe6KqtQGl0mGpVpVudZqH3FXTYaJXkap3WoauMOI62jNM_KPNTA4g4jreK4zpM4eCUdRlpWUVkmWbBAO4zUeUpS1VXoQpIOGy1SJ9A8CV1I0mGiWRUndbh1JR0WmsdplOVFqJH_qytq5EkZ5cGx6_-6pOlieDgTLzuYKPIyOGCcXkyiKHJh-3Q-nJ7NrrpsvcjSYCsVeslWes7oszp0ednpaHlRn14OrztUntdRloRTAmfp9pVWdVnVfell2-nVLgWE0itOh9dnWxaaFYkDGsEJ8XQ0-9VT6jDxrKzzNNg6itOzV688pY5QnHkEFKzH4tRhtakn1RGRs6JKk-BM60iNzj2ljricVWma1qHBrDh9_WriKXVEZ7c8B4eyYEqLxXLmSXVEaYftqjwci4hd5Tvs1MXbUMlXQq_YSi-tnKH2JVduJ1fGZWgYroVctZVcHUVVb3L1duF5_BC6WtBLomiHMlxF0JO_JNoebtMiDs_GsdDbHm6zyPlpMMbw4TbfEoXiooqc5YXTAm_bA27qMkF_etsDbhWn4WCopbfD0cosr_ozuN3TstgZZzBaE3rbXc2lv2AI2treDldLiuD8t6K3w9ccNAxOgIkYc7zd2VxhWYUu-B9Toddpy0U4xlpR6iprqqLKQ21kRamruCmyJA2V1opSV4mTlmXcn6euQqdM8iw0uq0oddbkDsKExt0Vpa7SvHSL7i-nrgrdJfngunhFqatQL-s4OJS1lLpKIcdTFfW28a6KyBUjad17dV2FkbfxIjRurSh12XjlKqze9pR02XhZF3VoYltR6rBxFyDi4LbZilKXjecOq_Qm1GXiSZUGg5QVpS4TT1x1HpoTV5S6TLyu495SSjssPEuLurcxpV1d0zKtesfwtKsqioq8t8ulXUVRXmf9l9ZVEkV5cNNvRajDuNMs629IaVdB5Crn_oS6yqG8Ci6GVoQ6TDut6_7pMu2w7DStkt5Ly7os28mot4tkXQW_S8a9DTLrsuw0T_pz1GXZadrfsrMOy3ZaS3prLeuybAfh-nPUYdlpFef91d9h2akDcP211mnZZf_AlnVZdpVvxRL_afeqsFP19Xx2pTpmnrgb_tLMF40jeD6cLJqTwXI-HP28totWnV999_1F9XK52kX7aXxxMWmsn-gOXjbji8ulbyY61kaz6fn44mY-XLrbuqlvaKpbxuzVcHI6vFnOFqPhpHGXvZrMRj__uBwuHcV3xM0LX3q8iL-o3JIjf_Dn5i0YvX3Kc31B9N-__UZXbJP3YLz4W3O-_Mv07Pvzr25v7rXyGC9-8OvbMcfRWfHo7xd_ERfb1nDrfMhCsAAAyAOvhm4Yf-Ei4jaV3JoQsh5ZA3Y2D7AgR2jRTJrR0p-YnjXz8fTC3YT8jUz876--eXU5nRf_nD7Exp09fzLxTyZ-nCY-mtVnP_1XT398vTLxPw8X41GQhb8aX7xqzk6vm6HLDJ_s-pNdH8yuWwP-efT6q5fT_7lIV_arJuOL6VUzXS6CjPhfP_38jV3-Ut-M88ew4Y_DgD8q6z3OkPwfMs3lfDZZ4OE16uLIs220rXw5Pms0Jt1G5j8Szdncsg9cjpv5cD66HDvI4VZ7NZ6Or26u_uyNG8STiMoBeVjuolkuyOLXLrTrhP1J8rjtM1oP_GbblK_Wbjfw651MhtdUZbxzcjkfT5bN3Da_Lr1A-Lm9wfrzem7OsHXur5vh8mbetHxtnumICDh1h49zHB0uh57conntLrJaWWuste6Pe62U0Vq59-6VO6Kt4WPukLHKzVV0QmG2oVmWD7vz2rhD7r02NN8fdrO0n2KIHO6FCz15upufrPx8d8ASS3Rbd5X2k43742_vftMBS6ccV5rfMVlP0x0lRtwbvtpd62fpu0cU_xAzmqiv1kHXM89Ejee5BRBxzUzSLF4CLdi90wqyNMyBv4wu1tovxzPhOfB0PONefu4FceYvNRZL8kySIuiV55759MQgQ_7r6RpPl7Tmj4FXYp5XTYtVhu5GV_FFdB__y4pkWT1e9HQVS4Sm81ogGEsS0PyHlOhWYck2iH1m0uuMlkcE6BgtxN_Q_1FKg6KfR4Ij7dM6WL9Ws7SVgWZoVWJ9nr6hQ0Zsyt-cXlpig6xMs2Uxe0RL8eIV8cPKovmajdGbo2a1G55Cry25gJgicax4sWQzOGSskfeGzJIUpaAPP4XkqtspGleSON0RfyPPDZk3L5nNxLC90NoMyZfPaVYR3480oclS-RW_NswCiUeLH8InFXmnIf2ybVoyOrrUQkekXhYcOz2JnjhWvAIFazdMkezeL8vfzEBlfglewqxnsjQFHrQWHXFY0VbiDMcFsjpSAXsZ-QofJFkqaFaxQr3BWRKAwXLJ-XxUUgbhRQ5xqIEGFPuC16OB33nmOM6wq1oDtyCrJ5mCCZKYUbx2hBM6Z_mmhiRHAlJwZFaxIZahIzJrzxut17J0FaQOyhS5OMZxZDTsAGSVfCnpynAkYDdXkC9Ljj1MriBtcoxgu-P4pix8xbBHQa9K9K3ElAwHNkuZgq0chFh7HCboF__FTKvYPWh1mpXIDGpaHvkwkSdy3r4sgo2hjGQo0WAJXuEUbdmJtYJ2eTKzzoFXr9kyGRUvhtOJZlEgjluWDhu9FgfmNbCuDHyE0wP_b-Fymi2cIy7upiWdUPSXVcJm2JPhX5wRaPlMgd7CqRX5N-U2y5GDdQxdk30jSVgOZhCm4QxAcYhMRFv2Uqvkl2ZmFTjh5NK6UxuQDWdaNnrOCqQT4gm_hQk2aD6G5SPJkSUbzqoUezmPCMeWw7Rq0QYvHjkLBEhxxIgRx7Dkv_SHtWs4bilYlhaLRTYgfGAEILBiKUKAjhWsQxIhK7GcufkNS4dQBU01rdGQnRhxT5I9hWR2N7XyZnZWjlicBjkLKwpALBqyHwZjtoVfAsoEhynMV7Ik8jaegYTM8ZGTCS_dKBEQRQ5EOyPaNjBBjWs4A5JXagVDZrY1SdfAeiWJcPrVCE1WYgLdmTkxyFzivZIzjF2FTQJRmt2kXRJHFYUbaLhryxw5JOUpYoeRQvvDRNffegOgm2qEM4u3pAyNUA9_tqtwb1YpjSyT3rHe2Vpo0YhgQGkWiJVNg-ZT2BTUhthiEBfEEzXbLEE8RrcwTZKMgVtasl7Dh0nCHHtIuxJQ1zImnF5DWOwLiAJG3MsYoAxYKAtaYyUc7qBFw8mH5cHsI4szFrbQCWVYhhsIgErwjQJG1VIxANhpsK4RcBTgLyM-5og9mMwbyB7kEMsskDRSDPK4ZXBLsltBZoYwBJAEtXOmt8A6pEtOZgxZCINxUrIasJTuKnnTUErF9eDQsLqRL6zwrSRfQX-qRXAKAEGSeZuING7P4cMA5hq5MeMvBEylJB0r1B2wfEbVnNW4FGGtSOpjNZk2ZxmOyOJxBgvlQI_YhlqTISHjfgiPw0eLc7WsiFSNKARAI3AICFgJ0rJSz1jA1hbNADPCK_k2BoHaMiw1qMjoGPkZowmjuH4zEq68iIzEFJKCMUayH2ncMNxkUwW2JOKoGTlG4yCiMuxYAyJIXYx4qyzynUH1B4Mkg0YtpsRFNEofDUSvFViRdKYl8cD3uf40GniAq3LFfQByBBSTK3mQViE2KaMQxRTcnM2Qtct-YNtASCiFORUEQ0BDIRKxkbPHcZy3UvUwtNFrXYu13KbEBoykb0brVgoOOBDCYBuiCUJRSOFgZfUKvhuuWA3c03JNSeajAfc1qmdaNZdQSvIhT4djo9aHPWlG7mw3AFYQGBcaZFjGtPav0Vng5ouBaxl0GQAgxJskSiCfCuoGmuKE1lbAXNNwqBRVeXOznF1WmAC352BArgCExWGTyzeWFgNPJdbBxgHhQfRcW3GVJIJCw4Rlw_m8hbc8wwgYY_UhsSB5McKRPMzOYAF8pSpkyUBCWrea52hlUPEorvrY2ChHaEEMbBEsMFo_ajeOqlrMCy7TNhJQrzODaI9xm4nuAHck0Mp8a6iDFcDr0usxFX0LdmyAQUmc0tjg0ktzekU0NAIK2rxFq-TGBisCRrQqc2GBWjyCCziDUlMhu3Co1ShhkPukWEZfEEtat0YgPYs-mmlBVdtT4SBKukLt36IC5Bc2P_IjhaZai_4BOK2UsZLAkdsEBXLeZz1z1wJdkrZsswomzq7CKd5IumK3gydpQa4GdSHnLAktyqJHKn0zNhsWCzolaHiggF4DQW2tzzGeo6hC2aOQr6w0SCz6sUagJbUOUOcZ9Fw08IALDFpAB1c-RnoSrQ9L9cMiZHSPMKxXjRQROvdeMYPBCRpraq2nrDjhG2Re8M0Bg-OaadtZ6JIgTYGuNLIMwAUiAJJ6i74VNw_5ABelMlcag1xTwmXR1oOpcvkIvAToa1cgFziY7oh-OEorDjaMWxVat6QFzY4OA-QelXTAmNM2RnIBxZYPqsZi0UCJgF4GWmeX4RQOoriUf2lU-QqVCN2BU4KGvVg5rSXGGbTVNBpj0DVHYGmtasOeIikJIUCsmWchRKB7BvmuimwkD8BVbmsqtNSsaStg9IQ0-oVtN5au0-ijwQq4MuOGKfdd2dVgUKvcqhBiALBX1g8Srdm2Na0EfQ54KDvRYYD5I0SwlaCspdKZeZQOlmorAg1NsPVzVEUVIk04DbfDJgo3SzTKB2mMrEV0i04PuluSI7B-3bKlpJZjcUpJjrzF6mahqtb7LbdoObhK-9JIYc4Zh5VrgErhK5AuJzK0nTjnaFahQZcBCMAihfE7hBIFn-JDCN1WetmckA1ClghNsekgMYpokCbwlkMchzHpCnL9gFoJqYCjDc8BDAcoYbGaVWkmUavtwIrWBJIpCfISG7m9pFETMf5Q7QSzZo96PdEiqCLeKenlSNkJpVslCEy6zi0IkBuh5cWuDGuWklEyh9yBk5dsDLWmII0dLjyEAYQqMUyFzUIlbTncSYpV20Z36cyatm-kUFoTdLV8CqhUdieUCEKvsC5v-hhOS9zHwV4IW6Am4MNzORBz9xAbTZLP21XIC5QEsG7BvKLQdm1QL-IsbNxCiiIfI6W6lECyRE5jtrVaBt5IGEzVik2iXONSi4t3Rl8I-a3ftvGivRB4G6cUtrG4JuYiUZZo0JEysBSD1CvytFbEw_EdXKO4VauKjaMFd8AhCKBdrm_bPTLgOLZB5pK7Y1xGo6RG10hhb0dADRcvBAU4wnIcodeaq2aDSsqgQ8DIn-9mKMsDUkkSljY8hzTu-WhvQ6atC9umAJfMFCC4TUxL5JAHy-UtbN4At9JdpwKcEI1Br9FwdGmPtNlMSV-ZRGywW8glKHMILMWNeAZ30BDKOckJjN1QDSgAARgDgoIGcAQcRNmBjpwAOytdKYbrugUaXIFhd4wISXpou7cr5rFHLxUx97Zoow8QiljXwNxA7jAjJRtUdtXxQnLCDwALAJWWcG3bCMRawbaUEQfhLQFBNkwQzy5YBDYgRKPFMhDeVrBZpAmDUhpYre3MovHBEkSfHkIzCJJt6oBzGyQRI1EUaax1M_TsTHsz5CDDfWZOLfB0LWFGXFqhh942D6RnohQqRiOxjy2f-0ti38qIL3J1hj0gjm1K2hvYvoNlCGkrlbJCU1ij0lWQkDSMvI-zV3NyAkBAdPNS4GBnNWobLdUxtt2NQFN6wybICLOt2aWUV_LAgVSm9FDDWl630jfn1hqCsEWBwXIAzoMRWqnZjWR5wCQJmmI5bAJasDoDnDb9tVOU1Byo9JSUpwqstrmg87D8MWsnWty5Sh4tFRt8av3et-4u55WVxh93NqiZBT1iFxHSVwaRQkttIzsT_LwFl928t2Jg8xyjkRY1d5c4JiBzoFNx6z_a_zNorPC-mr9W824Eoz9ilPat0dDkFqFsXWn2E23QLzHS8EELSdpRDHB4q1IjNvg78f4QF7K8bX4r3VrxSo2OIt2b8zRqO84vzJ3mDENZC1uhdH-DR3lU21kDWkFHEgUhc2Sw4YnIQOausFXKIuQW5qqD3YY_hneyDOn0y1Bq7ZBcp9ZwrsLy1ya9nzbPMRKCONrIVoZUcStAJm0dbnejNSEVxxpbYri6dU3442prCH0kI91D7jgCZTI7sBNquop9aAtlGMmKHHFQUUuMtArwRxo-1JikGyjpdQPcKm7ySpcFUd9y9QKIg8itCKi0e3Yof1uIzj1sgRHAgDzXrq1aOo8MNgT-YiNfAUIq0z59YLBVbOH-EvhV241iZ0KwawEx5xFuIBlp0UoTDr0UxR0JpD5il3d8-DyLn8Ovwv6ZltYLAixvj6Kx3BYYiiWugHdIeAKRuQgFyuIMwSsxeGJE2RYGDU4GN9Or4fX12qfWXo9Oz4fjydqRs5vryXhEz3fjyKIZzaZnw_nb0_YR0tW5m-vrSeMPbTmPx4jjuMxWn79OMv-dJIul_06LwYsvYvd6NPOPqvpvaHh9M5wMXgzq9Nk9R3TfC4NHXtznqqpevS7K4KviY-H_sUf1sMvLgEWVe2c7vqXW9RGTisvyWXX3TOEGabXMn8V0Nk9IAOVd2r1FuHGvw4yyp889Ep8PtKAOgiHrSvqTzbpfBxJ8r6UXGxSq_kyCVB9NZTst1lk7mNng_67lP_5YX9fezWbvY7f6NuX5NEzukY1HSHpHJSswE-xcJTtI9CzfyDb7z2n7Wt2aUx9M7Nnjo79HlNgWKPG040gMbDOpfRof1uiAOocaxTGF_V0ienDi2xTye2NveV-9ZPeKV_eLcuXDJFN2IcziXgsP5L9Xytt7lR9SuTy8Cssf5tF5QEjvW1oebOQB0nu8hJ7vic5R4eEPa-xwn_XAkv0OJNyW9h_eOLbw0pUIykNB30NC_ZD4eb9xsC7ovbtq9xjZA1pk24L84dtuH97YqeLyifrtD2R7fTzG_tIxjDvrKjaWuUdsdszV5eYy47XX5UE6TgeGB51Z7I4cil4LD_Om7r2SRwYYm8X7cXYR6xAYsyUWJU_N-RPLLThEpxuOlh0wQ222U1ok9lRFELyjS4A73CRk0zP8CY5to1fpvRlCA3ctfds89pffAau78GRYyApBDrt3hPcy1tF-j90fkUav_lLQ8wC9FHQM5WdYdsMzKncOPiZj67Dq4aUKR9FD7kE8EFy917-qI-i6hMszu81tsZvsg_NFvvtZlHv53Saw3JFE7mGx2dNtkD3h3twtNnaadPcW8AGbMCENn15NofdOPrb-_P22zDrWteae66Gg6BPTimPInpvjOLkKUcrjV44Ha2VvXWMnV8FWnW6UButPY-bH11ANCSDrUWjvWwBOPm1U35F2t903hJ821ea7o8cOx9xAC4d_6mmzRdmbwuaDtT1pBtbp62jh2Pb-1jNISny2Macfq1tE1_kkydOOg4G3p93vCGy53Ptxph0jDvSL2xFmdwzpbCak7dmnNrMDV5fbbPh4t9iCR6_PUOztjhK-Ols0jPT2ztg-d94fgKIf-IGOHY81OjR1-O2VO0Xik0NoHrce3ju-kofjRkfH5nZYOzb0Uu_140h3sMq65fRqZe9mchvIfNTN5UfCPHfSTRbIjAi2V_viIxiPgVJCtuaf6oOuhxw74O6xdQU_7nG_jO8j5PGlxccbD_xSgc0PNe_9yf87O1D3eKLyMWqiw9RZ-3pELd5Iu7s38jo42eJNH9uDiIdF6e8HHp3e9JgBau8fq3-8jwId8kHuEOhysN7LAYDEnR3DI6led4_24_b35vxoH8I8pBaCrGtn2N_XDu_voV643wjsr_bqk_R66PQAH_B80EMLD_aUY_t6mQd-krrHCHyOtA8Ov-PIgS2mw-zZ9d2q-Diq-M1NhECDf-AOe8iHx8HP4-HGR8jyd9zh8Zj_NI55dD5KtLkzFRgAsy3Osomv-maH_X_n3lNvfD9k3O8bUZ5k7MiJfVs6H8Q4kiec6yPrdB15obqV7X1rs1eB81Qx6gh3qz-gcW-b6avu9JgcfNsIr4nSvYaIDzTg7GftR5ODjmocriPxOGP3Z83qPrXq5ve73mP0fa7vaczyAylsQxuk-4AE_T6MHGZUO1r97zXLh-8a9_s03AceBz6Ne4-Hf_hlv-Ng25T7_Qzj_cT48Pj_ETylf1cmj1biPeSb3LaNvcCGbjkcmWN-Gu04hu9_-GjGkX6W_DHH4wWNHWNb9Dva73n-fY6Hf73VsY3DfNXh72vc12eT_aHr43mIYt1lWmM78rDWfp3FAwH8tnAR-rnpO0iGv6pr3w57zzWG2ermF4M89th85Ptpg_YTf_btU51yqHEMMe3TY1EYv285HNgM7mf5h_mXy9qG1b2__2Rf3-12mPHEjakP4WMsH-jY8QHwx_scx9E_WjM4Gbz8X_4n0vW3Rv0weDHIq_zL-F9xmvs_SVW432WS-UMxnSjTyp_wR5IoS_yhKPGHqjh2v7P6y_jbuC796Tr6Mv02Tv3LIvoy_iqra7rK08nS7Et390kzvVhens6mp_Pm3DESFWV0Mlg2V9eT4bI55dODF-7YD8Yx9yqPzkdlFLkrp9duenEymL92p5_X7r-iTMoyyqMorlJ3fOHmp3VWnUTy465aTN3ROHqe12lS5XkRFVFZxydx_jyqyqjKyyStyqLO05PseVondRrXaRWXsTt6Uj6PyyopizytqqyqytLRW8ae6ee1u3EUJWmRx3Hibr5MPFNx6dlK8ziP4qzIqsydSP2_Vf88zVI3P4vjuirTKD8Z_PfKHc-jqsgLv6ir0eBFXT-vEjchTdMyc7Td1eOzwYukrHPHvWOidstpXrcy8rLz627OvxteNX6ZXkr88qrIojg-jas4iavTJM2jPPlje78_jkYLv5a31zR3uBxdurc30_Hrm-bb27f87bffTgbD0XL8S_PVfPimmf80Prtolk7W7waX42Y-nI8ux6PhxM6Ho59_bCbNaDmbO6Lbzzlyk_HF9KqZLhdfN8PlzdwzsXnM3de9v_nz0Cv23-9IFoPhP07HL6-__8ev2Yr_l8Px9CXPHPA1fAFE8fV40uD4t87Obp37rnnz7MdmsRjPpm7KeDTz1jI8O3NvHN-TV45vd-D8ZuoEMJt-tuCpnz97h1fPF83yq-Z8eDNZgsxnn__pN8d6e4ez8S_js2a-or6F9NXsrJl8_s7NWcwmzfPJ7AKHblH7_rqZCsPPnz9fUT2fTdxdTmfu_Ht59_dYPjtb0-azL5_Jgtzi1_X82R9wt5fD6fCimf_h5A-LOwc-_1MrjMvZm1sXr9_jUeXy1c31xFnastnU5rlT_-lodv02WKdnQkzfzOfOIm9p9j9rd1VnV-PpNtP6y6_Xs_nymWPifHxxMx8ub3E1msxuzk7PZm-mk9nwjrk1dKW-deHaXb-9ej9ht4INsuOrDrLry_mmmVxvW416NbtZru4ynp7PblP3lseTNiniokt-d-cimuP4cD_u3Gw6bUgvPsD89tv_A5btXRM

rbuels commented 5 years ago

Could maybe just have the selection be the feature ID

rbuels commented 5 years ago

Also remove anything under blockState from the session, cause that will get repopulated

garrettjstevens commented 5 years ago

Also look at having drawer widget stuff (e.g. featureData) be volatile so it doesn't show up in the snapshot.

cmdcolin commented 4 years ago

If a feature is in the URL bar like a long read or a gene with a bunch of transcripts, you can easily get URL that is 500kb long pre-gzip and repeatedly being gzipped to get to 20kb and that causes large delays in the main thread (sometimes taking 8 seconds to run gzip blocking the main thread)

Screen Shot 2019-12-29 at 9 36 38 PM

cmdcolin commented 4 years ago

So as noted above making that volatile would be good...would need to figure out what to do about the drawer on reload...possibly waiting for the feature data to load from the track? Maybe local storage and then fallback to loading from track?

rbuels commented 4 years ago

Reducing the amount of information in the session doesn't really have a clear definition of done. I kind of think we should close this issue.

On Sun, Dec 29, 2019 at 9:53 PM Colin Diesh notifications@github.com wrote:

If a feature is in the URL bar like a long read or a gene with a bunch of transcripts, you can easily get URL that is 500kb long pre-gzip and repeatedly being gzipped to get to 20kb and that causes large delays in the main thread (sometimes taking 8 seconds to run gzip blocking the main thread)

[image: Screen Shot 2019-12-29 at 9 36 38 PM] https://user-images.githubusercontent.com/6511937/71566406-526b4480-2a85-11ea-97ce-e35b5d06f9a6.png

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/GMOD/jbrowse-components/issues/432?email_source=notifications&email_token=AAASAFJIQMCNPCWDWIG4VTLQ3FPCVA5CNFSM4IIJ6H72YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHZOX5I#issuecomment-569568245, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAASAFMMMW43ZJ5ARGZPLMLQ3FPCVANCNFSM4IIJ6H7Q .

cmdcolin commented 4 years ago

Ok, I think my concern of feature data in the URL is probably the most actionable since this can grow to a large size easily if we want to make a new issue for that in particular