Giter VIP home page Giter VIP logo

apps.notion's People

Contributors

brf153 avatar jeffreythecoder avatar nabhag8848 avatar samad-yar-khan avatar sayan4444 avatar sing-li avatar spiral-memory avatar sumitwarrior7 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

apps.notion's Issues

[Feat]: Add `list pages` command

What do we need?

We can add a /notion list pages command to show the names of all the pages available in the workspace.

Acceptance Criteria

  1. I plan to integrate the list pages command into the CommandUtility.
  2. Subsequently, I intend to implement an API featuring a "search by title" endpoint for Notion.
  3. This API will extract all the pages and databases matching the specified name in the query.
  4. From this extracted list, I will further filter the pages and render them accordingly.

Relevant ScreenShots

Screenshot from 2024-01-17 17-47-28

Further Comments

@Nabhag8848 can I work on this issue?

[Feat]: Adding an overflow menu to navigate to the "Create Subpage" modal from "Create Database" modal.

What do we need?

From the "Create Subpage or Record" modal, we can navigate to the "Create Database" modal. However, there is no provision to go back or go to the "Create Subpage or Record" modal from here. This behavior is not user-friendly, and therefore, I believe this needs to be implemented.

Acceptance Criteria

  • Find out how to create an overflow menu.
  • Investigate the process for adding new menu text and an Action ID.
  • Implement the overflow menu and handle a case in the handler when this "Create Subpage" menu is clicked and handler receives that action id as value.

Relevant ScreenShots

2024-01-29.12-06-25.mp4

Further Comments

No response

[Bug] View Errors aren't working on any Modals when Field is Required and it closes the Modal Instantly

What happened?

  • On Various Feature Modals, We Support ViewErrors if the Field is Required, but currently it doesn's show view Errors on UI and modal is getting closed.
  • Note that it happens on all Features supporting View Errors.

Steps to reproduce

For Eg:

  • Run /notion create
  • Do not input any Required Field.
  • Submit is closing Modal Instead of Showing ViewError in Search Page or Database Field.
  • ViewErrors Should Work on All Modals and Contextual Bar supporting for merging criteria.

Relevant ScreenShots

For eg:
Similar to Following we support in this app:
ViewErrors

Screen.Recording.2024-01-21.at.10.56.10.mov

Version

v6.5.3

What browsers are you seeing the problem on?

Chrome

[Bug] Remove Emojis From Markdown Text including message option

What happened?

  • There should be no emojis within App, in options or notification messages of app as it is against the design principles mentioned in apps docs.

Steps to reproduce

  • Find and Report here where there are emojis
  • Once Acknowledge Start working for removing emojis.
  • For Eg: Remove emoji from Options: Send to Page and Send to New Page

Relevant ScreenShots

Remove

Version

v6.5

What browsers are you seeing the problem on?

Chrome

[Bug]: In the Create Page or Record modal, the title input text element is always visible.

What happened?

In the Create Page or Database modal, when selecting a database, a different set of inputs has to be filled. Conversely, when selecting a page, only the title should be filled. However, the title input is visible at all times, even when nothing is selected. This is unexpected behavior because, for both databases and pages, the input requirements are different.

Steps to reproduce

  1. Set up the Rocket Chat Server and install the Notion App following the documentation.
  2. Navigate to the Notion Bot.
  3. Type /notion create to open the modal.
  4. Even if there is no page selected, the title bar is still visible. This has no meaning and constitutes unexpected behavior.

Relevant ScreenShots

Screenshot from 2024-01-30 02-31-04

Version

v6.6.0-develop

What browsers are you seeing the problem on?

Microsoft Edge

[Bug] Fix UI Element text Breaking into two lines when long username

What happened?

  • onInstallation message and when running /notion connect text in notification is breaking into two lines. we need to make an notification such that it appears in single line even though username is large.

  • Incase of onInstallation message we need to attach the layout to top the the Hey username welcome to notion app message below the layout.

Steps to reproduce

  • /notion connect with large username.
  • install app having large username

Relevant ScreenShots

Screen.Recording.2024-01-29.at.00.25.37.mov
pic1

Version

v6.5

What browsers are you seeing the problem on?

Chrome

