[Bug] Incompatibility with Tweakeroo

Using tweakeroo with watson seems to break a lot of things. The visualization completely breaks for watson when the mod is installed. Also, as mentioned in maruohon/tweakeroo#197, watson breaks the chat timestamps feature for <x> y like messages, but not other messages.
Versions:
Fabric: 1.16.5 0.11.3
Fabric API: 0.32.0+
Malilib: 0.10.0-dev.21+arne.5
Watson: 1.8.3-dev.20210221.142930
Tweakeroo: 0.10.0-dev.20210309.164640
(These were the only mods installed while testing)

I already read the issue yesterday that you made on tweakeroo, i contacted the dev about it, with visualization do you just mean that the message don't look as it should or is there something else not looking correct?

The actual box outlines for the coreprotect logs don't appear anymore. For example session logs: I see them in chat and that's fine, but the boxes that are usually show up at the coords they logged on/off at are missing.

Can you send a screenshot of what it is exactly?

Imgur
As you can see, the outlines and the pink cross are only visible without tweakeroo installed.

interesting, will take a look at it later, and so will talk about it with the dev of tweakeroo about it

Is it possible to send your config files from watson and tweakeroo?

https://www.dropbox.com/s/7ll0whui9o9ef8h/config.zip?dl=1

I got the bug fixed in dev, will upload tomorrow the fix to curseforge, ill leave this issue open till i upload it and got confirmation that it worked

I talked with the dev of tweakeroo and we both agreed that Tweakeroo causes it, not sure when yet, but they will fix it, i'll keep this also updated when that gets released

I have another "symptom" to report. Team messages no longer show up when I send them. If someone else sends them I can see them, but my own don't show up. I got the error traceback as well: gist

Can you enable debug in Watson settings and send the latest.log again since it will give me more debug info about what happend there

https://gist.github.com/StarsDown64/24752098cea1309e2fb59310b756d49f

Quick update, I decided to try disabling chat highlighting and it fixed the chat issues. The mod still doesn't draw coreprotect results in the world but at least that means the chat highlighter may be the issue. I don't really know why I had it on, there's nothing in my highlight list (Maybe that's the issue?)

If you disable the time  message it should show rrsults again (will be fixed in tweakeroo sidr) and the chat issue is watson fault, ill fix that later

Is this okay?
if it goes from

-> [Test]  Test message
to
[Test]  Test message
like https://gyazo.com/f03fa65ec1dc36723d47836cd1ab1208

Personally, I'm always of the opinion that one's mod shouldn't prevent vanilla features from working. I would rather see you fix the issue than create some band-aid. Specifically for me, I've just turned off the chat highlighting since I don't need it. Now the teammsg is showing and I'm also getting timestamps for messages again. It's up to you what you want to do, but I'd want to fix the issue, not run around it.

it was more that i made a fault that it didn't start checking a character after another character was in the text, will try still to add the "->" characters

i seem to got a fix on my side, for timestamps issue that is a tweakeroo related issue

@StarsDown64 I updated on my side what i could fix, fixed, if masa fixes the chat issue on tweakeroo side, it would work again how you want it

The teammsg is fixed, but results are still not being drawn in the world. At this point I'm just going to stop using tweakeroo because I have other mods I can use for the same effect. I think I'm going to stop participating in this thread because I've given you all the information I have. You should probably fix the issue of results not being drawn to the screen but I suppose you want have me nagging you anymore lol. Sent you a friend request on discord if you want to keep working or maybe work live some.

Issue fixed, this was caused by advanced chat.

This was not caused by advanced chat. Advanced chat just happened to have the same issue. This is still (last time I checked) a problem with Tweakeroo.


Incompatibility with Better Combat mod

latest.log
crash-2024-01-27_22.46.48-client.txt

Duplicate #419


Data conversion problem

Some data don't seem to be converted correctly.

Can you be more specific?

closing (of old age)


v1.10 backports 2022-01-03

#18305 -- daemon: Fix multi-dev XDP check (@brb)

PRs skipped due conflicts:

#18279 -- docs: Replace 'micro version' with 'patch version' (@pchaigno)

Once this PR is merged, you can update the PR labels via:
$ for pr in 18305; do contrib/backporting/set-labels.py $pr done 1.10; done

or with
$ make add-label branch=v1.10 issues=18305

/test-backport-1.10

The failure in L4LB XDP test is expected and will be fixed by the backport of https://github.com/cilium/cilium/pull/18370.


Add storage for external trajectory

Codecov Report

Merging #43 (2ba71dc) into master (245fb8d) will decrease coverage by 0.15%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master      #43      +/-   ##
==========================================
- Coverage   72.25%   72.10%   -0.16%
==========================================
  Files          41       40       -1
  Lines        2995     3000       +5
==========================================
- Hits         2164     2163       -1
- Misses        831      837       +6

Impacted Files
Coverage Δ

src/optional_components/storage.jl
40.00% <0.00%> (-26.67%)
:arrow_down:

src/ConstrainedDynamics.jl

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 245fb8d...2ba71dc. Read the comment docs.

Codecov Report

Merging #43 (2ba71dc) into master (245fb8d) will decrease coverage by 0.15%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master      #43      +/-   ##
==========================================
- Coverage   72.25%   72.10%   -0.16%
==========================================
  Files          41       40       -1
  Lines        2995     3000       +5
==========================================
- Hits         2164     2163       -1
- Misses        831      837       +6

Impacted Files
Coverage Δ

src/optional_components/storage.jl
40.00% <0.00%> (-26.67%)
:arrow_down:

src/ConstrainedDynamics.jl

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 245fb8d...2ba71dc. Read the comment docs.


MINOR: Update dropwizard metrics to <IP_ADDRESS>

ZooKeeper was updated to v3.6.3 via https://github.com/apache/kafka/pull/10918.  However, it was noted in that PR discussion (https://github.com/apache/kafka/pull/10918#discussion_r663412933) that the dropwizard metrics-core library has since been updated from v3.2.5 to v<IP_ADDRESS> for 3.7.x releases (via https://github.com/apache/zookeeper/commit/13fe0d0ffb9fd2c379b9b430aaaf9ee75acfceba).  Since there were no code changes associated with this library version bump in ZooKeeper, and since we wish to avoid potential CVEs if possible, we can consider updating to this newer version now assuming that system tests pass. I will attach system test results when they complete.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

================================================================================
SESSION REPORT (ALL TESTS)
ducktape version: 0.8.1
session_id:       2021-07-06--001
run time:         177 minutes 4.952 seconds
tests run:        876
passed:           667
failed:           12
ignored:          197
================================================================================

https://confluent-kafka-branch-builder-system-test-results.s3-us-west-2.amazonaws.com/2021-07-06--001.1625614045--rondagostino--minor_dropwizard_metrics_<IP_ADDRESS>--362a8b250/report.html
Failures appear unrelated.

Thanks for the follow-up @rondagostino.


Problem after upgrade to Angular 12 - reached heap limit allocation failed - JavaScript heap out of memory

🐞 Bug report
Command (mark with an x)

[ ] new
[x] build
[ ] serve
[ ] test
[ ] e2e
[ ] generate
[ ] add
[ ] update
[ ] lint
[ ] extract-i18n
[ ] run
[ ] config
[ ] help
[ ] version
[ ] doc

Is this a regression?
Yes
Description
After upgrade to Angular 12 I have problem!
When run ng build afd-ui --configuration production:
⠦ Generating browser application bundles (phase: sealing)...
<--- Last few GCs --->

[22952:0x5273b40]   164707 ms: Mark-sweep (reduce) 2029.6 (2082.5) -> 2029.0 (2083.0) MB, 3528.2 / 0.1 ms  (average mu = 0.106, current mu = 0.012) allocation failure scavenge might not succeed
[22952:0x5273b40]   168431 ms: Mark-sweep (reduce) 2030.0 (2083.0) -> 2029.8 (2083.8) MB, 3716.5 / 0.2 ms  (average mu = 0.058, current mu = 0.002) allocation failure scavenge might not succeed

<--- JS stacktrace --->

FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory

Writing Node.js report to file: ./report.json
Node.js report completed
 1: 0xb200e0 node::Abort() [ng build afd-ui --configuration production]
 2: 0xa3c157 node::FatalError(char const*, char const*) [ng build afd-ui --configuration production]
 3: 0xd083ae v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [ng build afd-ui --configuration production]
 4: 0xd08727 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [ng build afd-ui --configuration production]
 5: 0xee9785  [ng build afd-ui --configuration production]
 6: 0xef84b5 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [ng build afd-ui --configuration production]
 7: 0xefb5ac v8::internal::Heap::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [ng build afd-ui --configuration production]
 8: 0xec000c v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationType, v8::internal::AllocationOrigin) [ng build afd-ui --configuration production]
 9: 0x123695b v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [ng build afd-ui --configuration production]
10: 0x1640819  [ng build afd-ui --configuration production]
error Command failed with signal "SIGABRT".

