Lift 3 release date

136 views
Skip to first unread message

Antonio Salazar Cardozo

unread,
Oct 14, 2016, 5:21:10 PM10/14/16
to Lift
Hey there folks,
Barring any additional issues found, we're planning on promoting RC4 to
be the Lift 3.0.0 release on the week of November 4th. As such, please
let us know if you're facing any additional showstopper issues in this RC.

Otherwise, we look forward to closing out this seemingly interminable release
cycle and moving forward with a quicker 3.1 cycle :)
Thanks,
Antonio

Saiki Tanabe

unread,
Oct 18, 2016, 11:03:59 AM10/18/16
to Lift
Hey there,

Been running Lift 3 RC 4 on production, and it is working really well. There is one corner case that keeps coming. It is not especially related for RC 4, but generally Lift 3. Now that custom javascript is loaded from a separate javascript file generated for each session.

<script type="text/javascript" src="/lift/page/F798761692508K2IZIH.js"></script>

Building a service where users keep pages open for a very long time. After a while of user inactivity javascript file is not found from the server due to e.g. closing a laptop lid. Session on the server for the user has expired. Chrome developer console shows 

Failed to load resource /lift/page/F798761692508K2IZIH.js: the server responded with a status of 404 ()

User can fix this problem by pressing refresh button, then page refers an updated javascript file name. It would be really great if page would be automatically reloaded in this situation. Any ideas how this could be achieved?

Saiki

Antonio Salazar Cardozo

unread,
Oct 18, 2016, 11:05:36 AM10/18/16
to Lift
Hmmm… Not 100% clear on when this happens yet. So this happens when a
user navigates to a page and immediately closes their laptop, thus preventing
the page from loading completely? Or is it slightly different?
Thanks,
Antonio

Antonio Salazar Cardozo

unread,
Oct 18, 2016, 11:11:45 AM10/18/16
to Lift
Separately from understanding when this happens, there is a straightforward way
to customize the behavior of the page JS. That's because the page JS handler is
just a standard dispatch function that Lift attaches in LiftRules. It's defined in this bit
of LiftJavaScript. So, for now, you should be able to add your own dispatch function
that catches the same situation and returns some page reload JS. As long as you
append to `LiftRules.dispatch`, your response should only fire if no page JS is found
through the regular mechanism.

Let me know if you need more than that!
Thanks,
Antonio

Saiki Tanabe

unread,
Oct 18, 2016, 12:23:21 PM10/18/16
to Lift
Thanks, will try out if this would solve this!
...
      case LiftPath :: "page" :: renderVersion(version) :: Nil => {
        // not found case
        logger.error("page js version not found %s reloading the page".format(version))
        Some(JavaScriptResponse(js.JsCmds.Reload))
      }
...

The case goes like this, and most probably needs at least 2 browser tabs opened to different pages

1. user opens a page(s)
2. user interacts normally with the page(s)
3. at some point user closes laptop lid e.g. after 20 minutes after interacting with the page(s)
4. user opens laptop lid, let's say 1 hour later (after user session has expired)
5. one tab reloads page correctly with updated page js, but the other browser tab doesn't do full page reload... or gets for some reason non existing page js file reference

Saiki

Antonio Salazar Cardozo

unread,
Oct 19, 2016, 2:03:31 PM10/19/16
to Lift
Hmmm, this is very interesting… And smells like a race condition in the session regeneration. If
this is something that is reproducible in a small test project, I would love to sink my teeth into it
once 3.0 gets out the door.
Thanks,
Antonio

Saiki Tanabe

unread,
Oct 28, 2016, 1:17:55 AM10/28/16
to Lift
Thanks again, the code snippet now solves this problem! User experience is really nice when page can reload itself when page js version is not found.

One small problem is that snippet dispatcher gets executed relatively often. Below is an example logging for it. I'll try to look at some point if this is reproducible on a small test project.

