ArangoSearch loses indices after power loss

My Environment

ArangoDB Version:        3.7.5 nightly
Storage Engine:             rocksdb
Deployment Mode:       single
Deployment Strategy:   manual
Infrastructure:               virtualbox windows 10
Operating System:        windows 10
Total RAM in your machine:        4GB
Disks in use:        virtualbox VDI

Steps to reproduce

start ArangoDB in VM, create a View that indexes various attributes on various collections
add/modify/delete the documents within those collections continuously
shut the VM down in a power-loss manner

Problem:
after powering up the VM again, ArangoDB will start just fine with the following output:
C:\<redacted>\ArangoDB3-3.7.5-nightly_win64\usr\bin>arangod --log.level libiresearch=fatal --server.endpoint tcp://<IP_ADDRESS>:8529 --rocksdb.max-total-wal-size 10240000 --rocksdb.write-buffer-size 4096000 --rocksdb.max-write-buffer-number 8 --rocksdb.total-write-buffer-size 82000000 --rocksdb.block-cache-size 32000000 --rocksdb.enforce-block-cache-size-limit true --cache.size 10485760 --javascript.v8-contexts 2 --javascript.v8-max-heap 256
2021-01-06T14:52:52Z [4448] INFO [e52b0] ArangoDB 3.7.5-nightly [win64] 64bit, using build heads/3.7-0-g487c64c37d-dirty, VPack 0.1.33, RocksDB 6.8.0, ICU 64.2, V8 7.9.317, OpenSSL 1.1.1h  22 Sep 2020
2021-01-06T14:52:52Z [4448] INFO [43396] {authentication} Jwt secret not specified, generating...
2021-01-06T14:52:52Z [4448] INFO [144fe] using storage engine 'rocksdb'
2021-01-06T14:52:52Z [4448] INFO [3bb7d] {cluster} Starting up with role SINGLE
2021-01-06T14:52:52Z [4448] INFO [6ea38] using endpoint 'http+tcp://<IP_ADDRESS>:8529' for non-encrypted requests
2021-01-06T14:52:52Z [4448] INFO [3844e] {authentication} Authentication is turned on (system only)
2021-01-06T14:52:52Z [4448] WARNING [d5c49] {engines} ignoring value for option `--rocksdb.max-write-buffer-number` because it is lower than recommended
2021-01-06T14:52:56Z [4448] ERROR [2885b] {engines} error creating index from definition '{\n  "primarySort" : [\n  ],\n  "storedValues" : [\n  ],\n  "primarySortCompression" : "lz4",\n  "analyzerDefinitions" : [\n    {\n      "name" : "text_zh",\n      "type" : "text",\n      "properties" : {\n        "locale" : "zh.utf-8",\n        "case" : "lower",\n        "stopwords" : [\n        ],\n        "accent" : false,\n        "stemming" : true\n      },\n      "features" : [\n        "position",\n        "norm",\n        "frequency"\n      ]\n    }\n  ],\n  "analyzers" : [\n    "text_zh"\n  ],\n  "fields" : {\n    "title" : {\n    },\n    "content" : {\n    }\n  },\n  "includeAllFields" : false,\n  "trackListPositions" : false,\n  "storeValues" : "none",\n  "id" : "78633652",\n  "type" : "arangosearch",\n  "view" : "h65B15CEF4691/20194085",\n  "objectId" : "78633654"\n}': while checking footer, error: invalid checksum '1771675221'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '78745736'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '78745740'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '78745744'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '78745748'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '78745997'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '78746007'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '78746023'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '78746033'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79057706'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79057710'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79057714'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79057718'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79057909'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79057913'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79057917'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79057921'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79059697'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79059701'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79059705'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79059709'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79061264'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79061268'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79061272'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79061276'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79061669'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79061673'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79061677'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79061681'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79483201'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79483205'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79483209'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79483213'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79848206'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79848210'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79848214'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '79848218'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81305653'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81305657'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81305661'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81305665'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81311123'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81311127'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81311131'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81311135'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81311550'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81311554'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81311558'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81311562'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81312447'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81312451'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81312455'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81312459'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81313462'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81313466'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81313470'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81313474'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81313697'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81313703'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81313709'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81313713'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81316209'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81316213'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81316217'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81316221'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81317492'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81317496'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81317500'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81317504'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81319202'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81319206'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81319210'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81319214'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81370293'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81370297'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81370301'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81370305'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81370727'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81370731'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81370735'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81370739'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81371078'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81371082'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81371086'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81371090'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81371375'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81371379'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81371383'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81371387'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81371682'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81371686'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81371690'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81371694'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81372068'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81372072'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81372076'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81372080'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81372471'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81372475'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81372479'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81372483'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81373470'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81373474'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81373478'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81373482'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81373713'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81373717'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81373721'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81373725'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81387188'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81387192'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81387196'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81387200'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81387812'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81387816'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81387820'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81387824'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81394036'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81394040'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81394044'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81394048'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81394937'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81394941'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81394945'
2021-01-06T14:52:56Z [4448] WARNING [66770] {engines} dropping failed index '81394949'
2021-01-06T14:53:01Z [4448] INFO [cf3f4] ArangoDB (version 3.7.5-nightly [win64]) is ready for business. Have fun!

the documents are not lost (as expected); however some/all of the indexed attributes disappear in the previously created arangosearch view. as a consequence, search queries returns nothing.
re-specifying the indexed attributes in the view config solves the problem temporarily. next time the VM shuts down, same thing will happen again.
for example, my view config before power-loss:
  "links": {
    "posts": {
      "analyzers": [
        "text_zh"
      ],
      "fields": {
        "content": {}
      },
      "includeAllFields": false,
      "storeValues": "none",
      "trackListPositions": false
    },
    "users": {
      "analyzers": [
        "text_zh"
      ],
      "fields": {
        "brief": {},
        "name": {}
      },
      "includeAllFields": false,
      "storeValues": "none",
      "trackListPositions": false
    }
  },

after power-loss:
  "links": {
    "posts": {
      "analyzers": [
        "text_zh"
      ],
      "fields": {
        "content": {}
      },
      "includeAllFields": false,
      "storeValues": "none",
      "trackListPositions": false
    }
  },

in some cases all indexed attributes are gone. and i have to manually add them to the config time after time.
seems to me that the implementation of ArangoSearch is not very resilient. i think at least the view config should persist between restarts, just like the rest of the documents.

some more information:
apart from power-loss we have a script that taskkill /f arangod everyday then restarts it. The goal is to prevent ArangoDB's memory footprint from growing out of control (i have the corresponding command-line options set to minimize memory footprint but it still grows overtime)
if left unattended, on ubuntu could result in OOM kills, on windows7/10 this can cause BSODs.

some more information:
apart from power-loss we have a script that taskkill /f arangod everyday then restarts it. The goal is to prevent ArangoDB's memory footprint from growing out of control (i have the corresponding command-line options set to minimize memory footprint but it still grows overtime)
if left unattended, on ubuntu could result in OOM kills, on windows7/10 this can cause BSODs.

shouldn't you use service arangodb3 restart ?

shouldn't you use service arangodb3 restart ?

shouldn't you use service arangodb3 restart ?

nope since we're mainly running arangod on windows.
we find that running arangod.exe in a CMD window is more reassuring, comparing to running it as a windows service. when things went wrong i can just look at the window.

shouldn't you use service arangodb3 restart ?

nope since we're mainly running arangod on windows.
we find that running arangod.exe in a CMD window is more reassuring, comparing to running it as a windows service. when things went wrong i can just look at the window.

but requesting an ordered shutdown (i.e. using curl) is definitively the better way to go:
https://www.arangodb.com/docs/stable/http/miscellaneous-functions.html#initiate-shutdown-sequence

but requesting an ordered shutdown (i.e. using curl) is definitively the better way to go:
https://www.arangodb.com/docs/stable/http/miscellaneous-functions.html#initiate-shutdown-sequence

If ArangoDB is installed as a service on Windows, then you can stop the service orderly in an elevated command prompt or PowerShell like this:

sc stop arangodb - initiates the service shutdown and terminates immediately. You can run sc query arangodb to check the state, which should eventually become 1   STOPPED
net stop arangodb - this one is blocking, i.e. it waits until the service is shut down before it ends

The service can be started again by using start instead of stop using either command.

If ArangoDB is installed as a service on Windows, then you can stop the service orderly in an elevated command prompt or PowerShell like this:

sc stop arangodb - initiates the service shutdown and terminates immediately. You can run sc query arangodb to check the state, which should eventually become 1   STOPPED
net stop arangodb - this one is blocking, i.e. it waits until the service is shut down before it ends

The service can be started again by using start instead of stop using either command.

@thphd there is a PR potentially fixing your issue with lost indices
https://github.com/arangodb/arangodb/pull/13313
The fix will become a part of the next minor 3.7 release.

@thphd there is a PR potentially fixing your issue with lost indices
https://github.com/arangodb/arangodb/pull/13313
The fix will become a part of the next minor 3.7 release.

Hi @thphd,
Version 3.7.10, which includes the above mentioned fix, has been released in the meantime.
Could you please upgrade and let us know whether the issue persists?


remove auto margin from omit layout

*Issue:*https://github.com/bcgov/entity/issues/22109
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the namex license (Apache 2.0).

/gcbrun

Temporary Url for review: https://bcregistry-btr-dev--pr-201-8q7k6emy.web.app


Is MultiMNIST data avaliable publicly

Thanks for you code.
I want to know where can I find the MultiMNIST dataset used in your paper if it's avaliable now.

