<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="17807" data-post-id="17807">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="JohnB" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/JohnB/120/2215_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  JohnB
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Yes! I would love to see this - the simplicity of standard links with the speed of websockets.</p>
<p>I’m not fluent enough in JS and coffeescript to do it very well, but it seems quite do-able, along with an elixir plug to manage the socket and dispatch to the standard phoenix routing.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="17807" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/turbolinks-with-phoenix/1091/23">Post #22</a>
	                </div>
	            </div>
              <div id="likers-container-17807" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="17807"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #22"></div>
  </section>
</div>
    <div class="postbit" id="17878" data-post-id="17878">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="sotojuan" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sotojuan/120/17260_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  sotojuan
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Here’s a site that uses Turbolinks with Phoenix:</p>
<aside class="onebox allowlistedgeneric" data-onebox-src="https://github.com/thechangelog">
  <header class="source">
      <img src="https://github.githubassets.com/favicons/favicon.svg" class="site-icon" alt="" width="32" height="32">

      <a href="https://github.com/thechangelog" target="_blank" rel="noopener nofollow ugc">GitHub</a>
  </header>

  <article class="onebox-body">
    <img width="280" height="280" src="https://avatars.githubusercontent.com/u/161466?s=280&amp;v=4" class="thumbnail onebox-avatar" alt="">

<h3><a href="https://github.com/thechangelog" target="_blank" rel="noopener nofollow ugc">Changelog Media</a></h3>

  <p>Podcasts and news for developers ~&gt; 888-974-CHLG (2454) - Changelog Media</p>


  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>

<p>As you can see it’s pretty fast: <a href="https://changelog.com/" rel="noopener nofollow ugc">https://changelog.com/</a></p>
<p>More info: <a href="https://changelog.com/posts/changelog-is-open-source" class="inline-onebox" rel="noopener nofollow ugc">Changelog.com is open source</a></p>
<p>I’ve never heard of Turbolinks before but I like what I see. Definitely can be better than building a slow JS-heavy SPA when it’s not needed.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="17878" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/turbolinks-with-phoenix/1091/24">Post #23</a>
	                </div>
	            </div>
              <div id="likers-container-17878" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="17878"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #23"></div>
  </section>