...
02:48:00.089 [qtp38997010-197874] ERROR bootstrap.liftweb.Boot - page js version not found F961442348320FR2DHS reloading the page
02:48:00.089 [qtp38997010-197874] ERROR bootstrap.liftweb.Boot - page js version not found F961442348320FR2DHS reloading the page
02:48:00.568 [qtp38997010-197125] ERROR bootstrap.liftweb.Boot - page js version not found F961442348376WSBCDM reloading the page
02:48:00.568 [qtp38997010-197125] ERROR bootstrap.liftweb.Boot - page js version not found F961442348376WSBCDM reloading the page
02:48:02.604 [qtp38997010-196219] ERROR bootstrap.liftweb.Boot - page js version not found F961442348453NEZQHS reloading the page
02:48:02.604 [qtp38997010-196219] ERROR bootstrap.liftweb.Boot - page js version not found F961442348453NEZQHS reloading the page
02:48:03.613 [qtp38997010-186822] ERROR bootstrap.liftweb.Boot - page js version not found F961442348539M4QBSV reloading the page
02:48:03.613 [qtp38997010-186822] ERROR bootstrap.liftweb.Boot - page js version not found F961442348539M4QBSV reloading the page
02:48:04.443 [qtp38997010-197125] ERROR bootstrap.liftweb.Boot - page js version not found F961442348619WQ3NUF reloading the page
02:48:04.443 [qtp38997010-197125] ERROR bootstrap.liftweb.Boot - page js version not found F961442348619WQ3NUF reloading the page
02:48:05.659 [qtp38997010-197855] ERROR bootstrap.liftweb.Boot - page js version not found F961442348695L3315G reloading the page
02:48:05.659 [qtp38997010-197855] ERROR bootstrap.liftweb.Boot - page js version not found F961442348695L3315G reloading the page
02:48:06.738 [qtp38997010-197855] ERROR bootstrap.liftweb.Boot - page js version not found F961442348798S5XHMG reloading the page
02:48:06.738 [qtp38997010-197855] ERROR bootstrap.liftweb.Boot - page js version not found F961442348798S5XHMG reloading the page
02:48:07.927 [qtp38997010-191849] ERROR bootstrap.liftweb.Boot - page js version not found F961442348897VDRCUR reloading the page
02:48:07.927 [qtp38997010-191849] ERROR bootstrap.liftweb.Boot - page js version not found F961442348897VDRCUR reloading the page
02:48:08.978 [qtp38997010-191849] ERROR bootstrap.liftweb.Boot - page js version not found F961442348984CCSK5W reloading the page
02:48:08.978 [qtp38997010-191849] ERROR bootstrap.liftweb.Boot - page js version not found F961442348984CCSK5W reloading the page
02:48:09.962 [qtp38997010-191849] ERROR bootstrap.liftweb.Boot - page js version not found F961442349073TBFWB5 reloading the page
02:48:09.962 [qtp38997010-191849] ERROR bootstrap.liftweb.Boot - page js version not found F961442349073TBFWB5 reloading the page
02:48:10.850 [qtp38997010-196169] ERROR bootstrap.liftweb.Boot - page js version not found F961442349162YZE5T3 reloading the page
02:48:10.850 [qtp38997010-196169] ERROR bootstrap.liftweb.Boot - page js version not found F961442349162YZE5T3 reloading the page
02:48:11.964 [qtp38997010-186822] ERROR bootstrap.liftweb.Boot - page js version not found F961442349267MXOPFZ reloading the page
02:48:11.965 [qtp38997010-186822] ERROR bootstrap.liftweb.Boot - page js version not found F961442349267MXOPFZ reloading the page
02:48:12.743 [qtp38997010-196169] ERROR bootstrap.liftweb.Boot - page js version not found F961442349368VAXJYT reloading the page
02:48:12.743 [qtp38997010-196169] ERROR bootstrap.liftweb.Boot - page js version not found F961442349368VAXJYT reloading the page
02:48:13.828 [qtp38997010-189862] ERROR bootstrap.liftweb.Boot - page js version not found F961442349472QNVQ1C reloading the page
02:48:13.829 [qtp38997010-189862] ERROR bootstrap.liftweb.Boot - page js version not found F961442349472QNVQ1C reloading the page
...

