Error when using HA acme in kubernetes with etcd

I am running traefik v1.1.0-rc1 in kubernetes, and I get the following error when I try to run it with etcd as KV store and HA acme:
kubectl logs traefik-2153114016-656zf
level=info msg="Traefik version v1.1.0-rc1 built on 2016-09-30_03:01:06PM"
level=info msg="Using TOML configuration file /etc/traefik/config.toml"
level=info msg="Preparing server https &{Network: Address::443 TLS:0xc4201b1ec0 Redirect:<nil> Auth:<nil> Compress:false}"
level=error msg="Error creating TLS config Unknown entrypoint  for ACME configuration"
level=fatal msg="Error preparing server: Unknown entrypoint  for ACME configuration"

I use the following TOML:
logLevel = "INFO"
defaultEntryPoints = ["http", "https"]

[etcd]
endpoint = "etcd-0.etcd:2379,etcd-1.etcd:2379,etcd-2.etcd:2379"

[acme]
email = "some valid email"
entryPoint = "https"
OnHostRule = true
storage = "traefik/acme/account"

[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]

[web]
address = ":8080"

[kubernetes]
labelselector = "authenticationProvider in (public-access)"

I checked that the etcd PetSet is working, and traefik does store data in it under traefik/acme/account.
Any advice on how to debug this?

Can you post your DEBUG logs?

Sure, this is the DEBUG log:
level=info msg="Traefik version v1.1.0-rc1 built on 2016-09-30_03:01:06PM"
level=info msg="Using TOML configuration file /etc/traefik/config.toml"
level=debug msg="Global configuration loaded {\"GraceTimeOut\":10,\"Debug\":false,\"AccessLogsFile\":\"\",\"TraefikLogsFile\":\"\",\"LogLevel\":\"DEBUG\",\"EntryPoints\":{\"http\":{\"Network\":\"\",\"Address\":\":80\",\"TLS\":null,\"Redirect\":{\"EntryPoint\":\"https\",\"Regex\":\"\",\"Replacement\":\"\"},\"Auth\":null,\"Compress\":false},\"https\":{\"Network\":\"\",\"Address\":\":443\",\"TLS\":{\"MinVersion\":\"\",\"CipherSuites\":null,\"Certificates\":null,\"ClientCAFiles\":null},\"Redirect\":null,\"Auth\":null,\"Compress\":false}},\"Cluster\":{\"Node\":\"97dae5aa-e9ce-42db-86cb-5519d284df1d\",\"Store\":{\"Store\":{},\"Prefix\":\"/traefik\"}},\"Constraints\":[],\"ACME\":{\"Email\":\"\",\"Domains\":null,\"Storage\":\"\",\"StorageFile\":\"\",\"OnDemand\":false,\"OnHostRule\":false,\"CAServer\":\"\",\"EntryPoint\":\"\"},\"DefaultEntryPoints\":[\"http\",\"https\"],\"ProvidersThrottleDuration\":2000000000,\"MaxIdleConnsPerHost\":200,\"InsecureSkipVerify\":false,\"Retry\":null,\"Docker\":null,\"File\":null,\"Web\":{\"Address\":\":8080\",\"CertFile\":\"\",\"KeyFile\":\"\",\"ReadOnly\":false,\"Auth\":null},\"Marathon\":null,\"Consul\":null,\"ConsulCatalog\":null,\"Etcd\":{\"Watch\":true,\"Filename\":\"\",\"Constraints\":[],\"Endpoint\":\"etcd-0.etcd:2379,etcd-1.etcd:2379,etcd-2.etcd:2379\",\"Prefix\":\"/traefik\",\"TLS\":null},\"Zookeeper\":null,\"Boltdb\":null,\"Kubernetes\":{\"Watch\":true,\"Filename\":\"\",\"Constraints\":[],\"Endpoint\":\"\",\"DisablePassHostHeaders\":false,\"Namespaces\":null,\"LabelSelector\":\"authenticationProvider in (public-access)\"},\"Mesos\":null}"
level=info msg="Preparing server https &{Network: Address::443 TLS:0xc4202d9d40 Redirect:<nil> Auth:<nil> Compress:false}"
level=error msg="Error creating TLS config Unknown entrypoint  for ACME configuration"
level=fatal msg="Error preparing server: Unknown entrypoint  for ACME configuration"

This is the JSON stored in etcd under /traefik/acme/account/object (decoded base64):
{
  "Email": "<<valid email>>",
  "Registration": {
    "body": {
      "resource": "reg",
      "id": <<id>>,
      "key": {
        "kty": "RSA",
        "n": "<<valid looking key>>",
        "e": "AQAB"
      },
      "contact": [
        "mailto:<<valid email>>"
      ],
      "agreement": "https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf"
    },
    "uri": "https://acme-v01.api.letsencrypt.org/acme/reg/<<id>>",
    "new_authzr_uri": "https://acme-v01.api.letsencrypt.org/acme/new-authz",
    "terms_of_service": "https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf"
  },
  "PrivateKey": "<<valid looking private key>>",
  "DomainsCertificate": {
    "Certs": []
  },
  "ChallengeCerts": {}
}

While testing i found something else: when there are no values stored in etcd under /traefik, the first instance of traefik behaves differently (log is longer so I attached it).
log.txt

@pdressel did you use traefik storeconfig to populate etcd with traefik configuration http://docs.traefik.io/user-guide/cluster?

@emilevauge I used a kubernetes ConfigMap to mount the toml file into every container. Is the storeconfig required?

Yes, as you told traefik to use etcd to get its configuration, it will override the toml config using etcd config. As its probably empty, you get this error. You should use storeconfig once, and then remove the toml :)

I added a kubernetes job to run the storeconfig command on initial deployment, that fixed it. Thanks! 🎉

@pdressel could you please describe in more detail how you proceeded ?

@Smana sure, this is the kubernetes job I used to populate the KV store (which must be running first, of course)
apiVersion: batch/v1
kind: Job
metadata:
  name: traefik-config
spec:
  template:
    metadata:
      name: traefik-config
    spec:
      containers:
      - name: traefik-config
        image: {{ image: traefik }}
        args:
        - storeconfig
        - --configfile=/etc/traefik/traefik.toml
        volumeMounts:
        - name: traefik-config
          mountPath: /etc/traefik
      restartPolicy: Never
      volumes:
      - name: traefik-config
        configMap:
          name: traefik-config

In conjunction with a configmap like so:
metadata:
    name: traefik-config
  data:
  traefik.toml: |-
    logLevel = "DEBUG"
    [etcd]
    endpoint = "etcd-0.etcd:2379,etcd-1.etcd:2379,etcd-2.etcd:2379"
...

After this, you can run traefik as a regular deployment and point it to your KV store. In this case, I used a StatefulSet of three etcd servers as the KV store.
I never moved this into production though, since at the time HA acme was in a very early release candidate and I needed a stable solution for production.

@pdressel Thank you for these details.
Actually i'm trying to use InitContainers and etcd operator as K/V store.
Currently i just need to fix an issue with the acme config, i got the following error when running the storeconfig
2017/01/09 08:19:36 Error running traefik: 102: Not a file (/traefik/acme)

But anyway this is not related to this issue :)

Hi @pdressel, In the docs here https://docs.traefik.io/basics/#static-trfk-configuration it says

Træfɪk can be configured using many configuration sources with the following precedence order.

Key-value Store
Arguments
Configuration file
Default

This makes it sound like you can use more than one config source at the same time, and Traefik will search for properties in all of them, in the sequence given, stopping when it finds a value. Is that actually incorrect?


javascript color, 'this' is no special highlighting

javascript color, this is no special highlighting.
this is the same color as the property.
Sample code
class Polygon {
  constructor(height, width) {
    this.rect = {}
    this.rect.height = height;
    this.rect.width = width;
  }
}

Filename and Language selected
.js
.ts
.tsx
Atom Original theme Screenshot

VSCode theme Screenshot

Versions used

VSCode version: 1.52
Theme version: 2.2.3

Thanks for reporting this, I'll look into it.

Thanks for reporting this, I'll look into it.


Amigo UI

fix the scoreboard table:

challenges category name
no teams in that event....

I think, it could also be nice to login with username instead email from login page.


Updated roboto fonts

Adjusted textStyles; Moved styles with Roboto Medium font to v21 style.xml

I'm worried about to much duplication of markup. If the difference is just the font, you should be able to factor out that particular property and keep all the rest in the regular xml.

The difference is just the font but when I tried using just the font in v21 the rest of the styles did not fall back on the regular style xml.
In any case from all the styles we have this is the only thing we will have for a long time. I went through all. Let me know if we can keep it.

I would like to explore my suggestion, I believe it's possible. I understand what's happening to you, I just don't know exactly how to do it at this moment.

I'll try to look at it more in the morning. Out of the house now. :)

Not a problem as it is, and not worth the refactor at this moment, merging this.


Autocomplete doesn't update when new apt is installed or removed

Describe the bug
When an apt is added, the terminal doesn't update the autocomplete to check for the new command (it's ZSH only, because i tried bash and it works fine)
To Reproduce
I will use the package colortest as an example:

Install the package (sudo apt install colortest)
type colorte and Hit TAB. It should show colortest-16, colortest-256, etc, but it doesn't show nothing.
Close the terminal and open an new one and repeat STEP 2. Now it will work
Remove the package (sudo apt purge colortest)
Repeat the STEP 2. It will autocomplete the command, even with the package removed.
Repeat STEP 3, now it won't autocomplete the removed package.

Expected behavior
It should update the autocomplete when packages are added and removed
System:

OS: Deepin 15.11 (Debian based)
zsh Version 5.3.1 (x86_64-debian-linux-gnu)
Terminal emulator Deepin Terminal V<IP_ADDRESS>

?

Duplicate of #3440. Run rehash (or hash -rf) after a command is installed so that commands in $path are scanned again. You can also add this setting but note that it comes with a possible performance cost: https://github.com/robbyrussell/oh-my-zsh/issues/3440#issuecomment-68165443.

Duplicate of #3440. Run rehash (or hash -rf) after a command is installed so that commands in $path are scanned again. You can also add this setting but note that it comes with a possible performance cost: #3440 (comment).

Thanks, but is there a reason that bash automatically updates and zsh don't?


Unable to integrate it with my react app

