Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • cordeliaze/cesium
  • pfouque06/cesium
  • wellno1/cesium
  • 1000i100/cesium
  • vincentux/cesium
  • calbasi/cesium
  • thomasbromehead/cesium
  • matograine/cesium
  • clients/cesium-grp/cesium
  • cedricmenec/cesium
  • Pamplemousse/cesium
  • etienneleba/cesium
  • tnntwister/cesium
  • scanlegentil/cesium
  • morvanc/cesium
  • yyy/cesium
  • Axce/cesium
  • Bertrandbenj/cesium
  • Lupus/cesium
  • elmau/cesium
  • MartinDelille/cesium
  • tykayn/cesium
  • numeropi/cesium
  • Vivakvo/cesium
  • pokapow/cesium
  • pini-gh/cesium
  • anam/cesium
  • RavanH/cesium
  • bpresles/cesium
  • am97/cesium
  • tuxmain/cesium
  • jytou/cesium
  • oliviermaurice/cesium
  • 666titi999/cesium
  • Yvv/cesium
35 results
Show changes
Commits on Source (480)
Showing with 419 additions and 385 deletions
{
"directory": "www/lib"
}
......@@ -2,8 +2,8 @@
# http://git-scm.com/docs/gitignore
/node_modules/
/platforms/*
#!/platforms/android
/platforms/ios
/platforms/android
/resources/android/build/local.properties
/resources/android/build/*.keystore
/resources/android/build/release-signing.properties
......@@ -24,6 +24,8 @@
/hooks/uglify-config.json
/hooks/after_prepare/uglify.js
/scripts/sdkmanager.log
/www/js/config.js
/www/dist
/www/lib
......@@ -44,3 +46,5 @@
/www/img/loader.gif
/www/img/search-icon.png
/www/img/search-icon-mobile.png
.run/*
# ---------------------------------------------------------------
# Global
# ---------------------------------------------------------------
# default image
image: node:12
# stages (main steps of pipeline)
stages:
#- build
#- alt_build
#- publish
- build
- alt_build
- deploy
fast-build:
stage: build
image: $CI_REGISTRY_IMAGE
# ---------------------------------------------------------------
# Global variables
# ---------------------------------------------------------------
variables:
CI_BUILD_IMAGE: $CI_REGISTRY_IMAGE/build:develop
# ---------------------------------------------------------------
# Jobs templates
# ---------------------------------------------------------------
.docker:
image: docker:latest
tags: [redshift]
services:
- docker:dind
before_script:
- mv /customCache/node_modules ./
- cp -rf /customCache/www ./
- cp -rf /customCache/hooks ./
- docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}
#- docker login -u "duniterteam" -p "$DUNITERTEAM_PASSWD"
after_script:
- docker logout ${CI_REGISTRY}
#- docker logout
allow_failure: false
# ---------------------------------------------------------------
# Build jobs
# ---------------------------------------------------------------
.build:
stage: build
tags: [redshift]
script:
- node ./node_modules/gulp/bin/gulp webBuild
- yarn install
- yarn run build:web
after_script:
- ls -la dist/web/
- du -csh dist/web/
......@@ -20,51 +53,63 @@ fast-build:
paths:
- dist/web
expire_in: 60 minutes
build:
extends: .build
image: ${CI_BUILD_IMAGE}
before_script:
- mv /tmp/.build-cache/node_modules ./
only:
- master
- tags
- develop
failsafe-build:
extends: .build
stage: alt_build
when: on_failure
image: node:10
script:
- yarn
- node ./node_modules/gulp/bin/gulp config --env default
- node ./node_modules/gulp/bin/gulp webBuild
artifacts:
untracked: true
paths:
- dist/web
expire_in: 60 minutes
before_script:
- yarn global add gulp
only:
- master
- tags
docker-for-fast-build:
- develop
docker:ci:
extends: .docker
stage: alt_build
when: on_failure
allow_failure: true
tags:
- doppler-docker
image: docker:latest
services:
- docker:dind
script:
- echo 'FROM node:10' > Dockerfile
- echo 'WORKDIR /customCache' >> Dockerfile
# Create the target directory
- mkdir -p dist/ci
- cd dist/ci
# Create the Dockerfile
- echo 'FROM node:12' > Dockerfile
- echo 'WORKDIR /tmp/.build-cache' >> Dockerfile
- echo 'COPY ./ ./' >> Dockerfile
- echo 'RUN du -s `find . -maxdepth 1 | egrep -v "^\.$"`>/before.txt' >> Dockerfile
- echo 'RUN yarn' >> Dockerfile
- echo 'RUN du -s `find . -maxdepth 1 | egrep -v "^\.$"`>/after.txt' >> Dockerfile
# Store disk usage (before install)
- echo 'RUN du -s `find . -maxdepth 1 | egrep -v "^\.$"` > /tmp/before.txt' >> Dockerfile
- echo 'RUN du -s `find /tmp/.cache/yarn -maxdepth 1 | egrep -v "^\.$"` >> /tmp/before.txt' >> Dockerfile
# Install dependencies
- echo 'RUN yarn global add gulp web-ext @ionic/cli' >> Dockerfile
- echo 'RUN yarn install' >> Dockerfile
# Store disk usage (after install)
- echo 'RUN du -s `find . -maxdepth 1 | egrep -v "^\.$"` > /tmp/after.txt' >> Dockerfile
- echo 'RUN du -s `find /tmp/.cache/yarn -maxdepth 1 | egrep -v "^\.$"` >> /tmp/after.txt' >> Dockerfile
# Force docker to detect any changes
- echo "RUN diff /tmp/before.txt /tmp/after.txt || true" >> Dockerfile
- echo 'WORKDIR /build' >> Dockerfile
- echo "RUN diff /before.txt /after.txt || true" >> Dockerfile
- docker login -u "gitlab-ci-token" -p "$CI_BUILD_TOKEN" $CI_REGISTRY
- docker build --pull -t "$CI_REGISTRY_IMAGE" .
- docker push "$CI_REGISTRY_IMAGE"
# Build and push the CI image
- docker build --no-cache -t ${CI_BUILD_IMAGE} .
- docker push ${CI_BUILD_IMAGE}
artifacts:
paths:
- dist/ci/Dockerfile
expire_in: 60 minutes
# ---------------------------------------------------------------
# Deploy jobs
# ---------------------------------------------------------------
pages:
stage: publish
image: node:10
stage: deploy
variables:
GIT_STRATEGY: none
script:
......@@ -76,8 +121,9 @@ pages:
- public
only:
- master
mirror:
stage: publish
stage: deploy
image: liaohuqiu/rsync
before_script:
- eval $(ssh-agent -s)
......@@ -94,10 +140,8 @@ mirror:
only:
- master
release-web:
stage: publish
image: node:10
release:
stage: deploy
variables:
GIT_STRATEGY: none
script:
......
[submodule "dist/desktop"]
path = dist/desktop
url = git@git.duniter.org:clients/cesium-grp/cesium-desktop.git
[submodule "android"]
path = platforms/android
[submodule "dist/android/sources"]
path = dist/android/sources
url = git@git.duniter.org:clients/cesium-grp/cesium-android.git
FROM ubuntu:18.04
FROM node:12
LABEL maintainer="benoit [dot] lavenier [at] e-is [dot] pro"
LABEL version="1.7.0-rc1"
LABEL description="Cesium Wallet for Ğ1 libre currency"
ARG CESIUM_VER="1.7.0-rc1"
ENV DEBIAN_FRONTEND=noninteractive \
ANDROID_HOME=/opt/android-sdk-linux \
NODE_VERSION=10.17.0 \
NPM_VERSION=6.13.4 \
IONIC_VERSION=5.4.13 \
CORDOVA_VERSION=9.0.0 \
GRADLE_VERSION=4.10.3 \
GULP_VERSION=2.2.0 \
ANDROID_NDK_VERSION=r19c \
ANDROID_SDK_VERSION=r29.0.0
NODE_VERSION=16.17.0 \
NPM_VERSION=8.3.0 \
YARN_VERSION=1.22.17 \
IONIC_CLI_VERSION=6.20.9 \
CORDOVA_VERSION=10.0.0 \
GRADLE_VERSION=6.5.1 \
GULP_VERSION=4.0.2
# Install basics
RUN apt-get update && \
apt-get install -y git wget curl unzip build-essential software-properties-common ruby ruby-dev ruby-ffi gcc make python && \
curl --retry 3 -SLO "http://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.gz" && \
tar -xzf "node-v$NODE_VERSION-linux-x64.tar.gz" -C /usr/local --strip-components=1 && \
rm "node-v$NODE_VERSION-linux-x64.tar.gz"
# Install global nodeJS dependencies
RUN npm install -g npm@"$NPM_VERSION" && \
npm install -g yarn gulp@"$GULP_VERSION" cordova@"$CORDOVA_VERSION" ionic@"$IONIC_VERSION" && \
npm cache clear --force
#RUN npm install -g node-sass@^4.13.0
# Install Java JDK
RUN apt-get update && \
apt-get -y install openjdk-8-jdk-headless
# Install Android prerequisites
RUN echo ANDROID_HOME="${ANDROID_HOME}" >> /etc/environment && \
dpkg --add-architecture i386 && \
apt-get update && \
apt-get install -y --force-yes expect ant wget zipalign libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1 qemu-kvm kmod && \
apt-get clean && \
apt-get autoclean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
# Install Android SDK
#RUN cd /opt && \
# wget --output-document=android-sdk.tgz --quiet http://dl.google.com/android/android-sdk_"$ANDROID_SDK_VERSION"-linux.tgz && \
# tar xzf android-sdk.tgz && \
# rm -f android-sdk.tgz && \
# chown -R root. /opt
#
## Install Android NDK
#RUN cd /opt/ && \
# wget --output-document=android-ndk.zip --quiet https://dl.google.com/android/repository/android-ndk-"$ANDROID_NDK_VERSION"-linux-x86_64.zip && \
# unzip android-ndk.zip && \
# rm android-ndk.zip && \
# chown -R root. /opt
# Install Gradle
#RUN cd /opt/ && \
# wget https://services.gradle.org/distributions/gradle-"$GRADLE_VERSION"-bin.zip && \
# mkdir /opt/gradle && \
# unzip -d /opt/gradle gradle-"$GRADLE_VERSION"-bin.zip && \
# rm -rf gradle-$"GRADLE_VERSION"-bin.zip
# Setup environment
#ENV PATH ${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools:/opt/tools:/opt/gradle/gradle-"$GRADLE_VERSION"/bin
RUN apk update && \
apk add ca-certificates wget curl git && \
update-ca-certificates && \
apk add --update python make g++
# Install sdk elements
#COPY resources/android/build/tools /opt/tools
#RUN chmod u+x /opt/tools/*.sh
#RUN ["/opt/tools/android-accept-licenses.sh", "android update sdk --all --no-ui --filter platform-tools,tools,build-tools-29.0.0,android-29,build-tools-26.0.0,android-26,build-tools-25.0.0,android-25,extra-android-support,extra-android-m2repository,extra-google-m2repository"]
#RUN unzip ${ANDROID_HOME}/temp/*.zip -d ${ANDROID_HOME}
# create group and user cesium
RUN addgroup -S -g 1111 cesium && \
adduser -SD -h /cesium -G cesium -u 1111 cesium
#RUN mkdir -p /var/lib/cesium /etc/cesium && chown cesium:cesium /var/lib/cesium /etc/cesium
# Install global dependencies
RUN yarn global add gulp@"$GULP_VERSION" @ionic/cli@"$IONIC_CLI_VERSION"
# Install source code
#RUN git config --global user.email "user.name@domain.com" && \
# git config --global user.name "User Name" && \
RUN git clone https://git.duniter.org/clients/cesium-grp/cesium.git && \
cd cesium && \
yarn install --ignore-engines
# copy source tree
COPY ./ ./
# Restore cordova platforms
RUN cd cesium && \
yarn run install-platforms
RUN test -f package.json || git clone https://github.com/duniter/cesium.git && cd cesium
# TODO: Test First Build so that it will be faster later
## ionic cordova build android --prod --no-interactive --release
# Install project dependencies
# Workaround need for node-sass (- )see https://github.com/yarnpkg/yarn/issues/4867)
RUN yarn install --ignore-engines && \
yarn remove node-sass && yarn add node-sass
WORKDIR cesium
WORKDIR /cesium
EXPOSE 8100 35729
CMD ["yarn", "run", "start"]
......@@ -40,7 +40,7 @@ Please visit th Cesium web site: [cesium.app](https://cesium.app)
* Manual installation: download then install the `.apk` from your smartphone;
* [Play Store](https://play.google.com/store/apps/details?id=fr.duniter.cesium);
- iOS
* Coming soon...;
* [App Store](https://apps.apple.com/us/app/cesium-%C4%9F1/id1471028018);
......@@ -55,11 +55,14 @@ A [Development Guide](doc/development_guide.md) is available to learn :
- Development best practices.
A [development tutorial](doc/fr/development_tutorial-01.md) (in French) is also available.
The [first 3 lessons of the tutorial](doc/en/development_tutorial-01.md) have also been translated into english.
## Donate
To help developers with donation, use the [Cesium Team Ğ1 account](https://g1.duniter.fr#/app/wot/CitdnuQgZ45tNFCagay7Wh12gwwHM8VLej1sWmfHWnQX/) (public key: `CitdnuQgZ45tNFCagay7Wh12gwwHM8VLej1sWmfHWnQX`)
To help developers with donation, use the [Cesium Team Ğ1 account](https://demo.cesium.app#/app/wot/CitdnuQgZ45tNFCagay7Wh12gwwHM8VLej1sWmfHWnQX/) (public key: `CitdnuQgZ45tNFCagay7Wh12gwwHM8VLej1sWmfHWnQX`)
## License
This software is distributed under [GNU AGPL-3.0](https://raw.github.com/duniter/cesium/master/LICENSE).
\ No newline at end of file
This software is distributed under [GNU AGPL-3.0](https://raw.github.com/duniter/cesium/master/LICENSE).
Please read also our [privacy policy](./doc/privacy_policy.md).
\ No newline at end of file
{
"default": {
"cacheTimeMs": 300000,
"demo": false,
"readonly": false,
"fallbackLanguage": "en",
"rememberMe": true,
"showUDHistory": true,
"timeout": 40000,
"timeout": 30000,
"timeWarningExpireMembership": 5184000,
"timeWarningExpire": 7776000,
"minConsensusPeerCount": 10,
"keepAuthIdle": 600,
"useLocalStorage": true,
"useRelative": false,
"expertMode": false,
"decimalCount": 2,
"httpsMode": false,
"shareBaseUrl": "https://g1.duniter.fr",
"shareBaseUrl": "https://demo.cesium.app/",
"helptip": {
"enable": true,
"installDocUrl": {
"fr-FR": "https://duniter.org/fr/wiki/duniter/installer/",
"en": "https://duniter.org/en/wiki/duniter/install/"
"fr-FR": "https://duniter.fr/wiki/doc/installer/",
"en": "https://duniter.org/wiki/doc/install/"
}
},
"license": {
"ca": "license/license_g1-ca",
"de-DE": "license/license_g1-de-DE",
"en": "license/license_g1-en",
"fr-FR": "license/license_g1-fr-FR",
"en-GB": "license/license_g1-en",
"eo-EO": "license/license_g1-eo-EO",
"es-ES": "license/license_g1-es-ES",
"eo-EO": "license/license_g1-eo-EO"
"fr-FR": "license/license_g1-fr-FR",
"it-IT": "license/license_g1-it-IT",
"pt-PT": "license/license_g1-pt-PT"
},
"feed": {
"jsonFeed": {
"fr-FR": "https://raw.githubusercontent.com/duniter/cesium/master/doc/feed/feed-fr.json",
"en": "https://raw.githubusercontent.com/duniter/cesium/master/doc/feed/feed-en.json"
"ca": "https://raw.githubusercontent.com/duniter/cesium/master/doc/feed/1.1/feed-ca.json",
"de-DE": "https://raw.githubusercontent.com/duniter/cesium/master/doc/feed/1.1/feed-de-DE.json",
"en": "https://raw.githubusercontent.com/duniter/cesium/master/doc/feed/1.1/feed-en.json",
"en-GB": "https://raw.githubusercontent.com/duniter/cesium/master/doc/feed/1.1/feed-en-GB.json",
"eo-EO": "https://raw.githubusercontent.com/duniter/cesium/master/doc/feed/1.1/feed-eo-EO.json",
"es-ES": "https://raw.githubusercontent.com/duniter/cesium/master/doc/feed/1.1/feed-es-ES.json",
"fr-FR": "https://raw.githubusercontent.com/duniter/cesium/master/doc/feed/1.1/feed-fr-FR.json",
"it-IT": "https://raw.githubusercontent.com/duniter/cesium/master/doc/feed/1.1/feed-it-IT.json",
"nl-NL": "https://raw.githubusercontent.com/duniter/cesium/master/doc/feed/1.1/feed-nl-NL.json",
"pt-PT": "https://raw.githubusercontent.com/duniter/cesium/master/doc/feed/1.1/feed-pt-PT.json"
},
"maxContentLength": 1300
},
"node": {
"host": "g1.duniter.org",
"port": 443
"maxContentLength": 1300,
"maxAgeInMonths": 3,
"maxCount": 3
},
"fallbackNodes": [
{
"host": "g1.e-is.pro",
"port": 443
},
{
"host": "vit.fdn.org",
"port": 443
},
{
"host": "g1.cgeek.fr",
"port": 443
},
{
"host": "g1.monnaielibreoccitanie.org",
"host": "g1.mithril.re",
"port": 443
},
{
"host": "g1.le-sou.org",
"host": "g1.duniter.org",
"port": 443
},
{
"host": "g1.duniter.fr",
"host": "g1.le-sou.org",
"port": 443
}
],
"developers": [
{"name": "Benoit Lavenier", "pubkey": "38MEAZN68Pz1DTvT3tqgxx4yQP6snJCQhPqEFxbDk4aE"}
{"name": "Benoit Lavenier", "pubkey": "38MEAZN68Pz1DTvT3tqgxx4yQP6snJCQhPqEFxbDk4aE"},
{"name": "Cédric Moreau", "pubkey": "2ny7YAdmzReQxAayyJZsyVYwYhVyax2thKcGknmQy5nQ"},
{"name": "Kapis", "pubkey": "24jaf8XhYZyDyUb7hMcy5qsanaHBC11AwPefcCQRBQNA"},
{"name": "Matograine", "pubkey": "CmFKubyqbmJWbhyH2eEPVSSs4H4NeXGDfrETzEnRFtPd"}
],
"plugins":{
"es": {
"enable": true,
"askEnable": true,
"useRemoteStorage": true,
"host": "g1.data.duniter.fr",
"host": "g1.data.e-is.pro",
"port": 443,
"fallbackNodes": [
{
"host": "g1.data.presles.fr",
"port": 443
},
{
"host": "g1.data.le-sou.org",
"port": 443
},
{
"host": "g1.data.duniter.fr",
"host": "g1.data.brussels.ovh",
"port": 443
}
],
"notifications": {
"txSent": true,
"txReceived": true,
"certSent": true,
"certReceived": true
},
"defaultCountry": "France"
}
}
},
"default_fr": {
"cacheTimeMs": 300000,
"fallbackLanguage": "fr",
"rememberMe": true,
"showUDHistory": true,
"timeout": 300000,
"timeWarningExpireMembership": 5184000,
"timeWarningExpire": 7776000,
"keepAuthIdle": 600,
"useLocalStorage": true,
"useRelative": false,
"expertMode": false,
"decimalCount": 2,
"httpsMode": false,
"shareBaseUrl": "https://g1.duniter.fr",
"helptip": {
"enable": true,
"installDocUrl": {
"fr-FR": "https://duniter.org/fr/wiki/duniter/installer/",
"en": "https://duniter.org/en/wiki/duniter/install/"
}
},
"license": {
"fr-FR": "license/license_g1-fr-FR",
"en": "license/license_g1-en",
"es-ES": "license/license_g1-es-ES",
"eo-EO": "license/license_g1-eo-EO"
},
"feed": {
"jsonFeed": {
"fr-FR": "https://raw.githubusercontent.com/duniter/cesium/master/doc/feed/feed-fr.json",
"en": "https://raw.githubusercontent.com/duniter/cesium/master/doc/feed/feed-en.json"
},
"maxContentLength": 1300
},
"node": {
"host": "g1.duniter.fr",
"port": 443
},
"fallbackNodes": [
{
"host": "g1.duniter.fr",
"port": 443
},
{
"host": "g1.monnaielibreoccitanie.org",
"port": 443
},
{
"host": "g1.le-sou.org",
"port": 443
},
{
"host": "duniter.normandie-libre.fr",
"port": 443
},
{
"host": "g1.duniter.org",
"port": 443
}
],
"plugins":{
"es": {
"enable": true,
"askEnable": true,
"useRemoteStorage": true,
"host": "g1.data.duniter.fr",
"port": 443,
"fallbackNodes": [
},
{
"host": "g1.data.le-sou.org",
"host": "g1.data.pini.fr",
"port": 443
},
{
"host": "g1.data.mithril.re",
"port": 443
},
{
"host": "g1.data.duniter.fr",
"host": "g1.data.e-is.pro",
"port": 443
}
],
......@@ -178,47 +130,54 @@
"g1-test": {
"cacheTimeMs": 300000,
"demo": false,
"readonly": false,
"fallbackLanguage": "en",
"rememberMe": true,
"timeout": 300000,
"showUDHistory": true,
"timeout": 30000,
"timeWarningExpireMembership": 5184000,
"timeWarningExpire": 7776000,
"minConsensusPeerCount": -1,
"useLocalStorage": true,
"useRelative": false,
"expertMode": true,
"decimalCount": 2,
"shareBaseUrl": "https://g1.duniter.fr",
"httpsMode": false,
"shareBaseUrl": "https://g1-test.cesium.app",
"helptip": {
"enable": false,
"installDocUrl": {
"fr-FR": "https://duniter.org/fr/wiki/duniter/installer/",
"en": "https://github.com/duniter/duniter/blob/master/doc/install-a-node.md"
"fr-FR": "https://duniter.fr/wiki/doc/installer/",
"en": "https://duniter.org/wiki/doc/install/"
}
},
"node": {
"host": "gtest.jytou.fr",
"host": "g1-test.duniter.org",
"port": 443
},
"fallbackNodes": [
{
"host": "g1-test.cgeek.fr",
"port": 443
},
{
"host": "gtest.jytou.fr",
"port": 443
"host": "gt.moul.re",
"port": 10902
},
{
"host": "g1-test.duniter.org",
"port": 443
}
],
"developers": [
{"name": "Benoit Lavenier", "pubkey": "38MEAZN68Pz1DTvT3tqgxx4yQP6snJCQhPqEFxbDk4aE"},
{"name": "Cédric Moreau", "pubkey": "2ny7YAdmzReQxAayyJZsyVYwYhVyax2thKcGknmQy5nQ"},
{"name": "Kapis", "pubkey": "24jaf8XhYZyDyUb7hMcy5qsanaHBC11AwPefcCQRBQNA"},
{"name": "Matograine", "pubkey": "CmFKubyqbmJWbhyH2eEPVSSs4H4NeXGDfrETzEnRFtPd"}
],
"plugins":{
"es": {
"enable": true,
"askEnable": true,
"useRemoteStorage": true,
"host": "g1-test.data.duniter.fr",
"enable": false,
"askEnable": false,
"useRemoteStorage": false,
"host": "g1-test.data.e-is.pro",
"port": 443,
"notifications": {
"txSent": true,
......@@ -233,6 +192,8 @@
"dev": {
"cacheTimeMs": 300000,
"demo": false,
"readonly": false,
"fallbackLanguage": "fr-FR",
"defaultLanguage": "fr-FR",
"rememberMe": true,
......@@ -247,18 +208,21 @@
"helptip": {
"enable": false,
"installDocUrl": {
"fr-FR": "https://duniter.org/fr/wiki/duniter/installer/",
"fr-FR": "https://duniter.fr/wiki/doc/installer/",
"en": "https://duniter.org/en/wiki/duniter/install/"
}
},
"license": {
"fr-FR": "license/license_g1-fr-FR",
"en": "license/license_g1-en",
"fr-FR": "license/license_g1-fr-FR",
"es-ES": "license/license_g1-es-ES",
"eo-EO": "license/license_g1-eo-EO"
"eo-EO": "license/license_g1-eo-EO",
"pt-PT": "license/license_g1-pt-PT",
"it-IT": "license/license_g1-it-IT",
"de-DE": "license/license_g1-de-DE"
},
"node": {
"host": "g1.duniter.fr",
"host": "g1.e-is.pro",
"port": 443
},
"fallbackNodes": [{
......@@ -266,7 +230,7 @@
"port": 443
},
{
"host": "g1.duniter.fr",
"host": "g1.e-is.pro",
"port": 443
}
],
......@@ -283,7 +247,7 @@
"port": 443
},
{
"host": "g1.data.duniter.fr",
"host": "g1.data.e-is.pro",
"port": 443
}
],
......@@ -298,9 +262,6 @@
"graph": {
"enable": true
},
"neo4j": {
"enable": true
},
"rml9": {
"enable": true
}
......@@ -309,6 +270,8 @@
"dev_g1": {
"cacheTimeMs": 300000,
"demo": false,
"readonly": false,
"fallbackLanguage": "en",
"rememberMe": true,
"showUDHistory": true,
......@@ -323,13 +286,19 @@
"httpsMode": false,
"helptip": {
"enable": false,
"installDocUrl": "https://github.com/duniter/duniter/blob/master/doc/install-a-node.md"
"installDocUrl": {
"fr-FR": "https://duniter.fr/wiki/doc/installer/",
"en": "https://duniter.org/en/wiki/duniter/install/"
}
},
"license": {
"fr-FR": "license/license_g1-fr-FR.txt",
"en": "license/license_g1-en.txt",
"en": "license/license_g1-en",
"fr-FR": "license/license_g1-fr-FR",
"es-ES": "license/license_g1-es-ES",
"eo-EO": "license/license_g1-eo-EO"
"eo-EO": "license/license_g1-eo-EO",
"pt-PT": "license/license_g1-pt-PT",
"it-IT": "license/license_g1-it-IT",
"de-DE": "license/license_g1-de-DE"
},
"node": {
"host": "g1.duniter.org",
......@@ -347,9 +316,6 @@
"graph": {
"enable": true
},
"neo4j": {
"enable": true
},
"rml9": {
"enable": true
}
......
{
"name": "cesium",
"private": "true",
"dependencies": {
"ionic": "driftyco/ionic-bower#1.3.5",
"ionic-material": "0.4.2",
"angular-messages": "~1.5.11",
"robotodraft": "1.1.0",
"angular": "^1.5.11",
"angular-moment": "^0.10.3",
"angular-animate": "^1.5.11",
"angular-sanitize": "^1.5.11",
"angular-resource": "1.5.11",
"angular-bind-notifier": "^1.1.11",
"angular-image-crop": "^2.0.0",
"angular-ui-router": "^0.2.18",
"angular-cache": "^4.6.0",
"ng-idle": "moribvndvs/ng-idle#^1.3.2",
"chart.js": "2.9.3",
"leaflet.awesome-markers": "2.0.2",
"leaflet-search": "2.7.2",
"angular-leaflet-directive": "^0.10.0",
"Leaflet.EasyButton": "^2.4.0",
"leaflet.loading": "Leaflet.loading#^0.1.24",
"ui-leaflet": "^2.0.0",
"leaflet.markercluster": "Leaflet.markercluster#0.5.0",
"Leaflet.FeatureGroup.SubGroup": "0.1.2",
"ion-digit-keyboard": "skol-pro/ion-digit-keyboard#973b90c2fc",
"angular-api": "E-IS/angular-api#0.3.0",
"angular-screenmatch": "^1.0.1",
"angular-file-saver": "^1.1.3",
"angular-simple-logger": "^0.1.7",
"angular-chart.js": "jtblin/angular-chart#1.1.1",
"angular-fullscreen": "E-IS/angular-fullscreen#1.0.2",
"leaflet": "0.7.7",
"moment": "^2.24.0",
"numeral": "1.5.6",
"underscore": "1.8.3",
"aes-js": "ricmoo/aes-js#3.1.2",
"ngCordova": "0.1.27-alpha",
"js-scrypt": "1.2.0",
"js-nacl": "1.3.2",
"angular-translate": "^2.18.1",
"socket.io-client": "^1.4.4"
},
"resolutions": {
"angular": "1.5.11",
"angular-animate": "^1.5.11",
"angular-sanitize": "^1.5.11",
"angular-ui-router": "0.2.18",
"angular-messages": "1.5.11",
"angular-api": "0.3.0",
"Leaflet.EasyButton": "~1.3.2",
"leaflet": "0.7.7",
"leaflet.markercluster": "0.5",
"Leaflet.FeatureGroup.SubGroup": "0.1.2",
"moment": ">=2.8.0 <2.11.0",
"numeral": "1.5.3",
"ionic": "1.3.5"
}
}
<?xml version='1.0' encoding='utf-8'?>
<widget android-versionCode="106011" id="fr.duniter.cesium" ios-CFBundleIdentifier="org.duniter.cesium" version="1.6.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<widget android-versionCode="107140" id="fr.duniter.cesium" ios-CFBundleIdentifier="org.duniter.cesium" version="1.7.14" xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>Cesium</name>
<description>
An simple App for Duniter wallet
......@@ -15,9 +15,13 @@
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<allow-intent href="june:*" />
<allow-intent href="web+june:*" />
<allow-navigation href="http://*/*" />
<allow-navigation href="https://*/*" />
<allow-navigation href="data:*" />
<allow-navigation href="june:*" />
<allow-navigation href="web+june:*" />
<icon src="www/img/logo_96px.png" />
<preference name="webviewbounce" value="false" />
<preference name="UIWebViewBounce" value="false" />
......@@ -28,22 +32,31 @@
<preference name="KeyboardResizeMode" value="ionic" />
<preference name="xwalkVersion" value="19" />
<preference name="xwalkMultipleApk" value="false" />
<preference name="android-minSdkVersion" value="16" />
<preference name="android-targetSdkVersion" value="28" />
<preference name="StatusBarOverlaysWebView" value="false" />
<preference name="StatusBarBackgroundColor" value="#000" />
<preference name="StatusBarStyle" value="lightcontent" />
<allow-navigation href="*" />
<preference name="loadUrlTimeoutValue" value="700000" />
<hook src="scripts/hooks/before_prepare.js" type="before_prepare" />
<hook src="scripts/hooks/after_prepare.js" type="after_prepare" />
<hook src="scripts/hooks/before_compile.js" type="before_compile" />
<feature name="StatusBar">
<param name="ios-package" onload="true" value="CDVStatusBar" />
</feature>
<feature name="Device">
<param name="android-package" onload="true" value="org.apache.cordova.device.Device" />
</feature>
<feature name="MiniSodium">
<param name="android-package" onload="true" value="me.lockate.plugins.MiniSodium" />
<feature name="Custom URL scheme">
<param name="id" value="cordova-plugin-customurlscheme" />
<param name="url" value="https://github.com/EddyVerbruggen/Custom-URL-scheme.git" />
<variable name="URL_SCHEME" value="june" />
</feature>
<platform name="android">
<preference name="AndroidLaunchMode" value="singleTask" />
<preference name="AndroidInsecureFileModeEnabled" value="true" />
<preference name="android-minSdkVersion" value="22" />
<preference name="android-targetSdkVersion" value="33" />
<preference name="android-compileSdkVersion" value="33" />
<preference name="AndroidPersistentFileLocation" value="Compatibility" />
<icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
<icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
<icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
......@@ -109,35 +122,40 @@
<edit-config file="*-Info.plist" mode="merge" target="NSPhotoLibraryUsageDescription">
<string>To choose a profile picture</string>
</edit-config>
<edit-config file="*-Info.plist" mode="merge" target="CFBundleURLSchemes">
<string>june</string>
</edit-config>
<config-file mode="add" parent="ITSAppUsesNonExemptEncryption" target="*-Info.plist">
<false />
</config-file>
</platform>
<platform name="osx">
<icon height="16" src="resources/osx/icon-16.png" width="16" />
<icon height="32" src="resources/osx/icon-32.png" width="32" />
<icon height="64" src="resources/osx/icon-64.png" width="64" />
<icon height="128" src="resources/osx/icon-128.png" width="128" />
<icon height="256" src="resources/osx/icon-256.png" width="256" />
<icon height="512" src="resources/osx/icon-512.png" width="512" />
<icon height="1024" src="resources/osx/icon-1024.png" width="1024" />
</platform>
<engine name="android" spec="^6.4.0" />
<engine name="ios" spec="git+https://github.com/duniter-cesium/cordova-ios.git#5.1.0" />
<plugin name="cordova-plugin-camera" spec="^4.1.0" />
<plugin name="cordova-plugin-console" spec="^1.1.0" />
<plugin name="cordova-plugin-device" spec="^2.0.3" />
<plugin name="cordova-plugin-camera" spec="^4.1.0">
<variable name="CAMERA_USAGE_DESCRIPTION" value="Add picture to the user profile" />
<variable name="PHOTOLIBRARY_USAGE_DESCRIPTION" value="Take a picture for the user profile" />
<variable name="ANDROID_SUPPORT_V4_VERSION" value="28.+" />
</plugin>
<plugin name="cordova-plugin-ionic-webview" spec="^4.2.1">
<variable name="ANDROID_SUPPORT_ANNOTATIONS_VERSION" value="28.+" />
</plugin>
<plugin name="cordova-plugin-device" spec="^2.1.0" />
<plugin name="cordova-plugin-dialogs" spec="^2.0.2" />
<plugin name="cordova-plugin-secure-storage-android10" spec="git+https://github.com/duniter-cesium/cordova-plugin-secure-storage-android10#6.0.3" />
<plugin name="cordova-plugin-splashscreen" spec="^5.0.3" />
<plugin name="cordova-plugin-statusbar" spec="^2.4.3" />
<plugin name="cordova-clipboard" spec="^1.3.0" />
<plugin name="cordova-plugin-splashscreen" spec="^6.0.2" />
<plugin name="cordova-plugin-statusbar" spec="^3.0.0" />
<plugin name="cordova-plugin-file" spec="^6.0.2" />
<plugin name="cordova-plugin-vibration" spec="^3.1.1" />
<plugin name="cordova-plugin-websocket" spec="^0.12.2" />
<plugin name="cordova-plugin-whitelist" spec="^1.3.4" />
<plugin name="cordova-plugin-x-toast" spec="^2.7.2" />
<plugin name="cordova-plugin-ionic-keyboard" spec="^2.2.1" />
<plugin name="cordova-plugin-minisodium" spec="git+https://github.com/duniter-cesium/cordova-plugin-minisodium.git#v1.0.1" />
<plugin name="cordova-plugin-ionic-keyboard" spec="^2.2.0" />
<plugin name="cordova-plugin-androidx-adapter" spec="^1.1.3" />
<plugin name="cordova-plugin-x-toast" spec="^2.7.3" />
<plugin name="phonegap-plugin-barcodescanner" spec="^8.1.0">
<variable name="CAMERA_USAGE_DESCRIPTION" value="To scan QRCode" />
<variable name="ANDROID_SUPPORT_V4_VERSION" value="28.+" />
</plugin>
<plugin name="cordova-plugin-customurlscheme" spec="^5.0.2">
<variable name="URL_SCHEME" value="june" />
</plugin>
<plugin name="cordova-plugin-network-information" spec="~3.0.0">
</plugin>
<plugin name="ionic-plugin-keyboard" spec="^2.2.1" />
</widget>
Subproject commit 17788c85b43b1fa75287a80454349948068cc457
Subproject commit 074f02140b2fe1652cf67e3f12e54627dcde9190
Subproject commit 4b5e3aef13e93c507fbf24c8aef832ada65f64ef
......@@ -16,9 +16,9 @@ After that you should be able to start the application using `npm start`, and to
You can choose to install
- on Linux, install OpenJDK 8:
- on Linux, install OpenJDK 11:
* ``sudo apt-get install openjdk-8-jdk``
* ``sudo apt-get install openjdk-11-jdk``
- or Oracle JDK 8 (all platforms supported):
......
......@@ -60,7 +60,7 @@ sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
## Install Node JS
1. Install NVM (node.js version manager) :
2. Install node.js v5
2. Install node.js 16
3. Install common node.js dependencies
```bash
......@@ -70,7 +70,7 @@ export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
# Node.js
nvm install 6
nvm install 16
# node-pre-gyp
npm install -g nw-gyp node-pre-gyp
......@@ -82,7 +82,7 @@ npm install -g nw-gyp node-pre-gyp
2. Install global dependencies (see [Development Guide](./development_guide.md) for versions to used) :
```
npm install -g yarn gulp cordova@9.0.0 ionic@1.7.16
npm install -g yarn gulp cordova @ionic/cli@6.20.9
```
3. Install project dependencies :
......
......@@ -8,7 +8,7 @@ Cesium can be build as a simple web application, portable and runnable anywhere.
Follow all the steps defined in the [Development guide](./development_guide.md).
After that you should be able to start the application using `npm start`or `yarn run start`, and to test it.
After that you should be able to start the application using `npm start`or `yarn start`, and to test it.
## Build the unhosted web application
......@@ -23,4 +23,4 @@ After that you should be able to start the application using `npm start`or `yarn
## Publishing to a web site
Uncompress the web archive, then open the `ìndex.html` file in your web browser.
\ No newline at end of file
Decompress the web archive, then open the `ìndex.html` file in your web browser.
\ No newline at end of file
......@@ -8,15 +8,16 @@ Cesium can be build as Web extension, for Mozilla Firefox extension (`.xpi`) and
Follow all the steps defined in the [Development guide](./development_guide.md).
After that you should be able to start the application using `npm start`or `yarn run start`, and to test it.
After that you should be able to start the application using `yarn run start`, and to test it.
## Build the web extension
- To create a uncompressed extension, use :
- To create an uncompressed extension, use :
```bash
cd cesium
gulp webExtensionCopyFiles --release
gulp build
gulp webExtCompile --release
```
The uncompressed web extension will be visible `dist/web/ext`
......@@ -24,6 +25,7 @@ After that you should be able to start the application using `npm start`or `yarn
- To create a portable and compressed ZIP extension :
```bash
cd cesium
gulp build
gulp webExtBuild --release
```
......
# Version v1.6.2
## All platforms
- [enh] Improve private message icon, on a identity profile - fix [#900](https://git.duniter.org/clients/cesium-grp/cesium/-/issues/900)
- [enh] Improve avatar modal, when editing a Cesium+ profile:
* allow drag and drop;
* add a "previous" button;
- [fix] Fix some ES translations
- [fix] API: error 'qrcode not defined' - fix [#903](https://git.duniter.org/clients/cesium-grp/cesium/-/issues/903)
### Desktop
- [enh] Add a splash screen
- [fix] Fix command line option `--debug`
- [fix] Open popup to select local Duniter node, if detected
### Android
- [enh] Fix Android 10 compatibility (due to secure storage Cordova plugin) - fix [#908](https://git.duniter.org/clients/cesium-grp/cesium/-/issues/898)
### Firefox and Chrome extension
- [fix] Unable to set avatar and page's pictures - fix [#904](https://git.duniter.org/clients/cesium-grp/cesium/-/issues/904)
## Development environment
### Build from source
Before building Cesium, please launch this commands:
```bash
cd cesium
# Update ionic CLI to latest
npm remove ionic
npm i -g @ionic/cli
# Remove JS dependencies
rm -rf node_modules
# Clean Yarn cache, then install deps
yarn cache clean && yarn install
# Remove Cordova plugins
rm -rf plugins
# Re install Cordova plugins
cd scripts
./ionic-update.sh
```
\ No newline at end of file
# Version v1.6.5
## All platforms
- [fix] Unable to report abuse, or like, a profile, if not login - fix [#913](https://git.duniter.org/clients/cesium-grp/cesium/-/issues/913)
## Android
- [fix] Fix startup error, under Android 10 (API 28) - [#898](https://git.duniter.org/clients/cesium-grp/cesium/-/issues/898)
- [fix] Fix 'findIndex' error on transaction history, under Android 4.4 (API 19) - fix [#912](https://git.duniter.org/clients/cesium-grp/cesium/-/issues/912)
# Version v1.6.8
## All platforms
- [enh] Build: upgrade to cordova@10.0.0, and node.js v12. Refactor Cordova hook to use main gulpfile.js
- [fix] Map: optimize loading time (remove the search layer)
## Web extension
- [enh] Handle G1 link, like 'web+june://' - See [this post](https://forum.duniter.org/t/g1link-syntax-review-choisissons-la-syntaxe-g1lien/7522)
## Android
- [enh] Handle G1 link, like 'june://' - See [this post](https://forum.duniter.org/t/g1link-syntax-review-choisissons-la-syntaxe-g1lien/7522)
## Desktop
- [fix] Fix startup error on Ubuntu 20+ - [#921](https://git.duniter.org/clients/cesium-grp/cesium/-/issues/921)
\ No newline at end of file
# Version v1.7.0
## All platforms
- [enh] Add mre languages : Italian, Deutsch, Catalan, Portuges
- [fix] Update default Duniter and Cesium+ Pod peers
\ No newline at end of file
# Development Guide
## Prerequisite
## In a post-it
```bash
# Install NodeJS v16
nvm use 16
npm install -g yarn
# Clone and compile from source
git clone git@git.duniter.org:clients/cesium-grp/cesium.git
cd cesium
yarn
# Run the App !
yarn run start
```
## Step by step
### Prerequisite
To build Cesium, you will have to:
......@@ -9,7 +28,7 @@ To build Cesium, you will have to:
sudo apt-get install git wget curl unzip build-essential software-properties-common ruby ruby-dev ruby-ffi gcc make
```
2. Installing node.js v10 :
2. Installing node.js v16 :
* First, install [nvm](https://github.com/nvm-sh/nvm) (Node Version Manager) :
```bash
......@@ -22,15 +41,15 @@ To build Cesium, you will have to:
* Configure nvm to use the expected version: (**WARNING**: upper version will NOT work !)
```bash
nvm install 10
nvm install 16
```
3. Installing node build tools, as global dependencies:
```bash
npm install -g yarn gulp cordova ionic
npm install -g yarn gulp cordova @ionic/cli@6.20.9 web-ext
```
## Get the source code and dependencies
### Get the source code and dependencies
1. Getting the source code:
```bash
......@@ -40,23 +59,24 @@ To build Cesium, you will have to:
2. Install project dependencies:
```bash
cd cesium
yarn install
yarn
```
3. Installing Cordova plugins (required to build Android and iOS artifacts):
```bash
export JAVA_HOME=/path/to/jdk-8
export JAVA_HOME=/path/to/jdk-11
export PATH=$JAVA_HOME/bin:$PATH
ionic cordova prepare
```
This should create new directories `platforms/android` and `platforms/ios`.
> To remind: check that your command line is configured:
> As a reminder: check that your command line is well configured:
> - You must place yourself in the directory of the application: `cd cesium`
> - and be configured for NodeJs v10: `nvm use 10` (please check using the command `node --version`)
> - and working with NodeJs **v16**: `nvm use 16` (please check using the command `node --version`)
## Prepare Cesium default config
### Prepare configuration file
Configure Cesium default settings :
......@@ -69,9 +89,9 @@ Configure Cesium default settings :
This will update a configuration file `www/js/config.json`.
## Compile and launch
### Compile and launch
To compile and launch Cesium, run :
To compile and launch Cesium, run:
```bash
yarn run start
```
......@@ -81,7 +101,7 @@ or alternative: `npm start` or `ionic serve`
The application should be running at [localhost:8100](http://localhost:8100)!
## Build artifacts
### Build artifacts
Cesium can be build:
- [as an unhosted web applicationa](build_web.md);
......@@ -90,18 +110,18 @@ Cesium can be build:
- [as a Web extension](build_web_extension.md) for Mozilla Firefox or Chrome/Chomium;
- [as a Desktop application](build_desktop.md) for Linux (`.deb`), Windows and MacOSx;
You may also [use Docker image](./build_docker.md) to simplify this task;
You may also [use Docker image](build_docker.md) to simplify this task;
## Time to code !
### Time to code !
### Pull request
#### Pull request
For each pull request, please create a issue first.
For each pull request, please create an issue first.
### Best practices for development
#### Best practices for development
Cesium could be run on phone devices. Please read [performance tips on AgularJS + Ionic ](http://julienrenaux.fr/2015/08/24/ultimate-angularjs-and-ionic-performance-cheat-sheet/)
Cesium could be run on phone devices. Please read [performance tips on AgularJS + Ionic](http://julienrenaux.fr/2015/08/24/ultimate-angularjs-and-ionic-performance-cheat-sheet/)
before starting to contribute.
Read also [Angular performance for large applicatoins](https://www.airpair.com/angularjs/posts/angularjs-performance-large-applications).