🔬 Minimal Reproduction
report.json
{
  "header": {
    "reportVersion": 2,
    "event": "Allocation failed - JavaScript heap out of memory",
    "trigger": "FatalError",
    "filename": "./report.json",
    "dumpEventTime": "2021-07-13T15:33:37Z",
    "dumpEventTimeStamp": "1626179617583",
    "processId": 22952,
    "threadId": null,
    "cwd": "/home/jenkins/workspace/afd-ui (deployments)/afd-ui (deploy-prod)",
    "commandLine": [
      "/usr/bin/node",
      "--report-uncaught-exception",
      "--report-on-fatalerror",
      "--report-on-signal",
      "--report-signal=SIGUSR2",
      "--report-filename=./report.json",
      "--report-directory=./",
      "./node_modules/@angular/cli/bin/ng",
      "build",
      "afd-ui",
      "--configuration",
      "production"
    ],
    "nodejsVersion": "v16.4.1",
    "glibcVersionRuntime": "2.17",
    "glibcVersionCompiler": "2.17",
    "wordSize": 64,
    "arch": "x64",
    "platform": "linux",
    "componentVersions": {
      "node": "16.4.1",
      "v8": "9.1.269.36-node.14",
      "uv": "1.41.0",
      "zlib": "1.2.11",
      "brotli": "1.0.9",
      "ares": "1.17.1",
      "modules": "93",
      "nghttp2": "1.42.0",
      "napi": "8",
      "llhttp": "6.0.2",
      "openssl": "1.1.1k+quic",
      "cldr": "39.0",
      "icu": "69.1",
      "tz": "2021a",
      "unicode": "13.0",
      "ngtcp2": "0.1.0-DEV",
      "nghttp3": "0.1.0-DEV"
    },
    "release": {
      "name": "node",
      "headersUrl": "https://nodejs.org/download/release/v16.4.1/node-v16.4.1-headers.tar.gz",
      "sourceUrl": "https://nodejs.org/download/release/v16.4.1/node-v16.4.1.tar.gz"
    },
    "osName": "Linux",
    "osRelease": "3.10.0-862.9.1.el7.x86_64",
    "osVersion": "#1 SMP Wed Jun 27 04:30:39 EDT 2018",
    "osMachine": "x86_64",
    "cpus": [
      {
        "model": "Intel(R) Xeon(R) Platinum 8268 CPU @ 2.90GHz",
        "speed": 2893,
        "user": 137124100,
        "nice": 17100,
        "sys": 25943560,
        "idle":<PHONE_NUMBER>0,
        "irq": 0
      },
      {
        "model": "Intel(R) Xeon(R) Platinum 8268 CPU @ 2.90GHz",
        "speed": 2893,
        "user": 153947780,
        "nice": 18710,
        "sys": 33241860,
        "idle":<PHONE_NUMBER>0,
        "irq": 0
      },
      {
        "model": "Intel(R) Xeon(R) Platinum 8268 CPU @ 2.90GHz",
        "speed": 2893,
        "user": 156220870,
        "nice": 15590,
        "sys": 40419610,
        "idle":<PHONE_NUMBER>0,
        "irq": 0
      },
      {
        "model": "Intel(R) Xeon(R) Platinum 8268 CPU @ 2.90GHz",
        "speed": 2893,
        "user": 145164180,
        "nice": 19430,
        "sys": 32168820,
        "idle":<PHONE_NUMBER>0,
        "irq": 0
      }
    ],
    "networkInterfaces": [
      {
        "name": "lo",
        "internal": true,
        "mac": "00:00:00:00:00:00",
        "address": "<IP_ADDRESS>",
        "netmask": "<IP_ADDRESS>",
        "family": "IPv4"
      },
      {
        "name": "eth0",
        "internal": false,
        "mac": "00:50:56:96:a1:7b",
        "address": "<IP_ADDRESS>",
        "netmask": "<IP_ADDRESS>",
        "family": "IPv4"
      }
    ],
    "host": "ds-pr-afd-jenkins-agent-prod01.tcsbank.ru"
  },
  "javascriptStack": {
    "message": "No stack.",
    "stack": [
      "Unavailable."
    ],
    "errorProperties": {
    }
  },
  "javascriptHeap": {
    "totalMemory":<PHONE_NUMBER>,
    "totalCommittedMemory":<PHONE_NUMBER>,
    "usedMemory":<PHONE_NUMBER>,
    "availableMemory": 15161304,
    "memoryLimit":<PHONE_NUMBER>,
    "heapSpaces": {
      "read_only_space": {
        "memorySize": 176128,
        "committedMemory": 176128,
        "capacity": 168544,
        "used": 168544,
        "available": 0
      },
      "old_space": {
        "memorySize":<PHONE_NUMBER>,
        "committedMemory":<PHONE_NUMBER>,
        "capacity":<PHONE_NUMBER>,
        "used":<PHONE_NUMBER>,
        "available": 233240
      },
      "code_space": {
        "memorySize": 7184384,
        "committedMemory": 6965344,
        "capacity": 6540128,
        "used": 6490592,
        "available": 49536
      },
      "map_space": {
        "memorySize": 14163968,
        "committedMemory": 13966112,
        "capacity": 4940424,
        "used": 4940424,
        "available": 0
      },
      "large_object_space": {
        "memorySize": 189247488,
        "committedMemory": 189247488,
        "capacity": 187366192,
        "used": 187366192,
        "available": 0
      },
      "code_large_object_space": {
        "memorySize": 581632,
        "committedMemory": 581632,
        "capacity": 542048,
        "used": 542048,
        "available": 0
      },
      "new_large_object_space": {
        "memorySize": 0,
        "committedMemory": 0,
        "capacity": 1031072,
        "used": 0,
        "available": 1031072
      },
      "new_space": {
        "memorySize": 1048576,
        "committedMemory": 17504,
        "capacity": 1031072,
        "used": 0,
        "available": 1031072
      }
    }
  },
  "nativeStack": [
    {
      "pc": "0x0000000000ba36f4",
      "symbol": "report::TriggerNodeReport(v8::Isolate*, node::Environment*, char const*, char const*, std::string const&, v8::Local<v8::Value>) [ng build afd-ui --configuration production]"
    },
    {
      "pc": "0x0000000000a3c110",
      "symbol": "node::OnFatalError(char const*, char const*) [ng build afd-ui --configuration production]"
    },
    {
      "pc": "0x0000000000d083ae",
      "symbol": "v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [ng build afd-ui --configuration production]"
    },
    {
      "pc": "0x0000000000d08727",
      "symbol": "v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [ng build afd-ui --configuration production]"
    },
    {
      "pc": "0x0000000000ee9785",
      "symbol": " [ng build afd-ui --configuration production]"
    },
    {
      "pc": "0x0000000000ef84b5",
      "symbol": "v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [ng build afd-ui --configuration production]"
    },
    {
      "pc": "0x0000000000efb5ac",
      "symbol": "v8::internal::Heap::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [ng build afd-ui --configuration production]"
    },
    {
      "pc": "0x0000000000ec000c",
      "symbol": "v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationType, v8::internal::AllocationOrigin) [ng build afd-ui --configuration production]"
    },
    {
      "pc": "0x000000000123695b",
      "symbol": "v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [ng build afd-ui --configuration production]"
    },
    {
      "pc": "0x0000000001640819",
      "symbol": " [ng build afd-ui --configuration production]"
    }
  ],
  "resourceUsage": {
    "userCpuSeconds": 296.744,
    "kernelCpuSeconds": 9.1827,
    "cpuConsumptionPercent": 182.099,
    "maxRss":<PHONE_NUMBER>,
    "pageFaults": {
      "IORequired": 0,
      "IONotRequired": 1591298
    },
    "fsActivity": {
      "reads": 0,
      "writes": 0
    }
  },
  "uvthreadResourceUsage": {
    "userCpuSeconds": 139.996,
    "kernelCpuSeconds": 3.63459,
    "cpuConsumptionPercent": 85.4944,
    "fsActivity": {
      "reads": 0,
      "writes": 0
    }
  },
  "libuv": [
  ],
  "workers": [
  ],
  "environmentVariables": {
    "npm_package_engines_npm": "Please use yarn instead of NPM to install dependencies",
    "npm_package_devDependencies__angular_ru_logger": "15.303.0",
    "npm_package_devDependencies__angular_ru_eslint_config": "15.304.5",
    "npm_package_commitlint_rules_scope_enum_1": "always",
    "npm_package_commitlint_rules_scope_enum_0": "2",
    "XDG_SESSION_ID": "510422",
    "npm_package_devDependencies__angular_cdk": "12.1.1",
    "HOSTNAME": "ds-pr-afd-jenkins-agent-prod01.tcsbank.ru",
    "npm_package_devDependencies__nrwl_tao": "12.5.8",
    "NODE": "/usr/bin/node",
    "INIT_CWD": "/home/jenkins/workspace/afd-ui (deployments)/afd-ui (deploy-prod)",
    "M2": "/opt/maven/bin",
    "npm_package_devDependencies_typescript": "4.2.4",
    "npm_package_devDependencies_ngx_markdown": "12.0.1",
    "npm_package_devDependencies__angular_ru_tooltip": "15.303.0",
    "npm_package_devDependencies__angular_ru_ng_excel_builder": "15.303.0",
    "npm_config_version_git_tag": "true",
    "SHELL": "/bin/bash",
    "TERM": "xterm-256color",
    "npm_package_scripts_package_lint": "yarn package:sort --check",
    "HISTSIZE": "1000",
    "SSH_CLIENT": "<IP_ADDRESS> 58656 22",
    "npm_package_devDependencies__angular_language_service": "12.1.1",
    "npm_package_devDependencies__angular_ru_ng_table_builder": "15.303.0",
    "npm_package_prettier": "@angular-ru/prettier-config",
    "npm_package_scripts_lint": "nx lint",
    "npm_config_init_license": "MIT",
    "SSH_TTY": "/dev/pts/0",
    "npm_package_private": "true",
    "npm_config_registry": "https://registry.tcsbank.ru/repository/npm-all/",
    "npm_package_readmeFilename": "README.md",
    "npm_package_commitlint_rules_scope_enum_2_20": "pages-dispute-operation",
    "npm_config___registry": "https://registry.tcsbank.ru/repository/npm-all/",
    "USER": "afd-sys",
    "npm_package_description": "### Get started",
    "npm_package_devDependencies_core_js": "3.15.2",
    "npm_package_devDependencies__nrwl_eslint_plugin_nx": "12.5.8",
    "npm_package_commitlint_rules_scope_enum_2_21": "pages-email-issuer",
    "npm_config___network_timeout": "600000000",
    "LS_COLORS": "rs=0:di=38;5;27:ln=38;5;51:mh=44;38;5;15:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=05;48;5;232;38;5;15:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;34:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.Z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.bz2=38;5;9:*.bz=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.alz=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.cab=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.webm=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.axv=38;5;13:*.anx=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.axa=38;5;45:*.oga=38;5;45:*.spx=38;5;45:*.xspf=38;5;45:",
    "npm_package_lint_staged_package_json_0": "yarn prettier --write",
    "npm_package_commitlint_rules_scope_enum_2_22": "pages-fraud-mail",
    "npm_package_devDependencies__angular_devkit_build_angular": "12.1.1",
    "npm_package_lint_staged_package_json_1": "yarn sort-package-json",
    "npm_package_commitlint_rules_scope_enum_2_23": "pages-ipsilon-authorization-profile",
    "npm_package_commitlint_rules_scope_enum_2_24": "pages-jobs",
    "npm_package_scripts_pretty_format": "yarn prettier \"**/*.{ts,html,css,scss,md,js,json}\"",
    "npm_package_scripts_dep_graph": "nx dep-graph",
    "npm_package_devDependencies__nrwl_angular": "12.5.8",
    "npm_package_devDependencies__angular_common": "12.1.1",
    "npm_package_commitlint_rules_scope_enum_2_25": "pages-masterdata",
    "npm_package_devDependencies_date_fns": "2.22.1",
    "npm_package_devDependencies__angular_ru_flex_layout": "15.303.0",
    "npm_package_commitlint_rules_scope_enum_2_26": "pages-roles-ui-admin",
    "npm_package_scripts_format_check": "yarn package:lint && yarn pretty:lint",
    "npm_package_scripts_ci_pipelines": "cross-env CI=true run-p format:check lint test \"nx build afd-ui --configuration test\"",
    "npm_package_devDependencies_rxjs": "6.6.7",
    "npm_package_commitlint_rules_scope_enum_2_27": "pages-user-account",
    "npm_execpath": "/usr/share/yarn/bin/yarn.js",
    "npm_package_devDependencies_tslib": "2.3.0",
    "npm_package_commitlint_rules_scope_enum_2_28": "pages-voice-in-block",
    "npm_package_devDependencies__angular_ru_websocket": "15.303.0",
    "npm_package_commitlint_rules_scope_enum_2_29": "pages-monitoring-assistant",
    "npm_package_lint_staged___ts_0": "yarn prettier --write",
    "npm_package_lint_staged___ts_1": "eslint --fix --ignore-path=.eslintignore",
    "npm_package_devDependencies_zone_js": "0.11.4",
    "npm_package_devDependencies__angular_platform_browser_dynamic": "12.1.1",
    "npm_package_devDependencies__angular_ru_http": "15.303.0",
    "PATH": "/tmp/yarn--1626179449129-0.47859662669588343:/home/jenkins/workspace/afd-ui (deployments)/afd-ui (deploy-prod)/node_modules/.bin:/home/afd-sys/.config/yarn/link/node_modules/.bin:/home/afd-sys/.yarn/bin:/usr/libexec/lib/node_modules/npm/bin/node-gyp-bin:/usr/lib/node_modules/npm/bin/node-gyp-bin:/usr/bin/node_modules/npm/bin/node-gyp-bin:/opt/maven/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin:/home/afd-sys/.local/bin:/home/afd-sys/bin",
    "MAIL": "/var/spool/mail/afd-sys",
    "npm_config_argv": "{\"remain\":[],\"cooked\":[\"run\",\"build\"],\"original\":[\"build\"]}",
    "npm_package_devDependencies__angular_compiler": "12.1.1",
    "npm_package_scripts_postinstall": "yarn ngcc --async && husky install",
    "npm_package_devDependencies__angular_platform_browser": "12.1.1",
    "npm_package_devDependencies__angular_ru_prettier_config": "15.304.1",
    "_": "/tmp/yarn--1626179449129-0.47859662669588343/node",
    "npm_package_devDependencies__ngxs_labs_data": "6.2.0",
    "npm_config_https_proxy": "http://mwg.gtm.tcsbank.ru:8080/",
    "npm_package_devDependencies__angular_ru_build_tools": "15.304.4",
    "npm_package_commitlint_rules_scope_enum_2_19": "pages-dispute-iss",
    "npm_package_commitlint_rules_scope_enum_2_2": "core-authentication",
    "PWD": "/home/jenkins/workspace/afd-ui (deployments)/afd-ui (deploy-prod)",
    "npm_package_devDependencies__angular_material": "12.1.1",
    "npm_package_commitlint_rules_scope_enum_2_18": "pages-dispute-acq",
    "npm_package_commitlint_rules_scope_enum_2_3": "core-common",
    "npm_config___strict_ssl": "",
    "JAVA_HOME": "/usr/java/jdk1.8.0_181-amd64",
    "npm_package_commitlint_rules_scope_enum_2_0": "app-afd-ui",
    "npm_lifecycle_event": "build",
    "npm_package_commitlint_rules_scope_enum_2_1": "common",
    "LANG": "en_US.UTF-8",
    "npm_package_devDependencies_class_transformer": "0.4.0",
    "npm_package_commitlint_rules_scope_enum_2_6": "core-devkit",
    "npm_package_name": "afd-ui",
    "npm_package_devDependencies__ngx_translate_core": "13.0.0",
    "npm_package_commitlint_rules_scope_enum_2_7": "core-iris",
    "npm_package_devDependencies_ngx_mask": "12.0.0",
    "npm_package_commitlint_rules_scope_enum_2_4": "core-core",
    "npm_package_scripts_start": "yarn nx serve --open",
    "npm_package_scripts_build": "node --report-uncaught-exception --report-on-fatalerror --report-on-signal --report-signal=SIGUSR2 --report-filename=./report.json --report-directory=./ ./node_modules/@angular/cli/bin/ng build afd-ui --configuration production",
    "npm_config_version_commit_hooks": "true",
    "npm_package_devDependencies_html_to_image": "1.6.2",
    "npm_package_devDependencies__jscutlery_semver": "2.4.0",
    "npm_package_commitlint_rules_scope_enum_2_5": "core-dashboard-widgets",
    "npm_package_devDependencies__nrwl_workspace": "12.5.8",
    "npm_package_devDependencies__angular_cli": "12.1.1",
    "npm_package_devDependencies__angular_ru_jest_utils": "15.304.1",
    "npm_package_commitlint_rules_scope_enum_2_11": "core-ui-settings",
    "npm_config_bin_links": "true",
    "npm_package_engines_node": ">=13.0.0",
    "npm_package_devDependencies__angular_ru_tsconfig": "15.303.0",
    "npm_package_commitlint_rules_scope_enum_2_10": "core-states",
    "npm_package_commitlint_rules_scope_enum_2_13": "pages-acquiring",
    "npm_package_commitlint_rules_scope_enum_2_8": "core-notification",
    "HISTCONTROL": "ignoredups",
    "npm_package_devDependencies__angular_forms": "12.1.1",
    "npm_package_devDependencies__angular_core": "12.1.1",
    "npm_package_commitlint_rules_scope_enum_2_12": "core-utils",
    "npm_package_commitlint_rules_scope_enum_2_9": "core-shared",
    "npm_package_scripts_ng": "ng",
    "npm_package_version": "12.0.0",
    "npm_package_commitlint_rules_scope_enum_2_15": "pages-business-properties",
    "HOME": "/home/afd-sys",
    "SHLVL": "2",
    "M2_HOME": "/opt/maven",
    "npm_package_devDependencies__angular_ru_commitlint_config": "15.301.0",
    "npm_package_commitlint_rules_scope_enum_2_14": "pages-atm-module",
    "npm_package_devDependencies__angular_compiler_cli": "12.1.1",
    "npm_package_commitlint_rules_scope_enum_2_17": "pages-defined-risk-list",
    "npm_package_scripts_test": "yarn nx affected:test",
    "npm_package_devDependencies__angular_animations": "12.1.1",
    "npm_package_commitlint_rules_scope_enum_2_16": "pages-customers",
    "npm_config_save_prefix": "^",
    "npm_config_strict_ssl": "true",
    "npm_config_ca": "",
    "npm_package_browserslist_3": "> 1%",
    "npm_package_lint_staged____html_css_scss_md_js_json__0": "yarn prettier --write",
    "npm_config_version_git_message": "v%s",
    "npm_package_browserslist_2": "not IE 11",
    "npm_package_scripts_update": "nx migrate latest",
    "npm_package_devDependencies_js_big_decimal": "1.3.4",
    "npm_package_browserslist_1": "Firefox >= 61",
    "npm_package_commitlint_extends_0": "@angular-ru/commitlint-config",
    "npm_package_scripts_pretty_lint": "yarn pretty:format --check",
    "LOGNAME": "afd-sys",
    "YARN_WRAP_OUTPUT": "false",
    "npm_package_browserslist_0": "Chrome >= 61",
    "npm_package_scripts_format": "yarn package:sort && yarn pretty:format --write",
    "npm_lifecycle_script": "node --report-uncaught-exception --report-on-fatalerror --report-on-signal --report-signal=SIGUSR2 --report-filename=./report.json --report-directory=./ ./node_modules/@angular/cli/bin/ng build afd-ui --configuration production",
    "npm_package_devDependencies__angular_ru_stream": "15.303.0",
    "npm_package_scripts_nx": "nx",
    "SSH_CONNECTION": "<IP_ADDRESS> 58656 <IP_ADDRESS> 22",
    "npm_package_devDependencies__angular_router": "12.1.1",
    "npm_package_scripts_package_sort": "yarn sort-package-json \"package.json\"",
    "npm_config_proxy": "http://mwg.gtm.tcsbank.ru:8080/",
    "LESSOPEN": "||/usr/bin/lesspipe.sh %s",
    "npm_package_devDependencies__angular_cdk_experimental": "12.1.1",
    "npm_package_devDependencies__angular_ru_common": "15.303.0",
    "npm_config___ignore_engines": "true",
    "npm_config_version_git_sign": "",
    "npm_config_ignore_scripts": "",
    "npm_config_user_agent": "yarn/1.17.3 npm/? node/v16.4.1 linux x64",
    "XDG_RUNTIME_DIR": "/run/user/831",
    "npm_package_engines_yarn": ">=1.22.4",
    "npm_package_devDependencies__nrwl_linter": "12.5.8",
    "npm_package_devDependencies__ngneat_until_destroy": "8.1.1",
    "npm_config_init_version": "1.0.0",
    "npm_config_ignore_optional": "",
    "npm_package_devDependencies__nrwl_cli": "12.5.8",
    "npm_package_devDependencies__ngxs_logger_plugin": "3.7.2",
    "npm_package_devDependencies__ngx_translate_http_loader": "6.0.0",
    "npm_node_execpath": "/usr/bin/node",
    "npm_package_devDependencies__nrwl_jest": "12.5.8",
    "npm_package_devDependencies__ngxs_store": "3.7.2",
    "npm_config_version_tag_prefix": "v",
    "BROWSERSLIST_IGNORE_OLD_DATA": "1",
    "WEBPACK_DEV_SERVER": "true"
  },
  "userLimits": {
    "core_file_size_blocks": {
      "soft": 0,
      "hard": "unlimited"
    },
    "data_seg_size_kbytes": {
      "soft": "unlimited",
      "hard": "unlimited"
    },
    "file_size_blocks": {
      "soft": "unlimited",
      "hard": "unlimited"
    },
    "max_locked_memory_bytes": {
      "soft": 65536,
      "hard": 65536
    },
    "max_memory_size_kbytes": {
      "soft": "unlimited",
      "hard": "unlimited"
    },
    "open_files": {
      "soft": 4096,
      "hard": 4096
    },
    "stack_size_bytes": {
      "soft": 8388608,
      "hard": "unlimited"
    },
    "cpu_time_seconds": {
      "soft": "unlimited",
      "hard": "unlimited"
    },
    "max_user_processes": {
      "soft": 4096,
      "hard": 31194
    },
    "virtual_memory_kbytes": {
      "soft": "unlimited",
      "hard": "unlimited"
    }
  },
  "sharedObjects": [
    "/lib64/libdl.so.2",
    "/lib64/libstdc++.so.6",
    "/lib64/libm.so.6",
    "/lib64/libgcc_s.so.1",
    "/lib64/libpthread.so.0",
    "/lib64/libc.so.6",
    "/lib64/ld-linux-x86-64.so.2"
  ]
}

