Commit Graph

309 Commits (8daf6b78688ca20326a79fa9c7ca1cbd945786e1)

Author SHA1 Message Date
Aryan Goharzad eb33c3fa81 Saves image on long press (#83)
* Saves image on long press

* Adds save on long press

* Forking lightbox

* move to wrapper only to the bottom sheet to reduce impact of this change

* lint

* lint

* lint

* Use official `share` API

* Clean up cache after download

* comment

* comment

* Reduce swipe close velocity

* Updates per feedback

* lint

* bugfix

* Adds delayed press-in for TouchableOpacity
2023-01-25 17:25:34 -06:00
Paul Frazee 869f6c4e0e Initial pass at push notifications + some fixes to the session management (#91)
* Fix: test the session during resume to ensure it's valid

* Don't delete sessions for now

* Add notifee and request notif permissions on first login

* Set unread notifications badge on app icon

* Trigger a notifee card on new notifications

* Experimental: use react-native-background-fetch to check for notifications

* Add missing mocks

* Fix to resumeSession()
2023-01-24 19:32:24 -06:00
Paul Frazee 21f5f4de15 Add basic analytics (#89)
* Add basic analytics

* Fix: add mock for analytics
2023-01-24 13:58:35 -06:00
Paul Frazee 9027882fb4 Account switcher (#85)
* Update the account-create and signin views to use the design system.

Also:
- Add borderDark to the theme
- Start to an account selector in the signin flow

* Dark mode fixes in signin ui

* Track multiple active accounts and provide account-switching UI

* Add test tooling for an in-memory pds

* Add complete integration tests for login and the account switcher
2023-01-24 09:06:27 -06:00
Paul Frazee 570b76a71d Add the ability to paste images into the composer (#56) 2023-01-19 17:36:49 -06:00
Aryan Goharzad 0536a6afcf Adding action for linting (#51)
* Adding action for linting

* Configuring eslint

* Update lint.yml

* Update lint.yml

* Update lint.yml

* adds yarn jest to package.json

* test report

* debugging tests

* trying force exit

* force exit

* test1

* forceexit

* using another reporter

* jest debugging

* separated lints & tests

* test

* Cleanup

* Add  /src/third-party, /ios, and /android to ignore list
2023-01-19 12:28:52 -06:00
Paul Frazee d0364c09ad Hackfix around 'images too large' issue 2023-01-18 14:47:42 -06:00
Paul Frazee 6a01e0529b Prettier profile headers (no standard header) 2023-01-18 12:56:53 -06:00
Paul Frazee 065d7ef629 Improve lightbox... and update to React Native 0.71.0 (#49)
* Switch to a better lightbox implementation (close #42)

* Upgrade to react-native 0.71.0

* Update (or remove low-value) tests
2023-01-17 20:40:02 -06:00
João Ferreiro 5abcc8e336 Unit Testing (#35)
* add testing lib

* remove coverage folder from git

* finished basic test setup

* fix tests typescript and import paths

* add first snapshot

* testing utils

* rename test files; update script flags; ++tests

* testing utils functions

* testing downloadAndResize wip

* remove download test

* specify unwanted coverage paths;
remove update snapshots flag

* fix strings tests

* testing downloadAndResize method

* increasing testing

* fixing snapshots wip

* fixed shell mobile snapshot

* adding snapshots for the screens

* fix onboard snapshot

* fix typescript issues

* fix TabsSelector snapshot

* Account for testing device's locale in ago() tests

* Remove platform detection on regex

* mocking store state wip

* mocking store state

* increasing test coverage

* increasing test coverage

* increasing test coverage on src/screens

* src/screens (except for profile) above 80% cov

* testing profile screen wip

* increase coverage on Menu and TabsSelector

* mocking profile ui state wip

* mocking profile ui state wip

* fixing mobileshell tests wip

* snapshots using testing-library

* fixing profile tests wip

* removing mobile shell tests

* src/view/com tests wip

* remove unnecessary patch-package

* fixed profile test error

* clear mocks after every test

* fix base mocked store values (getters)

* fix base mocked store values
(hasLoaded, nonReplyFeed)

* profile screen above 80% coverage

* testing custom hooks

* improving composer coverage

* fix tests after merge

* finishing composer coverage

* improving src/com/discover coverage

* improve src/view/com/login coverage
fix SuggestedFollows tests
adding some comments

* fix SuggestedFollows tests

* improve src/view/com/profile coverage
extra minor fixes

* improve src/view/com/notifications coverage

* update coverage ignore patterns

* rename errorMessageTryAgainButton
increase SuggestedFollows converage

* improve src/view/com/posts coverage

* improve src/view/com/onboard coverage

* update snapshot

* improve src/view/com/post coverage

* improve src/view/com/post-thread coverage
rename ErrorMessage tests
test Debug and Log components

* init testing state

* testing root-store

* updating comments

* small fixes

* removed extra console logs

* improve src/state/models coverage
refactor rootStore
rename some spies

* adding cleanup method after tests

* improve src/state/models coverage

* improve src/state/models coverage

* improve src/state/models coverage

* improve src/state/models coverage

* test setInterval in setupState

* Clean up tests and update Home screen state management

* Remove some tests we dont need

* Remove snapshot tests

* Remove any tests that dont demonstrate clear value

* Cleanup

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-01-17 10:06:00 -06:00
Paul Frazee 429cc1abf1 Bump deps to pull in some bugfixes 2023-01-03 14:31:12 -06:00
Paul Frazee 4eabc2d65a Improve error logging 2023-01-02 21:39:15 -06:00
Paul Frazee 6885fb2b41 Bump api@0.0.5 and use the type guard helpers 2023-01-02 20:56:35 -06:00
Paul Frazee 8cd2b4a721 Implement account muting 2023-01-02 13:40:14 -06:00
João Ferreiro 7517b65dcd Unit testing (#32)
* add testing lib

* remove coverage folder from git

* finished basic test setup

* fix tests typescript and import paths

* add first snapshot

* testing utils

* rename test files; update script flags; ++tests

* testing utils functions

* testing downloadAndResize wip

* remove download test

* specify unwanted coverage paths;
remove update snapshots flag

* fix strings tests

* testing downloadAndResize method

* increasing testing

* fixing snapshots wip

* fixed shell mobile snapshot

* adding snapshots for the screens

* fix onboard snapshot

* fix typescript issues

* fix TabsSelector snapshot

* Account for testing device's locale in ago() tests

* Remove platform detection on regex

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2022-12-22 09:32:39 -06:00
Paul Frazee 4913a07e33 Unvendor the api and switch to @atproto/api 2022-12-22 09:17:07 -06:00
Paul Frazee 9f27af6199 Add haptic feedback to likes and reposts 2022-12-14 15:46:21 -06:00
Paul Frazee 4966b2152e Add post embeds (images and external links) 2022-12-14 15:35:15 -06:00
Paul Frazee 588aface7c Add build version to menu 2022-12-06 12:40:40 -06:00
João Ferreiro 67c4dcff37 Upload image in composer (#27)
* upload images in composer v1

* fix android compile

* reafctor image carousel into new component;
fix photo overlapping text in composer

* revert android changes

* further refactoring code into different components

* move show carousel out of the component

* fixing add photo using camera

* fix typescript issue; force mediatype photo

* change post test with photo attached;
remove auto linking settings

* use runInAction in getPhotos model

* react-hooks/exhaustive-deps fixes

* crop every photo;
make use of useCallback

* moving placeholder condition

* Cleanup

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2022-12-02 10:41:01 -06:00
Paul Frazee 57f2d1d59f Decode html entities in link embeds 2022-11-29 09:29:57 -06:00
Paul Frazee bcb1ad98de Fix a couple incorrect link detections ('e.g.' and 'foo.jpg') (close #13) 2022-11-28 10:22:08 -06:00
Paul Frazee eae5ac839c Poll periodically for new posts 2022-11-17 12:33:19 -06:00
Paul Frazee 0b7b91d5fd Fix sizing on smaller phones 2022-11-16 14:05:21 -06:00
Paul Frazee fe056a76ea Add missing dep 2022-11-15 12:54:15 -06:00
Paul Frazee e6429182a1 Implement scenes listing in main menu 2022-11-08 15:56:22 -06:00
Paul Frazee d228a5f4f5 Add onboarding (WIP) 2022-11-07 15:35:51 -06:00
Paul Frazee 541717d467 Add splash screen to ios 2022-11-05 14:52:44 -05:00
Paul Frazee ef4b9cf8d9 Add account creation 2022-09-27 14:24:47 -05:00
Paul Frazee 0208302907 Implement signin flow 2022-09-26 21:03:07 -05:00
Paul Frazee aabde2b401 Replace mock-api with real api 2022-09-22 19:28:25 -05:00
Paul Frazee b3b2cfe909 Add composer FAB to home page 2022-08-31 20:09:58 -05:00
Paul Frazee 97f52b6a03 New navigation model (#1)
* Flatten all routing into a single stack

* Replace router with custom implementation

* Add shell header and titles

* Add tab selector

* Add back/forward history menus on longpress

* Fix: don't modify state during render

* Add refresh() to navigation and reroute navigations to the current location to refresh instead of add to history

* Cache screens during navigation to maintain scroll position and improve load-time for renders
2022-08-31 14:36:50 -05:00
Paul Frazee d1470bad66 Add notifications view 2022-07-26 15:45:46 -05:00
Paul Frazee 62eb9f3c93 Add followers and follows list 2022-07-26 12:02:34 -05:00
Paul Frazee efc28b0098 Replace momentjs - it is too large of a dependency 2022-07-26 10:03:52 -05:00
Paul Frazee 041bfa22a9 Implement Web versions of the bottom sheet, toast, and progress circle 2022-07-25 23:08:24 -05:00
Paul Frazee af55a89758 Add share bottom-sheet to feed and thread 2022-07-25 18:31:42 -05:00
Paul Frazee 7f04ac172e Add post composer 2022-07-22 16:06:51 -05:00
Paul Frazee 0ec0ba996f Implement like and repost 2022-07-22 11:18:47 -05:00
Paul Frazee cc8a170204 Add profile view 2022-07-21 19:55:04 -05:00
Paul Frazee 28dbc5f5e6 Add the ability to navigate to posts within a thread 2022-07-21 13:07:24 -05:00
Paul Frazee c712cbbfe2 Add WIP post-thread view 2022-07-20 15:00:37 -05:00
Paul Frazee 8131158c0e More realistic mock data 2022-07-20 11:07:07 -05:00
Paul Frazee e78143b3dc Add icons 2022-07-19 16:04:45 -05:00
Paul Frazee dc55f58004 Replace mobx-state-tree with mobx and get a basic home feed rendering 2022-07-19 15:37:24 -05:00
Paul Frazee 84dac9fa39 Fix platform build issues 2022-07-18 15:42:02 -05:00
Paul Frazee 1d00f3b984 Add mock API and reorg code for clarity 2022-07-18 15:24:37 -05:00
Paul Frazee a56cae626a Move the secure-random code into this project due to build issues with the module, which is no longer maintained 2022-06-15 22:08:28 -05:00
Paul Frazee 77b938845a Polyfills for native crypto 2022-06-15 17:40:18 -05:00
Paul Frazee b2dd8d4f44 Open login flow in in-app browser for native (WIP) 2022-06-14 20:29:24 -05:00
Paul Frazee cef133031e Add base auth & ucan request flow (web only) 2022-06-14 14:29:47 -05:00
Paul Frazee faddda83f0 (WIP) Add initial API client 2022-06-10 11:55:09 -05:00
Paul Frazee 802222fe71 Add auth navigations 2022-06-09 17:13:29 -05:00
Paul Frazee fc3b2952bb Add routes and core views 2022-06-09 16:32:03 -05:00
Paul Frazee d6942bffab Add state management 2022-06-09 13:03:25 -05:00
Paul Frazee 92ca49ab9a Add web target 2022-06-08 15:52:12 -05:00
Paul Frazee efe65e70d7 Add basic react-navigator usage 2022-06-07 18:56:31 -05:00
Paul Frazee 47250e7ed7 Initial commit 2022-06-07 17:50:05 -05:00