Hi Team,
I'm unable to integrate it with the my react app which is created by using the command 'npx create-react-app my-app'.
When I try to run the code its giving me the below error in terminal. Ive tried it with both node version 16 and 14.
Starting the development server...
<--- Last few GCs --->
[1317:0x7fea1e200000]    21952 ms: Scavenge 1010.6 (1033.9) -> 1007.1 (1034.1) MB, 1.4 / 0.0 ms  (average mu = 0.194, current mu = 0.170) allocation failure
[1317:0x7fea1e200000]    21956 ms: Scavenge 1011.3 (1034.6) -> 1008.2 (1034.9) MB, 1.4 / 0.0 ms  (average mu = 0.194, current mu = 0.170) allocation failure
[1317:0x7fea1e200000]    21960 ms: Scavenge 1012.3 (1035.6) -> 1008.9 (1035.9) MB, 1.4 / 0.0 ms  (average mu = 0.194, current mu = 0.170) allocation failure
<--- JS stacktrace --->
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
1: 0x10152a515 node::Abort() (.cold.1) [/usr/local/bin/node]
2: 0x10022b989 node::Abort() [/usr/local/bin/node]
3: 0x10022baff node::OnFatalError(char const*, char const*) [/usr/local/bin/node]
4: 0x1003ab2c7 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/usr/local/bin/node]
5: 0x1003ab263 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/usr/local/bin/node]
6: 0x10054c975 v8::internal::Heap::FatalProcessOutOfMemory(char const*) [/usr/local/bin/node]
7: 0x1005509bd v8::internal::Heap::RecomputeLimits(v8::internal::GarbageCollector) [/usr/local/bin/node]
8: 0x10054d29d v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [/usr/local/bin/node]
9: 0x10054a7bd v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/usr/local/bin/node]
10: 0x1005494d8 v8::internal::Heap::HandleGCRequest() [/usr/local/bin/node]
11: 0x1004f5cd1 v8::internal::StackGuard::HandleInterrupts() [/usr/local/bin/node]
12: 0x1008d9ca8 v8::internal::Runtime_StackGuard(int, unsigned long*, v8::internal::Isolate*) [/usr/local/bin/node]
13: 0x100c83dd9 Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_NoBuiltinExit [/usr/local/bin/node]
Here is the package.json file code.
{
"name": "my-app",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.15.0",
"@testing-library/react": "^11.2.7",
"@testing-library/user-event": "^12.8.3",
"dt-sql-parser": "^4.0.0-beta.2.2",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-scripts": "4.0.3",
"web-vitals": "^1.1.2"
},
"scripts": {
"start": "node --max_old_space_size=4092 & react-scripts start",
"build": "node --max_old_space_size=4092 & react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
Tried the export NODE_OPTIONS=--max_old_space_size=4096 in terminal. But it doesn't work. By the way I'm running the app in mac.
Anyone, please help me with this.

Above issue is fixed by adding 'GENERATE_SOURCEMAP=false'.
"start": "GENERATE_SOURCEMAP=false react-scripts start",
but got same issue with my another project(Cloned from ant design pro). Here is the error.
<--- Last few GCs --->
[15221:0x104c00000]   102059 ms: Scavenge (reduce) 4083.9 (4100.4) -> 4083.4 (4101.7) MB, 4.2 / 0.0 ms  (average mu = 0.313, current mu = 0.274) allocation failure
[15221:0x104c00000]   102075 ms: Scavenge (reduce) 4084.1 (4100.7) -> 4083.6 (4101.9) MB, 15.3 / 0.0 ms  (average mu = 0.313, current mu = 0.274) allocation failure
[15221:0x104c00000]   102083 ms: Scavenge (reduce) 4084.4 (4103.9) -> 4083.8 (4103.9) MB, 7.2 / 0.0 ms  (average mu = 0.313, current mu = 0.274) allocation failure
<--- JS stacktrace --->
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
1: 0x101319fc5 node::Abort() (.cold.1) [/usr/local/bin/node]
2: 0x1000b6169 node::Abort() [/usr/local/bin/node]
3: 0x1000b62df node::OnFatalError(char const*, char const*) [/usr/local/bin/node]
4: 0x100200ba7 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/usr/local/bin/node]
5: 0x100200b43 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/usr/local/bin/node]
6: 0x1003aec55 v8::internal::Heap::FatalProcessOutOfMemory(char const*) [/usr/local/bin/node]
7: 0x1003b06fa v8::internal::Heap::RecomputeLimits(v8::internal::GarbageCollector) [/usr/local/bin/node]
8: 0x1003abe25 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [/usr/local/bin/node]
9: 0x1003a9750 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/usr/local/bin/node]
10: 0x1003b7e7a v8::internal::Heap::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/usr/local/bin/node]
11: 0x1003b7f01 v8::internal::Heap::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/usr/local/bin/node]
12: 0x100385cd2 v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationType, v8::internal::AllocationOrigin) [/usr/local/bin/node]
13: 0x100705d08 v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [/usr/local/bin/node]
14: 0x100a8deb9 Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_NoBuiltinExit [/usr/local/bin/node]
15: 0x332d42bec463
Here is the package.json
{
"name": "ant-design-pro",
"version": "5.0.0-beta.2",
"private": true,
"description": "An out-of-box UI solution for enterprise applications",
"scripts": {
"analyze": "cross-env ANALYZE=1 umi build",
"build": "umi build",
"deploy": "npm run site && npm run gh-pages",
"dev": "npm run start:dev",
"gh-pages": "gh-pages -d dist",
"i18n-remove": "pro i18n-remove --locale=zh-CN --write",
"postinstall": "umi g tmp",
"lint": "umi g tmp && npm run lint:js && npm run lint:style && npm run lint:prettier",
"lint-staged": "lint-staged",
"lint-staged:js": "eslint --ext .js,.jsx,.ts,.tsx ",
"lint:fix": "eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src && npm run lint:style",
"lint:js": "eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src",
"lint:prettier": "prettier --check "src//*" --end-of-line auto",
"lint:style": "stylelint --fix "src//.less" --syntax less",
"openapi": "umi openapi",
"precommit": "lint-staged",
"prettier": "prettier -c --write "src/**/"",
"start": "cross-env UMI_ENV=dev umi dev",
"start:dev": "cross-env REACT_APP_ENV=dev MOCK=none UMI_ENV=dev umi dev",
"start:no-mock": "cross-env MOCK=none UMI_ENV=dev umi dev",
"start:no-ui": "cross-env UMI_UI=none UMI_ENV=dev umi dev",
"start:pre": "cross-env REACT_APP_ENV=pre UMI_ENV=dev umi dev",
"start:test": "cross-env REACT_APP_ENV=test MOCK=none UMI_ENV=dev umi dev",
"pretest": "node ./tests/beforeTest",
"test": "umi test",
"test:all": "node ./tests/run-tests.js",
"test:component": "umi test ./src/components",
"tsc": "tsc --noEmit"
},
"lint-staged": {
"/*.less": "stylelint --syntax less",
"/.{js,jsx,ts,tsx}": "npm run lint-staged:js",
"**/.{js,jsx,tsx,ts,less,md,json}": [
"prettier --write"
]
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 10"
],
"dependencies": {
"@ant-design/icons": "^4.5.0",
"@ant-design/pro-descriptions": "^1.6.8",
"@ant-design/pro-form": "^1.18.3",
"@ant-design/pro-layout": "^6.15.3",
"@ant-design/pro-table": "^2.30.8",
"@antv/data-set": "^0.11.8",
"@emotion/react": "^11.1.5",
"@emotion/styled": "^11.1.5",
"@projectstorm/react-diagrams": "^6.5.0",
<EMAIL_ADDRESS>"^4.0.6",
"@umijs/openapi": "^1.1.14",
"@umijs/plugin-openapi": "^1.2.0",
"@umijs/route-utils": "^1.0.36",
"antd": "^4.14.0",
"antd-form-builder": "^2.1.2",
"bizcharts": "^3.5.9",
"bizcharts-plugin-slider": "^2.1.1",
"classnames": "^2.2.6",
"closest": "0.0.1",
"dagre": "^0.8.5",
"dt-sql-parser": "^4.0.0-beta.2.2",
"file-saver": "^2.0.5",
"less": "^4.1.1",
"less-loader": "^8.1.0",
"lodash": "^4.17.21",
"lodash.debounce": "^4.0.8",
"moment": "^2.25.3",
"numeral": "^2.0.6",
"omit.js": "^2.0.2",
"pathfinding": "^0.4.18",
"paths-js": "^0.4.11",
"polished": "^4.1.1",
"react": "^17.0.2",
"react-dev-inspector": "^1.1.1",
"react-dom": "^17.0.0",
"react-fittext": "^1.0.0",
"react-helmet-async": "^1.0.4",
"react-modal-video": "^1.2.6",
"redux-persist": "^6.0.0",
"redux-persist-transform-filter": "0.0.20",
"resize-observer-polyfill": "^1.5.1",
"umi": "^3.4.0",
"umi-request": "^1.0.8"
},
"devDependencies": {
"@ant-design/pro-cli": "^2.0.2",
"@types/classnames": "^2.2.7",
"@types/express": "^4.17.0",
"@types/file-saver": "^2.0.2",
"@types/history": "^4.7.2",
"@types/jest": "^26.0.0",
"@types/lodash": "^4.14.144",
"@types/numeral": "^2.0.1",
"@types/react": "^17.0.0",
"@types/react-dom": "^17.0.0",
"@types/react-helmet": "^6.1.0",
"@typescript-eslint/eslint-plugin": "^4.21.0",
"@typescript-eslint/parser": "^4.21.0",
"@umijs/fabric": "^2.5.2",
"@umijs/plugin-blocks": "^2.0.5",
"@umijs/plugin-esbuild": "^1.0.1",
"@umijs/preset-ant-design-pro": "^1.2.0",
"@umijs/preset-dumi": "^1.1.7",
"@umijs/preset-react": "^1.8.14",
"@umijs/preset-ui": "^2.2.9",
"@umijs/yorkie": "^2.0.3",
"carlo": "^0.9.46",
"cross-env": "^7.0.3",
"cross-port-killer": "^1.1.1",
"detect-installer": "^1.0.1",
"dotenv": "^10.0.0",
"enzyme": "^3.11.0",
"eslint": "^7.24.0",
"eslint-plugin-react": "^7.23.1",
"express": "^4.17.1",
"file-saver": "^2.0.2",
"gh-pages": "^3.0.0",
"jsdom-global": "^3.0.2",
"lint-staged": "^10.0.0",
"lodash-uuid": "0.0.3",
"mockjs": "^1.0.1-beta3",
"prettier": "^2.0.1",
"puppeteer-core": "^8.0.0",
"react-router-navigation-prompt": "^1.8.14",
"stylelint": "^13.0.0",
"typescript": "^4.2.2"
},
"engines": {
"node": ">=10.0.0"
}
}

@iamvamshi If you only need one specific SQLParser, like GenericSQL, I recommend you import it using this way:
import GenericSQL from 'dt-sql-parser/dist/parser/generic';

The below way will build all parsers into one bundle file.
import { GenericSQL } from 'dt-sql-parser';

Also, you can refer to this project monaco-sql-languages.

@wewoor Thanks for your reply.
Above issue got resolved by upgrading the umi version to 3.5.0.

@wewoor Could you please help me in configuring the webpack entry in antdesignpro cloned project. Here is the config file.
import { defineConfig } from 'umi';
import { join } from 'path';
const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');
const path = require('path');
const APP_DIR = path.resolve(__dirname, './src');
const MONACO_DIR = path.resolve(__dirname, './node_modules/monaco-editor');
import defaultSettings from './defaultSettings';
import proxy from './proxy';
import routes from './routes';
const { REACT_APP_ENV } = process.env;
export default defineConfig({
hash: true,
antd: {},
dva: {
hmr: true,
},
layout: {
// https://umijs.org/zh-CN/plugins/plugin-layout
locale: true,
siderWidth: 104,
...defaultSettings,
},
// https://umijs.org/zh-CN/plugins/plugin-locale
locale: {
default: 'en-US',
antd: false,
baseNavigator: false,
},
dynamicImport: {
loading: '@ant-design/pro-layout/es/PageLoading',
},
targets: {
ie: 11,
},
// umi routes: https://umijs.org/docs/routing
routes,
// Theme for antd: https://ant.design/docs/react/customize-theme-cn
theme: {
'primary-color': defaultSettings.primaryColor,
'font-family': 'SPGrotesk, Helvetica, Arial, sans-serif',
'layout-body-background': '#F2F0F5',
},
// esbuild is father build tools
// https://umijs.org/plugins/plugin-esbuild
esbuild: {},
title: false,
ignoreMomentLocale: true,
proxy: proxy[REACT_APP_ENV || 'dev'],
manifest: {
basePath: '/',
},
openAPI: [
{
requestLibPath: "import { request } from 'umi'",
// 或者使用在线的版本
// schemaPath: "https://gw.alipayobjects.com/os/antfincdn/M%24jrzTTYJN/oneapi.json"
schemaPath: join(__dirname, 'oneapi.json'),
mock: false,
},
{
requestLibPath: "import { request } from 'umi'",
schemaPath: 'https://gw.alipayobjects.com/os/antfincdn/CA1dOm%2631B/openapi.json',
projectName: 'swagger',
},
],
nodeModulesTransform: {
type: 'none',
},
// mfsu: {},
webpack5: {},
exportStatic: {},
chainWebpack(memo) {
memo.entry('sql.worker').add(path.resolve(__dirname, '../src/sql/sql.worker.ts')).end();
return memo;
},
});
As per the umi documentation this should work.
chainWebpack(memo) {
memo.entry('sql.worker').add(path.resolve(__dirname, '../src/sql/sql.worker.ts')).end();
return memo;
},

