SYMBOL INDEX (393 symbols across 35 files) FILE: oauth-service-2/index.js function getSlackToken (line 6) | async function getSlackToken(code) { FILE: oauth-service/handler.ts type TokenAPIResponse (line 13) | interface TokenAPIResponse { FILE: src/bots/travis.ts function getTravisBuild (line 10) | function getTravisBuild(username: string, reponame: string, build: strin... function stripAnsiEscapes (line 30) | function stripAnsiEscapes(input: string) { class TravisLinkHandler (line 38) | class TravisLinkHandler implements CommandHandler { method handle (line 39) | handle(cmd: MessageCommand): Promise { class TravisDocumentContentProvider (line 59) | class TravisDocumentContentProvider method provideTextDocumentContent (line 61) | provideTextDocumentContent(uri: vscode.Uri): vscode.ProviderResult { method getToken (line 37) | static async getToken( method clearTokenFromSettings (line 53) | static clearTokenFromSettings() { method setToken (line 57) | static async setToken( method clearToken (line 73) | static async clearToken(provider: string, teamId?: string): Promise { method connect (line 137) | connect(): Promise { method handleIncomingMessage (line 188) | handleIncomingMessage(msg: Discord.Message) { method handleIncomingLinks (line 212) | handleIncomingLinks(msg: Discord.Message) { method isConnected (line 238) | isConnected(): boolean { method getUserPreferences (line 242) | getUserPreferences(): Promise { method getCurrentGuild (line 247) | getCurrentGuild(): Discord.Guild | undefined { method fetchUsers (line 256) | async fetchUsers(): Promise { method fetchUserInfo (line 298) | async fetchUserInfo(userId: string): Promise { method fetchChannels (line 303) | fetchChannels(users: Users): Promise { method loadChannelHistory (line 374) | async loadChannelHistory(channelId: string): Promise { method sendMessage (line 393) | sendMessage( method fetchChannelInfo (line 404) | fetchChannelInfo(channel: Channel): Promise { method subscribePresence (line 408) | subscribePresence(users: Users): void {} method sendThreadReply (line 410) | sendThreadReply() { method updateSelfPresence (line 414) | async updateSelfPresence( method destroy (line 442) | destroy(): Promise { method markChannel (line 450) | async markChannel(channel: Channel, ts: string): Promise { method fetchThreadReplies (line 461) | fetchThreadReplies(channelId: string, ts: string): Promise { method createIMChannel (line 466) | createIMChannel(user: User): Promise { method sendTyping (line 472) | async sendTyping(currentUserId: string, channelId: string) { } FILE: src/extension.ts function activate (line 31) | function activate(context: vscode.ExtensionContext) { function deactivate (line 624) | function deactivate() {} FILE: src/issues.ts constant BASE_ISSUES_URL (line 3) | const BASE_ISSUES_URL = "https://github.com/karigari/vscode-chat/issues/... class IssueReporter (line 5) | class IssueReporter { method getVersionString (line 6) | static getVersionString() { method getUrl (line 11) | static getUrl(query: object) { method openNewIssue (line 19) | static openNewIssue(title: string, body: string) { FILE: src/logger.ts class Logger (line 4) | class Logger { method setup (line 7) | static setup() { method timestamp (line 12) | private static get timestamp(): string { method logOnConsole (line 17) | private static logOnConsole(message: string): void { method logOnOutput (line 21) | private static logOnOutput(message: string): void { method log (line 31) | static log(message: any): void { FILE: src/manager/chatManager.ts class ChatProviderManager (line 3) | class ChatProviderManager { method constructor (line 8) | constructor( method getTeams (line 16) | getTeams(): Team[] { method getCurrentTeam (line 24) | getCurrentTeam(): Team | undefined { method isAuthenticated (line 44) | isAuthenticated() { method destroy (line 49) | destroy() { method updateWebviewForLastChannel (line 53) | updateWebviewForLastChannel() { method fetchThreadReplies (line 61) | async fetchThreadReplies(parentTimestamp: string) { method fillUpUsers (line 187) | private async fillUpUsers(missingIds: Set): Promise { method updateMessageReply (line 209) | updateMessageReply(parentTimestamp: string, channelId: string, reply: ... method removeReaction (line 228) | removeReaction(channelId: string, msgTimestamp: string, userId: string... method addReaction (line 260) | addReaction(channelId: string, msgTimestamp: string, userId: string, r... method loadChannelHistory (line 296) | async loadChannelHistory(channelId: string): Promise { method updateUserPrefs (line 305) | async updateUserPrefs() { method createIMChannel (line 315) | async createIMChannel(user: User): Promise { method subscribeForPresence (line 324) | subscribeForPresence() { method updateChannelMarked (line 358) | updateChannelMarked(channelId: string, readTimestamp: string, unreadCo... method initializeState (line 434) | async initializeState(): Promise { method getChannel (line 460) | getChannel(channelId: string | undefined): Channel | undefined { method getLastTimestamp (line 467) | getLastTimestamp(): string | undefined { method updateReadMarker (line 477) | async updateReadMarker(): Promise { method isChannelMuted (line 500) | private isChannelMuted(channelId: string): boolean { method getUnreadCount (line 505) | getUnreadCount(channel: Channel): number { method getChannelLabels (line 531) | getChannelLabels(): ChannelLabel[] { method getUserPresence (line 579) | getUserPresence(userId: string) { FILE: src/manager/index.ts class Manager (line 11) | class Manager implements IManager, vscode.Disposable { method constructor (line 16) | constructor(public store: IStore) { method getEnabledProviders (line 20) | getEnabledProviders(newInitialState?: InitialState): InitialState[] { method isProviderEnabled (line 54) | isProviderEnabled(provider: string): boolean { method getCurrentTeamIdFor (line 59) | getCurrentTeamIdFor(provider: string) { method getCurrentUserFor (line 64) | getCurrentUserFor(provider: string) { method getChatProvider (line 68) | getChatProvider(providerName: Providers) { method instantiateChatProvider (line 72) | instantiateChatProvider(token: string, provider: string): IChatProvider { method validateToken (line 85) | async validateToken(provider: string, token: string) { method isAuthenticated (line 91) | isAuthenticated(providerName: string | undefined): boolean { method initializeStateForAll (line 178) | async initializeStateForAll() { method subscribePresenceForAll (line 185) | subscribePresenceForAll() { method updateUserPrefsForAll (line 192) | async updateUserPrefsForAll() { method signout (line 199) | async signout() { method clearAll (line 218) | clearAll() { method clearOldWorkspace (line 235) | async clearOldWorkspace(provider: string) { method updateWebviewForProvider (line 242) | async updateWebviewForProvider(provider: string, channelId: string, ty... method updateStatusItemsForProvider (line 262) | updateStatusItemsForProvider(provider: string) { method updateTreeViewsForProvider (line 273) | updateTreeViewsForProvider(provider: string) { method updateAllUI (line 277) | updateAllUI() { method dispose (line 292) | dispose() { method getChannelLabels (line 296) | getChannelLabels(provider: string | undefined): ChannelLabel[] { method getUserForId (line 312) | getUserForId(provider: string, userId: string) { method getIMChannel (line 317) | getIMChannel(provider: string, user: User): Channel | undefined { method createIMChannel (line 324) | async createIMChannel(providerName: string, user: User): Promise { method addReaction (line 376) | addReaction(providerName: string, channelId: string, msgTimestamp: str... method removeReaction (line 381) | removeReaction( method fetchThreadReplies (line 392) | async fetchThreadReplies(providerName: string, parentTimestamp: string) { method updateMessageReply (line 397) | updateMessageReply(providerName: string, parentTimestamp: string, chan... method updateMessages (line 402) | updateMessages(providerName: string, channelId: string, messages: Chan... method clearMessages (line 407) | clearMessages(providerName: string, channelId: string) { method updateChannelMarked (line 412) | updateChannelMarked(provider: string, channelId: string, readTimestamp... FILE: src/manager/treeView.ts class TreeViewManager (line 10) | class TreeViewManager implements vscode.Disposable { method constructor (line 17) | constructor(public provider: string) { method updateData (line 25) | updateData(currentUserInfo: CurrentUser, channelLabels: ChannelLabel[]) { method dispose (line 33) | dispose() { FILE: src/manager/views.ts constant PROVIDERS_WITH_TREE (line 8) | const PROVIDERS_WITH_TREE = ["slack", "discord"]; class ViewsManager (line 14) | class ViewsManager implements vscode.Disposable { method constructor (line 19) | constructor(private parentManager: IManager) {} method initialize (line 21) | initialize(enabledProviders: string[], providerTeams: { [providerName:... method initializeStatusItems (line 50) | initializeStatusItems(newKeyMap: Map(x: T | undefined): x is T { class SlackAPIClient (line 90) | class SlackAPIClient { method constructor (line 93) | constructor(private token: string) { method getUsers (line 146) | async getUsers(): Promise { method getBotInfo (line 166) | async getBotInfo(botId: string): Promise { method getUserInfo (line 186) | async getUserInfo(userId: string): Promise { method getChannels (line 195) | async getChannels(users: Users): Promise { FILE: src/slack/common.ts type IDNDStatus (line 1) | interface IDNDStatus { type IDNDStatusForUser (line 13) | interface IDNDStatusForUser { FILE: src/slack/index.ts class SlackChatProvider (line 23) | class SlackChatProvider implements IChatProvider { method constructor (line 29) | constructor(private token: string, private manager: IManager) { method validateToken (line 40) | public validateToken(): Promise { method connect (line 46) | public connect(): Promise { method isConnected (line 50) | public isConnected(): boolean { method subscribePresence (line 54) | public subscribePresence(users: Users) { method createIMChannel (line 58) | public createIMChannel(user: User): Promise { method fetchUsers (line 62) | public fetchUsers(): Promise { method fetchChannels (line 72) | public fetchChannels(users: Users): Promise { method onPresenceChanged (line 78) | private onPresenceChanged(userId: string, rawPresence: "active" | "awa... method updateUserPresence (line 112) | private updateUserPresence(userId: string, presence: UserPresence) { method onDndStateChanged (line 120) | private onDndStateChanged(userId: string, dndState: IDNDStatus) { method updateDndTimers (line 125) | private updateDndTimers() { method updateDndTimerForUser (line 132) | private updateDndTimerForUser(userId: string) { method fetchUserInfo (line 168) | public fetchUserInfo(userId: string): Promise { method loadChannelHistory (line 176) | public loadChannelHistory(channelId: string): Promise { method getUserPreferences (line 180) | public getUserPreferences(): Promise { method markChannel (line 184) | public markChannel( method fetchThreadReplies (line 191) | public fetchThreadReplies( method fetchChannelInfo (line 198) | public fetchChannelInfo(channel: Channel): Promise { method sendThreadReply (line 202) | public sendThreadReply( method sendMessage (line 212) | public async sendMessage( method updateSelfPresence (line 244) | public async updateSelfPresence( method destroy (line 275) | public destroy(): Promise { method sendTyping (line 287) | async sendTyping(currentUserId: string, channelId: string) { } FILE: src/slack/messenger.ts class SlackMessenger (line 28) | class SlackMessenger { method constructor (line 31) | constructor( method isConnected (line 185) | isConnected(): boolean { method disconnect (line 246) | disconnect() { FILE: src/status/index.ts constant CHAT_OCTICON (line 4) | const CHAT_OCTICON = "$(comment-discussion)"; method constructor (line 12) | constructor(baseCommand: string, commandArgs: ChatArgs, commandModifier:... method show (line 27) | show() { method hide (line 34) | hide() { method dispose (line 41) | dispose() { class UnreadsStatusItem (line 47) | class UnreadsStatusItem extends BaseStatusItem { method constructor (line 51) | constructor(providerName: string, team: Team) { method updateCount (line 64) | updateCount(unreads: number) { FILE: src/store.ts constant VALUE_LENGTH_LIMIT (line 7) | const VALUE_LENGTH_LIMIT = 100; constant MESSAGE_HISTORY_LIMIT (line 8) | const MESSAGE_HISTORY_LIMIT = 50; class Store (line 20) | class Store implements IStore { method constructor (line 28) | constructor(private context: vscode.ExtensionContext) { method loadInitialState (line 32) | loadInitialState() { method runStateMigrations (line 42) | async runStateMigrations() { method migrateFor09x (line 57) | async migrateFor09x() { method generateInstallationId (line 83) | generateInstallationId(): string { method updateExtensionVersion (line 91) | updateExtensionVersion(version: string) { method clearProviderState (line 241) | async clearProviderState(provider: string): Promise { FILE: src/strings.ts constant CHANGE_CHANNEL_TITLE (line 1) | const CHANGE_CHANNEL_TITLE = "Select a channel"; constant CHANGE_WORKSPACE_TITLE (line 3) | const CHANGE_WORKSPACE_TITLE = "Select a workspace"; constant CHANGE_PROVIDER_TITLE (line 5) | const CHANGE_PROVIDER_TITLE = "Select a provider"; constant RELOAD_CHANNELS (line 7) | const RELOAD_CHANNELS = "Reload Channels..."; constant TOKEN_NOT_FOUND (line 9) | const TOKEN_NOT_FOUND = "Setup Team Chat to work for your account."; constant SETUP_SLACK (line 11) | const SETUP_SLACK = "Set up Slack"; constant SETUP_DISCORD (line 13) | const SETUP_DISCORD = "Set up Discord"; constant REPORT_ISSUE (line 15) | const REPORT_ISSUE = "Report issue"; constant RETRY (line 17) | const RETRY = "Retry"; constant KEYCHAIN_ERROR (line 19) | const KEYCHAIN_ERROR = constant TOKEN_PLACEHOLDER (line 22) | const TOKEN_PLACEHOLDER = "Paste token here"; constant AUTH_FAILED_MESSAGE (line 24) | const AUTH_FAILED_MESSAGE = constant LIVE_REQUEST_MESSAGE (line 35) | const LIVE_REQUEST_MESSAGE = "wants to start a Live Share session"; constant LIVE_SHARE_CHAT_NO_SESSION (line 40) | const LIVE_SHARE_CHAT_NO_SESSION = constant LIVE_SHARE_INFO_MESSAGES (line 43) | const LIVE_SHARE_INFO_MESSAGES = { constant SIGN_OUT (line 53) | const SIGN_OUT = "Sign out"; constant SELECT_SELF_PRESENCE (line 55) | const SELECT_SELF_PRESENCE = "Select your presence status"; constant SELECT_DND_DURATION (line 57) | const SELECT_DND_DURATION = "Select snooze duration for Slack"; constant UNABLE_TO_MATCH_CONTACT (line 59) | const UNABLE_TO_MATCH_CONTACT = constant NO_LIVE_SHARE_CHAT_ON_HOST (line 62) | const NO_LIVE_SHARE_CHAT_ON_HOST = FILE: src/telemetry.ts constant BATCH_SIZE (line 8) | const BATCH_SIZE = 10; constant INTERVAL_TIMEOUT (line 9) | const INTERVAL_TIMEOUT = 30 * 60 * 1000; class TelemetryReporter (line 11) | class TelemetryReporter implements vscode.Disposable { method constructor (line 20) | constructor(private manager: Manager) { method setUniqueId (line 42) | setUniqueId(uniqueId: string) { method dispose (line 46) | dispose(): Promise { method record (line 58) | record( method getMxEvent (line 91) | getMxEvent(event: TelemetryEvent): Mixpanel.Event { method flushBatch (line 110) | flushBatch(): Promise { FILE: src/tree/base.ts type ISortingFunction (line 5) | interface ISortingFunction { type IFilterFunction (line 9) | interface IFilterFunction { class BaseChannelsListTreeProvider (line 13) | class BaseChannelsListTreeProvider method constructor (line 24) | constructor(protected providerName: string, protected viewId: string) { method dispose (line 30) | dispose() { method refresh (line 34) | async refresh(treeItem?: ChatTreeNode) { method getLabelsObject (line 40) | getLabelsObject( method updateChannels (line 51) | updateChannels(channelLabels: ChannelLabel[]) { FILE: src/tree/index.ts class WorkspacesTreeProvider (line 10) | class WorkspacesTreeProvider extends BaseChannelsListTreeProvider { method constructor (line 15) | constructor(provider: string) { method updateCurrentUser (line 19) | updateCurrentUser(userInfo: CurrentUser) { class UnreadsTreeProvider (line 78) | class UnreadsTreeProvider extends BaseChannelsListTreeProvider { method constructor (line 82) | constructor(provider: string) { class ChannelTreeProvider (line 87) | class ChannelTreeProvider extends BaseChannelsListTreeProvider { method constructor (line 91) | constructor(provider: string) { class GroupTreeProvider (line 96) | class GroupTreeProvider extends BaseChannelsListTreeProvider { method constructor (line 100) | constructor(provider: string) { class IMsTreeProvider (line 105) | class IMsTreeProvider extends BaseChannelsListTreeProvider { method constructor (line 108) | constructor(provider: string) { class OnlineUsersTreeProvider (line 113) | class OnlineUsersTreeProvider extends BaseChannelsListTreeProvider { method constructor (line 119) | constructor(providerName: string) { method updateData (line 123) | updateData( method getItemForUser (line 148) | getItemForUser(user: User): ChatTreeNode { FILE: src/tree/treeItem.ts constant BASE_PATH (line 6) | const BASE_PATH = path.join(selfExtension.extensionPath, "public", "icon... constant PRESENCE_ICONS (line 8) | const PRESENCE_ICONS = { class WorkspaceTreeItem (line 14) | class WorkspaceTreeItem extends vscode.TreeItem { method constructor (line 15) | constructor(label: string, provider: string, team: Team | undefined) { class ChannelTreeItem (line 28) | class ChannelTreeItem extends vscode.TreeItem { method constructor (line 29) | constructor( FILE: src/types.ts type IChatProvider (line 1) | interface IChatProvider { type UserPresence (line 22) | const enum UserPresence { type User (line 31) | interface User { type UserPreferences (line 45) | interface UserPreferences { type Providers (line 49) | const enum Providers { type CurrentUser (line 55) | interface CurrentUser { type Team (line 63) | interface Team { type Users (line 69) | interface Users { type MessageAttachment (line 73) | interface MessageAttachment { type MessageContent (line 78) | interface MessageContent { type MessageReaction (line 89) | interface MessageReaction { type MessageReply (line 95) | interface MessageReply { type MessageReplies (line 102) | interface MessageReplies { type Message (line 106) | interface Message { type ChannelMessages (line 119) | interface ChannelMessages { type ChannelMessagesWithUndefined (line 123) | interface ChannelMessagesWithUndefined { type Messages (line 127) | interface Messages { type ChannelType (line 131) | const enum ChannelType { type IContactMetadata (line 137) | interface IContactMetadata { type Channel (line 142) | interface Channel { type ChannelLabel (line 152) | interface ChannelLabel { type MessageType (line 161) | const enum MessageType { type ExtensionMessage (line 169) | interface ExtensionMessage { type UIMessage (line 174) | interface UIMessage { type UIMessageDateGroup (line 186) | interface UIMessageDateGroup { type UIMessageGroup (line 191) | interface UIMessageGroup { type IStore (line 199) | interface IStore { type IManager (line 220) | interface IManager { type IViewsManager (line 238) | interface IViewsManager { type ChatArgs (line 244) | interface ChatArgs { type EventSource (line 251) | const enum EventSource { type EventType (line 261) | const enum EventType { type EventProperties (line 275) | interface EventProperties { type TelemetryEvent (line 281) | interface TelemetryEvent { type ChatTreeNode (line 287) | interface ChatTreeNode { type InitialState (line 297) | type InitialState = { FILE: src/uriHandler.ts class ExtensionUriHandler (line 6) | class ExtensionUriHandler implements vscode.UriHandler { method handleUri (line 7) | handleUri(uri: vscode.Uri): vscode.ProviderResult { method showIssuePrompt (line 21) | showIssuePrompt(errorMsg: string, service: string) { method parseQuery (line 34) | parseQuery(queryString: string): any { FILE: src/utils/index.ts type Versions (line 30) | interface Versions { function uuidv4 (line 67) | function uuidv4(): string { function isSuperset (line 75) | function isSuperset(set: Set, subset: Set): boolean { function difference (line 84) | function difference(setA: Set, setB: Set) { function equals (line 92) | function equals(setA: Set, setB: Set) { function notUndefined (line 108) | function notUndefined(x: T | undefined): x is T { function toTitleCase (line 112) | function toTitleCase(str: string) { function toDateString (line 118) | function toDateString(date: Date) { function camelCaseToTitle (line 134) | function camelCaseToTitle(text: string) { function titleCaseToCamel (line 139) | function titleCaseToCamel(text: string) { FILE: src/utils/keychain.ts function getNodeModule (line 8) | function getNodeModule(moduleName: string): T | undefined { FILE: src/vslsSpaces/index.ts type IMessage (line 6) | interface IMessage { type IUser (line 13) | interface IUser { function sleep (line 27) | function sleep(ms: number) { class VslsSpacesProvider (line 31) | class VslsSpacesProvider implements IChatProvider { method constructor (line 35) | constructor() { method setupListeners (line 42) | setupListeners() { method getApi (line 64) | async getApi() { method connect (line 81) | async connect(): Promise { method onNewMessage (line 101) | onNewMessage(data: any) { method onNewSpace (line 115) | onNewSpace(spaceName: string) { method onClearMessages (line 121) | onClearMessages(spaceName: string) { method isConnected (line 128) | isConnected(): boolean { method sendMessage (line 132) | async sendMessage(text: string, currentUserId: string, channelId: stri... method fetchUsers (line 137) | async fetchUsers(): Promise { method fetchUserInfo (line 162) | async fetchUserInfo(userId: string): Promise { method fetchChannels (line 167) | async fetchChannels(users: Users): Promise { method loadChannelHistory (line 180) | async loadChannelHistory(channelId: string) { method subscribePresence (line 191) | subscribePresence(users: Users) {} method getUserPreferences (line 193) | getUserPreferences(): Promise { method validateToken (line 197) | async validateToken(): Promise { method fetchChannelInfo (line 201) | async fetchChannelInfo(channel: Channel): Promise { method markChannel (line 205) | async markChannel( method fetchThreadReplies (line 212) | async fetchThreadReplies( method sendThreadReply (line 219) | async sendThreadReply( method updateSelfPresence (line 226) | async updateSelfPresence( method createIMChannel (line 233) | async createIMChannel(user: User): Promise { method destroy (line 237) | async destroy() {} method sendTyping (line 239) | async sendTyping(currentUserId: string, channelId: string) { } FILE: src/webview/index.ts constant SAME_GROUP_TIME (line 5) | const SAME_GROUP_TIME = 5 * 60; type MessageWithUnread (line 7) | interface MessageWithUnread extends Message { class WebviewContainer (line 11) | class WebviewContainer { method constructor (line 14) | constructor( method setMessageHandler (line 47) | setMessageHandler(msgHandler: (message: ExtensionMessage) => void) { method update (line 53) | update(uiMessage: UIMessage) { method reveal (line 61) | reveal() { method getAnnotatedMessages (line 65) | getAnnotatedMessages( method getMessageGroups (line 89) | getMessageGroups(input: ChannelMessages, users: Users): UIMessageDateG... method getMessageGroupsForDate (line 113) | getMessageGroupsForDate( method isVisible (line 163) | isVisible() { function getWebviewContent (line 168) | function getWebviewContent(staticPath: string) { FILE: webview/src/utils.js function sendMessage (line 3) | function sendMessage(text, type) { function formattedTime (line 10) | function formattedTime(ts) { function openLink (line 15) | function openLink(href) {