Here is the link: https://drive.google.com/file/d/1FLVO0l8vMXz-UaInCRPZZKx-rv_MPSLA/view?usp=sharing Loader in the code should be able to read it if you put in the right folder and set the folder in configs.json

OK, thanks for your help.

It seems like this link is now broken?
Why is this multimnist dataset so hard to find online?


editor.codeActionsOnSave organizeImports and editor.formatOnSave with search & replace doesn't respect formatOnSave

VSCode Version: Version 1.25.1 (1.25.1)
OS Version: MacOS 10.13.4 (17E199)

Steps to Reproduce:

set user settings

"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
  "source.organizeImports": true
}

create a handful of files with long import statements like

import {
  IComponentInterface1,
  IComponentInterface2,
  IComponentInterface3,
  IComponentInterface4,
  IComponentInterface5,
  IComponentInterface6,
  IComponentInterface7,
  IComponentInterface8,
  IComponentInterface9,
  IComponentInterface10,
  IComponentInterface11,
  IComponentInterface12,
} from '../component';

leave some files open and close some others

do a search and replace for IComponentInterface1 and replace it with IDummy

note that all files, regardless of whether they're open in the editor or not, have imports that have reverted to a one-liner
import { IDummy, IComponentInterface2, IComponentInterface3, IComponentInterface4, IComponentInterface5, IComponentInterface6, IComponentInterface7, IComponentInterface8, IComponentInterface9, IComponentInterface10, IComponentInterface11, IComponentInterface12 } from '../component';

Does this issue occur when all extensions are disabled?: Yes

note that all files, regardless of whether they're open in the editor or not, have imports that have reverted to a one-liner

That's the undesired case, right? Does this reproduce without extension being enabled? Does this reproduce when doing a simple edit and save operation?

i'd expect that it respects the user settings, and no, this only happens when doing a search/replace in a workspace

i'd expect that it respects the user settings,

What user setting? The fact that everything goes to one line looks like some formatter is involved...

Hi,
i used the user settings
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
  "source.organizeImports": true
}

and disabled all extensions in my editor in order to reproduce the behavior.
the behavior described in the first comment only happen when trying to search and replace in a project, it doesn't happen when saving a single file.
the expected behavior is that a search and replace respects the same formatting as if opening, editing and saving a single file.

I can still not reproduce. Please update with more step/context or share the project with. Thanks


Add Input validation to APIView Upload.

For manual review/revision uploads, based on file extension expected be the language, we should validate the file selected and provide immediate feedback to the user rather than allowing the request to error.
### Tasks
- [ ] Validate the file names are valid. Should contain no space.
- [ ] https://github.com/Azure/azure-sdk-tools/issues/7747

Reopening this to track client side input validation.

Handled by new APIview UI


[FLINK-17111][table] Support SHOW VIEWS in Flink SQL

What is the purpose of the change
FLINK-17106 introduces create/drop view in Flink SQL. But we can't list views from TableEnvironment or SQL. This PR supports SHOW VIEWS in Flink SQL. BTW: We follows the Hive style which lists all tables and views with SHOW TABLES and lists only views with SHOW VIEWS.
Brief change log

546d367 Add show views syntax in sql parser
fe6f4d9 Add listViews interface in TableEnvironment
39fb3f9 hotfix create/drop view in batch mode for legacy planner
05288fe Support SHOW VIEWS in blink planner
28223e2 Support SHOW VIEWS in legacy planner

Verifying this change
This change added tests
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

@godfreyhe updated by your comments, pls have another look.

Thanks for the update @docete , LGTM
Thanks for your review.

@KurtYoung Could you take a look and merge this if you have time?


[RFC] Deprecate Request and Response in Container

This PR adds deprecation notices when you retrieve the Request, Response or Environment from the Container. It's very confusing to have these in the Container as they are "stale" and should never be used.
It updates App::run() so that it no longer uses the container for these objects, but instead creates them itself. I've also updated run()'s signature so that you can now pass in a request and a response object if you want to use your own.
Similarly, I've updated App::subRequest to create it's own Environment and Response objects.
Would appreciate people's thoughts on this.

:+1:
Would this not be a BC break?
If someone changes the container request and response object before calling run(), they would expect that Slim uses these objects, but instead, Slim will create a new request and response.

That's a good question. They would have to change their code to send the request and response in via run().
Maybe we need a new method then.

I guess everything should work now!
Good job :+1:

I'm still definitely :+1: on that ;) Those are value objects, not stateless services, so IMO they shouldn't be in the container.

@mnapoli I'm annoyed with myself for not thinking of changing the signature to run() back then!

@akrabat Wouldn't be good to call createResponse() instead of this:
https://github.com/akrabat/Slim/blob/deprecate-request-response-env-from-container/Slim/App.php#L501-L503

Yes - I've updated.

How would this affect slim/twig-view TwigExtension? It extracts the request from container to retrieve basePath, how would this be done instead?
// Register Twig View helper
$container['view'] = function ($c) {
    $view = new \Slim\Views\Twig('path/to/templates', [
        'cache' => 'path/to/cache'
    ]);

    // Instantiate and add Slim specific extension
    $basePath = rtrim(str_ireplace('index.php', '', $c['request']->getUri()->getBasePath()), '/');
    $view->addExtension(new Slim\Views\TwigExtension($c['router'], $basePath));

    return $view;
};

We still be causing a BC break. If someone try to get request/response from container before call run.
Good catch @juliangut, but in that case it won't generate error unless you use view before call run(no problem using inside middleware/route callback).

Still more thinking required!

I love this.
Yes plz.
:+1:

Should we not put into the container actual Factories for Request/Response/Envrionment?

How would this affect slim/twig-view TwigExtension? It extracts the request from container to retrieve basePath, how would this be done instead?

It won't affect it. This PR registers request and response with the container so that when the view is retrieved from the container, the objects are there.
However, we need a new pattern as a deprecation notice will be raised.

However, we need a new pattern as a deprecation notice will be raised.

That was what I was refering to :smile:, I see a deprecation notice when there was none as a way of affecting behavior

Needs to be done in 4.0.


Multiple values with same timestamp are not getting saved

Description
If there are multiple values with same timestamp, only the first one is getting saved and rest all are getting ignored. e.g if you get london air quality data on hourly basis, it takes multiple reading within the hour and api returns all the multiple ratings but when DC tries to save it, it only picks the first one and ignores the rest all.
Error log
No error

I am not sure if this is a bug. There should only be one value per timestamp.
As for the LAQN, each reading should have the actual timestamp when the reading was made. That should be the timestamp of the data, not the timestamp when the api endpoint was called.

Archive.zip
@borkurdotnet  that should ideally be the case, but london air quality also provides datasets with hourly and daily values.
Datasets that provide values for whole day, only contains date and multiple readings but not the timestamp at which the reading was taken.
Datasets that provides values on hourly basis, provides one timestamp for that hour and if there are multiple reading taken during that hour, timestamp doesn't change. e.g if there are 3 readings taken between 10-11am then the timestamp only shows 10am and multiple entries of values.
Both type of datasets are attached.

In that case this could be done by using different attributes. The hourly and daily values are two different time series that should be two separate time series. The daily time-series could have timestamp at noon or midnight.
Regarding the multiple reading per timestamp in hourly values, I would contact the LAQN and ask what those values mean since they appear only for two sites: WM5 and WM6. If they are indeed multiple readings during the hour, I'd look into aggregating them into a single hourly value rather than extending the centralised data format for this corner case.

Point taken, i will check with KCL tomorrow, however post check there other api calls looks like they just have more sensors installed in that area, but i will confirm with them.
But if the more values is because of more sensors then i believe this could happen with other areas as well.
This is one corner case we have found, there could be more as people could build importers for datasets we may not know yet. It would be great if we give them as much flexibility as possible.