[Bug] Missing or Invalid redirect_uri

What happened?

image
running rocket.chat on local machine.
Installed using docker.

The Apps.Notion was installed using the steps in the readme.
/notion command is working. It is showing the list of valid commands.
When i do /notion create and open the link to connect to workspace i am getting the above error.

I have set client id and secrete correctly.
below is the webhook of the bot
http://localhost:3000/api/apps/public/<Some-key-i-don't-know-whether-it-is-save-to-share-on-github>/webhook

Also when i do curl -X GET http://localhost:3000/api/apps/public/<Some-key-i-don't-know-whether-it-is-save-to-share-on-github>/webhook
output: Cannot read property 'roomId' of undefined

Steps to reproduce

  1. /notion create in rocket.chat channel
  2. open link to connect to workspace
  3. above error

Relevant ScreenShots

No response

Version

v6.5

What browsers are you seeing the problem on?

Chrome

[Feat] Change Between Workspace

What do we need?

  • While the disconnect feature allows users to disconnect from a workspace, changing between previously connected workspaces enables users to switch to a different workspace without having to completely disconnect from the current workspace. This can
    save time and improve productivity, as users can seamlessly move between different workspaces without interruption to their workflow.
  • Additionally, changing between workspaces can help prevent confusion and errors that can arise from working in the wrong workspace. When the user will run the /notion workspace command it will trigger the modal which has the dropdown having a previously connected workspace that is not being disconnected. Users can choose the appropriate workspace and press the select button to change the workspace. Users can cancel changing workspace by pressing the cancel button

Acceptance Criteria

  • created preserveWorkspace(), getAllWorkspace(), RemoveDisconnectedWorkspaces() for Workspace
  • created changeWorkspaceModal()
  • handled change workspace command param (ws, workspace)
  • handled select action for change workspace and update previewLayout
  • when disconnect, connect to last connected workspace (if exist)

Relevant ScreenShots

Further Comments

[Feat] Share Docs and Intiaitives From RC

What do we need?

-Sharing Notion pages within Rocket.Chat. Firstly, it can improve collaboration and communication within teams as it allows team members to easily share.This can streamline workflows and increase productivity by reducing the need to switch between multiple applications.

Acceptance Criteria

  • Create SharePageModal
  • Include Link of Page in Message

Relevant ScreenShots

Further Comments

  • Handle Required Field with View Errors

[Feat] Create Notion Database From RocketChat

What do we need?

  • When a user runs the /notion create database command from the Rocket.Chat message input field will open a modal having elements about what workspace the user is connected to, and the dropdown to search the page. A Title input field is the title of the database and the Choose Type dropdown to choose the notion database field type.
  • users can select the page and provide the database title and choose the type of first field they need in the database schema.
  • Once the user selects the property type, We will update the modal to have the Field name of type InputElement to name the field of the selected types including the Add Property button below the field name.
  • When the user will press the Button Add Property it can add more properties.
  • When the user press Create button we will create the database within a subpage in the specified parent page, with the specified properties schema using the Create a Database Endpoint.
  • we will show the message in the channel about the database that has been created with some info about change.

Acceptance Criteria

PR-1 #14

  • register /notion create database command
  • Have Helper Methods for UI under ElementBuilder and BlockBuilder for StaticSelectMenu, OverflowMenu, InputElement, DividerBlock
  • Create Methods: createNotionDatabase and SearchPages Under NotionSdk
  • Create Reusable methods SearchPageComponent, DropDownComponent, ButtonInSectionComponent, InputElementComponent.
  • Create ModalInteraction Class which includes methods for Store/Clear/Get actionIds and Methods for Storing Pages during Interaction of modals.
  • Have Add and Remove Property Block Interaction by storing and removing ActionsId mechanism.

PR-2 #15

  • Created Dispatch Actions for Property Type Select, MultiSelect, Formula and Number
  • Updates Modal as Per the Selection of Property Type and Has Additional Configuration Elements When Required.
  • Handle Missing Properties With and Without Having Configuration [ViewErrors]
  • Handle Duplicate Property Name with ViewErrors.
  • Fix Return type of CreateNotionDatabase method under NotionSDK to have INotionDatabase as Return Type.
  • Configured Notification of Creation of Database iin Channel to Have the Table as Attachments showing the Database created propertyName and PropertyType.