🔥 Exception or Error

see description

🌍 Your Environment

last Angular 12, Nx 12

Please share the output of ng version and memory heap snapshots from version 11 and version 12.

node --inspect-brk<EMAIL_ADDRESS>build --configuration production
Open Chrome and type chrome://inspect in the address bar
Click on the inspect button from one of your applications in the Remote Target section.
Go to Chrome DevTools > Memory
Take a heap snapshot
Perform the action that causes OOM

I tried, but when take snapshot I have

I tried to take such a snapshot
https://drive.google.com/file/d/1TKLX0ZAEGfjmoNg_LIVmP4C1pSbP01fj/view?usp=sharing

v12

snapshot: https://drive.google.com/file/d/14syH_w8SBuYeZCXeRE9zu_MXFsRmvN2S/view?usp=sharing
v11

snapshot: https://drive.google.com/file/d/1cQxm-5hjsWuaLk-NnGsmzRzDPJAEbDmu/view?usp=sharing

@splincode, please also provide the output of ng v. Thanks

I suspected this is related to https://github.com/webpack/webpack/issues/13550 and is the result of terser-webpack-plugin, which switched from forked processes to workers. Therefore, increase in memory usage in the main process is expected when using worker threads. This is because unlike forked processes worker thread are using same process. That being said, overall the memory consumption should be lower because there is no overhead from the extra forked processes. In which case you can increase the Node.JS process memory limit by using the max_old_space_size Node option.
{
  "scripts": {
    "ng": "node --max_old_space_size=4096 ./node_modules/.bin/ng"
  }
}