@borkurdotnet @arya-hemanshu I see this scenario falling in the real-time support (e.g. #131 and similar in the Real Time API support milestone).


Verify Navier-Stokes solution with MMS

First I should be able to verify the steady mass and momentum equations using the RHS and manufactured solution from here: http://dealii.org/8.5.0/doxygen/deal.II/step_55.html

I was having some trouble with MMS; but now I've verified against the lid-driven cavity flow benchmark (with Re = 100)  from Ghia's 1982 paper.

This was resolved as of merging the pull request with commit e685c19ed553fff285501b7c59a8ea11c437c4ba

Here's the result by the way:


[WIP] add method to add more dependencies to specific endpoints

based on https://github.com/stac-utils/stac-fastapi/pull/295
cc @alukach

This is not working as it is. While the dependencies are registered
from fastapi import FastAPI, security, Depends, HTTPException
from starlette import status

from titiler.core.factory import TilerFactory

http_basic = security.HTTPBasic()

def must_be_bob(credentials: security.HTTPBasicCredentials = Depends(http_basic)):
    if credentials.username == 'bob':
        return True
    raise HTTPException(
        status_code=status.HTTP_401_UNAUTHORIZED,
        detail="You're not Bob",
        headers={"WWW-Authenticate": "Basic"},
    )

cog = TilerFactory(
    route_dependencies=[
        (
            [
                {"path": "/bounds", "method": "GET"},
                {"path": "/tiles/{z}/{x}/{y}", "method": "GET"},
            ],
            [Depends(must_be_bob)],
        ),
    ],
)
print(cog.router.routes[0].dependant.dependencies)
app = FastAPI()
app.include_router(cog.router, prefix="/something")
print(app.routes[4].dependant.dependencies)  # This is the `/bounds` endpoint

[<fastapi.dependencies.models.Dependant object at 0x137d06d30>, <fastapi.dependencies.models.Dependant object at 0x137d06d60>]
[<fastapi.dependencies.models.Dependant object at 0x137ee0940>]

😬 TypedDict is not available in python 3.7


What format is it using?

Problem is when I select the date and time from a picker it formats the date and time how I want but when I manually edit the text box it outputs something like this: Date {Tue Feb 02 2016 05:25:08 GMT+0000 (GMT Standard Time)} and after I try to pick again it leaves it like so.

https://github.com/dalelotts/angular-bootstrap-datetimepicker#formatting-the-date-in-an-input-box


[VCDA-4369] Update createdBby version only when capvcd status is misisng

Signed-off-by: Aniruddha Shamasundar<EMAIL_ADDRESS>Description
Please provide a brief description of the changes proposed in this Pull Request

Update createdBy capvcd version before the first update to the capvcd RDE

Checklist

[x] tested locally
[ ] updated any relevant dependencies - N/A
[ ] updated any relevant documentation or examples - N/A

API Changes
Are there API changes?

[ ] Yes
[x] No

If yes, please fill in the below

Updated conversions?

[ ] Yes
[ ] No
[ ] N/A

Updated CRDs?

[ ] Yes
[ ] No
[ ] N/A

Updated infrastructure-components.yaml?

[ ] Yes
[ ] No
[ ] N/A

Updated ./examples/capi-quickstart.yaml?

[ ] Yes
[ ] No
[ ] N/A

Updated necessary files under ./infrastructure-vcd/v1.0.0/?

[ ] Yes
[ ] No
[ ] N/A

Issue
If applicable, please reference the relevant issue
Fixes #

This change is

controllers/vcdcluster_controller.go line 585 at r1 (raw file):
Previously, arunmk (Arun M. Krishnakumar) wrote…
I am a bit confused by this. When will the two be different? Will the RHS be empty when this occurs?

Yes, If already populated, the version in the RHS cannot be different than the LHS. I was considering scenarios where CAPVCD gets upgraded to a future version.

pkg/capisdk/defined_entity.go line 438 at r1 (raw file):
Previously, arunmk (Arun M. Krishnakumar) wrote…
Can we not use the PatchRDE set of helpers here?

Made changes to include PatchRDE() in the function.
I tried using GetCapvcdRDE() but if capvcd status is empty (i.e "capvcd": {} in the RDE) the GetCapvcdRDE() function will parse the empty capvcd status into struct with default values.

controllers/vcdcluster_controller.go line 585 at r1 (raw file):
Previously, arunmk (Arun M. Krishnakumar) wrote…
yes, and I was worried about that. We should not upgrade the capvcd version to the future version. It should be the version that installed the cluster.

After discussion, we decided that capvcdVersion should change while createdBy version should not change.


About flattening and headnodes

Currently flattens clans of size 2 (OK) and clans of color palette[0] which is white so not seen - but can be detected in little breaks of some lines. If palette[0] becomes seen, maybe we should not flatten them anymore. Also, clans consisting of a single path could be flattened if drawn in the appropriate order.

Also: in some flattening cases, the headnode is chosen near the middle, does this work? is it to be applied in other cases?

In unflattened cases, headnode links to top which will be alpha-smallest, does this work well enough?

Must look up also the "unflatten" method of Graphviz's dot engine.

Should detect "path" (in particular 4-path) clans and flatten them accordingly, maybe a hidden node may work using the "ordering" graph attribute.


GenomeWorks compiling error

Hi!
I am working around two days trying to compile GenomeWorks which included into racon genome assembler.
GCC = 9.3.0
cmake = 3.18.20200908-g1d74a64
make = 4.3
nvcc = 11.0
cuDNN = 8.0.2
nvidia driver = 450.51.06
CMakeCache.txt was manually edited with including CMAKE_CXX_FLAGS:STRING=-DFMT_USE_USER_DEFINED_LITERALS=0 string
the error occured whyle the most of work was done:
[ 81%] Linking CXX static library ../../lib/libcudaaligner.a Reaping winning child 0x55c2e3d8eaf0 PID 14870  Live child 0x55c2e3d8eaf0 (lib/libcudaaligner.a) PID 14872  Reaping winning child 0x55c2e3d8eaf0 PID 14872  Live child 0x55c2e3d8eaf0 (lib/libcudaaligner.a) PID 14874  Reaping winning child 0x55c2e3d8eaf0 PID 14874  Removing child 0x55c2e3d8eaf0 PID 14874 from chain. Considering target file 'GenomeWorks/cudaaligner/CMakeFiles/cudaaligner.dir/build'.  File 'GenomeWorks/cudaaligner/CMakeFiles/cudaaligner.dir/build' does not exist.   Considering target file 'lib/libcudaaligner.a'.   File 'lib/libcudaaligner.a' was considered already.  Finished prerequisites of target file 'GenomeWorks/cudaaligner/CMakeFiles/cudaaligner.dir/build'. Must remake target 'GenomeWorks/cudaaligner/CMakeFiles/cudaaligner.dir/build'. Successfully remade target file 'GenomeWorks/cudaaligner/CMakeFiles/cudaaligner.dir/build'.  Reaping losing child 0x560a19aabcb0 PID 14245  make: *** [Makefile:171: all] Error 2 Removing child 0x560a19aabcb0 PID 14245 from chain.
I updated cmake and make, but compilation still aborting.
I have no a great experience on C-like languages and compilation. May be I don't understand some configs or I have to change something in cmake-generated files?
I hope you can help me to find answers.
Thanks.

Hi @asantat
I can't really say what's wrong from the output you sent.
Does it compile fine if you do not edit the CMakeCache.txt?
Could you try to compile with make VERBOSE=1 2>&1 | tee verbose_build.log and share the verbose_build.log?

Thank you @ahehn-nv  for reply.
I tried compilation both with and without an editing. Log files attached.
verbose_build_with_editing.log
verbose_build_without_editing.log

Hi @asantat - I just went through the log and it looks like an issue with a deleted class constructor. However, what's interesting is that we didn't see it in our CI tests, and I think one reason for that is we're only testing for GCC 5 and 7 (but not 9 yet). Is there a chance you can try with gcc 5.xx or 7.xx?

I can do with gcc-7 (wich is enabled by update-alternatives) but all of my environment configured and much of soft compiled with gcc-9. If there were a chance to make it working with newer gcc version I'll be very glad. The gcc-10 doesn't do stuff too. Also I tried to define compiler version be 9 at cmake stage and a compilation has broken too, but the c++ version automatically selected was 14.

In the cmake file that was generated automatically CUPTI library pass is usually missing. But the alias to library is located beside of the others. I wright it manually every time. And the -DFMT_USE_USER_DEFINED_LITERALS=0 string if added as a cmake command line argument, doesn't appear in generated cmake file.

while compiling with gcc-7 compiled successfully

Got it, thanks for the update @asantat . Let me see if I can fix it up, but the fix may not be very quick. Another potential option is running this in a docker container that has the right build versions and environment. Is that something you might be interested in?

Hi @asantat are you unblocked with the gcc-7 support or is the gcc 9 a requirement? And would the docker image workaround be sufficient for you? We're tracking CUDA 11 support in https://github.com/clara-parabricks/GenomeWorks/issues/460 and we'll investigate adding gcc-9 to it as well

Hi @asantat. We fixed the problem you saw with GCC 9 in our latest release (v0.5.3). Could you try again?

Oops this got closed because it was linked to the issue - reopening again till @asantat verifies the fix in racon (https://github.com/lbcb-sci/racon/pull/47)

With these fixes merged into racon it was successfully compiled with gcc-9 and CUDA 11 enabled.

Perfect! Thanks for confirming. Closing the bug then.


Reduce nonsence value for capacity.skipcounting.hours

When doing rapid host maintenance one after the other, and when previously stopping a huge number of VMs on a single host (i.e. all VMs on that host are stopped) - no new VMs can be started on this empty host since those VMs' capacities are reserved for 3600sec - so when doing maintenance of another host, VMs can't be migrated to this empty host.
Not sure who and why has this setting default value to such high value (1h) (doesn't make sense)
Not to mention the name of the setting is wrong, should be "capacity.skipcounting.second"
Another PR to rename this setting is most welcome @nvazquez @DaanHoogland @weizhouapache

@andrijapanicsb is is better to remove this configuration from database and add new config via Configkey ?

@weizhouapache if it doesn't exists in config key form, I guess that's OK? How about #3960

@weizhouapache if it doesn't exists in config key form, I guess that's OK? How about #3960

@andrijapanicsb I think these are different.
max.retries was added in 4.13->4.14, since 4.14 is not released yet, we do not need extra sql change if we rename it.
capacity.skipcounting.hours was added quite long ago (before 2013), so extra sql change is needed if we rename it. we have two options (1) rename it in sql (2) delete it in sql and add new ConfigKey.

sorry @weizhouapache my bad (read something wrong...) - so whatever works for you - if the config key-based addition of this one is not there, yes please (don't expect me to know how to add config key :) - so feel free to edit my PR please?

@weizhouapache I was expecting a PR from @nvazquez to rename this setting to xxx..seconds (not hours) - that's what I was mentioning (linked to wrong PR)... so we can put everything in a single PR?

👎 no config key should be added in this way

Closed due to not being able to accomplish the full goal - as discussed in #3942


add spec infer related into prometheus metrics.

And add a new boost_ratio metric used to directly show how much spec infer would help in saving decoding steps.

cc @cadedaniel

will take a look Monday. btw, how is this different from system efficiency metric? (boost ratio == num_spec_tokens+1 * system efficiency?)

will take a look Monday. btw, how is this different from system efficiency metric? (boost ratio == num_spec_tokens+1 * system efficiency?)

+1

Thanks for the contribution! It would be great to have these metrics flowing through prometheus!

will take a look Monday. btw, how is this different from system efficiency metric? (boost ratio == num_spec_tokens+1 * system efficiency?)

the new boost_ratio would express more accurate expression at how much system is benefit from spec info, as there is case that spec info give no proposal, like no matching in ngram or seqlen+spec exceed over model length.
Furthermore, with the new dynamic spec coming https://github.com/vllm-project/vllm/issues/4565, the k would not be constant one, so that we may need accumulate actual token emitted comparing with the steps.

@cadedaniel @robertgshaw2-neuralmagic
Any comment for the latest PR change? :)

asking @LiuXiaoxuanPKU if she has bandwidth to review the PR. the approach looks good to me, concerns are 1) we should make sure the top-level metrics make sense to users (not just to us as developers), 2) the naming of the metrics collection seems weird

I can review + merge tomorrow

Hi @robertgshaw2-neuralmagic @cadedaniel ,
How is going with the spec related metric, have we got the conclusion for how to make it happen? ;)
The metric is critical to us as a direct feedback reflecting how well current spec sys is doing.