@iamvamshi Sorry, I don't familiar with the ant design pro, but actually, I think you need to read this config document,  as for how to config the language entry, you can refer to this repo monaco-sql-languages.


Ignore local client connection

Don't replicate blobs if the remote id is the same as a local id: assume that the RPC is a CLI or master client.
I found this while debugging why a RPC instance wasn't closing properly, and it turned out to be because ssb-blobs was calling an RPC method while the PacketStream instance was being destroyed, resulting in deadlock. This should probably be fixed in packet-stream or muxrpc somehow, but fixing it here makes the problem that I was seeing go away, for now.

fixed in 0.1.8


Lovelace swipe Navigation breaks webview

Describe the bug
Hey there, I am using a homeassistant plugin for lovelace (installed via HACS):
https://github.com/maykar/lovelace-swipe-navigation
Plugin works great in chrome browser but with wallpanel, the screen pinches to the top left corner (landscape).
To Reproduce

Use 7" Tablet (I am on Nexus 7)
Connect to homeassistant (localip:8123) with enabled swipe plugin
Swipe in landscape mode

I get random screen changes. I think you need at least 3 dashboards (doesnt matter if empty or not) to see the issue.
Expected behavior
Browser Window does not shring to 1/3 of the screen (the rest of the screen is white)
Screenshots

Tablet

Device: ASUS Nexus 7 (2013)
OS: Android 6.0.1
Browser Chrome
Version 80
App Version 1.2

The application uses the built-in WebView component of Android.  The application cannot do anything to manipulate or make the html page you choose to render better.  This is entirely dependent on the compatibility of the version of WebView your device has and the code of the webpage you are trying to display.   This is entirely unrelated to Chrome browser, the WebView uses a subset of Chrome and may not offer the same compatibility.

Use Bromite WebView to upgrade the built-in WebView of various Android versions:
https://github.com/bromite/bromite
There are instructions on how to replace completely the WebView engine for rooted, or even unrooted devices.
Bromite project seems to be kept up-to-date and besides a simple WebView implementation, has some good aspects related to privacy and video playback ;-)


Create a Social card

Describe the request
This library hasn't a nice social card which can be used in social networks.
Expected behavior
Upload an image with these specication:
Images should be at least 640×320px (1280×640px for best display).

Additional note
This card should contain the icon for this library.

Hey, where should i put the finished card? (can i just put it in the resources folder?)

@AlexGipp Yes, of course! 👍

I just opened a pr, will probaby add more cards later on.
If you have any feedback please let me know. ^^


⚠ BCR Bot has degraded performance

In 9f4358d, BCR Bot (https://bcr.alternativasinteligentes.com/BCRApi/web/chatbot) experienced degraded performance:

HTTP code: 200
Response time: 1872 ms

Resolved: BCR Bot performance has improved in afa5f33.


LXD containers dead after node reboot

Description
Minione LXD hypervisor cannot start containers after node reboot in Opennebula <IP_ADDRESS> on Bionic host
Happens on clean instance deployed with minione, on fresh baremetal based Ubuntu 18.04.
To Reproduce
Create containers and reboot a machine.
Sunstone and onevm state that containers are running, but in fact they're not:
root@generic-bionic:~# onevm list

  ID USER     GROUP    NAME                                                                                STAT  CPU     MEM HOST                                                          TIME
   5 oneadmin oneadmin ghj                                                                                runn  0.1      2M localhost                                                 0d 00h28
   4 tadziu   oneadmin asdf                                                                                runn  0.1      2M localhost                                                 0d 18h55
root@generic-bionic:~# lxc list
+-------+---------+------+------+------------+-----------+
| NAME  |  STATE  | IPV4 | IPV6 |    TYPE    | SNAPSHOTS |
+-------+---------+------+------+------------+-----------+
| one-0 | STOPPED |      |      | PERSISTENT | 0         |
+-------+---------+------+------+------------+-----------+
| one-1 | STOPPED |      |      | PERSISTENT | 0         |
+-------+---------+------+------+------------+-----------+
| one-2 | STOPPED |      |      | PERSISTENT | 0         |
+-------+---------+------+------+------------+-----------+
| one-3 | STOPPED |      |      | PERSISTENT | 0         |
+-------+---------+------+------+------------+-----------+
| one-4 | STOPPED |      |      | PERSISTENT | 0         |
+-------+---------+------+------+------------+-----------+
| one-5 | STOPPED |      |      | PERSISTENT | 0         |
+-------+---------+------+------+------------+-----------+

Sunstone also refuse to take any reboot/stop/poweroff action on the containers with error:
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]: Command execution fail: cat << EOT | /var/tmp/one/vmm/lxd/reset 'one-4' 'localhost' 4 localhost
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]: reboot: --- Starting container ---
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]: reboot: Name: one-4
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]: Remote: unix://
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]: Architecture: x86_64
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]: Created: 2020/10/12 14:19 UTC
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]: Status: Stopped
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]: Type: persistent
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]: Profiles: default
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]:
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]: Log:
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]:
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]: lxc one-4<PHONE_NUMBER>1903.541 WARN conf - conf.c:lxc_setup_devpts:1616 - Invalid argument - Failed to unmount old devpts instance
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]: lxc one-4<PHONE_NUMBER>1903.541 ERROR start - start.c:start:2028 - No such file or directory - Failed to exec "/sbin/init"
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]: lxc one-4<PHONE_NUMBER>1903.541 ERROR sync - sync.c:__sync_wait:62 - An error occurred in another process (expected sequence number 7)
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]: lxc one-4<PHONE_NUMBER>1903.541 WARN network - network.c:lxc_delete_network_priv:2589 - Operation not permitted - Failed to remove interface "eth0" with index 14
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]: lxc one-4<PHONE_NUMBER>1903.542 ERROR lxccontainer - lxccontainer.c:wait_on_daemonized_start:842 - Received container state "ABORTING" instead of "RUNNING"
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]: lxc one-4<PHONE_NUMBER>1903.542 ERROR start - start.c:__lxc_start:1939 - Failed to spawn container "one-4"
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]: lxc<PHONE_NUMBER>1903.543 WARN commands - commands.c:lxc_cmd_rsp_recv:132 - Connection reset by peer - Failed to receive response for command "get_state"
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]:
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]: /var/tmp/one/vmm/lxd/client.rb:102:in `wait': {"type"=>"sync", "status"=>"Success", "status_code"=>200, "operation"=>"", "error_code"=>0, "error"=>"", "metadata"=>{"id"=>"cecfe476-112c-43d1-bf23-b0c77f920ffd", "class"=>"task", "description"=>"Starting container", "created_at"=>"2020-10-13T11:19:03.293600861+02:00", "updated_at"=>"2020-10-13T11:19:03.293600861+02:00", "status"=>"Failure", "status_code"=>400, "resources"=>{"containers"=>["/1.0/containers/one-4"]}, "metadata"=>nil, "may_cancel"=>false, "err"=>"Failed to run: /usr/lib/lxd/lxd forkstart one-4 /var/lib/lxd/containers /var/log/lxd/one-4/lxc.conf: "}} (LXDError)
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]: from /var/tmp/one/vmm/lxd/container.rb:517:in `wait?'
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]: from /var/tmp/one/vmm/lxd/container.rb:529:in `change_state'
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]: from /var/tmp/one/vmm/lxd/container.rb:211:in `start'
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]: from /var/tmp/one/vmm/lxd/container.rb:257:in `reboot'
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]: from /var/tmp/one/vmm/lxd/reboot:37:in `<main>'
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]: ExitCode: 1
Tue Oct 13 11:19:03 2020 [Z0][VMM][I]: Failed to execute virtualization driver operation: reset.
Tue Oct 13 11:19:03 2020 [Z0][VMM][E]: Error rebooting-hard VM, assume it's still running

Furthermore those containers cannot be terminated via Sunstone. The only way to bring container allive is to force
recover delete-recreate action, this however purges all persistent data written to LXD instance.
I've tried to bring containers with lxc start and that gave some actual errors.

By default on Bionic LXC couldn't find libdqlite.so.0. Fixed with appeding LD_LIBRARY_PATH="/usr/lib/lxd/" in
/etc/enviroment
Fixing that got me one step further but still containers fail to start:

Error: Failed to run: /usr/lib/lxd/lxd forkstart one-5 /var/lib/lxd/containers /var/log/lxd/one-5/lxc.conf:
Try `lxc info --show-log one-5` for more info

However running /usr/lib/lxd/lxd forkstart one-5 /var/lib/lxd/containers /var/log/lxd/one-5/lxc.conf manually exits with 0 status, so it seems ok but it apparently does not work:
root@generic-bionic:~# /usr/lib/lxd/lxd forkstart one-5 /var/lib/lxd/containers /var/log/lxd/one-5/lxc.conf
root@generic-bionic:~# lxc start one-5
Error: Failed to run: /usr/lib/lxd/lxd forkstart one-5 /var/lib/lxd/containers /var/log/lxd/one-5/lxc.conf:
Try `lxc info --show-log one-5` for more info

Logs:
root@generic-bionic:~# lxc info --show-log one-5
Name: one-5
Remote: unix://
Architecture: x86_64
Created: 2020/10/13 08:46 UTC
Status: Stopped
Type: persistent
Profiles: default

Log:

lxc one-5<PHONE_NUMBER>2958.412 WARN     conf - conf.c:lxc_setup_devpts:1616 - Invalid argument - Failed to unmount old devpts instance
lxc one-5<PHONE_NUMBER>2958.413 ERROR    start - start.c:start:2028 - No such file or directory - Failed to exec "/sbin/init"
lxc one-5<PHONE_NUMBER>2958.413 ERROR    sync - sync.c:__sync_wait:62 - An error occurred in another process (expected sequence number 7)
lxc one-5<PHONE_NUMBER>2958.413 WARN     network - network.c:lxc_delete_network_priv:2589 - Operation not permitted - Failed to remove interface "eth0" with index 20
lxc one-5<PHONE_NUMBER>2958.413 ERROR    lxccontainer - lxccontainer.c:wait_on_daemonized_start:842 - Received container state "ABORTING" instead of "RUNNING"
lxc one-5<PHONE_NUMBER>2958.414 ERROR    start - start.c:__lxc_start:1939 - Failed to spawn container "one-5"
lxc<PHONE_NUMBER>2958.415 WARN     commands - commands.c:lxc_cmd_rsp_recv:132 - Connection reset by peer - Failed to receive response for command "get_state"

