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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Good idea. I submitted it. Thanks again.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="53186" 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/drab-remote-controlled-frontend-framework-for-phoenix/3277/242">Post #241</a>
	                </div>
	            </div>
              <div id="likers-container-53186" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="53186"
                     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 #241"></div>
  </section>
</div>
    <div class="postbit" id="53483" data-post-id="53483">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hello,<br>
I adopted Drab recently, and i’m facing a problem (surely some kind of noob problem though):<br>
How can I test commanders?</p>
<p>I used to test all my controllers, and have some controller-related code untested made me feel uncomfortable.<br>
I suppose it is close to channel test (and I only work with channel when I go through Phoenix book…) but I don’t have any clue what to send to socket.<br>
Or maybe, this should be tested via headless browser like any front end?</p>
<p>Tanks your your help!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="53483" 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/drab-remote-controlled-frontend-framework-for-phoenix/3277/243">Post #242</a>
	                </div>
	            </div>
              <div id="likers-container-53483" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="53483"
                     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 #242"></div>
  </section>
</div>
    <div class="postbit" id="53492" data-post-id="53492">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="grych" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/grych/120/5610_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  grych
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Drab</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>There is no support for tests in Drab yet. It must be done in the way to the stable production version, but I still have no idea how could it look like <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<p>In internal drab tests, I am doing a full integration tests with hound and chromedriver. Unfortunately, the headless browser (phantomjs) does not want to work with Drab.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="53492" 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/drab-remote-controlled-frontend-framework-for-phoenix/3277/244">Post #243</a>
	                </div>
	            </div>
              <div id="likers-container-53492" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="53492"
                     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 #243"></div>
  </section>
</div>
    <div class="postbit" id="54771" data-post-id="54771">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hello Grych</p>
<p>I get a <code>protocol Enumerable not implemented for nil</code> while using the Drab.run_handler method on Phx 1.3. I try to reproduce your example but get the error bellow. Any suggestion ?</p>
<pre><code>  &lt;a class="waves-effect waves-light btn grey" onclick="Drab.run_handler('click', 'clicked', {click: 'clickety-click'});"&gt;

  def clicked(socket, payload) do
     socket |&gt; Drab.Browser.console("You've sent me this: #{payload |&gt; inspect}")
  end

  Transport:  Phoenix.Transports.WebSocket
  Parameters: %{"event" =&gt; "click", "event_handler_function" =&gt; "clicked", "payload" =&gt; %{"click" =&gt; "clickety-click"}, "reply_to" =&gt; "8a0affa7-1dd2-4e9d-95d8-9441897eb747"}
  [error] Drab Handler failed with the following exception:
  ** (Protocol.UndefinedError) protocol Enumerable not implemented for nil. This protocol is implemented for: ...
</code></pre>
<p>I also receive this after closing the alert box :</p>
<pre><code> [debug] INCOMING "execjs" on "__drab:same_path:/packs/1" to Drab.Channel
 Transport:  Phoenix.Transports.WebSocket
 Parameters: %{"ok" =&gt;["SFMyNTY.g3QAAAACZAAEZGF0YWgCZ2QADW5vbm9kZUBub2hvc3QAAA6mAAAAAAByAANkAA1ub25vZGVAbm9ob3N0AAAAj__RLAABgxyz62QABnNpZ25lZG4GAAPPMjNfAQ.2KVP7lyR4fOT_q4tZNBGdCA3dzZFZX5fXWMV_gc-Xjg", nil]}
</code></pre> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="54771" 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/drab-remote-controlled-frontend-framework-for-phoenix/3277/245">Post #244</a>
	                </div>
	            </div>
              <div id="likers-container-54771" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="54771"
                     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 #244"></div>
  </section>
</div>
    <div class="postbit" id="54827" data-post-id="54827">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="grych" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/grych/120/5610_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  grych
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Drab</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>It’s a bug. Thanks a lot for reporting!<br>
Could you please create an issue on github, so we will have all bugfixes in the one place.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="54827" 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/drab-remote-controlled-frontend-framework-for-phoenix/3277/246">Post #245</a>
	                </div>
	            </div>
              <div id="likers-container-54827" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="54827"
                     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 #245"></div>
  </section>