thanks & sorry this slipped. I might have time tomorrow to finish review. cc @LiuXiaoxuanPKU and @comaniac who might have bandwidth.

@cadedaniel
I submit a rebased PR, which keep the concat logic as before. num_spec is made to aggregate "batch_size*k" number.


Fix #567, Document CFE_ES_RunLoop increment task counter behavior

Describe the contribution
Fix #567 - updated documentation
Testing performed
CI - documentation only
Expected behavior changes
None
System(s) tested on
CI
Additional context
None
Third party code
None
Contributor Info - All information REQUIRED for consideration of pull request
Jacob Hageman - NASA/GSFC

The App Developer's Guide should also be updated.

The App Developer's Guide should also be updated.

Where specifically?

The App Developer's Guide should also be updated.

The developer's guide has CFE_ES_RunLoop in the sample code and the API documents use.  No further updates identified.  Should be sufficient for closing current issue.  Open a new issue (or provide explicit requested changes here) for additional changes.

CCB:2021-06-09 APPROVED


Select All button in list view will delete all docs including locked docs

Describe the Bug
When selecting the toggle all checkbox in the list view of a collection - the select all button will render in the top right which allows the selection of all documents that may exist on another page instead of just the ones on the current page.
The toggle all properly ignores locked documents on the current page but the select all does not - therefore allowing to delete, edit, unpublish etc all documents including ones that are currently locked.
https://github.com/user-attachments/assets/1cb69915-f604-4321-8956-15535900dddc
Link to the code that reproduces this issue
pnpm dev locked-documents
Reproduction Steps

pnpm dev locked-documents

Create 6+ posts in the posts collection

Change the list view scope to only show 5 docs per page

Have a separate user start editing on the docs on the second page to lock a doc on a separate page

Click the toggle all checkbox input as the initial user

In the top right, click the select all docs button

Delete all docs with the delete button

Watch all docs get deleted - including the locked ones

Expectation: Locked documents should be ignored.
Which area(s) are affected? (Select all that apply)
area: ui
Environment Info
Payload: v3.0.0-beta.116

Fixed with #8813


Prefer int math when constructing DateTime from milliseconds

The "Unix Timestamp with microseconds" notation was introduced in php/php-src@55626549d81d0feadb1d160be78fcf2b898a48cc and originally expected exactly six points of precision. The format was relaxed in php/php-src@0bc8785b615e908a74461df2568ba9b906f3f5c0 for PHP 8.0+ to accept between zero and six points of precision.

Closing, as this was already sorted out in https://github.com/mongodb/mongo-php-driver/pull/1623.


Adds ability to disable dropCursor on Nodes

This PR adds a disableClass which can be placed on certain Nodes that you might not want the dropCursor to appear on.
Use case: Imagine a custom atom Node that allows files to be dragged into it from the OS. Without this check to disable the dropCursor it will display the cursor above or below this custom Node, incorrectly indicating that the file will be dropped outside of the Node.

I don't think using DOM classes for this is the best approach here. But I'd be okay with having a node spec property (say disableDropCursor) that has this effect.

@marijnh Thanks for your reply. I agree, using DOM classes isn't the best and would be more than happy to adjust this PR to your suggested approach. I'm quite new to ProseMirror and therefore not entirely educated on the entirety of its capabilities in terms of customisation. I believe this is the Node spec you're referring to - my assumption then is that adding a disableDropCursor property would not be something a plugin is capable of doing and therefore would require a change to the Node class itself - please correct me if I'm wrong. Any guidance on a way forward would be appreciated. Thanks!

The raw object that the user provides as node spec is stored in NodeType.spec, so it is possible for extensions to recognize new node spec properties without changing the model package.

@marijnh I update the PR to check against a Node spec property instead. Works well. The only thing I found was it would also disable the drop cursor when dragging around existing Nodes within the document - so if you wanted to re-arrange text, it wouldn't display the drop cursor when a Node with disableDropCursor is its sibling (which makes sense). As my use case is catered towards dragging external sources into the editor, I added a check against the editor state to see if it's actually document nodes being dragged. This makes me wonder if the property disableDropCursor is descriptive enough. Something like disableDropCursorWhenSourceExternal would be more accurate, but also quite verbose.

I think pos.inside is a more appropriate position to query (if you drag over the end of a leaf node, pos.pos might point after that node)
Would it be reasonable to make this a predicate function rather than a boolean, so that special-cased stuff like view.dragging doesn't have to be hard-coded? That way you could even inspect the dataTransfer to figure out whether files are being dragged to further refine the behavior. (Could pass the view and the node's resolved position to the function.)

I like the idea of a predicate function for better flexibility so I've added one as an option, but I may have misunderstood you as it sounds more like the predicate should be returned in some manor with the view and resolved node position.

Ah, what I meant was that a node spec could contain a predicate function. Maybe have a disableDropCursor property that can be either a boolean or a function, and will be called with a view and a resolved position (returning a boolean) when it is a function.

Got it, that makes a lot more sense now that I have a fresh head. Updated the code to reflect this.

Thanks. I've merged this and followed up with attached patch, which adds documentation and fixes some corner cases (such as when pos is null) and code style. Could you see if the result works for you?


Update communication-identity-readme.md

Docs Build status updates of commit 11a1e37:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-services/latest/communication-identity-readme.md
:warning:Warning
View (azure-python)
Details

docs-ref-services/latest/communication-identity-readme.md

Line 2, Column 1: [Warning: ms-prod-and-service - See documentation] Only one of the following attributes can exist: 'ms.prod', 'ms.service'. Use ms.prod for on-premise products, or ms.service for cloud services.
Line 9, Column 16: [Warning: ms-prod-technology-invalid - See documentation] Invalid value for 'ms.technology': 'azure' is not valid with 'ms.prod' value 'azure'.
Line 11, Column 13: [Warning: ms-service-subservice-invalid - See documentation] Invalid value for 'ms.service': 'communication'.
Line 22, Column 1: [Warning: multiple-h1s - See documentation] Multiple H1s(H1 'Getting started') are not allowed. You can only have one top-level heading.
Line 34, Column 1: [Warning: multiple-h1s - See documentation] Multiple H1s(H1 'Key concepts') are not allowed. You can only have one top-level heading.
Line 112, Column 1: [Warning: multiple-h1s - See documentation] Multiple H1s(H1 'Troubleshooting') are not allowed. You can only have one top-level heading.
Line 115, Column 1: [Warning: multiple-h1s - See documentation] Multiple H1s(H1 'Next steps') are not allowed. You can only have one top-level heading.
Line 124, Column 1: [Warning: multiple-h1s - See documentation] Multiple H1s(H1 'Contributing') are not allowed. You can only have one top-level heading.
Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.
Line 19, Column 392: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://docs.microsoft.com/azure/communication-services/quickstarts/access-tokens?pivots=programming-language-python' will be broken in isolated environments. Replace with a relative link.
Line 26, Column 63: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://docs.microsoft.com/azure/communication-services/quickstarts/create-communication-resource?tabs=windows&pivots=platform-azp' will be broken in isolated environments. Replace with a relative link.
Line 26, Column 217: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://docs.microsoft.com/powershell/module/az.communication/new-azcommunicationservice' will be broken in isolated environments. Replace with a relative link.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Fix circular deps

Looks bad to me - did you take code from tslint-no-circular-imports
https://github.com/bcherny/tslint-no-circular-imports/blob/master/noCircularImportsRule.ts
and re-license it with Angular MIT?
Why not fork their repo, make the fix there, and point our package.json at your fork?

I created https://github.com/bcherny/tslint-no-circular-imports/pull/12
Once the owner makes a release, I'll move to the new version. In the meantime, a lot of our circular dependencies went unnoticed because of the flow.
I'm going to move the tslint rule to use my branch as a dependency in the meantime.

Boris merged my PR, I'm doing a rebase right now.

@hansl this got lost when we moved back to angular-cli repo. Do we have circular deps over there? I guess we have it building with Bazel now so it must have been fixed?


Map cursor - forslag

