SYMBOL INDEX (165 symbols across 89 files) FILE: android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java class ExampleInstrumentedTest (line 16) | @RunWith(AndroidJUnit4.class) method useAppContext (line 19) | @Test FILE: android/app/src/main/java/seedit/android/FileUploaderPlugin.java class FileUploaderPlugin (line 34) | @CapacitorPlugin(name = "FileUploader") method pickAndUploadMedia (line 38) | @PluginMethod method pickFileResult (line 48) | @ActivityCallback method uploadToCatbox (line 68) | private void uploadToCatbox(Uri fileUri, PluginCall call) { method uploadMedia (line 116) | @PluginMethod method pickMedia (line 179) | @PluginMethod method pickMediaResult (line 189) | @ActivityCallback method getFileNameFromUri (line 242) | private String getFileNameFromUri(Uri uri) { FILE: android/app/src/main/java/seedit/android/FileUtils.java class FileUtils (line 12) | public class FileUtils { method getFileFromUri (line 13) | public static File getFileFromUri(Context context, Uri uri) throws Exc... method getFileName (line 29) | private static String getFileName(Context context, Uri uri) { FILE: android/app/src/main/java/seedit/android/MainActivity.java class MainActivity (line 8) | public class MainActivity extends BridgeActivity { method onCreate (line 9) | @Override FILE: android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java class ExampleUnitTest (line 12) | public class ExampleUnitTest { method addition_isCorrect (line 14) | @Test FILE: electron/after-all-artifact-build.cjs function addPortableToPortableExecutableFileName (line 8) | function addPortableToPortableExecutableFileName() { function createHtmlArchive (line 19) | function createHtmlArchive() { FILE: electron/src/main.ts function createWindow (line 7) | function createWindow() { FILE: electron/src/plugins/file-uploader.ts function setupFileUploaderPlugin (line 9) | function setupFileUploaderPlugin(mainWindow: Electron.BrowserWindow) { FILE: scripts/dev-server-utils.mjs function checkPort (line 14) | function checkPort(host, port) { function resolvePort (line 26) | async function resolvePort(requestedPort, host = '127.0.0.1') { function waitForPort (line 36) | async function waitForPort(host, port, timeoutMs = 30_000) { function startVite (line 60) | function startVite(host, port) { FILE: scripts/find-forge-executable.js function findExecutable (line 36) | function findExecutable(dir, platform) { FILE: scripts/start-dev.js function sanitizeLabel (line 25) | function sanitizeLabel(value) { function getCurrentBranch (line 33) | function getCurrentBranch() { function getActivePortlessRouteHosts (line 46) | function getActivePortlessRouteHosts() { function isRouteBusy (line 62) | function isRouteBusy(activeRouteHosts, appName) { function getPreferredPortlessAppName (line 66) | function getPreferredPortlessAppName(activeRouteHosts) { function getPortlessAppName (line 81) | function getPortlessAppName() { function ensurePortlessProxy (line 100) | function ensurePortlessProxy() { function waitForUrlReady (line 168) | async function waitForUrlReady(url, timeoutMs) { function openInBrowser (line 199) | function openInBrowser(url) { FILE: scripts/update-translations.js function parseArgs (line 68) | function parseArgs(argv) { function usage (line 90) | function usage(exitCode = 1, msg) { function fileExists (line 98) | async function fileExists(p) { function parseCsv (line 107) | function parseCsv(val) { function loadJson (line 117) | async function loadJson(filePath) { function writeJson (line 126) | async function writeJson(filePath, data) { function handleDelete (line 131) | async function handleDelete(key, translationsRoot, only, exclude, dryRun... function getFilesRecursive (line 181) | async function getFilesRecursive(dir, extensions) { function extractUsedKeys (line 203) | async function extractUsedKeys(srcDir) { function handleAudit (line 280) | async function handleAudit(translationsRoot, srcDir, dryRun, write, forc... function handleUpdate (line 394) | async function handleUpdate(key, translationsRoot, fromLang, includeEn, ... function main (line 465) | async function main() { FILE: src/components/author-sidebar/author-sidebar.tsx type AuthorModeratingListProps (line 26) | interface AuthorModeratingListProps { FILE: src/components/challenge-modal/challenge-modal.tsx type ChallengeHeaderProps (line 10) | interface ChallengeHeaderProps { type RegularChallengeContentProps (line 40) | interface RegularChallengeContentProps { FILE: src/components/comment-edit-form/comment-edit-form.tsx type CommentEditFormProps (line 13) | interface CommentEditFormProps { FILE: src/components/error-display/error-display.tsx type ErrorDetails (line 7) | type ErrorDetails = { FILE: src/components/feed-footer/feed-footer.tsx type FeedFooterProps (line 10) | interface FeedFooterProps { FILE: src/components/info-tooltip/info-tooltip.tsx type InfoTooltipProps (line 5) | interface InfoTooltipProps { method apply (line 50) | apply({ availableWidth, elements }) { FILE: src/components/loading-ellipsis/loading-ellipsis.tsx type LoadingEllipsisProps (line 3) | interface LoadingEllipsisProps { FILE: src/components/markdown/markdown.tsx type MarkdownProps (line 12) | interface MarkdownProps { type ExtendedComponents (line 16) | type ExtendedComponents = Partial & { constant MAX_LENGTH_FOR_GFM (line 25) | const MAX_LENGTH_FOR_GFM = 10000; FILE: src/components/post/comment-tools/comment-tools.tsx type CommentToolsProps (line 15) | interface CommentToolsProps { type ModOrReportButtonProps (line 40) | interface ModOrReportButtonProps { FILE: src/components/post/comment-tools/edit-menu/edit-menu.tsx type EditMenuProps (line 11) | type EditMenuProps = { FILE: src/components/post/comment-tools/hide-menu/hide-menu.tsx type HideMenuProps (line 10) | type HideMenuProps = { FILE: src/components/post/comment-tools/mod-menu/mod-menu.tsx type ModMenuProps (line 12) | type ModMenuProps = { FILE: src/components/post/embed/embed.tsx type EmbedProps (line 3) | interface EmbedProps { type EmbedComponentProps (line 48) | interface EmbedComponentProps { FILE: src/components/post/expand-button/expand-button.tsx type ExpandButtonProps (line 4) | interface ExpandButtonProps { FILE: src/components/post/expando/expando.tsx type ExpandoProps (line 12) | interface ExpandoProps { FILE: src/components/post/flair/flair.tsx type FlairProps (line 3) | interface FlairProps { FILE: src/components/post/label/label.tsx type LabelProps (line 4) | interface LabelProps { FILE: src/components/post/post.tsx type PostAuthorProps (line 32) | interface PostAuthorProps { type PostProps (line 83) | interface PostProps { FILE: src/components/post/thumbnail/thumbnail.tsx type ThumbnailProps (line 9) | interface ThumbnailProps { FILE: src/components/reply-form/reply-form.tsx type ReplyFormProps (line 11) | type ReplyFormProps = { FILE: src/components/reply/reply.tsx type ReplyAuthorProps (line 34) | interface ReplyAuthorProps { type ReplyMediaProps (line 135) | interface ReplyMediaProps { type ParentLinkProps (line 203) | type ParentLinkProps = { type ReplyProps (line 311) | interface ReplyProps { FILE: src/components/search-bar/search-bar.tsx type SearchBarProps (line 22) | interface SearchBarProps { FILE: src/components/sidebar/sidebar.tsx type SidebarProps (line 127) | interface SidebarProps { FILE: src/components/spoiler-tooltip/spoiler-tooltip.tsx type SpoilerTooltipProps (line 5) | interface SpoilerTooltipProps { FILE: src/components/subscribe-button/subscribe-button.tsx type subscribeButtonProps (line 7) | interface subscribeButtonProps { FILE: src/globals.d.ts type Window (line 2) | interface Window { type Window (line 8) | interface Window { FILE: src/hooks/use-auto-subscribe.ts constant AUTO_SUBSCRIBE_KEY_PREFIX (line 6) | const AUTO_SUBSCRIBE_KEY_PREFIX = 'seedit-auto-subscribe-done-'; FILE: src/hooks/use-default-subscriptions.ts type DefaultSubscriptionsMetadata (line 5) | interface DefaultSubscriptionsMetadata { type DefaultSubscription (line 12) | interface DefaultSubscription { FILE: src/hooks/use-is-broadly-nsfw-community.ts constant SENSITIVE_TAGS (line 4) | const SENSITIVE_TAGS = ['adult', 'gore', 'anti', 'vulgar']; FILE: src/hooks/use-redirect-to-default-sort.ts constant DEFAULT_SORT (line 4) | const DEFAULT_SORT = 'hot'; FILE: src/hooks/use-state-string.ts type CommentOrCommunity (line 6) | interface CommentOrCommunity { type States (line 12) | interface States { FILE: src/hooks/use-time-filter.ts constant VISIT_UPDATE_INTERVAL_MS (line 9) | const VISIT_UPDATE_INTERVAL_MS = 60 * 1000; function convertTimeStringToSeconds (line 58) | function convertTimeStringToSeconds(timeString: string): number { FILE: src/index.tsx method onNeedRefresh (line 28) | onNeedRefresh() { method onOfflineReady (line 36) | onOfflineReady() { FILE: src/lib/push/common.ts type LocalNotification (line 1) | interface LocalNotification { FILE: src/lib/push/electron.ts type Window (line 6) | interface Window { function requestElectronNotificationPermission (line 32) | async function requestElectronNotificationPermission(): Promise { function showElectronLocalNotification (line 45) | async function showElectronLocalNotification(notification: Omit { function showLocalNotification (line 64) | async function showLocalNotification(notificationData: Omit { function showNativeLocalNotification (line 21) | async function showNativeLocalNotification(notification: LocalNotificati... function initializeNativeNotificationListeners (line 64) | async function initializeNativeNotificationListeners() { FILE: src/lib/push/web.ts function requestWebNotificationPermission (line 7) | async function requestWebNotificationPermission(): Promise { function showWebLocalNotification (line 25) | async function showWebLocalNotification(notification: Omit