On Fri, Sep 6, 2019 at 11:33 AM Marek Lyčka <marek.lycka@ultimum.io> wrote:
Hi,

> we need people familiar with Angular and Horizon's ways of using Angular (which seem to be very
> non-standard) that would be willing to write and review code. Unfortunately the people who originally
> introduced Angular in Horizon and designed how it is used are no longer interested in contributing,
> and there don't seem to be any new people able to handle this.

I've been working with Horizon's Angular for quite some time and don't mind keeping at it, but
it's useless unless I can get my code merged, hence my original message.

As far as attracting new developers goes, I think that removing some barriers to entry couldn't hurt -
seeing commits simply lost to time being one of them. I can see it as being fairly demoralizing.

We can't review your patches, because we don't understand them. For the patches to be merged, we
need more than one person, so that they can review each other's patches.
 
> Personally, I think that a better long-time strategy would be to remove all
> Angular-based views from Horizon, and focus on maintaining one language and one set of tools.

Removing AngularJS wouldn't remove JavaScript from horizon. We'd still be left with a home-brewish
framework (which is buggy as is). I don't think removing js completely is realistic either: we'd lose 
functionality and worsen user experience. I think that keeping Angular is the better alternative:

1) A lot of work has already been put into Angularization, solving many problems
2) Unlike legacy js, Angular code is covered by automated tests
3) Arguably, improvments are, on average, easier to add to Angular than pure js implementations

Whatever reservations there may be about the current implementation can be identified and addressed, but
all in all, I think removing it at this point would be counterproductive.

JavaScript is fine. We all know how to write and how to review JavaScript code, and there doesn't
have to be much of it — Horizon is not the kind of tool that has to bee all shiny and animated. It's a tool
for getting work done. AngularJS is a problem, because you can't tell what the code does just by looking
at the code, and so you can neither review nor fix it.

There has been a lot of work put into mixing Horizon with Angular, but I disagree that it has solved problems,
and in fact it has introduced a lot of regressions. Just to take a simple example, the translations are currently
broken for en.AU and en.GB languages, and date display is not localized. And nobody cares.

We had automated tests before Angular. There weren't many of them, because we also didn't have much JavaScript code.
If I remember correctly, those tests were ripped out during the Angularization.

Arguably, improvements are, on average, impossible to add to Angular, because the code makes no sense on its own.