Is your feature request related to a problem? Please describe.
Ønsker en mer tydelig cursor for "klikk i kart/identyfi!
Describe the solution you'd like
Noe ala:
https://www.shareicon.net/pointer-map-pointer-information-map-locator-maps-and-flags-map-point-644122

noe pixlete


Question: Relative hue brightness

Hi there. I'm using color.js to generate unique colors per username in a chatroom. Basically I'm picking a random hue (in lch colorspace) based on the user's name and then displaying their chat message with that color after converting it to rgb values.
However, an issue I'm running into is that bright colors like yellow are too dark on lightness 50%, and dark colors like blue are a bit too bright on it. I'd like to be able to correct the value based on the perceptual brightness of the hue, but I haven't been able to figure out how to do that.
Is there a way to do this, either through using a different colorspace or by some other method?
For the record, here's more or less what I'm doing:
const getUserColor = username => {
  const hue = getRandomIntBySeed(username, 0, 360) // 0, 360 are min/max values
  const lum = getRandomIntBySeed(username, 50, 70)
  const c = new Color('lch', [lum, 100, hue])
  return c.to('srgb').toString() // this gets set as a style tag on an element
}

I appreciate any tips!

OK, I think I figured it out. I actually just shouldn't have tried to do this with the lch colorspace. If I use the hsl colorspace all colors are nice and bright and have luminance according to the relative brightness of the color.
I'll close since this answers my question and this might be useful for other people to read.

LCH doesn't work like HSL. 50% lightness is actually 50% lightness, whereas HSL is all over the place and yellow and blue have the same lightness. Not sure what you need exactly, but gamut mapping may also be at play, since LCH can express any visible color, whereas HSL can only express sRGB colors.


Is it possible to dynamically switch multiple LoRA adapters?

In the transformers library, we can load multiple adapters to the original model by load_adapter then switch the specified adapter with set_adapter like below.
# base model
model = AutoModelForCausalLM.from_pretrained(
    model_name,
)

# load multiple adapters
model.load_adapter("model/adapter1/", "adapter1")
model.load_adapter("model/adapter2/", "adapter2")

# switch adapter
model.set_adapter("adapter2")

Is it possible to do the same thing with llama cpp python?
I know constructor of Llama() has lora_base and lora_path parameters so one adapter can be applied when loading the model.
But my question is switch multiple adapters after model loading.

@nai-kon not supported in the high-level API as I believe it just keeps applying the LoRA each time the low level function calls are made. To "switch" you'll need to re-load the full model.

Cool feature, VLLM has it, but for some reason not working for me


Regression with Hitman 2 struggling to switch from windowed -> fullscreen mode on Wayland

This is a strange one.  I am very consistently running into a problem on Wayland with Proton 8.0-3-rc1 where Hitman 2 is taking an extraordinarily long time (in one case nearly 2 minutes) to regain focus completely after using alt+enter to resume fullscreen mode from windowed mode (see repro steps below).
I ran a git bisect which blamed  83a29428 "[dxgi] Only enumerate outputs which belong to the adapter or associated iGPU" and when I revert that alongside 14eb46900 "[dxgi] Be more robust against monitor enumeration issues" and  550e04c57 "[dxgi] Preserve system monitor sort order in enumMonitors()" (in order for the revert to apply cleanly), it consistently "fixes" the issue and I no longer can reproduce the problem.
However, when I tried to get a log from experimental-bleeding-edge-8.0-47059-20230615-pe794f1-w67ff8a-dc5ab5b-v0f33ca I could also not reproduce the problem.  I tried using the dxvk version from bleeding-edge with Proton 8.0-3, and I'm somehow still getting the problem, so it does not appear that the problem is fixed in DXVK master, and yet somehow the problem is not reproducing for me on the BE build.
Since this was so inconsistent, I asked other folks to try to repro, and someone else saw the same issue as me with Proton 8.0-3-rc1 on a different setup (also AMD+Wayland, but different monitors, GPU, etc).  This makes me suspect that there might be some real issue here, although the behavior on BE makes it seem like we are just getting "unlucky" with the timing on 8.0-3.  I will ask them tomorrow to test BE and see what happens there. Edit: They saw the same thing as me - for some reason the problem is not currently reproducing on BE, although the difference does not seem to be the dxvk version.
Steps to reproduce most effectively:
0) Use Wayland (most testing done with Wayland+Plasma)

Launch Hitman 2 in exclusive fullscreen mode
alt+enter to go to windowed mode
alt+enter a second time (which should switch the game back to fullscreen mode)
When the problem occurs, the custom cursor will return and you will not be able to click on anything (because the game is now "in focus", but the game window will appear minimized for some time between a few seconds and several minutes, before eventually reappearing fullscreened.

Software information
Hitman 2 (863550)
System information

WM: Plasma Wayland
GPU: AMD RX 570
Driver: radv Mesa 23.1.2
Wine version: Proton 8.0-3-rc1
DXVK version: HEAD at 4d254b13bee632e3f5c274e0a7d1aa919238d6a  [dxgi] Unlock presenter lock early during presentation
Bisect blamed:  83a294285e90c65554bc851c4d4a126aa15916a4  [dxgi] Only enumerate outputs which belong to the adapter or associated iGPU

Log files
Log of failure on Proton 8.0-3rc1
hitman-2-alt-enter-wayland-trouble.zip
xrandr output - xrandroutput.txt
vulkaninfo output - vulkan-info-output.txt

It turns out that the dxvk commit was a red herring and we were just getting "unlucky" with the timing on 8.0-3rc1.  @gofman dug into this and found the issue in winex11.drv.  I'm going to close this issue since it turns out that the behavior was unrelated to the dxvk change.


Component: Content link, mobile version

Description
We need to add the mobile version of the Content Link component. The Design Library has a new small version with all three states, as the other instances of the same Figma component.
References

Design Library: Content link component

@panchovm could you add a reference to the mockup(s) this appears in? I'm actually forgetting 😅

I updated the initial post.

@panchovm Is this component ready to go? I'm not sure if the status of ticket work required is updated

Yes, it's ready. Here is the component with those variants.


Fix tests to ensure clear command works.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 87.67%. Comparing base (cb963ba) to head (3b94a87).

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #22      +/-   ##
==========================================
+ Coverage   84.72%   87.67%   +2.94%
==========================================
  Files           8        8
  Lines         216      219       +3
==========================================
+ Hits          183      192       +9
+ Misses         33       27       -6

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Added one file processing from command line

Hi,
This is the last part and we will be up to date.
I've exported checkpoint_dir and training_dataset_dir in the config file, make a new launcher to process one file from command line (TODO : quite some duplicate code with train.py which I should fix, documentation should also explain how to use).
There's also added information in the config file about max_input_seq_length and max_target_seq_length.
And finally I removed unused code.
Not related to this pull request but I think your initial idea of saving the vector file for each wav file was good. On my computer it take 8 to 10 seconds waiting for the process to feed input data, at each step !
I will probably have a look into this.

Yes, thats a good point, I also noticed that. I found when I did that before that it quickly used all my memory. A quick calculation:
(3263 * 123  + 517 )* 4 bytes = ~1.66mb.
1.66mb * (9000 -data points) = ~15gb
I realize 15gb isn't so bad when considering parts of it could be loaded from disk into memory as needed, but I'd like to reduce the memory foot print. Maybe switching to 16 bit precision, and reducing sequence length would work (I think the 3263 can be reduced a lot without losing many data points). I can run some experiments to optimise this a bit.

I am currently running with 800 for sequence length and it works great. That's a 20 second max wav file, almost all files seems to be less than that in the dataset

Just noticed that when I fetched your pr. Way ahead of me.

I don't have enough memory for 3263 :-)

About saving the vectors files I think it should be interesting at least for the test set because we run it often.

Yes, that's a good point. Could certainly save a lot of time. Also, you're right, 800 seems to work well, it's much faster.

I've just seen my mistake : 800 is not for 20 seconds, it's for 8 seconds. I took 0.025s but that's the window length, the window step is 0.01s.
I have tried a local update to reject the files which are too long and I get a lot of it with 800. I'm sure cutting is a bad idea so I will have to find a way to go over 800 on my computer... or find another dataset.


Acceptance Tests for #330 Room Detailed View

User story
#330
Acceptance Criteria

#
Given
When
Then

1
I am a logged in user
I am searching for rooms in the rooms table
I can click on a details button to see extra paramteres of the room

Accepted


Data discrepancy found

Invalid release year 3003 for Lost in Translation, it should be 2003

yes it has been fixed in Release 1.0.0


Fixed legendCallback() html generation

Fixed legendCallback's html generation so that the span lies next to the text instead of being around it.
Not sure if i've done this correctly (it's my first PR). If you need any changes made then comment on the Issue I created.

Coverage remained the same at 71.758% when pulling 4b96572ac010d916bc9ae71122511c5939898267 on dibsyjr1:v2.0-dev into<PHONE_NUMBER>fe81ddd8b8a690e5a7354f09c5d766 on nnnick:v2.0-dev.

@dibsyjr1 can you change the source files instead of the built files? Otherwise these changes will be lost when we rebuild

Coverage remained the same at 71.758% when pulling 5aa16a67c1b34f5d63f52de1e153d3bb2dcca675 on dibsyjr1:v2.0-dev into<PHONE_NUMBER>fe81ddd8b8a690e5a7354f09c5d766 on nnnick:v2.0-dev.

@etimberg is that better? Didn't change the built file back but if you want me to, let me know.

@dibsyjr1 if you could change the built file back, I will merge this :)

Fixed :)

Coverage remained the same at 71.758% when pulling 447801c45a544e518fb55bf5283117869f41f754 on dibsyjr1:v2.0-dev into<PHONE_NUMBER>fe81ddd8b8a690e5a7354f09c5d766 on nnnick:v2.0-dev.

Thanks!

No worries!


Add option to auto-publish new snapshot as version

Checklist

[ ] Appropriate branch selected (all PRs must first be merged to dev before they can be merged to master)
[ ] Any modified or new methods or classes have helpful JSDoc and code is thoroughly commented
[ ] The description lists all applicable issues this PR seeks to resolve
[ ] The description lists any configuration setting(s) that differ from the default settings
[ ] All tests and CI builds passing

Description
fix #538.

Codecov Report

Merging #539 into dev will decrease coverage by 28.75%.
The diff coverage is 6.66%.

@@            Coverage Diff             @@
##             dev     #539       +/-   ##
==========================================
- Coverage   44.6%   15.84%   -28.76%
==========================================
  Files        314      314
  Lines      17114    16190      -924
  Branches    5229     4937      -292
==========================================
- Hits        7633     2565     -5068
- Misses      8267    11598     +3331
- Partials    1214     2027      +813

Flag
Coverage Δ

#end_to_end_tests
?

#unit_tests
15.84% <6.66%> (-0.17%)
:arrow_down:

Impacted Files
Coverage Δ

...b/editor/containers/ActiveEditorFeedSourcePanel.js
0% <ø> (-45.46%)
:arrow_down:

lib/editor/components/FeedInfoPanel.js
0% <0%> (-42.86%)
:arrow_down:

lib/editor/components/EditorFeedSourcePanel.js
0% <0%> (-50.8%)
:arrow_down:

lib/editor/components/CreateSnapshotModal.js
0% <0%> (-64%)
:arrow_down:

lib/editor/actions/snapshots.js
18.33% <0%> (-35%)
:arrow_down:

lib/common/containers/WatchButton.js
32.55% <100%> (-13.96%)
:arrow_down:

lib/manager/components/validation/TripsChart.js
0% <0%> (-80.4%)
:arrow_down:

lib/editor/util/objects.js
14.89% <0%> (-78.73%)
:arrow_down:

...nager/components/validation/ServicePerModeChart.js
0% <0%> (-78.27%)
:arrow_down:

lib/manager/components/HomeProjectDropdown.js
0% <0%> (-75.76%)
:arrow_down:

... and 264 more

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 dcfcf1c...de8998b. Read the comment docs.

Closing in favor of #540


Remove DOM factories for React v16

React 15 prints this warning:

Warning: Accessing factories like React.DOM.div has been deprecated and will be removed in v16.0+. Use the react-dom-factories package instead.  Version 1.0 provides a drop-in replacement. For more info, see https://fb.me/react-dom-factories

So, code like
React.DOM.input(...)

needs to become something like
import DOM from 'react-dom-factories'
DOM.input(...)

or, perhaps
import { input } from 'react-dom-factories'
input(...)

fe479ead23b3037df5d01deece7cb6da17ee98f5 🎉


Unable to delete initial values from an initialized text field

I've been encountering this issue for quite some time now. Finally decided to write an issue for it. I'm currently using v6.5.0, but I've seen this throughout 6.x.x releases.
My forms are set up so that they don't press a submit button or anything like that. The whole form submits whenever a field is changed and loses focus or if the user presses Enter in a focused field. In this scenario, a bunch of buggy behaviour is introduced:
SCENARIO 1 - Cannot delete the last character in the field.

SCNENARIO 2 - After scenario 1, using CTRL+Z to undo has some unexpected behaviour:

SCENARIO 3 - Cannot select the whole value and delete it (CTRL+A + DELETE). The existing value just re-populates.

Here is essentially what my code blocks look like:
Parent.jsx
submitForm = (field, initialValue, newValue) => {
    const projectId = this.props.params.projectId;
    const testClassId = this.props.params.testClassId;
    const testMethodId = this.props.params.testMethodId;
    const requestObject = this.state;

    requestObject[field.name] = newValue;

    if (field.meta.valid && (newValue !== initialValue)) {
        this.props.updateTestClassMethod(
            projectId,
            testClassId,
            testMethodId,
            requestObject
        );
    }
};

submitOnKeyPress = (event, field, initialValue, newValue) => {
    // submit on Enter button keypress
    if (event.which === 13 || event.keyCode === 13) {
        this.submitForm(field, initialValue, newValue);
    }
};

render() {
    let renderToDom;
    const {
        handleSubmit
    } = this.props;

    if (this.props.methodDetails) {
        renderToDom = (

                <form onSubmit={handleSubmit} style={inlineStyles.form}>
                    <Child
                        initialValues={this.props.initialValues}
                        enableReinitialize={true}
                        params={this.props.params}
                        user={this.props.user}
                        submitOnKeyPress={this.submitOnKeyPress}
                        submitForm={this.submitForm}
                    />
                </form>

        );
    } else {
        renderToDom = (<Spinner />);
    }

    return renderToDom;
}

Child.jsx
renderMethodNameField = (field) => {
    return (
        <TextField
            floatingLabelText="Method Name"
            {...field.input}
            onBlur={() => this.props.submitForm(field, this.state.methodName, field.input.value)}
            onKeyPress={(event) => this.props.submitOnKeyPress(event, field, this.state.methodName, event.target.value)}
        />
    );
};

render() {
    return (

                <Field
                    name="methodName"
                    component={this.renderMethodNameField}
                    normalize={(value) => this.normalizeMethodName(value)}
                    type="text"
                />

    );
}

The form submits and populates correctly. The only issue I'm facing is that I can't completely delete the fields. The only course of action is to highlight the entire value (CTRL+A) and replace the value by typing or pasting in a new one.
Any help on this would be greatly appreciated.

I think I've narrowed this down to being an issue with normalize. I'm forcing the first character to be lowercase and that seems to be affecting my ability to delete it.

For anyone else running into this issue, it turns out the bug was a result of my own code. Here was the method I was calling that was causing the problem:
export const stripSpaces = function(string) {
    let newString';

    if (string) {
        newString = string.replace(/\s/g, '');
    }

    return newString;
};

I had to set let newString; to an empty string like so: let newString = '';
I guess since the newString was not being initialized to an empty string it couldn't handle an undefined variable for normalization, thus causing my problem. That simple change fixed all of my problems.


build: fix container requirements

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 0.09%. Comparing base (46350f5) to head (48a91c9).

Additional details and impacted files
@@          Coverage Diff          @@
##            main     #14   +/-   ##
=====================================
  Coverage   0.09%   0.09%
=====================================
  Files         77      77
  Lines       6561    6561
=====================================
  Hits           6       6
  Misses      6555    6555

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

I see you included this change in #16 but why rejecting this PR ?
Usually is better to have a PR for each change so is easier to reviert in case of issues or for future analysis.


Is it safe to use upload.py ?

Please follow the guide below

Issues submitted without this template format will be ignored.
Read the questions carefully and answer completely.
Do not post screenshots of error messages or code.
Put an x into all the boxes [ ] relevant to your issue (==> [x] no spaces).
Use the Preview tab to see how your issue will actually look like.
Issues about reverse engineering is out of scope and will be closed without response.
Any mention of spam-like actions or spam-related tools/libs/etc is strictly not allowed.

Before submitting an issue, make sure you have:

[x] Updated to the lastest version v1.6.0
[x] Read the README and docs
[x] Searched the bugtracker for similar issues including closed ones
[x] Reviewed the sample code in tests and examples

Which client are you using?

[x] app (instagram_private_api/)
[ ] web (instagram_web_api/)

Describe your Feature Request:
The reason I am skeptic is instagram no longer relies on IP much but more on uniqueness of the mobile attributes(aka device fingerprints) to detect spam. This API doesn't spoof device attributes, so if anyone who is using this API to post for 100+ accounts can comment?

Hello ???

@ping if you haven't experienced  keep it open, someone in community might have. Let them share their experience.

@bolds07 great question https://github.com/ping/instagram_private_api/issues/239.
I don't understand why the repo owner blindly closes all the issues even without triaging them

Because you dont use the template and guidelines set by the repo owner

@notcammy not everything can be put into templates, this is more of a discussion than bug report, stackoverflow doesn't have templates. Had the repo owner been answering/discussing about it on stackoverflow(or any other forum of his choice) we would have happily moved there .

@notcammy this https://github.com/ping/instagram_private_api/issues/239 very much has been written in template. and if thats a concern here you go updated this issue too.

Issues about reverse engineering is out of scope and will be closed without response.

@notcammy which part of my question asks for reverse engineering ?

Not your question, #239's
Your issue was missing the template that is why it was closed

@notcammy I don't even have a deep enough understanding of this codebase yet to suggest reverse engineering, I had just creating a thread to know people's experience with this code, how many people got their account flagged/deactivated for using this on multiple account. if @ping doesn't have any experience he/she may not comment, let others do.

@notcammy @ping should I recreate the issue or wait more to be reopened?

I stopped using this library, it has many issues, they are closed and it's outdated. I use node JS library, it's better imo https://github.com/dilame/instagram-private-api.

@ghost Can you show one of your instagram profile account which you have botted. Generally a  botted instagram account looses engagement.


rpc+contractcourt: merge the contractResolver state into the pendingchannels RPC response [DO NOT REVIEW]

#1227

I'd like to pick this back up, with the exclusion of the commit to detect spends in the nursery. Since then, we've created the Sweeper which itself will handle this notification case. It still stands that as is, the API is blind to these HTLCs that haven't yet timed out causing much user confusion and an inability to properly track all funds throughout the timeout cycle. Even after the new sweeper changes have been merged, we'll still need this for the lifetime that the current nursery exists (and the resolvers will still report directly back to the API).


Build is not picking last changes from Kaoto backend and UI

I guess some layers are reused causing no modifications are detected and so not picking up the latest Kaoto backend and UI

if we run for instance:
docker run --rm -p 8080:8081 --name kaoto kaotoio/standalone:main

it is providing a version quite old with KameletBinding by default and only the left panel with DnD

the nightly contains latest changes, using docker run --rm -p 8080:8081 --name kaoto kaotoio/standalone:nightly is picking latest Kaoto backend and UI

I do not reproduce anymore.... it is now using latest Kaoto UI. I do not understand what could have happened


Added NXGTexture name support and optimizations, Added DAT loading bo…

…x, Temporary Fix to broken TextBox by routing it to notepad.

done


Apply Color to Same File in Bookmarks

Can you make it work for the bookmarks tab now too?
This tab used to be the starred tab but recent obsidian changed it to bookmarks. The same file has no right click context menu and doesn't change color inside the bookmarks list.

+1 :) :) would love that as well


Cycling through RPC urls

In theory, this should at least distribute the load between the two RPC endpoints.

lol I was logged in with the agora dev account


Split layout content

In order to allow easy override of the theme, each part is being split into a separate files.
Content hasn't change.

Any chance for this to be reviewed ? I don't mind if you reject it.
I would prefer to use your project, but I can fork and do my own changes.


[AIRFLOW-437] Send TI context in kill zombies

Dear Airflow Maintainers,
Please accept this PR that addresses the following issues:

_https://issues.apache.org/jira/browse/AIRFLOW-437_

Fix to provide proper TI context while calling ti.handle_failure during kill_zombies, as without the context handler_failure is of no use and its equivalent of marking those TIs as failed directly.
Testing Done:

Done manual testing and added an unittest as well.

Current coverage is 65.66% (diff: 100%)

Merging #1796 into master will increase coverage by 0.27%

@@             master      #1796   diff @@
==========================================
  Files           143        143
  Lines          9883       9885     +2
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           6463       6491    +28
+ Misses         3420       3394    -26
  Partials          0          0

Powered by Codecov. Last update afed622...2e13067

@bolkedebruin @r39132 plz check again and let me know if its fine, then I can do a final rebase.

caveat a few minor nit-picks, +1

@msumit please update within the next 5 days else this will be closed for inactivity

@r39132 as per me this PR is complete (we are running this code in prod from past 3months).. plz let me know when to do final rebase..

@jlowin @criccomini @bolkedebruin What are your thoughts on this PR?

Looks relevant.. why not send an email to the dev list to get some votes on this PR.. and proceed from there?

Folks, facing a strange issue, the spec I wrote is working on my laptop, but not on travis.
$ nosetests tests/models.py:DagBagTest.test_kill_zombies
.
----------------------------------------------------------------------
Ran 1 test in 0.180s

OK
[2018-06-03 22:19:22,250] {settings.py:188} DEBUG - Disposing DB connection pool (PID 98334)

It used to work earlier, when I had job_id as a param in __init__ of TaskInstance, which I removed and setting it explicitly from the tests. Could Travis is using somekind of DB caching while doing join calls, cause in Rails world its quite common with RSpec.

I see the same failure as Travis on my laptop:
(airflow) (themisto python/incuba…irflow PR_TOOL_MERGE_PR_1796_MASTER:*)% nosetests tests.models:DagBagTest.test_kill_zombies
F
======================================================================
FAIL: Test that kill zombies call TIs failure handler with proper context
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/ash/.virtualenvs/airflow/lib/python3.5/site-packages/mock/mock.py", line 1305, in patched
    return func(*args, **keywargs)
  File "/Users/ash/code/python/incubator-airflow/tests/models.py", line 1420, in test_kill_zombies
    ANY)
  File "/Users/ash/.virtualenvs/airflow/lib/python3.5/site-packages/mock/mock.py", line 925, in assert_called_with
    raise AssertionError('Expected call: %s\nNot called' % (expected,))
AssertionError: Expected call: handle_failure(<ANY>, True, <ANY>)
Not called

@ashb fixed the spec. Travis is all green except one K8 spec, something which is not even touched in this PR.

I got the specs passed in my personal build though https://travis-ci.org/msumit/airflow/builds/388172642

Thanks, all merged to master now.

Thanks @ashb


migration to IBM group

:tada: This PR is included in version 0.0.19 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Added Scope Resolution to unserialize function call

The un-scoped call to unserialize has been observed to call functions from other plugins. Adding Scope Resolution ensures the correct function is called.

thx :)


Replace travis with github action

more fun with github actions!

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@177a0fe). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff            @@
##             main       #13   +/-   ##
========================================
  Coverage        ?   100.00%
========================================
  Files           ?         1
  Lines           ?         6
  Branches        ?         0
========================================
  Hits            ?         6
  Misses          ?         0
  Partials        ?         0

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 177a0fe...af0f8bd. Read the comment docs.

What is the difference between codecov and coveralls? Competing services? I like the codecov report message.

two different services, one integrates better with GHA


Cannot restart the timer in the middle of countdown

Hi!
I cannot restart the timer in the middle of countdown.
I tried with the controls: $('div#clock').countdown(futureTime);
I want to restart the timer when it reach 00:02:00.
But it does nothing. The timer just continues and not set the new final date.
Here is my code:
$('#countDown').countdown(futureTime, function(event) {
            $(this).text(event.strftime('%H:%M:%S'));
        }).on('update.countdown', function(event) {
            if (event.offset.hours === 0 && event.offset.minutes === 2 && event.offset.seconds === 0) {
                $(this).countdown(futureTime);
            }
        });

Thank you.
Best regards,
Rómeó Nagy

Sorry, in the mean time I found the problem that this plugin is not converge to 0 time (absolute) but converge to new Date() (relative) time.
So to restart the counter:
$(this).countdown(futureTime + elapsedTime);
Please, close this issue.


Add TreeHash API for use specifically within a Merkle Tree

This is not a blocker for this API, but maybe instead of trying to design a general API for hashing two inputs into one, we should have specialized traits for hashing in the context of a Merkle tree. For example:
pub trait TreeHash {
	type Parameters;
	type InputOutput;
	const ARITY; // We can set this to just 2 for the time being.

	fn setup() -> Self::Parameters;

	/// Panics if .
	fn hash_inner_node(params: &Self::Parameters, hashes: &[Self::InputOutput]) -> Self::InputOutput;

	/// Hash the bottom layer. First, use  to hash the leaf object, and then
	/// convert the output of  to . (maybe by internally re-hashing.)
	fn hash_leaf<LeafHash: CRH>(
		params: &Self::Parameters,
		leaf_hash_params: &LeafHash::Parameters,
		leaf: &[u8]
	) -> Self::InputOutput {
		// hash the leaf using LeafHash, convert the output to bytes,
		// and then internally handle the conversion to .
		// For example, if  is , then use .
		// Else, if it's bytes, then there's no need to convert.
		// We can add specializations using  to avoid the conversion when
		// , or when  is some known hash,
		// like  or something.
	}
}

For pedersen::CRH, bowe_hopwood::CRH, and blake2s/sha256::CRH, the InputOutput type would be Vec<u8>, while for poseidon::CRH, it would be Vec<F> (or maybe [F; 2], or whatever the output size is). This way, the Merkle tree doesn't incur the overhead of converting into bytes at each step, and we've also made it very clear that these hashes are for use in a Merkle tree, and not (necessarily) outside that.
What do you think? @ValarDragon @tsunrise?
Originally posted by @Pratyush in https://github.com/arkworks-rs/crypto-primitives/issues/30#issuecomment-819369640

Arity is only rarely even on SNARK friendly hashes, right?


publish to NPM?

Is there a reason that this package hasn't been published to the NPM registry?
I'm not currently able to npm install html-sketchapp, and projects that depend on this one (like html-sketchapp-cli) have to install this package directly from Github, which is not ideal.

Hey! Thanks for reporting.  BUT I made myself to talk to the scary devops people today, and look at that: ✨https://www.npmjs.com/~brainly ✨I'll publish the package today.

 I had to publish it with a "@brainly/" prefix 💩Anyway v1.0 is up: https://www.npmjs.com/package/@brainly/html-sketchapp


Added Plausible script

To enable us to see who uses the website.

@kim-reath Thanks. You should have an invite now to access Plausible to view the analytics.

@tomvanenckevort-hp thanks!


[Feature] How to avoid duplicate pip package installation when enabled autoscaler

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
My ray cluster enabled autoscaler . When there are no tasks being executed, the workers will be scaled down. When re-running, the pip package must be re-installed.
Use case
code in my notebook
import ray
import time

ray.shutdown()

# Specify the runtime environment
ray.init(runtime_env={
    "env_vars": {"PIP_INDEX_URL": "https://mirrors.aliyun.com/pypi/simple/"},
    "pip": {
        "packages": ["torch"],  # Specify the required packages
    }
})

# Specify that this task requires one GPU and 2Gi of GPU memory
@ray.remote(num_gpus=1, resources={"aliyun.com/gpu-mem": 2})
def gpu_task():
    import torch
    # Simulate a computation task that requires a GPU
    x = torch.rand(10000, 10000).cuda()  # Transfer data to the GPU
    y = torch.mm(x, x)  # Matrix multiplication
    return y.sum().item()

# Submit the task
future = gpu_task.remote()
result = ray.get(future)

print("Result:", result)

# Shut down Ray
ray.shutdown()

Related issues
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

Hi @zjj2wry, if a dependency is commonly used, it'd better to bake the dependency in the container image.

Close this issue. Feel free to reopen the issue if it doesn't answer your question.

Hi @zjj2wry, if a dependency is commonly used, it'd better to bake the dependency in the container image.

ok, thanks


update for Angular 9

2 month ago, angular has released LTS version 9.
Any plan to move ng-gantt on<EMAIL_ADDRESS>

That's true!
can u send a PR?

Working on it.

Awesome.. im around if u need a hand

Hello,
Would ng-gantt work with Angular 10.x and 11.x ? We are using 10.x and 11.x and would like to try out ng-gantt


Deal Tracking Stage Add Seller

Coverage remained the same at 75.699% when pulling 426fc363826a57617faf53205e029520ee9ecf06 on jackyrusly:dev into 8d458bc049697383da23bf1dbc283513d408d9c7 on danliris:dev.


add scripts to manage notification recipients in bc saas

Added 2 Scripts for managing Notification Recipients in Business Central Online:
- Get-BcNotificationRecipients: Returns Id, Name and Email of each Notification Recipient configured.
- Set-BcNotificationRecipients: Create a new Notification Recipient. Supply Name and Email.
Cmdlets added to manifest files.

I think the last change you did with authContext was wrong - $authContext is unknown - the parameter is called bcAuthContext

I just corrected it. I accidently copied the mechanism from another script (Saas\Get-BcEnvironmentsOperations.ps1), Line 36:
$bcAuthContext, $headers, $endPointURL = Create-SaasUrl -bcAuthContext $authContext -endPoint "operations" -environment $environment -applicationFamily $applicationFamily -apiVersion $apiVersion
There, the variable used is $authcontext, despite the parameter being $bcAuthContext.
I hope i didn't overlook something here..

Seems like there are some errors in these functions as well:-(


Query time lookup

This is not quite ready to merge, but is definitely at a point where discussion on the solution can be active.
This PR includes https://github.com/druid-io/druid/pull/1092
Add query time lookups for renames
* Add ability to explicitly rename with a map passed at query time
* Add ability to rename using a key/value lookup in a database
* Add extension which caches renames from a kafka stream
* Added README.md for the dim-rename extension
TODOs:

Abstract the implementation of the wiring of the rename function such that the rename dim extraction function only takes one parameter which is the "key" for a particular set of implementation configurations. For example: a key of "publisherId" can be wired to an implementation of "use a mysql db located at <<some JDBC URI>> and use table with key column of XXX and rename column of YYY". Alternatively a key of "regionId" can be wired to an implementation of "use kafka topic ABC found through Zookeeper XYZ". It will be up to the query issuer to know which magic key to use to get the results they want.

TravisCI failed on unrelated code.

I like the ability to have various underlying implementations, but in terms of usability I don't think the user necessarily needs to know or have to decide what the underlying implementation should be. That also makes it much easier to configure, so configuration parameters don't have to leak into the query.
Instead, it would be nice if we just had a concept of "lookup datasources" the user can decide to use. However, how those lookup datasources are implemented should be configurable at deployment time.
If we need to support multiple implementations of lookups simultaneously, it might be useful to namespace those lookup datasources in a way that a user can choose which type to use.
For example, at configuration time we may define several namespaces:

namespace userinfo maps to a sql databse
namespace userlog maps to a kafka cluster

Assuming the database contains two tables: login and geo, each with an id column and a few other associated lookup columns, then a user can:

use the lookup datasource userinfo:login.email to map user ids to their email
and geo:countries.english to map ISO country codes to their actual english names.

Using Kafka, the datasource name could correspond to topic names. Imagine there is a topic called userstatus with key being user id and value being the user's status, then we can map the user id to status by using the lookupdatasource userlog:userstatus.

I'm in agreement with @xvrl.  I think this is an awesome first implementation, but would like to see it a little more decoupled.
I think we can achieve that by making the "RenameManager" a bit less tied to Kafka topics and specific implementations.  That is, what if RenameManager was
public class RenameManager {
  public RenameManager(Map<String, DimRenameFn>) {...}

  DimRenameFn find(String name)
}

Then at bootstrap time, we could have something that actually loads up dim extractors into a map and passes that in via DI.  The dim extraction function could refer to the "table" by name and just do the join through that.
Each implementation of the extraction functions could have its own logic and just be registered with the RenameManager.  So, JDBC and Kafka would actually be behind the same interface and the question of what topic, etc. would be something pre-determined.
 }
}

Does that seem reasonable/make sense/all that good stuff?

@cheddar makes sense, although I would prefer to register namespaces as opposed to table names, in order to allow joining on new Kafka topics and tables names without having to restart servers.
Alternatively, we could make the configuration dynamic.

@cheddar : Yes that's pretty much what I was thinking after talking with @xvrl  as well.

I'm actually finding a bunch of tests which violate the specified interface on DimExtractionFn. Specifically that results are to never be returned as empty strings, but should instead be null.

@xvrl
I agree on needing a more dynamic method of specifying the tables.  I kinda think we should move towards being able to configure them on the coordinator console in a dynamic, administrative fashion instead of making it purely query-driven.  This is to help protect the cluster in environments where there are significantly more people with the ability to query than the ability/know-how to administer.
I'm willing to be convinced otherwise, but this generally seems like a place where latency concerns would mean that bootstrapping this stuff would be better done proactively (enabled by central configuration) rather than reactively to a query.

@cheddar  / @xvrl : added a new type "namespace" which has the namespace mapping injected, but it is a concurrent map rather than some complex object and can take a null value just fine.

I'm closing this down temporarily while I address some comments.

Opening so I can push updates, please ignore for now

Closing for internal banging around before going open for review.

Encountered an error with topNs:
Here is a topN query with a threshold of 1 and a dimension extraction set as per "dimension":{"type" : "extraction","dimension" : "l_orderkey","outputName" :  "l_orderkey","dimExtractionFn" : {"type":"namespace","namespace":"testTopic0"}}
[ {
  "timestamp" : "1992-01-02T00:00:00.000Z",
  "result" : [ {
    "l_orderkey" : "King",
    "L_DISCOUNT_" : 0.5200000051409006,
    "L_QUANTITY_" : 417,
    "L_TAX_" : 0.4299999922513962,
    "count" : 10,
    "L_EXTENDEDPRICE_" :<PHONE_NUMBER>625
  } ]
} ]

This is the EXACT SAME query but also with an extraction filter
[ {
  "timestamp" : "1992-01-02T00:00:00.000Z",
  "result" : [ {
    "l_orderkey" : "King",
    "L_DISCOUNT_" : 0.6500000022351742,
    "L_QUANTITY_" : 530,
    "L_TAX_" : 0.5999999921768904,
    "count" : 14,
    "L_EXTENDEDPRICE_" :<PHONE_NUMBER>5
  } ]
} ]

This is the result of a groupBy with the same dimension extraction filter and dimension extraction definition:
  "version" : "v1",
  "timestamp" : "1900-01-09T00:00:00.000Z",
  "event" : {
    "L_DISCOUNT_" : 0.6500000357627869,
    "l_orderkey" : "King",
    "count" : 14,
    "L_EXTENDEDPRICE_" : 846855.5,
    "L_QUANTITY_" : 530,
    "L_TAX_" : 0.5999999642372131
  }
} ]

So it seems there may be some nastyness in DimExtractionTopNAlgorithm that will need to be resolved before this PR can be ready.

opening to merge some changes

Closing again until its ready. Have some more tests to run.

Adding newest changes.

@cheddar : to directly address your prior comment, there is the capacity to specify a URI and either have it load once, or at a regular interval. That file can be a simple json mapping like
{"pubABC":"SomePublisherName","pubXYZ":"SomeOtherPublisher"}

Or it can be a JDBC connection where you tell it the name, key, and value columns. Optionally the JDBC implementation takes a timestamp column which causes the refresh to attempt to only get values since its last request.
Or it can be a kafka topic, in which case each cache is a replay of the topic from the beginning of the log where each kafka key is the old name and each kafka message is the new name (in UTF-8)

I have two major TODOs that need tackling before this can be merged, I'm going to close down this PR until I address the TODOs.

New changes incoming.

Screwed up some topN stuff, closing until I resolve it.

Tests were failing due to buffer size being only 2k, but that being as much space as HLL alone requires, so the tests were kicking the bucket. Increasing the test size fixed the unit tests.

This discussion is useful for context here: https://groups.google.com/forum/#!searchin/druid-development/query$20time$20lookups/druid-development/udiivvgoMO8/prEEamAxd3sJ

There's a bunch of extra gunk on this PR because it was used for discussion early on.  Can you close and re-open?

@cheddar : sure

Making fresh PR for code review.

@cheddar : https://github.com/druid-io/druid/pull/1259


Insert necessary closing parentheses into the "Basic API Concepts" document.

This is a trivial fix and there is no related JIRA issue according to http://flink.apache.org/contribute-documentation.html#before-you-start-working-on-the-documentation-

Thanks for the PR @keijiyoshida!
+1 to merge


Monroe County, IN

https://elb2.39dn.com/arcgis/rest/services/eGISDynamicServices/MonroeINDynamic/MapServer/5

The folks at 39dn.com got a little upset with us a few months ago about using their hosted endpoint.  @iandees got an email about it so all the 39dn.com-hosted sources were flagged to skip.

sorry, lets remove