</div>
    <div class="postbit" id="54839" data-post-id="54839">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>the issue is done !<br>
thanks</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="54839" 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/drab-remote-controlled-frontend-framework-for-phoenix/3277/247">Post #246</a>
	                </div>
	            </div>
              <div id="likers-container-54839" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="54839"
                     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 #246"></div>
  </section>
</div>
    <div class="postbit" id="55516" data-post-id="55516">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="grych" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/grych/120/5610_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  grych
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Drab</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<h2><a name="p-55516-v060-pre1-finally-arrived-1" class="anchor" href="#p-55516-v060-pre1-finally-arrived-1" aria-label="Heading link" rel="nofollow"></a>v0.6.0-pre.1 finally arrived</h2>
<p>Girls and boys,<br>
after a long time, I am happy with the brand new Drab EEx engine, completely rewritten, shorter, faster and way more clever. It is finally not pushing <code>&lt;span&gt;</code> in every corner of your html template, but it is using the existing tags.</p>
<p><strong>Please help me with testing this one</strong>.</p>
<ul>
<li>add <code>{:drab, "~&gt; 0.6.0-pre.1"}</code> to your deps in <code>mix.exs</code></li>
<li><code>mix deps.get</code></li>
<li><code>rm priv/hashes_expressions.drab.cache.*</code> (it’s been renamed to <code>drab.live.cache</code>)</li>
<li><code>mix clean</code> to recompile templates</li>
</ul>
<h3><a name="p-55516-changes-2" class="anchor" href="#p-55516-changes-2" aria-label="Heading link" rel="nofollow"></a>Changes</h3>
<p>The main change in the new template engine is that now it is not injecting <code>&lt;span&gt;</code> everywhere. Now, it parses the html and tries to find the sourrounding tag and mark it with the attribute called <code>drab-ampere</code>. The attribute value is a hash of the previous buffer and the expression, so it is considered unique.</p>
<p>Consider the template, with initial value of <code>1</code> (given in render function in the Controller, as usual):</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">&lt;p&gt;Chapter &lt;%= @chapter_no %&gt;.&lt;/p&gt;
</code></pre>
<p>which renders to:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">&lt;p drab-ampere="someid"&gt;Chapter 1.&lt;/p&gt;
</code></pre>
<p>This <code>drab-ampere</code> attribute is injected automatically by <code>Drab.Live.EExEngine</code>. Updating the <code>@chapter_no</code> assign in the Drab Commander, by using <code>poke/2</code>:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">chapter = peek(socket, :chapter_no)     # get the current value of `@chapter_no`
poke(socket, chapter_no: chapter + 1)   # push the new value to the browser
</code></pre>
<p>will change the <code>innerHTML</code> of the <code>&lt;p drab-ampere="someid"&gt;</code> to “Chapter 2.” by executing the following JS on the browser:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">document.querySelector('[drab-ampere=someid]').innerHTML = "Chapter 2."
</code></pre>
<p>This is possible because during the compile phase, Drab stores the <code>drab-ampere</code> and the corresponding pattern in the cache DETS file (located in <code>priv/drab.live.cache</code>).</p>
<h4><a name="p-55516-sometimes-it-must-add-a-span-3" class="anchor" href="#p-55516-sometimes-it-must-add-a-span-3" aria-label="Heading link" rel="nofollow"></a>Sometimes it must add a <code>&lt;span&gt;</code></h4>
<p>In case, when Drab can’t find the parent tag, it injects <code>&lt;span&gt;</code> in the generated html. For example, template like:</p>
<pre><code>Chapter &lt;%= @chapter_no %&gt;.
</code></pre>
<p>renders to:</p>
<pre><code>Chapter &lt;span drab-ampere="someid"&gt;1&lt;/span&gt;.
</code></pre>
<h3><a name="p-55516-avoiding-using-drab-nodrab-option-4" class="anchor" href="#p-55516-avoiding-using-drab-nodrab-option-4" aria-label="Heading link" rel="nofollow"></a>Avoiding using Drab (<code>nodrab</code> option)</h3>
<p>If there is no need to use Drab with some expression, you may mark it with <code>nodrab/1</code> function. Such expressions will be treated as a “normal” Phoenix expressions and will not be updatable by <code>poke/2</code>.</p>
<pre><code>&lt;p&gt;Chapter &lt;%= nodrab(@chapter_no) %&gt;.&lt;/p&gt;
</code></pre>
<p>In the future (Elixir 1.6 I suppose), the <code>nodrab</code> keyword will be replaced by a special EEx mark <code>/</code> (expression will look like <code>&lt;%/ @chapter_no %&gt;</code>).</p>
<h3><a name="p-55516-the-conn-case-5" class="anchor" href="#p-55516-the-conn-case-5" aria-label="Heading link" rel="nofollow"></a>The <code>@conn</code> case</h3>
<p>The <code>@conn</code> assign is often used in Phoenix templates. Drab considers it read-only, you can not update it with <code>poke/2</code>. And, because it is often quite hudge, may significantly increase the number of data sent to the browser. This is why Drab treats all expressions with only one assign, which happen to be <code>@conn</code>, as a <code>nodrab</code> assign.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="55516" data-batch-url="/posts/batch_likers">
                        6
                      </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/drab-remote-controlled-frontend-framework-for-phoenix/3277/248">Post #247</a>
	                </div>
	            </div>
              <div id="likers-container-55516" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="55516"
                     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 #247"></div>
  </section>
