Anyone else giving up on RC0? Rolling back to Beta 11!

Sorry this might sound stupid, but since Beta a lot of things have changed and the most of them FOR GOOD…until Beta 11!

I’ve been working with Ionic for the past year starting from the 1 version.

We were really happy with the results we were achieving with Beta 11 and happy to go our first production launch in December.

Unfortunately after upgrading to RC0, a lot of things stopped working, there is also a lack on documentation. Due to time constraint we are thinking to roll back to Beta 11 for our release in December.

We have also a problem that we’ve found a few issues in RC0 and reported on GitHub of driftyco. Those issues were not issues until Beta 11 and those issues got closed from Ionic team even tho they didn’t try to understand why the issue is happening.

We are not going to achieve all changes with RC0 until December.

Would you guys recommend to keep working on Beta 11, which is stable FOR US until a final release?

6 Likes

I’m contemplating the same question. I tried to upgrade to RC0, spent the entire day yesterday and couple of hours this morning. And even though I made a lot of progress, my project still doesn’t work.

I decided to switch back to beta 11 for now. I’ll try to solve problems with RC0 later, if I have time. And if not, I think I’ll stick with beta11.

3 Likes

Yes we now decided to continue with Beta 11 for the release and in parallel migrate to RC0. The problem is that not all issues are related to Ionic. A lot of them are related to Angular final release.

1 Like

I’m agree with you, the RC.0 is awfull, not really for the NgModule statement of Angular2, but with this $@&*!§ of rollup and incompatibility with many packages … :frowning:

2 Likes

Hey yall just wanted to chime in here.

We totally understand your frustration. We ourselves are pretty frustrated with this release as well. But we’re working our hardest to make things better in the future releases.

Most of the pain points revolve around rollup and it’s lack of support for most CommonJS Modules. This is something we’re working super hard to fix and document. While that may not “fix” things now, it’s progress.

@danielgroh You do what ever it is you need to do to ship your app :thumbsup:
Even if this means sticking on Beta 11 for a bit. We’re hoping that the build process will be stable enough and take care of all the needs that people have in the coming weeks, but you shipping your app is more important to us.

For the claim: RC0 is awful, it’s less of the actual code we released, but the build changes. For most cases, if you wanted to upgrade to ionic-angualr RC0 and still use the older beta 11 build tools, this is also possible as well. This means your app will build with browserify and gulp. While this may result in a larger out-put, you can still do this. Or if you wanted to use webpack, this is also an option. What I’m trying to get at is that that build tool is only one part of Ionic, and you can upgrade the framework and build tools separately if you want.

So, for the TL;DR.

We understand the pain and frustration that people are feeling with the build changes. We’re working on fixing that as fast as we can and getting out a better build tool release. :thumbsup:

5 Likes

I really hope that this does not result in more caution and conservative release schedules. There is only so much internal testing that Ionic devs can (and should) reasonably do. The community at large has to pitch in, and I desperately wish that it will continue to be allowed to do so.

Please don’t let the complaints motivate you to circle the wagons.

4 Likes

@mhartington I’m developing both Beta.11 and RC.0 in parallel as well as @danielgroh, however the ammount of issues related to Rollup is massive, i have a few of pollyfils, a bunch of libs and the update broke everything for me.

I was using webpack but to be able to do AoT it seems i need Rollup, SqlStorage is gone and my app was centered around it, now i have to deal with WebSql by my own, but the most frustrating part is just Rollup, i really need AoT working, the app starts to feel slow even in powerful devices, but AARRGHH Rollup is just not ready, can you provide a way to make it work with Webpack 2 and AoT? or at least docs on how does AoT should be implemented?

@mhartington really appreciate your input here. We’ll keep Beta 11 for our December release and in parallel migrating to RC. By the way, how many RCs are planned and when does the next come out?

There’s no planned set number of RCs. It’s really a gut feeling.
Once we get all the major issues squared away, we’ll start to wrap things up.
We’ll communicate things much better in the up coming releases to get more people involved.

Maybe a note for people like me who didn’t have yet that app in the store, I would recommend to migrate to RC.0 even if it’s a little bit harder than usual…