Relevant ScreenShots

Further Comments

[Feat] Gitpodify App with Updates in ReadME

What do we need?

  • Integrate Thrust for quickly setup your Rocket.Chat workspace & hot-reload for developing and deploying App, so that, no need to worry about setting up any Rocket.Chat server before hand.

Acceptance Criteria

  • Button in ReadME
  • .gitpod.Dockerfile
  • .gitpod.yml
  • add .rc.yaml in .gitignore
  • Update README with Information About App

Relevant ScreenShots

No response

Further Comments

No response

[Feat] Provide Helper Message OnInstallation of App

What do we need?

  • Once the app is installed from the marketplace and enabled for use, users will automatically receive a helper notification in the direct room that provides simple and user-friendly instructions on how to use the integration.
  • By providing this helpful guidance and support, can help to ensure that users are able to use the Notion integration and the Rocket.Chat platform more effectively and efficiently, and get the most value out of this powerful collaboration tool.

Acceptance Criteria

  • Provide the Preview Layout with Notion Logo + Support Page Link
  • Commands Helper Message
  • Persistant

Relevant ScreenShots

helperMessage on Installation

Further Comments

  • Later on Add Loom Parseable Link Video of How to Use this intergration

[Feat] : Unnecessary dropdown in Create Page or Record modal

What do we need?

There is already a command for creating databases which displays modal for database creation

But still Create Page or Record modal is having a dropdown for database creation which in my opinion unnecessary for the Create Page or Record modal which is intended to create page or record

Acceptance Criteria

Steps to reproduce

  1. Go to the Notion Bot.
  2. Write /notion create to open the modal.
  3. You will see the dropdown there

Relevant ScreenShots

Screenshot from 2024-02-04 23-05-29

Further Comments

No response

[Feat] Comment on Notion Page

What do we need?

Previously Proposed Feature Workflow

  • The /notion comment command can be useful for teams who use Notion as their secondary collaboration tool. This command enables users to comment on Notion pages directly from Rocket.Chat, making it easier to collaborate and share feedback without having to switch between different applications.

  • When the user will run /notion comment it will open up the modal having the icon and name of the connected workspace with the dropdown where the user can search for the page and a multiline input field to leave a comment.

image

  • Furthermore, Comments on a page support rich text formatting such as bold, italic, code, strikethrough, and more. We will be handling all of these as the multiline input field supports markdown.

  • When User clicks on Share button it will create the Comment in Notion Page and there will be comment as Message in RocketChat Channel. Now when the user reply in that thread the comment will be automatically created in Notion but there are security concerns with this.

Limitation and Security Concern for the Previously Proposed Feature of Workflow

  • user can only initiate the comments from RocketChat is not able to see the comments made within the Notion. This make feature unusable.
  • As user might not need to create a comment everytime in pages when replying to thread and there would be a problem when the user edits and deletes the message as there is no way to update / delete the comment in Notion with API.

Current Proposed Changes

  • Now We Will have a Following:

  • When User runs command /notion comment it will trigger a block with the search page dropdown where user can search for page and Multline Input where user can leave a comment which also supports markdown.

  • when user clicks on Comment On Page it will create the Comment in Notion.

  • After Selecting the Page when User Clicks on the View Comments. It will Open Up the Contextual bar from Side with PageName as Header. And will show up all the Unresolved Comments. Each Comment will have associated UserName and Its Profile with the Created time.

  • In Case If there are Comments created in Notion while we are using the feature. User Can Click On Refresh For New Comments which will update the Contextual bar to have the New Comments.

image

It Solves Previous Limitation:

  • Now we can See all the Comments which were created from RocketChat and in Notion.
  • We can Comment From RocketChat in Specific Page in flow of our conversation in Rocketchat
  • We Can Refresh for Getting New Comments from Notion.

Limitation:

  • We wonโ€™t be able to get the discussion Comment / Comment which was made on Block [in between the pages] or Inline Element.
  • Technical Reason: As it supports the BlockId we canโ€™t get that Specific BlockId in Which the Comment is created. copy pasting that blockId and using that block in RocketChat loses the key fundamental problem we are solving.

