cfpio / front-proposals Goto Github PK
View Code? Open in Web Editor NEWfront
License: GNU Affero General Public License v3.0
front
License: GNU Affero General Public License v3.0
Find a way to provide all base URL to front at runtime before bootstrapping application.
Proposition by @ndeloof :
fetch('/api.json', { method: 'HEAD' } )
.then(response => {
app.api = response.headers.get('X-API-Server')
app.auth = response.headers.get('X-Authentication-Server')
})
Should be easy to set for dev environment with a proxy in browsersync configuration.
Define user profile view to set user information like:
The front must be multilanguage
When user is not authenticated, configure locale and angular-translate based on browser language. Change the whole thing as soon as user is authenticated.
... actually, not unaccessible but keep refreshing the page making it unusable
Description
As part of the admins of the SnowCamp.io cfp, when I try to access these urls:
the page keep refreshing every seconds making the page unusables.
Expected result
Be able to access the page with no flashing refreshes
Other info
It looks like the one who created the cfp can access these pages while the other admins not.
Environment
Tested in private navigation with Chrome 60.0.3112.101 and Firefox (Nightly).
Authentication via Google+.
Stacktrace
Below, you will find the stacktrace I've managed to capture in the browser
l/</E[a]/j<@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:14:2189
u@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:26175
c/<@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:26347
$eval@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:3:1460
$digest@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:32025
$apply@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:3:1729
o@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:9793
m@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:11658
pn/</b.onload@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:12198
EventHandlerNonNullpn/<@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:12035
b@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:10506
c@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:9029
u@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:26175
c/<@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:26347
$eval@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:3:1460
$digest@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:32025
$apply@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:3:1729
EventHandlerNonNullpn/<@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:12035
b@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:10506
c@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:9029
u@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:26175
c/<@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:26347
$eval@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:3:1460
$digest@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:32025
$apply@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:3:1729
EventHandlerNonNullpn/<@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:12035
b@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:10506
c@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:9029
u@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:26175
c/<@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:26347
$eval@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:3:1460
$digest@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:32025
$apply@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:3:1729
EventHandlerNonNullpn/<@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:12035
b@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:10506
c@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:9029
u@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:26175
c/<@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:26347
$eval@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:3:1460
$digest@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:32025
$apply@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:3:1729
s/<@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:1:6546
i@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:1:18003
s@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:1:6467
Q@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:1:6753
l/<@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:6:1347
c@https://snowcamp.cfp.io/scripts/vendor-3b545ece.js:2:3527
add@https://snowcamp.cfp.io/scripts/vendor-3b545ece.js:2:3841
Z.fn.ready@https://snowcamp.cfp.io/scripts/vendor-3b545ece.js:2:5929
l@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:6:1311
s@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:6:1811
u@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:26175
c/<@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:26347
$eval@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:3:1460
$digest@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:32025
$apply@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:3:1729
o@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:9793
m@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:11658
pn/</b.onload@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:12198
EventHandlerNonNullpn/<@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:12035
b@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:10506
c@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:9029
u@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:26175
c/<@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:26347
$eval@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:3:1460
$digest@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:32025
$evalAsync/<@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:3:1549
a@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:1:19623
We/d.defer/n<@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:1:21735
setTimeout handlerWe/d.defer@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:1:21710
$evalAsync@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:3:1520
Bn/this.$get</<@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:25693
c@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:26334
then@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:26918
m@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:28298
p@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:9057
d/</p[t]@https://snowcamp.cfp.io/scripts/modules-4357e84e.js:2:9516
modules-4357e84e.js:2:20796
I hope this helps.
For the moment, user profile is retrieved on application loading. A user should be able to reach a welcome page to have information about the event without the need to be authenticated.
frontend is deployed as a static docker container
we want to be able to override API and Authentication servers URL https://api.cfp.io
and https://auth.cfp.io
at runtime (especially to run tests on staging). Should also be possible on developer workstation if they want to use a local backend infra for testing.
To build and easily deploy the front app
Set favicon CFP style
Define menu bar :
If you make a syntax error during development (like starting a statement then checking the code), IntelliJ save the file, the watcher reload it and exit on the syntax error.
In order to have a working dev mode, is it possible to only display a warning on syntax error ?
On https://mix-it.cfp.io, the team is testing the product, by submitting dummy talks.
My user profile has been fully filled:
But on a validated submission, connected as submitter speaker, the "Conférencier" tab is almost empty:
It seems that this tab appears correctly filled when connected as an admin user (not the submitter).
Re-logging as submitter and cleaning the browser cache don't fix this issue.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.