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 auto-complete support #4332
base: develop
Are you sure you want to change the base?
Add auto-complete support #4332
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. Join @CrisBarreiro and the rest of your teammates on Graphite |
0aa4b9a
to
3ac0113
Compare
3ac0113
to
6aef9e2
Compare
6aef9e2
to
461d2f9
Compare
461d2f9
to
3acb1a7
Compare
3acb1a7
to
b2b3469
Compare
08fb26f
to
cb0235c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
quick pass on this one. We will discuss further today on zoom.
return history.asSequence().sortHistoryByRank(query) | ||
} | ||
|
||
@VisibleForTesting |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not a big fan of VisibleForTesting
:D Taking a look at this one, should we move the score logic to its own class? Seems a good candidate to move into a AutocompleteScore
, and have all that tricky logic there.
@@ -58,6 +60,7 @@ class RealPageLoadedHandler @Inject constructor( | |||
), | |||
) | |||
} | |||
navigationHistory.saveToHistory(url, title) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure about having this one here. In BrowserTabViewModel
we have navigationStateChanged
that should detect when a new page is visited and other state events. I think that's a good place to have all related events.
|
||
@Dao | ||
interface HistoryDao { | ||
@Transaction |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do we need transaction here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, because we're using a Relation
…4341) Task/Issue URL: https://app.asana.com/0/0/1206816228247419/f ### Description Copy the scoring algorithm from BSK ### Steps to test this PR _Bookmarks shouldn't show in top hits (top section, above DDG suggestions)_ - [ ] Add wikipedia.org as a bookmark (not favorite) - [ ] Type wiki on the search bar - [ ] Check the newly added bookmark is not shown in top hits, and is instead shown in the bottom section (below DDG suggestions) _Favorites should show in top hits_ - [ ] Add wikipedia.org as a favorite - [ ] Type wiki on the search bar - [ ] Check the newly added favorite is shown in top hits and uses the bookmark+favorite icon ### Steps to test this PR _Test pixel fired when selecting a favorite_ - [ ] Select a favorite from autocomplete - [ ] Check m_autocomplete_favorite_selection has been fired _Test pixel fired when selecting a bookmark_ - [ ] Select a bookmark from autocomplete - [ ] Checkk m_aut_s_b has been fired _Website (not SERP)_ - [ ] Visit a page (not SERP) - [ ] Open the history database using inspector or flipper, and check there's a new entry in `history_entries`. Take note of the ID. Check the title field contains the same title as the tab, the query field is empty and `isSerp` is 0 - [ ] Check there's an entry in `visits_list` with that same `historyEntryId` - [ ] Reload the page - [ ] Check the `history_entries` table still has only one entry for that site - [ ] Check the `visits_list` contains 2 entries for that same `historyEntryId` _SERP_ - [ ] Perform a search - [ ] Open the history database using inspector or flipper, and check there's a new entry in `history_entries`. Take note of the ID. Check the title field contains the same title as the tab, the query field contains your query, and `isSerp` is 0 - [ ] Check there's an entry in `visits_list` with that same `historyEntryId` - [ ] Reload the page - [ ] Check the `history_entries` table still has only one entry for that site (In some cases, reload doesn't produce the same exact query params,* in case a second entry is added, check URLs are different) - [ ] Check the `visits_list` contains 2 entries for that same `historyEntryId` _DuckDuckGo URL (not SERP)_ - [ ] Visit https://duckduckgo.com/settings - [ ] Open the history database using inspector or flipper, and check the query field is empty and `isSerp` is 0 **Clear app data between tests, fire button doesn't clear history (yet)** _Feature 1_ - [ ] Visit wikipedia.org - [ ] Type wiki - [ ] Check a history result is shown for wikipedia.org _Feature 2_ - [ ] Visit https://en.wikipedia.org/wiki/Cat - [ ] Type wiki - [ ] Check there's no top hits result for Cat at wikipedia - [ ] Visit https://en.wikipedia.org/wiki/Cat 3 more times - [ ] Check there's a top hits result for Cat at wikipedia _Feature 3_ - [ ] Add a random site as a bookmark - [ ] Then go to bookmarks and edit it, Set https://wikipedia.org as the URL and Wikipedia as the title - [ ] Type wiki - [ ] Check wikipedia is shown on the bottom section with a bookmark icon, not in top hits - [ ] Visit wikipedia.org - [ ] Check now wikipedia is shown in top hits with the bookmark icon _Feature 4_ - [ ] Add a random site as a favorite - [ ] Then go to bookmarks and edit it, Set https://wikipedia.org as the URL and Wikipedia as the title - [ ] Type wiki - [ ] Check now wikipedia is shown in top hits with the favorite icon _Feature 5_ - [ ] Type something on the search bar - [ ] Check history/bookmark/favorite suggestions aren't shown before search suggestions are loaded _Feature 6_ - [ ] Type something on the search bar - [ ] Quickly delete everything - [ ] Check history/bookmark/favorite suggestions aren't shown before search suggestions and no "No suggestions found" message is shown either ### UI changes [Video](https://github.com/duckduckgo/Android/assets/6297834/645d3666-82a0-490a-9bf6-02901d14a117) ![favorites](https://github.com/duckduckgo/Android/assets/6297834/c142ec6b-ff0f-4ce9-8cc1-a1864d5a4de1) ![bookmarks](https://github.com/duckduckgo/Android/assets/6297834/945a9cb4-5f9d-4beb-9a07-953403d9251f)
cb0235c
to
c2caede
Compare
34f2ced
to
38500c8
Compare
Task/Issue URL: https://app.asana.com/0/0/1206816228247404/f
Description
Test pixel fired when selecting a favorite
Test pixel fired when selecting a bookmark
Website (not SERP)
history_entries
. Take note of the ID. Check the title field contains the same title as the tab, the query field is empty andisSerp
is 0visits_list
with that samehistoryEntryId
history_entries
table still has only one entry for that sitevisits_list
contains 2 entries for that samehistoryEntryId
SERP
history_entries
. Take note of the ID. Check the title field contains the same title as the tab, the query field contains your query, andisSerp
is 0visits_list
with that samehistoryEntryId
history_entries
table still has only one entry for that site (In some cases, reload doesn't produce the same exact query params,* in case a second entry is added, check URLs are different)visits_list
contains 2 entries for that samehistoryEntryId
DuckDuckGo URL (not SERP)
isSerp
is 0Clear app data between tests, fire button doesn't clear history
(yet)
Feature 1
Feature 2
Feature 3
URL and Wikipedia as the title
icon, not in top hits
Feature 4
URL and Wikipedia as the title
Feature 5
search suggestions are loaded
Feature 6
search suggestions and no "No suggestions found" message is shown either
UI changes
Video