In the upcoming version 12.2, we removed we did several improvements to improve performance, one of which was to use esbuild to minify JS and CSS. Can you the snapshot version and see if this improves anything in your case?

I need install<EMAIL_ADDRESS>

I need install<EMAIL_ADDRESS>
No, it hasn't been released on NPM yet. You need to install the snapshot version as described here https://github.com/angular/angular-devkit-build-angular-builds or wait for it to be available on NPM which should happen later on today and run ng update @angular/cli --next.

okey, I will wait

This seems to be a very common issue lately.
I've found many issues which describe similar problems. I'm also struggling the whole day with that problem.
Even with max_old_space_size set to 8GB it crashed with OOM error for me.
I've now tried the snapshot version by using the command recommended in that repository and it seems to have fixed it!
While the build always failed before, it does compile successfully now even without using max_old_space_size!

@splincode 12.2.0-next.2 has been released. Can you please try to update using ng update @angular/cli —-next.
@WolfspiritM, glad to hear that the snapshot fixed your issue.

Not working even with this snapshot for us.
node --max-old-space-size=8192 ./node_modules/@angular/cli/bin/ng build --configuration production @sym-ui/sedr
"BuilderProgressSchema" schema is using the keyword "id" which its support is deprecated. Use "$id" for schema ID.
Building Angular Package

Building entry point '@sym-ui/sedr'
✖ Compiling with Angular in legacy View Engine compilation mode.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>build:lib:prod: node --max-old-space-size=8192 ./node_modules/@angular/cli/bin/ng build --configuration production @sym-ui/sedr
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build:lib:prod script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!      C:\Users\rg735009\AppData\Roaming\npm-cache_logs\2021-07-15T14_56_40_825Z-debug.log

@rajjaiswalsaumya please add memory snapshot

@rajjaiswalsaumya, it appears that your issue is related to library builds which is not related to this issue.

It results from sourcemap generation (scripts: true)

I use this option with npm. It will be fix your problem.
NG_PERSISTENT_BUILD_CACHE=1

@splincode, were you able to test out the prerelease?

@alan-agius4 not fixed
ng v

     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/

Angular CLI: 12.1.1
Node: 16.3.0 (Unsupported)
Package Manager: yarn 1.22.10
OS: darwin x64

Angular: 12.1.1
... animations, cdk, cdk-experimental, cli, common, compiler
... compiler-cli, core, forms, language-service, material
... platform-browser, platform-browser-dynamic, router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1102.14
@angular-devkit/build-angular   12.2.0-next.2
@angular-devkit/core            11.2.14
@angular-devkit/schematics      12.1.1
@schematics/angular             12.1.1
rxjs                            6.6.7
typescript                      4.2.4

Warning: The current version of Node (16.3.0) is not supported by Angular.