More interesting debug information can be found in system journal (-r):
Oct 13 11:36:47 generic-bionic systemd-networkd[5086]: one-5-0: Lost carrier
Oct 13 11:36:47 generic-bionic systemd-networkd[5086]: one-5-0: Link DOWN
Oct 13 11:36:47 generic-bionic systemd-timesyncd[4908]: Synchronized to time server <IP_ADDRESS>:123 (ntp.ubuntu.com).
Oct 13 11:36:47 generic-bionic lxd[5339]: t=2020-10-13T11:36:47+0200 lvl=eror msg="Failed starting container" action=start created=2020-10-13T10:46:18+0200 ephemeral=false name=one-5
Oct 13 11:36:47 generic-bionic kernel: br44: port 3(one-5-0) entered forwarding state
Oct 13 11:36:47 generic-bionic kernel: br44: port 3(one-5-0) entered blocking state
Oct 13 11:36:47 generic-bionic kernel: IPv6: ADDRCONF(NETDEV_CHANGE): one-5-0: link becomes ready
Oct 13 11:36:47 generic-bionic kernel: IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Oct 13 11:36:47 generic-bionic kernel: IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Oct 13 11:36:47 generic-bionic dnsmasq[5255]: using nameserver <IP_ADDRESS>#53
Oct 13 11:36:47 generic-bionic dnsmasq[5255]: reading /etc/resolv.conf
Oct 13 11:36:47 generic-bionic systemd-networkd[5086]: one-5-0: Gained carrier
Oct 13 11:36:47 generic-bionic kernel: eth0: renamed from veth5VTP3B
Oct 13 11:36:47 generic-bionic dnsmasq[5255]: using nameserver <IP_ADDRESS>#53
Oct 13 11:36:47 generic-bionic dnsmasq[5255]: reading /etc/resolv.conf
Oct 13 11:36:47 generic-bionic dnsmasq[5255]: using nameserver <IP_ADDRESS>#53
Oct 13 11:36:47 generic-bionic dnsmasq[5255]: reading /etc/resolv.conf
Oct 13 11:36:47 generic-bionic systemd-timesyncd[4908]: Network configuration changed, trying to establish connection.
Oct 13 11:36:47 generic-bionic systemd-timesyncd[4908]: Synchronized to time server <IP_ADDRESS>:123 (ntp.ubuntu.com).
Oct 13 11:36:47 generic-bionic dnsmasq[5255]: using nameserver <IP_ADDRESS>#53
Oct 13 11:36:47 generic-bionic dnsmasq[5255]: reading /etc/resolv.conf
Oct 13 11:36:47 generic-bionic dnsmasq[5255]: using nameserver <IP_ADDRESS>#53
Oct 13 11:36:47 generic-bionic dnsmasq[5255]: reading /etc/resolv.conf
Oct 13 11:36:47 generic-bionic systemd[6270]: Failed to canonicalize path /home/tadziu/.config/systemd/user/sys-devices-virtual-net-one\x2d5\x2d0.device.d: Permission denied
Oct 13 11:36:47 generic-bionic systemd[6270]: Failed to canonicalize path /home/tadziu/.config/systemd/user/sys-devices-virtual-net-one\x2d5\x2d0.device.requires: Permission denied
Oct 13 11:36:47 generic-bionic systemd[6270]: Failed to canonicalize path /home/tadziu/.config/systemd/user/sys-devices-virtual-net-one\x2d5\x2d0.device.wants: Permission denied
Oct 13 11:36:47 generic-bionic systemd[6270]: Failed to canonicalize path /home/tadziu/.config/systemd/user/sys-subsystem-net-devices-one\x2d5\x2d0.device.d: Permission denied
Oct 13 11:36:47 generic-bionic systemd[6270]: Failed to canonicalize path /home/tadziu/.config/systemd/user/sys-subsystem-net-devices-one\x2d5\x2d0.device.requires: Permission denied
Oct 13 11:36:47 generic-bionic systemd[6270]: Failed to canonicalize path /home/tadziu/.config/systemd/user/sys-subsystem-net-devices-one\x2d5\x2d0.device.wants: Permission denied
Oct 13 11:36:47 generic-bionic systemd[6270]: Failed to canonicalize path /home/tadziu/.config/systemd/user/sys-devices-virtual-net-veth5VTP3B.device.d: Permission denied
Oct 13 11:36:47 generic-bionic systemd[6270]: Failed to canonicalize path /home/tadziu/.config/systemd/user/sys-devices-virtual-net-veth5VTP3B.device.requires: Permission denied
Oct 13 11:36:47 generic-bionic systemd[6270]: Failed to canonicalize path /home/tadziu/.config/systemd/user/sys-devices-virtual-net-veth5VTP3B.device.wants: Permission denied
Oct 13 11:36:47 generic-bionic systemd[6270]: Failed to canonicalize path /home/tadziu/.config/systemd/user/sys-subsystem-net-devices-veth5VTP3B.device.d: Permission denied
Oct 13 11:36:47 generic-bionic systemd[6270]: Failed to canonicalize path /home/tadziu/.config/systemd/user/sys-subsystem-net-devices-veth5VTP3B.device.requires: Permission denied
Oct 13 11:36:47 generic-bionic systemd[6270]: Failed to canonicalize path /home/tadziu/.config/systemd/user/sys-subsystem-net-devices-veth5VTP3B.device.wants: Permission denied
Oct 13 11:36:47 generic-bionic dnsmasq[5255]: using nameserver <IP_ADDRESS>#53
Oct 13 11:36:47 generic-bionic dnsmasq[5255]: reading /etc/resolv.conf
Oct 13 11:36:47 generic-bionic systemd-udevd[19211]: link_config: autonegotiation is unset or enabled, the speed and duplex are not writable.
Oct 13 11:36:47 generic-bionic systemd-timesyncd[4908]: Network configuration changed, trying to establish connection.
Oct 13 11:36:47 generic-bionic kernel: IPv6: ADDRCONF(NETDEV_UP): one-5-0: link is not ready
Oct 13 11:36:47 generic-bionic kernel: device one-5-0 entered promiscuous mode
Oct 13 11:36:47 generic-bionic kernel: br44: port 3(one-5-0) entered disabled state
Oct 13 11:36:47 generic-bionic kernel: br44: port 3(one-5-0) entered blocking state
Oct 13 11:36:47 generic-bionic networkd-dispatcher[4991]: WARNING:Unknown index 23 seen, reloading interface list
Oct 13 11:36:47 generic-bionic systemd-udevd[19210]: Could not generate persistent MAC address for veth5VTP3B: No such file or directory
Oct 13 11:36:47 generic-bionic systemd-networkd[5086]: one-5-0: Link UP
Oct 13 11:36:46 generic-bionic systemd-udevd[19210]: link_config: autonegotiation is unset or enabled, the speed and duplex are not writable.
Oct 13 11:36:46 generic-bionic systemd[6270]: Failed to canonicalize path /home/tadziu/.config/systemd/user/var-lib-lxd-devices-one\x2d5-disk.context.context.mount.d: Permission denie
Oct 13 11:36:46 generic-bionic systemd[6270]: Failed to canonicalize path /home/tadziu/.config/systemd/user/var-lib-lxd-devices-one\x2d5-disk.context.context.mount.requires: Permissio
Oct 13 11:36:46 generic-bionic systemd[6270]: Failed to canonicalize path /home/tadziu/.config/systemd/user/var-lib-lxd-devices-one\x2d5-disk.context.context.mount.wants: Permission d

Honestly i do not quite understand, why i got permission errors for my home user, since LXC commands are being invoked as root and i do not know whether those perms problem is relevant.
This issue is reproducible with any LXD image from marketplace as well as default minione deployed generic CentOS so its clear that it is not image related.
Expected behavior
Proper containers start on system reboots.
Details

Affected Component: Minione LXD instance
Hypervisor: LXD
Version: <IP_ADDRESS>

Progress Status

[ ] Branch created
[ ] Code committed to development branch
[ ] Testing - QA
[ ] Documentation
[ ] Release notes - resolved issues, compatibility, known issues
[ ] Code committed to upstream release/hotfix branches
[ ] Documentation committed to upstream release/hotfix branches

Can you apply the following commits

https://github.com/OpenNebula/one/commit/aa379a100e08a40b98dc9609a68ad2ba156db4e5
https://github.com/OpenNebula/one/commit/4516352239950c79e9d0c4e655a1c9e7e60cc048

replace the following files in the frontend by the ones in the commits

/var/lib/one/remotes/im/lxd-probes.d/vm/status/state.rb
/var/lib/one/remotes/im/lib/probe_db.rb

and issue a onehost sync --force to sync them to the hypersivor. After that, see if the containers are no longer reported RUNNING.
The problem is those containers are being reported RUNNING by OpenNebula, they exist on the node, but they don't have the container image mounted on the container rootfs path. Then you see:

lxc one-5<PHONE_NUMBER>2958.413 ERROR    start - start.c:start:2028 - No such file or directory - Failed to exec "/sbin/init"

Because there is no /sbin/init file in the container rootfs. In order to manually fix that, you need to mount the container images on the container rootfs path and its mountpoints.
Here is an example of a VM with contextualization and a single disk.
root@cygnus:~# lxc list
+-------+---------+------+------+------------+-----------+
| NAME  |  STATE  | IPV4 | IPV6 |    TYPE    | SNAPSHOTS |
+-------+---------+------+------+------------+-----------+
| one-0 | STOPPED |      |      | PERSISTENT | 0         |
+-------+---------+------+------+------------+-----------+
| one-1 | STOPPED |      |      | PERSISTENT | 0         |
+-------+---------+------+------+------------+-----------+
| one-2 | STOPPED |      |      | PERSISTENT | 0         |
+-------+---------+------+------+------------+-----------+
root@cygnus:~# lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0     7:0    0  364K  0 loop /var/lib/one/datastores/0/2/mapper/disk.1
sda       8:0    0   60G  0 disk
├─sda1    8:1    0 59.9G  0 part /
├─sda14   8:14   0    4M  0 part
└─sda15   8:15   0  106M  0 part /boot/efi
sr0      11:0    1  366K  0 rom  /mnt
nbd0     43:0    0    1G  0 disk /var/lib/lxd/storage-pools/default/containers/one-2/rootfs

This is how it should look prior to manually starting the container. The VM disk is mapped to /dev/nbd0 and the context ISO is mapped to /dev/loop0

Yes those patches fix containers status in Sunstone. That is a good progress direction however onevm still returns false status and my primary concern is not fixed - mounts are still ephemeral.
However I can start containers via Sunstone after reboot and my data is not lost i'd like to keep those mount persistent in some way or another. Is that possible? I've just started fiddling around with nebula since openstack is hard to maintain for our team. So excuse noobish question but can we expect same problem with LXD nodes in production scenario with properly deployed cloud or is it just evaluation-minione related issue?
Nebulas KVM instances works as expected so we've even started developing some tools with You api however LXD is crucial for our on premises infrastructure.

Yes those patches fix containers status in Sunstone

onevm still returns false status

If Sunstone shows the correct status then onevm list should report the same status. Can you clarify this ?

my primary concern is not fixed - mounts are still ephemeral.

If the node is forcibly rebooted/powered off, then you won't have the mounts when it comes online. However, if OpenNebula reports the containers as powered off, which they should be with the patches, because they exist in the node, then you just issue a onevm resume or Resume in Sunstone and the mounts should be issued as usual.
The mounts are issued after creating the container and prior to starting it. IF the container VM is rebooted the mounts persist. If the container VM is powered off, the mounts are cleaned and the container is deleted afterwards. Then if the container is started again, it is recreated and mounts are issued as well.

So excuse noobish question but can we expect same problem with LXD nodes in production scenario with properly deployed cloud or is it just evaluation-minione related issue?

For production environments you should get the OpenNebula enterprise edition which comes with access to the enterprise repository packages. Those packages come with all of the fixes (for example the provided fix is there) and the ability to upgrade you OpenNebula deployment, and of course, enterprise support.

If Sunstone shows the correct status then onevm list should report the same status. Can you clarify this ?

what i've missed here is that it takes few minutes after node up for the status to become expected:
root@generic-bionic:~# uptime
 10:21:41 up 0 min,  2 users,  load average: 4.38, 1.45, 0.51
root@generic-bionic:~# onevm list
  ID USER     GROUP    NAME                                                                             STAT  CPU     MEM HOST                                                        TIME
   0 tadziu   oneadmin asdf                                                                             runn  0.1      2G localhost                                               2d 22h03
root@generic-bionic:~# onevm list
  ID USER     GROUP    NAME                                                                             STAT  CPU     MEM HOST                                                        TIME
   0 tadziu   oneadmin asdf                                                                             poff  0.1      2G localhost                                               2d 22h10

i've just didn't checked twice my bad.

The mounts are issued after creating the container and prior to starting it. IF the container VM is rebooted the mounts persist. If the container VM is powered off, the mounts are cleaned and the container is deleted afterwards. Then if the container is started again, it is recreated and mounts are issued as well.

okay, so in case of the power loss or a single minione server instance failure we just need a startup service that iterates over poffed containers and just starts them the same way via API the same way a user would do it manually right?
thanks for Your help, if the platform passes all of our tests we surely consider going enterprise.

