This repository was archived by the owner on Sep 11, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 815
Include a file-safe room name and ISO date in chat exports #9440
Merged
Merged
Changes from all commits
Commits
Show all changes
29 commits
Select commit
Hold shift + click to select a range
55c48a5
conversation export named after room
Sinharitik589 04d7e62
sanitization added for exported file name
Sinharitik589 65bdb67
sanitization added for exported file name
Sinharitik589 cb4a957
sanitization added for exported file name
Sinharitik589 439c4ca
sanitization added for exported file name=>lint error fixed
Sinharitik589 9958015
sanitization added for exported file name=>lint error fixed
Sinharitik589 f2ceb5d
sanitization added for exported file name=>redundancy removed
Sinharitik589 e75b306
sanitization added for exported file name=>redundancy removed
Sinharitik589 572cf47
reverted to previous commit
Sinharitik589 b0dac2f
sanitization added for exported file name=>redundancy removed
Sinharitik589 e73fa9b
Merge branch 'develop' into issue_19724
Sinharitik589 6df5cbd
Merge branch 'develop' into issue_19724
t3chguy 245c3bd
exported chat date iso formatted
yaya-usman 563c651
Merge branch 'matrix-org:develop' into issue_19724
Sinharitik589 f086670
conversation export named after room
Sinharitik589 82086ec
Merge branch 'matrix-org:develop' into issue_19724
Sinharitik589 26854cd
Merge branch 'develop' into issue_19724
t3chguy 677e9e7
conversation export named after room
Sinharitik589 7974c3b
Merge branch 'develop' into issue_19724
t3chguy eb9f262
code refacto filename date format
yaya-usman 58b7b4a
Merge branch 'develop' of https://github.com/yaya-usman/matrix-react-…
yaya-usman 3b5f57a
Merge remote-tracking branch 'Sinharitik589/issue_19724' into travis/…
turt2live 40cf993
Merge remote-tracking branch 'yaya-usman/ace-branch' into travis/room…
turt2live 278558f
Add docs to fn
turt2live b1a6abe
Bring in a util library for sanitizing
turt2live a4e492e
Extract file naming function and make consistent for all 3 types
turt2live 1cdd931
Write tests & associated fixes
turt2live d07b72a
Apply linters locally
turt2live 9226ab1
Include new date util in index
turt2live File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| /* | ||
| Copyright 2022 The Matrix.org Foundation C.I.C. | ||
|
|
||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||
| you may not use this file except in compliance with the License. | ||
| You may obtain a copy of the License at | ||
|
|
||
| http://www.apache.org/licenses/LICENSE-2.0 | ||
|
|
||
| Unless required by applicable law or agreed to in writing, software | ||
| distributed under the License is distributed on an "AS IS" BASIS, | ||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| See the License for the specific language governing permissions and | ||
| limitations under the License. | ||
| */ | ||
|
|
||
| export const REPEATABLE_DATE = new Date(2022, 10, 17, 16, 58, 32, 517); | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,52 @@ | ||
| /* | ||
| Copyright 2022 The Matrix.org Foundation C.I.C. | ||
|
|
||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||
| you may not use this file except in compliance with the License. | ||
| You may obtain a copy of the License at | ||
|
|
||
| http://www.apache.org/licenses/LICENSE-2.0 | ||
|
|
||
| Unless required by applicable law or agreed to in writing, software | ||
| distributed under the License is distributed on an "AS IS" BASIS, | ||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| See the License for the specific language governing permissions and | ||
| limitations under the License. | ||
| */ | ||
|
|
||
| import { mocked } from "jest-mock"; | ||
|
|
||
| import { createTestClient, mkStubRoom, REPEATABLE_DATE } from "../../test-utils"; | ||
| import { ExportType, IExportOptions } from "../../../src/utils/exportUtils/exportUtils"; | ||
| import SdkConfig from "../../../src/SdkConfig"; | ||
| import HTMLExporter from "../../../src/utils/exportUtils/HtmlExport"; | ||
|
|
||
| describe("HTMLExport", () => { | ||
| beforeEach(() => { | ||
| jest.useFakeTimers('modern'); | ||
| jest.setSystemTime(REPEATABLE_DATE); | ||
| }); | ||
|
|
||
| afterEach(() => { | ||
| mocked(SdkConfig.get).mockRestore(); | ||
| }); | ||
|
|
||
| it("should have an SDK-branded destination file name", () => { | ||
| const roomName = "My / Test / Room: Welcome"; | ||
| const client = createTestClient(); | ||
| const stubOptions: IExportOptions = { | ||
| attachmentsIncluded: false, | ||
| maxSize: 50000000, | ||
| }; | ||
| const stubRoom = mkStubRoom("!myroom:example.org", roomName, client); | ||
| const exporter = new HTMLExporter(stubRoom, ExportType.Timeline, stubOptions, () => {}); | ||
|
|
||
| expect(exporter.destinationFileName).toMatchSnapshot(); | ||
|
|
||
| jest.spyOn(SdkConfig, "get").mockImplementation(() => { | ||
| return { brand: "BrandedChat/WithSlashes/ForFun" }; | ||
| }); | ||
|
|
||
| expect(exporter.destinationFileName).toMatchSnapshot(); | ||
| }); | ||
| }); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,39 @@ | ||
| /* | ||
| Copyright 2022 The Matrix.org Foundation C.I.C. | ||
|
|
||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||
| you may not use this file except in compliance with the License. | ||
| You may obtain a copy of the License at | ||
|
|
||
| http://www.apache.org/licenses/LICENSE-2.0 | ||
|
|
||
| Unless required by applicable law or agreed to in writing, software | ||
| distributed under the License is distributed on an "AS IS" BASIS, | ||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| See the License for the specific language governing permissions and | ||
| limitations under the License. | ||
| */ | ||
|
|
||
| import JSONExporter from "../../../src/utils/exportUtils/JSONExport"; | ||
| import { createTestClient, mkStubRoom, REPEATABLE_DATE } from "../../test-utils"; | ||
| import { ExportType, IExportOptions } from "../../../src/utils/exportUtils/exportUtils"; | ||
|
|
||
| describe("JSONExport", () => { | ||
| beforeEach(() => { | ||
| jest.useFakeTimers('modern'); | ||
| jest.setSystemTime(REPEATABLE_DATE); | ||
| }); | ||
|
|
||
| it("should have a Matrix-branded destination file name", () => { | ||
| const roomName = "My / Test / Room: Welcome"; | ||
| const client = createTestClient(); | ||
| const stubOptions: IExportOptions = { | ||
| attachmentsIncluded: false, | ||
| maxSize: 50000000, | ||
| }; | ||
| const stubRoom = mkStubRoom("!myroom:example.org", roomName, client); | ||
| const exporter = new JSONExporter(stubRoom, ExportType.Timeline, stubOptions, () => {}); | ||
|
|
||
| expect(exporter.destinationFileName).toMatchSnapshot(); | ||
| }); | ||
| }); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,39 @@ | ||
| /* | ||
| Copyright 2022 The Matrix.org Foundation C.I.C. | ||
|
|
||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||
| you may not use this file except in compliance with the License. | ||
| You may obtain a copy of the License at | ||
|
|
||
| http://www.apache.org/licenses/LICENSE-2.0 | ||
|
|
||
| Unless required by applicable law or agreed to in writing, software | ||
| distributed under the License is distributed on an "AS IS" BASIS, | ||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| See the License for the specific language governing permissions and | ||
| limitations under the License. | ||
| */ | ||
|
|
||
| import { createTestClient, mkStubRoom, REPEATABLE_DATE } from "../../test-utils"; | ||
| import { ExportType, IExportOptions } from "../../../src/utils/exportUtils/exportUtils"; | ||
| import PlainTextExporter from "../../../src/utils/exportUtils/PlainTextExport"; | ||
|
|
||
| describe("PlainTextExport", () => { | ||
| beforeEach(() => { | ||
| jest.useFakeTimers('modern'); | ||
| jest.setSystemTime(REPEATABLE_DATE); | ||
| }); | ||
|
|
||
| it("should have a Matrix-branded destination file name", () => { | ||
| const roomName = "My / Test / Room: Welcome"; | ||
| const client = createTestClient(); | ||
| const stubOptions: IExportOptions = { | ||
| attachmentsIncluded: false, | ||
| maxSize: 50000000, | ||
| }; | ||
| const stubRoom = mkStubRoom("!myroom:example.org", roomName, client); | ||
| const exporter = new PlainTextExporter(stubRoom, ExportType.Timeline, stubOptions, () => {}); | ||
|
|
||
| expect(exporter.destinationFileName).toMatchSnapshot(); | ||
| }); | ||
| }); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| // Jest Snapshot v1, https://goo.gl/fbAQLP | ||
|
|
||
| exports[`HTMLExport should have an SDK-branded destination file name 1`] = `"Element - My Test Room Welcome - Chat Export - 2022-11-17T16-58-32.517Z.zip"`; | ||
|
|
||
| exports[`HTMLExport should have an SDK-branded destination file name 2`] = `"BrandedChatWithSlashesForFun - My Test Room Welcome - Chat Export - 2022-11-17T16-58-32.517Z.zip"`; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| // Jest Snapshot v1, https://goo.gl/fbAQLP | ||
|
|
||
| exports[`JSONExport should have a Matrix-branded destination file name 1`] = `"matrix - My Test Room Welcome - Chat Export - 2022-11-17T16-58-32.517Z.json"`; |
3 changes: 3 additions & 0 deletions
3
test/utils/exportUtils/__snapshots__/PlainTextExport-test.ts.snap
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| // Jest Snapshot v1, https://goo.gl/fbAQLP | ||
|
|
||
| exports[`PlainTextExport should have a Matrix-branded destination file name 1`] = `"matrix - My Test Room Welcome - Chat Export - 2022-11-17T16-58-32.517Z.txt"`; |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.