Acceptance Criteria

  • Register Comment Param and Have an Action Button in Message Box.
  • CreateCommentContextualBar Having SearchPage Component and MultiLine Input.
  • Handle Empty InputBlocks With ViewErrors.
  • Handle Refresh Of Comment.
  • Handle MarkDown Comment
  • create retrieveCommentsOnPage method in NotionSDK
  • create retrieveAllUsers, retrieveUser method in NotionSDK
  • create CommentOnPage method in NotionSDK

Relevant ScreenShots

No response

Further Comments

No response

[Feat] Notion Authorization with Rocket.Chat

What do we need?

  • When a user runs /notion connect will send the following message in the current room with greetings having the name of the user. When the user clicks Connect to workspace they will be redirected to the Notion website where they will be prompted to authorize Rocket.Chat to access their Notion account. if Authorized, redirected payload back to Rocket.Chat.
  • When a user /notion disconnect command they will get disconnected from the current connected workspace (if any).

Acceptance Criteria

  • Create Setting for Credentials (SettingType STRING - ClientId, SettingType PASSWORD Client Secret).
  • Register Command with params connect and disconnect.
  • Create MessageBuilder with Button (only in case of connect)
  • Send Relevant Notification to Channel including Message from MessageBuilder when there is complete execution.
  • Create Function to getTokenInfo else Send Relevant Notification with Connect to Workspace button alerting user not connected.
  • Create WebHookEndpoint for handling Notion Callback
  • Create NotionSDK Class

Relevant ScreenShots

notion connect
notion disconnect

Further Comments

  • Create CustomError Class extending which have CommonError class
  • Use URL Package when needed
  • Use Integration SVG in Authorization HTML page.

Edge Cases

  • When User Changes State in AuthURL
  • When User Leaves in Between Auth
  • When User Cancel the Auth but Go Back to AuthURL pressing <โ€” in Browser
  • When User runs connect command in two channels [Say first and Second] one by one during session and connects from First Message should go to First and so on.
  • When There is Problem from Notion Provider to Generate Token
  • Using feat with multiple user.
  • Handle Empty Credentials and give Notification to channel as per user Roles.

[Bug] Comment Multiline Input Field state isn't getting reset once the comment has been Send

What happened?

  • Comment Multiline Input Field state isn't getting reset once the comment has been Send. it should reset the field to empty string.

Steps to reproduce

  1. run '/notion comment'
  2. select page and comment on page.
  3. see the comment input field.

Relevant ScreenShots

Screen.Recording.2024-01-21.at.09.39.02.mov

Version

v6.5

What browsers are you seeing the problem on?

Chrome

[Feat]: Adding a modal to allow users to add content to the Notion page.

What do we need?

I believe it would be beneficial to implement a feature where users can utilize a '/notion append' command, triggering a modal. Within this modal, users can select pages and find a text area field to add their content, allowing them to save content it directly to Notion without the need to send a message to any channel in Rocket Chat. They could optionally add heading as well to their page. Currently, users have to send a message first before and then send it to page.

Acceptance Criteria

  • Deciding on an appropriate command parameter to use.
  • Creating a modal with page selection and a textarea input field.
  • Utilizing the Notion API to save the content on the page.

Relevant ScreenShots

The current screenshot was created by editing elements in the inspect element tool to illustrate how it might appear. The same design can be implemented in reality.

image

Expected Output on Notion Page:

image

Further Comments

No response

[Feat] Create Notion Page and Record

What do we need?

