spacebarchat / spacebarchat/server
[Tracking] Util: resolve TODOs
Open
Nobody has claimed this yet.
Good first issue
javascript
Priority:low
- Dominant language
- TypeScript
- Stars
- 2.2k
- Forks
- 323
- Avg merge
- 14h 48m
- Merged PRs (30d)
- 4
Description
Generated at commit 57827bc9:
-
src/util/entities/Channel.ts:189: // TODO: DM channel -
src/util/entities/Channel.ts:240: // TODO: should threads even be routed through this function instead of createThreadChannel? -
src/util/entities/Channel.ts:269: // TODO: eagerly auto generate position of all guild channels -
src/util/entities/Channel.ts:284: // TODO: figure out why the generic is required here -
src/util/entities/Channel.ts:324: position: 0, // TODO: -
src/util/entities/Channel.ts:384: // TODO: eagerly auto generate position of all guild channels -
src/util/entities/Channel.ts:429: // TODO: check config for max number of recipients -
src/util/entities/Channel.ts:553: // TODO Delete attachments from the CDN for messages in the channel -
src/util/entities/Channel.ts:635: // TODO: do we want to have an instance-wide opt out of this behavior? It would just be an extra if statement here -
src/util/entities/Channel.ts:680: // TODO: should we throw for missing args? -
src/util/entities/VoiceState.ts:66: //TODO find a way to make it work without breaking Guild.voice_states -
src/util/entities/Member.ts:137: theme_colors?: number[]; // TODO: Separate `User` and `UserProfile` models -
src/util/entities/Member.ts:145: // TODO: add this when we have proper read receipts -
src/util/entities/ReadState.ts:89: // // delete res.last_viewed; // TODO -
src/util/entities/Recipient.ts:49: // TODO: settings/mute/nick/added at/encryption keys/read_state -
src/util/entities/User.ts:62: // TODO: Separate `User` and `UserProfile` models -
src/util/entities/User.ts:95: nsfw_allowed: boolean = true; // if the user can do age-restricted actions (NSFW channels/guilds/commands) // TODO: depending on age -
src/util/entities/User.ts:129: flags: number = 0; // UserFlags // TODO: generate -
src/util/entities/User.ts:198: // TODO: I don't like this method? -
src/util/entities/User.ts:263: // TODO: is there any better way to generate a random discriminator only once, without checking if it already exists in the database? -
src/util/entities/User.ts:314: // TODO: save date_of_birth -
src/util/entities/Session.ts:120: // TODO: ... or has `show_current_game` privacy setting enabled - except spotify (always visible) -
src/util/entities/ThreadMember.ts:27: // TODO: move -
src/util/entities/ThreadMember.ts:33: // TODO: move -
src/util/entities/ThreadMember.ts:97: // TODO: check for bugs -
src/util/entities/Application.ts:42: type?: object; // TODO: this type is bad -
src/util/entities/Application.ts:60: // TODO: enum this? https: //discord.com/developers/docs/resources/application#application-object-application-flags -
src/util/entities/Categories.ts:22: // TODO: categories: -
src/util/entities/Guild.ts:34: // TODO: application_command_count, application_command_counts: {1: 0, 2: 0, 3: 0} -
src/util/entities/Guild.ts:35: // TODO: guild_scheduled_events -
src/util/entities/Guild.ts:36: // TODO: stage_instances -
src/util/entities/Guild.ts:37: // TODO: threads -
src/util/entities/Guild.ts:38: // TODO: -
src/util/entities/Guild.ts:58: // "members", // TODO: These are public, but all members should not be fetched. -
src/util/entities/Guild.ts:105: features: string[] = []; //TODO use enum -
src/util/entities/Guild.ts:106: //TODO: https: //discord.com/developers/docs/resources/guild#guild-object-guild-features -
src/util/entities/Guild.ts:109: primary_category_id?: string; // TODO: this was number? -
src/util/entities/Guild.ts:287: // TODO: nested guilds -
src/util/entities/Guild.ts:360: owner_id: body.owner_id, // TODO: need to figure out a way for ownerless guilds and multiply-owned guilds -
src/util/entities/Guild.ts:387: // TODO: make the @everyone a pseudorole that is dynamically generated at runtime so we can save storage -
src/util/entities/Guild.ts:401: flags: 0, // TODO? -
src/util/entities/BaseClass.ts:78: // TODO: fix eslint -
src/util/entities/Message.ts:296: //channel: this.channel, // TODO: ephemeral DM channels -
src/util/entities/Message.ts:297: // recipient_id: this.recipient_id, // TODO: ephemeral DM channels -
src/util/interfaces/Presence.ts:29: // TODO: game -
src/util/interfaces/Interaction.ts:24: data?: object; // TODO typing -
src/util/interfaces/Activity.ts:21: type: ActivityType; // activity type // TODO: check if its between range 0-5 -
src/util/interfaces/Activity.ts:39: size?: number[]; // used to show the party's current and maximum size // TODO: array length 2 -
src/util/interfaces/Event.ts:115: relationships?: PublicRelationship[]; // TODO -
src/util/interfaces/Event.ts:117: entries: ReadState[]; // TODO -
src/util/interfaces/Event.ts:142: | "REQUIRE_CAPTCHA" // TODO: allow these to be triggered -
src/util/interfaces/Event.ts:209: // TODO: add them to guild -
src/util/interfaces/Event.ts:820: // TODO: add a new event: bulk add reaction: -
src/util/config/types/subconfigurations/guild/Discovery.ts:21: useRecommendation: boolean = false; // TODO: Recommendation, privacy concern? -
src/util/config/types/subconfigurations/security/Captcha.ts:21: service: "recaptcha" | "hcaptcha" | null = null; // TODO: hcaptcha, custom -
src/util/config/types/subconfigurations/limits/ratelimits/Route.ts:36: // TODO: rate limit configuration for all routes -
src/util/config/types/subconfigurations/register/Email.ts:23: domains: string[] = []; // TODO: efficiently save domain blocklist in database -
src/util/dtos/ReadyGuildDTO.ts:22: // TODO: this is not the best place for this type -
src/util/dtos/ReadyGuildDTO.ts:27: // TODO: probably should move somewhere else -
src/util/dtos/ReadyGuildDTO.ts:48: guild_scheduled_events: unknown[]; // TODO -
src/util/dtos/ReadyGuildDTO.ts:84: home_header: null; // TODO -
src/util/dtos/ReadyGuildDTO.ts:85: latest_onboarding_question_id: null; // TODO -
src/util/dtos/ReadyGuildDTO.ts:86: safety_alerts_channel_id: null; // TODO -
src/util/dtos/ReadyGuildDTO.ts:87: max_stage_video_channel_users: 50; // TODO -
src/util/dtos/ReadyGuildDTO.ts:141: home_header: null; // TODO -
src/util/dtos/ReadyGuildDTO.ts:142: latest_onboarding_question_id: null; // TODO -
src/util/dtos/ReadyGuildDTO.ts:143: safety_alerts_channel_id: null; // TODO -
src/util/dtos/ReadyGuildDTO.ts:144: max_stage_video_channel_users: 50; // TODO -
src/util/dtos/ReadyGuildDTO.ts:211: max_stage_video_channel_users: 50, // TODO -
src/util/util/Config.ts:26: // TODO: yaml instead of json -
src/util/util/Config.ts:32: // TODO: use events to inform about config updates -
src/util/util/Config.ts:56: // TODO: factor this out someday -
src/util/util/Config.ts:95: // TODO: better types -
src/util/util/Config.ts:125: // TODO: typings -
src/util/util/Token.ts:25: // TODO: dont use deprecated APIs lol -
src/util/util/FieldError.ts:51: // TODO: implement Image data type: Data URI scheme that supports JPG, GIF, and PNG formats. An example Data URI format is: data:image/jpeg;base64,BASE64_ENCODED_JPEG_IMAGE_DATA -
src/util/util/Permissions.ts:125: // TODO: do not deny any permissions if admin -
src/util/util/Permissions.ts:303: // "id", // TODO: Bug in typeorm? adding these selects breaks the query. -
src/util/util/Permissions.ts:314: // TODO: remove guild.roles and convert recipient_ids to recipients -
src/util/util/Intents.ts:60: // TODO: aren't these guild specific? -
src/util/util/Categories.ts:19: //TODO: populate default discord categories + init, get and set methods -
src/util/util/Database.ts:60: // TODO: fully remove sqlite3 -
src/util/util/Event.ts:157: // TODO: assert the type is correct? -
src/util/util/json/JsonSerializer.test.ts:119: // TODO: broken -
src/util/util/json/JsonSerializer.ts:25: // noinspection JSUnusedLocalSymbols - TODO: implement options -
src/util/util/json/JsonSerializer.ts:108: //TODO: implement -
src/util/util/json/JsonSerializer.ts:113: // TODO: implement -
src/util/util/Rights.ts:27: // TODO: just like roles for members, users should have priviliges which combine multiple rights into one and make it easy to assign
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at commit 57827bc9 and review the TODO checklist across src/util/entities, src/util/interfaces, src/util/config, src/util/dtos, and src/util/util. The scope is not a single entry point or test; determine each TODO's intended resolution and update the checklist as items are completed. Done means the listed TODOs have been resolved or explicitly addressed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100