qishibo/AnotherRedisDesktopManager · warning

Size too large, show only the first ${this.firstChars} chara

Error message

Size too large, show only the first ${this.firstChars} characters and you cannot edit it.

What it means

Alert title of ViewerOverSize, the fallback viewer that FormatViewer renders when Buffer.byteLength(content) exceeds its over-size threshold (FormatViewer.vue:118). Instead of loading a multi-megabyte value into the normal editor (which freezes the UI), the app slices the content to the first 20000 characters (contentDisplay) and shows this read-only notice. It is a deliberate degradation path, not an exception.

Source

Thrown at src/components/viewers/ViewerOverSize.vue:26

    <el-input :disabled='true' type='textarea' :value='contentDisplay'></el-input>
  </div>
</template>

<script type="text/javascript">
export default {
  data() {
    return {
      firstChars: 20000,
    };
  },
  props: ['content', 'contentVisible', 'disabled'],
  computed: {
    contentDisplay() {
      return `${this.$util.bufToString(this.content.slice(0, this.firstChars), false)
      }...Show only the first ${this.firstChars} characters, the rest has been hidden...`;
    },
    alertTitle() {
      return `Size too large, show only the first ${this.firstChars} characters and you cannot edit it.`;
    },
  },
};
</script>

<style type="text/css">
  .size-too-large-viewer .el-alert {
    margin: 3px 0 8px 0;
    color: #f56c6c;
    background-color: #f9dbdb;
  }

  /*text viewer box*/
  .key-content-string .size-too-large-viewer .el-textarea textarea {
    height: calc(100vh - 290px);
  }
</style>

View on GitHub (pinned to c149855106)

Solutions

  1. Read or edit the value through the CLI tab (GET key / SET key ...), which has no size limit
  2. Raise firstChars in ViewerOverSize.vue data() together with FormatViewer.overSizeBytes if your machine renders larger strings smoothly
  3. Copy/dump the value out (copy-to-clipboard) and edit it in an external editor, then SET it back
  4. Split the oversized value into smaller keys at the application level

Example fix

// before (ViewerOverSize.vue)
data() {
  return { firstChars: 20000 };
},

// after - raise the cap, and raise FormatViewer.overSizeBytes to match,
// otherwise FormatViewer keeps swapping in the OverSize viewer
// before firstChars is ever consulted
data() {
  return { firstChars: 100000 };
},
Defensive patterns

Strategy: validation

Validate before calling

// Check size before choosing a viewer, mirroring FormatViewer.overSize
const MAX_INLINE_BYTES = 2 * 1024 * 1024; // align with FormatViewer.overSizeBytes

function isRenderableInline(content) {
  return Buffer.isBuffer(content) && Buffer.byteLength(content) <= MAX_INLINE_BYTES;
}

if (!isRenderableInline(content)) {
  openExternalViewer(content); // CLI / file dump instead of the inline editor
}

Prevention

When it happens

Trigger: Opening any key whose serialized content exceeds FormatViewer.overSizeBytes: FormatViewer.viewersMap routes 'OverSize' -> ViewerOverSize, contentDisplay() renders content.slice(0, 20000) via bufToString, and alertTitle shows this message with editing disabled.

Common situations: Large cached HTML/JSON blobs, session payloads, serialized objects, or big list members opened in the GUI; users confused why the viewer is read-only and the text ends with '...Show only the first 20000 characters...'.

Related errors


AI-assisted analysis of qishibo/AnotherRedisDesktopManager@c149855106 (2026-08-22). Data as JSON: /api/errors/f3e2091772d93034. Report an issue: GitHub.