Note that actual Implementation may have changes to proposed

  • The /notion create command will allow users to create a new record or page in their Notion workspace directly from the Rocket.Chat. This command simplifies the workflow for users who want to quickly create a new record or page without having to switch between different applications.

  • When a user runs the /notion create command from the Rocket.Chat message input field will open a modal having elements about what workspace the user is connected to, and the dropdown to search the page or database. A Title input field is the title of the database record or the title of the page.

  • Now users will able to search for pages or databases from keywords and according to whether the selected search is page or database modal may be updated. let's talk about when the user selects the page by searching the page name once selected there will be no changes to the modal and the user can provide the title name and create the subpage inside the page.

  • Now in the case when the user will search for a database and selects database then the modal will be updated with the button Add Property which will be used to add the other fields in the database one by one.

  • Now, when the user selects the database it will have different types of notion property, mentioning some of them, which includes Date, Email, People, Phone Number, Select, Title, URL, MultiSelect and more of them can be handled by our uikit elements such as IInputElement, IStaticSelectElement, IMultiStaticElement, DatePicker, etc.

  • Now, When the user wants to add the property it will pressing the button Add Property will show the dropdown having the property name having the label name as Property. Now, for example, when the user selects the property of type Date, we will accordingly update the later element. The following is a glimpse of the same.

  • If the property within the database is left to add, the user every time will have two options.

    1. Add more Property
    2. Create a Record with the rest of them as empty fields.
  • If all the property has been added then the only option user will have is to Create a Record in this case we will update the modal to remove the Add Property Button having the state of the modal maintained.

  • The Implementation of the selecting page or db is mentioned in the later section to avoid the redundancy of text within each feature. We will be using a POST /search endpoint for the search of pages or databases. Now the payload contains a property to know whether it's a database or page based on it will update the modal to Add or Remove AddProperty button which can be achieved by updateSurfaceView by creating the replica of the modal with the same state and just adding or removing the button.

  • To get the property (columns) of the database we will be using Retrieve a database endpoint and now each time when the property has been added we will be removing that property from the dropdown by updating the modal. Also based on the type of property we will be creating the element which I mentioned above. Once the user press Create button we will show the message in the channel about the record that has been created with more info about the workspace and mention the name of who created that record.

  • For creating the page or record within the database we will be using Create a Page Endpoint. Furthermore, we will have a feature to remove already added properties within the modal by providing the button Remove below within each added property.

Acceptance Criteria

PR-1 #20

  • Register /notion create command
  • Create SearchPagesAndDatabases and CreatePage Method in NotionSDK
  • Create Reusable method for SearchPageAndDatabaseComponent and getSelectDatabaseLayout
  • Have Two Options in OverFlow Menu CreateDatabase and Change Database(Only when Database is selected)
  • Handle creation of SubPage in specific page, and Update the Modal when there is selection Of Database.

Relevant ScreenShots

Further Comments

[Bug]: Footer undefined in the getConnectLayout

What happened?

I was expecting to get the avatar_url and name in the footer after authorizing but I am getting undefined.

Steps to reproduce

Just connect to notion and check the first message you get after coming back to rocket chat room.

Relevant ScreenShots

Screenshot from 2024-01-13 11-46-19

Version

v6.5.2

What browsers are you seeing the problem on?

Chrome

[Bug] Page shared multiple times

What happened?

On clicking the share button, the button doesnt disable once the user has clicked it - leading to sharing multiple times incase the user clicked it again while being impatient

Steps to reproduce

  1. in /notion share modal, select a page
  2. Click on share multiple times

Relevant ScreenShots

Loom video for reference - https://www.loom.com/share/bad29039f1a34ffe9b9f50ea6d7ec325?sid=9d99a61a-35af-43df-9988-c7cd3835fda7

Version

v6.2.2

What browsers are you seeing the problem on?

Firefox

[Feat] Update Record in Notion Database

What do we need?

  • Currently Once the Record is created using /notion create we don't have anyway to update that record from rc. lets say org is keeping track of project they are working on - in Notion Database and there is extension of project deadline, or it needs to assign to different person, xyz, etc. we can't do it currently which is needed and happens often.

  • we want to implement a button on the message that has been send on creation - update record particularly a message box action button which exist on every message. This button should only exist on that creation message.

  • Open the Modal (Similar to Creation Record Modal particular when database is selected that view) with All the input Elements with initial value which is part of that record, Every Creation Message would have one particular record attached from database right, get that values through api first and open the modal with elements you need and give the current value of record to default value to elements, have the elements according to type of value, for reference use the code we already have for creation record.

  • similar modal we already have in create record feature right ? and update those fields which needed to be in one go in input elements the one which are not updated in the input fields doesn't matter cause we can make the request of changed value and default which wasn't changed and update the fields through API. This allows to make multiple fields change in one go.

  • Once the fields are filled, and updated through api when from modal the user presses Update (SubmitAction - BlueButton) We need to Update the Creation Message Particular from where the MessageBox Action was initiated, we need to update the message with new fields which were updated during the updation.

  • Also Make sure We handle ViewErrors,

  • Also Handle If when the there is update action button pressed the user is connected to workspace in which that database exist if not notify user you are connected to different workspace.

  • In this case, We currently don't have goal for menu actions: But make sure its scalable if we might need to include OverFlowAction Menu which is create database + create page or record which we should be able to do.

  • For Reference Check the Create Record Codebase you can find lot of code which will help you, you will need to know in depth things about how we are caching data with persistance storage.