To an extend, increase of memory usage in the main process is expected, and this doesn't indicate a problem by-itself or a leak. As an application grows you may need need to increase the default Node.JS process memory limit. Especially now that tools move towards using Node.JS modern worker_threads API instead of forked processes which is possible due to Node.JS dropping support for version 8.
Forked processes which were used in version 11 caused an overall increase in memory usage but it was "transperent" to the users in many case because they have their own memory allocation, while worker_threads use the memory location of the parent process. Overall though worker_threads should use less memory.
Unfortunately, there is no easy way to get the real memory usage when using forked processes (At least I don't know of any).
You can try a couple of things though;

Try to monitor your activity monitor for node processes during the build.
Try to use a tool to get the combined memory usage example https://github.com/jhclark/memusg or https://github.com/gsauthof/cgmemtime

Be sure that before each run, you bust the cache, as otherwise the results will be skewed.
rm -rf node_modules/.cache

In addition to the above, Webpack 5 does use slightly more memory compared to Webpack 4.

Hey guys,
Today I have been fighting OOM issues when upgrading to Angular 12. At some point I noticed with optimization=false and buildOptimizer=false, build went through. I started to narrow the settings down, and I ended up with settings like this:
             "optimization": {
                "scripts": true,
                "styles": {
                  "minify": true,
                  "inlineCritical": false
                },
                "fonts": false
              },
              "outputHashing": "all",
              "sourceMap": false,
              "aot": true,
              "namedChunks": true,
              "extractLicenses": false,
              "vendorChunk": false,
              "buildOptimizer": true,

They key option being "inlineCritical":false. I do still have max-old-space-size set to 8GB (project is quite large), but at least my build goes through.

Hi :
My problem https://github.com/angular/angular-cli/issues/21381 is also the same, occasionally there will be JavaScript heap out of memory, just like his situation

I need install<EMAIL_ADDRESS>
No, it hasn't been released on NPM yet. You need to install the snapshot version as described here https://github.com/angular/angular-devkit-build-angular-builds or wait for it to be available on NPM which should happen later on today and run ng update @angular/cli --next.

Memory issues with the latest snapshot: 12.3.0-next.0
⠙ Generating browser application bundles (phase: sealing)...events.js:353
      throw er; // Unhandled 'error' event
      ^

Error [ERR_WORKER_OUT_OF_MEMORY]: Worker terminated due to reaching memory limit: JS heap out of memory
    at Worker.[kOnExit] (internal/worker.js:247:26)
    at Worker.<computed>.onexit (internal/worker.js:177:20)
Emitted 'error' event on Worker instance at:
    at Worker.[kOnExit] (internal/worker.js:247:12)
    at Worker.<computed>.onexit (internal/worker.js:177:20) {
  code: 'ERR_WORKER_OUT_OF_MEMORY'
}
error Command failed with exit code 1.

My personal Findings, that if I remove CSS (sass) compilation. then it seems to pass build:
this is my "styles" config:
            "styles": [
              "src/styles.scss",
<EMAIL_ADDRESS>              { "input": "src/styles-app.scss", "bundleName": "styles-app" },
              { "inject": false, "input": "src/styles-kic.scss" },
              { "inject": false, "input": "src/styles-whirlpool.scss" },
              { "inject": false, "input": "src/styles-raleigh.scss" }
            ],

i'm using Angular MATERIAL and Angular BOOTSTRAP style imports, I assume something is tripping up with so many CSS compiles that include such expansive IMPORTS.

@splincode, if have you been able to check the “true” memory usage in version 11, as per https://github.com/angular/angular-cli/issues/21338#issuecomment-882380442

Please share the output of ng version and memory heap snapshots from version 11 and version 12.

node --inspect-brk<EMAIL_ADDRESS>build --configuration production
Open Chrome and type chrome://inspect in the address bar
Click on the inspect button from one of your applications in the Remote Target section.
Go to Chrome DevTools > Memory
Take a heap snapshot
Perform the action that causes OOM

The OOM is caused in compilation, so i don't think this method will prove anything useful?

@sscholle, Google Chrome can be used to take Node.JS memory and profiler snapshots.

I FOUND THE PROBLEM!!!

My Node.js version was 32Bit. Causing my memory limitations.

Steps to Solve:

Uninstall Node.js
Download the LTS 64bit version.
Install as normal
check 'ng version'

$ ng version

     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/

Angular CLI: 12.1.3
Node: 14.17.4
Package Manager: yarn 1.22.10
OS: win32 x64

Angular: 12.1.3
... animations, cdk, cli, common, compiler, compiler-cli, core
... forms, language-service, localize, material
... platform-browser, platform-browser-dynamic, platform-server
... router, service-worker

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1201.3
@angular-devkit/build-angular   12.1.3
@angular-devkit/core            12.1.3
@angular-devkit/schematics      12.1.3
@schematics/angular             12.1.3
rxjs                            6.6.6
typescript                      4.3.5

Note: that when i was having the issue the 'OS' field indicated: OS: win32 ia32 - which means the Node.js version was using 32bit insrtuction architecture which as we all know is memory limited!


Remember last group-tab selection between pages

Is your feature request related to a problem? Please describe.
I'd like the group-tab selection to persist between different pages. For example, consider a book containing code snippets in multiple languages. Users might like to select a particular language to reference throughout the book, rather than selecting that language's tab on each page.
Describe the solution you'd like
I'd considered storing the last group-tab selection in the session, so that it persists between pages (i.e. across a jupyter-book). Would be great to know if there's a more appropriate way to do this.

This would be a great enhancement!

Will give this a try after JS is cleaned up in #87


Configuration drawers refactor

What does this PR do and why?
Code refactor to better share code across create and reconfigure
Acceptance checklist

[ ] I have evaluated the Approval Guidelines for this PR.
[ ] I have tested this PR in all supported browsers.

@wraeth-eth heads up - rebasing


[WIP]Travis docker build

The aim of this PR is to use the Dockerfile included in the repository to setup the test environment for travis-ci.
I can see the following advantages to do so:

Speed up travis-ci jobs (I observed that the travis-ci job takes only ten minutes now, to be compared with the twenty minutes before: build #9)
Validate that the Dockerfile is still compatible with current code (detect if Dockerfile needs an update)
Avoid code duplication (similar code in Dockerfile and in .travis.yml)

In order not to rebuild the whole Docker image each time, the travis-ci script pull and push images from a Docker repository. I temporally used my repository on Docker Hub as I currently don't have access to OpenNMT repository, but this is the one that should be used on the official github repository.
So, if this PR is accepted, before merging it, all references to my Docker repository should be replaced by references to OpenNMT official repository. Also, credentials to connect this Docker repository should be added to travis OpenNMT account settings (see Travis Documentation). Indeed, the new travis-ci job, appart from executing the tests, is also responsible for updating Docker images when Dockerfile changes and needs credentials to push to Docker repository.
For reference, here is the TODO list before merging:

[x] tag and push the first image to opennmt/opennmt repo:

$ docker pull aureliencoquard/opennmt:latest
$ docker tag aureliencoquard/opennmt:latest opennmt/opennmt:8.0
$ docker tag aureliencoquard/opennmt:latest opennmt/opennmt:latest
$ docker push opennmt/opennmt

[ ] Add Docker credentials for opennmt to travis-ci setting
[x] Modify .travis.yml: replace all references to 'aureliencoquard' with 'opennmt'
[x] Commit and push

Codecov Report

Merging #375 into master will increase coverage by 0.49%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #375      +/-   ##
==========================================
+ Coverage   69.18%   69.67%   +0.49%
==========================================
  Files          74       74
  Lines        6269     6269
==========================================
+ Hits         4337     4368      +31
+ Misses       1932     1901      -31

Impacted Files
Coverage Δ

onmt/train/Optim.lua
64.67% <0%> (+18.56%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1a081bc...68993dd. Read the comment docs.

Please note also that as the travis-ci job will now update docker images on docker repository, automatic builds on Docker Hub should be disabled for this project.

I've pushed a new image to opennmt/opennmt docker repo, and modified .travis.yml to use this repo. So, only remains to add docker hub credentials to travis-ci setting

@aurelien-coquard - please send me the credentials by email, and I will be adding them. (or what do I need to do to give you access on travis admin?)

Credentials in travis-ci were updated. Merging...


Investigate streaming support for HuggingFace inference server

captured by https://github.com/spring-projects/spring-ai/issues/227


SPARK-8078

In Spark MLlib, Decision Trees use Gini impurity, Entropy and Variance as impurity. The Entropy impurity implement by calculating the Info Gain,  which is put forward by J. Ross Quinlan in ID3 algorithm. And it can be improved by implementing C4.5 algorithm,which using Info Gain Ratio instead of Info Gain to calculate impurity. By implementing C4.5 algorithm, the Decision Trees model can achieve higher forecast accuracy in most cases.
https://issues.apache.org/jira/browse/SPARK-8078

Can one of the admins verify this patch?

Mind giving this a more descriptive title that includes [MLLIB]?

OK, if you're closing this JIRA, do you mind closing this PR?


Wrong port in readme and collision with Jellyfin NAS

What version of Music Assistant has the issue?
2.0.0b59
The problem
The readme states port 8095 is used by default and wen occupied it will try the next port.

The webinterface of the server can be reached on the tcp port 8095 by default (unless that port is occupied, then it picks the next available port). See the server's logging to confirm the port.

But this is (for the beta at least) not correct, it uses 8096 as default.
Should the readme be up-dated? Or is this only for the BETA version?
Would be great if the could be made configurable because now when restarting my host (so all containers) it starts earlier then the JellyFin container and claims port 8096 that JellyFin also wants to use.
If I would start the music assistant container after JellyFin is up it will indeed switch to a new port.
How to reproduce

Install Jellyfin NAS (https://github.com/alexbelgium/hassio-addons)
Install Music Assistant (beta)
restart your host

JellyFin wil complain about not being able to claim the port 8096
Relevant log output
No response
Additional information
No response
What version of Home Assistant Core are your running
2023.7.2
What type of installation are you running?
Home Assistant Supervised
On what type of hardware are you running?
Generic x86-64 (e.g. Intel NUC)

The UI is on port 8095 and the stream server is on port 8096. Whether MA should change to accomodate Jellyfin or vice versa will have to be discussed.

Whether MA should change to accomodate Jellyfin or vice versa will have to be discussed.

Jellyfin uses the port already for a long time 😉 https://jellyfin.org/docs/general/networking/
But I get that you don't want to just change the port, that's why I proposed a option to make it configurable

Actually you can already do that. SETTINGS>>CORE>>STREAMSERVER

Where can I find these settings?
The addon shows only debug level

Important info regarding these screenshots:
This menu will only be shown if the streaming server is successfully started (Port 8096 is available)
If the streaming server is not starting because 8096 is already in use, it is not possible to change the port via WebUI.
Maybe a environment variable would be good.

I understand that if MA cannot bind to the usual port it will try the next. So try subsequent port numbers

Having it configurable would be ideal. There is already a config structure within the code, maybe it would be feasible to write this to disk and allow the user to modify it.
Otherwise, if anything uses 8095, the user has to connect to the port (figuring out by checking the logs), change the setting and restart.

The STREAMSERVER port is already configurable

The configuration options don't work reliably for me - the UI lets you "change" but then shows the wrong values.
My UI often shows they are both set to 8096, when really the web server is on 8095, and the streaming server is on 8096.
Setting them from an environment variable is common because it solves many use cases.
When I set MA up, I allowed a port for it in the firewall, but couldn't configure it until I started it on the default port, which was already taken. Would have been much easier if I could have configured it via environment variables, as I can link those to the port allowed in the firewall, making it more reliable and secure.
Trying subsequent port numbers isn't acceptable (on its own) because it means servers race to find a port, and they have different ports depending on that race condition, meaning you can't automate HTTP calls etc.

I'm also having this issue. The web interface starts on 8095 but the streaming server fails to start on 8096 because it's in use and then the Core Settings don't load, along with anything else. I just get "Invalid command: players/*" in the logs whenever I load a page.

In the container's data folder, there is a settings.json where once you get it running there is a section:
"core": {
    "streams": {
      "values": {
        "bind_port": 8096
      },
      "domain": "streams",
      "last_error": null
    }
  }

Pre-populating this file and having some of the basic settings you might want to alter before first launch could be a functional alternative to changing any underlying code. Changing the 8096 value here should be persistent across all docker instances and allow you to launch the app without needing to shut down other services.


add this language in your presence that it is the same as pawn

Photo: https://imgur.com/gallery/5BhU0Sn

not correct


Saving and Loading model errors

Hi,
I am trying to train my model on my database according to the tutorial and sometimes the training takes quite a long time so I wanted to load the model saved by callback using this code:
        if os.path.exists("Model/model.h5"):
            HTR_Model = load_model("Model/model.h5")
            new_model = False
        else:
            img_shape = (self.height, self.width, 3)
            HTR_Model = self.HTR_Model(img_shape, characters_num, vocab)
            HTR_Model.compile_model()
            HTR_Model.summary(line_length=110)
            new_model = True

And then continue training with this code:
        earlystopper = EarlyStopping(monitor='val_CER', patience=20, verbose=1, mode='min')
        checkpoint = ModelCheckpoint("Model/model.h5", monitor='val_CER', verbose=1, save_best_only=True, mode='min')
        trainLogger = TrainLogger("Model")
        tb_callback = TensorBoard('Model/logs', update_freq=1)
        reduceLROnPlat = ReduceLROnPlateau(monitor='val_CER', factor=0.9, min_delta=1e-10, patience=10, verbose=1,
                                           mode='auto')
        model2onnx = Model2onnx("Model/model.h5")

        if new_model is True:
            HTR_Model.train(training_data,
                            val_data,
                            epochs=1000,
                            workers=20,
                            callbacks=[earlystopper, checkpoint, trainLogger, reduceLROnPlat, tb_callback, model2onnx])
        else:
            HTR_Model.fit(training_data,
                          validation_data=val_data,
                          epochs=1000,
                          workers=20,
                          callbacks=[earlystopper, checkpoint, trainLogger, reduceLROnPlat, tb_callback, model2onnx],
                          )

Unfortunately I encountered the following error:
ValueError: Unknown loss function: CTCloss. Please ensure this object is passed to the custom_objects argument.
So I tried to add this argument like this:
HTR_Model = load_model("Model/model.h5", custom_objects={'CTCloss': CTCloss})

But It didn't work and I got this error:
TypeError: CTCloss.__init__() got an unexpected keyword argument reduction
I couldn't solve it so I started looking for other ways to load the model. This time I tried to do it by saving the file in .tf format and load it without custom_objects argument and it caused an error:
Unable to restore custom object of type _tf_keras_metric. Please make sure that any custom layers are included in the custom_objects arg when calling load_model() and make sure that all layers implement get_config and from_config.
After that I added argument like this:
HTR_Model = load_model("Model/model.tf", custom_objects={'CERMetric': CERMetric(vocabulary=vocab), 'WERMetric': WERMetric(vocabulary=vocab)})

And the error was
TypeError: CERMetric.__init__() missing 1 required positional argument: 'vocabulary'
Even though I used this argument. The only thing that works is this code:
HTR_Model = load_model("Model/model.h5", compile=False)
HTR_Model.compile(loss=CTCloss(), metrics=[CERMetric(vocabulary=vocab), WERMetric(vocabulary=vocab)], run_eagerly=False)

But it doesn't seem to be loading all these weights. I also tried using BackupAndRestore and picked up where I left off but still couldn't see if it saves those weights and continues using them. So Is it possible to somehow load a saved model while training is interrupted and continue training it so that it stays in accordance with the tutorial? (For example, I have epoch 53 /1000 and I see that the best value yet was saved to the model.h5 file at 52 epoch so I stop learning and then I want to load the saved model at epoch 52 and continue from there)

Have you tried to create a model and then use .load_weights("path_to.h5")?

yes, but it still seems the same. I tried to print the weight values using get_weights before and after each loading and they seems to be changed but at the time of training, e.g. loss ,cer and wer values are much more diverse than at the time of the last training, additionally after the epoch, according to the checkpoint, only the best results are to be saved but as in the previous training, the result was e.g. 0.63 and after loading the model / weights and going through the epoch, it saves the value 0.68 and as if it does not see the best value which was 0.63.

After some time, I was able to fully train the model, but unfortunately I couldn't load it and test it according to the guide. After training, I commented out where the training was and ran it again with the code that was supposed to validate my model (I will add that for the test to check if everything later in tutorial works I checked the model and code from the tutorial) but unfortunately each test had CER and WER values equal to 1 or more(And training ended by EarlyStopper and values were: CER - 0.0734 and WER - 0.19), as if the model was not valid at all read. All versions and all the code as I checked are identical to the tutorial, and yet it does not want to work properly. I've created a repository and I don't know what's wrong with this code: https://github.com/Pixel535/ScribbleScan---Engineering-thesis
Would you have any suggestions on how I can solve this problem?

Are you sure that your vocab is consistent and the same in training and validation?
Because I don't see where you save it.
You load it always from a dataset and you are not using any sorting and etc. to make it consistent?

Yes, this was causing invalid validation values. Thank you so much for finding this. I must have forgotten to sort the vocab so that it was identical everywhere. Now when I use the function: model.evaluate(validate) it keeps getting one constant value close to the training (Cer was around 0.07) - not like before which was around 0.95:
Validation loss: 5.065186500549316
Validation CER: 0.030590945854783058
Validation WER: 0.10572760552167892

But unfortunately, when I run the validation code where it displays the predicted text and photo, the values are very different and very often the CER and WER values are close to 1, for example:
Label: 6
Prediction: N
CER: 1.0; REV: 1.0

Label: The house was , as he
prediction: i
CER: 1.0; REV: 1.0

Label: The Foreign Office
Prediction: The Toreign Office
CER: 0.1111111111111111; VER: 0.6666666666666666

Label: who used the system - and used it with power and authority .
prediction: 3
CER: 1.0; REV: 1.0

Label: up with no apparent tiredness at all when
Prediction:
CER: 1.0; WER: 1.0

Could this be due to extra datasets outside of IAM making the prediction inaccurate ?

Yes, I just want to predict what is written on handwritten notes because then I want to add a function that would detect spelling mistakes so I used IAM, about 100 of my photos as dataset and some mathematical symbols dataset. In that case, I will have to test different architectures on the IAM itself for now and add more datasets later


integration tests should use MustRunCluster and not rely on external Pilosa

github.com/pilosa/pilosa/test exposes a "MustRunCluster" which is useful for creating and destroying temporary clusters to test against. We no longer need to rely on an externally running Pilosa instance for client integration tests.
Furthermore, we should remove the // +build integration tags so that all tests run on every test run. The build tags sometimes break automated code analysis and refactoring tools (such as gorename which ignores them by default), so removing them will simplify things.

I spent some time on this and got it working on one test, but I realized that using MustRunCluster would lock us into only testing one Pilosa version, and it would be impossible to run integration tests coupling different versions of the client and server.
I decided instead to make it easier to run the test suite with a temporary Pilosa server by automating that in the Makefile. I also added a Travis CI matrix configuration to test different versions of Pilosa. PR is here: https://github.com/pilosa/go-pilosa/pull/167

I determined that a better path for this would be to switch to CircleCI (as we have for Pilosa server), which allows running the integration tests in separate containers and makes it easier to parameterize. This is now merged (PR #179).


Needed Training Time

Hi authors,
Thanks for the great work! I am curious how long does it takes to train the model?

Hi! Going from the logs, the longest run with this model was around 20 hours, but bear in mind that it was done on either colab or 2080 super.


Incorrect path.join usage might be causing Windows test failures

I'm guessing this incorrect path.join usage is causing LUCI failures on windows like https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket.appspot.com/8871652713241732960/+/steps/run_test.dart_for_hostonly_devicelab_tests_shard_and_subshard_3_last/0/stdout

I remember that there's some weirdness with asset paths on Windows /cc @jonahwilliams

I think the asset path weirdness is unrelated - it just seems like LUCI bots are stricter about / as a path separator

what's the "asset path weirdness" you guys referring to?

error • Too many positional arguments: 8 expected, but 10 found • dev/devicelab/bin/tasks/module_test.dart:257:58 • extra_positional_arguments 😂 that's probably why the original PR had it like that 😂


KeyError: 'doc_type'

I have a rule file like this:
name: Brute force detection
es_username: xxxxx
es_password: xxxxx
index: clog-xxx-*

type: frequency
timeframe:
  hours: 1
aggregation:
  hours: 1
aggregation_key: ip

num_events: 8
#filter:
#  - term:
#      _type: logs
#  - term:
#      error_code: 535
filter:
- query:
    query_string:
      query: "_type:logs AND error_code:535 AND NOT initial_connection:true"

query_key: [ip, failed_login]
include: ["ip","failed_login","password_hash"]
top_count_keys: ["ip","failed_login"]

Which run ok but at some point it produces this:

INFO:elastalert:Ran Brute force detection from 2017-05-11 14:56 CEST to 2017-05-11 15:11 CEST: 8396 query hits (7843 already seen), 119 matches, 0 alerts sent
INFO:elastalert:Sleeping for 53.960183 seconds
INFO:elastalert:Queried rule Brute force detection from 2017-05-11 12:56 CEST to 2017-05-11 14:06 CEST: 0 buckets

Then I have no other option to restart the script and then it fails with the following error:
elastalert: started
    counts = self.get_top_counts(rule, start, end, keys, qk=qk)
  File "/opt/elastalert/bin/elastalert.py", line 1660, in get_top_counts
    hits_terms = self.get_hits_terms(rule, starttime, endtime, index, key, qk, number)
  File "/opt/elastalert/bin/elastalert.py", line 455, in get_hits_terms
    res = self.current_es.search(index=index, doc_type=rule['doc_type'], body=query, size=0, ignore_unavailable=True)
KeyError: 'doc_type'

And no results are found.
If your require any other information, please let me know...
Regards,
Paul.

You can add
doc_type: foo
where foo is the _type of the documents.
This is a bug that it gives an error though, sorry about that.

This code is supposed to fix this bug:
https://github.com/Yelp/elastalert/blob/master/elastalert/elastalert.py#L381
I'll investigate


CS337 Lecture 5 Notes

Lecture 5
Pure Bayesian
Didn't understand anything that the prof said, rewatch and complete

Done with midsem, I doubt I'll even get back to this lol


Write man pages for zopen commands

Write man pages for the various commands to make it easier for folks to figure out how to use them, e.g.
man zopen
man zopen-setup
man zopen-build
...

https://www.howtogeek.com/682871/how-to-create-a-man-page-on-linux/

(not recommending we port pandoc to z/os - just as a reference on what man pages are all about)

also https://www.linuxjournal.com/article/1158

If you have the z/OS Open Tools man installed on z/OS, you can also issue:
man 7 groff

or you can go to: https://www.man7.org/linux/man-pages/man7/groff_man.7.html

Apparently I re-discovered pandoc again. Just started working on this.

switched over and have gone to create --help and --version entries for all tools and will use help2man.

man pages now exist. They have to be enhanced (a lot) but they are there.


Enable over provisioning for SharedMountPoint primary storages

Description
ACS does not allow operators to set the configuration storage.overprovisioning.factor for SharedMountPoint primary storages, presenting the following message when one tries to change it:

Also, the global setting does not impact SharedMoundPoint primary storages, which means that the over-provisioning is not applied properly for this storage type.
Furthermore, the metric presents that the SharedMountPoint has the global over-provisioning applied; however, in a scenario where the over-provision factor is 2, the allocation threshold is 80%, and the metrics show that storage has 40% allocated, one cannot allocate to it anymore.
This PR intends to enable over-provisioning for SharedMountPoint primary storages.
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)
[ ] build/CI

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[ ] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[x] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?
In an environment where the global over-provision factor was 1, the allocation threshold was 80%, and the SharedMountPoint primary storage had 80% allocated, I was able to change the over-provisioning factor of the SharedMountPoint primary storage and allocate a new volume on it, as, with the over-provisioning, ACS considered it as having 40% allocated.

@blueorangutan package

@GutoVeronezi a [SL] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: ✔ el7 ✔ el8 ✔ el9 ✔ debian ✔ suse15. SL-JID 8257

code looks good. I have a worry though. overprovisioning on storage in general is a dangerous thing. On cpu and memory any errors due to overprovisioning are likely to not be fatal, but on storage these can easily lead to data loss. when storage is allocated but not used we can apply overprovisioning but when parts of it get used these should not be considered in overprovisioning. I don't think our model supports such behaviour. any ideas @GutoVeronezi @sureshanaparti  (sorry, i don't know what wisdom is in respect to this)

@GutoVeronezi could you target 4.18.2?

code looks good. I have a worry though. overprovisioning on storage in general is a dangerous thing. On cpu and memory any errors due to overprovisioning are likely to not be fatal, but on storage these can easily lead to data loss. when storage is allocated but not used we can apply overprovisioning but when parts of it get used these should not be considered in overprovisioning. I don't think our model supports such behaviour. any ideas @GutoVeronezi @sureshanaparti  (sorry, i don't know what wisdom is in respect to this)

@DaanHoogland
I believe most cloudstack users use thin provisioning and storage overprovisioning. It was never a critical issue, there was no data loss either. If the storage is almost occupied, users should consider adding more storage before reaching full disk space.

@GutoVeronezi could you target 4.18.2?

@JoaoJandre, done.

code looks good. I have a worry though. overprovisioning on storage in general is a dangerous thing. On cpu and memory any errors due to overprovisioning are likely to not be fatal, but on storage these can easily lead to data loss. when storage is allocated but not used we can apply overprovisioning but when parts of it get used these should not be considered in overprovisioning. I don't think our model supports such behaviour. any ideas @GutoVeronezi @sureshanaparti (sorry, i don't know what wisdom is in respect to this)

Sure, dealing with over-provisioning without caution can be harmful. Before changing the overprovisioning configurations, operators should understand how the environment is being consumed. Furthermore, it is important to have active monitoring over the environment; this way, it is possible to take actions, like the one @weizhouapache mentioned in https://github.com/apache/cloudstack/pull/8481#issuecomment-1884729728, to avoid problems.
The configuration cluster.storage.capacity.notificationthreshold makes ACS notify the operators when the storage reaches the capacity threshold (for memory and CPU we have similar configurations). I am not sure if we have much more to do from the ACS perspective, but we can think about ways to improve this feature.

@blueorangutan package

@GutoVeronezi a [SL] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@GutoVeronezi could you target 4.18.2?

@JoaoJandre, done.

code looks good. I have a worry though. overprovisioning on storage in general is a dangerous thing. On cpu and memory any errors due to overprovisioning are likely to not be fatal, but on storage these can easily lead to data loss. when storage is allocated but not used we can apply overprovisioning but when parts of it get used these should not be considered in overprovisioning. I don't think our model supports such behaviour. any ideas @GutoVeronezi @sureshanaparti (sorry, i don't know what wisdom is in respect to this)

