Nicolas QuirozN
Convex Community7mo ago
3 replies
Nicolas Quiroz

Error getting version, preloaded query not found

I'm starting to think it is a bug. I have a preload query that I'm using like this:

'use client';

import { api } from '@repo/backend/convex/_generated/api';
import { Input } from '@repo/design-system/components/ui/input';
import { Label } from '@repo/design-system/components/ui/label';
import { Textarea } from '@repo/design-system/components/ui/textarea';
import { useTranslations } from '@repo/internationalization';
import { type Preloaded, useMutation, usePreloadedQuery } from 'convex/react';

interface SubmissionEditFormProps {
  preloadedSubmission: Preloaded<typeof api.submissionsQueries.obtainSubmission>;
}

export function SubmissionEditForm({
  preloadedSubmission,
}: SubmissionEditFormProps) {
  const t = useTranslations('web.submissions.edit.form');
  const submission = usePreloadedQuery(preloadedSubmission);
  const updateSubmission = useMutation(api.submissionMutations.updateSubmissionName);
  const updateSubmissionName = async (name: string) => {
    if (!submission) {
      return;
    }
    await updateSubmission({
      submissionId: submission._id,
      name,
    });
  };

  if (!submission) {
    return (
      <div className="py-12 text-center">
        <p className="text-gray-500">{t('errors.notFound')}</p>
      </div>
    );
  }

  return ...
}


The query file convex/submissions.ts is like follows:

// unrelevant imports
import type { DataModel } from './_generated/dataModel';
import {
  mutation,
  type QueryCtx,
  query,
} from './_generated/server';
import {
  findSubmissionById,
} from './model/submissions';

// ... unrelevant code (i think)


export const obtainSubmission = queryWithRLS({
  args: {
    submissionId: v.id('submissions'),
  },
  handler: async (ctx, args) => {
    return await findSubmissionById(ctx, args);
  },
});


For some reason, the database returns null on the get, but I 'm completely sure the ID exists (I checked with console logs and querying the database from the dashboard).
Was this page helpful?