Acceptance Criteria

  • Have a Message Box Action on creation message only - update record.
  • Opens Modal with Default Value
  • Checks the ViewErrors
  • Handles Incorrect Workspace connected on Message box action
  • Update the Creation Message to updated fields value
  • should be scalable to include overflowmenu actions later
  • It shouldn't break anything else๐Ÿ™๐Ÿป๐Ÿฅน

Relevant ScreenShots

  • Include Update Record in Message Box Action of Creation Message
  • Update Record Modal Reference
Update Modal

Further Comments

  • Good Luck !! This is much needed and Hardest Features to Implement from all the Features in Notion App

[Feat]: To add a script to automatically close the window after either a successful or failed workspace connection.

What do we need?

Currently, after connecting to the workspace, whether it succeeds or fails, it returns an AuthPageTemplate. However, the user has to manually close the window, which is not an expected behavior and is not user friendly. This window should automatically close after the timer runs out. So, I propose adding a script to close this page after 5 seconds.

Acceptance Criteria

  • Find out where it returns this success or failed page.
  • Introduce a script to automatically close the window and display the running timer with a message.
  • Determine how to execute this inline script even if Content-Security-Policy (CSP) is enabled.

Relevant ScreenShots

2024-01-29.20-22-05.mp4

Further Comments

No response

[Feat] Improve Preserved Important Message in Notion With Notion's Link Preview

What do we need?

Acceptance Criteria

  • Research how you can get this working.
  • Research if is it possible in Self hosted RocketChat as every preview link has specific domain.

Relevant ScreenShots

Screen.Recording.2024-01-18.at.12.37.18.mov

Further Comments

No response

[Feat] Improve readability of comment created time

What do we need?

Currently, the comment create time is displayed in ISO 8601 format, e.g. 2024-03-11T19:05:00.000Z. This time, got from Notion API, is good for precision, but not good for readability and doesn't convert to the user's timezone.

For better readability, we can display the time in the same the way how Notion show comment time, which follows the writing guidelines from Atlassian Design System.

Acceptance Criteria

  • Convert comment created time from ISO to relative time

Relevant ScreenShots

Screenshot 2024-03-11 at 6 11 21 PM Screenshot 2024-03-11 at 6 07 35 PM

Further Comments

No response

[Chore] Australian dollar Number Format support in Create Table Feature and Some Chores

What happened?

We added support for australian_dollar in the format field of number database properties. [imp]

ChangeLog September 6 - September 7, 2023

Steps to reproduce

  • Check if the formula property works as expected in /notion create db. and make changes accordingly.
  • as australian dollar has been supported now. under /notion create db if the Notion table includes a number then it should have a number format of australian dollar too. [Check SS below]

Relevant ScreenShots

Create

Version

v6.5

What browsers are you seeing the problem on?

Chrome

[Feat] View Notion Page Inside RocketChat Channel

What do we need?

  • Quickly find important information, documents, project details
  • Discussing a project or task, having the related Notion page accessible within the RocketChat conversation allows team members to maintain context and easily reference details.
  • Team members can collaborate on Notion pages directly from RocketChat by leaving comments.

Acceptance Criteria

  • Make New Project which converts Notion Page to Markdown

Relevant ScreenShots

ViewShared Page [RELATED]

ViewSharablePage

View any Notion Page

ViewPage

No response

Further Comments

No response

[Feat] Add Change Workspace Option in Overflow Menu within Create Page or Record Modal

What do we need?

  • Add an Option to OverFlowmenu for Change Workspace which will open Change Workspace Modal to directly from Create Database
ss1

