Issues with syncing decks as a Deck Maintainer

First of all, AnkiHub is great. The ability to collaborate and share deck updates essentially in real-time is fantastic. But I have, on a few separate instances, run into some pretty frustrating issues.

I have a deck of 20,000+ cards. Through my experience using AnkiHub, I have some pain points I would like to bring up:

  • AnkiHub should not allow the owner/maintainer of a deck to accidentally unsubscribe from their own deck. This creates a frustrating scenario where I am trying to get things to be synced back up without losing any cards/edits/progress/etc.
  • Secondarily, while attempting to do this, AnkiHub keeps adding a secondary deck with the same name to my Anki desktop application (see image).
  • I can’t delete this subdeck without AnkiHub thinking I am wanting to unsubscribe from the deck (which if you accidentally click the wrong button, you run into issue #1).
  • I can’t make changes to subdeck structure without AnkiHub having issues. I want to move all cards from one deck to another without AnkiHub downloading a similar, secondary deck with the same name. Even though subdecks were not published when I published the deck, AnkiHub
  • AnkiHub should never overwrite anything that the deck publisher changes about their deck. The settings to protect the deck on the maintainers Anki application should be default when you publish that deck. I shouldn’t be worried that AnkiHub has somehow erased any progress/new cards/edits/etc.
  • Any updated I make to any cards (i.e., tags, content, new cards, etc.) should automatically upload when I sync with AnkiHub. As far as I can tell, this doesn’t happen and I have manually do this from the browser.

Thinking

Search
Found 0 results for ‘tags:official deck maintainer unsubscribe from own deck duplicate deck name subdeck structure AnkiHub category::person_raising_hand: Support order:latest max_posts:20 status:open’

Search
Found 0 results for ‘tags:official deck maintainer duplicate deck ankihub category::person_raising_hand: Support order:latest max_posts:20 status:open’

Thanks for laying this out so clearly – this is really valuable feedback, especially coming from someone maintaining a 20k+ card deck.

I couldn’t find an existing topic that fully matches this combination of issues, so I’ll respond point‑by‑point based on how AnkiHub currently works and what we typically recommend. I’ll also flag what’s expected behavior vs what looks like a bug / UX problem that the team should address.


1. Accidentally unsubscribing from your own deck

AnkiHub should not allow the owner/maintainer of a deck to accidentally unsubscribe from their own deck.

Totally agree this is dangerous and confusing. Right now there is no special guard for maintainers – the unsubscribe flow is the same as for any subscriber.

What you can do now:

  • If this happens again, the safest recovery path is:

    1. Back up your collection first (File → Export → Anki collection package (*.colpkg) → Include scheduling information).
    2. Re‑subscribe to your deck from AnkiHub.
    3. Use the AnkiHub → Match Notes to Deck (or similar mapping) flow to ensure your existing notes are recognized instead of duplicated.
  • If you’re currently “desynced” and worried about losing progress, please describe:

    • Whether the deck was ever imported/synced under a different name.
    • Whether you’ve moved cards between decks since publishing.

    With that info we can give more concrete, step‑by‑step recovery instructions.

Product/UX suggestion (for the team):

  • Block maintainers from unsubscribing from their own deck, or at minimum:
    • Show a big, explicit warning: “You are the maintainer. Unsubscribing may break your local mapping and syncing. Are you sure?”
    • Offer a “Pause updates” flow instead of full unsubscribe.

2. Duplicate deck: Mastering Radiology vs Mastering Radiology (AnkiHub)

AnkiHub keeps adding a secondary deck with the same name to my Anki desktop application

This usually happens when:

  • The AnkiHub deck is created or re‑attached under one deck name, then:
  • Cards are moved to another deck or the deck is renamed locally, and AnkiHub later “recreates” the original deck to preserve its mapping.

So Mastering Radiology (AnkiHub) is likely the deck AnkiHub considers the “official” one, and + Mastering Radiology is where you’ve moved cards or created subdecks.

Short‑term recommendation:

Before we do anything destructive:

  1. Create a backup (File → Export → Anki collection package).
  2. In Anki, open Browse, search for the notes that belong to this AnkiHub deck (by tag or deck), and:
    • Confirm which deck is actually holding the real cards you care about (their review history, edits, etc.).
  3. Once we know which deck is the real working deck, we can:
    • Move those cards into the AnkiHub deck if needed (so AnkiHub and Anki agree on deck placement), and
    • Then safely delete any truly empty/unused duplicate deck.

If you share:

  • Which deck currently has the 16 due cards in your screenshot, and
  • Whether the (AnkiHub) deck is empty or has cards with real history,

I can outline exact “click‑by‑click” steps to merge them safely.


3. Can’t delete the subdeck without triggering “unsubscribe”

I can’t delete this subdeck without AnkiHub thinking I am wanting to unsubscribe from the deck

This sounds like a bug / overly aggressive protection. You should be able to:

  • Delete or rename purely local subdecks, or
  • Move cards between subdecks

without that being interpreted as “unsubscribe.”

To help the devs reproduce it, it’d be useful if you could answer:

  1. Is the deck you’re trying to delete the top‑level AnkiHub deck or a child subdeck you created?
  2. Exactly what message/option are you shown when you try to delete the subdeck?
  3. Your Anki + AnkiHub add‑on versions (from Tools → Add-ons → AnkiHub → View Files / Config → Show Info).

4. Changing subdeck structure without AnkiHub recreating decks

I want to move all cards from one deck to another without AnkiHub downloading a similar, secondary deck with the same name.

Under the hood, AnkiHub tracks:

  • Note IDs (for content & field changes), and
  • Deck assignment (which deck a note belongs to).

If you change deck structure heavily (rename deck, move lots of cards, etc.), AnkiHub sometimes still expects the “original” deck path and will recreate it to preserve that mapping.

Current safe pattern:

  • Decide which deck structure you want long‑term (e.g. only one top‑level deck + logical tags instead of many subdecks).
  • Then:
    1. In Anki, move all notes to the desired deck.
    2. Sync with AnkiHub.
    3. In AnkiHub (web), confirm deck structure / mapping if needed.
  • Avoid:
    • Frequently renaming the root AnkiHub deck.
    • Moving notes out of the AnkiHub deck into completely unrelated decks while still subscribed.

Again, this is more of a design/UX problem than something you should have to work around. It would be much better if AnkiHub:

  • Allowed maintainers to define “official” deck structure, and
  • Treated local deck renames/moves from the maintainer as authoritative.

5. “AnkiHub should never overwrite anything the deck publisher changes”

This is a non‑negotiable.

Conceptually, I agree 100%: the maintainer’s copy should be source of truth, and AnkiHub should never clobber your local edits without a very explicit confirmation.

At the moment, AnkiHub does not fully distinguish between:

  • Maintainers editing their own deck, vs
  • Subscribers editing their local copy

which is a big part of why you’re running into these edge cases.

What you can do now to protect yourself:

  • Regular full‑collection backups (weekly at least, daily when you’re doing big overhauls).
  • Before big structural changes (moving thousands of cards / major tag overhaul / note type edit):
    • Backup.
    • Make changes.
    • Sync to AnkiWeb first (normal Anki sync).
    • Then sync AnkiHub and confirm status.

If you ever see AnkiHub offer to overwrite large portions of your local data in a way that doesn’t make sense, cancel and ask here first.


6. Card/tag/content updates not auto‑uploading

Any updates I make … should automatically upload when I sync with AnkiHub. As far as I can tell, this doesn’t happen and I have manually do this from the browser.

Current behavior (as of the latest info I can find):

  • Subscriber updates: Not all local changes auto‑propose to AnkiHub (to avoid spam).
  • Maintainer updates: You still often have to explicitly push updates via the browser or a dedicated “publish changes” flow.

I agree this is unintuitive for a maintainer. The natural expectation is:

  1. Edit cards locally.
  2. Sync with Anki (and AnkiHub).
  3. Changes are live for subscribers.

Requested behavior (for the team):

  • For the deck maintainer, add a clear “maintainer sync” flow:
    • On normal sync, show: “You have X unpublished changes to Y notes. Publish now?”
    • Or, treat maintainer’s edits as auto‑publish, with a clear history/rollback.

How we can move forward on your specific deck

If you’re open to it, the most helpful next step is to:

  1. Post:
    • A screenshot of Browse filtered to:
      • Deck: Mastering Radiology
      • Deck: Mastering Radiology (AnkiHub)
    • Whether both decks contain cards, and which deck has your current real progress.
  2. Share your:
    • Anki version
    • AnkiHub add‑on version
    • OS (Win/macOS/Linux)

With that, I can outline a concrete recovery plan for:

  • Merging the duplicate decks safely,
  • Re‑establishing a clean maintainer setup where:
    • You’re subscribed as maintainer,
    • Your deck mapping is correct,
    • And you know exactly how to push updates going forward.

In parallel, I strongly recommend that this topic be surfaced to the AnkiHub devs as feedback, because you’ve identified several areas where:

  • Maintainers need stronger protection,
  • Deck structure handling needs to be more robust, and
  • The publish/sync model should be much more automatic for deck owners.

Having the ability to push my deck to AnkiHub so that the current state of my deck (all changes to tags, content, etc.) could be implemented as well. Like a full maintainer sync function or something.

I have successfully (for now) reconciled the 2 decks by moving the subdecks from one to the other (and then back again for some unknown reason). I am no longer getting a second deck when syncing with AnkiHub.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.