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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<blockquote>
<p>…  but on a different account.</p>
</blockquote>
<p>Exactly.</p>
<p>Now for the benchmarks I think my solution would be interesting only with heavy works inside the transaction. I am building games (hobby project) so we update a big game state. I bet having only one GenServer call (to get_and_update_mutli) is faster for many simple updates (especially for simple additions like bank account balances obvioulsy – that is just test stuff).</p>
<p>If I find time for that I will setup a scenario and calculate different pairs of concurrency/update-time where a mutex would be 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="154191" 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/cubdb-a-pure-elixir-embedded-key-value-database/23397/73">Post #72</a>
	                </div>
	            </div>
              <div id="likers-container-154191" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="154191"
                     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 #72"></div>
  </section>
</div>
    <div class="postbit" id="171424" data-post-id="171424">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hello! Thanks for the very interesting product, I’m going to use it with my current project.</p>
<p>Could you please clarify:</p>
<aside class="quote no-group" data-username="lucaong" data-post="46" data-topic="23397">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/lucaong/48/21794_2.png" class="avatar"> lucaong:</div>
<blockquote>
<pre data-code-wrap="elixir"><code class="lang-elixir"># Select all users (this works because tuples in Erlang/Elixir are 
# compared element by element, nil is smaller than any map, and 
# bigger tuples are greater than smaller ones): 
CubDB.select(db, [ 
  min_key: {:users, nil}, 
  max_key: {:users, nil, nil} 
])
</code></pre>
</blockquote>
</aside>
<p>This example doesn’t work, does it? <code>nil</code> <a href="https://hexdocs.pm/elixir/master/operators.html#term-ordering" rel="noopener nofollow ugc">is greater than any number</a> because it is a special atom. In a case with integer IDs <code>select/2</code> options should be <code>min_key: {:users, 0}, max_key: {:users, nil, nil}</code> I believe. But this example should reliably work with any other term beside a number and an atom.</p>
<p>An atom case is a kind of tricky: nil is also greater than any atoms prior to <code>:nil</code>:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">iex(48)&gt; nil &gt; :a
true
iex(49)&gt; nil &gt; :aaa
true
iex(50)&gt; nil &gt; :nik
true
iex(51)&gt; nil == :nil
true
iex(52)&gt; nil &lt; :nim
true
</code></pre>
<p>Sorry for so obvious remark but I didn’t pay attention to this fact and spent some time trying to get why this example doesn’t work in my case.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="171424" 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/cubdb-a-pure-elixir-embedded-key-value-database/23397/74">Post #73</a>
	                </div>
	            </div>
              <div id="likers-container-171424" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="171424"
                     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 #73"></div>
  </section>
</div>
    <div class="postbit" id="171430" data-post-id="171430">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="lucaong" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/lucaong/120/21794_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  lucaong
                    <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>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hi <a class="mention" href="/u/heathen" rel="nofollow">@heathen</a>,<br>
you are right, re-reading my post above I made some mistake, not sure what I had in mind.</p>
<p>If you have keys like <code>{:foo, pos_integer}</code>, then the correct way to select them all is <code>min_key: {:foo, 0}, max_key: {:foo, nil}</code>, leveraging the fact that <code>nil</code> is <em>bigger</em> than all integers.</p>
<p>A more detailed explanation is in the <a href="https://hexdocs.pm/cubdb/howto.html#store-multiple-collections" rel="noopener nofollow ugc">how to section</a> of the documentation.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="171430" 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/cubdb-a-pure-elixir-embedded-key-value-database/23397/75">Post #74</a>
	                </div>
	            </div>
              <div id="likers-container-171430" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="171430"
                     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 #74"></div>
  </section>
</div>
    <div class="postbit" id="171431" data-post-id="171431">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="lucaong" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/lucaong/120/21794_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  lucaong
                    <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>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Also, as this thread is now updated again, I take the chance to announce that the release candidate for <code>CubDB</code> <code>1.0.0</code> is now <a href="https://hexdocs.pm/cubdb/1.0.0-rc.1/CubDB.html" rel="noopener nofollow ugc">on Hex as <code>v1.0.0-rc.1</code></a> <img src="https://forum.elixirforum.com/images/emoji/apple/rocket.png?v=15" title=":rocket:" class="emoji" alt=":rocket:" loading="lazy" width="20" height="20"> . It is the result of running <code>CubDB</code> in production on embedded devices for the past year, and introduces a few improvements that make the API more solid. The notable changes are:</p>
<ul>
<li>The database is 100% compatible with the previous releases (I have no intention to break compatibility there).</li>
<li>Auto compaction and auto file sync are now the defaults: I decided to go for safer defaults, that should be good for the vast majority of cases, and let users tune it for maximum performance in special cases. More info about compaction and file sync are <a href="https://hexdocs.pm/cubdb/1.0.0-rc.1/faq.html#what-is-compaction" rel="noopener nofollow ugc">here</a></li>
<li>The timeouts (for example in <code>select</code> or <code>get_and_update_multi</code>) are now enforced on the callee side too, freeing up resources immediately when a timeout elapses. Their API is also slightly different, as <code>timeout</code> is now passed as an option, instead of a separate argument.</li>
</ul>
<p>For most users, the changes needed to update to <code>v1.0.0(-rc.x)</code> are minimal: just review if the new defaults are ok for you (or set them explicitly), and, only in case you are using explicit timeouts, adapt calls to <code>select</code> and <code>get_and_update_multi</code>. I will write a proper release post on this forum when <code>1.0.0</code> is out, but I wanted to inform in advance people that are reading this thread and that expressed interest in <code>CubDB</code>.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="171431" data-batch-url="/posts/batch_likers">
                        13
                      </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/cubdb-a-pure-elixir-embedded-key-value-database/23397/76">Post #75</a>
	                </div>
	            </div>
              <div id="likers-container-171431" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="171431"
                     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 #75"></div>
  </section>
</div>
    <div class="postbit" id="171826" data-post-id="171826">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Yeah - benefit of using a separate lib like snappy is marginal and makes it much harder to build your DB because contributors now need to grok a native code library as well as your code.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="171826" data-batch-url="/posts/batch_likers">
                        2
                      </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/cubdb-a-pure-elixir-embedded-key-value-database/23397/77">Post #76</a>
	                </div>
	            </div>
              <div id="likers-container-171826" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="171826"
                     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 #76"></div>
  </section>
</div>
    <div class="postbit" id="190526" data-post-id="190526">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thanks very much for making CubDB available, <a class="mention" href="/u/lucaong" rel="nofollow">@lucaong</a>. I’ve just added it to a new Phoenix project that will read and locally store data from an external CMS, and am looking forward to getting it into production over the next few weeks.</p>
<p>In case it helps anyone else get started slightly quicker, I found that <a class="mention" href="/u/qqwy" rel="nofollow">@Qqwy</a>’s example of how to have CubDB started as part of the supervision tree with just <code>MyApp.DB</code> wasn’t working (I assume CubDB’s <code>start_link</code> function has since changed), and that changing it to the following worked:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">defmodule MyApp.DB do
  def child_spec(_) do
    %{
      id: __MODULE__,
      start: {CubDB, :start_link, [
        Application.get_env(:my_app, :my_db_location, "data/my_db"),
        [
          auto_file_sync: true,
          auto_compact: true,
          name: __MODULE__
        ]
      ]}
    }
  end
end
</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="190526" data-batch-url="/posts/batch_likers">
                        4
                      </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/cubdb-a-pure-elixir-embedded-key-value-database/23397/78">Post #77</a>
	                </div>
	            </div>
              <div id="likers-container-190526" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="190526"
                     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 #77"></div>
  </section>
</div>
    <div class="postbit" id="190530" data-post-id="190530">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="lucaong" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/lucaong/120/21794_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  lucaong
                    <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>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thanks a lot for the kind words and for the working example <a class="mention" href="/u/brighteyesdavid" rel="nofollow">@BrightEyesDavid</a> !</p>
<p>As a side note, I am soon going to release version <code>v1.0.0</code>, after I allowed the latest release candidate quite a lot of time running in the wild to detect potential issues. It will be exactly identical to the latest release candidate, so no code changes necessary in order to upgrade.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="190530" data-batch-url="/posts/batch_likers">
                        3
                      </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/cubdb-a-pure-elixir-embedded-key-value-database/23397/79">Post #78</a>
	                </div>
	            </div>
              <div id="likers-container-190530" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="190530"
                     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 #78"></div>
  </section>
</div>
    <div class="postbit" id="190536" data-post-id="190536">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>According to the docs I can select with a <code>select</code> function and min/max keys.</p>
<p>Would it be possible to implement a match-spec for the keys like this ?:</p>
<blockquote>
<p>Like “I want all keys that are a 3-tuple where the first element is <code>__MODULE__</code>, the second element is <code>:some_key</code>, and with any 3rd element”</p>
</blockquote>
<p>The 3rd element in the tuple can be a number or a string. I don’t know how I would set max key for that.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="190536" 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/cubdb-a-pure-elixir-embedded-key-value-database/23397/80">Post #79</a>
	                </div>
	            </div>
              <div id="likers-container-190536" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="190536"
                     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 #79"></div>
  </section>
</div>
    <div class="postbit" id="190539" data-post-id="190539">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="lud" data-post="80" data-topic="23397">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/lud/48/14382_2.png" class="avatar"> lud:</div>
<blockquote>
<p>Would it be possible to implement a match-spec for the keys like this ?:</p>
</blockquote>
</aside>
<p>I’d like that as well. I recently toyed with keys like <code>{:products, uuid}</code> and the first thing bigger than <code>{:products, binary}</code> is <code>{:productt, smallest_number}</code>, which is a bit awkward.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="190539" 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/cubdb-a-pure-elixir-embedded-key-value-database/23397/81">Post #80</a>
	                </div>
	            </div>
              <div id="likers-container-190539" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="190539"
                     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 #80"></div>
  </section>
</div>
    <div class="postbit" id="190541" data-post-id="190541">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>That makes me think that with more complex keys we could to this</p>
<p>With keys like <code>{{App.Product, 1}, "some-product-id-1234"}</code> you can select all products with <code>min = {{App.Product, 0}, *}</code> and <code>max = {{App.Product, 2}, *}</code> (where <code>*</code> can be anything as it is meaningless.</p>
<p>But that is pure implementation leaking. Unless those <code>0</code>, <code>1</code> and <code>2</code> have a meaning, like “root”, “current products”, “draft products” …</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="190541" 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/cubdb-a-pure-elixir-embedded-key-value-database/23397/82">Post #81</a>
	                </div>
	            </div>
              <div id="likers-container-190541" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="190541"
                     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 #81"></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/23397/load_more?page=9">Load more posts (44 remaining)</a>
</div></template></turbo-stream>