Acceptance Criteria

  • Add Option Change Workspace
  • Should open Same Change Workspace modal which is opening from /notion workspace.
  • after the workspace has been changed Open the Create Database Modal Again, By Default

Relevant ScreenShots

No response

Further Comments

No response

[Bug] Search of Pages and / or Database in SearchComponent Currently Doesn't Support Pagination

What happened?

  • Current Implemenatation doesn't support pagination of Searching pages and/ or databases.
  • Api endpoint of Search Page, Returns maximum of 100 pages
  • https://developers.notion.com/reference/post-search
  • methods searchPages, searchDatabase, SearchPagesandDatabases under NotionSDK, (maybe more) uses this API.

Steps to reproduce

  • Improve methods such a way that it gets all the avaialable pages and / or databases.
  • Check if there is performance issue while doing this.

Relevant ScreenShots

No response

Version

v6.5

What browsers are you seeing the problem on?

Chrome

[Feat] View Notion Table inside RC

What do we need?

  • Allowing User to View Notion table inside a RocketChat channel Can be Useful for Following:
  1. interact with relevant information without leaving RC.
  2. Have a backlog? Want to Assign task to different team? Viewing Notion Table can allow users to see the table thus they can Update the Notion Database Without Leaving RocketChat when needed[ Related Feature ].

Acceptance Criteria

  • create searchDatabases and queryDatabasePages method in NotionSDK
  • use https://www.npmjs.com/package/table module to create tableString and render it in CodeBlock.
  • create searchDatabaseComponent
  • create viewNotionTable Modal and handled required fields with viewErrors.

Relevant ScreenShots

Further Comments

No response

[Bug] Comments don't support pagination

What happened?

Our App doesn't support pagination of comments. The current implementation fetches Notion's Comment API, which returns max 100 comments.

We want support pagination comments, like for pages & DBs, which have an existing issue #38 in progress.

Steps to reproduce

View comments of a Notion page with 100+ comments

Relevant ScreenShots

No response

Version

v6.6.5

What browsers are you seeing the problem on?

Chrome

[Bug] Selecting Same Workspace Again Gives Notification About Workspace is Changed

What happened?

  • When changing workspace again to same connected workspace in dropdown, it gives notification on selecting which we shouldn't get if it is connected to same workspace.
  • Note: Opening and selecting without altering the dropdown works fine - doesn't give notification.

Steps to reproduce

  1. run /notion ws
  2. select different workspace in dropdown.
  3. again change workspace in dropdown which is already connected.
  4. select while you selected the already connected workspace
  5. check we are getting notification.

Relevant ScreenShots

Screen.Recording.2024-02-29.at.20.27.16.mov

Version

v6.5.3

What browsers are you seeing the problem on?

Firefox, Chrome, Safari, Microsoft Edge

[Bug]: Connect to Workspace block is shown even after the user has connected to the workspace

What happened?

We should not allow multiple connections to the same workspace. We should notify the user that he/she is already connected to the workspace they are trying to connect to.

Steps to reproduce

  1. Try to connect to a workspace.
  2. After connecting, try again to connect to the workspace.
  3. You will be notified again that you have been connected.

Relevant ScreenShots

Screenshot from 2024-01-15 12-25-35

Version

v6.5.2

What browsers are you seeing the problem on?

Chrome

[Feat]: Add the ability to modify properties/schema of existing Notion databases

What do we need?

Currently, there is no option to add or delete properties of a Notion database after its creation. This option is only available during the database setup process. To modify the schema later, users must manually make changes within the Notion page itself, which can be inconvenient, especially when considering the benefits of integrations. The Notion API does offer functionality for property modification, which we can use to implement this feature.

Acceptance Criteria

  • Create a modal for selecting and adding/deleting the database schema.
  • Integrate this feature using the Notion API.

Relevant ScreenShots

No response

Further Comments

No response

[Bug] Create comment buttom is unsubmitable if the user tries to submit the same comment again

What happened?

Current behavior:
After making a comment, the comment remains inside the text box and is unsubmitable

Expected behavior:
After making the comment, the text box should get cleared

Steps to reproduce

  1. Create a comment and then try to submit the same comment again

Relevant ScreenShots

https://www.loom.com/share/cd9900820c47476fa0b50c934481dc5d?sid=6637e7ed-7b71-4d47-9954-324b93c886a8