@DaanHoogland
Sure, dealing with over-provisioning without caution can be harmful. Before changing the overprovisioning configurations, operators should understand how the environment is being consumed. Furthermore, it is important to have active monitoring over the environment; this way, it is possible to take actions, like the one @weizhouapache mentioned in https://github.com/apache/cloudstack/pull/8481#issuecomment-1884729728, to avoid problems.
The configuration cluster.storage.capacity.notificationthreshold makes ACS notify the operators when the storage reaches the capacity threshold (for memory and CPU we have similar configurations). I am not sure if we have much more to do from the ACS perspective, but we can think about ways to improve this feature.

Yes @GutoVeronezi, there are global settings to (1) notify users, or (2) disable new volume allocation, if allocated capacity or actual used capacity reaches a threshold.
The thresholds are around 75% or 85%, so users have enough time to get more storage or clean the storage.

Packaging result [SF]: ✔ el7 ✔ el8 ✔ el9 ✔ debian ✔ suse15. SL-JID 8280

@GutoVeronezi could you target 4.18.2?

@JoaoJandre, done.

code looks good. I have a worry though. overprovisioning on storage in general is a dangerous thing. On cpu and memory any errors due to overprovisioning are likely to not be fatal, but on storage these can easily lead to data loss. when storage is allocated but not used we can apply overprovisioning but when parts of it get used these should not be considered in overprovisioning. I don't think our model supports such behaviour. any ideas @GutoVeronezi @sureshanaparti (sorry, i don't know what wisdom is in respect to this)

