Loading "Gruntfile.js" tasks...ERROR

I run into problems in "Building the plugin locally" steps 2 & 3.
I've just cloned the repository and ran into this:
npm install

><EMAIL_ADDRESS>install /home/runcloud/webapps/kuu/kato/videojs-airplay-master/node_modules/node-sass
> node scripts/install.js

Downloading binary from https://github.com/sass/node-sass/releases/download/v4.13.1/linux-x64-57_binding.node
Download complete .] - :
Binary saved to /home/runcloud/webapps/kuu/kato/videojs-airplay-master/node_modules/node-sass/vendor/linux-x64-57/binding.node
Caching binary to /home/runcloud/.npm/node-sass/4.13.1/linux-x64-57_binding.node

><EMAIL_ADDRESS>postinstall /home/runcloud/webapps/kuu/kato/videojs-airplay-master/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!

The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:
> https://opencollective.com/core-js
> https://www.patreon.com/zloirock

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)

><EMAIL_ADDRESS>postinstall /home/runcloud/webapps/kuu/kato/videojs-airplay-master/node_modules/node-sass
> node scripts/build.js

Binary found at /home/runcloud/webapps/kuu/kato/videojs-airplay-master/node_modules/node-sass/vendor/linux-x64-57/binding.node
Testing binary
Binary is fine
npm WARN prepublish-on-install As of npm@5, `prepublish` scripts are deprecated.
npm WARN prepublish-on-install Use `prepare` for build steps and `prepublishOnly` for upload-only.
npm WARN prepublish-on-install See the deprecation note in `npm help scripts` for more information.

><EMAIL_ADDRESS>prepublish /home/runcloud/webapps/kuu/kato/videojs-airplay-master
> grunt build

fatal: not a git repository (or any of the parent directories): .git
Loading "Gruntfile.js" tasks...ERROR
>> Error: Command failed: git describe --always --dirty --tags
>> fatal: not a git repository (or any of the parent directories): .git
Warning: Task "build" not found. Use --force to continue.

Aborted due to warnings.
npm ERR! code ELIFECYCLE
npm ERR! errno 3
npm ERR<EMAIL_ADDRESS>prepublish: `grunt build`
npm ERR! Exit status 3
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>prepublish script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/runcloud/.npm/_logs/2020-12-17T11_24_34_961Z-debug.log

grunt build
module.js:550
    throw err;
    ^

As for step 3.
grunt build

Error: Cannot find module 'findup-sync'
    at Function.Module._resolveFilename (module.js:548:15)
    at Function.Module._load (module.js:475:25)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/usr/lib/nodejs/grunt-cli/bin/grunt:8:14)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)

FYI:
uname -a
Linux kuu 4.15.0-99-generic #100-Ubuntu SMP Wed Apr 22 20:32:56 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

The log file:
2020-12-17T11_26_14_504Z-debug.log
Thank you.

Gave up on this and instead decided to just turn off Airplay.
x-webkit-airplay="deny"


Markdown unable to parse adjacent / nesting bold italic asterisk

Issue
Doesn't parse **bold bold*****italic**italic* nicely.
Mobile
On my mobile its appearing as below:

Reference (web)
Some flavor of markdown is able to render it - Right side (web, https://remarkjs.github.io/react-markdown/)

I know it can be achieved by spacing it out
bold bold italicitalic -> bold bold italicitalic
But in my application, I am using it to display, the user is free to input in mobile / web / API

But to be fair, even github doesn't parse it well bold bold*italicitalic*


how to use the default.nix/deps.nix?

i've managed to create the files but don't have a clue how to use them.
any advice how to use them?
nix-build
nix-build
error: cannot auto-call a function that has an argument without a default value (‘stdenv’)

nix-shell
nix-shell
error: cannot auto-call a function that has an argument without a default value (‘stdenv’)

default.nix
# This file was generated by go2nix.
{ stdenv, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:

buildGoPackage rec {
  name = "robin-${version}";
  version = "20161024-${stdenv.lib.strings.substring 0 7 rev}";
  rev = "6159f49025fd5500e5c2cf8ceeca4295e72c1de5";

  goPackagePath = "/home/joachim/Desktop/projects/fablab/robin";

  src = fetchgit {
    inherit rev;
    url =<EMAIL_ADDRESS>    sha256 = "1ggqljhlgy6hmq15gzip4m3f6b0q5lig39l2z8xawfkafwqz36z2";
  };

  goDeps = import ./deps.nix { inherit fetchgit fetchhg fetchbzr fetchsvn; };

  # TODO: add metadata https://nixos.org/nixpkgs/manual/#sec-standard-meta-attributes
  meta = {
  };
}

deps.nix
# This file was generated by go2nix.
{ fetchgit, fetchhg, fetchbzr, fetchsvn }:
[
  {
    goPackagePath = "github.com/fatih/structs";
    src = fetchgit {
      url = "https://github.com/fatih/structs";
      rev = "dc3312cb1a4513a366c4c9e622ad55c32df12ed3";
      sha256 = "0wgm6shjf6pzapqphs576dv7rnajgv580rlp0n08zbg6fxf544cd";
    };
  }
  {
    goPackagePath = "github.com/influxdata/influxdb";
    src = fetchgit {
      url = "https://github.com/influxdata/influxdb";
      rev = "6fa145943a9723f9660586450f4cdcf72a801816";
      sha256 = "14ggx1als2hz0227xlps8klhn5s478kczqx6i6l66pxidmqz1d61";
    };
  }
]

Hi, default.nix generated by go2nix is meant to be used as part of nixpkgs and will work if you move it there, eg. https://github.com/NixOS/nixpkgs/blob/98a9d815e05dd56aba0f9040d96092335cd90444/pkgs/applications/misc/wego/default.nix#L1
But you can change it to standalone by replacing this line with:
with import <nixpkgs>{};

like in https://github.com/kamilchm/go2nix/blob/master/default.nix#L1
Then it should nix-build and nix-shell properly.
go2nix could do it by providing option like --standalone or smth but it don't do it yet :/

i've hacked it that way already but i see this:
error
nix-shell --show-trace
error: while evaluating the attribute ‘goDeps’ of the derivation ‘go1.7-’ at /nix/store/csqbl4ibvlgs01cfcd6f0zxgbvc4wfij-nixos-16.09.680.4e14fd5/nixos/pkgs/development/go-modules/generic/default.nix:68:3:
cannot coerce a set to a string, at /nix/store/csqbl4ibvlgs01cfcd6f0zxgbvc4wfij-nixos-16.09.680.4e14fd5/nixos/pkgs/development/go-modules/generic/default.nix:68:3

it shows an error in generic/default.nix with the name but that is not the real problem but rather a ill-conceived nix error message.
if i change the name to name = "bar"; the real error shows up:
error: while evaluating the attribute ‘goDeps’ of the derivation ‘bar’ at /home/joachim/Desktop/projects/nixcloud/nixcloud-backend/nixpkgs/pkgs/development/go-modules/generic/default.nix:74:3:
cannot coerce a set to a string, at /home/joachim/Desktop/projects/nixcloud/nixcloud-backend/nixpkgs/pkgs/development/go-modules/generic/default.nix:74:3

help?!
/nix/store/csqbl4ibvlgs01cfcd6f0zxgbvc4wfij-nixos-16.09.680.4e14fd5/nixos/pkgs/development/go-modules/generic/default.nix
     1  { go, govers, parallel, lib, fetchgit, fetchhg }:
     2
     3  { name, buildInputs ? [], nativeBuildInputs ? [], passthru ? {}, preFixup ? ""
     4
     5  # We want parallel builds by default
     6  , enableParallelBuilding ? true
     7
     8  # Disabled flag
     9  , disabled ? false
    10
    11  # Go import path of the package
    12  , goPackagePath
    13
    14  # Go package aliases
    15  , goPackageAliases ? [ ]
    16
    17  # Extra sources to include in the gopath
    18  , extraSrcs ? [ ]
    19
    20  # go2nix dependency file
    21  , goDeps ? null
    22
    23  , dontRenameImports ? false
    24
    25  # Do not enable this without good reason
    26  # IE: programs coupled with the compiler
    27  , allowGoReference ? false
    28
    29  , meta ? {}, ... } @ args':
    30
    31  if disabled then throw "${name} not supported for go ${go.meta.branch}" else
    32
    33  with builtins;
    34
    35  let
    36    args = lib.filterAttrs (name: _: name != "extraSrcs") args';
    37
    38    removeReferences = [ ] ++ lib.optional (!allowGoReference) go;
    39
    40    removeExpr = refs: lib.flip lib.concatMapStrings refs (ref: ''
    41      | sed "s,${ref},$(echo "${ref}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" \
    42    '');
    43
    44    dep2src = goDep:
    45      {
    46        inherit (goDep) goPackagePath;
    47        src = if goDep.fetch.type == "git" then
    48          fetchgit {
    49            inherit (goDep.fetch) url rev sha256;
    50          }
    51        else if goDep.fetch.type == "hg" then
    52          fetchhg {
    53            inherit (goDep.fetch) url rev sha256;
    54          }
    55        else abort "Unrecognized package fetch type";
    56      };
    57
    58    importGodeps = { depsFile }:
    59      map dep2src (import depsFile);
    60
    61    goPath = if goDeps != null then importGodeps { depsFile = goDeps; } ++ extraSrcs
    62                               else extraSrcs;
    63  in
    64
    65  go.stdenv.mkDerivation (
    66    (builtins.removeAttrs args [ "goPackageAliases" "disabled" ]) // {
    67
    68    name = "go${go.meta.branch}-${name}";
    69    nativeBuildInputs = [ go parallel ]
    70      ++ (lib.optional (!dontRenameImports) govers) ++ nativeBuildInputs;
    71    buildInputs = [ go ] ++ buildInputs;
    72
    73    configurePhase = args.configurePhase or ''
    74      runHook preConfigure
    75
    76      # Extract the source

default.nix
{ pkgs ? import <nixpkgs> {} }:

let
  stdenv = pkgs.stdenv;
  buildGoPackage = pkgs.buildGoPackage;
  fetchgit = pkgs.fetchgit;
  fetchhg = pkgs.fetchhg;
  fetchbzr = pkgs.fetchbzr;
  fetchsvn = pkgs.fetchsvn;
in

buildGoPackage rec {
  name = "";
  version = "20161024-${stdenv.lib.strings.substring 0 7 rev}";
  rev = "6159f49025fd5500e5c2cf8ceeca4295e72c1de5";

  goPackagePath = "/home/joachim/Desktop/projects/fablab/robin";

  goDeps = import ./deps.nix { inherit fetchgit fetchhg fetchbzr fetchsvn; };

  meta = {
  };
}

deps.nix
# This file was generated by go2nix.
{ fetchgit, fetchhg, fetchbzr, fetchsvn }:
[
  {
    goPackagePath = "github.com/fatih/structs";
  src = fetchgit {
      url = "https://github.com/fatih/structs";
      rev = "dc3312cb1a4513a366c4c9e622ad55c32df12ed3";
      sha256 = "0wgm6shjf6pzapqphs576dv7rnajgv580rlp0n08zbg6fxf544cd";
    };
  }
  {
    goPackagePath = "github.com/influxdata/influxdb";
    src = fetchgit {
      url = "https://github.com/influxdata/influxdb";
      rev = "6fa145943a9723f9660586450f4cdcf72a801816";
      sha256 = "14ggx1als2hz0227xlps8klhn5s478kczqx6i6l66pxidmqz1d61";
    };
  }
]

Your deps.nix looks like it was generated before https://github.com/NixOS/nixpkgs/pull/18487
If you try to generate it with the current go2nix master there shouldn't be function calls inside and your:
src = fetchgit {
...
}

should looks like:
fetch = {
  type = "git";
...
}

See https://github.com/kamilchm/go2nix/blob/master/deps.nix for full example.
Newest go2nix save should do it that way.

i'm using 1.1.1 and it works now. thank you so much!

the nix-shell log you showed is ok or is there stiil something wrong?

no, everything is alright now. just wanted to document it so that other who come across can just adapt it.


move to webpack

https://github.com/HaNdTriX/generator-chrome-extension-kickstart/commit/476f00abc4e58dd60228d6a93256981f744c40b6


Possibility to change some message patterns

I'm thinking about changing some message patterns on the lib configurations, ie removing the *  from the beginning of the messages. Is that doable?

Actually, thinking better now, the easiest/best way of doing that is to make the message editable before confirming the commit

@brunoricardosecco bro, try setting the hook

I would love to be able to remove the * as well from the commit message.
A config to set the message pattern would be amazing!

well, it really looks * is not needed, so i've removed it completely, update pls npm i -g opencommit. PRs for message pattern are welcome if you want it to be done quicker. If no PRs happen — i'll do it myself at some point :)

Thank youu!!


Description and STR fields are clipping through the nav bar

Fixed in the latest build

Happens agaion on cnr-cr both on dark and white theme


containerlab upgrade should not wipe out users config/topologies

we need to keep user defined topologies untouched when doing upgrade
The task is to identify where users should store their custom data and retain this data during the upgrade

the topology was likely edited in the /etc/containerlab


Using SAML as external provider does not deploy in Gen 2

Before opening, please confirm:

[X] I have searched for duplicate or closed issues and discussions.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

JavaScript Framework
React
Amplify APIs
Authentication
Amplify Categories
auth
Environment information

# Put output below this line
  System:
    OS: macOS 13.1
    CPU: (10) arm64 Apple M1 Pro
    Memory: 259.36 MB / 16.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 16.17.0 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 8.15.0 - /usr/local/bin/npm
  Browsers:
    Chrome: 120.0.6099.129
    Safari: 16.2
  npmPackages:
    @ampproject/toolbox-optimizer:  undefined ()
    @aws-amplify/backend: ^0.6.0 => 0.6.0
    @aws-amplify/backend-cli: ^0.9.2 => 0.9.2
    @aws-amplify/ui-react: ^6.0.7 => 6.0.7
    @aws-amplify/ui-react-internal:  undefined ()
    @aws-cdk/dns_validated_certificate_handler:  0.0.0
    @babel/core:  undefined ()
    @babel/runtime:  7.15.4
    @edge-runtime/cookies:  4.0.2
    @edge-runtime/ponyfill:  2.4.1
    @edge-runtime/primitives:  4.0.2
    @emotion/react: ^11.11.1 => 11.11.1
    @emotion/styled: ^11.11.0 => 11.11.0
    @hapi/accept:  undefined ()
    @lexical/react: ^0.12.2 => 0.12.2
    @mswjs/interceptors:  undefined ()
    @mui/icons-material: ^5.14.16 => 5.14.16
    @mui/material: ^5.14.17 => 5.14.17
    @mui/x-data-grid: ^6.18.1 => 6.18.1
    @napi-rs/triples:  undefined ()
    @next/font:  undefined ()
    @next/react-dev-overlay:  undefined ()
    @opentelemetry/api:  undefined ()
    @segment/ajv-human-errors:  undefined ()
    @types/aws-lambda: ^8.10.130 => 8.10.130
    @types/fast-levenshtein: ^0.0.4 => 0.0.4
    @types/lodash: ^4.14.201 => 4.14.201
    @types/node: 20.8.9 => 20.8.9 (20.10.5)
    @types/react: 18.2.33 => 18.2.33
    @types/react-dom: 18.2.14 => 18.2.14
    @types/unzipper: ^0.10.9 => 0.10.9
    @vercel/nft:  undefined ()
    @vercel/og:  undefined ()
    acorn:  undefined ()
    amphtml-validator:  undefined ()
    anser:  undefined ()
    arg:  undefined ()
    assert:  undefined ()
    async-retry:  undefined ()
    async-sema:  undefined ()
    autoprefixer: 10.4.16 => 10.4.16
    aws-amplify: ^6.0.9 => 6.0.9
    aws-amplify/adapter-core:  undefined ()
    aws-amplify/analytics:  undefined ()
    aws-amplify/analytics/kinesis:  undefined ()
    aws-amplify/analytics/kinesis-firehose:  undefined ()
    aws-amplify/analytics/personalize:  undefined ()
    aws-amplify/analytics/pinpoint:  undefined ()
    aws-amplify/api:  undefined ()
    aws-amplify/api/server:  undefined ()
    aws-amplify/auth:  undefined ()
    aws-amplify/auth/cognito:  undefined ()
    aws-amplify/auth/cognito/server:  undefined ()
    aws-amplify/auth/server:  undefined ()
    aws-amplify/datastore:  undefined ()
    aws-amplify/in-app-messaging:  undefined ()
    aws-amplify/in-app-messaging/pinpoint:  undefined ()
    aws-amplify/push-notifications:  undefined ()
    aws-amplify/push-notifications/pinpoint:  undefined ()
    aws-amplify/storage:  undefined ()
    aws-amplify/storage/s3:  undefined ()
    aws-amplify/storage/s3/server:  undefined ()
    aws-amplify/storage/server:  undefined ()
    aws-amplify/utils:  undefined ()
    aws-cdk-lib: ^2.110.1 => 2.110.1
    aws-lambda: ^1.0.7 => 1.0.7
    babel-packages:  undefined ()
    browserify-zlib:  undefined ()
    browserslist:  undefined ()
    buffer:  undefined ()
    bytes:  undefined ()
    ci-info:  undefined ()
    cli-select:  undefined ()
    client-only:  0.0.1
    comment-json:  undefined ()
    compression:  undefined ()
    conf:  undefined ()
    constants-browserify:  undefined ()
    content-disposition:  undefined ()
    content-type:  undefined ()
    cookie:  undefined ()
    cross-spawn:  undefined ()
    crypto-browserify:  undefined ()
    css.escape:  undefined ()
    data-uri-to-buffer:  undefined ()
    debug:  undefined ()
    devalue:  undefined ()
    domain-browser:  undefined ()
    edge-runtime:  undefined ()
    eslint: 8.52.0 => 8.52.0
    eslint-config-next: 13.5.6 => 13.5.6
    events:  undefined ()
    fast-levenshtein: ^3.0.0 => 3.0.0 (2.0.6)
    find-cache-dir:  undefined ()
    find-up:  undefined ()
    fresh:  undefined ()
    get-orientation:  undefined ()
    glob:  undefined ()
    gzip-size:  undefined ()
    http-proxy:  undefined ()
    http-proxy-agent:  undefined ()
    https-browserify:  undefined ()
    https-proxy-agent:  undefined ()
    icss-utils:  undefined ()
    ignore-loader:  undefined ()
    image-size:  undefined ()
    is-animated:  undefined ()
    is-docker:  undefined ()
    is-wsl:  undefined ()
    jest-worker:  undefined ()
    json5:  undefined ()
    jsonwebtoken:  undefined ()
    katex: ^0.16.9 => 0.16.9
    lexical: ^0.12.2 => 0.12.2
    loader-runner:  undefined ()
    loader-utils:  undefined ()
    lodash.curry:  undefined ()
    lru-cache:  undefined ()
    micromatch:  undefined ()
    mini-css-extract-plugin:  undefined ()
    moment: ^2.29.4 => 2.29.4
    nanoid:  undefined ()
    native-url:  undefined ()
    neo-async:  undefined ()
    next: 13.5.6 => 13.5.6
    node-fetch:  undefined ()
    node-html-parser:  undefined ()
    ora:  undefined ()
    os-browserify:  undefined ()
    p-limit:  undefined ()
    path-browserify:  undefined ()
    platform:  undefined ()
    postcss: 8.4.31 => 8.4.31
    postcss-flexbugs-fixes:  undefined ()
    postcss-modules-extract-imports:  undefined ()
    postcss-modules-local-by-default:  undefined ()
    postcss-modules-scope:  undefined ()
    postcss-modules-values:  undefined ()
    postcss-preset-env:  undefined ()
    postcss-safe-parser:  undefined ()
    postcss-scss:  undefined ()
    postcss-value-parser:  undefined ()
    process:  undefined ()
    punycode:  undefined ()
    querystring-es3:  undefined ()
    raw-body:  undefined ()
    react: 18.2.0 => 18.2.0
    react-builtin:  undefined ()
    react-dom: 18.2.0 => 18.2.0
    react-dom-builtin:  undefined ()
    react-dom-experimental-builtin:  undefined ()
    react-experimental-builtin:  undefined ()
    react-is:  18.2.0
    react-pdf: ^7.6.0 => 7.6.0
    react-refresh:  0.12.0
    react-server-dom-turbopack-builtin:  undefined ()
    react-server-dom-turbopack-experimental-builtin:  undefined ()
    react-server-dom-webpack-builtin:  undefined ()
    react-server-dom-webpack-experimental-builtin:  undefined ()
    regenerator-runtime:  0.13.4
    sass-loader:  undefined ()
    scheduler-builtin:  undefined ()
    scheduler-experimental-builtin:  undefined ()
    schema-utils:  undefined ()
    semver:  undefined ()
    send:  undefined ()
    server-only:  0.0.1
    setimmediate:  undefined ()
    shell-quote:  undefined ()
    source-map:  undefined ()
    stacktrace-parser:  undefined ()
    stream-browserify:  undefined ()
    stream-http:  undefined ()
    string-hash:  undefined ()
    string_decoder:  undefined ()
    strip-ansi:  undefined ()
    superstruct:  undefined ()
    tailwindcss: 3.3.5 => 3.3.5
    tar:  undefined ()
    terser:  undefined ()
    text-table:  undefined ()
    timers-browserify:  undefined ()
    tty-browserify:  undefined ()
    typescript: ^5.3.3 => 5.3.3 (4.4.4)
    ua-parser-js:  undefined ()
    undici:  undefined ()
    unistore:  undefined ()
    unzipper: ^0.10.14 => 0.10.14
    util:  undefined ()
    vm-browserify:  undefined ()
    watchpack:  undefined ()
    web-vitals:  undefined ()
    webpack:  undefined ()
    webpack-sources:  undefined ()
    ws:  undefined ()
    zod:  undefined ()
  npmGlobalPackages:
    @angular/cli: 14.2.2
    @aws-amplify/cli: 10.0.0
    corepack: 0.12.1
    eslint: 8.29.0
    firebase-tools: 11.24.0
    http-server: 14.1.1
    npm: 8.15.0
    yarn: 1.22.19

Describe the bug
When using the new defineAuth function in Gen 2, with the saml external provider, the sandbox fails to deploy the Cognito resources with the following error:
Identity provider arn:ca-central-1:iam::<AWS Account ID>:saml-provider/testSaml is not valid for account <AWS Account ID> (Service: AmazonCognitoIdentity; Status Code: 400; Error Code: NotAuthorizedException; Request ID: <REDACTED>; Proxy: null)
Expected behavior
I would expect the Cognito resources to be created/updated with the SAML provider.
Reproduction steps
Create the defineAuth function with the config defined below under Code Snippet.
Run npx amplify sandbox or push to repo for deployment
Code Snippet
// Put your code below this line.
externalProviders: {
      saml: {
        metadata: UserPoolIdentityProviderSamlMetadata.url(
          "<REDACTED>"
        ),
        idpSignout: true,
        attributeMapping: {
          email: ProviderAttribute.other(
            "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
          ),
          givenName: ProviderAttribute.other(
            "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname"
          ),
          familyName: ProviderAttribute.other(
            "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname"
          ),
          fullname: ProviderAttribute.other(
            "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"
          ),
        },
      },
      callbackUrls: [
        "http://localhost:3000/",
        "<REDACTED>",
      ],
      logoutUrls: [
        "http://localhost:3000/",
        "<REDACTED>",
      ],
    },

Log output

// Put your logs below this line

aws-exports.js
No response
Manual configuration
No response
Additional configuration
No response
Mobile Device
No response
Mobile Operating System
No response
Mobile Browser
No response
Mobile Browser Version
No response
Additional information and screenshots
No response

@cwomack The non-sandbox deployment is also hitting the same error

After @cwomack moved this issue to the correct repo (this one), I identified a similar issue(#766) that is caused by (#796).

Hey @ideen1, thank you for reaching out. As you have pointed out the issue is currently being tracked on https://github.com/aws-amplify/amplify-backend/issues/766, the Amplify team should provide an update on the issue linked once the fix rolls out.
Closing the issue as duplicate, please feel free in adding any additional information on the issue linked.


restic fails on repo mounted via CIFS/samba on Linux using go 1.14 build

This issue is a summary of https://forum.restic.net/t/prune-fails-on-cifs-repo-using-go-1-14-build/2579 , intended as a reference for the underlying problem.
tl;dr Workaround: Setting the environment variable GODEBUG to asyncpreemptoff=1 restores the pre Go 1.14 behavior and fixes the problem.
Output of restic version
restic 0.9.6 (v0.9.6-137-gc542a509) compiled with go1.14 on linux/amd64
Linux Kernel version: 5.5.9
How did you run restic exactly?
restic prune -r /path/to/repository/on/CIFS/share
Relevant log excerpt:
Load(<data/216ea5f2d2>, 591, 4564169) returned error, retrying after 720.254544ms: open /mnt/nas/redacted/reponame/data/21/216ea5f2d21b458a7b913609ddef2a6ac4788b4bad5481b2916558d2ce1bef04: interrupted system call

Prune failed in the end
Further relevant log excerpts:
Load(<data/2e9db0642e>, 591, 4758136) returned error, retrying after 552.330144ms: read /mnt/nas/redacted/reponame/data/2e/2e9db0642e0fb67b959aa1d91c0d70daa8331ad246c5eeb8582ba2a14f24680f: interrupted system call
List(data) returned error, retrying after 282.818509ms: lstat /mnt/nas/redacted/reponame/data/64: interrupted system call
List(data) returned error, retrying after 492.389441ms: readdirent: interrupted system call
Save(<data/f0f5102554>) returned error, retrying after 552.330144ms: chmod /mnt/nas/redacted/reponame/data/f0/f0f51025542c0287943ef3816e642586be46ae10dc9efbcfa7b305d9e093dbd4: interrupted system call

What backend/server/service did you use to store the repository?
Local backend stored on a CIFS share
Expected behavior
No warnings, prune should complete.
Actual behavior
Prune failed.
Steps to reproduce the behavior
Build restic using Go 1.14 and store the backup repository on a CIFS share.
Do you have any idea what may have caused this?
This issue is a side effect of asynchronous preemptions in go 1.14. The [https://golang.org/doc/go1.14#runtime](release notes) state the following:

This means that programs that use packages like syscall or golang.org/x/sys/unix will see more slow system calls fail with EINTR errors. Those programs will have to handle those errors in some way, most likely looping to try the system call again.

Go configures signal handlers to restart syscalls if possible. The standard library also retries syscalls when necessary. That is there should only be issues when directly calling low-level syscalls and in that case one should just implement things properly. However, restic just uses go standard library functions that should already handle EINTR if necessary.
The first prune error message points to an os.Open call (via fs.Open) in the Load function of the local backend. So it looks like a Go standard library call fails. However, the manpage for signal (man 7 signal) states that the open syscall, that is called underneath, is always restarted when using SA_RESTART as is done by Go. So this seems to be a bug in the Linux kernel. Adding a loop around the call to fs.Open to repeat it as long as EINTR is returned, fixes that one call.
The manpages of lstat, readdir and chmod don't even list EINTR as a possible errno.
Do you have an idea how to solve the issue?

Go relies on the assumption that the kernel properly restarts syscalls when told to do so. As that latter is obviously not the case, the proper fix would be to submit a bug report to the linux kernel.
A short-term solution would be to add a note to the restic documentation that mentions the compatibility problem with CIFS mounts.

Hi,
I can confirm that, I was unable to make a 400GB backup on a Samba share.
It's reproducible (I tried three times)
When I do a check it finds errors if I do a rebuild-index after the check generates error pages and repository become crashed. I thought it was my Samba configuration or the destination disk so I copied large amounts of data without any problems. And now I use the rest-server and it works. So there is a problem around Samba. Note I tried with and without export GODEBUG=asyncpreemptoff=1 without it crashes after a second. I also don't see any errors in journalctl server and client.
In that configuration the data and restic is on local disk and restic destination repository on Samba share disk. Something like "samba write"
go version go1.15.2 linux/amd64
restic 0.10.0 compiled with go1.15.2 on linux/amd64

I did another backup from a music server (bluesound) where the data are remote and restic  and repo are local Something like "Samba read". I got (without GODEBUG=asyncpreemptoff=1 ) few warning but the repo check was ok. With GODEBUG=asyncpreemptoff=1 I got no problems.
restic 0.10.0 compiled with go1.15.2 on linux/arm64
go version go1.15.2 linux/arm64

Reported by @Mikescher in #2968

Summary
After upgrading to restic 0.10.0 I get read errors when backing up a mounted samba share.
After downgrading to 0.9.6 the errors are once again gone.
Output of restic version
restic 0.10.0 compiled with go1.15.2 on linux/amd64   (before)
restic 0.9.6 compiled with go1.13.4 on linux/amd64    (after downgrade)

How did you run restic exactly?
I have a local restic repository and a mounted samba/cifs share (from my NAS) that I want to backup.
I simply run restic -r {local_repo} backup /mnt/nas_hektor --cleanup-cache --exclude-file {exclusions}.txt
Output:
repository ac08473e opened successfully, password is correct
error: NodeFromFileInfo: Listxattr: xattr.list /mnt/nas_hektor/{...} : interrupted system call
error: Readdirnames /mnt/nas_hektor/{...} failed: readdirent: no such file or directory
error: Readdirnames /mnt/nas_hektor/{...} failed: readdirent: no such file or directory
error: Readdirnames /mnt/nas_hektor/{...} failed: readdirent: no such file or directory
error: Readdirnames /mnt/nas_hektor/{...} failed: readdirent: no such file or directory
error: Readdirnames /mnt/nas_hektor/{...} failed: readdirent: no such file or directory
error: lstat /mnt/nas_hektor/{...}: interrupted system call
error: Readdirnames /mnt/nas_hektor/{...} failed: readdirent: no such file or directory
error: Readdirnames /mnt/nas_hektor/{...} failed: readdirent: no such file or directory
error: NodeFromFileInfo: Listxattr: xattr.list /mnt/nas_hektor/{...} : interrupted system call
error: Readdirnames /mnt/nas_hektor/{...} failed: readdirent: no such file or directory
error: NodeFromFileInfo: Listxattr: xattr.list /mnt/nas_hektor/{...} : interrupted system call
error: Readdirnames /mnt/nas_hektor/{...} failed: readdirent: no such file or directory
error: NodeFromFileInfo: Listxattr: xattr.list /mnt/nas_hektor/{...} : interrupted system call
error: Readdirnames /mnt/nas_hektor/{...} failed: readdirent: no such file or directory
error: Readdirnames /mnt/nas_hektor/{...} failed: readdirent: no such file or directory
error: Readdirnames /mnt/nas_hektor/{...} failed: readdirent: no such file or directory
error: Readdirnames /mnt/nas_hektor/{...} failed: readdirent: no such file or directory
error: Readdirnames /mnt/nas_hektor/{...} failed: readdirent: no such file or directory
error: Readdirnames /mnt/nas_hektor/{...} failed: readdirent: no such file or directory
error: NodeFromFileInfo: Listxattr: xattr.list /mnt/nas_hektor/{...} : interrupted system call
error: NodeFromFileInfo: Listxattr: xattr.list /mnt/nas_hektor/{...} : interrupted system call

Files:         834 new,     0 changed, 17209 unmodified
Dirs:           46 new,  1191 changed,     0 unmodified
Added to the repo: 251.044 GiB

processed 18043 files, 8.624 TiB in 3:40:12
snapshot db1a5445 saved
Warning: failed to read all source data during backup

The /var/log/syslog is sprinkled many of the following (seemingly relevant) errors:
Oct  2 01:42:04 omv-{name} kernel: [21401.666794] CIFS VFS: Send error in read = -4
Oct  2 01:05:45 omv-{name} kernel: [19223.167367] CIFS VFS: \\{nas}.fritz.box\Hektor Close interrupted close

What backend/server/service did you use to store the repository?
The repository is simply stored on the local filesystem, only the actual to-be-backed-up data is mounted via cifs
Expected behavior
Well, no errors..
Actual behavior
restic displays errors while running, ends with an error message and actually skips these files in the snapshot.
Calling restic again backs the files up without problem (I can also without problem stat/list the files/directories in my terminal).
It seems to just fail at random and after 3 invocations of restic backup I had all files backed up (after that I downgraded for the other backups I wanted to do)
Steps to reproduce the behavior
Not really sure if it's reproducible for everyone who backs up (a lot of) data from a cifs mountpoint.
I tried to eliminate other problem sources (see below) but I don't know how much it depends on my setup/network/whatever
Do you have any idea what may have caused this?
No idea.
I can say that I tried a lot of other things before downgrading restic because it really sounds like a samba problem.
I did a full software update on my machine, restarted my synology nas, multiple times restarted my machine, tried tweaking samba mount options etc.
But because a simple restic downgrade eliminated all problems it seems like restic at least started triggering some cifs bug since 0.10.0
Btw both machines are in the same local network, connected by a Gbit switch and stand only a meter from each other, so teh network should be very stable.
Do you have an idea how to solve the issue?
Nope, sorry.
Did restic help you today? Did it make you happy in any way?

This is might be the new async preemption in the Go 1.14 runtime. The best way to tell would be to compile restic 0.10.0 with Go 1.13.4 and try again.
I think we ~should~ could put an EINTR loop around xattr, or maybe get the maintainers of pkg/xattr to do that. As for the Readdirnames failures, the Go people have decided that's a kernel bug that they're not going to work around, unless someone shows that it isn't.

The consensus among maintainers (expressed at #3061) is to wait until Go 1.16, which will include a thorough fix in the stdlib. If that's right, may I suggest adding a summary of/link to the workaround at the top and pinning this issue? It comes up regularly and will continue to do so until ca. February.

I'll pin this issue for now

Sorry if this isn't related to the same underlying Go issues, but I'm seeing an error when I try to back up under Windows 10 20H2 with restic 0.11:
repository 94fe90ee opened successfully, password is correct
creating VSS snapshot for [c:\]
error: failed to create snapshot for [c:\]: VSS error: async operation pending

Restic continues working and backs up all files that it can access, but obviously those in use are inaccessible because it doesn't believe it has a working shadow copy. However, the shadow copy was created by the OS and is available while restic runs.

@JPPhoto Please open a separate issue and fill out the issue form. This issue is exclusively about a Linux specific issue with Samba.

using GODEBUG and related nouser_xattr from https://github.com/restic/restic/issues/1800 helped me fix the problems in my script (https://forum.restic.net/t/error-lstat-errno-524-during-backup/3272)

The GODEBUG workaround helped me fix my backup. I use restic to bacup my NAS to object storage and this problem got me from making backups for months.
export GODEBUG=asyncpreemptoff=1

The GODEBUG workaround helped me fix my backup. I use restic to bacup my NAS to object storage and this problem got me from making backups for months.
export GODEBUG=asyncpreemptoff=1

Go 1.16 has been released in the meantime. Could anyone try whether this finally solves the compatibility problems with CIFS on Linux?

Unfortunately, the problem is not solved.  In fact it seems (if anything) to have been replaced by something worse.
Using
 restic 0.12.0 (v0.12.0-11-g814a399e4) compiled with go1.16 on linux/amd64
and with a clean copy of a repo similar to the one in my original forum post, I first ran restic forget --prune --max-unused=0. This appeared to complete normally and there were no errors logged.  Paranoid person that I am, however, I then ran restic check on the pruned repo.  This produced a series of errors ending with
 error: error loading index 55d2df1b: load <index/55d2df1b4a>: invalid data returned
 error: error loading index 594fd4a0: load <index/594fd4a025>: invalid data returned
 Fatal: LoadIndex returned errors

So I tried restic rebuild-index (which in the old days of the Go 1.14 problems had effectively repaired the repo).  This produced multiple errors of the form
reindexing pack file ced69db1d699800b56f73678b8974c8487f114ae02f220c08561ecc9cf8cb38f with unexpected size 0 instead of 4250647
reindexing pack file 73c818e87931931b1d4721a99e57148c54560ff44d420956e1da9f04be73bf3d with unexpected size 4250647 instead of 420237

A second attempt to rebuild the index resulted in multiple lines of the form
adding pack file to index ced69db1d699800b56f73678b8974c8487f114ae02f220c08561ecc9cf8cb38f
adding pack file to index 3c350cd1f0d6b938793bdd57a4180264f8b00e642783c10a633e630e05dd240a
adding pack file to index d34953733e994019a21c73ad699cc7950af2c91f9d5d4a05ef726f63b658aa44

There was no explicit indication that either rebuild-index had failed but a restic check produced several hundred error messages ending with
tree d13ef09a: file "b98af7035914f872_0" blob e7b7edb0ef1394d41bc61c9e485e77192ff326500556c36ae0613ff30c9976bf not found in index
 tree d13ef09a: file "e1e489cb2437551c_0" blob 16630545bb3558e2229696fa5a98c17f8ffe9599e317dde28674481bc3739a2c not found in index
[0:07] 100.00%  37 / 37 snapshots
Fatal: repository contains errors

All of the above was with GODEBUG unset. However, at no time did I see any of the "interrupted system call" messages previously characteristic of the issue.
At this point I gave up.  I thought at first that (since I had to reestablish my CIFS configuration to do this test) I might have fouled up access permissions or something similar.  So (again starting with a clean copy of the repo, obviously) I repeated the above sequence of events using

restic 0.9.6 compiled with go1.14.4 on linux/amd64

and GODEBUG=asyncpreemptoff=1 as before.  Worked perfectly (no errors).
Finally, just to take my Go 1.16 restic build out of the equation, I reran the original sequence of commands on a clean copy of the repo with the filesystem mounted over NFS (instead of CIFS).  Again, everything worked perfectly.
Possibly the original problem is indeed fixed but the fix introduced another issue?

Unfortunately, the problem is not solved. In fact it seems (if anything) to have been replaced by something worse.

That seems indeed to be the case. I've encountered a similar (?) issue with Go 1.16.1 on Ubuntu 20.04 running via WSL (Linux-Kernel 4.19.128) with a local samba share (a plain Linux system/VM should work just as well). For testing I've created a new repository and backed up a few gigabytes of data. For me the issues so far were slow operations (at least I had that impression) and the silent corruption of a pack file! The pack file ended up with a few 64kb ranges which just contain null bytes instead of the actual data.
So this looks like either a Go or a kernel problem. So far I haven't had time assemble a more compact test case for reproducing.

So far I haven't had time assemble a more compact test case for reproducing.

I have a small test repo (a few text files, a few snapshots, <1.5Mb) that I created for a different purpose.  I would be glad to do some testing if that would be helpful.  Alternatively, possibly I could provide a copy of the repo to you...it doesn't contain any sensitive information.

I have a small test repo (a few text files, a few snapshots, <1.5Mb) that I created for a different purpose. I would be glad to do some testing if that would be helpful.

Thanks for the offer, however, I had a different type of test case in mind: I wanted to simplify the way to create a damaged repository / files. So that ideally should just involve running a small go program and not restic as a whole. Such a small test case would then allow digging into where exactly things go wrong.

having just run this over an SMB share it worked fine for me (though a small 6GB backup). Is this still an issue and if so, anything I can do to help testing?

For me everything works fine on a default Debian 10 installation with:
restic 0.12.0 compiled with go1.16.3 on linux/amd64
I backuped my data to a fresh repo on a smb share and ran the following commands without any issues:
restic -r /mnt/backup/repo forget --keep-last 1 --prune
 restic -r /mnt/backup/repo check
I even did a testrestore without any issues.

Im running restic on a mac but the backup is mounted via SMB share from NAS running Linux.  Does this issue apply in my situation?

@csss1234 No. This issue only applies when the host running restic uses Linux.

@underhillian Which Kernel version are you using?
Did anyone else notice problems with restic + CIFS + go 1.16?
We could add a check to prevent using a repository stored on a CIFS mount on Linux. That would basically enforce the remark that currently exists in the documentation. The big downside of this workaround is that we'd have no clue at all whether that option will still be necessary in the future or not.
diff --git a/internal/backend/local/local.go b/internal/backend/local/local.go
index 0410e51b..d58d4880 100644
--- a/internal/backend/local/local.go
+++ b/internal/backend/local/local.go
@@ -5,6 +5,8 @@ import (
        "io"
        "os"
        "path/filepath"
+       "runtime"
+       "strings"
        "syscall"

        "github.com/restic/restic/internal/errors"
@@ -31,6 +33,24 @@ const defaultLayout = "default"
 // Open opens the local backend as specified by config.
 func Open(ctx context.Context, cfg Config) (*Local, error) {
        debug.Log("open local backend at %v (layout %q)", cfg.Path, cfg.Layout)
+
+       if runtime.GOOS == "linux" {
+               dbg, _ := os.LookupEnv("GODEBUG")
+               hasAsyncPreempt := !strings.Contains(dbg, "asyncpreemptoff=1")
+               if hasAsyncPreempt {
+                       var stat syscall.Statfs_t
+                       err := syscall.Statfs(cfg.Path, &stat)
+                       if err != nil {
+                               return nil, err
+                       }
+                       const CIFS_MAGIC_NUMBER = 0xff534d42
+                       if stat.Type == CIFS_MAGIC_NUMBER {
+                               return nil, errors.Fatal("Storing a repository on CIFS requires disabling" +
+                                       "asynchronous preemption by setting the environment variable GODEBUG to 'asyncpreemptoff=1'.")
+                       }
+               }
+       }
+
        l, err := backend.ParseLayout(ctx, &backend.LocalFilesystem{}, cfg.Layout, defaultLayout, cfg.Path)
        if err != nil {
                return nil, err

Which Kernel version are you using?

I use Arch Linux (rolling updates) and update regularly so my kernel is almost never more than a couple of weeks behind linux-stable.
As best as I can tell from my trusty restic backups:wink:, at the time of my last test as reported above (Mar 07), I was running 5.11.2 (although it might have been a minor release or two later than that...can't be more precise at this point).

I just upgraded a server at home from ubuntu LTS from 18.04 to 20.04 and now I can't run
backups anymore on files that are on my NAS from my cifs mounted path.
I also upgraded restic before trying so I don't know which upgrade caused the problems.
This is all over the restic backup output now:
input/output errorc ...redacted... error: NodeFromFileInfo: Listxattr: xattr.list

If I run stat on one of the failed files I don't get any errors.
$ stat "...redacted..."
  File: ...redacted...
  Size: 5493072         Blocks: 10736      IO Block: 1048576 regular file
Device: 35h/53d Inode: 399240      Links: 1
Access: (0755/-rwxr-xr-x)  Uid: ( 1000/ thomasf)   Gid: (    0/    root)
Access: 2021-06-04 15:31:45.395788000 +0000
Modify: 2008-01-27 19:17:46.000000000 +0000
Change: 2008-01-27 19:17:46.000000000 +0000
 Birth: -

My kernel is
Linux gems 5.4.0-80-generic #90-Ubuntu SMP Fri Jul 9 22:49:44 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

I also upgraded restic before trying so I don't know which upgrade caused the problems.

Please specify restic version. Lots of Linux distros use outdated restic versions, your best course of action to have the best restic version is to simply use the official restic binaries published here on GitHub.

0.12.1

I also upgraded restic before trying so I don't know which upgrade caused the problems.

Please specify restic version. Lots of Linux distros use outdated restic versions, your best course of action to have the best restic version is to simply use the official restic binaries published here on GitHub.

Hmm, when I write a test specifically targeting the same file that fails with i/o error inside resic it does not cause an i/o error. I might have missed something.
2021/08/08 08:56:38 archiver/archiver.go:353	archiver.(*Archiver).Save	56	/media/dubcube/homes/thomasf/Pictures/_VERY_RANDOM/1999/08/17/jw41.jpg target "/media/dubcube/homes/thomasf/Pictures/_VERY_RANDOM/1999/08/17/jw41.jpg", previous <nil>
2021/08/08 08:56:38 archiver/archiver.go:384	archiver.(*Archiver).Save	56	  /media/dubcube/homes/thomasf/Pictures/_VERY_RANDOM/1999/08/17/jw41.jpg regular file
2021/08/08 08:56:38 restic/node.go:622	restic.(*Node).fillExtendedAttributes	61	fillExtendedAttributes(/media/dubcube/homes/thomasf/Pictures/_VERY_RANDOM/1999/08/17/jw40.jpg) [] Listxattr: xattr.list /media/dubcube/homes/thomasf/Pictures/_VERY_RANDOM/1999/08/17/jw40.jpg : input/output error
2021/08/08 08:56:38 archiver/file_saver.go:145	archiver.(*FileSaver).saveFile	60	/media/dubcube/homes/thomasf/Pictures/_VERY_RANDOM/1999/08/17/jw41.jpg
2021/08/08 08:56:38 archiver/archiver.go:492	archiver.(*Archiver).Save	56	return after 0.003
``

```go
package restic

import (
	"os"
	"syscall"
	"testing"

	"github.com/davecgh/go-spew/spew"
	"github.com/restic/restic/internal/restic"
)

const (
	fn = "/media/dubcube/homes/thomasf/Pictures/_VERY_RANDOM/1999/08/17/jw41.jpg"
)

func TestNodeFromFileInfo(t *testing.T) {

	fi, err := os.Stat(fn)
	if err != nil {
		t.Fatal(err)
	}

	stat, ok := toStatT(fi.Sys())
	t.Log(ok, stat)
	if !ok {
		t.Fail()
	}

	node, err := restic.NodeFromFileInfo(fn, fi)
	if err != nil {
		t.Fatal(err)
	}
	t.Log(spew.Sdump(node))
}

type statT syscall.Stat_t

func toStatT(i interface{}) (*statT, bool) {
	s, ok := i.(*syscall.Stat_t)
	if ok && s != nil {
		return (*statT)(s), true
	}
	return nil, false
}

$ ssh gems ./foo.test -test.v
=== RUN   TestNodeFromFileInfo
    random_test.go:24: true &{49 18317912 1 33261 1000 0 0 0 34898 1048576 72 {1622819926 309775400} {1283468376 0} {1283468376 0} [0 0 0]}
    random_test.go:33: (*restic.Node)(0xc0000d4640)(-rwxr-xr-x  1000     0  34898 2010-09-02 22:59:36 +0000 UTC jw41.jpg)

--- PASS: TestNodeFromFileInfo (0.02s)
PASS

Is always the same file affected or does the error affect different files each time? The testcase probably only works in the former case.
Another major difference to the situation in restic, is that the overall load is completely different. restic usually keeps the system quite busy, whereas the testcase is a single command without putting any noteworthy stress on the system. As we know that the CIFS problems are triggered by the async. preemption feature of go, your testcase would have to run the problematic syscall at the time when the preemption signal arrives. For that the testcase would at least have to repeat the operation over and over again (probably on different files).
Please test whether setting GODEBUG=asyncpreemptoff=1 solves the problem for you.

GODEBUG=asyncpreemptoff=1 does not seem to help.
It looks like it's different files . It is a pretty slow server (Intel(R) Core(TM)2 Duo CPU     E6850  @ 3.00GHz) so it is probably more vulnerable to bad timing than the average modern machine.
I also tried setting all the archiver concurrencies to 1 and adding a few time.Sleep(200ms) here and there around the areas where the errors appear.  With the sleep it seems like error rate maybe went down a bit but far from disappeard.
I will try to set up a smaller test repo where I don't have tens of thousands of files for ever run and see if I can narrow anything down.

I have tried a bunch of different cifs mount settings now without any luck.
An flag that enabled you yo just skip extended attributes would also work (at least for me). It is only the listattrxs syscall that fails and I don't think I use any of that for my cifs mounts.
I just did this to see what would happen and now I can at least run my backups without heaps of errors
func (node *Node) fillExtendedAttributes(path string) error {
	return nil

Did you try the nouser_xattr mount option?

It is a pretty slow home server (Intel(R) Core(TM)2 Duo CPU E6850 @ 3.00GHz) so it is probably more vulnerable to timing than the average modern machine.

The symptoms sound like a serious bug in either the CIFS server or client. Or maybe it is also a network problem. Although the CPU of the server isn't the fastest, it's also not the slowest one either.

Did you try the nouser_xattr mount option?

I missed that one and it also seems to work , have been running through a few tens of thousands files already and should definitely have failed by now.

It is a pretty slow home server (Intel(R) Core(TM)2 Duo CPU E6850 @ 3.00GHz) so it is probably more vulnerable to timing than the average modern machine.

The symptoms sound like a serious bug in either the CIFS server or client. Or maybe it is also a network problem. Although the CPU of the server isn't the fastest, it's also not the slowest one either.

I ran a few network load tests and even upgraded the switch firmware so it's probably not that.  It's probably some interaction between the samba/kernel version of my qnap NAS and the CIFS client in the latest Ubuntu LTS kernel.
In any case nouser_xattr seems to work so It's all good for now.

After many months of using nouser_xattr this problem still occurs from time to time. Same dataset, roughly same changes every day - most days no errors, some days there are. I still cannot see a pattern why this is happening :-(

same issue here. trying to backup 1.5T data and process interrupted all the time with different files.

@imkyaky As mentioned in one of the earlier posts here, go 1.16 includes some additional fixes to handle the interruptions. Can you try whether restic 0.12.0 or 0.12.1 build using go 1.16 (or even better 1.17) resolves the problem? Otherwise, try also setting the environment variable GODEBUG=asyncpreemptoff=1

Relevant: rclone/rclone#2042. If rclone gets SMB support, this issue can be worked around, and it will work on all platforms. I'm not volunteering, but if anyone needs a summer project...

Is this issue still relevant with recent restic versions, that is restic 0.14.0?

I created a small (~25GB) repo as a test case and went through a series of backup, forget, and prune operations similar to those where I saw errors originally.  Everything worked perfectly.
I performed the testing using
restic 0.14.0 compiled with go1.19 on linux/amd64
under linux 6.06.  I did not set GODEBUG,
This wasn't an exhaustive test by any means, but it was extensive enough that (based on my previous experience) I would have expected to see multiple errors if the issue was still present.  So the issue has very likely been resolved.

The manual doesn't mention that this is also an issues when reading data from a CIFS share.
Please correct the text to also say you should use GODEBUG to asyncpreemptoff=1 when reading from a CIFS share.
URL: https://restic.readthedocs.io/en/latest/030_preparing_a_new_repo.html?highlight=cifs#local

due to compatibility issues in older Linux kernels

does this mean it's fixed in newer kernels? would make sense to document what kernel version fixed it

due to compatibility issues in older Linux kernels

does this mean it's fixed in newer kernels? would make sense to document what kernel version fixed it

We unfortunately have no real idea which versions are affected, I'm not actually sure how exactly the problem can be reproduced efficiently. Recent Linux (kernel) versions seem to be unproblematic.

Relevant: rclone/rclone#2042. If rclone gets SMB support, this issue can be worked around, and it will work on all platforms. I'm not volunteering, but if anyone needs a summer project...

Just wanted to note that rclone has merged support for SMB.

i assume it should work just fine on NFS mounts, right?

i assume it should work just fine on NFS mounts, right?

NFS mounts are not affected. Recent (my guess would be anything roughly starting from 2022) Linux kernels should also be fine when using CIFS.

Summary of the Issue:
Users reported that running Restic commands, such as prune, on repositories located on CIFS-mounted shares resulted in errors. The errors were traced back to changes in Go 1.14, specifically related to asynchronous preemption, which adversely affected file operations on CIFS mounts.
Workaround:
A temporary solution involved setting the environment variable GODEBUG to asyncpreemptoff=1 before executing Restic commands. This action disabled the new asynchronous preemption feature in Go 1.14, restoring the previous behavior and mitigating the issue.
Resolution:
The Restic development team addressed this problem in subsequent updates. Upgrading to the latest version of Restic, which includes the fix, should resolve the issue without the need for the aforementioned workaround.
Recommendations:
•	Upgrade Restic: Ensure that you’re using the latest version of Restic to benefit from all recent fixes and improvements.
•	Check Go Version: If you’re building Restic from source, use a Go version that is compatible with the latest Restic release.
•	Monitor Mount Options: Be aware of the mount options and configurations for CIFS/Samba shares, as they can influence the behavior of applications interacting with them.


get_route_to

Description of Issue/Question
get_route_to doesn't let to specify a table. When multiple vpnv4 tables are present the resulting routes can not be parsed to valid ipv4 address:
Did you follow the steps from https://github.com/napalm-automation/napalm#faq
[X] Yes
[ ] No
Setup
napalm-junos version
(Paste verbatim output from pip freeze | grep napalm-junos between quotes below)
napalm-junos==0.6.6 (also with current develop branch)

JunOS version
(Paste verbatim output from show version and haiku between quotes below)
Model: mx10-t
Junos: 13.3R6-S2
JUNOS Base OS boot [13.3R6-S2]
JUNOS Base OS Software Suite [13.3R6-S2]
JUNOS Kernel Software Suite [13.3R6-S2]
JUNOS Crypto Software Suite [13.3R6-S2]
JUNOS Packet Forwarding Engine Support (MX80) [13.3R6-S2]
JUNOS Online Documentation [13.3R6-S2]
JUNOS Services Application Level Gateways [13.3R6-S2]
JUNOS Services Jflow Container package [13.3R6-S2]
JUNOS Services Stateful Firewall [13.3R6-S2]
JUNOS Services NAT [13.3R6-S2]
JUNOS Services RPM [13.3R6-S2]
JUNOS Services Crypto [13.3R6-S2]
JUNOS Services SSL [13.3R6-S2]
JUNOS Services IPSec [13.3R6-S2]
JUNOS Routing Software Suite [13.3R6-S2]

Steps to Reproduce the Issue
Run the following playbook (using napalm-ansible):
- name: fetch info
  gather_facts: false
  hosts: all
  connection: local
  tasks:
    - name: get facts
      napalm_get_facts:
        hostname: "<IP_ADDRESS>"
        username: "******"
        password: "******"
        dev_os: "junos"
        filter:
          - "route_to"
        args:
          route_to:
           destination: <IP_ADDRESS>/24
      register: result
    - name: display results
      debug: var=result

Error Traceback
(Paste the complete traceback of the exception between quotes below)
TASK [get facts] *****************************************************************************************************************************************************************************
fatal: [vsrx01]: FAILED! => {"changed": false, "failed": true, "msg": "[route_to] cannot retrieve device data: failed to detect a valid IP address from u'<IP_ADDRESS>:500:<IP_ADDRESS>'"}
        to retry, use: --limit @/home/ubuntu/2d-automation/ansible/getdata.retry

Duplicate of https://github.com/napalm-automation/napalm-junos/issues/121


map_unpack_to_slice cannot compare Const_RefRoots

The spec for map_unpack_to_slice (which is required for custom_types) fails with:
Subgoal failed: soroban_custom_types_contract/d8f2e286::{impl#10}[0]::get_state[0] Unsupported feature: Cannot compare Const_RefRoots

This is AIUI in the Crucible/SAW interface.
It's probably connected somehow to using an array of string slices (since that's what's different about this function) but not necessarily.

The error message arises from here in crucible-mir:
refRootEq _sym (Const_RefRoot _ _) (Const_RefRoot _ _) =
    leafAbort $ Unsupported callStack $ "Cannot compare Const_RefRoots"

Next steps: figure out which Const_RefRoots are being compared and why.

Some printf debugging reveals the following:

The failing call to refRootEq originates from the use of equalRefsPred here in enforceDisjointness. enforceDisjointness is used to assert that all memory allocations matched by an override's precondition are disjoint.
The two Const_RefRoot values both originate here in crucible-mir. Specifically, the are born in the code that translates constant string slice values to Crucible.
The specific string slice constants are "count" and "last_incr". It's not yet clear to me how these values in particular end up in the allocations in the preconditions of the  map_unpack_to_slice override (do these originate from the Rust code or on the SAW side?), but that might be a good place to start in minimizing this example further.

Those are the names of the fields in the custom struct type. They are getting stringized by the Rust macros that drive that stuff.
One possible next step is to write a smaller Rust program that uses string constants directly to call map_unpack_to_slice, but I think that probably isn't going to tell us anything new. I think we're going to need to figure out how to be able to tell if these are disjoint. From what I understand so far, that's something of a can of worms because we don't carry around the info we need for that. (Also, what happens if the field names are "ounce" and "pounce" and the rust compiler decides to do prefix compression on string constants, so that they aren't properly speaking disjoint?)

While I haven't yet produced a minimal program that produces the same error message as above, I have produced a minimal program (which should be accepted, but SAW currently rejects) that has the same root cause in enforceDisjointness. See https://github.com/GaloisInc/saw-script/issues/2064. It would be worth looking more into this issue, as I expect that any insights we gain there would apply equally to this issue.

This is fixed, and the fix will be in the pending SAW release.


Design mongodb view for authorization

Design the mongo view that only contains necessary fields and join dataset with authorization collections


Does not work if authority is changed to *.b2clogin.com

It works perfectly fine with authority as login.microsoftonline.com but when authority is changed to b2clogin.com. It throws an exception.
I tried upgrading AD nuget to the latest version 5.1 and also updated code to set Validate Authority to false.
Still fails.

@kaushikgayal  it is not needed to use b2clogin.com domain because this is sample, we have used the client credentials flow, which is inherited capability of the enterprise tenant.  I think, you are worried about deprecated of login.microsoft.com domain for b2c Tenant, flow in this sample is not going to be affected. ref this - https://docs.microsoft.com/en-us/azure/active-directory-b2c/b2clogin#endpoints-that-are-not-affected


ISPN-6259 & ISPN-6260 Cache / Configuration distinction / Server config templates

https://issues.jboss.org/browse/ISPN-6259
https://issues.jboss.org/browse/ISPN-6260
Properly distinguish between caches and configurations and add a bunch of useful configuration templates to the domain/clustered configurations

Looking

merged, thanks @tristantarrant !


Implement "Organizers" for the Event

All events has a group of people for make the event happen, so it is not fair to allow just one person for be responsible for all the call for papers area.

This is not necessary anymore, as we can create "Organizations" and add people in there, as the issue #130 suggests.


[test] Add checks for example notebooks

This PR follows the same approach as the pytket repo in order to test the example jupyter notebooks in the examples/ folder.
Please note:

The workflow tests the notebooks with python versions 3.8, 3.9 and 3.10 in parallel, but only in Linux.
The example notebooks are checked serially.
We use the expect script answer_input_prompts, in order to provide the quantinuum credentials interactively, as the user running the notebooks would do. This script has a timeout of 30 minutes since the jobs sent to the emulator can take long to be picked up by the quantinuums' queue (we don't have control over this, so it can happen that the emulator results are not ready before the timeout, in which case the CI would fail).

@cqc-alec I think I've addressed all the comments :D


Add support for more types

In addition to the four main types (Strings, Int, Float, Bool), the next candidates for new types are:

Date (time.Time)
Decimal (big.Int/Rational for currency analyses)
Complex (complex64/complex128)

The pros and cons of these additions have to be taken into account, since every new type increases the complexity of the library significantly.

看到您的这个计划，无以言表的喜悦，太开心了,very happy。ths 感恩！
forgive me use chinese.

Just created a PR adding partial support for time.Time

Yes please, I give my vote to time.Time. It's really neccesary.

hello 大神  期待  Date（time.Time） type

any idea when int64 may be supported? Is it currently being worked on?


clickale link from output

I want the log output to include a link (either HTTP or a local flie) and that when the user clicks the link it will open that link in browser. is it possible?

I googled and met TE_AUTO_URL - maybe this can help

Added to the release branch
from gooey import Gooey, GooeyParser

@Gooey
def main():
    parser = GooeyParser()
    args = parser.parse_args()
    print('''
Who said that? SURE you can die! You want to die?! Enough about your
promiscuous mother, Hermes! We have bigger problems. Does anybody else feel
jealous and aroused and worried? There, now he's trapped in a book I
wrote: a crummy world of plot holes and spelling errors!

http://fillerama.io/
    ''')

if __name__ == '__main__':
    main()

@chriskiehl  please un-close
something is wrong.
Tested on python 3 on WIndows 10.
When I click the URL it opens it lots and lots of times.
try to output the string r'file://c:\temp\x.xlsx' and you can see that it opens a few Excel  instances. Same goes for http://google.com - it opens multiple Chrome tabs.

Un-close... or re-open...? hmm.. ^_^
Define "lots" for me? > 10? 2? Immediate hunch is that a single click event is spawning n-events. May just need debounced or something. I'll dig into it.

@chriskiehl - More than 10. You want my guess?
according to https://comp.soft-sys.wxwindows.narkive.com/lGHAJaFi/how-to-use-evt-text-url-id-func-of-wxtextctrl - "EVT_TEXT_URL(id, func) A mouse event occured over an URL in the text control (Win32 only)" ; so it's not limited to a click event. Every time I move the mouse while inside the URL, it will spawn the handler.
Here is a snippet from http://wxpython-users.1045709.n5.nabble.com/EVT-TEXT-URL-event-is-fired-many-times-td2357053.html :
def OnTextCtrl1TextUrl(self, event):
         if event.MouseEvent.LeftUp():
             print 'ctrl 1 url: %s' % event.GetEventObject().GetValue()
         event.Skip()


Answer X of Y page not marking correctly

This page no longer works https://xot.xerte.org.uk/play_116#answerxofy
All answers are marked as incorrect

@torinfo the fix for this bug needs to go to master as the Answer X of Y page no longer worked, unless the delimiter optional property wasn't added

@FayCross Thanks for the fix. pushed to master.


Added opening App Store.

Salam,
I just added opening App Store support, But for all classes I added empty id:
public let appStoreId = ""
I will add all apps id إن شاء الله when I take your agreement @Mazyod
Also, I will fix ApplicationCallerTests class.

This looks awesome, thanks. We should add another check to make sure that the AppStoreId is not empty, but I'll merge this for now


discord bot .inventory too many characters

Discord has a 2000 character limit.  We could do pagination or list a subset that is under 2k characters.

Fixed


Alpha version for ActivationResult

Add basic (alpha) version of ActivationResult
This considers only about the data storage and retrieval part of the
ActivationResult. In other words, there is no functionality which would
connect ActivationResult yet to the thread/queue for the data. This
will be added soon.
Now the API could look something like this:
with keep.running() as k:

    if not k.success:
        logger.warning('keepawake not successful')
        logger.warning(k.get_details())

    else:
       logger.info('keepawake successful. Using "%s"', k.active_methods_string)
       # do something

Example log messages in case of failure:
WARNING:root:keepawake not successful
WARNING:root:[(FAIL @REQUIREMENTS, fail-requirements, "Missing requirement: Some SW v.1.2.3"), (SUCCESS, a-successful-method), (UNUSED, some-unused-method)]

Example log messages in case of success:
INFO:root:keepawake successful. Using "a-successful-method"

or
INFO:root:keepawake successful. Using "1st.successful.method, 2nd-successful-method & last-successful-method"

The ActivationResult contains now:
Attributes
.success: bool
.real_success: bool
.failure: bool
.active_methods: list[str]
.active_methods_string: str
Methods
get_details (higher-level interface)
get_detailed_results (lower-level interface)

This also closes https://github.com/fohrloop/wakepy/issues/52


Android build 2.9.2 says Disconnected

I just built 2.9.2 APK for android but unfortunately showing "Disconnected" status up top, never going into "syncrhonizing" mode.  Can't publish like this obviously.
Any ideas are appreciated.

i think just slow connection, on both ends. probably we should add more speed to host


Use the Display section for other values

The display section is kinda useless for me at the moment. I think it would be more useful, at least in my situation, to display the remaining time of the latest media source that has been triggered.
One neat thing would be able to choose between Media Source and VLC Media Source. I put my overlay in Media Source and the actual videos I want to play on screen in VLC Media Source so that it's easier to differentiate. That could probably solve an overlay loop of 3 seconds to take the spot in the Display.

As you're always controlling the program stream I think it does make a lot of sense to show the currently controlled scene. But sure, it could be optionally used for other things as well.

Maybe I'm mistaken or that it's not working properly on my end. There seems to be 3 columns in total.

It simply shows whatever name you gave the scene.

I can't really know what characters that specific mackie control compatible hardware can show.
For the other stuff.. Its more about what the websocket API supports.


docs: Add a "Skip navigation" link on the /help and /api route

PR for the issue #15948
I have added the following changes.

When pressed tab the button appears from the top
And when we press enter, it takes us to top of the page.
I have remove the hash in URL after we press enter.

Please review the commit and suggest the changes. This is my first issue.

@timabbott @zulipbot can you please review this #19571 and suggest some changes. This is my first pr.

@madrix01 You should squash your commits into a single commit. Check out https://zulip.readthedocs.io/en/latest/git/fixing-commits.html#squashing-commits (and the related sections).

@abhijeetbodas2001 Hello, I have squashed the commit as per the docs and squashed 9 commits into one. After I pushed the code. It is not passing a CI test about codeql. I have changed nothing in the code you can check changes. What is causing this error?

I don't have an idea what this error is caused by. Please wait for a bit, someone will definitely help you out on chat.zulip.org

Ok, there is no change in the code. It's the same as the previous commits.

I have edited git config and it passed all the CI tests. Please have a look at it @abhijeetbodas2001 .

I have made the changes with my git config. Now all the CI test are passing. Thank you @aryanshridhar @abhijeetbodas2001 .

Due to my internal error in my git I'm closing this pull request, I'll be creating new one. Sorry for inconvenience.


Release a new version

It seems we didn't release a version since Nov, and we made quite many changes.
I'd like to release new one to the warehouse.
@warpech, @un-tone, @diliger Do you think we should bump something higher than PATCH?

Last release was Nov 30, 2015, so I would say everything has changed.
Please do the release, but the MAJOR number must be bumped.

I have just released the Website and WebsiteProvider to the warehouse. However Website does not get stacked with old Website (http://warehouse.starcounter.com/warehouse/organizations/starcounter), as the namespaces does not match, should I completely remove the old one (http://warehouse.starcounter.com/warehouse/organizations/starcounter/softwares/website)? Hopefully to get nice URL for the new one (http://warehouse.starcounter.com/warehouse/organizations/starcounter/softwares/website1) - currently at /website1.
Or do we want to keep the old one for some time.

Feel free to edit release notes https://github.com/StarcounterApps/Website/releases/tag/1.0.0 and add the changes you have made.

@andwah can you pls help with the above question regarding the Warehouse?

not sure if i can help with the question if we should keep the old WebSite app or not.  If we decide to keep it and we want the apps to be "stacked" then they need to have same namespace .
We can update the namspace of the old version to be the same as the new one by changing the namspace in the config file and reupload it.

Thanks. Then I propose to just delete the old Website app in the warehouse.
In broader context, there was a proposal to replace app namespaces with something else: https://github.com/Starcounter/Warehouse/issues/110

Thanks for the comments :) I have just removed the old one, so now we have one and only http://warehouse.starcounter.com/warehouse/organizations/starcounter/softwares/website


RuntimeError: Missing dependencies: hydra-core on google colab

HI
do you know why when i try to use this python code i've got following issue under Google Colab ?
import torch
camembert = torch.hub.load('pytorch/fairseq', 'camembert')
camembert.eval()  # disable dropout (or leave in train mode to finetune)
RuntimeError: Missing dependencies: hydra-core.
i installed this module with pip but always same error.
Thanks for your help
@louismartin

I'm getting a different but similar error when running the following in a brand new google colab notebook:
import torch
camembert = torch.hub.load('pytorch/fairseq', 'camembert')
camembert.eval() # disable dropout (or leave in train mode to finetune)

Downloading: "https://github.com/pytorch/fairseq/archive/master.zip" to /root/.cache/torch/hub/master.zip
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-1-ef40a84dccde> in <module>()
      1 import torch
----> 2 camembert = torch.hub.load('pytorch/fairseq', 'camembert')
      3 camembert.eval() # disable dropout (or leave in train mode to finetune)

8 frames
/root/.cache/torch/hub/pytorch_fairseq_master/fairseq/dataclass/configs.py in <module>()
     22 )
     23
---> 24 from omegaconf import II, MISSING
     25
     26

ModuleNotFoundError: No module named 'omegaconf'

---------------------------------------------------------------------------
NOTE: If your import is failing due to a missing package, you can
manually install dependencies using either !pip or !apt.

To view examples of installing some common dependencies, click the
"Open Examples" button below.
---------------------------------------------------------------------------

Running !pip install fairseq first solves the problem though.
@alexeib I am not very familiar with torch hub, do you know why the new omegaconf and hydra-core dependencies are not installed by default? Is that normal behaviour?

I'm getting a different but similar error when running the following in a brand new google colab notebook:
import torch
camembert = torch.hub.load('pytorch/fairseq', 'camembert')
camembert.eval() # disable dropout (or leave in train mode to finetune)

Downloading: "https://github.com/pytorch/fairseq/archive/master.zip" to /root/.cache/torch/hub/master.zip
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-1-ef40a84dccde> in <module>()
      1 import torch
----> 2 camembert = torch.hub.load('pytorch/fairseq', 'camembert')
      3 camembert.eval() # disable dropout (or leave in train mode to finetune)

8 frames
/root/.cache/torch/hub/pytorch_fairseq_master/fairseq/dataclass/configs.py in <module>()
     22 )
     23
---> 24 from omegaconf import II, MISSING
     25
     26

ModuleNotFoundError: No module named 'omegaconf'

---------------------------------------------------------------------------
NOTE: If your import is failing due to a missing package, you can
manually install dependencies using either !pip or !apt.

To view examples of installing some common dependencies, click the
"Open Examples" button below.
---------------------------------------------------------------------------

Running !pip install fairseq first solves the problem though.
@alexeib I am not very familiar with torch hub, do you know why the new omegaconf and hydra-core dependencies are not installed by default? Is that normal behaviour?

hmm i am not sure. maybe @myleott knows?

hmm i am not sure. maybe @myleott knows?


FoundationEssentials: implement file diffing support for Windows

Windows does not have the same Unix file system APIs (e.g. FTS). Implement a platform specific implementation to compare files on Windows.

@swift-ci please test

@swift-ci please test

@swift-ci please test

@jmschonfeld anything holding this up?

@parkera @jmschonfeld - would be nice to get this going. There are a few pending changes for FileManager and one that I am still working on. The sum of those would however seem to be sufficient to build FileManager on Windows. That would allow me to focus on the next few items blocking building FoundationEssentials on Windows. Although that would still not allow the full package to build, it would be a great milestone.


Fake initial commits!!!

Two initial commits delet repo and make new 1!!!

it actually can't build,i lost many depends and void method

Two initial commits delet repo and make new 1!!!

I'm honestly unsurprised you found this repo before me

fixed

Two initial commits delet repo and make new 1!!!

I'm honestly unsurprised you found this repo before me

I was sent it almost immediately lol


String format inf, nan values to uppercase

This change should make any display of inf, nan values align with the capitalization of GDScript constants INF, NAN. Resolves the issue where you type "INF" as a float value in the inspector, it displays as "inf", but "inf" is not an allowable input expression.
I've scanned for all usage of String::num, String::num_real and String::num_scientific within the engine, and I believe this should not cause any breakage.
Should resolve https://github.com/godotengine/godot-proposals/issues/3390 and https://github.com/godotengine/godot-proposals/issues/3398

There are alternative solutions to the specific problem mentioned if this is deemed too far reaching. It's possible to allow Expression to interpret lowercase "inf"/"nan" values, or to add special cases to format inf/nan to uppercase in the inspector implementation.

After further thought, I think I prefer the solution of allowing Expression to interpret "inf" and "nan". I believe there is a distinction between the constant INF and the literal value "inf". Printing PI does not print "PI", but instead "3.14159265358979".

We discussed this in a PR review meeting and thought that instead of changing how these are formatted, we could change GDScript and Expression to actually use lower case for inf and nan to be consistent with C (instead of upper case to be consistent with other constants - as those aren't really "constants" per se per more like language keywords).
Might warrant a dedicated proposal. WDYT @vnen?


Integrate docker compose

I think is will be interesting to integrate docker compose file, for easy install and upgrade environment.

If you end up making one, please submit a PR! If not, I'll try to get to it soon.

Please can you fix conflict with PR https://github.com/taniarascia/laconia/pull/8   Thanks :)

+1 this would be very handy!

Docker compose is implemented, but user profile page and edit page list don't work properly yet due to apache->nginx rewrite considerations.

Thanks @kevin-schmitt for your help in getting this together!

Thanks @kevin-schmitt for your help in getting this together!

Good job!
@taniarascia do you need any help with fixing the nginx rewrite issues?

@taniarascia @jjmpsp  I push one PR for some issues in docker compose (duplicate line ect...). I'm for problem

apache->nginx rewrite considerations.
Can you open new issue @taniarascia @jjmpsp ? problem is configucartion file for nginx https://github.com/kevin-schmitt/laconia/blob/fix-dockercompose-integration/docker/nginx.conf  I think we have to try_files directive like https://github.com/guillaumebriday/laravel-blog/blob/master/.cloud/nginx/nginx.conf
I need help for that please.

@jjmpsp Yes, would definitely appreciate some insight there! I tried a couple of things, but nothing worked yet...

Hello everyone,
I push a new PR #14  for problem routing, can you review my code and test please?
Thanks


TypeError: null is not an object (evaluating 'context.document.currentPage')

👋 Hello! Thanks for contributing. Please use the template that matches your intention
I am running npm run render inside one of the examples folder. Every time I get an error in terminal.

Expected behavior:
I expected the command to run successfully creating a new plug-in.
Observed behavior:
I get this info:
npm run render

> profile-cards@ render /Users/sten/Documents/DEV/NODE/react-sketchapp/examples/profile-cards
> skpm build --watch --run

🖨  Copied src/manifest.json in 7ms
Executing post-build scripts
🔨  Built ./main.js in 34314ms
TypeError: null is not an object (evaluating 'context.document.currentPage')
line: 6740
column: 104

How to reproduce:

Enter one of the example folder
Run install and: npm run render

Sketch version:
43.2 (39069)

@netsi1964 You should already have an empty Sketch project open before running npm run render.

Please state that in the instructions when someone wants to test it. And yes - that helped! Here is screenshot where I have altered the Profile Cards example. Great!

@netsi1964 sorry you ran into that - I need to make the docs clearer :(


BUG: union with self refrence doesn't result in |

The following I would expect to result in a structural cycle
foo: { bar: 1 } & foo.bar

:!cue eval % --all
foo: {
    bar: 1
}

I don't believe it's an issue with the formatter since
foo: { bar: 1 } & foo.bar + 1

:!cue eval % --all
foo: {
    bar: 1
} & foo.bar+1

and the concrete evaluations are as follows
foo: {
    bar: 1
} & foo.bar

:!cue eval % --concrete
foo: {
    bar: 1
}

foo: {
    bar: 1
} & foo.bar + 1

:!cue eval % --concrete
foo: cycle detected

tested with cuelang v0.0.14

Technically speaking, this is not a structural cycle, as the reference as a whole doesn't resolve to foo itself. But CUE doesn't handle this cycles directly indeed. I have a first stab in my client where it does. It is a bit sneaky, but yay freedom of evaluation order: if I run into a cycle I replace the reference with a struct embedding with the remainder of the reference. If the cyclic value is referenced unifying a struct, it will continue evaluating as expected after evaluation. If not, it will automatically result in a type error. This works neatly, just need to get better error messages.

This issue has been migrated to https://github.com/cue-lang/cue/issues/208.
For more details about CUE's migration to a new home, please see https://github.com/cue-lang/cue/issues/1078.


Last Login (last_login_at in user table) is not updating  when logged in via social networks

Last Login (last_login_at in user table) is not updating  when logged in via social networks

nice catch. I will handle this issue, thanks for reporting.

https://github.com/dektrium/yii2-user/pull/904 should do the trick.


ISDK-2585, ISDK-2657: Limit ReplayKit send frame rate & iOS 13 support

Make the frame rate used by ReplayKitVideoSource configurable, by including it as part of the format request. After some additional testing I can at least see that TVIVideoSource is only producing at most 30 fps, regardless of format requests.

Default to 15 fps in an extension w/ H.264
Use Uint consistently for fps and max dimension
formatRequestToDownscale accepts a maxFrameRate: argument
Using a lower fps (15-24) reduces the need for downscaling when available bandwidth is lower
Scenarios like scrolling around a busy homescreen tend to cause downscaling, since the content is complex
Reduced resource usage is possible as well

TODO

[x] Remove old frame dropping logic from ReplayKitVideoSource
[x] Decide on final FPS for modern devices
[x] Update README.md
[x] Agree on default behavior

[x] Disable syncing when frame rate limit > sync frame rate

Contributing to Twilio

All third-party contributors acknowledge that any contributions they provide will be made under the same open-source license that the open-source project is provided under.

[x] I acknowledge that all my contributions will be made under the project's license.

Limiting to 1000 kbps up/down, adding 5% packet loss and 20 milliseconds of delay in/out. It was pretty easy, when using 30 fps input to get downscaling to occur. When I used 15 fps this was much less common, and image degradation was less severe while scrolling around complex homescreen content.
Example where no downscaling occurred if limiting to 15 fps.
broadcastStartedWithSetupInfo:  Optional([:])
didConnectToRoom:  <<TVIRoom: 0x2832821b0> name: chris, state: Connected, sid: RMf93e6ccf73c0d6c049ed3f2bf336d458, delegate: <BroadcastExtension.SampleHandler: 0x282b83d50>>
Capture CMVideoDimensions(width: 886, height: 1918) @ 16 fps.
Send CMVideoDimensions(width: 0, height: 0) @ 0 fps. RTT = 0 ms
Capture CMVideoDimensions(width: 886, height: 1918) @ 15 fps.
Send CMVideoDimensions(width: 330, height: 714) @ 14 fps. RTT = 59 ms
Capture CMVideoDimensions(width: 886, height: 1918) @ 14 fps.
Send CMVideoDimensions(width: 330, height: 714) @ 14 fps. RTT = 60 ms
Capture CMVideoDimensions(width: 886, height: 1918) @ 15 fps.
Send CMVideoDimensions(width: 330, height: 714) @ 15 fps. RTT = 59 ms
Capture CMVideoDimensions(width: 886, height: 1918) @ 16 fps.
Send CMVideoDimensions(width: 330, height: 714) @ 15 fps. RTT = 57 ms
Capture CMVideoDimensions(width: 886, height: 1918) @ 15 fps.
Send CMVideoDimensions(width: 330, height: 714) @ 15 fps. RTT = 59 ms
Capture CMVideoDimensions(width: 886, height: 1918) @ 15 fps.
Send CMVideoDimensions(width: 330, height: 714) @ 15 fps. RTT = 63 ms
Capture CMVideoDimensions(width: 886, height: 1918) @ 14 fps.
Send CMVideoDimensions(width: 330, height: 714) @ 14 fps. RTT = 75 ms
Capture CMVideoDimensions(width: 886, height: 1918) @ 15 fps.
Send CMVideoDimensions(width: 330, height: 714) @ 15 fps. RTT = 61 ms
Capture CMVideoDimensions(width: 886, height: 1918) @ 14 fps.
Send CMVideoDimensions(width: 330, height: 714) @ 15 fps. RTT = 57 ms
Capture CMVideoDimensions(width: 886, height: 1918) @ 15 fps.
Send CMVideoDimensions(width: 330, height: 714) @ 15 fps. RTT = 59 ms
Capture CMVideoDimensions(width: 886, height: 1918) @ 15 fps.
Send CMVideoDimensions(width: 330, height: 714) @ 15 fps. RTT = 58 ms
Capture CMVideoDimensions(width: 886, height: 1918) @ 14 fps.
Send CMVideoDimensions(width: 330, height: 714) @ 15 fps. RTT = 58 ms
Capture CMVideoDimensions(width: 886, height: 1918) @ 14 fps.
Send CMVideoDimensions(width: 330, height: 714) @ 14 fps. RTT = 58 ms

Limiting to 30 fps makes downscaling much more likely:
broadcastStartedWithSetupInfo:  Optional([:])
didConnectToRoom:  <<TVIRoom: 0x282da1420> name: chris, state: Connected, sid: RMbe1887f6584626797b78e9870d5f6947, delegate: <BroadcastExtension.SampleHandler: 0x2834ac5a0>>
Capture CMVideoDimensions(width: 886, height: 1918) @ 31 fps.
Send CMVideoDimensions(width: 0, height: 0) @ 0 fps. RTT = 0 ms
Send CMVideoDimensions(width: 330, height: 714) @ 30 fps. RTT = 59 ms
participant:  user  didConnect
Capture CMVideoDimensions(width: 886, height: 1918) @ 30 fps.
Send CMVideoDimensions(width: 330, height: 714) @ 30 fps. RTT = 59 ms
Capture CMVideoDimensions(width: 886, height: 1918) @ 30 fps.
Send CMVideoDimensions(width: 330, height: 714) @ 11 fps. RTT = 58 ms
Capture CMVideoDimensions(width: 886, height: 1918) @ 29 fps.
Send CMVideoDimensions(width: 162, height: 354) @ 30 fps. RTT = 57 ms
Capture CMVideoDimensions(width: 886, height: 1918) @ 30 fps.
Send CMVideoDimensions(width: 220, height: 478) @ 30 fps. RTT = 58 ms
Capture CMVideoDimensions(width: 886, height: 1918) @ 30 fps.
Send CMVideoDimensions(width: 220, height: 478) @ 30 fps. RTT = 60 ms
Capture CMVideoDimensions(width: 886, height: 1918) @ 29 fps.
Send CMVideoDimensions(width: 330, height: 714) @ 29 fps. RTT = 58 ms

@piyushtank this PR is ready for review. Lets catch up live after you've had a chance to look it over.

Thanks @piyushtank, very good points about the documentation. In this case, a picture might be worth 1000 words. I am working on it, will ping you once the PR is ready for another look.

Live feedback, don't worry about older devices in this PR. Add a note to the readme.

Please note, this commit fixes ISDK-2653: https://github.com/twilio/video-quickstart-ios/pull/408/commits/b0460ff757faad7bfe8da89eae043586e89e4f75
We will also want to backport it (separate from the rest of the changes) to master.

@piyushtank I have addressed your feedback, let me know what you think.

Thank you for the several rounds of review @piyushtank! I'm merging this PR, and will proceed to backport the relevant ReplayKit / iOS 13 changes to master.


Improvement of the movie view example

This PR contains the following changes:
1.Using LocalOperations in the example
2.Minor fixes of API usage (e.g. calling budget_account.compute_budgets() etc).
3.Limiting metrics only to COUNT (all others are not implemented yet)
4.Minor fix in dp_engine.aggregate (map_tuple -> map)  (it's not tested yet, since dp_engine.aggregate is not fully implemented), w/o this fix the example crashes instead of returning an intermediate result.
5.Making some flags to be required
6.Added examples folders for formating by make format

Code changes LGTM 👍 @dvadym
Nit: when I run this locally, it prints out W0915 11:59:21.926725<PHONE_NUMBER> budget_accounting.py:94] No budgets were requested. at the end. Could the log level be changed to debug or info, in case this would be confusing as a first example?

Thanks for the review!

Code changes LGTM 👍 @dvadym
Nit: when I run this locally, it prints out W0915 11:59:21.926725<PHONE_NUMBER> budget_accounting.py:94] No budgets were requested. at the end. Could the log level be changed to debug or info, in case this would be confusing as a first example?

This warning is shown because budget is not requested yet. It will be fixed in one of the following PR.


Sequencer - Gradient check failing on variable-length sequences

I'm trying to train RNN for text classification-like task. However, I'm having a problem while using Sequencer-based model and variable-length sequences - gradient check is failing. Here is the sample code to illustrate the problem:
require 'rnn'
require 'optim'

-- Hyperparameters
local inputSize = 5
local hiddenSize = 5
local nClasses = 4
local nIndex = 10
local maxSeqLen = 20
local nSamples = 50
local nEpochs = 10

-- Creating dummy dataset
local sentences = {}
local targets = {}
for i=1,nSamples do
  local seqLen = torch.random(maxSeqLen)
  local seq = torch.Tensor(seqLen):random(nIndex)
  local target = torch.random(nClasses)
  sentences[i] = seq
  targets[i] = target
end

-- Defining model
local lookupTable = nn.LookupTable(nIndex, inputSize)
local rnn = nn.Sequential()
  :add(nn.SplitTable(1,2))
  :add(nn.Sequencer(nn.FastLSTM(inputSize, hiddenSize)))
  :add(nn.SelectTable(-1))
  :add(nn.Linear(hiddenSize, nClasses))
  :add(nn.LogSoftMax())
local criterion = nn.ClassNLLCriterion()
local params, gradParams = rnn:getParameters()

-- Training and gradient checking
for e=1,nEpochs do
  for i=1,nSamples do
    xlua.progress(i, nSamples)
    local feval = function(x)
      rnn:zeroGradParameters()
      local input = lookupTable:forward(sentences[i])
      local output = rnn:forward(input)
      local loss = criterion:forward(output, targets[i])
      local gradOutput = criterion:backward(output, targets[i])
      local gradInput = rnn:backward(input, gradOutput)
      return loss, gradParams
    end
    print('\nGradient checking, num params: ' .. params:size(1))
    local err = optim.checkgrad(feval, params)
    if err > 0.0001 then
      error('Gradient check failed. Error: ' .. err)
    else
      print('Gradient check ok')
    end
  end
end

With this code, gradient check is failing, usually after 2-3 iterations of training. Here's the example output:
 [.................... 1/50 ....................]  ETA: 0ms | Step: 0ms
Gradient checking, num params: 244
Gradient check ok
 [>................... 2/50 ....................]  ETA: 8m41s | Step: 10s858ms
Gradient checking, num params: 244
Gradient check ok
 [=>.................. 3/50 ....................]  ETA: 6m24s | Step: 8s190ms
Gradient checking, num params: 244
/home/maciek/torch/install/bin/luajit: example-rnn.lua:51: Gradient check failed. Error: 0.19101544567184
stack traceback:
	[C]: in function 'error'
	example-rnn.lua:51: in main chunk
	[C]: in function 'dofile'
	...ciek/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:145: in main chunk
	[C]: at 0x00406670

However, when I change line 17 from:
local seqLen = torch.random(maxSeqLen)
to
local seqLen = torch.random(maxSeqLen, maxSeqLen)
basically forcing sequences to have same length(maxSeqLen), gradient check is no longer failing.
Is it a bug in rnn package or am I missing something here?

Should be fixed via https://github.com/torch/nn/issues/759 once it is merged.

@mpienkosz Thank you for the detailed bug report. Even though it isn't caused by rnn, I decided to include it as a unit test in https://github.com/Element-Research/rnn/commit/1e1a0489256a361454ba651f989a40019067e31a . Just in case :)

@nicholas-leonard thank you for the response. I updated my rnn package but there still seems to be a problem. Your test seems to work as expected, but my code still fails on gradient check, this time even with sequences of the same length.
I also tried to remove Sequencer module, replacing lines 25-30:
local rnn = nn.Sequential()
  :add(nn.SplitTable(1,2))
  :add(nn.Sequencer(nn.FastLSTM(inputSize, hiddenSize)))
  :add(nn.SelectTable(-1))
  :add(nn.Linear(hiddenSize, nClasses))
  :add(nn.LogSoftMax())

with:
local rnn = nn.Sequential()
  :add(nn.SplitTable(1,2))
  :add(nn.SelectTable(-1))
  :add(nn.Linear(inputSize, nClasses))
  :add(nn.LogSoftMax())

and then gradient check passed without errors, so I guess there is some issue with Sequencer.
Could you please check it once again?

@mpienkosz Did you update the nn package : luarocks install nn. The fix just got merged.

@mpienkosz This should also help : https://github.com/torch/nn/pull/761 .

@nicholas-leonard after this last SelectTable fix my code is no longer throwing any errors and works like a charm now;) Many thanks!

@mpienkosz Yeah thanks for bringing this up!


Security review: ui2 ws endpoints

Feature Request
Desired behaviour
Can be aided by going through Swagger UI

Not really a security hole.
But /github.repo is not marked as protected when it actually is when you try it.

Also at the very top, the API is marked as 1.0.2 which is pretty out of date


Add optimizer registry

For manual addition of optimizers. Also includes the LKDN implementation of Adan as an example.

Just to update, this breaks resuming.

Just to update, this breaks resuming.

Fixed, the problem was not in the registry implementation, just that I missed the reference to the class name I changed in the Adan optimizer py.


Added documentation for deployment to Railway

Description
This PR adds documentation for deploying Juice Shop to the Railway app hosting platform using a one-click template.
Resolved or fixed issue: none
Affirmation

[x] My code follows the CONTRIBUTING.md guidelines

Hi! I just tried it out, and at some point the setup forces you to install a GitHub app, which feels a bit too "invasive" for the README-featured installation guides. Heroku doesn't need any of that, Gitpod neither (I think) but it also has its own use case for development rather than just hosting. Another problem: It's a third party template, not visible out of the box (Heroku: You pick what repo to deploy, so fully transparent) so technically you're deploying something blindly and the service needs a GitHub app - a risky combination to promote, tbh. Can you see the template somewhere public up front? Could the template file live in the Juice Shop repo instead?

This is really not transparent. There's no link to the template, no explanation of what "GitHub service" they mean (might just be the repo, but it's not explained) and also the reason for needing to install a GitHub app is not explained in the process.

This is basically the deal-breaker imho, because I don't understand (and don't get an explanation in the setup process) why this is necessary to just host some app I want to hack a bit... 😕

Hi, thanks for your quick feedback! Perhaps I should have listed the template details link instead of the one-click deployment one - would this help to understand what is being deployed? The templates themselves are hosted and deployed by Railway.
Re: GitHub access, it's a fair concern, but also something required by other continuous deployment tools. IIRC, Gitpod also requires the same. I'm not directly associated with Railway, just exploring and promoting OSS security tools and found Railway an easy way to host them. In all fairness though, that was before they discontinued their always-free plan.

Yeah, got it. To be fair, I would not even add Heroku these days any more due to the lack of a free plan since last year. They only get to be listed b/c they provided thousands of free instances for sooo many people over the years and were also very chill about the fact that this is an application to be actively attacked while running on their infrastructure.

Here's an idea: We'll put the Railway instructions after https://github.com/juice-shop/pwning-juice-shop/blob/master/docs/modules/ROOT/pages/part1/running.adoc#gitpod and I'll then remove GitPod from the main README as well. I'll then add a super-section "Other hosting providers" to the eBook to put GitPod+Railway under, and this would allow more similarly small providers to be added over time w/o flooding the README. Sounds good?


@AndroidJsonized

Just a heads up.
I meant to create something like this for a while now:
@AndroidJsonized('{ "aString" : "string" }')
class Stuff {}

that generates something like this:
public class Stuff {
    // ... getters for isDirty and mJsonObject are also present
    private boolean isDirty;
    protected JSONObject mJsonObject

    public Stuff setAString(String aString) throws JSONException
    {
        mJsonObject.put("aString", aString);
        return this; // wise to chain?
    }

    public String getAString() throws JSONException
    {
        return mJsonObject.getString("aString");
    }
}

One tiny thing, I depend on GSON to do the compile/transpile time parsing.
But none of this leaks to the actual android dependency chain.

I borrowed the idea from the original @Jsonized annotation by @svenefftinge.
The branch in question: @AndroidJsonized.
5 feb: I got the primitives and the nested cases covered.


Getting Error only while in wsl environment

Description
Hi,
I am running a program with node-redis and it works fine except when trying to run from wsl.
node-redis version: 4.6.10
ubuntu wsl version: tested 18 and 22
node versions: 16 and 20
run with node directly or pm2
When running in wsl I get this error.
TypeError: Cannot destructure property 'resolve' of '__classPrivateFieldGet(...).shift(...)' as it is undefined. at Object.onReply (/mnt/d/AAAAA-Projects/RAM-wsl/node_modules/@redis/client/dist/lib/client/commands-queue.js:62:29) at RESP2Decoder.write (/mnt/d/AAAAA-Projects/RAM-wsl/node_modules/@redis/client/dist/lib/client/RESP2/decoder.js:119:26) at RedisCommandsQueue.onReplyChunk (/mnt/d/AAAAA-Projects/RAM-wsl/node_modules/@redis/client/dist/lib/client/commands-queue.js:154:72) at RedisSocket.<anonymous> (/mnt/d/AAAAA-Projects/RAM-wsl/node_modules/@redis/client/dist/lib/client/index.js:394:84) at RedisSocket.emit (node:events:527:28) at Socket.<anonymous> (/mnt/d/AAAAA-Projects/RAM-wsl/node_modules/@redis/client/dist/lib/client/socket.js:201:42) at Socket.emit (node:events:527:28) at addChunk (node:internal/streams/readable:324:12) at readableAddChunk (node:internal/streams/readable:297:9) at Socket.Readable.push (node:internal/streams/readable:234:10)
I am using the library async-redis elsewhere and it connects without issue. The underlying node-redis version there is 3.1.2
using npm install -g redis-cli     I can connect in command line to the running redis instance.
closing the redis server gives the expected ECONNREFUSED.
I have reproduced this on multiple machines.
I can only think this has to be a bug in node-redis but it seems to only appear under wsl
Node.js Version
16.20.0 and 20.8.0
Redis Server Version
7.2.0 and 7.2.1
Node Redis Version
4.6.10
Platform
wsl, ubuntu 18 and 20
Logs
/node_modules/@redis/client/dist/lib/client/commands-queue.js:62
                const { resolve, reject } = __classPrivateFieldGet(this, _RedisCommandsQueue_waitingForReply, "f").shift();
                        ^

TypeError: Cannot destructure property 'resolve' of '__classPrivateFieldGet(...).shift(...)' as it is undefined.
    at Object.onReply (/mnt/d/AAAAA-Projects/RAM-wsl/node_modules/@redis/client/dist/lib/client/commands-queue.js:62:25)
    at RESP2Decoder.write (/mnt/d/AAAAA-Projects/RAM-wsl/node_modules/@redis/client/dist/lib/client/RESP2/decoder.js:119:26)
    at RedisCommandsQueue.onReplyChunk (/mnt/d/AAAAA-Projects/RAM-wsl/node_modules/@redis/client/dist/lib/client/commands-queue.js:154:72)
    at RedisSocket.<anonymous> (/mnt/d/AAAAA-Projects/RAM-wsl/node_modules/@redis/client/dist/lib/client/index.js:394:84)
    at RedisSocket.emit (node:events:514:28)
    at Socket.<anonymous> (/mnt/d/AAAAA-Projects/RAM-wsl/node_modules/@redis/client/dist/lib/client/socket.js:201:42)
    at Socket.emit (node:events:514:28)
    at addChunk (node:internal/streams/readable:376:12)
    at readableAddChunk (node:internal/streams/readable:349:9)
    at Readable.push (node:internal/streams/readable:286:10)

@Craigzyc probably a duplicate of #2417

Duplicate of #2417