Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add note history (back/forward) #2819

Merged
merged 45 commits into from
May 15, 2020
Merged
Changes from 1 commit
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
0d10505
Add test for search in feature_NoteHistory
naviji Mar 20, 2020
5ea0f9d
Rename historyAction
naviji Mar 21, 2020
1c5bc1f
Add history limit of 200
naviji Mar 21, 2020
ad16d13
Save history on keydown
naviji Mar 22, 2020
7dcd255
Remove duplicates in history due to deletion
naviji Mar 22, 2020
eceaebc
Add test for adjacent duplicate deletion
naviji Mar 22, 2020
1856638
Fix showAllNotes tests
naviji Mar 23, 2020
b77e762
Add package-lock.json files
naviji Mar 23, 2020
9191be6
Clean up
naviji Mar 25, 2020
4504358
Rename lastSeenNote to currentNote
naviji Mar 25, 2020
626d966
Update goBackWard, goForward functions
naviji Mar 25, 2020
fbce314
Change expect of tests
naviji Mar 30, 2020
b4f5c3d
Merge branch 'master' of https://github.com/laurent22/joplin into his…
naviji Mar 30, 2020
90b7bf9
Fix history corruption
naviji Mar 30, 2020
57a1494
Fix problems when moving
naviji Mar 30, 2020
0ca975b
Put everything in one place
naviji Mar 30, 2020
22e02c1
New actions HISTORY_BACKWARD and HISTORY_FORWARD
naviji Mar 31, 2020
a145df5
Preserve context
naviji Apr 1, 2020
55710cd
Fix note move bug
naviji Apr 1, 2020
27cfa06
Remove redundant historyAction
naviji Apr 1, 2020
87c0de8
Clean up
naviji Apr 1, 2020
8e5d5cf
Fix bug in adjacent deletion
naviji Apr 11, 2020
dd7ee13
Add tests for moving over create, deleted and allnotes
naviji Apr 11, 2020
e3cb65a
Clean up
naviji Apr 11, 2020
2f4655a
Merge from upstream master
naviji Apr 11, 2020
ed7fc8b
Fix bug in goto
naviji Apr 11, 2020
08f30f0
Conflict partial
naviji Apr 12, 2020
9b4fcaa
Fix bug when moving selected note
naviji Apr 14, 2020
a6a5a8f
Failing conflict note test
naviji Apr 14, 2020
1db2c2b
Merge branch 'master' of https://github.com/laurent22/joplin into his…
naviji Apr 15, 2020
ccefd77
Merge branch 'master' of https://github.com/laurent22/joplin into his…
naviji Apr 17, 2020
51f4e2e
Comment out test
naviji Apr 17, 2020
c8bd10e
Comment out test
naviji Apr 17, 2020
281c536
Fix conflict notes test bug
naviji Apr 19, 2020
5894078
Merge from upstream master
naviji Apr 19, 2020
c48a61e
Clean up
naviji Apr 19, 2020
7210a1e
Clean up
naviji Apr 19, 2020
566bea6
Merge branch 'master' of https://github.com/laurent22/joplin into his…
naviji Apr 21, 2020
f625666
Remove package-lock.json
naviji Apr 21, 2020
baed477
Remove old history test file
naviji Apr 21, 2020
bab891b
Clean up
naviji Apr 21, 2020
49a4a30
Fix search bug
naviji Apr 22, 2020
4e00206
Merge from upstream master
naviji May 6, 2020
9972588
Add arrows to WYSIWYG editor
naviji May 7, 2020
ffc01e7
Simplify
naviji May 8, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Failing conflict note test
  • Loading branch information
naviji committed Apr 14, 2020
commit a6a5a8fdd5439ad95d9e8a0ba3db8aebcb654e20
97 changes: 47 additions & 50 deletions CliClient/tests/feature_NoteHistory.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ const { asyncTest, id, ids, createNTestFolders, sortedIds, createNTestNotes, Tes
const BaseModel = require('lib/BaseModel.js');
const { uuid } = require('lib/uuid.js');
const Note = require('lib/models/Note.js');
// const Folder = require('lib/models/Folder.js');
const Folder = require('lib/models/Folder.js');

const { ALL_NOTES_FILTER_ID } = require('lib/reserved-ids.js');

Expand Down Expand Up @@ -390,68 +390,65 @@ describe('integration_ForwardBackwardNoteHistory', function() {
}));