@DaanHoogland
Sure, dealing with over-provisioning without caution can be harmful. Before changing the overprovisioning configurations, operators should understand how the environment is being consumed. Furthermore, it is important to have active monitoring over the environment; this way, it is possible to take actions, like the one @weizhouapache mentioned in #8481 (comment), to avoid problems.
The configuration cluster.storage.capacity.notificationthreshold makes ACS notify the operators when the storage reaches the capacity threshold (for memory and CPU we have similar configurations). I am not sure if we have much more to do from the ACS perspective, but we can think about ways to improve this feature.

Yes @GutoVeronezi, there are global settings to (1) notify users, or (2) disable new volume allocation, if allocated capacity or actual used capacity reaches a threshold.
The thresholds are around 75% or 85%, so users have enough time to get more storage or clean the storage.

ok, I thought only overprovisioned threshold would be signalled. I don't know of an extra guard on the actual threshold , but then again we would expect operators to do their due diligence. Sorry for the over-paranoia.

Yes @GutoVeronezi, there are global settings to (1) notify users, or (2) disable new volume allocation, if allocated capacity or actual used capacity reaches a threshold.
The thresholds are around 75% or 85%, so users have enough time to get more storage or clean the storage.

ok, I thought only overprovisioned threshold would be signalled. I don't know of an extra guard on the actual threshold , but then again we would expect operators to do their due diligence. Sorry for the over-paranoia.

no worries @DaanHoogland
I think this is a frequently asked question for many users.
mysql> select name,default_value,description from configuration where name like "cluster.storage%" or name like "pool.storage%";
+----------------------------------------------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| name                                                     | default_value | description                                                                                |
+----------------------------------------------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| cluster.storage.allocated.capacity.notificationthreshold | 0.75          | Percentage (as a value between 0 and 1) of allocated storage utilization above which alerts will be sent about low storage available.                            |
| cluster.storage.capacity.notificationthreshold           | 0.75          | Percentage (as a value between 0 and 1) of storage utilization above which alerts will be sent about low storage available.                                      |
| cluster.storage.operations.exclude                       | false         | Exclude cluster from storage operations                                                                                |
| pool.storage.allocated.capacity.disablethreshold         | 0.85          | Percentage (as a value between 0 and 1) of allocated storage utilization above which allocators will disable using the pool for low allocated storage available. |
| pool.storage.capacity.disablethreshold                   | 0.85          | Percentage (as a value between 0 and 1) of storage utilization above which allocators will disable using the pool for low storage available.                     |
+----------------------------------------------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
5 rows in set (0.00 sec)

Aside from the third-party testing, do we still need anything else on this one?
cc: @DaanHoogland @weizhouapache

I don´t know, I didn't test it @GutoVeronezi

Aside from the third-party testing, do we still need anything else on this one?
cc: @DaanHoogland @weizhouapache

@GutoVeronezi
code looks ok to me.
@slavkap
can you please review and test it ?

I don´t know, I didn't test it @GutoVeronezi

sorry, I didn't read very well and answered hastely. Yes @GutoVeronezi, clgtm

@blueorangutan package

@GutoVeronezi a [SL] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: ✔ el7 ✔ el8 ✔ el9 ✔ debian ✔ suse15. SL-JID 8591

@weizhouapache, sorry for the late response! Unfortunately, I don't have an environment with shared mount point but the code LGTM

thanks @slavkap


AFR NimBLE: Add included services in pxAddServiceBlob()

Populate included services in pxAddServiceBlob ( prvAddServiceBlob).
Description

Previous to this PR, included services were not getting added in NimBLE port, only handle value was incremented. This PR addresses this issue by populating included services provided by upper layer to service definition in prvAddServiceBlob
Checklist:

[x] I have tested my changes. No regression in existing tests.
[ ] My code is Linted.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@ravibhagavandas @dhrishi PTAL

/bot run checks


Talk On Introduction to RobotFramework [CFP]

Title of the talk
Introduction to RobotFramework
Description
I would like to introduce RobotFramework and how it can be used for Acceptance Test Driven Development (ATDD)
What format do you have in mind for your talk?
Talk
Table of contents

Introduction To RobotFramework

BuiltIns
OperatingSystem
Collections

Writing Custom keywords
Intro to RF-SeleniumLibrary
A simple user story and acceptance test

What domain would you say your talk falls under?
Testing
Duration in minutes (including Q&A)
45
Prerequisites

Install RobotFramework and SeleniumLibrary pip install robotframework-seleniumlibrary
A web driver for your browser: https://github.com/SergeyPirogov/webdriver_manager#use-with-chrome

Speaker bio
I am a passionate and experienced Software Architect/Engineer with a diverse skill set and a wealth of experience in various programming languages and technologies. Currently, I work as a Software Architect at Appknox. I actively contribute to numerous repositories on GitHub. You can contact me through my email<EMAIL_ADDRESS>You can find my past experiences on LinkedIn and search for me on Google. I am passionate about Python, Rust & WebAssembly.
The talk/workshop speaker agrees to

[X] Share the slides, code snippets and other material used during the talk

[X] If the talk is recorded, you grant the permission to release
the video on BangPyper's YouTube
channel
under CC-BY-4.0
license

[X] Not do any hiring pitches during the talk and follow the Code
of
Conduct

Hi @dhilipsiva
Would you be able to present this month? 20th May morning.
We're also designing a poster this time as an experiment. Would you be open to sharing your pic to be put up on the poster?

Hi @anistark , sure 20th may works. How do I send you my picture?

@dhilipsiva You can add here as a comment

@RiteshAgrawal @anistark Here is my picture

@RiteshAgrawal @anistark I think there was a small mistake in the poster: https://www.meetup.com/bangpypers/events/whqxvsyfchbbc/
Arjoon is not from Appknox. :stuck_out_tongue:

@RiteshAgrawal @anistark I think there was a small mistake in the poster: https://www.meetup.com/bangpypers/events/whqxvsyfchbbc/
Arjoon is not from Appknox. 😛

My bad. Will fix it.

Hi @dhilipsiva
Can you please share your official mail id to me on discord. My handle is k3ypnchr#5133. This is required for internet access at venue.

@RiteshAgrawal Apologies, I could not find you by your tag on Discord. Was only able to send a friend request. Please accept so I can DM you. Or you can find me by my tag: dhilipsiva#9674


WIP: Upgrade Swagger UI to 3.x

See this PR with the v3 UI: https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/453

Glad to see @carlmon finished this before I had time to revisit. :)
The original author has asked to transfer maintainership so I'm sad to hear about the differences @heldersepu. Your fork still lists "Auto-generated Swagger 2.0" but it looks like you recently completed the upgrade to 3.x too?

Swagger 2.0 refers to:
https://swagger.io/specification/
when you say upgrade to 3.x you are referring to swagger-ui:
https://github.com/swagger-api/swagger-ui
Two different things, see the chart here:
https://github.com/swagger-api/swagger-ui#compatibility

Ah, of course @heldersepu I was mixing things up sorry.

Just checking in on this as we just recently started using swashbuckle but noticed that it's on the current version of the Swagger UI.  Just wondering if:

There are any plans of updated this here
If there is any way to inject the changes manually to use the updated UI
Or if you think I should just give up and move to swagger-net to get these updates

For the record this PR is not ready to merge, many more change are required on the index.html


Log messages for all phases of the provisioning flow

Need to log all the phases of the provisioning flow as shown in Fig 26 of section 5.3. Since most of the messages exchanged during these phases are encrypted messages, we need to have verbose logs to make sure device completed all the phases mentioned in the provisioning flow , for TE1

Re-titling. Definitely needed for TE1, but not a CHIP tool issue. This is a request to log in libCHIP.

We need log messages that each of the phases in the commissioning flow is entered/completed.

Concurrent connection commissioning flow

Non-concurrent commissioning flow

Some updates on this issue:
Currently we are supporting the following stages of commissioning flow. And, the logs have been added to these steps.