</div>
    <div class="postbit" id="17931" data-post-id="17931">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="OvermindDL1" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/OvermindDL1/120/2677_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  OvermindDL1
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="JohnB" data-post="23" data-topic="1091" data-full="true">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/johnb/48/2215_2.png" class="avatar"> JohnB:</div>
<blockquote>
<p>Yes! I would love to see this - the simplicity of standard links with the speed of websockets.</p>
<p>I’m not fluent enough in JS and coffeescript to do it very well, but it seems quite do-able, along with an elixir plug to manage the socket and dispatch to the standard phoenix routing.</p>
</blockquote>
</aside>
<p>I actually ended up writing something like it since that post, but without a fallback to non-javascript browsers (will not be an issue at my job).  It is indeed blazing fast.  ^.^</p>
<p>I decided not to return html though, generating it seems useless, I went more of the Discourse method, the server returns just enough html/script to generate a client router, the client router then sets up a websocket connection back to phoenix, hands the url over the websockets, the server sends back an element name to render and a set of dependent files that should be downloaded, the router checks if they are already in the cache, and downloads the ones that are not, once complete it then attaches the element to the page, passing startup data to it (like the websocket connection and more), then swaps the page (via a slide off/in animation, it looks like the pages are attached side-to-side).  There is a loading bar at the top just below the header (which is 'static’ish across all pages) that appears when downloading dependencies and waiting for the websocket communication, but thus far I do not even see it blink it is so fast since the site is hosted on the internal company LAN only across a few thousand people, even the VLan remote people do not see any delay.  Most of the time it just feels as fast as a native app (and interestingly the html/script of many pages so far is smaller than even the Elm standard library, blehg Elm is huge).</p>
<p>I guess this can be considered an SPA maybe, but only the needed parts are requested from the server (the server can ahead-of-time push messages to the client to have it preload files as well, though I’ve not used it yet).</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="17931" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/turbolinks-with-phoenix/1091/25">Post #24</a>
	                </div>
	            </div>
              <div id="likers-container-17931" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="17931"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #24"></div>
  </section>
</div>
    <div class="postbit" id="23321" data-post-id="23321">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="MatUrbanski" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  MatUrbanski
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hello everyone. I’ve added Turbolinks to my Phoenix app. It works great except one scenario:</p>
<ol>
<li>I have form for creating new record</li>
<li>I fill it with invalid data</li>
<li>I’m redirected back to form and see validation errors.</li>
<li>In my code editor I’m updating form template</li>
<li>My browser updates page because of Phoenix auto reload and raises an error</li>
</ol>
<p></p><div class="lightbox-wrapper"><a class="lightbox" href="https://forum.elixirforum.com/uploads/default/original/2X/e/ea0abd2d724949ce02016000dd83441e324c300d.png" data-download-href="https://forum.elixirforum.com/uploads/default/ea0abd2d724949ce02016000dd83441e324c300d" title="Screenshot from 2017-02-05 13:23:28.png" rel="nofollow"><img src="https://forum.elixirforum.com/uploads/default/optimized/2X/e/ea0abd2d724949ce02016000dd83441e324c300d_2_690x277.png" width="690" height="277" srcset="https://forum.elixirforum.com/uploads/default/optimized/2X/e/ea0abd2d724949ce02016000dd83441e324c300d_2_690x277.png, https://forum.elixirforum.com/uploads/default/optimized/2X/e/ea0abd2d724949ce02016000dd83441e324c300d_2_1035x415.png 1.5x, https://forum.elixirforum.com/uploads/default/optimized/2X/e/ea0abd2d724949ce02016000dd83441e324c300d_2_1380x554.png 2x" data-dominant-color="F5F7FA"><div class="meta"><svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg><span class="filename">Screenshot from 2017-02-05 13:23:28.png</span><span class="informations">1561×628 57 KB</span><svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg></div></a></div><p></p>
<p>Any ideas how can I solve this issue?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="23321" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/turbolinks-with-phoenix/1091/26">Post #25</a>
	                </div>
	            </div>
              <div id="likers-container-23321" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="23321"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #25"></div>
  </section>
</div>
    <div class="postbit" id="23352" data-post-id="23352">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="OvermindDL1" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/OvermindDL1/120/2677_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  OvermindDL1
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>That is just because it tried to GET what was probably only a POST url, that is just because of the auto-reload on a POST I’d imagine?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="23352" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/turbolinks-with-phoenix/1091/27">Post #26</a>
	                </div>
	            </div>
              <div id="likers-container-23352" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="23352"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #26"></div>
  </section>
</div>
    <div class="postbit" id="23744" data-post-id="23744">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="MatUrbanski" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  MatUrbanski
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Do anyone have idea how to fix it?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="23744" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/turbolinks-with-phoenix/1091/28">Post #27</a>
	                </div>
	            </div>
              <div id="likers-container-23744" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="23744"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #27"></div>
  </section>
</div>
    <div class="postbit" id="51489" data-post-id="51489">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="orestis" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/orestis/120/1949_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  orestis
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’m using morphdom in my hand-rolled crappy framework.</p>
<p>I basically render Handlebars templates, create a DOM node out of them, then morph the existing DOM. Works quite nicely, but I don’t really care about performance, so no idea how it compares with React’s VDOM.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="51489" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/turbolinks-with-phoenix/1091/31">Post #30</a>
	                </div>
	            </div>
              <div id="likers-container-51489" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="51489"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #30"></div>
  </section>
</div>
    <div class="postbit" id="51498" data-post-id="51498">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="OvermindDL1" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/OvermindDL1/120/2677_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  OvermindDL1
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="orestis" data-post="31" data-topic="1091">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/orestis/48/1949_2.png" class="avatar"> orestis:</div>
<blockquote>
<p>so no idea how it compares with React’s VDOM.</p>
</blockquote>
</aside>
<p>React’s is <em>very</em> slow.  Preact or others like it tend to be <em>much</em> faster.  Picodom is a vdom’ish thing that diff’s to the physical dom instead, it is <em>tiny</em> but unsure about speed.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="51498" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/turbolinks-with-phoenix/1091/32">Post #31</a>
	                </div>
	            </div>
              <div id="likers-container-51498" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="51498"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #31"></div>
  </section>
</div>
    <div class="postbit" id="51592" data-post-id="51592">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="michallepicki" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  michallepicki
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>May be a bit off-topic, since somone moved Unpoly to a new thread, but I think it’s worth to mention <a href="http://youtube.github.io/spfjs/" rel="noopener nofollow ugc">SPF</a> which YouTube used before the recent redesign. I think Github also was using it, probably not anymore. <a href="https://www.youtube.com/watch?v=yNe_HdayTtY" rel="noopener nofollow ugc">In this video</a> from 2014 Google describes how it works.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="51592" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/turbolinks-with-phoenix/1091/33">Post #32</a>
	                </div>
	            </div>
              <div id="likers-container-51592" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="51592"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #32"></div>
  </section>
</div>
    <div class="postbit" id="63073" data-post-id="63073">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="ukchukx" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/ukchukx/120/6699_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  ukchukx
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hey, <a class="mention" href="/u/overminddl1" rel="nofollow">@OvermindDL1</a>, your approach looks interesting.<br>
Is there a blog post/code sample I could consult to learn more?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="63073" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/turbolinks-with-phoenix/1091/34">Post #33</a>
	                </div>
	            </div>
              <div id="likers-container-63073" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="63073"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #33"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/1091/load_more?page=4">Load more posts (7 remaining)</a>
</div></template></turbo-stream>