Commit Graph

56 Commits

Author SHA1 Message Date
d1da677932 Fixes issue where connectivity issues can lead to persistent "Offline" status in UI
This fixes the problem where either internet connectivity issues on the device or intermittant
server issues can cause a persistent "OFFLINE" indicator even though that is not the case.

This requires the server protocol to be more granular about what their connection status is,
and adds a new signal from the multiplexer to the MainViewController allowing it to notify the
delegate that an acknowledgement was heard from one of the servers, allowing the main view
controller to update its UI according to whatever status best represents the group of servers
as a whole.

Testing
- This can be tested by using the network link conditioner to simulate connection issues
  *after* the control panel has connected to all servers in the multiplex.
- Tested losing internet connection and regaining internet connection
- Tested starting off with no connection and regaining connection later
2020-07-04 19:43:50 -07:00
zanneth
ee29602640 Merge branch 'buzzert/hubitat' into 'master'
Hubitat Support

See merge request zanneth/XIONControlPanel!1
2020-05-09 03:50:53 -04:00
c6fa9fe960 Review feedback 2020-05-01 00:16:10 -07:00
c60685bf20 Version bump: 2.0 2020-04-30 23:37:09 -07:00
1cfdf3552f Makes it so we don't have to wait for all servers to be connected before fetching 2020-04-30 23:36:37 -07:00
1bad5ae5b0 Remove unnecessary eraseToAnyPublisher 2020-04-30 23:21:45 -07:00
a054347f32 HubitatServer: finishes ability to toggle hubitat switches 2020-04-30 19:00:08 -07:00
9bff3dda48 HubitatServer: Adds HubitatServer type and adds it to the multiplexer 2020-03-14 19:53:18 -07:00
918818cd99 ServerMultiplex: Introduces a server mutiplexer
- Also moves all the existing Wemo* stuff over to support the multiplexer
- Moves MainViewController to be the owner of the multiplexer, and its delegate
2020-03-14 18:33:02 -07:00
f1f86ced29 SwitchesViewController: Modernize switches collection view controller
This switches to using the more modern collection view diffable data source API.
Also I moved the action cells into their own section so we don't need to do
arithmetic to determine whether or not a cell is an action cell or a device cell.
2020-03-13 19:36:44 -07:00
5b521541fe Update to Xcode's recommended settings 2020-03-13 18:46:59 -07:00
Charles Magahern
5b23d7cf0b Fix incorrect ordering of machines with mixed upper/lowercase 2019-10-13 15:51:05 -07:00
Charles Magahern
524732c2b0 Slightly larger header view text 2019-10-13 15:44:29 -07:00
Charles Magahern
6a8eec5a07 Improvements to resizing/reorientation 2019-10-13 15:40:13 -07:00
Charles Magahern
1dca4b98e5 More modernization 2019-10-13 00:24:03 -07:00
Charles Magahern
241248b1b0 Fix Swift5 warnings 2019-10-13 00:19:23 -07:00
Charles Magahern
51d0faf556 Convert to Swift 4.0 syntax 2019-09-24 22:17:16 -07:00
Charles Magahern
12f9b4eff0 Fix spacing 2018-09-13 19:25:55 -07:00
Charles Magahern
2497b38ed8 Swift 4 string length methods 2017-12-09 17:21:39 -08:00
Charles Magahern
f736020b00 Fix ld warning 2017-09-04 18:33:09 -07:00
Charles Magahern
9dc93fcc25 Merge branch 'swift3' 2017-09-04 18:32:06 -07:00
Charles Magahern
d295b80eab Last remaining fixes for swift 3 2017-09-04 18:31:34 -07:00
Charles Magahern
091af0844a Conversion to Swift3 2017-05-13 00:40:03 -07:00
Charles Magahern
687b45c73a Fix crash on iPhone when tapping ALL ON or ALL OFF 2016-07-30 21:41:41 -07:00
Charles Magahern
afea7bdaef Fix README for iPhone support 2016-07-24 00:17:14 -07:00
Charles Magahern
56de300889 iPhone Support 2016-07-24 00:14:04 -07:00
Charles Magahern
2f5c807dc6 Modernize swift code, fix a few visualization bugs 2016-07-06 22:11:48 -07:00
Charles Magahern
aac8320058 Fix bug where switch cells don't allow interaction during animation 2016-01-18 19:29:08 -08:00
Charles Magahern
bb59974376 Fix bug where sometimes "ALL ON" or "ALL OFF" don't work 2016-01-18 19:18:06 -08:00
Charles Magahern
858ea41746 Fix logo animation bug when locking device 2016-01-05 18:44:57 -08:00
Charles Magahern
5936fc8b56 Fix animation and layout bugs on iPad Pro 2016-01-03 13:21:50 -08:00
Charles Magahern
fbde76d734 Don't give up on updating upon connection failure 2016-01-02 00:02:48 -08:00
Charles Magahern
5f46f2bd80 Fix switches layout bug 2016-01-01 18:38:35 -08:00
Charles Magahern
29b70d32ce Fix miscellaneous bugs 2016-01-01 15:48:34 -08:00
Charles Magahern
80696898ef Don't reconnect if not necessary 2016-01-01 01:16:21 -08:00
Charles Magahern
66370bbd7c iPad-only 2016-01-01 01:09:29 -08:00
Charles Magahern
45b49bb2e5 Log any errors during toggling 2016-01-01 01:04:09 -08:00
Charles Magahern
459006aea0 App icon and product name 2016-01-01 00:46:30 -08:00
Charles Magahern
74ce13355c Add README 2016-01-01 00:39:13 -08:00
Charles Magahern
d2694d9994 Final URL 2016-01-01 00:34:54 -08:00
Charles Magahern
22ef3207b6 Visual refinements and additional effects 2016-01-01 00:30:13 -08:00
Charles Magahern
809e9d9112 Fix crash on update error 2015-12-31 23:34:10 -08:00
Charles Magahern
697a7e1de9 Automatically update devices on an interval 2015-12-31 23:29:48 -08:00
Charles Magahern
e6dd661338 Server code to fetch and toggle devices 2015-12-31 19:51:51 -08:00
Charles Magahern
e85e9173e5 "ALL ON" and "ALL OFF" switches 2015-12-31 18:20:50 -08:00
Charles Magahern
4df09f18c5 Visualization reaction to devices activating 2015-12-31 17:30:23 -08:00
Charles Magahern
303c620372 Cell selection and animation 2015-12-31 16:57:57 -08:00
Charles Magahern
df0f72af23 Beginning work on device cells 2015-12-31 15:41:32 -08:00
Charles Magahern
5b535f5720 Connectivity status indicator view 2015-12-31 10:55:54 -08:00
Charles Magahern
29dec42b20 Beginning work on header view 2015-12-30 18:47:13 -08:00