Version

v6.2.2

What browsers are you seeing the problem on?

Firefox

[Feat]: Sharing of Databases like sharing pages using `/notion share`.

What do we need?

Currently, the notion app doesn't have an option to share a particular database just like it has an option to share pages through /notion share .

Acceptance Criteria

  • Creation of command to share database -> /notion share db
  • Integrate db selection using modal just like for page selection
  • Integration of an overflow menu component like it is there in /notion create.
  • Display the link to the required db using message.

Relevant ScreenShots

Screenshot 2024-04-09 220117

Screenshot 2024-04-09 220100

Screenshot 2024-04-09 225754

Further Comments

Please let me know if this would be useful for the Notion App.
Thank you.

[Feat] Preserve RocketChat Message in New and Existing Notion Page

What do we need?

  • Preserve RocketChat Message in Notion Page by doing this we will have following advantages:
  1. Have important discussions, decisions, information, valuable insights, brainstorming sessions, meeting notes, shared files, relevant articles in one place as messages get buried in the chat history over time, making it challenging to find relevant information later.
  2. They will become a part of a structured database that remains accessible and searchable even as new conversations occur.
  3. ensure that everyone is on the same page, even if they are not actively participating in the chat.
  4. Preserve above important things while assigning task to team members.

Acceptance Criteria

  • Create Action Button [ Send to Page , Send to New Page] as Message Box Action
  • Create Modal Send to Notion Page for Sending it to Existing Page
  • Open CreatePageOrRecord Modal for Sending to New Page.
  • Send Message In Thread that Message has been Preserve in X Page with Link

Relevant ScreenShots

Screenshot from 2023-08-10 12-49-26

Further Comments

No response

[Feat] Provide Helper Message on `/notion help`

What do we need?

  • the /notion help command can be useful for users who may need a quick refresher or who may have missed some of the
    information provided in the helper message. This command provides users with quick and easy access to helpful information
    and guidance about using app whenever they need it.

Acceptance Criteria

  • Register help param
  • add Command Text as Attachment
  • Message in Room should be visible to Only command executor

Relevant ScreenShots

notion help command message

Further Comments

No response

[Bug] Linting not Enforced

What happened?

Each repository has a tslint.json however the styles are not enforced and I noticed this throughout multiple (rocket.chat.app) repositories. While each repository has a tslint.json there are no scripts provided in package.json to ensure the linting of code.

Other than that, I learned that tslint has been outdated and replaced with eslint.json so it might be a good time to switch out to eslint.json and ensure code consistency and style.

image

Steps to reproduce

I was however able to run the lint process without adding the script to package.json. Here's how you can reproduce this:

npm i -g tslint
npm i -g typescript
tslint --project .

This will run the linting process in the project, and you will be now prompted with a series of error that do not match the tslint.json convention.

Below we have our tslint.json which enforces certain styles but are not really enforced into the code.

{
    "extends": "tslint:recommended",
    "rules": {
      "array-type": [true, "generic"],
      "member-access": true,
      "no-console": [false],
      "no-duplicate-variable": true,
      "object-literal-sort-keys": false,
      "quotemark": [true, "single"], 
      "max-line-length": [true, {
          "limit": 160,
          "ignore-pattern": "^import | *export .*? {"
      }]
    }
}

As you can see this enforces the quote mark as single, however it's not how it's being used in the project, or rather any of the projects.

Relevant ScreenShots

Here are the logs as output:
https://pastebin.com/qx6BNZFP

We can use tslint --project . --fix to fix the issues but that causes changes to more than 90+ files together. Also it might be a nice idea to switch to eslint as it is supported currently.

Version

latest

What browsers are you seeing the problem on?

Chrome

[Feat]: Add `archive page` command to the app

What do we need?

We can introduce an 'archive page' command to the app by leveraging Notion's archive page API endpoint.

Acceptance Criteria

  1. I plan to incorporate the /notion archive {page} command into the CommandUtility file.
  2. Following that, I will create the endpoint for archiving a page.
  3. Once the command is executed successfully, I intend to notify the user that the page has been archived.

Further Comments

@Nabhag8848 can I work on this issue?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.