okay, so in case of the power loss or a single minione server instance failure we just need a startup service that iterates over poffed containers and just starts them the same way via API the same way a user would do it manually right?

That is the case, if you want to test it. You can sort of simulate a power failure. To do so:
Manually stop the container
lxc stop one-<vm_id>

umount the images. Following the example provided:
umount /var/lib/one/datastores/0/2/mapper/disk.1 # umount context disk
umount /var/lib/lxd/storage-pools/default/containers/one-2/rootfs # umount rootfs image

unmap the images
losetup -d /dev/loop0
qemu-nbd -d /dev/nbd0

And the monitoring system should update the VM status when it detects the container being powered off. Then try to resume the VM and see if it works.


Update existing Id::try_from to return a u32 and impl new ones to convert to and from u64

These functions are very useful integrating cdk into the SRI codebase. Probably other codebases as well.

Crap I merged the latest from master and now the PR shows unrelated file changes. Is there a good way to fix this?


Feature/algorithmist girl/connecting page

Administrative Info
[GitHub Issue #28 ]
Make sure your branch name conforms to: <feature/staging/hotfix/...>/[username]/[3-4 word description separated by dashes]. Otherwise, please rename your branch and create a new PR.
Changes
What changes did you make?

Created loading screen
Connected loading screen and chess board

Only loads chess board when room has 2 players ready to play
If only 1 player, stays on loading screen

Created new socket event for quit searching on the loading screen

Testing
How did you confirm your changes worked?

1 person logged in as mentor and another logged in as student to test the flow between loading screen and chess board
Ensured that players only go to chess screen when there are 2 players in a room
Ensured that player stay on loading screen when no opponent available

Confirmation of Change
Upload a screenshot, if possible. Otherwise, please provide instructions on how to see the change.

Loading and Chess Screen Flow

https://user-images.githubusercontent.com/64985802/169716738-299ede66-5976-4021-8c5c-49693acb3eab.mov

Draw changes are from the previous PR, but we started working on this branch before we merged in the previous PR so it has those changes here even though it's already merged in master.


Worlds inheritance

I have a problem with some permission plugins. When set worlds, if I try inheritance in indent of world, some perms, don't work on that world, like essentials perms and legendchat.
The inheritance works for some perms like marry, but not for others like essentials or legendchat. The problem is solved if I add the perms that don't work, to that world (creative), but I don't want to repeat the perms on all worlds :/ .
Here is a link from pastebin with my permissions.yml:
https://pastebin.com/tzp3ysrs

What are all of the names of the worlds on your server?

criativo, lobby, loja, mine, world, world_nether, world_the_end.
All selected on print.

Ok.  Give me a few minutes and I'll make you a template to work from.

Take a look at this example.
In the first group, "Guest", the permissions: after line 10 are "global" permissions that apply to all worlds for that group.
The permissions: on lines 18, 21, 24, 27, 30, 33, and 36 are for permissions that are specific to only that world.
If you want 6 of your worlds to have a node called permission.node.seven and do not want the 7th world (criativo) to have that node, you would give that permission node to the group under "global" permissions, and negate the node on criativo.  Like this:
    permissions:
    - permission.node.seven
    worlds:
      criativo:
        permissions:
        - -permission.node.seven
      lobby:
        permissions:
        - permission.node.six
      loja:
        permissions:
        - permission.node.five
      mine:
        permissions:
        - permission.node.four
      world:
        permissions:
        - permission.node.three
      world_nether:
        permissions:
        - permission.node.two
      world_the_end:
        permissions:
        - permission.node.one

(I included some example permissions that will be specific to all the other worlds too.  This way, you can see that "world_the_end" gets permission.node.seven— from its global permissions —and permission.node.one from its world-specific permissions.)

Excellent.
Don't forget Debug Mode if you run into permissions problems.

You can still post here and I'll still get the posts in my email.
I'm just closing the ticket in case you forget to update and because it appears the issue is solved. :-)

Worked all fine. Thank you! :D
Closed.

Excellent!  Have fun!


I update version and caught error: Warning: class_parents(): Class int does not exist and could not be loaded

File /var/www/vendor/silex/silex/src/Silex/AppArgumentValueResolver.php line 37
controller method - public function getResource(Request $request, int $id)

There is an issue with PHP7 type int with controllers. As a quickfix you could remove the int hint on $id. I'm working on a patch for PHP7.

Thanks!

@fabpot could we have a 2.0.3 tag for this bug fix?

Done

thanks for the tag @fabpot , thanks for the fix @GromNaN !

Thanks!


api: Use TaskStatus Err field for non-terminal errors

There are some cases when a task can't advance from a particular state because preconditions are not met. For example, if no nodes meet its constraints, it will not advance to "assigned".
Currently, we put a note about this in the Message field of TaskStatus, but this is not surfaced to the user. It wouldn't make sense to expose Message prominently because it usually contains uninteresting notes about how the task reached that state. Its presence does not indicate that something is wrong.
Expand the scope of Err to also cover non-terminal errors that are blocking the task from progressing, and use it in those cases.
Ideally we would also use this to surface IP allocation failures that block a task in "new", but the current design of the allocator would loop if we updated a task on failure. This might be something for a followup.
cc @aluzzardi @stevvooe

@aaronlehmann Why don't consumers just print the message field correctly?

It is unclear when the Message field contains actionable information.

Err is meant to only be actionable when the task is in the error state. I understand that this intends to change that, but the usage of Err is quite clear in that it is valid when in an error state, which is strictly defined as the error states.
The use case that is being described here is exactly what the message field is designed for:

// Message reports a message for the task status. This should provide a
// human readable message that can point to how the task actually arrived
// at a current state.

Do we need something to indicate that a task is stalled?

In this case, tasks are stalled indefinitely - for instance not all constraints were met or we reached network exhaustion.
The operator needs to have this information surfaced somehow since state convergence cannot go forward until action is taken.
Currently, Message contains a bunch of trivial information (e.g. "the task is starting") which doesn't make it suitable for carrying important messages.
Long story short, this needs to be blinking red in some ops' dashboard.

@aluzzardi I get what you are trying to do, but I am asking if there is a better way to do it. Overloading the Err field will have the same problems. As of now, its contents are undefined when not in an error state. Expanding the scope of that field is ambiguous.
If a task is stalled, do we have an indicator of that state? For example, a boolean field, indicating that the task is stalled and to check the message field would make sense here.

What is the status of this PR? Are we planning on moving this forward? It would be very helpful for users to be able to see when their tasks are in a state where the user must take action for them to be scheduled (e.g. network address exhaustion).

LGTM
Looking at this again, I think we can go forward with it. My concerns are little abstract, but I think that this will work.
@aluzzardi How should we move this forward? It looks like it will merge cleanly.

Looks good, one question/comment, which can probably be addressed later if we need to merge it right away.


🐛 [firebase_core] Can not deploy Flutter web app to Firebase Hosting

Bug report
Describe the bug
I have a github action I have used to deploy my Flutter web app for years that is now throwing an error.   This happened after upgrading to Flutter 3.19.0 which I have since reverted back to 3.16.9 but I still can not deploy my web app that I have deployed hundreds of times.  When I upgraded Flutter, I also ran flutter pub upgrade.  When nothing worked, I replaced my pubspec.lock with the one that worked previously and deploy still failed.  After deleting pubspec.lock and running flutter pub get, deploy still fails.
Manually trying to deploy the app with firebase deploy --only hosting after flutter build web also causes a very nondescriptive error when uploading new files.  Googling the error leads me to believe it is a problem with my firebase.json, which has not changed since many successful deploys.
Error: Task aa0a962e03a3023433fd4848902f9d5112944e89b9e76468f67d0a42b0871660 failed: retries exhausted after 6 attempts, with error: The "path" argument must be of type string. Received undefined

firebase.json
   {
  "hosting": {
    "public": "build/web",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
  },
  "functions": {
    "source": "functions",
    "ignore": [
      "node_modules",
      ".git",
      "firebase-debug.log",
      "firebase-debug.*.log"
    ]
  },
  "firestore": {
    "rules": "firestore.rules",
    "indexes": "firestore.indexes.json"
  },
  "emulators": {
    "functions": {
      "host": "localhost",
      "port": 5001
    },
    "ui": {
      "enabled": true
    },
    "singleProjectMode": true,
    "firestore": {
      "port": 8080
    },
    "hosting": {
      "port": 5000
    }
  },
  "storage": {
    "rules": "storage.rules"
  }
}

Github Action Error
Run flutter build web
Compiling lib/main.dart for the Web...

Expected behavior
The web app to get deployed and work, just like it does in my web emulator.
Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
[√] Flutter (Channel stable, 3.16.9, on Microsoft Windows [Version 10.0.22621.3155], locale en-US)
    • Flutter version 3.16.9 on channel stable at C:\Flutter\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 41456452f2 (3 weeks ago), 2024-01-25 10:06:23 -0800
    • Engine revision f40e976bed
    • Dart version 3.2.6
    • DevTools version 2.28.5

[√] Windows Version (Installed version of Windows is version 10 or higher)

[√] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at C:\Users\nitro\AppData\Local\Android\Sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: C:\Users\nitro\AppData\Local\Programs\Android Studio\jbr\bin\java
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-b2043.56-10550314)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.4.3)
    • Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community
    • Visual Studio Community 2022 version 17.4.33205.214
    • Windows 10 SDK version 10.0.22000.0

[√] Android Studio (version 2023.1)
    • Android Studio at C:\Users\nitro\AppData\Local\Programs\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
[√] VS Code (version 1.86.2)
    • VS Code at C:\Users\nitro\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension can be installed from:
       https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[√] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.22621.3155]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 121.0.6167.185
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 121.0.2277.112

[√] Network resources
    • All expected network resources are available.

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
Dart SDK 3.2.6
Flutter SDK 3.16.9
raid_builder 1.0.0+1

dependencies:
- cloud_firestore 4.15.4 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- cloud_firestore_web 3.10.4 [_flutterfire_internals cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]
- cloud_functions 4.6.5 [cloud_functions_platform_interface cloud_functions_web firebase_core firebase_core_platform_interface flutter]
- cupertino_icons 1.0.6
- email_validator 2.1.17
- equatable 2.0.5 [collection meta]
- file_picker 6.1.1 [flutter flutter_web_plugins flutter_plugin_android_lifecycle plugin_platform_interface ffi path win32]
- firebase_auth 4.17.4 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 2.25.4 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_storage 11.6.5 [firebase_core firebase_core_platform_interface firebase_storage_platform_interface firebase_storage_web flutter]
- flex_color_scheme 7.3.1 [flex_seed_scheme flutter meta]
- flutter 0.0.0 [characters collection material_color_utilities meta vector_math web sky_engine]
- flutter_countdown_timer 4.1.0 [flutter]
- flutter_portal 1.1.4 [collection flutter vector_math]
- flutter_riverpod 2.4.10 [collection flutter meta riverpod state_notifier]
- go_router 13.2.0 [collection flutter flutter_web_plugins logging meta]
- html 0.15.4 [csslib source_span]
- http 1.2.0 [async http_parser meta web]
- intl 0.19.0 [clock meta path]
- json_annotation 4.8.1 [meta]
- just_audio 0.9.36 [just_audio_platform_interface just_audio_web audio_session rxdart path path_provider async uuid crypto meta flutter]
- scroll_to_index 3.0.1 [flutter]
- scrollable_positioned_list 0.3.8 [flutter collection]
- shared_preferences 2.2.2 [flutter shared_preferences_android shared_preferences_foundation shared_preferences_linux shared_preferences_platform_interface shared_preferences_web shared_preferences_windows]
- super_tooltip 2.0.7 [flutter]
- url_launcher 6.2.4 [flutter url_launcher_android url_launcher_ios url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]
- url_strategy 0.2.0 [flutter_web_plugins]
- uuid 4.3.3 [crypto sprintf meta fixnum]