// TODO: history over conflict notes. conflict -> not conflict. conflict -> conflict
// it('should ensure history works when traversing through conflict notes', asyncTest(async () => {
// const folders = await createNTestFolders(2);
// await testApp.wait();
// const notes0 = await createNTestNotes(5, folders[0]);
// await testApp.wait();

// const note1 = await Note.save({ title: 'note 1', parent_id: folders[0].id, is_conflict: 1 });
// await testApp.wait();
// const note2 = await Note.save({ title: 'note 2', parent_id: folders[1].id, is_conflict: 1 });
// await testApp.wait();
it('should ensure history works when traversing through conflict notes', asyncTest(async () => {
const folders = await createNTestFolders(2);
await testApp.wait();
const notes0 = await createNTestNotes(5, folders[0]);
await testApp.wait();

// testApp.dispatch({ type: 'FOLDER_SELECT', id: Folder.conflictFolderId() });
// await testApp.wait();
const note1 = await Note.save({ title: 'note 1', parent_id: folders[0].id, is_conflict: 1 });
await testApp.wait();
const note2 = await Note.save({ title: 'note 2', parent_id: folders[1].id, is_conflict: 1 });
await testApp.wait();

// goToNote(testApp, note1);
// await testApp.wait();
testApp.dispatch({ type: 'FOLDER_SELECT', id: Folder.conflictFolderId() });
await testApp.wait();

// let state = testApp.store().getState();
// expect(state.selectedFolderId).toBe(Folder.conflictFolderId());
// expect(state.selectedNoteIds[0]).toBe(note1.id);
goToNote(testApp, note1);
await testApp.wait();

// goToNote(testApp, note2);
// await testApp.wait();
let state = testApp.store().getState();
expect(state.selectedFolderId).toBe(Folder.conflictFolderId());
expect(state.selectedNoteIds[0]).toBe(note1.id);

// state = testApp.store().getState();
// expect(state.selectedFolderId).toBe(Folder.conflictFolderId());
// expect(state.selectedNoteIds[0]).toBe(note2.id);
goToNote(testApp, note2);
await testApp.wait();

// goBackWard(state);
// await testApp.wait();
state = testApp.store().getState();
expect(state.selectedFolderId).toBe(Folder.conflictFolderId());
expect(state.selectedNoteIds[0]).toBe(note2.id);

// state = testApp.store().getState();
// expect(state.selectedFolderId).toBe(Folder.conflictFolderId());
// expect(state.selectedNoteIds[0]).toBe(note1.id);
goBackWard(state);
await testApp.wait();

// goForward(state);
// await testApp.wait();
state = testApp.store().getState();
expect(state.selectedFolderId).toBe(Folder.conflictFolderId());
expect(state.selectedNoteIds[0]).toBe(note1.id);

// state = testApp.store().getState();
// expect(state.selectedFolderId).toBe(Folder.conflictFolderId());
// expect(state.selectedNoteIds[0]).toBe(note2.id);
goForward(state);
await testApp.wait();

// testApp.dispatch({ type: 'FOLDER_SELECT', id: folders[0].id });
// await testApp.wait();
// goToNote(testApp, notes0[1]);
// await testApp.wait();
state = testApp.store().getState();
expect(state.selectedFolderId).toBe(Folder.conflictFolderId());
expect(state.selectedNoteIds[0]).toBe(note2.id);

// state = testApp.store().getState();
// expect(state.selectedFolderId).toBe(folders[0].id);
// expect(state.selectedNoteIds[0]).toBe(notes0[1].id);
testApp.dispatch({ type: 'FOLDER_SELECT', id: folders[0].id });
await testApp.wait();
goToNote(testApp, notes0[1]);
await testApp.wait();

// console.log(state.backwardHistoryNotes);
state = testApp.store().getState();
expect(state.selectedFolderId).toBe(folders[0].id);
expect(state.selectedNoteIds[0]).toBe(notes0[1].id);

// console.log('going backward');
// goBackWard(state);
// await testApp.wait();
// console.log(state.backwardHistoryNotes);

// // !! This doesn't go back !!
// // console.log(state.backwardHistoryNotes)
// state = testApp.store().getState();
// expect(state.selectedFolderId).toBe(Folder.conflictFolderId());
// expect(state.selectedNoteIds[0]).toBe(note2.id);
// }));
// !! This doesn't go back !!
// goBackWard(state);
// await testApp.wait();
// state = testApp.store().getState();
// expect(state.selectedFolderId).toBe(Folder.conflictFolderId());
// expect(state.selectedNoteIds[0]).toBe(note2.id);
}));

});