In my case it took me 3-4 days to migrate, also I lost at least 1 day because I’m dumb, but at then end, I won 6 seconds on startup time so the switch to RC.0 deserved the effort, thx Ionic team :heart:

5 Likes

@reedrichards it always depends on how big is your app, how complex ist your layout system and so on…for us now, is no go, unless we make a lot of hacks…sure we are trying but is not easy in our scenario!

@danielgroh I’ve should have said then “if your app is not in the store and if you don’t plan to ship it in the store soon”, maybe better like this

1 Like

@reedrichards Development is tricky and rollup make it trickier. I spent 5 days upgrading two apps I working on, but my major concern is how to add third party libraries, most of them don’t work well yet, so I’m trying to fix them. Although Beta 11 is their best release, I’m eager for the new releases because these are going to be part of my apps.

2 Likes

Finally i got my app upgraded to RC0 from beta 11, and with ionic serve it works great in the browser! Spending so much time trying to solve problems one by one was tough. and now I finally was expecting everything to work on the actual device, DANG!

On the device, it’s totally broken. So sad…

I had a nightmare moving from beta 19 to beta 39 now RC0 has many changes. i can run my existing project in beta 39 however when I try to create new project in beta 39 platform. by default it is creating new project in rc0 :((

I’m going back to Beta11. It’s really unlike me to ever roll back, and I really need this. I’m usually latest bits guy, but I can’t get past these 2 issues:

I’ve lost way too much time now. Unfortunately all my porting to RC0 will have to be re-done whenever RC2 or RC3 come out.

I started down the road of using rollup, but I then decided to cheat and do things the old way.

I simply included the raw javascript file in the html, and then made a global typescript declaration for my library. Works like a charm until this rollup business is sorted out. Needed to update the copy.config.js file so that it copies everything over too.

I now have things working great on RC0 and once the rollup and documentation is smoothed out.

4 Likes

Would you mind posting the steps for this procedure?

Give me 15 and I’ll post what I did.

2 Likes

First things first, add your scripts to the index.html page. Don’t worry about the location, we’ll fix it later. In my scenario, I needed to include these 3 libraries that rollup doesn’t play nice with, along with font-awesome.

<head>
    ...
    <link href="css/font-awesome.min.css" rel="stylesheet">
    <script src="libs/forge.bundle.js" type="text/javascript"></script>
    <script src="libs/encoding.js" type="text/javascript"></script>
    <script src="libs/encoding-indexes.js" type="text/javascript"></script>
</head>

Next thing we do is add these three files to your project. You have some choices here. Choose your preference.

  1. Add them via npm install
  2. Download the raw JavaScript and save them to a folder. I named my libs, and put it in my src folder

Now we tell ionic to copy these files when doing a build.
Create a folder named config in your project root.
Copy the following file node_modules/@ionic/app-scripts/config/copy.config.js to this folder.
Open it up in your favourite JavaScript ide and add an entry to it like so.

{
      src: 'src/libs/', //copy all files from here
      dest: 'www/libs/' //and put them here
},
{
      src: 'node_modules/font-awesome/fonts/',
      dest: 'www/fonts/'
  },
  {
      src: 'node_modules/font-awesome/css/',
      dest: 'www/css/'
  }

Last step. Tell ionic to use your copy.config.js file rather than the default one
Crack open package.json and add an config entry. Doesn’t matter where you add it.

  "config": {
      "ionic_copy": "./config/copy.config.js"
  },

All done. Run npm run build and it will copy these javascript files to the www folder.

BUT WAIT. THERE’S MORE!!

Need to tell Typescript to ignore things. In my case I would put this at the top of my .ts file that I use these libraries in

declare var forge: any;
declare var TextEncoder: any;

You could get reeeal fancy and put all this into a single declarations.d.ts file, as mentioned here

Once all this nonsense with rollingup, tree-shaking, angular compiling, typescript definition crap is sorted out, and the authors of these fine libraries migrate from CommonJs to ES5 modules, then I’ll remove my work-around.

Hope this helps.

Links that helped me.


1 Like