devvit icon indicating copy to clipboard operation
devvit copied to clipboard

server-side functions are sometimes undefined

Open GDOR-11 opened this issue 1 year ago • 0 comments

for some reason, the following snippets of code sometimes log [Function: foo] (as expected) and sometimes log undefined

// file: ./server/main.ts

export function foo(): string {
    return "bar";
}
// file: ./src/main.tsx

import { Devvit } from "@devvit/public-api";
import { foo } from "../server/main.js";

Devvit.configure({
    redditAPI: true,
});

Devvit.addMenuItem({
    label: "Create minigames post",
    location: "subreddit",
    forUserType: "moderator",
    onPress: async (_event, { reddit, ui }) => {
        await reddit.submitPost({
            title: "title",
            subredditName: (await reddit.getCurrentSubreddit()).name,
            preview: (
                <vstack height="100%" width="100%" alignment="middle center">
                    <text size="large">Loading...</text>
                </vstack>
            ),
        });
        ui.showToast({ text: "Created post!" });
    },
});

Devvit.addCustomPostType({
    name: "Experience Post",
    render: _context => {
        console.log(foo); // sometimes logs [Function: foo] and sometimes logs undefined
        return <text>lorem ipsum dolor sit amet</text>;
    },
});

export default Devvit;

GDOR-11 avatar Nov 21 '24 22:11 GDOR-11