dev dependencies:
- build_runner 2.4.8 [analyzer args async build build_config build_daemon build_resolvers build_runner_core code_builder collection crypto dart_style frontend_server_client glob graph
s http_multi_server io js logging meta mime package_config path pool pub_semver pubspec_parse shelf shelf_web_socket stack_trace stream_transform timing watcher web_socket_channel yaml]
- flutter_launcher_icons 0.13.1 [args checked_yaml cli_util image json_annotation path yaml]
- flutter_lints 3.0.1 [lints]
- flutter_test 0.0.0 [flutter test_api matcher path fake_async clock stack_trace vector_math async boolean_selector characters collection material_color_utilities meta source_span stream_channel string_scanner term_glyph web]
- json_serializable 6.7.1 [analyzer async build build_config collection json_annotation meta path pub_semver pubspec_parse source_gen source_helper]

transitive dependencies:
- _fe_analyzer_shared 64.0.0 [meta]
- _flutterfire_internals 1.3.21 [collection firebase_core firebase_core_platform_interface flutter meta]
- analyzer 6.2.0 [_fe_analyzer_shared collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- archive 3.4.10 [crypto path pointycastle]
- args 2.4.2
- async 2.11.0 [collection meta]
- audio_session 0.1.18 [flutter flutter_web_plugins rxdart meta]
- boolean_selector 2.1.1 [source_span string_scanner]
- build 2.4.1 [analyzer async convert crypto glob logging meta package_config path]
- build_config 1.1.1 [checked_yaml json_annotation path pubspec_parse yaml]
- build_daemon 4.0.1 [built_collection built_value crypto http_multi_server logging path pool shelf shelf_web_socket stream_transform watcher web_socket_channel]
- build_resolvers 2.4.2 [analyzer async build collection convert crypto graphs logging package_config path pool pub_semver stream_transform yaml]
- build_runner_core 7.3.0 [async build build_config build_resolvers collection convert crypto glob graphs json_annotation logging meta package_config path pool timing watcher yaml]
- built_collection 5.1.1
- built_value 8.9.0 [built_collection collection fixnum meta]
- characters 1.3.0
- checked_yaml 2.0.3 [json_annotation source_span yaml]
- cli_util 0.4.1 [meta path]
- clock 1.1.1
- cloud_firestore_platform_interface 6.1.5 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- cloud_functions_platform_interface 5.5.16 [firebase_core flutter meta plugin_platform_interface]
- cloud_functions_web 4.6.16 [cloud_functions_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js]
- code_builder 4.10.0 [built_collection built_value collection matcher meta]
- collection 1.18.0
- convert 3.1.1 [typed_data]
- crypto 3.0.3 [typed_data]
- csslib 1.0.0 [source_span]
- dart_style 2.3.4 [analyzer args collection path pub_semver source_span]
- fake_async 1.3.1 [clock collection]
- ffi 2.1.0
- file 7.0.0 [meta path]
- firebase_auth_platform_interface 7.1.4 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 5.9.4 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser js meta web]
- firebase_core_platform_interface 5.0.0 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.11.4 [firebase_core_platform_interface flutter flutter_web_plugins js meta web]
- firebase_storage_platform_interface 5.1.8 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_storage_web 3.6.22 [_flutterfire_internals async firebase_core firebase_core_web firebase_storage_platform_interface flutter flutter_web_plugins http js meta]
- fixnum 1.1.0
- flex_seed_scheme 1.4.0 [collection flutter meta]
- flutter_plugin_android_lifecycle 2.0.17 [flutter]
- flutter_web_plugins 0.0.0 [flutter characters collection material_color_utilities meta vector_math web]
- frontend_server_client 3.2.0 [async path]
- glob 2.1.2 [async collection file path string_scanner]
- graphs 2.3.1 [collection]
- http_multi_server 3.2.1 [async]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- image 4.1.7 [archive meta xml]
- io 1.0.4 [meta path string_scanner]
- js 0.6.7 [meta]
- just_audio_platform_interface 4.2.2 [flutter plugin_platform_interface]
- just_audio_web 0.4.9 [just_audio_platform_interface flutter flutter_web_plugins]
- lints 3.0.0
- logging 1.2.0
- matcher 0.12.16 [async meta stack_trace term_glyph test_api]
- material_color_utilities 0.5.0 [collection]
- meta 1.10.0
- mime 1.0.5
- package_config 2.1.0 [path]
- path 1.8.3
- path_provider 2.1.2 [flutter path_provider_android path_provider_foundation path_provider_linux path_provider_platform_interface path_provider_windows]
- path_provider_android 2.2.2 [flutter path_provider_platform_interface]
- path_provider_foundation 2.3.2 [flutter path_provider_platform_interface]
- path_provider_linux 2.2.1 [ffi flutter path path_provider_platform_interface xdg_directories]
- path_provider_platform_interface 2.1.2 [flutter platform plugin_platform_interface]
- path_provider_windows 2.2.1 [ffi flutter path path_provider_platform_interface win32]
- petitparser 6.0.2 [meta]
- platform 3.1.4
- plugin_platform_interface 2.1.8 [meta]
- pointycastle 3.7.4 [collection convert js]
- pool 1.5.1 [async stack_trace]
- pub_semver 2.1.4 [collection meta]
- pubspec_parse 1.2.3 [checked_yaml collection json_annotation pub_semver yaml]
- riverpod 2.5.0 [meta stack_trace state_notifier]
- rxdart 0.27.7
- shared_preferences_android 2.2.1 [flutter shared_preferences_platform_interface]
- shared_preferences_foundation 2.3.5 [flutter shared_preferences_platform_interface]
- shared_preferences_linux 2.3.2 [file flutter path path_provider_linux path_provider_platform_interface shared_preferences_platform_interface]
- shared_preferences_platform_interface 2.3.2 [flutter plugin_platform_interface]
- shared_preferences_web 2.2.2 [flutter flutter_web_plugins shared_preferences_platform_interface web]
- shared_preferences_windows 2.3.2 [file flutter path path_provider_platform_interface path_provider_windows shared_preferences_platform_interface]
- shelf 1.4.1 [async collection http_parser path stack_trace stream_channel]
- shelf_web_socket 1.0.4 [shelf stream_channel web_socket_channel]
- sky_engine 0.0.99
- source_gen 1.5.0 [analyzer async build dart_style glob path source_span yaml]
- source_helper 1.3.4 [analyzer collection source_gen]
- source_span 1.10.0 [collection path term_glyph]
- sprintf 7.0.0
- stack_trace 1.11.1 [path]
- state_notifier 1.0.0 [meta]
- stream_channel 2.1.2 [async]
- stream_transform 2.1.0
- string_scanner 1.2.0 [source_span]
- term_glyph 1.2.1
- test_api 0.6.1 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph]
- timing 1.0.1 [json_annotation]
- typed_data 1.3.2 [collection]
- url_launcher_android 6.3.0 [flutter url_launcher_platform_interface]
- url_launcher_ios 6.2.4 [flutter url_launcher_platform_interface]
- url_launcher_linux 3.1.1 [flutter url_launcher_platform_interface]
- url_launcher_macos 3.1.0 [flutter url_launcher_platform_interface]
- url_launcher_platform_interface 2.3.2 [flutter plugin_platform_interface]
- url_launcher_web 2.2.3 [flutter flutter_web_plugins url_launcher_platform_interface web]
- url_launcher_windows 3.1.1 [flutter url_launcher_platform_interface]
- vector_math 2.1.4
- watcher 1.1.0 [async path]
- web 0.3.0
- web_socket_channel 2.4.0 [async crypto stream_channel]
- win32 5.2.0 [ffi]
- xdg_directories 1.0.4 [meta path]
- xml 6.5.0 [collection meta petitparser]
- yaml 3.1.2 [collection source_span string_scanner]

Hi @nitroplr, does your github action cache the build? Can you try running flutter pub upgrade in your flow to see if it helps?

Adding pub upgrade to the workflow worked!  Thank you so much.  I have a support ticket in and someone I am working with from Firebase support to help me figure out why manually deploying the app does not work but I can at least update my app now.

Glad that helped, if you set a dependency_override for the web package to maybe version 0.4.0, does that allow you to remove the pub upgrade command from your workflow?

Yes, that has fixed the workflow.  Thank you again.

Great, I'll be closing this as solved for now.

My problem of not being able to deploy manually was fixed by deleting the .firebase folder.


SBT plugin published to wrong location in Maven Central

What version of Flyway are you using?
4.0
What did you do?
(Please include the content causing the issue, any relevant configuration settings, and the command you ran)
Looked at the contents of https://repo1.maven.org/maven2/org/flywaydb/flyway-sbt/
Added the line
addSbtPlugin("org.flywaydb" % "flyway-sbt" % "4.0")

to verify the path that SBT searches for the plugin.
What did you expect to see?
I would expect an SBT plugin for SBT 0.13.x to encode both the scala version and SBT version in the path (for ABI reasons): https://repo1.maven.org/maven2/org/flywaydb/flyway-sbt_2.10_0.13/4.0/flyway-sbt-4.0.jar
And SBT would download/use the plugin when given the above configuration.
What did you see instead?
The path to (for example 4.0) is https://repo1.maven.org/maven2/org/flywaydb/flyway-sbt/4.0/flyway-sbt-4.0.jar
This is not accessed, and the plugin cannot be found.

Place the following in your plugins config for as a work around:
libraryDependencies ++= Seq(
  "org.flywaydb" % "flyway-core" % "4.0",
  "org.flywaydb" % "flyway-sbt" % "4.0"
)

Maven Central does not support the path structure you suggest. Hence our instructions with an additional resolver: https://flywaydb.org/documentation/sbt/

The additional repo as of a week or two ago did not work and visiting https://flywaydb.org/repo redirects to the project's home page.

I have little familiarity with Maven Central, but sbt-sonatype does publish there:
https://repo1.maven.org/maven2/org/xerial/sbt/sbt-sonatype_2.10_0.13/1.1/
I also found a Stack Overflow document of minimal help:
http://stackoverflow.com/questions/25192749/how-to-publish-sbt-plugin-to-nexus-repositories
In practice, most of the community publishes to Bintray instead, this is where I publish SBT plugins, so I wasn't aware of any extra issues publishing to Maven Central. This is the suggested route to follow, and the default resolver settings for SBT include Bintray:
http://www.scala-sbt.org/0.13/docs/Bintray-For-Plugins.html
If you fix your own custom repo, that will help, but it does still cause extra steps before use, especially for people who use an internal Sonatype Nexus as a proxy.

But fixing your private repo would be appreciated anyway, thanks :-)

+1, can't resolve flyway-sbt plugin

+1, is there a workaround for the time being?

@sourcesmith I already tried your workaround above (i.e. defining libraryDependencies in plugins.sbt), but SBT still gave me the same error - it tried to resolve the plugin using the following path:
org/flywaydb/flyway-sbt_2.10_0.13/4.0/flyway-sbt-4.0.jar.  If you know a different workaround to the issue, please let me know - for the time being, I just switched to use the command line version.
Note: I am using a local artifactory server as the local proxy for jcenter and maven central.

@ksit You didn't mention that though.  I am currently using the workaround I described.  Did you remove the call to addSbtPlugin because that is responsible for adding the scala+sbt version suffix to the artifact ID in the path?  This assumes you are using the default resolver patterns, as well.