Discover device on BLE
Assign local session key
Spake2p handshake.
Log session key assigned by the peer
Network provisioning (It's not done using the cluster API yet)

Note: The logs provided below are interspersed with other logs.
Note: The logs from the network provisioning might change as we bring in network provisioning cluster.
For example, these logs are from the commissioner application:
CHIP: [BLE] Connecting to device with discriminator: 3840
CHIP: [BLE] Assigned local session key ID 95
CHIP: [BLE] Sent PBKDF param request
CHIP: [BLE] Received PBKDF param response
CHIP: [BLE] Sent spake2p msg1
CHIP: [BLE] Received spake2p msg2
CHIP: [BLE] Peer assigned session key ID 0
CHIP: [BLE] Sent spake2p msg3
CHIP: [IN] New pairing for device 0x00000000000000a0, key 0!!
CHIP: [CTL] Remote device completed SPAKE2+ handshake
CHIP: [NP] Sending Network Creds
CHIP: [NP] Received kIPAddressAssigned
CHIP: [CTL] Remote device was assigned an ip address

The following are the corresponding logs from the device
chip[BLE]: Assigned local session key ID 0
chip[BLE]: Waiting for PBKDF param request
chip[DL]: Configuring CHIPoBLE advertising (interval 25 ms, connectable, device name CHIP-3840)
chip[DL]: Device already advertising, stop active advertisement and restart
all-clusters-app: Short Manual(decimal) setup code:<PHONE_NUMBER>3
all-clusters-app: Long Manual(decimal) setup code:<PHONE_NUMBER>09050652793
all-clusters-app: QR CODE Text: 'CH:H34DV*-00 0C9SS0'
chip[DL]: BLE GAP connection established (con 0)
chip[BLE]: Received PBKDF param request
chip[BLE]: Sent PBKDF param response
chip[BLE]: Received spake2p msg1
chip[BLE]: Peer assigned session key ID 97
chip[BLE]: Sent spake2p msg2
chip[BLE]: Received spake2p msg3
chip[IN]: New pairing for device 0x0000000000000000, key 97!!
chip[SVR]: Device completed SPAKE2+ handshake
chip[NP]: Received kWiFiAssociationRequest.
chip[SVR]: Device was assigned network credentials
chip[DIS]: CHIP minimal mDNS started advertising.
chip[DIS]: Replying to DNS-SD service listing request
chip[NP]: Sending IP Address
chip[DIS]: CHIP minimal mDNS started advertising.

@cjandhyala, I updated the issue with the logs that are currently available as of 672cf76841517c07b180fd8d157733bd71eab3d7 commit.
Could you help identify additional logs that are needed for TE2? The complete commissioning flow will not be supported for TE2. So we can add the ones that should be supported for current milestone, and open a new issue for future milestones.

Thx @pan-apple , Sure, Could you let know on what parts of the commissioning flow supported so far i.e. for TE2, so that we can make identify for the required log statement.

Looking at the TE2 deliverables, the following protocols should also add the relevant log messages.

DNS-SD
mDNS discovery
CASE state machine
Operational Credential provisioning


Fix KML random colorMode returning the same color

Sometimes KMLs using the <colorMode>random</colorMode> property can return the exact same color for shapes in Cesium. In Google Earth they appears as having different colors.
The issue occurs when R, G, or B are 0 on one of the initial calls to parseColorString, in which case colorOptions.red, colorOptions.blue, or colorOptions.green can get set to 0.
On the next call to parseColorString, assuming R, G, and B are no longer 0, colorOptions.maximumRed, colorOptions.maximumGreen, and colorOptions.maximumBlue get set.
When Color.fromRandom() gets called again, however, red still exists in the object, which ends up getting used instead of maximumRed:
https://github.com/AnalyticalGraphicsInc/cesium/blob/337ad9d7ebdc85172deb90cf2c21f9ca12844146/Source/Core/Color.js#L278

Welcome to the Cesium community @jburr-nc!
Can you please send in a Contributor License Agreement (CLA) so that we can review and merge this pull request?

I am a bot who helps you make Cesium awesome! Contributions to my configuration are welcome.
:earth_africa: :earth_americas: :earth_asia:

Awesome, thanks @jburr-nc!  Is there an easy way to add a unit test for this?  If not, could you send over a sample KML that so I can reproduce the bug this is fixing?  Thanks!

random3.zip

Works great @jburr-nc!  Could you please add a unit test when you have a chance?
It could be something like this:
CesiumMath.setRandomNumberSeed(0);
var kml = '<copy/paste two polygons from the kml you attached>';
return KmlDataSource.load(parser.parseFromString(kml, "text/xml"), options).then(function(dataSource) {
    expect(source.entities.values.length).toEqual(2);
    expect(source.entities.values[0].polygon.material.color.getValue()).not.toEqual(source.entities.values[1].polygon.material.color.getValue());
});

In the interest of getting this merged, I finished up adding a test for this.  Thanks for the fix @jburr-nc!


mcr.microsoft.com error pulling aspnet image

CI got this over the weekend - this probably isn't the right place to report this, but I'm out of ideas - I guess you'll have to forward this to your azure service provider there 🤔 (I tried looking for past incidents in the azure status page, but couldn't find it...)
#3 ERROR: failed to copy: httpReadSeeker: failed open: unexpected status code https://mcr.microsoft.com/v2/dotnet/core/aspnet/blobs/sha256:fe3a4716eba4304fdb3b6a63fd0e54aa9c6c8519f9d1ba2f67a043679dd2f64a: 500 Internal Server Error

Issue moved to microsoft/containerregistry #56 via ZenHub


Ensure variable declarations

These changes ensure that variables definitely exist before accessing them, saving some @phpstan-ignore-lines.
:octocat:

I have no idea why the DateHelperTest::testNowSpecific() test fails 😭

I re-run the gha

All green 🎉 it seems ok 👍


Issues/suggestions

Hello Win32, many thanks for this brilliant project!
So few issues I've noticed with Chromium at large, which are not isolated to Supermium:
First up is Hardware Acceleration. Some time post Chromium 102, support for Hardware Acceleration on legacy Intel HD systems seems to have been sunsetted. I know the issue does not exist in Brave/Chromium 102, but I have observed the issue as early as v.109. (source: Google Chrome portable 109, and Thorium 109)
HW Acceleration can be force enabled by toggling the following flag:
#ignore-gpu-blocklist
This does indeed work, and video performance is greatly improved. However, there are serious performance issues within the UI in Supermium. Tabs show choppy animations when opening/closing, the scrolling performance on webpages becomes insufferably slow, and the program seems to crash on occasion, forcing me to terminate all instances of Supermium via Task Manager.
This can be mitigated by changing the ANGLE graphics backend to DirectX 11 or OpenGL, but this re-introduces some of the issues that persist prior to enabling HW acceleration. Namely, the CPU usage is unusually high when scrolling through pages. This issue persists even on lightweight pages with very little, if any javascript present. DX9 seems to have the lowest CPU footprint, but is unstable and slow as aforementioned.
So it can be assumed that Google went the extra mile to :)%$#@ certain platforms, going beyond Windows 7.
Next up aren't problems per-se, but a few suggestions that, in my opinion would greatly improve the user experience:
- Re-introduce M109 and M110 flags into Supermium, and disable tab preview hovercards by default:
These were dropped around v.109. The tab previews are bloated, and put unnecessary burden on the CPU. If a tab is snoozed, or otherwise not loaded into memory, it won't display a preview anyway.
- Some minor UI reversals from earlier 100.x builds:
Revert to the window frame assets used in early 100.x builds used, if Aero is not enabled. The Windows 10 style widgets in titlebar look very unusual and broken, which does have a minor impact on usability and consistency. Moreover, the all tabs drop-down button is somewhat broken when Aero is utilized. The button is very thin, and light colored with no border around it. This is likely inherited from the Windows 10-style widgets now used in the titlebar, which you have otherwise reversed. I commend your work there, btw.
- Patches from now-depricated fork, Advanced Chrome:
Advanced Chrome utilized a custom mask to bolden fonts, making them more akin to what you'd find in Firefox. Default font rendering in Chromium is rather thin, and almost appears blurry. (there are extensions that improve this)
Font comparisons can be found here:
https://web.archive.org/web/20220821144136/https://browser.taokaizen.com/chrome-directwrite/
Lastly, of least importance in my opinion. This fork also patched the way Chromium scrolled on pages, making it appear much smoother than upstream.
Source code (v.91) can be found here:
https://web.archive.org/web/20220815061731/https://browser.taokaizen.com/download/patch.txt

If you're going to use Advanced Chrome's font default, can you make it into a option for chrome://flags/.
I perfer the default font, i think it would be better to let the user choose what font defaults they like since the settings doesn't have an option to load or switch font settings or defaults.


[Skinning Feature/Customizability Request] Custom Dan-I Dojo "Curtain (or Door??)" Animation

So I thought this would add a bit more customizability to skins(/themes??), since BG animations and video on SongSel screen are planned.
The way that it works is that you have a few frames for the closing curtain, then the skin creator can choose to have a static frame for the fully closed curtain, or continue scrolling through the numbered frames for the animation (1.png, 2.png, etc). The song/subtitle text can also be fade-in or instant if desired. Thought of this idea to make it like the Arcaea door closing or stuff like that, or when you confirm a song, so why not :thinking:
If it's already planned, then I probably didn't look hard enough, my apologies. :pray:
edit: damn it mb, closed pull request by accident

You should wait for skinning update to request this

Hello, thank you for the complete description about the feature idea, I will keep this in mind and might link this part with the Extreme => Extra transition animation scripts when it will be added

Some very late update about this, but a Lua would do the job considering they are now used for both Backgrounds and end clear animations


Replace BSON.DateTime with native Elixir DateTime

Closes #121

Great, thank you @lau. I think we could release a new version now and then start 0.3.0 with this change and the replica support. What do you think @ankhers?

I think that is a good plan. Though, I want to hold out on the Replica Set stuff for just a little while.
@ericmj If you have time, go ahead and make the release. If you don't I will have time either tonight or tomorrow morning.

I think that is a good plan. Though, I want to hold out on the Replica Set stuff for just a little while.

Right, 0.3.0 will be ready when it's ready. I just meant that master could be used for replica sets after we have a release out. But that's up to you of course.

How long will it take for the replica set stuff to be done? Would it make sense to release 0.3.0 with DateTime first and then 0.4.0 with replica set?

I unfortunately do not have an exact time frame on Replica Sets. There is an active PR up for it (#124). There is still work that needs to be done on it though. I will most likely release 0.3.0 before RS is supported though.

Thanks!


Localize settings.account.github in AccountSelectionDialog. Closes #501

Summary
This fixes the bug that the text 'settings.account.github' was not localized in AccountSelectionDialog.
Changes Made
The text is now correctly localized
TODO
None.
Motivation
Fixes the localization bug, therefore closing issue #501
Testing
Run the project.
Screenshots/GIFs
Checklist
Please ensure all of the following are completed before submitting the PR:

[X ] Code has been tested and verified.
[ ] Documentation has been updated to reflect the changes.
[X] All tests pass successfully.
[X] Code follows the project's coding guidelines and style.
[X] The branch is up-to-date with the latest changes from the main branch.
[ ] Reviewed by at least one other contributor.

Related Issues
This PR addresses the following issue(s): #501
Additional Notes
None.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.