Commit Graph

60 Commits

Author SHA1 Message Date
tyiu 26df547605 Remove language filtering from Universe feed because language detection can be inaccurate
Changelog-Removed: Removed language filtering from Universe feed because language detection can be inaccurate

Signed-off-by: Terry Yiu <git@tyiu.xyz>
2025-01-22 17:23:00 +09:00
tyiu a97532b90d Translate notes even if they are in a preferred language but not the current language as that is what users expect
Changelog-Fixed: Translate notes even if they are in a preferred language but not the current language as that is what users expect

Signed-off-by: Terry Yiu <git@tyiu.xyz>
2025-01-22 17:23:00 +09:00
ericholguin a76e2aa677 fix: Fix overlap in Universe view
This PR fixes the overlapping text in the Universe View.

Changelog-Fixed: Fixed overlapping text in Universe View

Signed-off-by: ericholguin <ericholguin@apache.org>
2024-10-21 18:18:05 -06:00
tyiu e0b1985df5 Fix localization issues 2024-04-25 09:30:27 -04:00
Charlie Fish 1d4d2b0204 mute: integrate new MutelistManager
This patch is slightly large (I think still within the guidelines tho) ,
but also pretty straightforward. I thought for a while about how I could
split this up in a straightforward way, and I couldn’t come up with
anything without breaking intermediate builds.

- Deleted a lot of old/unnecessary code (ie. the Collection extension
  for MuteItem, since we’re now using the MutelistManager sets)

- Changed damus_state.contacts to damus_state.mutelist_manager for all
  mute list manager work

- Updated MutelistView to take advantage of new code (this is probably
  the largest change in this patch)

Lighting-Address: fishcharlie@strike.me
Signed-off-by: Charlie Fish <contact@charlie.fish>
Reviewed-by: William Casarin <jb55@jb55.com>
Link: 20240210163650.42884-4-contact@charlie.fish
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-26 11:30:03 -08:00
Charlie Fish 71c9bd63fc mute: migrating muted_threads to new mute list
This patch depends on: Adding ability to mute hashtag from SearchView

This is the last patch for the new mute list feature

- Removing MutedThreadsManager
- Adding system to migrate existing muted threads to new mute list

Closes: https://github.com/damus-io/damus/issues/1718
Closes: https://github.com/damus-io/damus/issues/856
Lighting Address: fishcharlie@strike.me
Signed-off-by: Charlie Fish <contact@charlie.fish>
Reviewed-by: William Casarin <jb55@jb55.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2024-01-25 12:12:59 -08:00
William Casarin 719cec449c Revert "mute: migrating muted_threads to new mute list"
This reverts commit f341a37902.
2024-01-25 12:09:49 -08:00
Charlie Fish f341a37902 mute: migrating muted_threads to new mute list
This patch depends on: Adding ability to mute hashtag from SearchView

This is the last patch for the new mute list feature

- Removing MutedThreadsManager
- Adding system to migrate existing muted threads to new mute list

Closes: https://github.com/damus-io/damus/issues/1718
Closes: https://github.com/damus-io/damus/issues/856
Lighting Address: fishcharlie@strike.me
Signed-off-by: Charlie Fish <contact@charlie.fish>
Reviewed-by: William Casarin <jb55@jb55.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2024-01-22 12:55:03 -08:00
ericholguin 3e5029a4ad ui: allow users to collapse suggested hashtag view
Closes: https://github.com/damus-io/damus/pull/1789
Changelog-Added: Add ability to hide suggested hashtags
Signed-off-by: William Casarin <jb55@jb55.com>
2023-12-05 13:56:52 -08:00
William Casarin 4bf8a68c9c search: add damus search ui 2023-12-03 22:13:46 -08:00
Daniel D’Aquino 7ae66b8490 ui: Add suggested hashtags to universe view
This commit adds a suggested hashtag section to the universe view tab. The method for suggesting hashtags is currently simple:
1. It contains a list of many possible hashtags that we could recommend
2. It calculates how many users have been talking about it in the events fetched by the Universe tab
3. It selects the Top-N most mentioned suggested hashtags in the Universe tab

This has the following properties:
1. It has some spam resistance as it ranks by unique users mentioning the tag (instead of events)
2. It is a simple way to curate good hashtags
3. It shows the ones with the most amount of people talking about it among the notes fecthed in the Universe view

Testing
-------

PASS

Device: iPhone 14 Pro simulator
iOS: 17.0
Damus: This commit
Coverage:

1. Suggested hashtags are displayed
2. Layout looks similar to Figma
3. User count goes up (does not stay at zero)
4. Clicking on a suggested hashtag takes you to that hashtag view
5. Only the top 5 hashtags are displayed

Notes: The counts seem low, probably because there are not enough notes loaded in Universe View