</div>
    <div class="postbit" id="56014" data-post-id="56014">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I am working on a small experimental app that incorporates geolocation into an interactive chat experience. I want the LiveCommander to not only have lat/lon available in <span class="mention">@lat</span>/<a class="mention" href="/u/lon" rel="nofollow">@lon</a> variables, but also be able to respond to GeoLocation changes and update the page with fresh info that is location specific. I could do some JS code that somehow combined Geolocation.watchPosition()) with sending info to a phoenix channel to update the phoenix session, but am wondering if there is better way to incorporate geo position changes with LiveCommander, some sort of drab-event that could be created, or some other way to do it that fits the drab model better.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="56014" 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/drab-remote-controlled-frontend-framework-for-phoenix/3277/249">Post #248</a>
	                </div>
	            </div>
              <div id="likers-container-56014" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="56014"
                     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 #248"></div>
  </section>
</div>
    <div class="postbit" id="56161" data-post-id="56161">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="grych" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/grych/120/5610_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  grych
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Drab</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Drab does not have any geolocation helpers (maybe it is a good idea to add it in the Drab.Browser?).</p>
<p>To archive your goal, you may call javascript function (from Geowatchin.watchPosition()) <code>Drab.run_handler()</code> to execute function in the commander module directly from the browser.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="56161" 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/drab-remote-controlled-frontend-framework-for-phoenix/3277/250">Post #249</a>
	                </div>
	            </div>
              <div id="likers-container-56161" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="56161"
                     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 #249"></div>
  </section>
</div>
    <div class="postbit" id="56177" data-post-id="56177">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’m surprised pheonix doesn’t have something like this built-in. It appears to be the perfect fit for the strengths of Elixir and Pheonix while not being the same JavaScript SPA hell that is currently out there. It’s exhausting.</p>
<p>With polish, Drab could be a viable way to build rich applications on the server side that appear to be client side in the browser.</p>
<p>I think this approach should be a default option in Pheonix!</p>
<p>Great work btw, <a class="mention" href="/u/grych" rel="nofollow">@grych</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="56177" 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/drab-remote-controlled-frontend-framework-for-phoenix/3277/251">Post #250</a>
	                </div>
	            </div>
              <div id="likers-container-56177" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="56177"
                     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 #250"></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/3277/load_more?page=26">Load more posts (238 remaining)</a>
</div></template></turbo-stream>