diff of fd4e49abf2685723412b8dccfe7f5e06e8f4b474

fd4e49abf2685723412b8dccfe7f5e06e8f4b474
diff --git a/elm-frontti/src/Main.elm b/elm-frontti/src/Main.elm
index 14caebf..653585f 100644
--- a/elm-frontti/src/Main.elm
+++ b/elm-frontti/src/Main.elm
@@ -131,7 +131,16 @@ port aceStateUpdate : (String -> msg) -> Sub msg
 toggleHidden article =
     { article | hidden = not article.hidden}
 toggleUnlisted article =
-    { article | unlisted = not article.unlisted}                      
+    { article | unlisted = not article.unlisted}
+
+errToString: Http.Error -> String 
+errToString err =
+    case err of
+        Http.BadUrl str -> "Bad url: " ++ str
+        Http.Timeout -> "Timeout trying to contact the server. Are you online?"
+        Http.NetworkError -> "Network error. Are you online?"
+        Http.BadStatus status -> ("Received unexpected status " ++ (String.fromInt status) ++ " from backend")
+        Http.BadBody body -> "Received unparseable response: " ++ body
 
 update : Msg -> Model -> (Model, Cmd Msg)
 update msg model =
@@ -151,13 +160,10 @@ update msg model =
                 Err error -> ( model
                              , alert ("Error loading post " ++ Debug.toString error))
         PageReceived result ->
-            case result of
-                Ok page -> 
-                    ( {model | view_state = PageView page}
-                    , Cmd.none)
-                Err error ->
-                    ( model
-                    , alert ("Error loading page " ++ Debug.toString error))
+            ( {model | view_state = case result of
+                                        Ok page -> PageView page
+                                        Err error -> ShowError ( errToString error)}
+            , Cmd.none)
         TitlesReceived result ->
             case result of
                 Ok decoded_titles ->
@@ -552,8 +558,12 @@ view model =
                                            PostView article ->
                                                [ articleView settings model.loginState model.zone article ]
                                            PageView page ->
-                                               (List.concat [(List.map (articleView settings model.loginState model.zone) page.posts),
-                                                                 [footer [(attribute "data-testid" "page-changer")] (if page.id > 1 then [ a [href ("/blog/page/" ++ fromInt (page.id + 1))] [text "Older posts"]
+                                               let post_elements = (List.map (articleView settings model.loginState model.zone) page.posts) in
+                                               (List.concat [ (if post_elements /= [] then
+                                                                   post_elements
+                                                               else
+                                                                   [ div [class "post"] [ text "There are no posts in this instance"]])
+                                                            , [footer [(attribute "data-testid" "page-changer")] (if page.id > 1 then [ a [href ("/blog/page/" ++ fromInt (page.id + 1))] [text "Older posts"]
                                                                                                  , a [href ("/blog/page/" ++ fromInt (page.id - 1)), class "newer-post"] [text "Newer posts"]]
                                                                              else [a [href ("/blog/page/" ++ fromInt (page.id + 1))] [text "Next page"]])]])
                                            ShowError err ->
diff --git a/src/routes/post-routes.lisp b/src/routes/post-routes.lisp
index 2c52a2c..53928bf 100644
--- a/src/routes/post-routes.lisp
+++ b/src/routes/post-routes.lisp
@@ -26,7 +26,7 @@
     (&path (page 'integer)
 	   &path (page-size 'integer))
   (let* ((page (1- page))
-	 (posts (murja.posts.post-db:get-page page page-size))
+	 (posts (or (murja.posts.post-db:get-page page page-size) #()))
 	 (id page)
 	 (last-page? (zerop (length (murja.posts.post-db:get-page (1+ page) page-size))))
 	 (result (make-hash-table)))