Changelog-Added: Add suggested hashtags to universe view
Closes: https://github.com/damus-io/damus/issues/1569
Signed-off-by: Daniel D’Aquino <daniel@daquino.me>
Signed-off-by: William Casarin <jb55@jb55.com>
2023-10-21 08:42:00 +08:00
Daniel D’Aquino 66d731ad0a ui: Filter out reposts where the inner event is from a person whom the user has muted. (#1216)
Issue reproduction
------------------

**Device:** iPhone 14 Pro simulator
**iOS:** 17.0
**Damus:** `bb2eb904cc`
**Steps:**

1. Repost a note from another account (Account "B")
2. Mute user "B"
3. Check home page and your own profile page. Repost shows up with a muted box.

Fix

Reviewed-by: William Casarin <jb55@jb55.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2023-10-02 12:34:08 -07:00
William Casarin 69c7acea76 tests: add ndb support to tests
stops it from crashing
2023-09-21 09:10:06 -04:00
William Casarin 440e37c1d3 filters: generalize ContentFilter
This simplifies our content filters so that it is a bit more flexible
for future additions.

Fixes: 0957cc896cc8 ("Add "Do not show #nsfw tagged posts" setting")
2023-09-21 09:10:06 -04:00
Daniel D’Aquino 49283f2bb2 filters: add "Do not show #nsfw tagged posts" setting
This commit adds a setting where the user can choose to hide notes with
a #nsfw hashtag. This setting was implemented to allow users to filter
out adult or other unsafe content.

I moved the code logic for content filtering into a new file, and
defined a protocol for content filters. Although the logic is still
simple, this might help in developing a flexible API in case we have
more complex filtering needs in the future.

I also modified the name of the "Appearance" setting to "Appearance and
filters", to make it easier for users to intuitively find this setting.
(Note: Re-translations of this string might be necessary)

**PASS**
**iOS:**
- iOS 17.0 (iPhone 14 Pro)

**Damus:** (This commit)
**Steps:**
1. Follow another account that you control (Account B)
2. On account B, post a note saying "#test this is a test". This note should show up on the home feed.
3. On account B, post a note saying "#nsfw this is a test". This note should NOT show up on the home feed
4. Go to settings and disable the NSFW filter. Go back to the home view. The #nsfw post should now show up.
5. Close app and reopen. NSFW post should still show up (i.e. Setting should be persistent)
6. Unfollow account B
7. Close app and reopen.
8. Follow the "#grownostr" hashtag
9. Turn on the NSFW filter
10. On account B, post a note saying "#grownostr this is a test". This note should show up on the home view.
11. On account B, post a note saying "#grownostr #nsfw this is a test". This note should NOT show up.
12. Double-check the "notes and replies" tab. Note should NOT show up there either.
12. Turn off NSFW filter
13. Note from step 11 should now show up.
14. Go to Universe view and find a post with a hashtag. Remember where the post is.
14. Locally change the tag keyword from "nsfw" to that hashtag (Note: I had to test this way because my posts were not showing up in the Universe view)
15. Turn off the filter. Check post is there, in the Universe view.
16. Turn on the filter. Check post is no longer there in the Universe view. (Check the neighboring posts are the same, to make sure)
17. Bring back the code to its normal state.
18. Search for "#nsfw". Make sure that #nsfw appears (I believe this is ok, because it means the person is purposefully searching for it)

Closes: https://github.com/damus-io/damus/issues/1412
Changelog-Added: Add "Do not show #nsfw tagged posts" setting
Signed-off-by: Daniel D’Aquino <daniel@daquino.me>
Signed-off-by: William Casarin <jb55@jb55.com>
2023-09-21 09:10:06 -04:00
William Casarin c71b0ee916 blocks: pass keypair instead of privkey to avoid pubkey gen
Generating a pubkey is quite slow, so pass a keypair instead of privkey
2023-08-28 11:47:29 -07:00
William Casarin c0f9b0a8c0 views: allow embeddable views at top of timeline
This allows you to put stuff at the top of a timeline inside the scroll
view. We could also remove the scrollview from the timeline
eventually... but this works for now.
2023-07-13 06:56:23 -07:00
William Casarin f702733654 nav: remove environmentObjects
environment objects are implicit arguments that cannot be checked by the
compiler. They are a common source of crashes. Use a main
NavigationCoordinator in DamusState for the core app, and pass in other
coordinators in the account setup view for the parts of the app that
don't have a DamusState.
2023-06-30 09:59:58 -07:00
Scott Penrose 58a707685c Fix FollowUserView not allowing profile tapping 2023-06-30 06:42:56 -07:00
Scott Penrose 0018e7ad57 Convert remaining navigation links 2023-06-30 06:42:56 -07:00
Ben Weeks 973e9fe714 Custom iconography added for other areas of the app.
Changelog-Added: Custom iconography added for other areas of the app.
2023-05-29 14:47:05 -07:00
William Casarin 58e53631c6 Use cached note language in search model
We should never call event.note_language on the main thread
2023-05-02 07:53:06 -07:00
William Casarin 042e02d2e4 regression: unbreak dms 2023-04-14 10:33:50 -07:00
tyiu 1ac9620242 Add thread muting
Changelog-Added: Add thread muting
Closes: #893
2023-04-14 09:43:36 -07:00
ericholguin 39f39c7382 Remove gradient in some places for visibility
Changelog-Changed: Remove gradient in some places for visibility
2023-03-31 10:12:11 -07:00
William Casarin f2ce146e98 Revert "Refactor auto-translations and add caching"
There are quite a few issues with this and is causing crashing

This reverts commit ae82114a33.
2023-03-31 10:01:31 -07:00
tyiu ae82114a33 Refactor auto-translations and add caching
Changelog-Added: Add auto-translation caching to ruduce api usage
Closes: #843
2023-03-31 09:07:15 -07:00
tyiu e5c0400b54 Merge remote-tracking branch 'terry/tyiu/filter-language'
Changelog-Added: Auto Translation
2023-03-27 10:43:40 -04:00
tyiu f75fc7eebe Add optional language filter on Universe feed 2023-03-27 10:26:18 -04:00
ericholguin 7110650267 use gradient on cancel button 2023-03-25 14:34:04 -06:00
ericholguin cba6b3aef7 Dismiss Keyboard in Search View
Changlog-Fixed: Dismiss keyboard in search view
Closes: #749
2023-03-13 12:43:14 -06:00
randymcmillan 06c2741bf4 Always make hashtag filters lowercased
Changelog-Fixed: Fix case sensitivity when searching hashtags
Closes: #737
2023-03-05 14:56:36 -05:00
William Casarin b4140dc5f2 Add a "load more" button instead of always inserting events in timelines
Changelog-Added: Add a "load more" button instead of always inserting events in timelines
2023-02-20 11:12:31 -08:00
OlegAba 94a67adff9 Fix padding 2023-02-16 08:29:21 -08:00
William Casarin a9e9f0dc8f Hide muted users from global
Changelog-Fixed: Hide muted users from global
2023-01-27 12:16:41 -08:00
tyiu 887eb902bf Add comments to localized strings 2023-01-08 21:57:28 -05:00
OlegAba 43c6084620 Fix padding on search results view
Changelog-Fixed: Fix padding on search results view
Closes: #232
2023-01-03 10:55:25 -08:00
OlegAba d479f7a55a Fix padding on threads and search results view
Closes: #177
Changelog-Fixed: Fix padding on threads and search results views
2022-12-31 12:41:54 -08:00
Suhail Saqan 86be185d2f Added search placeholder and larger cancel button
Closes: #153
Changelog-Changed: Added search placeholder and larger cancel button
2022-12-26 19:29:08 -08:00
William Casarin fae626b6c7 Revert "Only reload global view on pulldown refresh"
This reverts commit a4d62d295c.
2022-12-26 19:01:53 -08:00
William Casarin 9770e61d9d Fix bug where typing the first character in the search box defocuses
Changelog-Fixed: Fix bug where typing the first character in the search box defocuses
2022-12-26 08:02:36 -08:00
William Casarin a4d62d295c Only reload global view on pulldown refresh
Changelog-Changed: Only reload global view on pulldown refresh
2022-12-26 07:39:11 -08:00
William Casarin f8dc9f42dd Fix profile and event loading in global view
Changelog-Fixed: Fix profile and event loading in global view
2022-12-26 07:39:10 -08:00
Sam DuBois 549cbb9bce Fix issue with loading view using the redacted modifier
Also tried to make some adjusmtents to the refresh subscribtion to see
if this fixes bugs people were having

Closes: #119

Changelog-Fixed: Fixed issues when refreshing global view
2022-12-22 18:10:42 -08:00
William Casarin 37460f933b global: make sure we unsubscribe after each refresh 2022-12-21 12:50:18 -08:00
Sam DuBois f0d242a53e Merge branch 'master' into viewModel 2022-12-20 09:48:02 -07:00
William Casarin cd591307a8 search: disable autocorrection
Changelog-Fixed: Disable autocorrection on search
2022-12-19 22:32:38 -08:00
Sam DuBois 2906fecf5c Realized that I didn't actually need to move everything out into a view model. Well oh well im sure it will come in handy eventually 2022-12-18 18:35:03 -07:00
Jacob Davis 2c44366ca5 Fix padding and other minor UI improvements 2022-12-17 17:03:16 -08:00
James Carucci 72900894c0 Add replies filter and tabs
Closes: #31
Changelog-Added: Tabs to switch between posts and replies in home view
Signed-off-by: William Casarin <jb55@jb55.com>
2022-09-14 07:48:20 -07:00