Saiki

Antonio Salazar Cardozo

unread,
Nov 1, 2016, 8:13:32 AM11/1/16
to Lift
How often is relatively often? Multiple times for a single page load? I would
expect it to run once for a page JS load and then be done.
Thanks,
Antonio

Diego Medina

unread,
Nov 9, 2016, 9:24:19 PM11/9/16
to Lift
We said we would release Lift 3.0 final this week, but Scala 2.12 was recently released, do we wait for it and only ship jars for 2.12 or do we, from the start, support 2.11.x and then 2.12?

Thanks

Diego

--
--
Lift, the simply functional web framework: http://liftweb.net
Code: http://github.com/lift
Discussion: http://groups.google.com/group/liftweb
Stuck? Help us help you: https://www.assembla.com/wiki/show/liftweb/Posting_example_code

---
You received this message because you are subscribed to the Google Groups "Lift" group.
To unsubscribe from this group and stop receiving emails from it, send an email to liftweb+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Diego Medina
Lift/Scala Consultant
di...@fmpwizard.com
http://blog.fmpwizard.com/

Matt Farmer

unread,
Nov 10, 2016, 10:10:50 AM11/10/16
to Lift
I think we support 2.11 and 2.12 from the start.


Matt Farmer | Blog | Twitter
GPG: CD57 2E26 F60C 0A61 E6D8  FC72 4493 8917 D667 4D07

To unsubscribe from this group and stop receiving emails from it, send an email to liftweb+u...@googlegroups.com.

Antonio Salazar Cardozo

unread,
Nov 10, 2016, 10:12:21 AM11/10/16
to liftweb
I’d say we ship Lift 3 very soon (I need to actually finish putting together the
release notes <_<) and then do a separate release with 2.12 support, perhaps
3.0.1 or even just push 2.12 artifacts for 3.0. There’s an outstanding PR
that sets the base for implementing the necessary changes to the build, but
it needs a bit of love still, and I haven’t had a chance to look at it.

I don’t think actually delaying the 3.0 release for 2.12 support is worth it,
though, personally.
Thanks,

--
Antonio Salazar Cardozo
On twitter @lightfiend

You received this message because you are subscribed to a topic in the Google Groups "Lift" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/liftweb/ARzscCT6VHc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to liftweb+u...@googlegroups.com.

Diego Medina

unread,
Nov 10, 2016, 10:48:20 AM11/10/16
to Lift
sounds good, so, are we ready for a 3.0 final build? :) If I don't hear any -1 , I'll build it this weekend

On Thu, Nov 10, 2016 at 10:12 AM, Antonio Salazar Cardozo <savedf...@gmail.com> wrote:
I’d say we ship Lift 3 very soon (I need to actually finish putting together the
release notes <_<) and then do a separate release with 2.12 support, perhaps
3.0.1 or even just push 2.12 artifacts for 3.0. There’s an outstanding PR
that sets the base for implementing the necessary changes to the build, but
it needs a bit of love still, and I haven’t had a chance to look at it.

I don’t think actually delaying the 3.0 release for 2.12 support is worth it,
though, personally.
Thanks,

--
Antonio Salazar Cardozo
On twitter @lightfiend

On Nov 10, 2016, at 10:10, Matt Farmer <ma...@frmr.me> wrote:

I think we support 2.11 and 2.12 from the start.


Matt Farmer | Blog | Twitter
GPG: CD57 2E26 F60C 0A61 E6D8  FC72 4493 8917 D667 4D07

On Nov 9, 2016, at 9:24 PM, Diego Medina <di...@fmpwizard.com> wrote:

We said we would release Lift 3.0 final this week, but Scala 2.12 was recently released, do we wait for it and only ship jars for 2.12 or do we, from the start, support 2.11.x and then 2.12?

Thanks

Diego


-- 

-- 
Lift, the simply functional web framework: http://liftweb.net
Code: http://github.com/lift
Discussion: http://groups.google.com/group/liftweb
Stuck? Help us help you: https://www.assembla.com/wiki/show/liftweb/Posting_example_code

