summaryrefslogtreecommitdiff
path: root/Gemfile
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-07-07 02:46:37 +0200
committererdgeist <erdgeist@erdgeist.org>2026-07-07 02:46:37 +0200
commit7b6af89509e8439fe2474e623ee97e4db67ab011 (patch)
tree47aa227de58d566727e8afdc44d7abc0934f22a6 /Gemfile
parent527376039c527eb8f559c5e6da76429bc3f3ee4f (diff)
Replace awesome_nested_set with a plain parent_id-based NestedTree concern
Root-caused this session: appending a child to any node never widened that parent's own rgt boundary, on the pinned revision (Gemfile tracked main directly, chasing a too-conservative gemspec constraint - not, as first assumed, a deliberate pin to avoid a known bug). Reproduced cleanly on a single ordinary create with no concurrency and no bulk operation involved, confirmed via the gem's own SetValidator, then confirmed as the root cause of nodes_controller_test.rb's 3 long-standing "pre-existing" failures - not three separate mysteries, one bug. admin_controller's sitemap needed its own real conversion, not just a drop-in: awesome_nested_set's lft column implicitly provided correct depth-first tree order for free, which the old code combined with a separate class-level each_with_level iterator. Both replaced by one method, self_and_descendants_ordered_with_level, computing an ordered [node, level] list in a single query-then-walk pass - checked against the actual view template first (admin/index.html.erb) rather than assumed, since it relies on list order alone to render correct visual nesting. lft/rgt/depth columns intentionally left in schema, unused - dropping them is a separate, deliberately deferred migration once this is proven running for a while, not bundled with the behavior change.
Diffstat (limited to 'Gemfile')
-rw-r--r--Gemfile3
1 files changed, 0 insertions, 3 deletions
diff --git a/Gemfile b/Gemfile
index 13bb4ca..d136eb5 100644
--- a/Gemfile
+++ b/Gemfile
@@ -44,9 +44,6 @@ gem 'will_paginate', '~> 3.0'
44gem 'acts-as-taggable-on', 44gem 'acts-as-taggable-on',
45 git: 'https://github.com/mbleigh/acts-as-taggable-on.git', 45 git: 'https://github.com/mbleigh/acts-as-taggable-on.git',
46 branch: 'master' 46 branch: 'master'
47gem 'awesome_nested_set',
48 git: 'https://github.com/collectiveidea/awesome_nested_set.git',
49 branch: 'main'
50 47
51# ── XML / parsing ───────────────────────────────────────────────────────────── 48# ── XML / parsing ─────────────────────────────────────────────────────────────
52 49