I just tried this and everything is working as expected. I updated SBT to the latest version (0.13.11) No libraryDeependencies, no other workarounds. I wiped all caches on my machine and followed the getting started tutorial (https://flywaydb.org/getstarted/firststeps/sbt) and all downloads completed successfully:
C:\Temp\flyway-sbt-test>sbt flywayInfo
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
[info] Loading project definition from C:\Temp\flyway-sbt-test\project
[info] Updating {file:/C:/Temp/flyway-sbt-test/project/}flyway-sbt-test-build...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] downloading https://flywaydb.org/repo/org/flywaydb/flyway-sbt_2.10_0.13/4.0/flyway-sbt-4.0.jar ...
[info]  [SUCCESSFUL ] org.flywaydb#flyway-sbt;4.0!flyway-sbt.jar (949ms)
[info] downloading https://repo1.maven.org/maven2/org/flywaydb/flyway-core/4.0/flyway-core-4.0.jar ...
[info]  [SUCCESSFUL ] org.flywaydb#flyway-core;4.0!flyway-core.jar (371ms)
[info] Done updating.
[info] Set current project to flyway-sbt-test (in build file:/C:/Temp/flyway-sbt-test/)
[info] Flyway 4.0 by Boxfuse
[info] Database: jdbc:h2:file:./target/foobar (H2 1.4)
[warn] Unable to resolve location filesystem:src/main/resources/db/migration
[warn] Unable to resolve location filesystem:src/main/resources/db/migration
[warn] Unable to resolve location filesystem:src/main/resources/db/migration
[info] +---------+-------------+---------------------+---------+
[info] | Version | Description | Installed on        | State   |
[info] +---------+-------------+---------------------+---------+
[info] | No migrations found                                   |
[info] +---------+-------------+---------------------+---------+
[success] Total time: 0 s, completed 14.04.2016 21:03:13```

Please provide the exact steps to reproduce the issue as I cannot get this to fail.

Okay, I have cleared my cache and re-instated the configuration from the getting first steps guide and it now appears to be working:
[info] downloading https://flywaydb.org/repo/org/flywaydb/flyway-sbt_2.10_0.13/4.0/flyway-sbt-4.0.jar ...
[info] 	[SUCCESSFUL ] org.flywaydb#flyway-sbt;4.0!flyway-sbt.jar (583ms)
[info] downloading https://repo1.maven.org/maven2/org/flywaydb/flyway-core/4.0/flyway-core-4.0.jar ...
[info] 	[SUCCESSFUL ] org.flywaydb#flyway-core;4.0!flyway-core.jar (198ms)

@sourcesmith my bad for not providing all the details upfront.  I already have addSbtPlugin commented out in plugins.sbt, so it should not be the problem.
Having said that, the problem has been resolved.
TL;DR Just do what @axelfontaine suggested, and add  https://flywaydb.org/repo to your resolver list.
When I first modified the build, I tried to update my local Artifactory server to proxy the repo https://flywaydb.org/repo.  However, Artifactory gave me an error when I tried to test the connection.  I also tried hitting https://flywaydb.org/repo directly using a browser, and I got a 404 error.  So I didn't bother adding the repo to the resolver list -- and apparently this is the problem.
The repo is indeed working -- and you can test it using the following URL:
https://flywaydb.org/repo/org/flywaydb/flyway-sbt_2.10_0.13/4.0/flyway-sbt-4.0.jar
At the end, I just ignored the error from Artifactory, added the https://flywaydb.org/repo URL to the list of repository to proxy, and things are now working fine.

FYI for anybody who sees this in future, my issue was using http instead of https in the URL, which causes a "not found" error.

I am using scala 2.11.8, SBT 0.13.13 and unable to download flyway. Its resolving to a non-existent url,
https://flywaydb.org/repo/org/flywaydb/flyway-sbt_2.11_0.13/4.0.3/flyway-sbt-4.0.3.pom


npm install <tar_url> from private repository

Hi,
A request for npm install to support installations of github tarballs from private repositories.
Or how can I make this happen?
(a user and password, or based on the ssh keys that are already registered in github)
Thanks!

Well, you can npm install <tarball url> :)
Or you can install from git urls.  npm install git+ssh://user@hostname:git_repo.git#commit-ish
See the npm faq

Somehow it's not reading my private key. I have it in my ~/.ssh, if that is where it tries to read it from.
gabriel$ npm install git+ssh://gabipetrovay@github.com:adioo/mono.git
npm ERR! git clone gabipetrovay@github.com:adioo/mono.git Cloning into /var/folders/hj/1wrp2qr17vzc25vys6r_8y240000gp/T/npm-1329914901409/1329914901409-0.520627781515941...
npm ERR! git clone gabipetrovay@github.com:adioo/mono.git
npm ERR! git clone gabipetrovay@github.com:adioo/mono.git Permission denied (publickey).
npm ERR! git clone gabipetrovay@github.com:adioo/mono.git fatal: The remote end hung up unexpectedly

npm ERR! Error: `git "clone" "gabipetrovay@github.com:adioo/mono.git" "/var/folders/hj/1wrp2qr17vzc25vys6r_8y240000gp/T/npm-1329914901409/1329914901409-0.520627781515941"` failed with 128
npm ERR!     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/exec.js:49:20)
npm ERR!     at ChildProcess.emit (events.js:70:17)
npm ERR!     at maybeExit (child_process.js:361:16)
npm ERR!     at Socket.<anonymous> (child_process.js:466:7)
npm ERR!     at Socket.emit (events.js:67:17)
npm ERR!     at Array.1 (net.js:320:10)
npm ERR!     at EventEmitter._tickCallback (node.js:192:40)
npm ERR! You may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR<EMAIL_ADDRESS>npm ERR!
npm ERR! System Darwin 11.3.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "git+ssh://gabipetrovay@github.com:adioo/mono.git"
npm ERR! cwd /Users/gabriel
npm ERR! node -v v0.6.10
npm ERR! npm -v 1.1.0-3
npm ERR! message `git "clone" "gabipetrovay@github.com:adioo/mono.git" "/var/folders/hj/1wrp2qr17vzc25vys6r_8y240000gp/T/npm-1329914901409/1329914901409-0.520627781515941"` failed with 128
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/gabriel/npm-debug.log
npm not ok

Does it work using npm 1.1.1?  I seem to remember something about ssh urls being weird earlier.
Does it work if you git "clone" "gabipetrovay@github.com:adioo/mono.git" manually?

Note that that's a read-write github url.  You can only access it if @aidoo has made you a collaborator on the repo.

Yes I have the rights on that repo and I push pull almost on a daily basis. I also did clone several times.
I had 1.1.0 brought by node. And I now I tried: curl http://npmjs.org/install.sh | sh
jillixs-MacBook-Pro:npm gabriel$ curl http://npmjs.org/install.sh | sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  7881  100  7881    0     0   5295      0  0:00:01  0:00:01 --:--:-- 26009
tar=/usr/bin/tar
version:
bsdtar 2.8.3 - libarchive 2.8.3
install<EMAIL_ADDRESS>fetching: http://registry.npmjs.org/npm/-/npm-1.1.1.tgz
0.6.10
1.1.1
cleanup prefix=/usr/local

All clean!

npm ERR! Error: EPERM, operation not permitted '/usr/local/bin/npm'
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR!
npm ERR! System Darwin 11.3.0
npm ERR! command "/usr/local/bin/node" "/private/var/folders/hj/1wrp2qr17vzc25vys6r_8y240000gp/T/npm.12094/package/cli.js" "rm" "npm" "-gf"
npm ERR! cwd /private/var/folders/hj/1wrp2qr17vzc25vys6r_8y240000gp/T/npm.12094/package
npm ERR! node -v v0.6.10
npm ERR! npm -v 1.1.1
npm ERR! path /usr/local/bin/npm
npm ERR! code EPERM
npm ERR! message EPERM, operation not permitted '/usr/local/bin/npm'
npm ERR! errno {}
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /private/var/folders/hj/1wrp2qr17vzc25vys6r_8y240000gp/T/npm.12094/package/npm-debug.log
npm not ok
npm ERR! error installing<EMAIL_ADDRESS>npm ERR! error rolling back<EMAIL_ADDRESS>Error: EPERM, operation not permitted '/usr/local/bin/npm'

npm ERR! Error: EPERM, operation not permitted '/usr/local/bin/npm'
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR!
npm ERR! System Darwin 11.3.0
npm ERR! command "/usr/local/bin/node" "/private/var/folders/hj/1wrp2qr17vzc25vys6r_8y240000gp/T/npm.12094/package/cli.js" "install" "-gf"
npm ERR! cwd /private/var/folders/hj/1wrp2qr17vzc25vys6r_8y240000gp/T/npm.12094/package
npm ERR! node -v v0.6.10
npm ERR! npm -v 1.1.1
npm ERR! path /usr/local/bin/npm
npm ERR! code EPERM
npm ERR! message EPERM, operation not permitted '/usr/local/bin/npm'
npm ERR! errno {}
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /private/var/folders/hj/1wrp2qr17vzc25vys6r_8y240000gp/T/npm.12094/package/npm-debug.log
npm not ok
It failed

Then I tried: sudo curl http://npmjs.org/install.sh | sh
jillixs-MacBook-Pro:npm gabriel$ sudo curl http://npmjs.org/install.sh | sh
Password:
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  7881  100  7881    0     0  16415      0 --:--:-- --:--:-- --:--:-- 23809
tar=/usr/bin/tar
version:
bsdtar 2.8.3 - libarchive 2.8.3
install<EMAIL_ADDRESS>fetching: http://registry.npmjs.org/npm/-/npm-1.1.1.tgz
0.6.10
1.1.1
cleanup prefix=/usr/local

All clean!

npm ERR! Error: EPERM, operation not permitted '/usr/local/bin/npm'
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR!
npm ERR! System Darwin 11.3.0
npm ERR! command "/usr/local/bin/node" "/private/var/folders/hj/1wrp2qr17vzc25vys6r_8y240000gp/T/npm.12195/package/cli.js" "rm" "npm" "-gf"
npm ERR! cwd /private/var/folders/hj/1wrp2qr17vzc25vys6r_8y240000gp/T/npm.12195/package
npm ERR! node -v v0.6.10
npm ERR! npm -v 1.1.1
npm ERR! path /usr/local/bin/npm
npm ERR! code EPERM
npm ERR! message EPERM, operation not permitted '/usr/local/bin/npm'
npm ERR! errno {}
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /private/var/folders/hj/1wrp2qr17vzc25vys6r_8y240000gp/T/npm.12195/package/npm-debug.log
npm not ok
npm ERR! error installing<EMAIL_ADDRESS>npm ERR! error rolling back<EMAIL_ADDRESS>Error: EPERM, operation not permitted '/usr/local/bin/npm'

npm ERR! Error: EPERM, operation not permitted '/usr/local/bin/npm'
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR!
npm ERR! System Darwin 11.3.0
npm ERR! command "/usr/local/bin/node" "/private/var/folders/hj/1wrp2qr17vzc25vys6r_8y240000gp/T/npm.12195/package/cli.js" "install" "-gf"
npm ERR! cwd /private/var/folders/hj/1wrp2qr17vzc25vys6r_8y240000gp/T/npm.12195/package
npm ERR! node -v v0.6.10
npm ERR! npm -v 1.1.1
npm ERR! path /usr/local/bin/npm
npm ERR! code EPERM
npm ERR! message EPERM, operation not permitted '/usr/local/bin/npm'
npm ERR! errno {}
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /private/var/folders/hj/1wrp2qr17vzc25vys6r_8y240000gp/T/npm.12195/package/npm-debug.log
npm not ok
It failed

Do I have to be more root than sudo curl ...?

sudo the sh, not the curl.  curl http://npmjs.org/install.sh | sudo sh

Or just npm install npm -g

I guess you can reopen the issue because:
sudo npm install npm -g

worked, and:
gabriel$ npm --version
1.1.1

and both:
npm install git+ssh://gabipetrovay@github.com:adioo/mono.git

issued, with or without sudo:
npm ERR! git clone gabipetrovay@github.com:adioo/mono.git Cloning into /var/folders/hj/1wrp2qr17vzc25vys6r_8y240000gp/T/npm-1329984697095/1329984697095-0.47763418569229543...
npm ERR! git clone gabipetrovay@github.com:adioo/mono.git
npm ERR! git clone gabipetrovay@github.com:adioo/mono.git Permission denied (publickey).
npm ERR! git clone gabipetrovay@github.com:adioo/mono.git fatal: The remote end hung up unexpectedly

npm ERR! Error: `git "clone" "gabipetrovay@github.com:adioo/mono.git" "/var/folders/hj/1wrp2qr17vzc25vys6r_8y240000gp/T/npm-1329984697095/1329984697095-0.47763418569229543"` failed with 128
npm ERR!     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/exec.js:49:20)
npm ERR!     at ChildProcess.emit (events.js:70:17)
npm ERR!     at maybeExit (child_process.js:361:16)
npm ERR!     at Process.onexit (child_process.js:397:5)
npm ERR! You may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR<EMAIL_ADDRESS>npm ERR!
npm ERR! System Darwin 11.3.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "git+ssh://gabipetrovay@github.com:adioo/mono.git"
npm ERR! cwd /Users/gabriel
npm ERR! node -v v0.6.10
npm ERR! npm -v 1.1.1
npm ERR! message `git "clone" "gabipetrovay@github.com:adioo/mono.git" "/var/folders/hj/1wrp2qr17vzc25vys6r_8y240000gp/T/npm-1329984697095/1329984697095-0.47763418569229543"` failed with 128
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/gabriel/npm-debug.log
npm not ok

Hm, are you sure that<EMAIL_ADDRESS>is the right username?  I've always had to access git repos on github as the git user over ssh, and as my own username over https.

I only use that username all over the place and that's me on github...

Right, but when accessing the package via ssh, don't you typically use git@ in the ssh url?  That's how it displays the url on the project webpage, anyway.

Yes indeed, I have to use the git user as github displays the URLs. It works with:
npm install git+ssh://git@github.com:adioo/mono.git

Thanks!

npm WARN package.json<EMAIL_ADDRESS>No repository field.
npm ERR! git fetch -a origin<EMAIL_ADDRESS>Permission denied (publickey).
npm ERR! git fetch -a origin<EMAIL_ADDRESS>fatal: The remote end hung up unexpectedly
npm ERR! Error: Command failed: Permission denied (publickey).
npm ERR! fatal: The remote end hung up unexpectedly
npm ERR!
npm ERR!     at ChildProcess.exithandler (child_process.js:658:15)
npm ERR!     at ChildProcess.emit (events.js:98:17)
npm ERR!     at maybeClose (child_process.js:766:16)
npm ERR!     at Socket. (child_process.js:979:11)
npm ERR!     at Socket.emit (events.js:95:17)
npm ERR!     at Pipe.close (net.js:466:12)
npm ERR! If you need help, you may report this entire log,
npm ERR! including the npm and node versions, at:
npm ERR!     http://github.com/npm/npm/issues
npm ERR! System Linux 3.5.0-61-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install"
npm ERR! cwd /var/www/carousell
npm ERR! node -v v0.10.40
npm ERR! npm -v 1.4.28
npm ERR! code 128
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /var/www/carousell/npm-debug.log
npm ERR! not ok code 0


boot: remove setAttribute() calls and translate reload msg

Summary
Cleans up some of the code in boot. Uses actual properties instead of setAttribute() because it's faster and translates the alert() popup.

Thank you!


Parameterize GoogleCloudStorage provider in GcsUtil to unblock gcs-co…

Rationale:
I would like to use gcs-connector 3.x, which supports the new Parquet VectorIO feature. However, gcs-connector 3.x also drops Java 8 and targets Java 11, which blocks us from upgrading it directly in Beam, since Beam is still targeting 8 (see #31678).
Additionally, as a Beam user, I can't just upgrade gcs-connector on my end, due to breaking changes in how GoogleCloudStorageImpl is instantiated: in 2.x it has public constructors, but in 3.x it drops the public constructors and enforces a Builder pattern.
Therefore, when running on gcs-connector 3.x, my pipeline throws a NoSuchMethodError from org.apache.beam.sdk.extensions.gcp.util.GcsUtil when it tries to invoke the 2.x constructor: https://github.com/apache/beam/blob/v2.61.0/sdks/java/extensions/google-cloud-platform-core/src/main/java/org/apache/beam/sdk/extensions/gcp/util/GcsUtil.java#L727
This PR adds a pipeline option for a GoogleCloudStorage Provider, so that users who want to use gcs-connector 3.x can be unblocked from doing so. It defaults to invoking the gcs-connector 2.x public constructor, but 3.x users can override it to use the Builder.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

cc @Abacn - wdyt of this workaround for gcs-connector 3.x?

Hi, thanks for the investigation. Is the builder constructor also supported on 2.x ? If so we can just change to use it in all case and no need extra options exposed to user

Hi, thanks for the investigation. Is the builder constructor also supported on 2.x ? If so we can just change to use it in all case and no need extra options exposed to user

Unfortunately it isn't :/ There is no way to construct a GoogleCloudStorageImpl that works for both gcs-connector 2.x and 3.x (at least as far as I've been able to find).

java precommit tineout for several rerun. It's passing on HEAD, could you please taking a look if it is related to this change?

looks like it is coded in test to prevent the exposure of unwanted classes. Refactor in a way that does not leak these may fix

thanks for looking into it @Abacn !  hmm, this seems challenging to refactor since the exposure is coming from interface com.google.cloud.hadoop.gcsio.GoogleCloudStorage itself... and there's no superclass/subclass that would be appropriate to substitute in here. I guess instead of adding a provider for a GoogleCloudStorage instance, we could add a provider for a BiFunction<StorageResourceId, CreateObjectOptions, WritableByteChannel> ?


Fix redirects

Only need to create the location in match.
Fixes #3807

Transition manager is not a public API.

👍
Can you push a 2.8.1?


Locale is reseted from selected to accept-language's locale when localePrefix is 'never'

Description
When user navigates from external site to our site then locale is reseted to accept-language's locale because NEXT_LOCALE cookie has a SameSite: Strict and browser don't send cookie in this case. Also localePrefix is never and thats why next-intl set locale to accept-language's locale (or to default locale).
This is not reproducible if Lax is used.
Mandatory reproduction URL (CodeSandbox or GitHub repository)

Reproduction description
I can't give you reproduction example, I've tried but it's not working (basic functional). Unfortunately, I don't have time to figure out why.
Expected behaviour
Shouldn't reset  the locale.

Yep, this is correct, thanks for the report! Will be fixed in #817.


[MWPW-127565] Updated FEDS consent checks (pre/post consent assertions)

Approved. Sorry for taking so long to check this one. You just need to resolve the merge conflict obviously before this can go forward.

Merged main branch into PR. 👍


Add upcoming feature flag to SE-0352 to match inclusion in compiler

An upcoming feature flag is included for SE-0352 in the definition of upcoming features in the compiler.
The proposal itself notes the possibly of source incompatibilities that should be rare in practice:
https://github.com/apple/swift-evolution/blob/main/proposals/0352-implicit-open-existentials.md#source-compatibility
This PR adds the upcoming feature flag to the proposal header.
The header includes the 'Implemented in' annotation to note that it became available in Swift 5.8, when upcoming feature flags were added. UPDATE: Changed to Swift 6.0 since that is when the UFF was fully implemented.
It also includes the new 'Enabled in Swift 6 language mode' annotation to indicating when the feature will be enabled.
// cc-ing author and review manager to ensure this change is correct
@DougGregor @jckarter

LGTM, thank you!

@DougGregor, if this is fine can you merge it? Thank you!


Undefined is not an object

Hello,
first thank you for your job, it's amazing to use cordova plugin directly in React !
I followed your tutorial and I'm able to use the barcodescanner.
But now, I'm trying to use de sqlite plugin : https://github.com/litehelpers/Cordova-sqlite-storage
I added the plugin but when I try to use it I have this error : undefined is not an objet (evaluating 'cordova.window.sqlitePlugin').
This is my piece of code :
var cordova = require('react-native-cordova-plugin');
class Database {
openDb() {
cordova.window.sqlitePlugin.openDatabase({name: "my.db", location: 2});
}
}
Thanks in advance,
Florian

Note that this should not be cordova.window.sqlitePlugin. From the plugin, looks like the object is used as sqlitePlugin.openDatabase - meaning that the object is exposed on  window object in Cordova. Hence, while using it in reactNative, it will be available as cordova.sqlitePlugin.openDatabase.

I tried it but still getting the same error..

Looks like the case is incorrect - it seems to be called SQLitePlugin, so it would be used as cordova.SQLitePlugin

I saw that it's write like that in the plugin file too so I tried it but it gives me the same error.
Is it working for you ?
"undefined is not an object (evalutating cordova.SQLitePlugin.openDatabase)"
I also tried to remove/import again the plugin

I saw that it's write like that in the plugin file too so I tried it and It's better, now in the error message I can find the parameter that I passed on the function call : "undefined is not an object (evalutating cordova.SQLitePlugin.openDatabase({name:"my.db",location:1})"
I also tried to call another function but I'm get the same kind of message

Do you have a sample app that I could try ?

I just write a very little example. https://github.com/Spierki/ReactNative-SQlite-Example

I can't seem to figure out how to pass a function call. I've been trying to use the camera plugin and tried many ways, 4 of which are as follows.
    if (source ==='Camera') {
        cordova.navigator.camera.getPicture(this.itWorked, (msg) => {this.itFailed(msg);},
           {sourceType : cordova.navigator.camera.PictureSourceType.CAMERA,
            encodingType: cordova.navigator.camera.EncodingType.JPEG,  targetWidth: 1280,  targetHeight: 720,
            destinationType: cordova.navigator.camera.DestinationType.DATA_URL})

    } else { /*use photoLibrary*/
      cordova.navigator.camera.getPicture((x) => {console.log(x);}, function (result) {console.log("Result: " + result);},
           {sourceType : cordova.navigator.camera.PictureSourceType.PHOTOLIBRARY,
             mediaType: cordova.navigator.camera.MediaType.PICTURE,
             destinationType: cordova.navigator.camera.DestinationType.DATA_URL})
    }

Can you point out what I'm doing wrong?

@nikkool
Do you have your full snippet that I can take a look at ? Also, i think it may make sense to open new bug for this.

@axemclion did you tried my code ?

@Spierki I looked at your code and figured out what the issue is. Note that I am using the latest version of the sqlite plugin, and<EMAIL_ADDRESS>This issue is that the SQlitePlugin does not export the object. It simply assigns it to this in this line. While this refers to window in a cordova app and works perfectly fine, window does not exist in ReactNative. Hence, you do not have a handle to that object.
A way to fix it would be to modify the SQLitePlugin here and add a line that says module.exports=root.sqlitePlugin. We could send in a pull request to the plugin, since exporting is the right way to do it.

I plan to close this issue in a couple of days. If you are not able to get it working, please respond to this thread, and we can look to see if there are other issues.

For sqlite, I recommend that you use https://github.com/andpor/react-native-sqlite-storage. I cannot promise when litehelpers/Cordova-sqlite-storage#382 will be fixed. @axemclion I recommend that you close this since the functionality is already supported by andpor / react-native-sqlite-storage.

@brodybits Sounds good - thanks. Closing this issue.

@axemclion I tried what you said and it's working thank you ! @brodybits The plugin you said looks like to be functionnal, thanks too.


Release overview page is using the wrong repositories

The overview page that shows the changelog for all of the different versions of the Unipept tools is showing the wrong repositories.
More specifically, these pages are showing the wrong changelogs:

/news
/news/api
/news/cli
/news/web
/news/desktop

This is only the case for /news/web. This one is still pointing to unipept-web instead of unipept.


Greek translation patch

Hey, thanks for putting this awesome guide together!
I'm proficient in English, and a native speaker in Greek.
Figured I'd take some time to try be of any help :1st_place_medal:

@RomuloOliveira

Np, best of luck!


Don't run alpm_db_unregister

Not needed, alpm_db_unregister is not very useful and must not be automatically run. The best is let internal alpm do the job.

I've removed this.