m5r
|
1dd1c2bafe
|
rename hasActiveSubscription from useCurrentUser() to hasOngoingSubscription
|
2021-10-21 00:01:03 +02:00 |
|
m5r
|
6dbdeac4d3
|
little clean up
|
2021-10-20 23:57:55 +02:00 |
|
m5r
|
7a4c583ea5
|
fetch phone number data even if user is not on a paid plan
|
2021-10-20 23:57:32 +02:00 |
|
m5r
|
5df0634060
|
remove free plan and features from /settings/billing
|
2021-10-20 20:29:21 +02:00 |
|
m5r
|
4ce3c2503a
|
smol fixes to subscription webhooks
|
2021-10-20 19:25:07 +02:00 |
|
m5r
|
4096cfaa6c
|
clean up auth forms
|
2021-10-20 00:39:07 +02:00 |
|
m5r
|
59b13bd0ea
|
blur phone call history if on free plan
|
2021-10-19 23:56:16 +02:00 |
|
m5r
|
fd003f461b
|
allow switching phone numbers but delete previous phone number
|
2021-10-19 23:49:28 +02:00 |
|
m5r
|
29d24f9fb4
|
* avoid creating multiple api keys when not necessary
* fetch messages and calls if user switches phone number while on an active sub
|
2021-10-19 23:12:16 +02:00 |
|
m5r
|
f11c7d3723
|
extract useSubscription to core/hooks
|
2021-10-19 20:03:09 +02:00 |
|
m5r
|
20df3dc3ac
|
inbound and missed call icons in phone calls list
|
2021-10-19 19:59:55 +02:00 |
|
m5r
|
b17e135cf6
|
reflect when user has cancelled his sub
|
2021-10-19 19:59:20 +02:00 |
|
m5r
|
931384b468
|
improve loading states:
* app loader
* specific loaders with spinner
|
2021-10-18 00:06:45 +02:00 |
|
m5r
|
5703b991ee
|
fix github ci
|
2021-10-16 01:33:39 +02:00 |
|
m5r
|
2afd3554b3
|
set your twilio things from settings
|
2021-10-16 01:26:59 +02:00 |
|
m5r
|
3cc6f35071
|
get rid of onboarding requirements
|
2021-10-16 00:31:01 +02:00 |
|
m5r
|
c8f707af9c
|
better empty states for phone calls and messages
|
2021-10-15 22:41:41 +02:00 |
|
m5r
|
c3bdef4800
|
allow logging out from settings
|
2021-10-15 22:30:57 +02:00 |
|
m5r
|
5b9eef73ae
|
reject incoming calls if on free plan
|
2021-10-15 22:06:54 +02:00 |
|
m5r
|
197c2286c3
|
prevent making a call if on free plan
|
2021-10-15 22:06:05 +02:00 |
|
m5r
|
dad61ae77e
|
fetch messages when switching to free plan
|
2021-10-15 21:57:56 +02:00 |
|
m5r
|
526ab4e451
|
ignore incoming messages if on free plan
|
2021-10-15 21:57:28 +02:00 |
|
m5r
|
17eba67fca
|
public area update
|
2021-10-15 21:57:00 +02:00 |
|
m5r
|
545ee225aa
|
extract s3 to integrations
|
2021-10-13 21:42:23 +02:00 |
|
m5r
|
24f1e953f6
|
append messages from free users with "sent from shellphone"
|
2021-10-03 21:31:26 +02:00 |
|
m5r
|
a28d89a8c2
|
let user know when his cancelled sub is going to expire
|
2021-10-03 20:56:31 +02:00 |
|
m5r
|
5f3060c591
|
paginate payments history
|
2021-10-03 20:24:46 +02:00 |
|
m5r
|
38c2edb8e4
|
replace got http calls by @devoxa/paddle-sdk where possible
|
2021-10-03 18:40:59 +02:00 |
|
m5r
|
4ce6ccc142
|
update billing to do list
|
2021-10-03 18:23:06 +02:00 |
|
m5r
|
3830e91af6
|
update roadmap
|
2021-10-03 18:21:51 +02:00 |
|
m5r
|
bca848bdb8
|
poll for subscription change instead of fully reloading the page
|
2021-10-03 18:20:59 +02:00 |
|
m5r
|
3a3d526e77
|
allow organizations to have multiple subscriptions. although only 1 can be active at a time
|
2021-10-03 18:19:45 +02:00 |
|
m5r
|
22e2b21b14
|
sur Intl.NumberFormat to format currency in billing history
|
2021-10-03 18:18:34 +02:00 |
|
m5r
|
dd9d15d042
|
always create new subscription
|
2021-10-02 00:19:06 +02:00 |
|
m5r
|
300bfa8e65
|
smol changes
|
2021-10-01 23:05:07 +02:00 |
|
m5r
|
771fea4d7b
|
* return 200 asap to paddle and queue webhook received
* paddle ids to int
|
2021-10-01 23:04:12 +02:00 |
|
m5r
|
188c028667
|
cancel subscription on account deletion
|
2021-10-01 20:07:00 +02:00 |
|
m5r
|
c5f135fdcc
|
list payments
|
2021-10-01 00:59:35 +02:00 |
|
m5r
|
5172ab11e7
|
pricing plans in settings
|
2021-10-01 00:18:03 +02:00 |
|
m5r
|
13ac4a5580
|
better looking SettingsSection
|
2021-09-30 23:37:54 +02:00 |
|
m5r
|
49f11a16e2
|
pricing in billing
|
2021-09-30 01:01:20 +02:00 |
|
m5r
|
daec5c0170
|
fix settings layout paddings
|
2021-09-30 00:35:05 +02:00 |
|
m5r
|
45a9d863ca
|
s/primary/rebeccapurple/ for public areas
new primary is #007AFF
|
2021-09-30 00:21:38 +02:00 |
|
m5r
|
5e08863078
|
fresh settings layout
|
2021-09-30 00:10:42 +02:00 |
|
m5r
|
d1b88078fb
|
bases de la billing page
|
2021-09-27 06:44:26 +08:00 |
|
m5r
|
0f2c3daf77
|
integrate backend with paddle
|
2021-09-27 06:10:48 +08:00 |
|
m5r
|
9cec49f255
|
make user full name mandatory
|
2021-09-25 22:16:31 +08:00 |
|
m5r
|
9d30930f96
|
style reset password form
|
2021-09-25 22:05:39 +08:00 |
|
m5r
|
d8acd6c37c
|
style forgot password form
|
2021-09-25 21:52:31 +08:00 |
|
m5r
|
767c2e3966
|
style registration form
|
2021-09-25 21:15:16 +08:00 |
|
m5r
|
60b5c74ed6
|
style login form
|
2021-09-25 20:58:28 +08:00 |
|
m5r
|
a483bd62ab
|
remove red cross from unavailable features and fade out text instead
|
2021-09-25 18:58:07 +08:00 |
|
m5r
|
e969b1b83e
|
use prisma referential actions to cascade deletions
|
2021-09-25 07:56:25 +08:00 |
|
m5r
|
0abac20c6c
|
empty state for calls
|
2021-09-25 07:40:11 +08:00 |
|
m5r
|
47c7469828
|
empty state for messages
|
2021-09-25 07:34:48 +08:00 |
|
m5r
|
9dea1ed499
|
fix type errors
|
2021-09-25 07:12:16 +08:00 |
|
m5r
|
c9b657e44c
|
implement update user, update password and delete account
|
2021-09-25 07:09:20 +08:00 |
|
m5r
|
12983316f5
|
public pages smol tings
|
2021-09-25 07:08:29 +08:00 |
|
m5r
|
2f45e1d9a8
|
add import messages/calls ui feedback
|
2021-09-25 07:08:11 +08:00 |
|
m5r
|
8f0a6f7060
|
pricing page
|
2021-09-22 04:02:27 +08:00 |
|
m5r
|
4d1ef66986
|
memoize isServiceWorkerSupported in useNotifications hook
|
2021-09-18 05:35:51 +08:00 |
|
m5r
|
257987e3c0
|
backup database to s3
|
2021-09-16 06:56:16 +08:00 |
|
m5r
|
f8a2ef3b97
|
import heroicons icons from react-icons/hi
|
2021-09-08 05:01:03 +08:00 |
|
m5r
|
9ec73d6cf4
|
replace fontawesome icons with ionicons 5
|
2021-09-08 04:59:38 +08:00 |
|
m5r
|
8e856ffb92
|
update roadmap
|
2021-09-07 05:17:23 +08:00 |
|
m5r
|
bdac93d7e1
|
* custom error component
* upload sourcemaps to sentry
* report caught errors to sentry
|
2021-09-07 04:49:13 +08:00 |
|
m5r
|
48f9e67516
|
rework the formatRelativeDate function
|
2021-09-07 03:37:06 +08:00 |
|
m5r
|
3433a90258
|
memoize hook functions and wrap up outgoing calls
|
2021-09-05 00:29:25 +08:00 |
|
m5r
|
d5185fa183
|
smol change to landing page faqs
|
2021-09-04 00:41:02 +08:00 |
|
m5r
|
55a705d3d7
|
graciously handle call errors
|
2021-09-04 00:19:32 +08:00 |
|
m5r
|
356fd8818c
|
clean code
|
2021-09-03 05:46:56 +08:00 |
|
m5r
|
afd9cfb73b
|
smol change to landing page hero
|
2021-09-03 02:57:09 +08:00 |
|
m5r
|
a4c99b7e28
|
refresh device token before it expires every hour
|
2021-09-02 06:13:41 +08:00 |
|
m5r
|
98778c7a7b
|
refresh device token before it expires every hour
|
2021-09-02 05:54:49 +08:00 |
|
m5r
|
c41fea755d
|
rework header
|
2021-09-01 23:44:15 +08:00 |
|
m5r
|
8699f587f9
|
rework landing page hero
|
2021-09-01 23:04:16 +08:00 |
|
m5r
|
c81d8e7937
|
set state call_in_progress
|
2021-09-01 07:12:47 +08:00 |
|
m5r
|
24e9d20fe2
|
fix unending updateCallDuration queue
|
2021-09-01 06:42:59 +08:00 |
|
m5r
|
98485bd034
|
allow typing phone number with desktop keyboard
|
2021-09-01 06:42:39 +08:00 |
|
m5r
|
b4f06e5471
|
improve calling experience
|
2021-09-01 06:42:15 +08:00 |
|
m5r
|
dee1bc4697
|
style footer
|
2021-08-31 05:15:30 +08:00 |
|
m5r
|
d71e4de033
|
style call list page
|
2021-08-31 04:25:56 +08:00 |
|
m5r
|
4bc24f5395
|
date formatter in a single file
|
2021-08-31 01:05:57 +08:00 |
|
m5r
|
5e0c2ae643
|
send discord notification when someone joins the waitlist
|
2021-08-30 23:05:20 +08:00 |
|
m5r
|
ab004235f6
|
update outgoing call duration every 30 seconds until the call is over
|
2021-08-30 20:53:21 +08:00 |
|
m5r
|
6a2e76857b
|
clean setTwilioWebhooks and twilio webhook verification
|
2021-08-30 19:24:05 +08:00 |
|
m5r
|
e77e7d17e0
|
tap phone button in keypad to "paste" latest recipient
|
2021-08-30 08:43:39 +08:00 |
|
m5r
|
3d1c545892
|
fix hook order error
|
2021-08-30 08:34:37 +08:00 |
|
m5r
|
74f903cc9f
|
keypad QoL changes
|
2021-08-30 07:53:22 +08:00 |
|
m5r
|
87e3fc77d8
|
fix most lint warnings
|
2021-08-30 07:13:06 +08:00 |
|
m5r
|
e9fb2602ae
|
Merge branch 'master' into outgoing-calls
|
2021-08-30 07:05:22 +08:00 |
|
m5r
|
1d3bfd5e36
|
footer things
|
2021-08-30 06:47:43 +08:00 |
|
m5r
|
d8f76f59db
|
reword faq
|
2021-08-30 05:42:09 +08:00 |
|
m5r
|
1e681ca693
|
extract public pages layout
|
2021-08-30 05:28:42 +08:00 |
|
m5r
|
47aa722697
|
start public pages footer
|
2021-08-30 05:11:45 +08:00 |
|
m5r
|
0ed516afc8
|
track join waitlist
|
2021-08-30 05:00:34 +08:00 |
|
m5r
|
9079ed73ac
|
differentiate Twilio TwiML app name between environments
|
2021-08-30 04:33:35 +08:00 |
|
m5r
|
549558142d
|
parallelize metric fetching requests
|
2021-08-29 21:10:25 +08:00 |
|
m5r
|
ba876d0205
|
production analytics with panel bear
|
2021-08-29 06:17:59 +08:00 |
|
m5r
|
93e71d3f59
|
send formatter recipient phone number in conversations
|
2021-08-29 05:07:51 +08:00 |
|
m5r
|
1280a4dd00
|
actual metrics
|
2021-08-29 04:17:01 +08:00 |
|
m5r
|
39e0b8ca03
|
fake metrics
|
2021-08-29 03:56:26 +08:00 |
|
m5r
|
4bf7b108f3
|
actual frequently asked questions
|
2021-08-29 03:34:56 +08:00 |
|
m5r
|
e16f51e36a
|
frequently asked questions
|
2021-08-28 23:55:23 +08:00 |
|
m5r
|
fca8dda685
|
publish rough roadmap
|
2021-08-28 16:30:23 +08:00 |
|
m5r
|
bae0b7da4c
|
header navigation menu + open metrics and roadmap pages
|
2021-08-28 15:16:32 +08:00 |
|
m5r
|
1c1d944147
|
rename landing-page directory to public-area
|
2021-08-28 14:22:17 +08:00 |
|
m5r
|
13b8dd895a
|
fix insert messages queue, insert messages with an id and no unnecessary field
|
2021-08-28 14:16:14 +08:00 |
|
m5r
|
1a5fdf5a0e
|
logout button in settings
|
2021-08-28 14:03:49 +08:00 |
|
m5r
|
c6bdcaf433
|
add twilio referral link
|
2021-08-28 06:12:25 +08:00 |
|
m5r
|
1e89e57145
|
click to action on landing page
|
2021-08-28 05:09:45 +08:00 |
|
m5r
|
ca917d3ebc
|
adapt test-api-handler for blitz API routes
|
2021-08-28 04:04:02 +08:00 |
|
m5r
|
43f89216ae
|
type caught error to any
|
2021-08-28 02:06:59 +08:00 |
|
m5r
|
c75ed023a1
|
blog post page
|
2021-08-28 00:08:38 +08:00 |
|
m5r
|
9248e5fbbe
|
upgrade blitz@0.40.0-canary.5
|
2021-08-27 22:59:13 +08:00 |
|
m5r
|
7da645824a
|
fix ios headline
|
2021-08-27 06:00:22 +08:00 |
|
m5r
|
f9bf8485bc
|
color headline
|
2021-08-27 05:37:03 +08:00 |
|
m5r
|
2ced53f4db
|
actual mock image
|
2021-08-27 05:11:12 +08:00 |
|
m5r
|
5e9aa2e5a4
|
format phone number and clamp message preview to 2 lines in conversations list
|
2021-08-27 04:12:11 +08:00 |
|
m5r
|
1c93ac00ef
|
redirect to landing page
|
2021-08-27 03:17:46 +08:00 |
|
m5r
|
20b6a7a996
|
favicons et fonts
|
2021-08-27 03:10:35 +08:00 |
|
m5r
|
6417f5dbcf
|
preload fonts
|
2021-08-25 16:52:24 +08:00 |
|
m5r
|
daf599022f
|
remove useless tests
|
2021-08-20 08:56:07 +08:00 |
|
m5r
|
9898e68023
|
focus recipient input when opening the new message area
|
2021-08-20 08:31:47 +08:00 |
|
m5r
|
9ca0e5d09e
|
fix organizationId when setting twilio fields
|
2021-08-20 08:31:30 +08:00 |
|
m5r
|
a289e9a4ef
|
validate call webhook and translate call status
|
2021-08-20 08:20:03 +08:00 |
|
m5r
|
c43979d6b7
|
onboarding wording
|
2021-08-20 08:18:35 +08:00 |
|
m5r
|
b83a64d862
|
group messages by every 15 minutes
|
2021-08-15 11:09:09 +08:00 |
|
m5r
|
30d186d37d
|
insert call to db when making a call
|
2021-08-14 01:16:27 +08:00 |
|
m5r
|
f628addd80
|
skip duplicates when inserting calls and messages
|
2021-08-14 01:15:35 +08:00 |
|
m5r
|
306febe4d1
|
rename webhook route for calls
|
2021-08-13 23:56:07 +08:00 |
|
m5r
|
5d5195fd9f
|
replace ascending with descending
|
2021-08-13 23:54:13 +08:00 |
|
m5r
|
800ff5ab99
|
cleanup call making
|
2021-08-13 23:52:38 +08:00 |
|
m5r
|
a26babc792
|
small qol changes
|
2021-08-13 19:55:05 +08:00 |
|
m5r
|
de4d4e63d5
|
useMakeCall() hook
|
2021-08-13 12:43:57 +08:00 |
|
m5r
|
1e736e8f05
|
move files around
|
2021-08-12 21:52:52 +08:00 |
|
m5r
|
0e280ceb27
|
wire up some stuff in outgoing call page
|
2021-08-08 19:46:32 +08:00 |
|
m5r
|
423a9cea00
|
reset keypad page phoneNumber state when calling
|
2021-08-08 19:46:04 +08:00 |
|
m5r
|
97fce0f33f
|
extract keypad component
|
2021-08-08 19:22:34 +08:00 |
|
m5r
|
e4672597dd
|
get access token and use it to make a call
|
2021-08-08 14:37:53 +08:00 |
|
m5r
|
b4aa79bd85
|
implement session creation when logging in
|
2021-08-08 13:34:51 +08:00 |
|
m5r
|
0b34e861e0
|
set api key when setting the phone number to avoid race conditions later when fetching calls and messages
|
2021-08-08 13:34:15 +08:00 |
|
m5r
|
6ad516a99e
|
fix onboarding
|
2021-08-08 12:34:29 +08:00 |
|
m5r
|
6f672bfeb2
|
use twilio api key/secret instead of authToken
|
2021-08-08 12:28:19 +08:00 |
|
m5r
|
0f25c53b50
|
set twilio api key and secret
|
2021-08-08 12:27:22 +08:00 |
|
m5r
|
9f213ad71e
|
small fixes
|
2021-08-08 11:00:00 +08:00 |
|
m5r
|
d20eeb0617
|
multi tenancy stuff
|
2021-08-06 01:14:19 +08:00 |
|
m5r
|
adf5fb31d1
|
trace error in layout
|
2021-08-04 13:49:45 +08:00 |
|
m5r
|
fcefb69790
|
temporary blog shortcut
|
2021-08-04 05:14:41 +08:00 |
|
m5r
|
6f64d80170
|
blog articles
|
2021-08-04 05:04:17 +08:00 |
|