--- 
You received this message because you are subscribed to a topic in the Google Groups "Lift" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/liftweb/ARzscCT6VHc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to liftweb+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
--
Lift, the simply functional web framework: http://liftweb.net
Code: http://github.com/lift
Discussion: http://groups.google.com/group/liftweb
Stuck? Help us help you: https://www.assembla.com/wiki/show/liftweb/Posting_example_code

---
You received this message because you are subscribed to the Google Groups "Lift" group.
To unsubscribe from this group and stop receiving emails from it, send an email to liftweb+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Antonio Salazar Cardozo

unread,
Nov 10, 2016, 10:51:57 AM11/10/16
to lif...@googlegroups.com
I say yes!

--
Antonio Salazar Cardozo
On twitter @lightfiend

To unsubscribe from this group and all its topics, send an email to liftweb+u...@googlegroups.com.

Matt Farmer

unread,
Nov 10, 2016, 10:53:03 AM11/10/16
to Lift


Matt Farmer | Blog | Twitter
GPG: CD57 2E26 F60C 0A61 E6D8  FC72 4493 8917 D667 4D07

To unsubscribe from this group and stop receiving emails from it, send an email to liftweb+u...@googlegroups.com.

Peter Petersson

unread,
Nov 10, 2016, 11:34:25 AM11/10/16
to liftweb

+1


I say yes!
To unsubscribe from this group and all its topics, send an email to liftweb+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Tim Nelson

unread,
Nov 11, 2016, 5:34:27 AM11/11/16
to Lift
+1

+1


I say yes!
To unsubscribe from this group and stop receiving emails from it, send an email to liftweb+u...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



-- 
Diego Medina
Lift/Scala Consultant
di...@fmpwizard.com
http://blog.fmpwizard.com/

-- 
-- 
Lift, the simply functional web framework: http://liftweb.net
Code: http://github.com/lift
Discussion: http://groups.google.com/group/liftweb
Stuck? Help us help you: https://www.assembla.com/wiki/show/liftweb/Posting_example_code

--- 
You received this message because you are subscribed to the Google Groups "Lift" group.
To unsubscribe from this group and stop receiving emails from it, send an email to liftweb+u...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

-- 
-- 
Lift, the simply functional web framework: http://liftweb.net
Code: http://github.com/lift
Discussion: http://groups.google.com/group/liftweb
Stuck? Help us help you: https://www.assembla.com/wiki/show/liftweb/Posting_example_code

--- 
You received this message because you are subscribed to a topic in the Google Groups "Lift" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/liftweb/ARzscCT6VHc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to liftweb+u...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
--
Lift, the simply functional web framework: http://liftweb.net
Code: http://github.com/lift
Discussion: http://groups.google.com/group/liftweb
Stuck? Help us help you: https://www.assembla.com/wiki/show/liftweb/Posting_example_code

---
You received this message because you are subscribed to the Google Groups "Lift" group.
To unsubscribe from this group and stop receiving emails from it, send an email to liftweb+u...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Diego Medina
Lift/Scala Consultant
di...@fmpwizard.com
http://blog.fmpwizard.com/

--
--
Lift, the simply functional web framework: http://liftweb.net
Code: http://github.com/lift
Discussion: http://groups.google.com/group/liftweb
Stuck? Help us help you: https://www.assembla.com/wiki/show/liftweb/Posting_example_code

---
You received this message because you are subscribed to a topic in the Google Groups "Lift" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/liftweb/ARzscCT6VHc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to liftweb+u...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
--
Lift, the simply functional web framework: http://liftweb.net
Code: http://github.com/lift
Discussion: http://groups.google.com/group/liftweb
Stuck? Help us help you: https://www.assembla.com/wiki/show/liftweb/Posting_example_code

---
You received this message because you are subscribed to the Google Groups "Lift" group.
To unsubscribe from this group and stop receiving emails from it, send an email to liftweb+u...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages