liveview-native / liveview-client-swiftui

MIT License
364 stars 32 forks source link

Navigation between live session routes disconnects not being handled gracefully enough #1420

Open bcardarella opened 2 weeks ago

bcardarella commented 2 weeks ago

Video:

https://github.com/user-attachments/assets/1d5b8bc2-483d-4c3d-a806-6495190f6bb3

Log:

[Socket] SwiftPhoenixClient: receive , ["12","12","lv:phx-F-9bIJBv2ZIu5yqR","phx_reply",{"status":"error","response":{"reason":"unauthorized"}}]
[Socket] SwiftPhoenixClient: push, Sending ["12","13","lv:phx-F-9bIJBv2ZIu5yqR","phx_leave",{}]
[Socket] SwiftPhoenixClient: channel, leave lv:phx-F-9bIJBv2ZIu5yqR
[Socket] SwiftPhoenixClient: channel, close topic: lv:phx-F-9bIJBv2ZIu5yqR joinRef: 12
[Channel] Closed
[Socket] SwiftPhoenixClient: push, Sending ["12","14","lv:phx-F-9bIJBv2ZIu5yqR","phx_leave",{}]
[Socket] SwiftPhoenixClient: channel, leave lv:phx-F-9bIJBv2ZIu5yqR
[Socket] SwiftPhoenixClient: channel, close topic: lv:phx-F-9bIJBv2ZIu5yqR joinRef: 12
[Channel] Closed
[Socket] SwiftPhoenixClient: receive , ["12","13","lv:phx-F-9bIJBv2ZIu5yqR","phx_reply",{"status":"ok","response":{}}]
[Socket] SwiftPhoenixClient: receive , ["12","14","lv:phx-F-9bIJBv2ZIu5yqR","phx_reply",{"status":"ok","response":{}}]
[Socket] Closed
Connecting to https://lax.so/users/register/
Stylesheet parsing failed for modifier `font` in class `font-weight-semibold`:

  |
0 | 
  | ^ Unknown modifier `font`

in  (:0)
Stylesheet parsing failed for modifier `frame` in class `frame(maxWidth: :infinity)`:

  |
0 | 
  | ^ Clause `frame(width:height:alignment:)` failed:
  |   - Unknown labelled argument `maxWidth`
  |   Clause `frame(minWidth:idealWidth:maxWidth:minHeight:idealHeight:maxHeight:alignment:)` failed:
  |   - Incorrect value passed to argument `maxWidth`. Expected `AttributeReference<Optional<CGFloat>>` but got `:infinity`. 

in  (:0)
Stylesheet parsing failed for modifier `stroke` in class `stroke`:

  |
0 | 
  | ^ Unknown modifier `stroke`

in  (:0)
Stylesheet parsing failed for modifier `hidden` in class `hidden_user_email`:

  |
0 | 
  | ^ No matching clause found for modifier `hidden`. Expected `hidden()`

in  (:0)
Stylesheet parsing failed for modifier `animation` in class `animation_key`:

  |
0 | 
  | ^ No matching clause found for modifier `animation`. Expected `animation(_:value:)`

in  (:0)
Stylesheet parsing failed for modifier `overlay` in class `overlay(:border)`:

  |
0 | 
  | ^ No matching clause found for modifier `overlay`. Expected one of `overlay(alignment:content:)`, `overlay(_:ignoresSafeAreaEdges:)`, `overlay(_:in:fillStyle:)`

in  (:0)
[Socket] Opened
Stylesheet parsing failed for modifier `disabled` in class `disabled`:

  |
0 | 
  | ^ No matching clause found for modifier `disabled`. Expected `disabled(_:)`

in  (:0)
Unable to simultaneously satisfy constraints.
    Probably at least one of the constraints in the following list is one you don't want. 
    Try this: 
        (1) look at each constraint and try to figure out which you don't expect; 
        (2) find the code that added the unwanted constraint or constraints and fix it. 
(
    "<NSLayoutConstraint:0x600002385bd0 UILayoutGuide:0x600003b382a0'BackButtonGuide(0x10b23e3a0)'.leading == UILayoutGuide:0x600003b38700'UINavigationBarItemContentLayoutGuide'.leading   (active)>",
    "<NSLayoutConstraint:0x600002386c60 H:[UILayoutGuide:0x600003b382a0'BackButtonGuide(0x10b23e3a0)']-(0)-[UILayoutGuide:0x600003b38380'LeadingBarGuide(0x10b23e3a0)']   (active)>",
    "<NSLayoutConstraint:0x600002386b20 H:[UILayoutGuide:0x600003b38380'LeadingBarGuide(0x10b23e3a0)']-(0)-[UILayoutGuide:0x600003b38460'TitleViewGuide(0x10b23e3a0)']   (active)>",
    "<NSLayoutConstraint:0x600002387b60 UILayoutGuide:0x600003b38460'TitleViewGuide(0x10b23e3a0)'.trailing <= UILayoutGuide:0x600003b387e0'UIViewLayoutMarginsGuide'.trailing   (active)>",
    "<NSLayoutConstraint:0x600002387340 'BackButtonGuide(0x10b23e3a0).minimumWidth' UILayoutGuide:0x600003b382a0'BackButtonGuide(0x10b23e3a0)'.width >= 44   (active)>",
    "<NSLayoutConstraint:0x600002386fd0 'UINavItemContentGuide-leading' H:|-(0)-[UILayoutGuide:0x600003b38700'UINavigationBarItemContentLayoutGuide']   (active, names: '|':_UINavigationBarContentView:0x10b22b1e0 )>",
    "<NSLayoutConstraint:0x60000225e3a0 'UIView-Encapsulated-Layout-Width' _UINavigationBarContentView:0x10b22b1e0.width == 0   (active)>",
    "<NSLayoutConstraint:0x600002386940 'UIView-rightMargin-guide-constraint' H:[UILayoutGuide:0x600003b387e0'UIViewLayoutMarginsGuide']-(8)-|(LTR)   (active, names: '|':_UINavigationBarContentView:0x10b22b1e0 )>"
)

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x600002386c60 H:[UILayoutGuide:0x600003b382a0'BackButtonGuide(0x10b23e3a0)']-(0)-[UILayoutGuide:0x600003b38380'LeadingBarGuide(0x10b23e3a0)']   (active)>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
Unable to simultaneously satisfy constraints.
    Probably at least one of the constraints in the following list is one you don't want. 
    Try this: 
        (1) look at each constraint and try to figure out which you don't expect; 
        (2) find the code that added the unwanted constraint or constraints and fix it. 
