Davide De Rosa
|
f9093715a8
|
Reload affected tables on reload receipt
|
2019-11-02 11:28:35 +01:00 |
|
Davide De Rosa
|
ebbcaa674b
|
Restrict "Feedback" sections to beta/paying users
Act as a rudimental spam filter.
|
2019-11-02 11:21:32 +01:00 |
|
Davide De Rosa
|
6e46757d99
|
Verify feature/provider eligibility
Limit hosts to 2.
|
2019-10-31 09:36:09 +01:00 |
|
Davide De Rosa
|
e62aae16fc
|
Add new in-app purchases
- Rename Donation to Product accordingly
- Infer product from provider name
|
2019-10-30 15:21:37 +01:00 |
|
Davide De Rosa
|
b5710cd84b
|
Use .current instead of Theme.current
Class name is redundant for static members.
|
2019-10-25 19:31:02 +02:00 |
|
Davide De Rosa
|
70a7bd02d7
|
Parse and import configuration URL from picker
|
2019-10-22 23:58:31 +02:00 |
|
Davide De Rosa
|
9bff8629b3
|
Present picker for .ovpn files
Do not auto-dismiss anymore if no imported files available.
XXX: use generic file types due to idiotic iOS 13 bug still unfixed.
|
2019-10-22 23:58:31 +02:00 |
|
Davide De Rosa
|
a8f37cfd82
|
Add item to open configuration file
|
2019-10-22 23:58:31 +02:00 |
|
Davide De Rosa
|
c034a6457c
|
Show Organizer on launch (do not collapse)
Makes sure that service.delegate is always set to Organizer on
launch.
|
2019-10-22 23:47:19 +02:00 |
|
Davide De Rosa
|
d550461c60
|
Deselect imported host row regardless
|
2019-10-22 23:04:39 +02:00 |
|
Davide De Rosa
|
68da29474b
|
Refactor import logic into HostImporter
Cover the parsing steps + passphrase. Leave name and credentials
as is.
|
2019-10-22 23:03:46 +02:00 |
|
Davide De Rosa
|
0c8ccd8cc3
|
Add FAQ link in Organizer (home)
|
2019-10-22 14:25:29 +02:00 |
|
Davide De Rosa
|
1916b88243
|
Update Convenience for review URL
|
2019-10-11 18:10:23 +02:00 |
|
Davide De Rosa
|
2cd6677e16
|
Replace with Convenience entities
- About
- Alerts
- Dialogs
- InApp
- Reviewer
- SingleOptionViewController
- StrongTableModel
|
2019-10-11 12:43:05 +02:00 |
|
Davide De Rosa
|
47789132d9
|
Drop Patreon link
|
2019-09-11 09:26:30 +02:00 |
|
Davide De Rosa
|
3b9e3879ca
|
Move InAppHelper to Core
|
2019-08-16 00:24:05 +02:00 |
|
Davide De Rosa
|
f543b0d753
|
Do not delete imported host on error
Could be an app bug or something to be implemented in the future.
|
2019-07-08 08:44:54 +02:00 |
|
Davide De Rosa
|
41ed10e76e
|
Fall back to mailto URL when no email account
Useful with third party mail apps.
|
2019-07-05 11:11:22 +02:00 |
|
Davide De Rosa
|
60b60646d4
|
Move available providers to Core
|
2019-06-28 19:10:42 +02:00 |
|
Davide De Rosa
|
40a7ac56f7
|
Move some strings to Core
|
2019-06-23 10:33:43 +02:00 |
|
Davide De Rosa
|
282728ae1e
|
Move app-related strings in
Move Core strings to app target.
SwiftGen uses same bundle by default. No problem because Core
does not (and should not) any string internally.
|
2019-06-23 00:11:56 +02:00 |
|
Davide De Rosa
|
84eb9d09c4
|
Rename Core targets
Fix import in Core umbrella header.
|
2019-05-27 00:13:33 +02:00 |
|
Davide De Rosa
|
60b967ee3a
|
Make provisioning ids dynamic via .xcconfig
|
2019-05-25 18:29:10 +02:00 |
|
Davide De Rosa
|
87527ed290
|
Upgrade to TunnelKit 2.0
Major reorganization. No changes in logic.
Rename by_* to pod_*.
|
2019-05-25 18:29:10 +02:00 |
|
Davide De Rosa
|
a6745ceec7
|
Move feedback section to main screen
|
2019-04-15 14:40:16 +02:00 |
|
Davide De Rosa
|
60259a2fb9
|
Base profile selection on ConnectionProfile
Rather than cells, which relies on cell visibility. Drop ugly
selection segue.
Fixes #63
|
2019-04-11 15:52:24 +02:00 |
|
Davide De Rosa
|
5aadde5065
|
Enter active profile on VPN status selection
Rename selectedIndexPath to activeIndexPath.
|
2019-04-10 16:51:05 +02:00 |
|
Davide De Rosa
|
91b4992790
|
Show VPN status on top of organizer
|
2019-04-10 16:49:49 +02:00 |
|
Davide De Rosa
|
c598011abc
|
Skip scrolling to active profile
|
2019-04-10 16:49:43 +02:00 |
|
Davide De Rosa
|
ff8d57e9f0
|
Fix selectedIndexPath with generic section indexes
|
2019-04-10 16:49:32 +02:00 |
|
Davide De Rosa
|
3309fd747f
|
Lock donation controller if no payment method
|
2019-04-09 11:17:31 +02:00 |
|
Davide De Rosa
|
db6aa10590
|
Show activity when purchasing donation
|
2019-04-08 23:05:26 +02:00 |
|
Davide De Rosa
|
1a7f2d745b
|
Show activity when loading donations
|
2019-04-08 22:59:24 +02:00 |
|
Davide De Rosa
|
84c5493348
|
Remap donations to local RowType
Allow different cells easily.
|
2019-04-08 22:59:24 +02:00 |
|
Davide De Rosa
|
f2841827fc
|
Say "Thank you" in donation success alert title
|
2019-04-07 17:13:39 +02:00 |
|
Davide De Rosa
|
e68c46d729
|
Set email subjects statically
App name is constant.
|
2019-04-07 16:56:38 +02:00 |
|
Davide De Rosa
|
77ce52ac33
|
Do not localize email templates
Risk is not understanding them!
|
2019-04-07 16:30:38 +02:00 |
|
Davide De Rosa
|
d13f813236
|
Add email template to offer as translator
|
2019-04-07 16:20:15 +02:00 |
|
Davide De Rosa
|
e926290abf
|
Interpose HUD while loading products
|
2019-04-07 15:29:10 +02:00 |
|
Davide De Rosa
|
2bf070650d
|
Purchase on donation selection
|
2019-04-07 15:29:10 +02:00 |
|
Davide De Rosa
|
ff1c83dd3d
|
Show headers in donation table
|
2019-04-07 15:29:10 +02:00 |
|
Davide De Rosa
|
724a4bc10a
|
Request products in separate class
|
2019-04-07 15:29:10 +02:00 |
|
Davide De Rosa
|
26453f9612
|
Add donation view controller
|
2019-04-07 15:29:10 +02:00 |
|
Davide De Rosa
|
6f57d3503a
|
Add donation cell in organizer
|
2019-04-07 15:29:10 +02:00 |
|
Davide De Rosa
|
561307568e
|
Add Patreon link in new Support section
|
2019-04-07 15:29:10 +02:00 |
|
Davide De Rosa
|
c542722f47
|
Regroup storyboard implementations
|
2019-04-07 08:52:16 +02:00 |
|
Davide De Rosa
|
8db2b70e65
|
Set current pool atomically with pools
|
2019-04-06 16:45:46 +02:00 |
|
Davide De Rosa
|
8d3a5d747d
|
Convert table model to PoolGroup
|
2019-04-06 16:20:01 +02:00 |
|
Davide De Rosa
|
a4a82fbd03
|
Fix table pre-scrolling to selection
iOS is broken, must wrap in a DispatchQueue.main.async
|
2019-04-05 12:46:50 +02:00 |
|
Davide De Rosa
|
f97b8447d9
|
Show provider logos in Organizer and Wizard
|
2019-04-05 00:52:36 +02:00 |
|