(
    "<NSLayoutConstraint:0x600002385ef0 UILayoutGuide:0x600003b38460'TitleViewGuide(0x10b23e3a0)'.leading >= UILayoutGuide:0x600003b387e0'UIViewLayoutMarginsGuide'.leading   (active)>",
    "<NSLayoutConstraint:0x600002387b60 UILayoutGuide:0x600003b38460'TitleViewGuide(0x10b23e3a0)'.trailing <= UILayoutGuide:0x600003b387e0'UIViewLayoutMarginsGuide'.trailing   (active)>",
    "<NSLayoutConstraint:0x60000225e3a0 'UIView-Encapsulated-Layout-Width' _UINavigationBarContentView:0x10b22b1e0.width == 0   (active)>",
    "<NSLayoutConstraint:0x600002385db0 'UIView-leftMargin-guide-constraint' H:|-(8)-[UILayoutGuide:0x600003b387e0'UIViewLayoutMarginsGuide'](LTR)   (active, names: '|':_UINavigationBarContentView:0x10b22b1e0 )>",
    "<NSLayoutConstraint:0x600002386940 'UIView-rightMargin-guide-constraint' H:[UILayoutGuide:0x600003b387e0'UIViewLayoutMarginsGuide']-(8)-|(LTR)   (active, names: '|':_UINavigationBarContentView:0x10b22b1e0 )>"
)

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x600002387b60 UILayoutGuide:0x600003b38460'TitleViewGuide(0x10b23e3a0)'.trailing <= UILayoutGuide:0x600003b387e0'UIViewLayoutMarginsGuide'.trailing   (active)>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
[Socket] SwiftPhoenixClient: push, Sending ["7","7","lv:phx-F-9bIc9Si0C8Niwh","phx_join",{"params":{"_mounts":0,"_format":"swiftui","_interface":{"app_version":"1.0","os":"iOS","bundle_id":"com.example.Lvndemo","i18n":{"time_zone":"America\/New_York"},"os_version":"17.0.1","target":"ios","app_build":"1.0","l10n":{"locale":"en_US"}},"_csrf_token":"HjoMMR4aCWdlAS4BL1kTDAlbLDdYORseZIGyRsq0U4c2ujbU0c_x4HcS"},"session":"SFMyNTY.g2gDaAJhBXQAAAAIdwJpZG0AAAAUcGh4LUYtOWJJYzlTaTBDOE5pd2h3BHZpZXd3IkVsaXhpci5MYXhXZWIuVXNlclJlZ2lzdHJhdGlvbkxpdmV3CnBhcmVudF9waWR3A25pbHcHc2Vzc2lvbnQAAAAAdwZyb3V0ZXJ3FEVsaXhpci5MYXhXZWIuUm91dGVydwhyb290X3BpZHcDbmlsdwlyb290X3ZpZXd3IkVsaXhpci5MYXhXZWIuVXNlclJlZ2lzdHJhdGlvbkxpdmV3DGxpdmVfc2Vzc2lvbmgCdyFyZWRpcmVjdF9pZl91c2VyX2lzX2F1dGhlbnRpY2F0ZWRuCABaeXY-klnvF24GAKWQ-Y-RAWIAAVGA.WHk-IkaQ6S05enxBX6tMElaGA8Ztcvdw4ZZr1kp5qIM","url":"https:\/\/lax.so\/users\/register\/?_format=swiftui&_interface%5Bos_version%5D=17.0.1&_interface%5Bl10n%5D%5Blocale%5D=en_US&_interface%5Bi18n%5D%5Btime_zone%5D=America\/New_York&_interface%5Bapp_version%5D=1.0&_interface%5Bapp_build%5D=1.0&_interface%5Bos%5D=iOS&_interface%5Btarget%5D=ios&_interface%5Bbundle_id%5D=com.example.Lvndemo","static":"SFMyNTY.g2gDaAJhBXQAAAADdwJpZG0AAAAUcGh4LUYtOWJJYzlTaTBDOE5pd2h3BWZsYXNodAAAAAB3CmFzc2lnbl9uZXdsAAAAAXcMY3VycmVudF91c2Vyam4GAKWQ-Y-RAWIAAVGA.QRrz-9DY5SdVj2SIHTLDvCdDvgREa3IwAGcUK9Ilx1g"}]
[Socket] SwiftPhoenixClient: receive , ["7","7","lv:phx-F-9bIc9Si0C8Niwh","phx_reply",{"status":"ok","response":{"rendered":{"0":{"0":" id=\"flash-group\"","1":{"0":"","s":["\n",""]},"2":{"0":"","s":["\n",""]},"s":["<Group",">\n  ","\n  ","\n</Group>"],"r":1},"1":{"0":{"0":" style=\"navigationTitle(:title);toolbar(content: :toolbar)\"","1":{"s":["\n  Register\n  "]},"2":"","3":{"s":["<ToolbarItemGroup template=\"toolbar\"",">\n    ","\n  </ToolbarItemGroup>"],"p":{"0":["\n      Sign in\n    "],"1":["<NavigationLink","",">\n  ","\n</NavigationLink>"],"2":["\n    ","\n  "]},"d":[[" placement=\"automatic\"",{"0":{"0":" destination=\"/users/sign-in\"","1":" class=\"font-weight-semibold fg-tint\"","2":{"s":0},"s":1,"r":1},"s":2}]]},"4":"","s":["<VStack",">\n  <Text template=\"title\">\n    ","\n  </Text>\n  ","\n  ","\n  ","\n</VStack>"],"r":1},"1":{"0":{"0":" id=\"registration_form\" action=\"/users/sign-in?_action=registered\" method=\"post\" phx-change=\"validate\" phx-submit=\"save\" phx-trigger-action=\"false\"","1":{"0":{"0":"","1":{"0":" id=\"user_email\"","1":" name=\"user[email]\"","2":"","3":"","4":" class=\"keyboardType(.emailAddress)\" style=\"  textInputAutocapitalization(.never) autocorrectionDisabled()\"","5":"Email","6":"","s":["<VStack alignment=\"leading\">\n  <TextField","","","","",">","</TextField>\n  ","\n</VStack>"],"r":1},"2":{"0":" id=\"user_username\"","1":" name=\"user[username]\"","2":"","3":"","4":" style=\"  textInputAutocapitalization(.never) autocorrectionDisabled()\"","5":"Username","6":"","s":["<VStack alignment=\"leading\">\n  <TextField","","","","",">","</TextField>\n  ","\n</VStack>"],"r":1},"3":{"0":" id=\"user_password\"","1":" name=\"user[password]\"","2":"","3":"","4":" style=\"  \"","5":"Password","6":"","s":["<VStack alignment=\"leading\">\n  <SecureField","","","","",">","</SecureField>\n  ","\n</VStack>"],"r":1},"4":{"0":" id=\"user_time_zone\"","1":" name=\"user[time_zone]\"","2":" selection=\"America/New_York\"","3":" style=\"  \"","4":"Time Zone","5":{"s":["<Text",">\n      ","\n    </Text>"],"d":[[" tag=\"Africa/Abidjan\"","Africa/Abidjan"],[" tag=\"Africa/Accra\"","Africa/Accra"],[" tag=\"Africa/Addis_Ababa\"","Africa/Addis_Ababa"],[" tag=\"Africa/Algiers\"","Africa/Algiers"],[" tag=\"Africa/Asmara\"","Africa/Asmara"],[" tag=\"Africa/Asmera\"","Africa/Asmera"],[" tag=\"Africa/Bamako\"","Africa/Bamako"],[" tag=\"Africa/Bangui\"","Africa/Bangui"],[" tag=\"Africa/Banjul\"","Africa/Banjul"],[" tag=\"Africa/Bissau\"","Africa/Bissau"],[" tag=\"Africa/Blantyre\"","Africa/Blantyre"],[" tag=\"Africa/Brazzaville\"","Africa/Brazzaville"],[" tag=\"Africa/Bujumbura\"","Africa/Bujumbura"],[" tag=\"Africa/Cairo\"","Africa/Cairo"],[" tag=\"Africa/Casablanca\"","Africa/Casablanca"],[" tag=\"Africa/Ceuta\"","Africa/Ceuta"],[" tag=\"Africa/Conakry\"","Africa/Conakry"],[" tag=\"Africa/Dakar\"","Africa/Dakar"],[" tag=\"Africa/Dar_es_Salaam\"","Africa/Dar_es_Salaam"],[" tag=\"Africa/Djibouti\"","Africa/Djibouti"],[" tag=\"Africa/Douala\"","Africa/Douala"],[" tag=\"Africa/El_Aaiun\"","Africa/El_Aaiun"],[" tag=\"Africa/Freetown\"","Africa/Freetown"],[" tag=\"Africa/Gaborone\"","Africa/Gaborone"],[" tag=\"Africa/Harare\"","Africa/Harare"],[" tag=\"Africa/Johannesburg\"","Africa/Johannesburg"],[" tag=\"Africa/Juba\"","Africa/Juba"],[" tag=\"Africa/Kampala\"","Africa/Kampala"],[" tag=\"Africa/Khartoum\"","Africa/Khartoum"],[" tag=\"Africa/Kigali\"","Africa/Kigali"],[" tag=\"Africa/Kinshasa\"","Africa/Kinshasa"],[" tag=\"Africa/Lagos\"","Africa/Lagos"],[" tag=\"Africa/Libreville\"","Africa/Libreville"],[" tag=\"Africa/Lome\"","Africa/Lome"],[" tag=\"Africa/Luanda\"","Africa/Luanda"],[" tag=\"Africa/Lubumbashi\"","Africa/Lubumbashi"],[" tag=\"Africa/Lusaka\"","Africa/Lusaka"],[" tag=\"Africa/Malabo\"","Africa/Malabo"],[" tag=\"Africa/Maputo\"","Africa/Maputo"],[" tag=\"Africa/Maseru\"","Africa/Maseru"],[" tag=\"Africa/Mbabane\"","Africa/Mbabane"],[" tag=\"Africa/Mogadishu\"","Africa/Mogadishu"],[" tag=\"Africa/Monrovia\"","Africa/Monrovia"],[" tag=\"Africa/Nairobi\"","Africa/Nairobi"],[" tag=\"Africa/Ndjamena\"","Africa/Ndjamena"],[" tag=\"Africa/Niamey\"","Africa/Niamey"],[" tag=\"Africa/Nouakchott\"","Africa/Nouakchott"],[" tag=\"Africa/Ouagadougou\"","Africa/Ouagadougou"],[" tag=\"Africa/Porto-Novo\"","Africa/Porto-Novo"],[" tag=\"Africa/Sao_Tome\"","Africa/Sao_Tome"],[" tag=\"Africa/Timbuktu\"","Africa/Timbuktu"],[" tag=\"Africa/Tripoli\"","Africa/Tripoli"],[" tag=\"Africa/Tunis\"","Africa/Tunis"],[" tag=\"Africa/Windhoek\"","Africa/Windhoek"],[" tag=\"America/Adak\"","America/Adak"],[" tag=\"America/Anchorage\"","America/Anchorage"],[" tag=\"America/Anguilla\"","America/Anguilla"],[" tag=\"America/Antigua\"","America/Antigua"],[" tag=\"America/Araguaina\"","America/Araguaina"],[" tag=\"America/Argentina/Buenos_Aires\"","America/Argentina/Buenos_Aires"],[" tag=\"America/Argentina/Catamarca\"","America/Argentina/Catamarca"],[" tag=\"America/Argentina/ComodRivadavia\"","America/Argentina/ComodRivadavia"],[" tag=\"America/Argentina/Cordoba\"","America/Argentina/Cordoba"],[" tag=\"America/Argentina/Jujuy\"","America/Argentina/Jujuy"],[" tag=\"America/Argentina/La_Rioja\"","America/Argentina/La_Rioja"],[" tag=\"America/Argentina/Mendoza\"","America/Argentina/Mendoza"],[" tag=\"America/Argentina/Rio_Gallegos\"","America/Argentina/Rio_Gallegos"],[" tag=\"America/Argentina/Salta\"","America/Argentina/Salta"],[" tag=\"America/Argentina/San_Juan\"","America/Argentina/San_Juan"],[" tag=\"America/Argentina/San_Luis\"","America/Argentina/San_Luis"],[" tag=\"America/Argentina/Tucuman\"","America/Argentina/Tucuman"],[" tag=\"America/Argentina/Ushuaia\"","America/Argentina/Ushuaia"],[" tag=\"America/Aruba\"","America/Aruba"],[" tag=\"America/Asuncion\"","America/Asuncion"],[" tag=\"America/Atikokan\"","America/Atikokan"],[" tag=\"America/Atka\"","America/Atka"],[" tag=\"America/Bahia\"","America/Bahia"],[" tag=\"America/Bahia_Banderas\"","America/Bahia_Banderas"],[" tag=\"America/Barbados\"","America/Barbados"],[" tag=\"America/Belem\"","America/Belem"],[" tag=\"America/Belize\"","America/Belize"],[" tag=\"America/Blanc-Sablon\"","America/Blanc-Sablon"],[" tag=\"America/Boa_Vista\"","America/Boa_Vista"],[" tag=\"America/Bogota\"","America/Bogota"],[" tag=\"America/Boise\"","America/Boise"],[" tag=\"America/Buenos_Aires\"","America/Buenos_Aires"],[" tag=\"America/Cambridge_Bay\"","America/Cambridge_Bay"],[" tag=\"America/Campo_Grande\"","America/Campo_Grande"],[" tag=\"America/Cancun\"","America/Cancun"],[" tag=\"America/Caracas\"","America/Caracas"],[" tag=\"America/Catamarca\"","America/Catamarca"],[" tag=\"America/Cayenne\"","America/Cayenne"],[" tag=\"America/Cayman\"","America/Cayman"],[" tag=\"America/Chicago\"","America/Chicago"],[" tag=\"America/Chihuahua\"","America/Chihuahua"],[" tag=\"America/Ciudad_Juarez\"","America/Ciudad_Juarez"],[" tag=\"America/Coral_Harbour\"","America/Coral_Harbour"],[" tag=\"America/Cordoba\"","America/Cordoba"],[" tag=\"America/Costa_Rica\"","America/Costa_Rica"],[" tag=\"America/Creston\"","America/Creston"],[" tag=\"America/Cuiaba\"","America/Cuiaba"],[" tag=\"America/Curacao\"","America/Curacao"],[" tag=\"America/Danmarkshavn\"","America/Danmarkshavn"],[" tag=\"America/Dawson\"","America/Dawson"],[" tag=\"America/Dawson_Creek\"","America/Dawson_Creek"],[" tag=\"America/Denver\"","America/Denver"],[" tag=\"America/Detroit\"","America/Detroit"],[" tag=\"America/Dominica\"","America/Dominica"],[" tag=\"America/Edmonton\"","America/Edmonton"],[" tag=\"America/Eirunepe\"","America/Eirunepe"],[" tag=\"America/El_Salvador\"","America/El_Salvador"],[" tag=\"America/Ensenada\"","America/Ensenada"],[" tag=\"America/Fort_Nelson\"","America/Fort_Nelson"],[" tag=\"America/Fort_Wayne\"","America/Fort_Wayne"],[" tag=\"America/Fortaleza\"","America/Fortaleza"],[" tag=\"America/Glace_Bay\"","America/Glace_Bay"],[" tag=\"America/Godthab\"","America/Godthab"],[" tag=\"America/Goose_Bay\"","America/Goose_Bay"],[" tag=\"America/Grand_Turk\"","America/Grand_Turk"],[" tag=\"America/Grenada\"","America/Grenada"],[" tag=\"America/Guadeloupe\"","America/Guadeloupe"],[" tag=\"America/Guatemala\"","America/Guatemala"],[" tag=\"America/Guayaquil\"","America/Guayaquil"],[" tag=\"America/Guyana\"","America/Guyana"],[" tag=\"America/Halifax\"","America/Halifax"],[" tag=\"America/Havana\"","America/Havana"],[" tag=\"America/Hermosillo\"","America/Hermosillo"],[" tag=\"America/Indiana/Indianapolis\"","America/Indiana/Indianapolis"],[" tag=\"America/Indiana/Knox\"","America/Indiana/Knox"],[" tag=\"America/Indiana/Marengo\"","America/Indiana/Marengo"],[" tag=\"America/Indiana/Petersburg\"","America/Indiana/Petersburg"],[" tag=\"America/Indiana/Tell_City\"","America/Indiana/Tell_City"],[" tag=\"America/Indiana/Vevay\"","America/Indiana/Vevay"],[" tag=\"America/Indiana/Vincennes\"","America/Indiana/Vincennes"],[" tag=\"America/Indiana/Winamac\"","America/Indiana/Winamac"],[" tag=\"America/Indianapolis\"","America/Indianapolis"],[" tag=\"America/Inuvik\"","America/Inuvik"],[" tag=\"America/Iqaluit\"","America/Iqaluit"],[" tag=\"America/Jamaica\"","America/Jamaica"],[" tag=\"America/Jujuy\"","America/Jujuy"],[" tag=\"America/Juneau\"","America/Juneau"],[" tag=\"America/Kentucky/Louisville\"","America/Kentucky/Louisville"],[" tag=\"America/Kentucky/Monticello\"","America/Kentucky/Monticello"],[" tag=\"America/Knox_IN\"","America/Knox_IN"],[" tag=\"America/Kralendijk\"","America/Kralendijk"],[" tag=\"America/La_Paz\"","America/La_Paz"],[" tag=\"America/Lima\"","America/Lima"],[" tag=\"America/Los_Angeles\"","America/Los_Angeles"],[" tag=\"America/Louisville\"","America/Louisville"],[" tag=\"America/Lower_Princes\"","America/Lower_Princes"],[" tag=\"America/Maceio\"","America/Maceio"],[" tag=\"America/Managua\"","America/Managua"],[" tag=\"America/Manaus\"","America/Manaus"],[" tag=\"America/Marigot\"","America/Marigot"],[" tag=\"America/Martinique\"","America/Martinique"],[" tag=\"America/Matamoros\"","America/Matamoros"],[" tag=\"America/Mazatlan\"","America/Mazatlan"],[" tag=\"America/Mendoza\"","America/Mendoza"],[" tag=\"America/Menominee\"","America/Menominee"],[" tag=\"America/Merida\"","America/Merida"],[" tag=\"America/Metlakatla\"","America/Metlakatla"],[" tag=\"America/Mexico_City\"","America/Mexico_City"],[" tag=\"America/Miquelon\"","America/Miquelon"],[" tag=\"America/Moncton\"","America/Moncton"],[" tag=\"America/Monterrey\"","America/Monterrey"],[" tag=\"America/Montevideo\"","America/Montevideo"],[" tag=\"America/Montreal\"","America/Montreal"],[" tag=\"America/Montserrat\"","America/Montserrat"],[" tag=\"America/Nassau\"","America/Nassau"],[" tag=\"America/New_York\"","America/New_York"],[" tag=\"America/Nipigon\"","America/Nipigon"],[" tag=\"America/Nome\"","America/Nome"],[" tag=\"America/Noronha\"","America/Noronha"],[" tag=\"America/North_Dakota/Beulah\"","America/North_Dakota/Beulah"],[" tag=\"America/North_Dakota/Center\"","America/North_Dakota/Center"],[" tag=\"America/North_Dakota/New_Salem\"","America/North_Dakota/New_Salem"],[" tag=\"America/Nuuk\"","America/Nuuk"],[" tag=\"America/Ojinaga\"","America/Ojinaga"],[" tag=\"America/Panama\"","America/Panama"],[" tag=\"America/Pangnirtung\"","America/Pangnirtung"],[" tag=\"America/Paramaribo\"","America/Paramaribo"],[" tag=\"America/Phoenix\"","America/Phoenix"],[" tag=\"America/Port-au-Prince\"","America/Port-au-Prince"],[" tag=\"America/Port_of_Spain\"","America/Port_of_Spain"],[" tag=\"America/Porto_Acre\"","America/Porto_Acre"],[" tag=\"America/Porto_Velho\"","America/Porto_Velho"],[" tag=\"America/Puerto_Rico\"","America/Puerto_Rico"],[" tag=\"America/Punta_Arenas\"","America/Punta_Arenas"],[" tag=\"America/Rainy_River\"","America/Rainy_River"],[" tag=\"America/Rankin_Inlet\"","America/Rankin_Inlet"],[" tag=\"America/Recife\"","America/Recife"],[" tag=\"America/Regina\"","America/Regina"],[" tag=\"America/Resolute\"","America/Resolute"],[" tag=\"America/Rio_Branco\"","America/Rio_Branco"],[" tag=\"America/Rosario\"","America/Rosario"],[" tag=\"America/Santa_Isabel\"","America/Santa_Isabel"],[" tag=\"America/Santarem\"","America/Santarem"],[" tag=\"America/Santiago\"","America/Santiago"],[" tag=\"America/Santo_Domingo\"","America/Santo_Domingo"],[" tag=\"America/Sao_Paulo\"","America/Sao_Paulo"],[" tag=\"America/Scoresbysund\"","America/Scoresbysund"],[" tag=\"America/Shiprock\"","America/Shiprock"],[" tag=\"America/Sitka\"","America/Sitka"],[" tag=\"America/St_Barthelemy\"","America/St_Barthelemy"],[" tag=\"America/St_Johns\"","America/St_Johns"],[" tag=\"America/St_Kitts\"","America/St_Kitts"],[" tag=\"America/St_Lucia\"","America/St_Lucia"],[" tag=\"America/St_Thomas\"","America/St_Thomas"],[" tag=\"America/St_Vincent\"","America/St_Vincent"],[" tag=\"America/Swift_Current\"","America/Swift_Current"],[" tag=\"America/Tegucigalpa\"","America/Tegucigalpa"],[" tag=\"America/Thule\"","America/Thule"],[" tag=\"America/Thunder_Bay\"","America/Thunder_Bay"],[" tag=\"America/Tijuana\"","America/Tijuana"],[" tag=\"America/Toronto\"","America/Toronto"],[" tag=\"America/Tortola\"","America/Tortola"],[" tag=\"America/Vancouver\"","America/Vancouver"],[" tag=\"America/Virgin\"","America/Virgin"],[" tag=\"America/Whitehorse\"","America/Whitehorse"],[" tag=\"America/Winnipeg\"","America/Winnipeg"],[" tag=\"America/Yakutat\"","America/Yakutat"],[" tag=\"America/Yellowknife\"","America/Yellowknife"],[" tag=\"Antarctica/Casey\"","Antarctica/Casey"],[" tag=\"Antarctica/Davis\"","Antarctica/Davis"],[" tag=\"Antarctica/DumontDUrville\"","Antarctica/DumontDUrville"],[" tag=\"Antarctica/Macquarie\"","Antarctica/Macquarie"],[" tag=\"Antarctica/Mawson\"","Antarctica/Mawson"],[" tag=\"Antarctica/McMurdo\"","Antarctica/McMurdo"],[" tag=\"Antarctica/Palmer\"","Antarctica/Palmer"],[" tag=\"Antarctica/Rothera\"","Antarctica/Rothera"],[" tag=\"Antarctica/South_Pole\"","Antarctica/South_Pole"],[" tag=\"Antarctica/Syowa\"","Antarctica/Syowa"],[" tag=\"Antarctica/Troll\"","Antarctica/Troll"],[" tag=\"Antarctica/Vostok\"","Antarctica/Vostok"],[" tag=\"Arctic/Longyearbyen\"","Arctic/Longyearbyen"],[" tag=\"Asia/Aden\"","Asia/Aden"],[" tag=\"Asia/Almaty\"","Asia/Almaty"],[" tag=\"Asia/Amman\"","Asia/Amman"],[" tag=\"Asia/Anadyr\"","Asia/Anadyr"],[" tag=\"Asia/Aqtau\"","Asia/Aqtau"],[" tag=\"Asia/Aqtobe\"","Asia/Aqtobe"],[" tag=\"Asia/Ashgabat\"","Asia/Ashgabat"],[" tag=\"Asia/Ashkhabad\"","Asia/Ashkhabad"],[" tag=\"Asia/Atyrau\"","Asia/Atyrau"],[" tag=\"Asia/Baghdad\"","Asia/Baghdad"],[" tag=\"Asia/Bahrain\"","Asia/Bahrain"],[" tag=\"Asia/Baku\"","Asia/Baku"],[" tag=\"Asia/Bangkok\"","Asia/Bangkok"],[" tag=\"Asia/Barnaul\"","Asia/Barnaul"],[" tag=\"Asia/Beirut\"","Asia/Beirut"],[" tag=\"Asia/Bishkek\"","Asia/Bishkek"],[" tag=\"Asia/Brunei\"","Asia/Brunei"],[" tag=\"Asia/Calcutta\"","Asia/Calcutta"],[" tag=\"Asia/Chita\"","Asia/Chita"],[" tag=\"Asia/Choibalsan\"","Asia/Choibalsan"],[" tag=\"Asia/Chongqing\"","Asia/Chongqing"],[" tag=\"Asia/Chungking\"","Asia/Chungking"],[" tag=\"Asia/Colombo\"","Asia/Colombo"],[" tag=\"Asia/Dacca\"","Asia/Dacca"],[" tag=\"Asia/Damascus\"","Asia/Damascus"],[" tag=\"Asia/Dhaka\"","Asia/Dhaka"],[" tag=\"Asia/Dili\"","Asia/Dili"],[" tag=\"Asia/Dubai\"","Asia/Dubai"],[" tag=\"Asia/Dushanbe\"","Asia/Dushanbe"],[" tag=\"Asia/Famagusta\"","Asia/Famagusta"],[" tag=\"Asia/Gaza\"","Asia/Gaza"],[" tag=\"Asia/Harbin\"","Asia/Harbin"],[" tag=\"Asia/Hebron\"","Asia/Hebron"],[" tag=\"Asia/Ho_Chi_Minh\"","Asia/Ho_Chi_Minh"],[" tag=\"Asia/Hong_Kong\"","Asia/Hong_Kong"],[" tag=\"Asia/Hovd\"","Asia/Hovd"],[" tag=\"Asia/Irkutsk\"","Asia/Irkutsk"],[" tag=\"Asia/Istanbul\"","Asia/Istanbul"],[" tag=\"Asia/Jakarta\"","Asia/Jakarta"],[" tag=\"Asia/Jayapura\"","Asia/Jayapura"],[" tag=\"Asia/Jerusalem\"","Asia/Jerusalem"],[" tag=\"Asia/Kabul\"","Asia/Kabul"],[" tag=\"Asia/Kamchatka\"","Asia/Kamchatka"],[" tag=\"Asia/Karachi\"","Asia/Karachi"],[" tag=\"Asia/Kashgar\"","Asia/Kashgar"],[" tag=\"Asia/Kathmandu\"","Asia/Kathmandu"],[" tag=\"Asia/Katmandu\"","Asia/Katmandu"],[" tag=\"Asia/Khandyga\"","Asia/Khandyga"],[" tag=\"Asia/Kolkata\"","Asia/Kolkata"],[" tag=\"Asia/Krasnoyarsk\"","Asia/Krasnoyarsk"],[" tag=\"Asia/Kuala_Lumpur\"","Asia/Kuala_Lumpur"],[" tag=\"Asia/Kuching\"","Asia/Kuching"],[" tag=\"Asia/Kuwait\"","Asia/Kuwait"],[" tag=\"Asia/Macao\"","Asia/Macao"],[" tag=\"Asia/Macau\"","Asia/Macau"],[" tag=\"Asia/Magadan\"","Asia/Magadan"],[" tag=\"Asia/Makassar\"","Asia/Makassar"],[" tag=\"Asia/Manila\"","Asia/Manila"],[" tag=\"Asia/Muscat\"","Asia/Muscat"],[" tag=\"Asia/Nicosia\"","Asia/Nicosia"],[" tag=\"Asia/Novokuznetsk\"","Asia/Novokuznetsk"],[" tag=\"Asia/Novosibirsk\"","Asia/Novosibirsk"],[" tag=\"Asia/Omsk\"","Asia/Omsk"],[" tag=\"Asia/Oral\"","Asia/Oral"],[" tag=\"Asia/Phnom_Penh\"","Asia/Phnom_Penh"],[" tag=\"Asia/Pontianak\"","Asia/Pontianak"],[" tag=\"Asia/Pyongyang\"","Asia/Pyongyang"],[" tag=\"Asia/Qatar\"","Asia/Qatar"],[" tag=\"Asia/Qostanay\"","Asia/Qostanay"],[" tag=\"Asia/Qyzylorda\"","Asia/Qyzylorda"],[" tag=\"Asia/Rangoon\"","Asia/Rangoon"],[" tag=\"Asia/Riyadh\"","Asia/Riyadh"],[" tag=\"Asia/Saigon\"","Asia/Saigon"],[" tag=\"Asia/Sakhalin\"","Asia/Sakhalin"],[" tag=\"Asia/Samarkand\"","Asia/Samarkand"],[" tag=\"Asia/Seoul\"","Asia/Seoul"],[" tag=\"Asia/Shanghai\"","Asia/Shanghai"],[" tag=\"Asia/Singapore\"","Asia/Singapore"],[" tag=\"Asia/Srednekolymsk\"","Asia/Srednekolymsk"],[" tag=\"Asia/Taipei\"","Asia/Taipei"],[" tag=\"Asia/Tashkent\"","Asia/Tashkent"],[" tag=\"Asia/Tbilisi\"","Asia/Tbilisi"],[" tag=\"Asia/Tehran\"","Asia/Tehran"],[" tag=\"Asia/Tel_Aviv\"","Asia/Tel_Aviv"],[" tag=\"Asia/Thimbu\"","Asia/Thimbu"],[" tag=\"Asia/Thimphu\"","Asia/Thimphu"],[" tag=\"Asia/Tokyo\"","Asia/Tokyo"],[" tag=\"Asia/Tomsk\"","Asia/Tomsk"],[" tag=\"Asia/Ujung_Pandang\"","Asia/Ujung_Pandang"],[" tag=\"Asia/Ulaanbaatar\"","Asia/Ulaanbaatar"],[" tag=\"Asia/Ulan_Bator\"","Asia/Ulan_Bator"],[" tag=\"Asia/Urumqi\"","Asia/Urumqi"],[" tag=\"Asia/Ust-Nera\"","Asia/Ust-Nera"],[" tag=\"Asia/Vientiane\"","Asia/Vientiane"],[" tag=\"Asia/Vladivostok\"","Asia/Vladivostok"],[" tag=\"Asia/Yakutsk\"","Asia/Yakutsk"],[" tag=\"Asia/Yangon\"","Asia/Yangon"],[" tag=\"Asia/Yekaterinburg\"","Asia/Yekaterinburg"],[" tag=\"Asia/Yerevan\"","Asia/Yerevan"],[" tag=\"Atlantic/Azores\"","Atlantic/Azores"],[" tag=\"Atlantic/Bermuda\"","Atlantic/Bermuda"],[" tag=\"Atlantic/Canary\"","Atlantic/Canary"],[" tag=\"Atlantic/Cape_Verde\"","Atlantic/Cape_Verde"],[" tag=\"Atlantic/Faeroe\"","Atlantic/Faeroe"],[" tag=\"Atlantic/Faroe\"","Atlantic/Faroe"],[" tag=\"Atlantic/Jan_Mayen\"","Atlantic/Jan_Mayen"],[" tag=\"Atlantic/Madeira\"","Atlantic/Madeira"],[" tag=\"Atlantic/Reykjavik\"","Atlantic/Reykjavik"],[" tag=\"Atlantic/South_Georgia\"","Atlantic/South_Georgia"],[" tag=\"Atlantic/St_Helena\"","Atlantic/St_Helena"],[" tag=\"Atlantic/Stanley\"","Atlantic/Stanley"],[" tag=\"Australia/ACT\"","Australia/ACT"],[" tag=\"Australia/Adelaide\"","Australia/Adelaide"],[" tag=\"Australia/Brisbane\"","Australia/Brisbane"],[" tag=\"Australia/Broken_Hill\"","Australia/Broken_Hill"],[" tag=\"Australia/Canberra\"","Australia/Canberra"],[" tag=\"Australia/Currie\"","Australia/Currie"],[" tag=\"Australia/Darwin\"","Australia/Darwin"],[" tag=\"Australia/Eucla\"","Australia/Eucla"],[" tag=\"Australia/Hobart\"","Australia/Hobart"],[" tag=\"Australia/LHI\"","Australia/LHI"],[" tag=\"Australia/Lindeman\"","Australia/Lindeman"],[" tag=\"Australia/Lord_Howe\"","Australia/Lord_Howe"],[" tag=\"Australia/Melbourne\"","Australia/Melbourne"],[" tag=\"Australia/NSW\"","Australia/NSW"],[" tag=\"Australia/North\"","Australia/North"],[" tag=\"Australia/Perth\"","Australia/Perth"],[" tag=\"Australia/Queensland\"","Australia/Queensland"],[" tag=\"Australia/South\"","Australia/South"],[" tag=\"Australia/Sydney\"","Australia/Sydney"],[" tag=\"Australia/Tasmania\"","Australia/Tasmania"],[" tag=\"Australia/Victoria\"","Australia/Victoria"],[" tag=\"Australia/West\"","Australia/West"],[" tag=\"Australia/Yancowinna\"","Australia/Yancowinna"],[" tag=\"Brazil/Acre\"","Brazil/Acre"],[" tag=\"Brazil/DeNoronha\"","Brazil/DeNoronha"],[" tag=\"Brazil/East\"","Brazil/East"],[" tag=\"Brazil/West\"","Brazil/West"],[" tag=\"CET\"","CET"],[" tag=\"CST6CDT\"","CST6CDT"],[" tag=\"Canada/Atlantic\"","Canada/Atlantic"],[" tag=\"Canada/Central\"","Canada/Central"],[" tag=\"Canada/Eastern\"","Canada/Eastern"],[" tag=\"Canada/Mountain\"","Canada/Mountain"],[" tag=\"Canada/Newfoundland\"","Canada/Newfoundland"],[" tag=\"Canada/Pacific\"","Canada/Pacific"],[" tag=\"Canada/Saskatchewan\"","Canada/Saskatchewan"],[" tag=\"Canada/Yukon\"","Canada/Yukon"],[" tag=\"Chile/Continental\"","Chile/Continental"],[" tag=\"Chile/EasterIsland\"","Chile/EasterIsland"],[" tag=\"Cuba\"","Cuba"],[" tag=\"EET\"","EET"],[" tag=\"EST\"","EST"],[" tag=\"EST5EDT\"","EST5EDT"],[" tag=\"Egypt\"","Egypt"],[" tag=\"Eire\"","Eire"],[" tag=\"Etc/GMT\"","Etc/GMT"],[" tag=\"Etc/GMT+0\"","Etc/GMT+0"],[" tag=\"Etc/GMT+1\"","Etc/GMT+1"],[" tag=\"Etc/GMT+10\"","Etc/GMT+10"],[" tag=\"Etc/GMT+11\"","Etc/GMT+11"],[" tag=\"Etc/GMT+12\"","Etc/GMT+12"],[" tag=\"Etc/GMT+2\"","Etc/GMT+2"],[" tag=\"Etc/GMT+3\"","Etc/GMT+3"],[" tag=\"Etc/GMT+4\"","Etc/GMT+4"],[" tag=\"Etc/GMT+5\"","Etc/GMT+5"],[" tag=\"Etc/GMT+6\"","Etc/GMT+6"],[" tag=\"Etc/GMT+7\"","Etc/GMT+7"],[" tag=\"Etc/GMT+8\"","Etc/GMT+8"],[" tag=\"Etc/GMT+9\"","Etc/GMT+9"],[" tag=\"Etc/GMT-0\"","Etc/GMT-0"],[" tag=\"Etc/GMT-1\"","Etc/GMT-1"],[" tag=\"Etc/GMT-10\"","Etc/GMT-10"],[" tag=\"Etc/GMT-11\"","Etc/GMT-11"],[" tag=\"Etc/GMT-12\"","Etc/GMT-12"],[" tag=\"Etc/GMT-13\"","Etc/GMT-13"],[" tag=\"Etc/GMT-14\"","Etc/GMT-14"],[" tag=\"Etc/GMT-2\"","Etc/GMT-2"],[" tag=\"Etc/GMT-3\"","Etc/GMT-3"],[" tag=\"Etc/GMT-4\"","Etc/GMT-4"],[" tag=\"Etc/GMT-5\"","Etc/GMT-5"],[" tag=\"Etc/GMT-6\"","Etc/GMT-6"],[" tag=\"Etc/GMT-7\"","Etc/GMT-7"],[" tag=\"Etc/GMT-8\"","Etc/GMT-8"],[" tag=\"Etc/GMT-9\"","Etc/GMT-9"],[" tag=\"Etc/GMT0\"","Etc/GMT0"],[" tag=\"Etc/Greenwich\"","Etc/Greenwich"],[" tag=\"Etc/UCT\"","Etc/UCT"],[" tag=\"Etc/UTC\"","Etc/UTC"],[" tag=\"Etc/Universal\"","Etc/Universal"],[" tag=\"Etc/Zulu\"","Etc/Zulu"],[" tag=\"Europe/Amsterdam\"","Europe/Amsterdam"],[" tag=\"Europe/Andorra\"","Europe/Andorra"],[" tag=\"Europe/Astrakhan\"","Europe/Astrakhan"],[" tag=\"Europe/Athens\"","Europe/Athens"],[" tag=\"Europe/Belfast\"","Europe/Belfast"],[" tag=\"Europe/Belgrade\"","Europe/Belgrade"],[" tag=\"Europe/Berlin\"","Europe/Berlin"],[" tag=\"Europe/Bratislava\"","Europe/Bratislava"],[" tag=\"Europe/Brussels\"","Europe/Brussels"],[" tag=\"Europe/Bucharest\"","Europe/Bucharest"],[" tag=\"Europe/Budapest\"","Europe/Budapest"],[" tag=\"Europe/Busingen\"","Europe/Busingen"],[" tag=\"Europe/Chisinau\"","Europe/Chisinau"],[" tag=\"Europe/Copenhagen\"","Europe/Copenhagen"],[" tag=\"Europe/Dublin\"","Europe/Dublin"],[" tag=\"Europe/Gibraltar\"","Europe/Gibraltar"],[" tag=\"Europe/Guernsey\"","Europe/Guernsey"],[" tag=\"Europe/Helsinki\"","Europe/Helsinki"],[" tag=\"Europe/Isle_of_Man\"","Europe/Isle_of_Man"],[" tag=\"Europe/Istanbul\"","Europe/Istanbul"],[" tag=\"Europe/Jersey\"","Europe/Jersey"],[" tag=\"Europe/Kaliningrad\"","Europe/Kaliningrad"],[" tag=\"Europe/Kiev\"","Europe/Kiev"],[" tag=\"Europe/Kirov\"","Europe/Kirov"],[" tag=\"Europe/Kyiv\"","Europe/Kyiv"],[" tag=\"Europe/Lisbon\"","Europe/Lisbon"],[" tag=\"Europe/Ljubljana\"","Europe/Ljubljana"],[" tag=\"Europe/London\"","Europe/London"],[" tag=\"Europe/Luxembourg\"","Europe/Luxembourg"],[" tag=\"Europe/Madrid\"","Europe/Madrid"],[" tag=\"Europe/Malta\"","Europe/Malta"],[" tag=\"Europe/Mariehamn\"","Europe/Mariehamn"],[" tag=\"Europe/Minsk\"","Europe/Minsk"],[" tag=\"Europe/Monaco\"","Europe/Monaco"],[" tag=\"Europe/Moscow\"","Europe/Moscow"],[" tag=\"Europe/Nicosia\"","Europe/Nicosia"],[" tag=\"Europe/Oslo\"","Europe/Oslo"],[" tag=\"Europe/Paris\"","Europe/Paris"],[" tag=\"Europe/Podgorica\"","Europe/Podgorica"],[" tag=\"Europe/Prague\"","Europe/Prague"],[" tag=\"Europe/Riga\"","Europe/Riga"],[" tag=\"Europe/Rome\"","Europe/Rome"],[" tag=\"Europe/Samara\"","Europe/Samara"],[" tag=\"Europe/San_Marino\"","Europe/San_Marino"],[" tag=\"Europe/Sarajevo\"","Europe/Sarajevo"],[" tag=\"Europe/Saratov\"","Europe/Saratov"],[" tag=\"Europe/Simferopol\"","Europe/Simferopol"],[" tag=\"Europe/Skopje\"","Europe/Skopje"],[" tag=\"Europe/Sofia\"","Europe/Sofia"],[" tag=\"Europe/Stockholm\"","Europe/Stockholm"],[" tag=\"Europe/Tallinn\"","Europe/Tallinn"],[" tag=\"Europe/Tirane\"","Europe/Tirane"],[" tag=\"Europe/Tiraspol\"","Europe/Tiraspol"],[" tag=\"Europe/Ulyanovsk\"","Europe/Ulyanovsk"],[" tag=\"Europe/Uzhgorod\"","Europe/Uzhgorod"],[" tag=\"Europe/Vaduz\"","Europe/Vaduz"],[" tag=\"Europe/Vatican\"","Europe/Vatican"],[" tag=\"Europe/Vienna\"","Europe/Vienna"],[" tag=\"Europe/Vilnius\"","Europe/Vilnius"],[" tag=\"Europe/Volgograd\"","Europe/Volgograd"],[" tag=\"Europe/Warsaw\"","Europe/Warsaw"],[" tag=\"Europe/Zagreb\"","Europe/Zagreb"],[" tag=\"Europe/Zaporozhye\"","Europe/Zaporozhye"],[" tag=\"Europe/Zurich\"","Europe/Zurich"],[" tag=\"GB\"","GB"],[" tag=\"GB-Eire\"","GB-Eire"],[" tag=\"GMT\"","GMT"],[" tag=\"GMT+0\"","GMT+0"],[" tag=\"GMT-0\"","GMT-0"],[" tag=\"GMT0\"","GMT0"],[" tag=\"Greenwich\"","Greenwich"],[" tag=\"HST\"","HST"],[" tag=\"Hongkong\"","Hongkong"],[" tag=\"Iceland\"","Iceland"],[" tag=\"Indian/Antananarivo\"","Indian/Antananarivo"],[" tag=\"Indian/Chagos\"","Indian/Chagos"],[" tag=\"Indian/Christmas\"","Indian/Christmas"],[" tag=\"Indian/Cocos\"","Indian/Cocos"],[" tag=\"Indian/Comoro\"","Indian/Comoro"],[" tag=\"Indian/Kerguelen\"","Indian/Kerguelen"],[" tag=\"Indian/Mahe\"","Indian/Mahe"],[" tag=\"Indian/Maldives\"","Indian/Maldives"],[" tag=\"Indian/Mauritius\"","Indian/Mauritius"],[" tag=\"Indian/Mayotte\"","Indian/Mayotte"],[" tag=\"Indian/Reunion\"","Indian/Reunion"],[" tag=\"Iran\"","Iran"],[" tag=\"Israel\"","Israel"],[" tag=\"Jamaica\"","Jamaica"],[" tag=\"Japan\"","Japan"],[" tag=\"Kwajalein\"","Kwajalein"],[" tag=\"Libya\"","Libya"],[" tag=\"MET\"","MET"],[" tag=\"MST\"","MST"],[" tag=\"MST7MDT\"","MST7MDT"],[" tag=\"Mexico/BajaNorte\"","Mexico/BajaNorte"],[" tag=\"Mexico/BajaSur\"","Mexico/BajaSur"],[" tag=\"Mexico/General\"","Mexico/General"],[" tag=\"NZ\"","NZ"],[" tag=\"NZ-CHAT\"","NZ-CHAT"],[" tag=\"Navajo\"","Navajo"],[" tag=\"PRC\"","PRC"],[" tag=\"PST8PDT\"","PST8PDT"],[" tag=\"Pacific/Apia\"","Pacific/Apia"],[" tag=\"Pacific/Auckland\"","Pacific/Auckland"],[" tag=\"Pacific/Bougainville\"","Pacific/Bougainville"],[" tag=\"Pacific/Chatham\"","Pacific/Chatham"],[" tag=\"Pacific/Chuuk\"","Pacific/Chuuk"],[" tag=\"Pacific/Easter\"","Pacific/Easter"],[" tag=\"Pacific/Efate\"","Pacific/Efate"],[" tag=\"Pacific/Enderbury\"","Pacific/Enderbury"],[" tag=\"Pacific/Fakaofo\"","Pacific/Fakaofo"],[" tag=\"Pacific/Fiji\"","Pacific/Fiji"],[" tag=\"Pacific/Funafuti\"","Pacific/Funafuti"],[" tag=\"Pacific/Galapagos\"","Pacific/Galapagos"],[" tag=\"Pacific/Gambier\"","Pacific/Gambier"],[" tag=\"Pacific/Guadalcanal\"","Pacific/Guadalcanal"],[" tag=\"Pacific/Guam\"","Pacific/Guam"],[" tag=\"Pacific/Honolulu\"","Pacific/Honolulu"],[" tag=\"Pacific/Johnston\"","Pacific/Johnston"],[" tag=\"Pacific/Kanton\"","Pacific/Kanton"],[" tag=\"Pacific/Kiritimati\"","Pacific/Kiritimati"],[" tag=\"Pacific/Kosrae\"","Pacific/Kosrae"],[" tag=\"Pacific/Kwajalein\"","Pacific/Kwajalein"],[" tag=\"Pacific/Majuro\"","Pacific/Majuro"],[" tag=\"Pacific/Marquesas\"","Pacific/Marquesas"],[" tag=\"Pacific/Midway\"","Pacific/Midway"],[" tag=\"Pacific/Nauru\"","Pacific/Nauru"],[" tag=\"Pacific/Niue\"","Pacific/Niue"],[" tag=\"Pacific/Norfolk\"","Pacific/Norfolk"],[" tag=\"Pacific/Noumea\"","Pacific/Noumea"],[" tag=\"Pacific/Pago_Pago\"","Pacific/Pago_Pago"],[" tag=\"Pacific/Palau\"","Pacific/Palau"],[" tag=\"Pacific/Pitcairn\"","Pacific/Pitcairn"],[" tag=\"Pacific/Pohnpei\"","Pacific/Pohnpei"],[" tag=\"Pacific/Ponape\"","Pacific/Ponape"],[" tag=\"Pacific/Port_Moresby\"","Pacific/Port_Moresby"],[" tag=\"Pacific/Rarotonga\"","Pacific/Rarotonga"],[" tag=\"Pacific/Saipan\"","Pacific/Saipan"],[" tag=\"Pacific/Samoa\"","Pacific/Samoa"],[" tag=\"Pacific/Tahiti\"","Pacific/Tahiti"],[" tag=\"Pacific/Tarawa\"","Pacific/Tarawa"],[" tag=\"Pacific/Tongatapu\"","Pacific/Tongatapu"],[" tag=\"Pacific/Truk\"","Pacific/Truk"],[" tag=\"Pacific/Wake\"","Pacific/Wake"],[" tag=\"Pacific/Wallis\"","Pacific/Wallis"],[" tag=\"Pacific/Yap\"","Pacific/Yap"],[" tag=\"Poland\"","Poland"],[" tag=\"Portugal\"","Portugal"],[" tag=\"ROC\"","ROC"],[" tag=\"ROK\"","ROK"],[" tag=\"Singapore\"","Singapore"],[" tag=\"Turkey\"","Turkey"],[" tag=\"UCT\"","UCT"],[" tag=\"US/Alaska\"","US/Alaska"],[" tag=\"US/Aleutian\"","US/Aleutian"],[" tag=\"US/Arizona\"","US/Arizona"],[" tag=\"US/Central\"","US/Central"],[" tag=\"US/East-Indiana\"","US/East-Indiana"],[" tag=\"US/Eastern\"","US/Eastern"],[" tag=\"US/Hawaii\"","US/Hawaii"],[" tag=\"US/Indiana-Starke\"","US/Indiana-Starke"],[" tag=\"US/Michigan\"","US/Michigan"],[" tag=\"US/Mountain\"","US/Mountain"],[" tag=\"US/Pacific\"","US/Pacific"],[" tag=\"US/Samoa\"","US/Samoa"],[" tag=\"UTC\"","UTC"],[" tag=\"Universal\"","Universal"],[" tag=\"W-SU\"","W-SU"],[" tag=\"WET\"","WET"],[" tag=\"Zulu\"","Zulu"]]},"6":"","s":["<VStack alignment=\"leading\">\n  <Picker","","","",">\n    <Text template=\"label\">","</Text>\n    ","\n  </Picker>\n  ","\n</VStack>"],"r":1},"5":{"0":{"0":{"0":" destination=\"https://github.com/jtormey/lax/blob/main/native/swiftui/TERMS.md\"","1":"","2":{"s":["I agree to the Terms of Service"]},"s":["<Link","",">\n  ","\n</Link>"],"r":1},"s":["",""]},"1":" id=\"user_terms_of_service\"","2":" name=\"user[terms_of_service]\"","3":"","4":" style=\"  \"","5":"","s":["<VStack alignment=\"leading\">\n  <LabeledContent>\n    <Text template=\"label\">","</Text>\n    <Toggle","","","","></Toggle>\n  </LabeledContent>\n  ","\n</VStack>"],"r":1},"s":["\n  ","\n\n  ","\n  ","\n  ","\n  ","\n\n  ","\n\n  "]},"1":{"s":["\n        ","\n      "],"p":{"0":["\n      Create an account\n    "],"1":["<Section>\n  <LiveSubmitButton","",">\n    <Group",">\n      ","\n    </Group>\n  </LiveSubmitButton>\n</Section>"],"2":["\n    ","\n  "]},"d":[[{"0":{"0":" style=\"buttonStyle(.borderedProminent);controlSize(.large);listRowInsets(EdgeInsets());listRowBackground(:empty)\"","1":"","2":" style=\"frame(maxWidth: .infinity);bold(true)\"","3":{"s":0},"s":1,"r":1},"s":2}]]},"s":["\n  <Form>\n    ","\n    <Section>\n      ","\n    </Section>\n  </Form>\n"]},"s":["<LiveForm",">\n  ","\n</LiveForm>"],"r":1},"s":["",""]},"s":["","\n\n",""]},"s":["","\n",""]}}}]
[Socket] SwiftPhoenixClient: push, Sending [null,"8","phoenix","heartbeat",{}]
[Socket] SwiftPhoenixClient: receive , [null,"8","phoenix","phx_reply",{"status":"ok","response":{}}]
[Socket] SwiftPhoenixClient: push, Sending [null,"9","phoenix","heartbeat",{}]
[Socket] SwiftPhoenixClient: receive , [null,"9","phoenix","phx_reply",{"status":"ok","response":{}}]
bcardarella commented 2 weeks ago

After some internal discussion this isn't a bug but just that we're not handling navigation events that do disconnect gracefully enough.

Some changes we should do for this:

  1. We shouldn't render the Disconnected view in the midst of a navigation, as LiveView's own programming model expects there to be disconnects during navigation events from time to time
  2. We need to implement a method so that if we download a parse a stylesheet from a given URL if they app reconnects and it is the same URL then we don't fetch and don't re-parse the stylesheet, we rely upon the current cache of the parsed stylesheet.
  3. I've been meaning to request a method for LiveView so that the dead render can just give us connection information. This way we can avoid the overhead of a slower dead render.