Error: Failed to open stream: No such file or directory when using third party recipe

Deployer version: 7.1
Deployment OS: OSX

<?php
namespace Deployer;

require_once 'recipe/symfony.php';
require_once 'recipe/setono_dotenv.php';

...

My composer.json looks like this:
{
    "license": "proprietary",
    "type": "project",
    "require": {
        "php": ">=8.1",
        "deployer/deployer": "^7.1",
        "setono/deployer-dotenv": "2.x-dev"
    },
    "prefer-stable": true,
    "config": {
        "sort-packages": true,
        "allow-plugins": {
            "dealerdirect/phpcodesniffer-composer-installer": false,
            "ergebnis/composer-normalize": true
        }
    }
}

I get this error:
➜  deployment git:(master) ✗ vendor/bin/dep deploy
 ErrorException  in deploy.php on line 10:

  require_once(recipe/setono_dotenv.php): Failed to open stream: No such file or directory

This worked in v6 and I suspect there has been some work in how the include path is used? What is way to allow me and others to create third party recipes nowadays?
Thanks for a great tool <3

This is an issue of setono/deployer-dotenv. Not deployer)

Hi, @antonmedv
Thanks for your swift response. I might be wrong, but here is a reproducer of the problem as I see it: https://github.com/loevgaard/deployer-issue-3485.
As you can see the include path differs.
As mentioned it worked in v6 of Deployer and I have tried to search through the repository for changes that could affect this, but haven't been lucky enough to find it. Maybe you could guide me in the right direction, so I can make a PR? :)

Oh, just saw this issue: https://github.com/deployphp/deployer/issues/3293. This is the same issue.

I just tried to include the recipe directly like this: require_once 'vendor/setono/deployer-dotenv/src/recipe/setono_dotenv.php';
When it ran I got this error:
➜  deployment git:(master) ✗ vendor/bin/dep deploy
task deploy:info
[staging] info deploying HEAD
task deploy:setup
task deploy:lock
task deploy:release
task deploy:update_code
task dotenv:prepare
task deploy:shared
task deploy:writable
task deploy:vendors
task dotenv:generate
task dotenv:update
[staging]  Error  in setono_dotenv.php on line 98:
[staging]
[staging]   Class "Webmozart\Assert\Assert" not found
[staging]
ERROR: Task dotenv:update failed!
task deploy:failed
task deploy:unlock

My library requires webmozart/assert as you can see here: https://github.com/Setono/deployer-dotenv/blob/2.x/composer.json#L17, so I am leaning more and more towards that something is broken in the autoloading.

It must be these lines that are the culprit: https://github.com/deployphp/deployer/blob/master/bin/dep#L50-L54.
Is there a reason for this ordering? If the ordering was:
$autoload = [
    __DIR__ . '/../../../autoload.php', // The dep located at "vendor/deployer/deployer/bin".
    __DIR__ . '/../vendor/autoload.php', // The dep located at "deployer.phar/bin" or in development.
    __DIR__ . '/../autoload.php', // The dep located at "vendor/bin".
];

it would load the correct autoloader.

Probably no reason. We can rearrange

@antonmedv: Added a PR that does just that: https://github.com/deployphp/deployer/pull/3488 :)

@antonmedv: It's impossible for me to migrate from v6 to v7 because of this issue and I guess for many others who have made their own recipe. I have tried with the PR, but it didn't build and I have no idea/knowledge about all the internals that go into actually testing it. Is it possible to pay you for fixing it? :)

Also this issue should be reopened, because it is definitely not fixed

You can use full path to the recipe:
require __DIR__ . './vendor/...';

Yes, but that would only work if the required recipes also use absolute requires. This is a pseudo solution and doesn't address the problem.

And I already tried your 'solution' here: https://github.com/deployphp/deployer/issues/3485#issuecomment-1428593813

Hi, it's an issue for me too. I have a bunch of custom recipes and it's broken since v7.x cause of the autoload changes done in v7 as mentioned @loevgaard in the comment https://github.com/deployphp/deployer/issues/3485#issuecomment-1430307650

Hi, my solution is to add in my deploy.php: require $GLOBALS['_composer_autoload_path']; after namespace declaration. As the dep binary is loading its own autoload included in its phar archive and not the one of the global composer where dep could be installed.

Summary (as per request of @antonmedv):
In v7 the autoloading inside Deployer has changed, which has the effect that third party recipes can't be loaded. A lot of fixes has been suggested, but doesn't work.

Duplicate of https://github.com/deployphp/deployer/issues/3605

For me, autoloading works as soon as i'm using dev-master. In every releases version, some autoload files get removed and thus its not working


Output eval logging (batch level)

What does this PR do?
Log eval outputs after each batch using logger.log_table. This is an alternate design to logging at the end of eval found here.
REQUIRES LLM-FOUNDRY BRANCH: https://github.com/mosaicml/llm-foundry/pull/961
Eval only run: wandb
run name: test-batch-logging-kuIoME

Why do you need the trainer/state changes?
sorry for slow review :(

because we need to save per-batch eval results somewhere for the callback to access them

Also I just want to say great work! This is a herculean PR requiring deep, bespoke knowledge while juggling several different parts of the composer codebase. Not an easy one to wrangle and seems like you managed to make it work!


Improve rspec config

Stops RSpec from monkey patching Object

Required updating all describes to use the explicit RSpec.describe
format

Raises errors on deprecations
Raises errors instead of warnings for misusing RSpec

Awesome! I've been wanting to do this for a while


BackButtonIcon should never use iOS/MacOS style when running on Web

BackButtonIcon selects a style depending on the underlying OS. This applies even when the app is Flutter Web e.g. running Chrome on Mac OS. I think that on kIsWeb, we should instead always use 'Icons.arrow_back' regardless of the underlying OS.
Current logic in back_button.dart:
  static IconData _getIconData(TargetPlatform platform) {
    switch (platform) {
      case TargetPlatform.android:
      case TargetPlatform.fuchsia:
      case TargetPlatform.linux:
      case TargetPlatform.windows:
        return Icons.arrow_back;
      case TargetPlatform.iOS:
      case TargetPlatform.macOS:
        return Icons.arrow_back_ios;
    }
  }

As a user, this feels weird because this style of back button, which is famously required everywhere in native iOS apps, is not expected by material app users on Web. Rationale:

Users expect that Web app UX features that are a property of the site (for traditional DOM-based sites) are consistent across platforms. E.g. while you expect Chrome to have different scroll physics on MacOS vs Windows, you expect a site to have the same iconography across these platforms.
Material seems to use the iOS-like arrows for a different specific purpose other than 'back' on Web - paging through content. See gmail and calendar screenshots below. Both sites use the traditional Material back arrow icon to represent 'back'.
Apple itself doesn't even seem use the iOS back button to mean 'back' on Web, in fact there is basically no stack-based navigation on apple.com or iCloud.com . Apple does use the iOS-like back arrow on web for paging which is consistent with the material sites above.

See Gmail screenshot:

Calendar screenshot:

Apple store screenshot:

Since BackButton is a widget in the Material library, following what Material Web does in web browsers seems to be the correct solution.
A related issue, which goes beyond this widget, is that Flutter lacks a generic, minimally-styled widget set from which users can build custom widgets.

Thanks for taking a look @InMatrix ! In this case, I believe we should update the _getIconData logic to always use Icons.arrow_back for web (i.e. kIsWeb), as I believe Material Web library always uses this icon.
Is Flutter Framework eng team comfortable with this change?

PlatformAdaptiveIcons has the same problem as _getIconData.  There is an _isCupertino() method that (incorrectly) returns true for TargetPlatform.macOS regardless of whether it is running in a web browser.  Among other things, this means that overflow menus created using PopupMenuButton will use the wrong icon by default on macOS web.

Will try to get this issue resolved as part of #118229


VdebugEval error "required argument [l:length] missing"

Same as #157, but issue was closed without updating the patch.
No complaining - thanks for all the hard work with Vdebug!

@bitwombat so this is still related to vdebug debugging python with the komodo pydbgp stuff?

@BlackIkeEagle I believe so since I was getting the same error. Don't have enough knowledge to know.


Buttons with text replaced with Image Buttons

closes #5
Image buttons added , content descriptions are also given for each button.

Hey @venusaim23 I will apply those changes , but I would need a little time because I don't know much about binding so will have to understand it a bit .
Also I attached the background tint because there was a light greyish tone in the background by default so when adding the background tint it appeared as transparent. Please take this in consideration

Hey @venusaim23 I will apply those changes , but I would need a little time because I don't know much about binding so will have to understand it a bit .
Also I attached the background tint because there was a light greyish tone in the background by default so when adding the background tint it appeared as transparent. Please take this in consideration

Alright no issues. It's not necessary to contribute to MainActivity.java for this issue. You can leave it as it was. But I won't stop you to from studying about it. Will consider backgroundTint. Submit the other changes and I'll merge.

Thank you so much, can I just do the suggested UI related changes only in this PR. And can you please put up an issue for the binding thing so that I can work on it seperately till then can you just accept those UI related changes. If that's fine for you??

Thank you so much, can I just do the suggested UI related changes only in this PR. And can you please put up an issue for the binding thing so that I can work on it seperately till then can you just accept those UI related changes. If that's fine for you??

Well it's not a problem. There's a lot to work on in this project. You can just delete all that you added in MainActivity.java and submit with the other requested changes. That deals with the issue. Rest I'll work a bit on logic and push a few commits. You can refer to that to understand binding better.

Thank you so much, can I just do the suggested UI related changes only in this PR. And can you please put up an issue for the binding thing so that I can work on it seperately till then can you just accept those UI related changes. If that's fine for you??

Well it's not a problem. There's a lot to work on in this project. You can just delete all that you added in MainActivity.java and submit with the other requested changes. That deals with the issue. Rest I'll work a bit on logic and push a few commits. You can refer to that to understand binding better.

Okay then I will just do those changes . Thanks for being so supportive .

I have made a commit with the suggested changes . Also, no need to consider about the background Tint ,it is appearing fine , I guess it was because I had given some other attributes before adding the tint but actually removed those attributes. After that I didn't check that without the tint. It is now working perfectly fine

Hey @unnikrishnan2002 I'll do this one for you since it's taking long. Rest everything's fine. Thanks for contributing.

Hey @unnikrishnan2002 I'll do this one for you since it's taking long. Rest everything's fine. Thanks for contributing.

thank you so much


same-exports-dir doesn't seem to work

When using drive pull --same-exports-dir -export txt, drive seems to create blank files and then try to mkdir over top of them. For example:
$ ls
$ drive ls
/foo/bar
$ drive pull --same-exports-dir -export txt
Resolving...
+ /foo/bar
Addition count 1
Proceed with the changes? [Y/n]: y
pull: /foo/bar err: mkdir /home/alienth/gdrive/foo/bar: not a directory
$ ls
bar  bar.desktop

The created bar file is empty, while the doc up in drive is not.
This seems to occur regardless of the export format requested. I'm using the latest drive as fetched from go get a few hours ago.)

This seems to occur regardless of the export format requested.

any chance if this getting looked at?


Fix locations in the JSX ppx

As a general ppx writing rule: the loc_ghost part of any location should be true unless it's one unique copy of an original expression, or a single new expression that corresponds to that original expression in spirit.
So no always loc_ghost=true for any auxiliary functions that were not in the original source, such as any calls to the react libraries, or any compiler internals.
This should include any administrative code generated, such as the list of children.
This affects editor integration (particularly hover and jump to location). Check the consequences on editor integration for each change.
Concretely, currently the ppx "paints" occurrences of e.g. ReasonReact.fragment all over the actual code.
This is in addition to whatever invisible symbols the compiler generates.The JSX ppx generates an external with @bs.obj and generates calls to it. Then the compiler's ppx transforms those into definitions of accessor functions, and calls to them, "painted" on top of the original code.
So every prop x results in a Prop id and an x function appearing in the generated code.
If one wanted to properly support jump to definition for <Comp x=4 /> when clicking on x, then one would need just based on the location of x find the call Comp.makeProps(... x ) and connect it to the accessor function x generated by the compiler @obj ppx starting from the results of the JSX ppx, and connect that to the location of x in the make, not the makeProps, function at the original location, before the JSX transformation, in the component definition.

Make "fragment" a ghost location (obviates https://github.com/rescript-lang/syntax/issues/519 ).


v3 Regression: Point cropped when indicating max or min values for scales

Expected Behavior
Points should be fully drawn on limits.
Current Behavior
When we indicate scale limits and a point drops on that limit, this point is cropped.
Possible Solution
Direct solution from app is just not indicating those limits. But it's not fully acceptable since:

In v2.9.4 it was working.
If we indicate limits, chartjs does not have to work on them and should be faster.

Steps to Reproduce

See in the example scales->y->min is set to 0 and that point is cropped.
If you set scales->y->max to 1, that point is also cropped.
If you remove min and max, points are not cropped.

https://codepen.io/beibean/pen/PomNmqe
Context
Migrating from v2.9.4 to v3.4.1
Environment

Chart.js version: v3.4.1
Browser name and version: Chrome (any version)
Link to your project: https://codepen.io/beibean/pen/PomNmqe

try clip: false

try clip: false

This helped a lot!
I didn't know the existence of this property.
Not setting it to false, but playing with its value works perfect for my case.
Thanks!

After checking the behaviour of setting clip: false | number with other graphs I have, I cannot consider it valid since lines are drawn outside axis, and even some points outside range are shown.
Here are some examples with clip:false:

Some examples with clip:6 (my pointHoverRadius to draw the entire point):

And did you try with clip: 3, since you only want up to 50% of the point outside, right?

Yes, I tried as well and the same problem persists, but with less pixels.
Besides, when hovering on the limit point, this is cropped, that's why I used the pointHoverRadius.
Here you can se some examples with it:

Why is this different when min is explicitly specified?

We generate clipping for items on the scale that is used for drawing https://github.com/chartjs/Chart.js/blob/master/src/core/core.datasetController.js#L678
The clip is set to 0, if the min or max on the scale is explicitly set https://github.com/chartjs/Chart.js/blob/master/src/core/core.datasetController.js#L15-L16

The thinking behind defaulting to 0 is that if a max/min has been specified, the user has specified a hard limit for the axis and doesn't want to see any data beyond this point. This behaviour was first introduced in https://github.com/chartjs/Chart.js/pull/6642
If you want the minimum to be 0, beginAtZero might be a better option but it doesn't fix the line issue. My take on this is that right now it is performing as designed. Perhaps we can figure out a way for specifying different clip values for the points vs the line itself, but I'm not sure how complicated that would get. @kurkle any ideas?

I can now see why it's behaviouring like that. In respect with suggestions I wanted to share with you the use case:

I use chartjs to draw values over time in different ranges (hour, day, week). So min and max is continously changing.
Point before min and point after max are also passed to dataset. This way, graph is not cropped and lines are drawn until limits.
So the problem is that in many times, points drops exactly on the axis limits.

About suggestions:

If you want the minimum to be 0, beginAtZero might be a better option but it doesn't fix the line issue. My take on this is that right now it is performing as designed. Perhaps we can figure out a way for specifying different clip values for the points vs the line itself, but I'm not sure how complicated that would get. @kurkle any ideas?

As said before, minimum is not always 0. Besides, as you comment, it will not fix the line issue.
This may be performing as designed but, is it really the proper design? For this particular case, I think the expected behaviour should be the one in v2.9.4.
Would specifiying different clip value for the point draw out of range points which are very close to axis?

I think the solution would indeed be different clipping for different elements, or having clipping configured per layer while being able to specify the layer per dataset/element type.

This may be performing as designed but, is it really the proper design? For this particular case, I think the expected behaviour should be the one in v2.9.4.

In 2.9.4 only the line is clipped, points are drawn without clipping.

Would specifiying different clip value for the point draw out of range points which are very close to axis?

I think this is actually a separate issue (bug). The points that make the visible line segment are looked up and drawn, but this includes the next points outside the are, because the line needs those to draw correctly. The actual points should not be drawn though.

Just tested on chartjs v3.6.2 and has not been fixed.
Any plans to fix it in the near future?
PS: I just updated the project link to use last chartjs v3.6.2.

Any plans to fix it in the near future?

Using clip: false solve it for me, see https://github.com/chartjs/Chart.js/issues/6414#issuecomment-1188985063.


fix: Dependabot updates

PR summary
Updated dependencies for security advisories
Fixes:
https://github.com/IBM/networking-node-sdk/pull/24
https://github.com/IBM/networking-node-sdk/pull/23
https://github.com/IBM/networking-node-sdk/pull/22
https://github.com/IBM/networking-node-sdk/pull/21
https://github.com/IBM/networking-node-sdk/pull/15
PR Checklist
Please make sure that your PR fulfills the following requirements:

[ ] The commit message follows the Angular Commit Message Guidelines.
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] New tests
[X] Build/CI related changes
[ ] Documentation content changes
[ ] Other (please describe)

What is the current behavior?

What is the new behavior?

Does this PR introduce a breaking change?

[ ] Yes
[X] No

Other information

:tada: This PR is included in version 0.5.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Tensors are missing

it seems that tensor algebra is completely missing as of now, so I am wondering how the plans are to include support for higher calculus.
I guess it might be useful to also have some graphical visualization of tensors, similar to penrose's graphical notation.
References

Introduction to Tensor Calculus

There are programs for tensor calculus, which state, that this is totally different from usual calculus, see

https://en.wikipedia.org/wiki/Tensor_software
or especially
http://cadabra.science
And even there you still don't get those graphical notations.

Tensor calculus is not "totally different". It is just a higher abstraction. The basic rules still apply. Thankfully the book I recommended builds the basics from scratch, so it should not be too complicated to build up the required algebraic rules.
In terms of an implementation I was thinking about something more like Redberry. I don't think that porting is an option, but the base classes like Tensors and Indices should give an idea of how to do it.
Graphical notation as an output would be handy, but is purely optional. It could be done using something like the Netron library, which was used in Math.net Yttrium. But since the project is now abandoned, it will need an merge into Github and get an update, or we need to find an alternative graph library.


I have a bit of a problem.

I have a bit of a problem.
I use your code, and I have used three replicas, so I have a problem that I do not understand.

ERROR: Service 'mongo-router' depends on service 'mongo-rs3-setup' which is undefined.

Create additional files. "docker-compose.3.yml"
version: '2'
services:
    mongo-3-2:
        container_name: "mongo-3-2"
        image: mongo
        ports:
            - "30032:27017"
        command: mongod --replSet rs3 --shardsvr --port 27017 --nojournal --oplogSize 16 --noprealloc --smallfiles
        restart: always

    mongo-3-3:
        container_name: "mongo-3-3"
        image: mongo
        ports:
            - "30033:27017"
        command: mongod --replSet rs3 --shardsvr --port 27017 --nojournal --oplogSize 16 --noprealloc --smallfiles
        restart: always

    mongo-3-1:
        container_name: "mongo-3-1"
        image: mongo
        ports:
            - "30031:27017"
        command: mongod --replSet rs3 --shardsvr --port 27017 --nojournal --oplogSize 16 --noprealloc --smallfiles
        links:
            - mongo-3-2:mongo-3-2
            - mongo-3-3:mongo-3-3
        restart: always

    mongo-rs3-setup:
        container_name: "mongo-rs3-setup"
        image: mongo
        depends_on:
            - "mongo-3-1"
            - "mongo-3-2"
            - "mongo-3-3"
        links:
            - mongo-3-1:mongo-3-1
            - mongo-3-2:mongo-3-2
            - mongo-3-3:mongo-3-3
        volumes:
            - ./scripts:/scripts
        environment:
            - MONGO1=mongo-3-1
            - MONGO2=mongo-3-2
            - MONGO3=mongo-3-3
            - RS=rs3
        entrypoint: [ "/scripts/setup.sh" ]

Modify files. "docker-compose.shard.yml" (ports and depends_on, links,environment)
version: '2'
services:
    mongo-router:
        container_name: "mongo-router"
        image: mongo
        ports:
            - "37031:27017"
        depends_on:
            - "mongo-rs1-setup"
            - "mongo-rs2-setup"
            - "mongo-rs3-setup"
            - "mongo-cnf-setup"
        links:
            - mongo-cnf-1:mongo-cnf-1
            - mongo-cnf-2:mongo-cnf-2
            - mongo-cnf-3:mongo-cnf-3
            - mongo-1-1:mongo-1-1
            - mongo-1-2:mongo-1-2
            - mongo-1-3:mongo-1-3
            - mongo-2-1:mongo-2-1
            - mongo-2-2:mongo-2-2
            - mongo-2-3:mongo-2-3
            - mongo-3-1:mongo-3-1
            - mongo-3-2:mongo-3-2
            - mongo-3-3:mongo-3-3
        command: mongos --configdb cnf-serv/mongo-cnf-1:27017,mongo-cnf-2:27017,mongo-cnf-3:27017
        restart: always

    mongo-shard-setup:
        container_name: "mongo-shard-setup"
        image: mongo
        depends_on:
            - "mongo-router"
        links:
            - mongo-router:mongo-router
        volumes:
            - ./scripts:/scripts
        environment:
            - MONGOS=mongo-router
            - MONGO11=mongo-1-1
            - MONGO12=mongo-1-2
            - MONGO13=mongo-1-3
            - MONGO21=mongo-2-1
            - MONGO22=mongo-2-2
            - MONGO23=mongo-2-3
            - MONGO31=mongo-3-1
            - MONGO32=mongo-3-2
            - MONGO33=mongo-3-3
            - RS1=rs1
            - RS2=rs2
            - RS3=rs3
            - PORT=27017
            - PORT1=27017
            - PORT2=27017
            - PORT3=27017
        entrypoint: [ "/scripts/init-shard.sh" ]
        restart: on-failure:20

And...

until mongo --host ${mongodb1}:${port} --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 2)' &>/dev/null; do
  printf '.'
  sleep 1
done

echo "Started.."

echo init-shard.sh time now: `date +"%T" `
mongo --host ${mongodb1}:${port} <<EOF
   sh.addShard( "${RS1}/${mongodb11}:${PORT1},${mongodb12}:${PORT2},${mongodb13}:${PORT3}" );
   sh.addShard( "${RS2}/${mongodb21}:${PORT1},${mongodb22}:${PORT2},${mongodb23}:${PORT3}" );
   sh.addShard( "${RS3}/${mongodb31}:${PORT1},${mongodb32}:${PORT2},${mongodb33}:${PORT3}" );
   sh.status();
EOF

And....
Execution proceeded in the following order.
docker-compose -f docker-compose.1.yml up -d
docker-compose -f docker-compose.2.yml up -d
docker-compose -f docker-compose.3.yml up -d
docker-compose -f docker-compose.cnf.yml up -d
docker-compose -f docker-compose.shard.yml up -d

The container is also running well (maybe ..)
docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                      NAMES
fc2fdca63f7c        mongo               "/scripts/setup-cn..."   15 minutes ago      Up 15 minutes       27017/tcp                  mongo-cnf-setup
456ad9a0d02c        mongo               "docker-entrypoint..."   15 minutes ago      Up 15 minutes       <IP_ADDRESS>:30001->27017/tcp   mongo-cnf-1
40f02b4b73e5        mongo               "docker-entrypoint..."   15 minutes ago      Up 15 minutes       <IP_ADDRESS>:30003->27017/tcp   mongo-cnf-3
61211e609ea1        mongo               "docker-entrypoint..."   15 minutes ago      Up 15 minutes       <IP_ADDRESS>:30002->27017/tcp   mongo-cnf-2
1da83345cf14        mongo               "/scripts/setup.sh"      16 minutes ago      Up 16 minutes       27017/tcp                  mongo-rs3-setup
50504749f187        mongo               "docker-entrypoint..."   16 minutes ago      Up 16 minutes       <IP_ADDRESS>:30031->27017/tcp   mongo-3-1
7517e293bf64        mongo               "docker-entrypoint..."   16 minutes ago      Up 16 minutes       <IP_ADDRESS>:30033->27017/tcp   mongo-3-3
99a0241d44d0        mongo               "docker-entrypoint..."   16 minutes ago      Up 16 minutes       <IP_ADDRESS>:30032->27017/tcp   mongo-3-2
5eb4f41e9cc0        mongo               "/scripts/setup.sh"      17 minutes ago      Up 17 minutes       27017/tcp                  mongo-rs2-setup
9e4a739f8dbc        mongo               "docker-entrypoint..."   17 minutes ago      Up 17 minutes       <IP_ADDRESS>:30021->27017/tcp   mongo-2-1
fe570b7269bc        mongo               "docker-entrypoint..."   17 minutes ago      Up 17 minutes       <IP_ADDRESS>:30022->27017/tcp   mongo-2-2
20b2412a1b78        mongo               "docker-entrypoint..."      19 minutes ago      Up 19 minutes       <IP_ADDRESS>:30011->27017/tcp   mongo-1-1
1949685b824a        mongo               "docker-entrypoint..."   19 minutes ago      Up 19 minutes       <IP_ADDRESS>:30013->27017/tcp   mongo-1-3
9597d0035946        mongo               "docker-entrypoint..."   19 minutes ago      Up 19 minutes       <IP_ADDRESS>:30012->27017/tcp   mongo-1-2

You need to run this docker compose as a single command, then docker compose will see all services. That's why you see that error. I would look like more or less like this.
docker-compose -f docker-compose.1.yml -f docker-compose.2.yml -f docker-compose.3.yml  -f docker-compose.cnf.yml -f docker-compose.shard.yml up

Check logs to confirm that. I really recommended https://portainer.io/ to get a UI for logs and Docker containers.
I would also go into https://github.com/senssei/mongo-cluster-docker/blob/master/scripts/init-shard.sh this script and modify it by adding additional line next to line:26
sh.addShard( "${RS3}/${mongodb31}:${PORT1},${mongodb32}:${PORT2},${mongodb33}:${PORT3}" );

@senssei
'Init-shard.sh' has already been modified.
I tried the recommended method, I recorded the log.

docker-compose -f docker-compose.1.yml -f docker-compose.2.yml -f docker-compose.3.yml  -f docker-compose.cnf.yml -f docker-compose.shard.yml up | cat >> loooog.log

You can check the link below.

https://hello4leaf.com/loooog.txt

....
There is a problem with 'cnf-srv' described in 'readme'.
'Docker-compose rm -f' and 'up' can not be repeated. No, something is strange.
Something ... I can not think of a simple way.
hummmmmmmmm
and..
I installed the recommended 'https://portainer.io/'.
I do not know what information you want here.

It's interesting. I just run 2 replicaset shard with no problems.
Could you sent pull request with your changes and sent me your docker info and docker version.
Bases on log it seems to have same problem with ping command in container.
mongo-cnf-setup      | /scripts/setup-cnf.sh: line 3: ping: command not found
mongo-cnf-setup      | /scripts/setup-cnf.sh: line 4: ping: command not found
mongo-cnf-setup      | /scripts/setup-cnf.sh: line 5: ping: command not found
mongo-cnf-setup      | Waiting for startup..
mongo-rs2-setup      | /scripts/setup.sh: line 3: ping: command not found
mongo-rs2-setup      | /scripts/setup.sh: line 4: ping: command not found
mongo-rs2-setup      | /scripts/setup.sh: line 5: ping: command not found
mongo-rs2-setup      | Waiting for startup..
mongo-rs1-setup      | /scripts/setup.sh: line 3: ping: command not found
mongo-rs1-setup      | /scripts/setup.sh: line 4: ping: command not found
mongo-rs1-setup      | /scripts/setup.sh: line 5: ping: command not found
mongo-rs1-setup      | Waiting for startup..
mongo-rs3-setup      | /scripts/setup.sh: line 3: ping: command not found
mongo-rs3-setup      | /scripts/setup.sh: line 4: ping: command not found
mongo-rs3-setup      | /scripts/setup.sh: line 5: ping: command not found

@senssei   Please check the changes, the files were created with docker_info and docker_version.

https://github.com/hello4leaf/mongo-cluster-docker

@senssei There was no command inside the container, so I replaced it with another command.
and
I checked it by connecting to the container.
There is no command, and it seems that a problem has occurred.
Thank you
mongos> sh.status()
--- Sharding Status ---
  sharding version: {
        "_id" : 1,
        "minCompatibleVersion" : 5,
        "currentVersion" : 6,
        "clusterId" : ObjectId("597615399e7d7a197034e254")
}
  shards:
        {  "_id" : "rs1",  "host" : "rs1/<IP_ADDRESS>:27017,<IP_ADDRESS>:27017,<IP_ADDRESS>:27017",  "state" : 1 }
        {  "_id" : "rs2",  "host" : "rs2/<IP_ADDRESS>:27017,<IP_ADDRESS>:27017,<IP_ADDRESS>:27017",  "state" : 1 }
        {  "_id" : "rs3",  "host" : "rs3/<IP_ADDRESS>:27017,<IP_ADDRESS>:27017,<IP_ADDRESS>:27017",  "state" : 1 }
  active mongoses:
        "3.4.6" : 1
 autosplit:
        Currently enabled: yes
  balancer:
        Currently enabled:  yes
        Currently running:  no
                Balancer lock taken at Mon Jul 24 2017 15:41:49 GMT+0000 (UTC) by ConfigServer:Balancer
        Failed balancer rounds in last 5 attempts:  0
        Migration Results for the last 24 hours:
                No recent migrations
  databases:


Add $Anchor as class in ElementHolder

Best practice for CSS requires using classes for styling instead of the IDs. Adding the $Anchor as css class will allow developers to target individual elements with CSS in more standardized way

I'm not sure I agree with having anchor as a class. It's a unique identifier - which makes sense as an ID. Also it's "volatile" and could change easily as it adds numbers depending on the order of blocks on a page.
What's the particular use case here?

I'm not convinced this is a good idea for the reasons stated above. I'm going to close this PR. Please feel free to comment if you feel strongly about this. Thanks for the contribution!


Please support backup API

SQLite3 has backup APIs.
https://sqlite.org/backup.html
if possible, please support it.
and if possible, support backup for moor??
thx.

Can you use VACUUM INTO to backup databases?

Can you use VACUUM INTO to backup databases?

can but
documentation says

The VACUUM INTO command is transactional in the sense that the generated output database is a consistent snapshot of the original database. However, if the VACUUM INTO command is interrupted by an unplanned shutdown or power lose, then the generated output database might be incomplete and corrupt. Also, SQLite does not invoke fsync() or FlushFileBuffers() on the generated database to ensure that it has reached non-volatile storage before completing

and

This means that when VACUUMing a database, as much as twice the size of the original database file is required in free disk space.

So I wanna use backup api if possible

can but
documentation says

The VACUUM INTO command is transactional in the sense that the generated output database is a consistent snapshot of the original database. However, if the VACUUM INTO command is interrupted by an unplanned shutdown or power lose, then the generated output database might be incomplete and corrupt. Also, SQLite does not invoke fsync() or FlushFileBuffers() on the generated database to ensure that it has reached non-volatile storage before completing

and

This means that when VACUUMing a database, as much as twice the size of the original database file is required in free disk space.

So I wanna use backup api if possible


is there a way that let me set a proxy to install the gopls?

just can't install the gopls, even i have manual installed it in my user go dir

and what's the exactly the directory that the gopls.exe should be storaged, want just copy the exe to that directory

Are you changing the settings to a manned binary?

Closing as unresponsive


Fix: e2e fail -- cluster-proxy-addon log fail.

Fix the following error:
Testing Pod log [It] should get log from pod successfully
/go/src/github.com/stolostron/multicloud-operators-foundation/test/e2e/log_test.go:94
  [FAILED] Timed out after 300.001s.
  Unexpected error:
      <*errors.StatusError | 0xc000741040>:
      the server rejected our request for an unknown reason (get clusterstatuses.proxy.open-cluster-management.io cluster1)
      {
          ErrStatus: {
              TypeMeta: {Kind: "", APIVersion: ""},
              ListMeta: {
                  SelfLink: "",
                  ResourceVersion: "",
                  Continue: "",
                  RemainingItemCount: nil,
              },
              Status: "Failure",
              Message: "the server rejected our request for an unknown reason (get clusterstatuses.proxy.open-cluster-management.io cluster1)",
              Reason: "BadRequest",
              Details: {
                  Name: "cluster1",
                  Group: "proxy.open-cluster-management.io",
                  Kind: "clusterstatuses",
                  UID: "",
                  Causes: [
                      {
                          Type: "UnexpectedServerResponse",
                          Message: "faield to stream log. an error on the server (\"proxy to anp-proxy-server failed because No agent available\") has prevented the request from succeeding (get pods klusterlet-agent-6657f45bf7-c7sm6)",
                          Field: "",
                      },
                  ],
                  RetryAfterSeconds: 0,
              },
              Code: 400,
          },
      }
  occurred
  In [It] at: /go/src/github.com/stolostron/multicloud-operators-foundation/test/e2e/log_test.go:116 @ 11/12/24 08:54:20.599

/retest

/retest

/retest

/retest


Code Release

when do you plan to release the code? looking forward to your reply.

Hi, we have released the training code of our minimal baseline in the dev branch. We will gradually release the complete code and model.


Beam as structure element

Implements an EllipticalTophat2DKernel, allowing for the beam to be converted into a structure element for morphological operations. This required implementing an EllipticalDisk2D model as well.

@keflavich - The tophat area should now match the gaussian. I'm going to do a bit more testing tomorrow though.

@e-koch ok just ping me when you want it merged

@keflavich - Good to merge!

Example of a beam and the elliptical gaussian (image) with the elliptical tophat (contour).

Octagonal ellipses are my favorite ellipses.


solve label error when image is shuffled

If I do as follows, to_categorical() will return wrong labels because data is shuffled. So I need labels to be shuffled, too.
from keras.preprocessing.image import ImageDataGenerator
from keras.utils.np_utils import to_categorical

datagen = ImageDataGenerator()
generator = datagen.flow_from_directory(
        train_data_dir,
        target_size=(img_width, img_height),
        batch_size=batch_size,
        class_mode=None,
        shuffle=True,
        seed=seed)
bottleneck_features_train = model.predict_generator(
     generator, (generator.n // batch_size)+0)
bottleneck_features_train_lable = to_categorical(generator.classes, num_classes=None)

What is this meant to achieve?

Thanks for editing your post to make your use case clear. The proper solution here is not to use shuffle in predict_generator.


AttributeError: module 'sqlalchemy' has no attribute 'Select' when using SQLDatabaseLoader in langchain_community

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code
import os
from langchain_community.document_loaders import TextLoader
loader = TextLoader("state_of_the_union.txt")
loader.load()
Error Message and Stack Trace (if applicable)

AttributeError                            Traceback (most recent call last)
Cell In[17], line 2
1 import os
----> 2 from langchain_community.document_loaders import TextLoader
3 loader = TextLoader("state_of_the_union.txt")
4 loader.load()
File ~\AppData\Roaming\Python\Python310\site-packages\langchain_community\document_loaders_init_.py:190
188 from langchain_community.document_loaders.snowflake_loader import SnowflakeLoader
189 from langchain_community.document_loaders.spreedly import SpreedlyLoader
--> 190 from langchain_community.document_loaders.sql_database import SQLDatabaseLoader
191 from langchain_community.document_loaders.srt import SRTLoader
192 from langchain_community.document_loaders.stripe import StripeLoader
File ~\AppData\Roaming\Python\Python310\site-packages\langchain_community\document_loaders\sql_database.py:10
6 from langchain_community.document_loaders.base import BaseLoader
7 from langchain_community.utilities.sql_database import SQLDatabase
---> 10 class SQLDatabaseLoader(BaseLoader):
11     """
12     Load documents by querying database tables supported by SQLAlchemy.
13
(...)
17     Each document represents one row of the result.
18     """
20     def init(
21         self,
22         query: Union[str, sa.Select],
(...)
30         include_query_into_metadata: bool = False,
31     ):
File ~\AppData\Roaming\Python\Python310\site-packages\langchain_community\document_loaders\sql_database.py:22, in SQLDatabaseLoader()
10 class SQLDatabaseLoader(BaseLoader):
11     """
12     Load documents by querying database tables supported by SQLAlchemy.
13
(...)
17     Each document represents one row of the result.
18     """
20     def init(
21         self,
---> 22         query: Union[str, sa.Select],
23         db: SQLDatabase,
24         *,
25         parameters: Optional[Dict[str, Any]] = None,
26         page_content_mapper: Optional[Callable[..., str]] = None,
27         metadata_mapper: Optional[Callable[..., Dict[str, Any]]] = None,
28         source_columns: Optional[Sequence[str]] = None,
29         include_rownum_into_metadata: bool = False,
30         include_query_into_metadata: bool = False,
31     ):
32         """
33         Args:
34             query: The query to execute.
(...)
49               expression into the metadata dictionary. Default: False.
50         """
51         self.query = query

AttributeError: module 'sqlalchemy' has no attribute 'Select'
Description
I am new to Langchain and I am stuck at an issue. My end goal is to read the contents of a file and create a vectorstore of my data which I can query later. I'm encountering an error while trying to use the SQLDatabaseLoader from the langchain_community package.
It seems to be referencing an attribute 'Select' from the 'sqlalchemy' module, but it's unable to find it. I'm not sure why this error is occurring, especially since I haven't directly used 'sqlalchemy. Select' in my code. I've tried using versions 1.3, 1.4, and 2.0 of SQLAlchemy, but I still encounter the same error.
System Info
System Information

OS:  Windows
OS Version:  10.0.22631
Python Version:  3.11.1 (tags/v3.11.1:a7a450f, Dec  6 2022, 19:58:39) [MSC v.1934 64 bit (AMD64)]

Package Information

langchain_core: 0.1.29
langchain: 0.1.10
langchain_community: 0.0.25
langsmith: 0.1.18
langchain_openai: 0.0.8
langchain_text_splitters: 0.0.1
langchainhub: 0.1.15

Packages not installed (Not Necessarily a Problem)
The following packages were not found:

langgraph
langserve

AttributeError: module 'sqlalchemy' has no attribute 'Select', is encountered when attempting to use the SQLDatabaseLoader from the langchain_community package in the LangChain framework. The issue arises while executing the code, specifically within the SQLDatabaseLoader class, referencing an attribute Select from the sqlalchemy module, which cannot be found.

@10-OASIS-01  I am seeing that your python environment is 3.10 in
 :File ~\AppData\Roaming\Python\**Python310**\site-packages\langchain_community\document_loaders\sql_database.py:22,
are you sure you are using right environment?

pip3 install sqlalchemy==2.0.0 will fix this.

pip3 install sqlalchemy==2.0.0 will fix this.
I tried it but it didn't work

I experienced similar symptom. If you use Jupyter extention in VSC, reinstall or update it. it works in my case!

Thanks Man, this suggestion works.

Reinstalling Jupyter  VSC extension worked for me too.


Wrong handling of PGN in j1939_receive()

if (j1939_pdu_is_p2p(*pgn)) {
*pgn = id & 0xFFFF00FFu;
*dst = (id >> 8) & 0x000000FFu;
} else {
*dst = ADDRESS_NULL; <-----*pgn = ???
}
*pgn = (*pgn >> 8) & PGN_MASK;

Please give a description of the issue. What I have to understand from this report?

Hi,
you fixed this issue in your last commit:
985d46fe7b4140f2758b8cb7639567eca8853a.
Set PGN to raw CAN ID before extract destination address.
It fixes #1 and #4. There was nothing in pgn variable.
You can close #4 too.
Cheers


Add a wallet

I've cloned this repo, studied the package structure to add a new wallet to the wallet selector. I was able to make it work with the guestbook example, but I'm trying to integrate it with another dapp, getting errors.
I've never uploaded an npm package, so I'm not sure exactly how it's done, but I'm checking the resulting structure from adding the wallet-selector packages from npmjs and the one I'm leaving on the package folder and it's different. I'm assuming I'm missing some step.
Is it possible to get some assistance? Thank you

Hey, @Calcifer1001 thank you for raising this issue.
Can you please clarify what your goal is, do you want to add your wallet to Wallet Selector as a new package as it's done with other packages?
If you wish to add it as other packages then you need to open a new PR that points to dev branch.
This guide might be helpful:
https://github.com/near/wallet-selector/blob/main/packages/core/docs/guides/custom-wallets.md
After PR is approved and merged we do the publishing to npm ourselves it would be something like this:
@near-wallet-selector/your-wallet-name
If I have misunderstood your question could you please provide us a demo so we can have a look at the errors you're seeing?

My goal is that. At that moment I already did most of the job and now I'm about to finish.
Currently it works with the guestbook and one more app. The thing is that I started this about 2 months ago and had to do other things in the meantime, so it was slow.
Just to be sure, what would be the next steps? For me to bring the latest changes from dev branch, make it stable and create a pull request?
Thank you!

Hey, the process to add a wallet into Wallet Selector is as mentioned above and can be done in these steps:

Make sure it follows the security criteria detailed here https://github.com/near/wallet-selector/blob/main/CONTRIBUTING.md#listing-criteria-for-third-party-wallet-on-wallet-selector
Add a new package with your wallet's name under /packages in this repo.
Open a new PR against the dev branch.

After you submit a PR then we will review it. Currently, there are few similar PRs opened you might have a look at them here: https://github.com/near/wallet-selector/pulls

Thank you for your response.
I've just pulled the changes from dev, fixed the conflicts and tested it out, working fine.
Also, I've just created the pull request. Hope it goes fine.
Thank you for your time!


ssh into AWS

Is there a convenient way to ssh into an AWS cluster using the next_ec2 script? (I'm trying to do this so I can play around with the docker containers... but maybe there is a better way to do this)
Thanks

"Python next_ec2 docker_login [machine-name]". This will look for some variables in your environment for AWS secret access key. Mostly it ssh's you in then puts you in the directory "/usr/local/next-discovery" (I think, I need to verify).
If you launch via AMI I'm not sure if the next_ec2 script works as expected.


Node.js Foundation Community Committee Meeting 2019-04-04

Time
UTC Thu 04-Apr-2019 16:00 (04:00 PM):

Timezone
Date/Time

US / Pacific
Thu 04-Apr-2019 09:00 (09:00 AM)

US / Mountain
Thu 04-Apr-2019 10:00 (10:00 AM)

US / Central
Thu 04-Apr-2019 11:00 (11:00 AM)

US / Eastern
Thu 04-Apr-2019 12:00 (12:00 PM)

London
Thu 04-Apr-2019 17:00 (05:00 PM)

Amsterdam
Thu 04-Apr-2019 18:00 (06:00 PM)

Moscow
Thu 04-Apr-2019 19:00 (07:00 PM)

Chennai
Thu 04-Apr-2019 21:30 (09:30 PM)

Hangzhou
Fri 05-Apr-2019 00:00 (12:00 AM)

Tokyo
Fri 05-Apr-2019 01:00 (01:00 AM)

Sydney
Fri 05-Apr-2019 03:00 (03:00 AM)

Or in your local time:

http://www.timeanddate.com/worldclock/fixedtime.html?msg=Node.js+Foundation+Community Committee+Meeting+2019-04-04&iso=20190404T16
or http://www.wolframalpha.com/input/?i=04PM+UTC%2C+Apr+04%2C+2019+in+local+time

Links

Minutes Google Doc: https://docs.google.com/document/d/18ACiBQC9DT7Dc5dUEGW38Zk7LBy7nDSfddVM5Yw2JJA/edit

Agenda
Extracted from cc-agenda labelled issues and pull requests from the nodejs org prior to the meeting.
nodejs/summit

Call for Sessions: Berlin Collab Summit #149

nodejs/community-committee

Node.js Broder Community closes issue:#453 #458
Discuss Collab Summit Progress #448
Add nodejs/outreach Initiative to README #462

Invited

CommComm Members: @nodejs/community-committee

Observers/Guests
Feel free to follow along on the YouTube live stream, or attend meeting as a guest
by calling in to Zoom, using the links below. If you will be attending as a guest,
please comment on this issue to let us know you'll be joining.
Notes
The agenda comes from issues labelled with cc-agenda across all of the repositories in the nodejs org. Please label any additional issues that should be on the agenda before the meeting starts.
Joining the meeting

Link for participants: https://zoom.us/j/527273462
For those who just want to watch: https://www.youtube.com/channel/UCQPYJluYC_sn_Qz_XE-YbTQ

@amiller-gh any chance I could discuss the Node.js User Survey and the Node + JS Interactive CFP today?  Would like to see if anyone wants to help review last year's survey questions (only minor scrub of questions needed) and CFP proposals as they start to come in.

@SarahKConway sounds good! 👍

Still a little bit ill 🤧. Will sure make it to the next meeting! ❤


test: sink -no-toolchain-stdlib-rpath into lit

This is a platform specific option and should be handled by lit patterns rather than encoded into the tests.

@swift-ci please smoke test

@swift-ci please smoke test


Basic project setup example - no Coverage Data on Ubuntu 16.04 LTS

I'm reporting from an Linux (Ubuntu 16.04 LTS) with

nodejs 6.9.5, npm 3.10.10, typescript 2.1.4
SonarQube 5.6.4, Sonar-Scanner 2.8

What I've done so far:

made SonarTsPlugin 1.0.0-rc, dropped into SonarQube 5.6.4 "extensions/plugins"
cloned the SonarTsPlugin
head to "samples/basic-setup"
run npm install && npm test && ~/TestTools/sonar-scanner-2.8/bin/sonar-scanner -X

When I open the Dashboard-Page for "Basic project setup example" it show 26 LOC, 0 Bugs and 6 Code Smells. But there's no Code Coverage Information available.
There is actually a File "./coverage/lcov.info" generated, about 782 Byte in size.

Interesting - let me investigate.

Hmm - tried reproducing with 6.2 on Ubuntu 14.04 LTS (don't have an SQ 5.6 install on Linux to hand) and it appears to be working fine. Any chance you could supply the following please?

The LCOV file that gets generated after the npm test run
The console output from the sonar-scanner run (same as before, with the -X argument)

I'm kind-of assuming it's a file path issue somehow, just not clear how!

Very well,
when I start "npm test" it prints
><EMAIL_ADDRESS>test /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup
> karma start --single-run --code-coverage

07 02 2017 20:41:49.059:INFO [compiler.karma-typescript]: Compiling project using Typescript 2.1.5
07 02 2017 20:41:50.592:INFO [compiler.karma-typescript]: Compiled 2 files in 908 ms.
07 02 2017 20:41:51.244:INFO [bundler.karma-typescript]: Bundled imports for 2 file(s) in 149 ms.
07 02 2017 20:41:51.428:INFO [karma]: Karma v1.4.1 server started at http://<IP_ADDRESS>:9876/
07 02 2017 20:41:51.429:INFO [launcher]: Launching browser PhantomJS with unlimited concurrency
07 02 2017 20:41:51.471:INFO [launcher]: Starting browser PhantomJS
07 02 2017 20:41:52.626:INFO [PhantomJS 2.1.1 (Linux 0.0.0)]: Connected on socket c2U-TqdHxQDNneAVAAAA with id 94504432
PhantomJS 2.1.1 (Linux 0.0.0): Executed 1 of 1 SUCCESS (0.039 secs / 0 secs)

which seems quite okay.
Then, running sonar-scanner:
~/TestTools/sonar-scanner-2.8/bin/sonar-scanner -X
20:44:18.443 INFO: Scanner configuration file: /home/uwehartwig/TestTools/sonar-scanner-2.8/conf/sonar-scanner.properties
20:44:18.460 INFO: Project root configuration file: /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/sonar-project.properties
20:44:18.488 INFO: SonarQube Scanner 2.8
20:44:18.488 INFO: Java 1.8.0_121 Oracle Corporation (64-bit)
20:44:18.488 INFO: Linux 4.4.0-62-generic amd64
20:44:20.447 DEBUG: keyStore is :
20:44:20.448 DEBUG: keyStore type is : jks
20:44:20.448 DEBUG: keyStore provider is :
20:44:20.448 DEBUG: init keystore
20:44:20.448 DEBUG: init keymanager of type SunX509
20:44:20.892 INFO: User cache: /home/uwehartwig/.sonar/cache
20:44:20.892 DEBUG: Extract sonar-scanner-api-batch in temp...
20:44:20.896 DEBUG: Get bootstrap index...
20:44:20.896 DEBUG: Download: http://localhost:9000/batch_bootstrap/index
20:44:21.204 DEBUG: Get bootstrap completed
20:44:21.242 DEBUG: Create isolated classloader...
20:44:21.249 DEBUG: Start temp cleaning...
20:44:21.675 DEBUG: Temp cleaning done
20:44:21.675 DEBUG: Execution getVersion
20:44:21.914 DEBUG: Execution start
20:44:24.484 DEBUG: Publish global mode
20:44:25.699 INFO: Load global repositories
20:44:26.096 DEBUG: GET 200 http://localhost:9000/batch/global | time=397ms
20:44:26.350 INFO: Load global repositories (done) | time=651ms
20:44:26.770 INFO: User cache: /home/uwehartwig/.sonar/cache
20:44:27.850 INFO: Load plugins index
20:44:27.853 DEBUG: GET 200 http://localhost:9000/deploy/plugins/index.txt | time=3ms
20:44:27.854 INFO: Load plugins index (done) | time=4ms
20:44:27.854 DEBUG: Load plugins
20:44:27.965 DEBUG: Load plugins (done) | time=111ms
20:44:28.004 DEBUG: API compatibility mode is enabled on plugin C# [csharp] (built with API lower than 5.2)
20:44:28.016 DEBUG: API compatibility mode is enabled on plugin Java [java] (built with API lower than 5.2)
20:44:28.017 DEBUG: API compatibility mode is enabled on plugin Git [scmgit] (built with API lower than 5.2)
20:44:28.018 DEBUG: API compatibility mode is enabled on plugin SVN [scmsvn] (built with API lower than 5.2)
20:44:28.019 DEBUG: API compatibility mode is enabled on plugin JavaScript [javascript] (built with API lower than 5.2)
20:44:28.257 DEBUG: Plugins:
20:44:28.257 DEBUG:   * C# 5.0 (csharp)
20:44:28.257 DEBUG:   * Java 3.13.1 (java)
20:44:28.257 DEBUG:   * Git 1.2 (scmgit)
20:44:28.257 DEBUG:   * TypeScript 0.99-SNAPSHOT (typescript)
20:44:28.257 DEBUG:   * SVN 1.3 (scmsvn)
20:44:28.258 DEBUG:   * JavaScript 2.11 (javascript)
20:44:28.302 DEBUG: Execution getVersion
20:44:28.302 INFO: SonarQube server 5.6.4
20:44:28.302 INFO: Default locale: "de_DE", source code encoding: "UTF-8"
20:44:28.303 DEBUG: Work directory: /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/.sonar
20:44:28.303 DEBUG: Execution getVersion
20:44:28.303 DEBUG: Execution execute
20:44:29.357 INFO: Process project properties
20:44:29.360 DEBUG: Process project properties (done) | time=3ms
20:44:29.513 INFO: Load project repositories
20:44:29.559 DEBUG: GET 200 http://localhost:9000/batch/project.protobuf?key=com.pablissimo.sonar%3Abasic-setup | time=44ms
20:44:29.674 INFO: Load project repositories (done) | time=161ms
20:44:29.872 DEBUG: Available languages:
20:44:29.872 DEBUG:   * C# => "cs"
20:44:29.872 DEBUG:   * Java => "java"
20:44:29.872 DEBUG:   * TypeScript => "ts"
20:44:29.872 DEBUG:   * JavaScript => "js"
20:44:29.874 INFO: Load quality profiles
20:44:29.930 DEBUG: GET 200 http://localhost:9000/api/qualityprofiles/search.protobuf?projectKey=com.pablissimo.sonar%3Abasic-setup | time=56ms
20:44:29.956 INFO: Load quality profiles (done) | time=82ms
20:44:29.960 INFO: Load active rules
20:44:30.445 DEBUG: GET 200 http://localhost:9000/api/rules/search.protobuf?f=repo,name,severity,lang,internalKey,templateKey,params,actives&activation=true&qprofile=cs-sonar-way-52997&p=1&ps=500 | time=485ms
20:44:30.748 DEBUG: GET 200 http://localhost:9000/api/rules/search.protobuf?f=repo,name,severity,lang,internalKey,templateKey,params,actives&activation=true&qprofile=java-sonar-way-35080&p=1&ps=500 | time=264ms
20:44:30.877 DEBUG: GET 200 http://localhost:9000/api/rules/search.protobuf?f=repo,name,severity,lang,internalKey,templateKey,params,actives&activation=true&qprofile=js-sonar-way-37141&p=1&ps=500 | time=96ms
20:44:30.967 DEBUG: GET 200 http://localhost:9000/api/rules/search.protobuf?f=repo,name,severity,lang,internalKey,templateKey,params,actives&activation=true&qprofile=ts-tslint-41330&p=1&ps=500 | time=88ms
20:44:30.981 INFO: Load active rules (done) | time=1022ms
20:44:31.045 INFO: Publish mode
20:44:31.045 DEBUG: Start recursive analysis of project modules
20:44:31.046 INFO: -------------  Scan Basic project setup example
20:44:31.117 INFO: Load server rules
20:44:31.442 DEBUG: GET 200 http://localhost:9000/api/rules/list.protobuf | time=325ms
20:44:31.450 INFO: Load server rules (done) | time=333ms
20:44:31.559 DEBUG: Initializers :
20:44:31.559 INFO: Base dir: /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup
20:44:31.559 INFO: Working dir: /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/.sonar
20:44:31.565 INFO: Source paths: src
20:44:31.565 INFO: Test paths: test
20:44:31.565 INFO: Source encoding: UTF-8, default locale: de_DE
20:44:31.565 INFO: Index files
20:44:31.567 INFO: Excluded sources:
20:44:31.567 INFO:   node_modules/**
20:44:31.576 DEBUG: Declared extensions of language C# were converted to sonar.lang.patterns.cs : **/*.cs
20:44:31.577 DEBUG: Declared extensions of language Java were converted to sonar.lang.patterns.java : **/*.java,**/*.jav
20:44:31.577 DEBUG: Declared extensions of language TypeScript were converted to sonar.lang.patterns.ts : **/*.ts,**/*.tsx
20:44:31.577 DEBUG: Declared extensions of language JavaScript were converted to sonar.lang.patterns.js : **/*.js
20:44:31.589 DEBUG: Language of file 'src/MyApp.ts' is detected to be 'ts'
20:44:31.589 DEBUG: Language of file 'test/MyAppTests.ts' is detected to be 'ts'
20:44:31.600 INFO: 2 files indexed
20:44:31.600 INFO: 0 files ignored because of inclusion/exclusion patterns
20:44:31.604 INFO: Quality profile for ts: TsLint
20:44:31.975 INFO: JaCoCoSensor: JaCoCo report not found : /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/target/jacoco.exec
20:44:31.975 INFO: JaCoCoItSensor: JaCoCo IT report not found: /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/target/jacoco-it.exec
20:44:31.979 DEBUG: Code colorizer, supported languages: cs
20:44:31.994 DEBUG: Sensors : Lines Sensor (wrapped) -> SCM Sensor (wrapped) -> Linting sensor for TypeScript files (wrapped) -> Combined LCOV and LOC sensor (wrapped) -> Zero Coverage Sensor (wrapped) -> Code Colorizer Sensor (wrapped) -> CPD Block Indexer (wrapped)
20:44:31.995 INFO: Sensor Lines Sensor (wrapped)
20:44:32.008 INFO: Sensor Lines Sensor (wrapped) (done) | time=14ms
20:44:32.008 INFO: Sensor SCM Sensor (wrapped)
20:44:32.016 INFO: Sensor SCM Sensor (wrapped) (done) | time=8ms
20:44:32.017 INFO: Sensor Linting sensor for TypeScript files (wrapped)
20:44:32.017 DEBUG: Path sonar.ts.tslintpath not specified, falling back to node_modules/tslint/bin/tslint
20:44:32.017 DEBUG: Found sonar.ts.tslintconfigpath Lint path to be 'tslint.json'
20:44:32.017 DEBUG: Path sonar.ts.tslintrulesdir not specified, falling back to null
20:44:32.017 DEBUG: Path sonar.ts.tslintprojectpath not specified, falling back to null
20:44:32.019 DEBUG: Using a temporary path for TsLint output: /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/.sonar/.sonartmp/1656738177353671694.tmp
20:44:32.020 DEBUG: Split 2 files into 1 batches for processing
20:44:32.020 DEBUG: Executing TsLint with command: node /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/node_modules/tslint/bin/tslint --format json --out /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/.sonar/.sonartmp/1656738177353671694.tmp --config /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/tslint.json /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/src/MyApp.ts /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/test/MyAppTests.ts
20:44:32.020 DEBUG: Executing TsLint with command: node /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/node_modules/tslint/bin/tslint --format json --out /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/.sonar/.sonartmp/1656738177353671694.tmp --config /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/tslint.json /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/src/MyApp.ts /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/test/MyAppTests.ts
20:44:33.105 INFO: Sensor Linting sensor for TypeScript files (wrapped) (done) | time=1088ms
20:44:33.105 INFO: Sensor Combined LCOV and LOC sensor (wrapped)
20:44:33.110 INFO: Sensor Combined LCOV and LOC sensor (wrapped) (done) | time=5ms
20:44:33.110 INFO: Sensor Zero Coverage Sensor (wrapped)
20:44:33.116 INFO: Sensor Zero Coverage Sensor (wrapped) (done) | time=6ms
20:44:33.116 INFO: Sensor Code Colorizer Sensor (wrapped)
20:44:33.117 INFO: Sensor Code Colorizer Sensor (wrapped) (done) | time=1ms
20:44:33.117 INFO: Sensor CPD Block Indexer (wrapped)
20:44:33.117 INFO: DefaultCpdBlockIndexer is used for ts
20:44:33.117 DEBUG: No CpdMapping for language ts
20:44:33.117 INFO: Sensor CPD Block Indexer (wrapped) (done) | time=0ms
20:44:33.118 INFO: Calculating CPD for 0 files
20:44:33.118 INFO: CPD calculation finished
20:44:33.159 INFO: Analysis report generated in 41ms, dir size=21 KB
20:44:33.166 INFO: Analysis reports compressed in 7ms, zip size=9 KB
20:44:33.166 INFO: Analysis report generated in /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/.sonar/batch-report
20:44:33.167 DEBUG: Upload report
20:44:33.249 DEBUG: POST 200 http://localhost:9000/api/ce/submit?projectKey=com.pablissimo.sonar:basic-setup&projectName=Basic%20project%20setup%20example | time=82ms
20:44:33.251 INFO: Analysis report uploaded in 84ms
20:44:33.251 INFO: ANALYSIS SUCCESSFUL, you can browse http://localhost:9000/dashboard/index/com.pablissimo.sonar:basic-setup
20:44:33.251 INFO: Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report
20:44:33.251 INFO: More about the report processing at http://localhost:9000/api/ce/task?id=AVoaGy3J0mJdhsij-xeo
20:44:33.290 DEBUG: Report metadata written to /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/.sonar/report-task.txt
20:44:33.291 DEBUG: Post-jobs :
20:44:33.292 INFO: ------------------------------------------------------------------------
20:44:33.292 INFO: EXECUTION SUCCESS
20:44:33.292 INFO: ------------------------------------------------------------------------
20:44:33.292 INFO: Total time: 14.876s
20:44:33.340 INFO: Final Memory: 44M/169M
20:44:33.341 INFO: ------------------------------------------------------------------------
20:44:33.341 DEBUG: Execution getVersion
20:44:33.341 DEBUG: Execution stop

Which doesn't look that bad.
Attached Screen + LCOV File as zip-File
sonarts-ubuntu16.zip

Hah - !
even more interesting:
I just gave SonarQube 6.2 a try and it worked, reporting a Coverage of 81.3 Percent, even though it throws an (IMHO) unnecessary Java Exception when first executed:
20:59:39.177 INFO: Scanner configuration file: /home/uwehartwig/TestTools/sonar-scanner-2.8/conf/sonar-scanner.properties
20:59:39.181 INFO: Project root configuration file: /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/sonar-project.properties
20:59:39.198 INFO: SonarQube Scanner 2.8
20:59:39.198 INFO: Java 1.8.0_121 Oracle Corporation (64-bit)
20:59:39.198 INFO: Linux 4.4.0-62-generic amd64
20:59:39.315 DEBUG: keyStore is :
20:59:39.315 DEBUG: keyStore type is : jks
20:59:39.315 DEBUG: keyStore provider is :
20:59:39.315 DEBUG: init keystore
20:59:39.316 DEBUG: init keymanager of type SunX509
20:59:39.384 INFO: User cache: /home/uwehartwig/.sonar/cache
20:59:39.384 DEBUG: Extract sonar-scanner-api-batch in temp...
20:59:39.390 DEBUG: Get bootstrap index...
20:59:39.390 DEBUG: Download: http://localhost:9000/batch_bootstrap/index
20:59:39.437 DEBUG: Get bootstrap completed
20:59:39.454 DEBUG: Create isolated classloader...
20:59:39.462 DEBUG: Start temp cleaning...
20:59:39.467 DEBUG: Temp cleaning done
20:59:39.467 DEBUG: Execution getVersion
20:59:39.523 DEBUG: Execution start
20:59:39.803 DEBUG: Publish global mode
20:59:39.925 INFO: Load global repositories
20:59:40.073 DEBUG: GET 200 http://localhost:9000/batch/global | time=146ms
20:59:40.147 INFO: Load global repositories (done) | time=222ms
20:59:40.172 INFO: User cache: /home/uwehartwig/.sonar/cache
20:59:40.621 INFO: Load plugins index
20:59:40.624 DEBUG: GET 200 http://localhost:9000/deploy/plugins/index.txt | time=3ms
20:59:40.624 INFO: Load plugins index (done) | time=3ms
20:59:40.625 DEBUG: Load plugins
20:59:40.673 DEBUG: Download plugin sonar-typescript-plugin-1.0.0-RC1.jar to /home/uwehartwig/.sonar/cache/_tmp/fileCache1025755459303144275.tmp
20:59:40.675 DEBUG: GET 200 http://localhost:9000/deploy/plugins/typescript/sonar-typescript-plugin-1.0.0-RC1.jar | time=2ms
20:59:40.752 DEBUG: Load plugins (done) | time=127ms
20:59:40.774 DEBUG: API compatibility mode is enabled on plugin Git [scmgit] (built with API lower than 5.2)
20:59:40.808 DEBUG: API compatibility mode is enabled on plugin SVN [scmsvn] (built with API lower than 5.2)
20:59:40.904 DEBUG: Plugins:
20:59:40.904 DEBUG:   * C# <IP_ADDRESS>2 (csharp)
20:59:40.904 DEBUG:   * Java <IP_ADDRESS>17 (java)
20:59:40.904 DEBUG:   * Git 1.2 (scmgit)
20:59:40.904 DEBUG:   * TypeScript 1.0.0-RC1 (typescript)
20:59:40.905 DEBUG:   * SVN 1.3 (scmsvn)
20:59:40.905 DEBUG:   * JavaScript <IP_ADDRESS>54 (javascript)
20:59:40.921 DEBUG: Execution getVersion
20:59:40.922 INFO: SonarQube server 6.2
20:59:40.922 INFO: Default locale: "de_DE", source code encoding: "UTF-8"
20:59:40.922 DEBUG: Work directory: /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/.sonar
20:59:40.922 DEBUG: Execution getVersion
20:59:40.923 DEBUG: Execution execute
20:59:41.461 INFO: Process project properties
20:59:41.464 DEBUG: Process project properties (done) | time=3ms
20:59:41.531 INFO: Load project repositories
20:59:41.539 DEBUG: GET 404 http://localhost:9000/batch/project.protobuf?key=com.pablissimo.sonar%3Abasic-setup | time=5ms
20:59:41.541 DEBUG: Project repository not available - continuing without it
org.sonarqube.ws.client.HttpException: Error 404 on http://localhost:9000/batch/project.protobuf?key=com.pablissimo.sonar%3Abasic-setup : {"errors":[{"msg":"Project or module with key 'com.pablissimo.sonar:basic-setup' is not found"}]}
	at org.sonarqube.ws.client.BaseResponse.failIfNotSuccessful(BaseResponse.java:36)
	at org.sonar.scanner.bootstrap.BatchWsClient.failIfUnauthorized(BatchWsClient.java:102)
	at org.sonar.scanner.bootstrap.BatchWsClient.call(BatchWsClient.java:71)
	at org.sonar.scanner.repository.DefaultProjectRepositoriesLoader.load(DefaultProjectRepositoriesLoader.java:58)
	at org.sonar.scanner.repository.ProjectRepositoriesProvider.provide(ProjectRepositoriesProvider.java:37)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.picocontainer.injectors.MethodInjector.invokeMethod(MethodInjector.java:129)
	at org.picocontainer.injectors.MethodInjector.access$000(MethodInjector.java:39)
	at org.picocontainer.injectors.MethodInjector$2.run(MethodInjector.java:113)
	at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
	at org.picocontainer.injectors.MethodInjector.decorateComponentInstance(MethodInjector.java:120)
	at org.picocontainer.injectors.CompositeInjector.decorateComponentInstance(CompositeInjector.java:58)
	at org.picocontainer.injectors.Reinjector.reinject(Reinjector.java:142)
	at org.picocontainer.injectors.ProviderAdapter.getComponentInstance(ProviderAdapter.java:96)
	at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:699)
	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:647)
	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:67)
	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:632)
	at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118)
	at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136)
	at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78)
	at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:309)
	at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:335)
	at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
	at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364)
	at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
	at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64)
	at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91)
	at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:699)
	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:647)
	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:67)
	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:678)
	at org.sonar.core.platform.ComponentContainer.getComponentByType(ComponentContainer.java:272)
	at org.sonar.scanner.scan.ProjectScanContainer.doBeforeStart(ProjectScanContainer.java:114)
	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:140)
	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
	at org.sonar.scanner.task.ScanTask.execute(ScanTask.java:47)
	at org.sonar.scanner.task.TaskContainer.doAfterStart(TaskContainer.java:86)
	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
	at org.sonar.scanner.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:115)
	at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:116)
	at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:62)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
	at com.sun.proxy.$Proxy0.execute(Unknown Source)
	at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:233)
	at org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151)
	at org.sonarsource.scanner.cli.Main.runAnalysis(Main.java:110)
	at org.sonarsource.scanner.cli.Main.execute(Main.java:74)
	at org.sonarsource.scanner.cli.Main.main(Main.java:61)

20:59:41.546 INFO: Load project repositories (done) | time=15ms
20:59:41.671 DEBUG: Available languages:
20:59:41.671 DEBUG:   * C# => "cs"
20:59:41.671 DEBUG:   * Java => "java"
20:59:41.671 DEBUG:   * TypeScript => "ts"
20:59:41.672 DEBUG:   * JavaScript => "js"
20:59:41.674 INFO: Load quality profiles
20:59:41.776 DEBUG: GET 200 http://localhost:9000/api/qualityprofiles/search.protobuf?defaults=true | time=102ms
20:59:41.815 INFO: Load quality profiles (done) | time=141ms
20:59:41.821 INFO: Load active rules
20:59:42.089 DEBUG: GET 200 http://localhost:9000/api/rules/search.protobuf?f=repo,name,severity,lang,internalKey,templateKey,params,actives&activation=true&qprofile=cs-sonar-way-88596&p=1&ps=500 | time=267ms
20:59:42.434 DEBUG: GET 200 http://localhost:9000/api/rules/search.protobuf?f=repo,name,severity,lang,internalKey,templateKey,params,actives&activation=true&qprofile=java-sonar-way-07232&p=1&ps=500 | time=253ms
20:59:42.482 DEBUG: GET 200 http://localhost:9000/api/rules/search.protobuf?f=repo,name,severity,lang,internalKey,templateKey,params,actives&activation=true&qprofile=js-sonar-way-66227&p=1&ps=500 | time=41ms
20:59:42.566 DEBUG: GET 200 http://localhost:9000/api/rules/search.protobuf?f=repo,name,severity,lang,internalKey,templateKey,params,actives&activation=true&qprofile=ts-tslint-83187&p=1&ps=500 | time=80ms
20:59:42.584 INFO: Load active rules (done) | time=762ms
20:59:42.620 INFO: Publish mode
20:59:42.620 DEBUG: Start recursive analysis of project modules
20:59:42.621 INFO: -------------  Scan Basic project setup example
20:59:42.709 INFO: Load server rules
20:59:42.828 DEBUG: GET 200 http://localhost:9000/api/rules/list.protobuf | time=119ms
20:59:42.840 INFO: Load server rules (done) | time=131ms
20:59:42.936 DEBUG: Initializers : GenericCoverageSensor
20:59:42.937 INFO: Initializer GenericCoverageSensor
20:59:42.937 INFO: Initializer GenericCoverageSensor (done) | time=0ms
20:59:42.937 INFO: Base dir: /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup
20:59:42.937 INFO: Working dir: /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/.sonar
20:59:42.938 INFO: Source paths: src
20:59:42.939 INFO: Test paths: test
20:59:42.939 INFO: Source encoding: UTF-8, default locale: de_DE
20:59:42.939 INFO: Index files
20:59:42.941 INFO: Excluded sources:
20:59:42.941 INFO:   node_modules/**
20:59:42.965 DEBUG: Declared extensions of language C# were converted to sonar.lang.patterns.cs : **/*.cs
20:59:42.965 DEBUG: Declared extensions of language Java were converted to sonar.lang.patterns.java : **/*.java,**/*.jav
20:59:42.965 DEBUG: Declared extensions of language TypeScript were converted to sonar.lang.patterns.ts : **/*.ts,**/*.tsx
20:59:42.966 DEBUG: Declared extensions of language JavaScript were converted to sonar.lang.patterns.js : **/*.js
20:59:42.971 DEBUG: Language of file 'src/MyApp.ts' is detected to be 'ts'
20:59:42.971 DEBUG: Language of file 'test/MyAppTests.ts' is detected to be 'ts'
20:59:42.994 INFO: 2 files indexed
20:59:42.994 INFO: 0 files ignored because of inclusion/exclusion patterns
20:59:42.999 INFO: Quality profile for ts: TsLint
20:59:43.002 DEBUG: Code colorizer, supported languages:
20:59:43.355 DEBUG: 'Generic Coverage Report' skipped because one of the required properties is missing
20:59:43.356 DEBUG: 'Generic Test Executions Report' skipped because one of the required properties is missing
20:59:43.379 DEBUG: 'C#' skipped because there is no related file in current project
20:59:43.379 DEBUG: 'SurefireSensor' skipped because there is no related file in current project
20:59:43.380 DEBUG: 'JaCoCoSensor' skipped because there is no related file in current project
20:59:43.380 DEBUG: 'JaCoCoItSensor' skipped because there is no related file in current project
20:59:43.380 DEBUG: 'JaCoCoOverallSensor' skipped because there is no related file in current project
20:59:43.381 DEBUG: 'JavaSquidSensor' skipped because there is no related file in current project
20:59:43.381 DEBUG: 'JavaScript Squid Sensor' skipped because there is no related file in current project
20:59:43.385 DEBUG: Sensors : Lines Sensor -> SCM Sensor -> Coverage Report Import -> Coverage Report Import -> Unit Test Results Import -> XmlFileSensor -> Linting sensor for TypeScript files -> Combined LCOV and LOC sensor -> Zero Coverage Sensor -> Code Colorizer Sensor -> CPD Block Indexer
20:59:43.386 INFO: Sensor Lines Sensor
20:59:43.398 INFO: Sensor Lines Sensor (done) | time=12ms
20:59:43.398 INFO: Sensor SCM Sensor
20:59:43.399 INFO: SCM provider for this project is: git
20:59:43.402 INFO: 2 files to be analyzed
20:59:43.509 DEBUG: readpipe [git, --version],/usr/bin
20:59:43.551 DEBUG: readpipe may return 'git version 2.7.4'
20:59:43.551 DEBUG: remaining output:

20:59:43.552 DEBUG: readpipe [git, config, --system, --edit],/usr/bin
20:59:43.579 DEBUG: readpipe may return '/etc/gitconfig'
20:59:43.579 DEBUG: remaining output:

20:59:43.635 DEBUG: Blame file samples/basic-setup/src/MyApp.ts
20:59:43.637 DEBUG: Blame file samples/basic-setup/test/MyAppTests.ts
20:59:43.916 INFO: 2/2 files analyzed
20:59:43.916 INFO: Sensor SCM Sensor (done) | time=518ms
20:59:43.916 INFO: Sensor Coverage Report Import
20:59:43.917 DEBUG: No coverage property. Skip Sensor
20:59:43.917 INFO: Sensor Coverage Report Import (done) | time=1ms
20:59:43.917 INFO: Sensor Coverage Report Import
20:59:43.917 DEBUG: No coverage property. Skip Sensor
20:59:43.917 INFO: Sensor Coverage Report Import (done) | time=0ms
20:59:43.917 INFO: Sensor Unit Test Results Import
20:59:43.917 DEBUG: No unit test results property. Skip Sensor
20:59:43.917 INFO: Sensor Unit Test Results Import (done) | time=0ms
20:59:43.917 INFO: Sensor XmlFileSensor
20:59:43.917 INFO: Sensor XmlFileSensor (done) | time=0ms
20:59:43.917 INFO: Sensor Linting sensor for TypeScript files
20:59:43.918 DEBUG: Path sonar.ts.tslint.path not specified, falling back to node_modules/tslint/bin/tslint
20:59:43.918 DEBUG: Found sonar.ts.tslint.configPath Lint path to be 'tslint.json'
20:59:43.918 DEBUG: Path sonar.ts.tslint.rulesDir not specified, falling back to null
20:59:43.918 DEBUG: Path sonar.ts.tslint.projectPath not specified, falling back to null
20:59:43.918 DEBUG: Path sonar.ts.tslint.outputPath not specified, falling back to null
20:59:43.920 DEBUG: Using a temporary path for TsLint output: /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/.sonar/.sonartmp/100023274319995124.tmp
20:59:43.921 DEBUG: Split 2 files into 1 batches for processing
20:59:43.922 DEBUG: Executing TsLint with command: node /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/node_modules/tslint/bin/tslint --format json --out /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/.sonar/.sonartmp/100023274319995124.tmp --config /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/tslint.json /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/src/MyApp.ts /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/test/MyAppTests.ts
20:59:44.375 INFO: Sensor Linting sensor for TypeScript files (done) | time=458ms
20:59:44.375 INFO: Sensor Combined LCOV and LOC sensor
20:59:44.380 INFO: Analysing /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/coverage/lcov.info
20:59:44.393 INFO: Sensor Combined LCOV and LOC sensor (done) | time=18ms
20:59:44.393 INFO: Sensor Zero Coverage Sensor
20:59:44.398 INFO: Sensor Zero Coverage Sensor (done) | time=5ms
20:59:44.398 INFO: Sensor Code Colorizer Sensor
20:59:44.398 INFO: Sensor Code Colorizer Sensor (done) | time=0ms
20:59:44.398 INFO: Sensor CPD Block Indexer
20:59:44.398 INFO: DefaultCpdBlockIndexer is used for ts
20:59:44.399 DEBUG: No CpdMapping for language ts
20:59:44.399 INFO: Sensor CPD Block Indexer (done) | time=1ms
20:59:44.399 INFO: Calculating CPD for 0 files
20:59:44.399 INFO: CPD calculation finished
20:59:44.454 INFO: Analysis report generated in 53ms, dir size=23 KB
20:59:44.460 INFO: Analysis reports compressed in 6ms, zip size=10 KB
20:59:44.460 INFO: Analysis report generated in /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/.sonar/batch-report
20:59:44.460 DEBUG: Upload report
20:59:44.755 DEBUG: POST 200 http://localhost:9000/api/ce/submit?projectKey=com.pablissimo.sonar:basic-setup&projectName=Basic%20project%20setup%20example | time=293ms
20:59:44.774 INFO: Analysis report uploaded in 314ms
20:59:44.774 INFO: ANALYSIS SUCCESSFUL, you can browse http://localhost:9000/dashboard/index/com.pablissimo.sonar:basic-setup
20:59:44.774 INFO: Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report
20:59:44.774 INFO: More about the report processing at http://localhost:9000/api/ce/task?id=AVoaKRZet-oJjdJBwQI8
20:59:44.779 DEBUG: Report metadata written to /home/uwehartwig/Workspaces/git/SonarTsPlugin/samples/basic-setup/.sonar/report-task.txt
20:59:44.779 DEBUG: Post-jobs :
20:59:44.780 INFO: Task total time: 3.854 s
20:59:44.780 INFO: ------------------------------------------------------------------------
20:59:44.781 INFO: EXECUTION SUCCESS
20:59:44.781 INFO: ------------------------------------------------------------------------
20:59:44.781 INFO: Total time: 5.620s
20:59:44.850 INFO: Final Memory: 45M/196M
20:59:44.858 INFO: ------------------------------------------------------------------------
20:59:44.858 DEBUG: Execution getVersion
20:59:44.858 DEBUG: Execution stop

Besides that, it still shows up the 6 Code Smells within 28 Lines.

Finally, I found inside the SonarQube-5.6.4 plugins Folder the 0.99-Snapshot Version placed there several days ago. After switching to the actual Release Candidate, everything 's fine, providing also the 81.3 Percent Coverage.
Keep up the great work!

Glad it's working, though tbh the 0.99 should have worked fine! There weren't substantial changes in LCOV processing between the two, but still - RC working better than 0.99 I'll take!


Package subpath './lib/connection/BaseConnection' is not defined by "exports"

🐛 Bug Report
When running I get this error:  Package subpath './lib/connection/BaseConnection' is not defined by "exports" with version 8.8.0
To Reproduce
Install 8.8.0
See the error when running any application
Your Environment
node 20.11.1
linux & macos arm

Good catch. Fixing and releasing ASAP.

8.8.1 will be published in the next few minutes with the fix.


graph-node: Added StableHash impls for all  Entity update structs

@Jannis I moved the comment, rebased, and deleted the comments that you didn't find useful. This PR is dependent on this other PR to fix the build so it cannot be merged yet.


Export-Excel Question about Conditional Formatting when date is > x # of days

Hello.
I looked through the examples (like the one below) which formats rows for the last month.  Is it possible to format if a date is > x # of days?

<Export-Excel $f -Show -AutoSize   -ConditionalText $(New-ConditionalText -ConditionalType LastMonth)>
Thank you very much!
Paul

Like this ?
dir -File | select name,LastWriteTime | export-excel -path "$env:TEMP\foo.xlsx" -ClearSheet -AutoNameRange  -ConditionalText (New-ConditionalText -ConditionalType GreaterThan -Text "=Int(Now() - 5)" -BackgroundColor LightBlue -Range Lastwritetime ) -Show

Like this ?
dir -File | select name,LastWriteTime | export-excel -path "$env:TEMP\foo.xlsx" -ClearSheet -AutoNameRange  -ConditionalText (New-ConditionalText -ConditionalType GreaterThan -Text "=Int(Now() - 5)" -BackgroundColor LightBlue -Range Lastwritetime ) -Show


a question about memcpy in avx

for memcpy_uncached_store_avx and memcpy_cached_store_avx implementation, if source ptr is aligned, why memcpy_uncached_store_avx will copy 8sizeof(__m256d) for every loop, but memcpy_cached_store_avx only copy 4sizeof(__m256d), it that a empirical value?

I am trying to recall... no good reason I believe.

thanks for truthful feedback.


Can not install Indy-node

Hi, I am a newbie in this field and cant set up indy-node on my ubuntu 16.04. Could someone provide step by step guideline to set up the indy-node?

https://github.com/hyperledger/indy-sdk/blob/master/README.md#how-to-start-local-nodes-pool-with-docker

@dklesev This generates the genesis transaction file in docker instance. Now to get the handle for the pool genesis file is required from indy-sdk api (indy-sdk api is invoked outside of docker container). How can I get hold of genesis transaction ? Or is there anyother way to get handle of pool ledger ?
pool_config = json.dumps({'genesis_txn': genesis_file_path})
pool.create_pool_ledger_config(config_name=pool_name, config=pool_config)
pool_handle = await pool.open_pool_ledger(config_name=pool_name, config=None)
Thanks!

I haven't faced above error, can you check if above url is accessible and there is no proxy set on your network.


Added new docs for plugin feature flags

Signed-off-by: John Kilmister<EMAIL_ADDRESS>Hey, I just made a Pull Request!

:heavy_check_mark: Checklist

[ ] A changeset describing the change and affected packages. (more info)
[X] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[X] All your commits have a Signed-off-by line in the message. (more info)

I am fixing the format however feedback on content welcome in the meanwhile

I have replaced this PR with https://github.com/backstage/backstage/pull/13623 for cleaner history


Cannot log in when update server blocked

Expected Behavior
When blocking the update server on firewall, only the update gets blocked
Actual Behavior
We blocked the update server on firewall (updates.insomnia.rest,<IP_ADDRESS>)  because we don't wanna allow the update. This works perfecty but when we would like to log in, on the app.insomnia.rest site we cannot authenticate and also the application does not accept the token, it says fetch error. Probably the application wants to authenticate trought updates.insomnia.rest instead of auth.insomnia.rest. What should we do? We want to ban the update packages... Is there a port range for update purposes only, which can be banned safely? Thank you!
Reproduction Steps
I think you will understand the issue without that.
Is there an existing issue for this?

[X] I have searched the issue tracker for this problem.

Additional Information
Please give us a solution which can be implemented on 8.6.1, thank you!
Insomnia Version
8.6.1
What operating system are you using?
Windows
Operating System Version
Windows 10
Installation method
download from insomnia.rest
Last Known Working Insomnia version
8.6.1

You should not block the IP address.

@szabopatriklaszlo the update server and the login server share the same IP address. Can you block the DNS only?

Closing now unless new data comes in.


How can I set the frame resources?

Is Chrome running in a container? NO
Thanks to existing knowledge here, I can write codes to get frame resources as follows. However, I couldn't figure out how to set the frame resources. Do you have any ideas?
const CDP = require('chrome-remote-interface');

async function example() {
    let client;
    try {
        // connect to endpoint
        client = await CDP();
        // extract domains
        const {Network, Page} = client;
        await Network.enable();
        await Page.enable();
        const {frameTree} = await Page.getResourceTree();
        console.log(frameTree.resources);
        Page.addScriptToEvaluateOnNewDocument({source: script});
        await Page.navigate({url: 'https://github.com'});
        await Page.loadEventFired();
    } catch (err) {
        console.error(err);
    } finally {
        if (client) {
            await client.close();
        }
    }
}

example();

As the use case, I'd like to set some resources in the Page pane, not Filesystem.

Are you sure that this is something possible? AFAIK you cannot do that even in DevTools.
What you can do instead is to add the resource you want, but the method changes according to the resource type, e.g., CSS, JavaScript, etc. each one has its own way.
Or maybe you can serve synthetic resources via interception...
What are you really trying to achieve here?

What are you really trying to achieve here?

The big goal is to build Chrome debugging functionality into ruby/debug. To achieve it, I need to add the resource in the Page pane through web socket from ruby's debugger. Does it make sence?

@cyrus-and
Thank you for your reply.

What are you really trying to achieve here?

What I try here
I try to set the frame resources on Page pane for debugging the script.
Big goal
The big goal is to build Chrome debugging functionality into ruby/debug. Ruby/debug will communicate to Chrome Developer frontend via remote debugging protocol.
Small goal
I create the prototype in chrome-remote-interface to learn how to use the Chrome DevTools Protocol, how to communicate, and so on.

Hm OK, if the above hints are not useful, you might want to ask this question in the Google Group or file an issue in the official repo.

Ok, I'd like to try your first hint as follows. For example, could you tell me which method I should use for JavaScript?

What you can do instead is to add the resource you want, but the method changes according to the resource type, e.g., CSS, JavaScript, etc. each one has its own way.

Ok, I'd like to try your hints as follows. For example, could you tell me which method I should use for JavaScript?

What you can do instead is to add the resource you want, but the method changes according to the resource type, e.g., CSS, JavaScript, etc. each one has its own way.

I'll try this one, too.

you can serve synthetic resources via interception

Thank you.

For example, could you tell me which method I should use for JavaScript?

You can simply inject JavaScript code with Runtime.evaluate or (possibly more similar to what you're looking for) Runtime.compileScript. I've never tried the latter, but I suspect that by assigning sourceURL for the script, you can effectively achieve the same as adding that script as a resource. Not sure if it will appear in the above "Page" pane though.
As a last resort you can always inject , <link href="..." rel="stylesheet">, etc. in your page.

Thank you for your kind instruction 👍
I'll try it.

Thanks. Your advice was really helpful for me. The script appeared in the Page pane.
const CDP = require('chrome-remote-interface');

async function example() {
    let client;
    try {
        // connect to endpoint
        client = await CDP();
        // extract domains
        const {Runtime, Page} = client;
        await Page.enable();
        await Page.navigate({url:'http://example.com'});
        await Page.loadEventFired();
        await Runtime.enable();
        let {scriptId} = await Runtime.compileScript({
          expression: "console.log('hoge')",
          sourceURL: "http://localhost",
          persistScript: true
        });
        console.log(scriptId);
    } catch (err) {
        console.error(err);
    } finally {
        if (client) {
            await client.close();
        }
    }
}

example();

Sorry, I don't know how to do this one. Could you explain me more detail?

you can serve synthetic resources via interception

Do you have any ideas for creating directory in Page pane as follows?

Maybe specifying a path in the sourceURL like this?
let {scriptId} = await Runtime.compileScript({
  expression: "console.log('foo')",
  sourceURL: "http://localhost/some/path/here.js",
  persistScript: true
});

Sorry, I don't get how to do this one. Could you explain me more detail?

This is probably the most versatile method. I'm still unsure about your use case though...
const CDP = require('chrome-remote-interface');

const FAKE_RESOURCES = {
    'http://fake/': {
        mime: 'text/html',
        body: `
            <!DOCTYPE html>

                    <link rel="stylesheet" href="/css/some-stylesheet.css">

fake index page

        `
    },
    'http://fake/js/some-script.js': {
        mime: 'application/javascript',
        body: `
            alert(document.domain);
        `
    },
    'http://fake/css/some-stylesheet.css': {
        mime: 'text/css',
        body: `
            body {
                border: 10px solid red;
            }
        `
    }
};

(async () => {
    try {
        const {Fetch, Page} = await CDP();

        Fetch.requestPaused(async ({requestId, request}) => {
            const resource = FAKE_RESOURCES[request.url];
            if (resource) {
                await Fetch.fulfillRequest({
                    requestId,
                    responseCode: 200,
                    responseHeaders: [
                        {
                            name: 'content-type',
                            value: resource.mime
                        }
                    ],
                    body: Buffer.from(resource.body).toString('base64')
                });
            } else {
                await Fetch.failRequest({
                    requestId,
                    errorReason: 'Failed'
                });
            }
        });

        await Fetch.enable({
            patterns: [
                {
                    urlPattern: 'http://fake/*'
                }
            ]
        });

        await Page.navigate({url: 'http://fake/'});
    } catch (err) {
        console.error(err);
    }
})();

Both works fine completely. You are amazing!
How do I deal with License of the codes on this page? I'd like to write codes based on them here.

Glad to help! They have none, use them freely.

Thanks!

Sorry, I have one more question. Can I use the codes on other issue page without the license, too?

@cyrus-and
Sorry, I have one more question. Can I use the codes on other issue page without the license, too? (For example, https://github.com/cyrus-and/chrome-remote-interface/issues/179#issuecomment-312247441)

Can I use codes from other issue pages in this repository without the license, too?

Sure!


Simplified Type interpolators

Solves https://github.com/foxssake/netfox/issues/257

New implementation removes the ability from the user to overwrite interpolation for existing types and also removes ability to register interpolation for user defined types.
This is a loss in functionality and flexibility.

New implementation removes the ability from the user to overwrite interpolation for existing types and also removes ability to register interpolation for user defined types.

Could you give me an example of this in the version of the master branch?

The code you refactored clearly documents this functionality: addons/netfox/interpolators.gd line 24-26
## Register an interpolator.
##
## New interpolators are pushed to the front of the list, making them have
## precedence over existing ones. This can be useful in case you want to override
## the built-in interpolators.
static func register(is_applicable: Callable, apply: Callable):
	interpolators.push_front(Interpolator.make(is_applicable, apply))

Your solution is not flexible enough to replicate this behaviour. You removed the following features:

Adding interpolation overwrite for types that has registration in Interpolators
Adding interpolation for types not registered in Interpolators

Why remove this functionality?

The condition is practically always a type condition a is float, so having a full if (condition) there is bloated imo, also even though I write GDscript for a year now, I haven't stumbled into that kind of lambda function, so new users will definitely not use it either.
And 2 callables (aka function pointers) as parameters for a lerp function is overengineering.
You can still make your own interpolator, no one stops you lol
I would argue it's cleaner to make it with the current code, or make your own class entirely. Anyway, if @elementbound thinks the same, feel free to close this PR.
Though it does say a lot that you haven't posted a code example of an interpolator you overwrote or added

As mentioned by @annamaria-szentpeteri this PR doesn't cover overwriting interpolators of existing types, for different lerps, e.g. different curves (so the weight can be the same, but the output is different), so I convert it to draft until I think of a possible pivot of this PR instead of closing it

Okay, you can stop right there.

no one stops you lol

Though it does say a lot that you haven't posted a code example of an interpolator you overwrote or added

PRs are not for this kind of behaviour. Please take a look at how you communicate with others.
So bottom line is: you removed functionality from a part of the library that can be used by others. Justification is that it is not needed or rather this library should not provide this in your opinion. That is fine, code owner can decide how he wants to proceed.

Overwriting Vector2 interpolations with cubic interpolation before this PR:
Interpolators.register(
	func(a): return a is Vector2,
	func(a: Vector2, b: Vector2, c: Vector2, d: Vector2, f: float): return a.cubic_interpolate(b, c, d, f)
)

Note that on adding the above Vector2 interpolation, all Vector2s in the entire game are now converted to cubic interpolation, instead of a normal lerp, which I would consider this impractical, so I guess devs will just make their own lerp, but that's just my assumption
To make the above lerp overwrite in this PR, you just replace this line
TYPE_VECTOR2:
			return interpolate_vector2(a as Vector2, b as Vector2, f)

with this
TYPE_VECTOR2:
			return (a as Vector2).cubic_interpolate(b as Vector2, c as Vector2, d as Vector2, f)

Still the same problem, as mentioned above, so better make that kind of interpolator a function in the local class it is needed, so it doesn't overwrite its type. Given lerps are one-liners, no real problem.
Anyway, there is also another problem I noticed in this PR. The < 0.5 condition isn't covered, in case the user places an entire custom class in the parameter (hey, maybe you made a Vector6 :laughing: )
And given this PR only increases performance and readability in a helper class, instead of adding a new feature, and I would also have to rewrite documentation, @elementbound feel free to close this PR.

Extra info for this part:

Especially when you see tick-interpolator.gd where you cache these interpolators in a dictionary...

tick-interpolator documentation explains that you should call process_settings() every time interpolated properties change. Caching helps with performance, because you don't have to call Interpolators.find_for(property.get_value()) within each _interpolate() (which is called from _process()).
@elementbound could it be beneficial to add the documentation that if you register a new interpolation into Interpolators, the process_settings() should be called after the registration? Or is it meant to be self-explanatory by how the library should be used?


PMID:10775265

premature protein localization to mitotic spindle pole body  during metaphase

premature protein localization to mitotic spindle pole body during metaphase FYPO:0007567

premature protein localization to mitotic spindle pole body during metaphase FYPO:0007567


Update reference lookup page

Update reference lookup page for citing bib items in override data cache #160

@andrew2net can you also specify how to cite these in this PR:

https://www.iso.org/sites/directives/current/consolidated/index.xhtml
https://www.iso.org/sites/directives/current/part2/index.xhtml
https://www.iso.org/sites/directives/current/part1/index.xhtml

Thanks!
Ron

can you also specify how to cite these in this PR:

@ronaldtse What do you mean? I've listed all the references we have in the Static cache at this moment. Do we need anything else?

@andrew2net it's all good now, merged. Thanks.


Ability to delete bookmarks

Thanks for this app!
It would be great to have the ability to delete bookmarks in the app.

Thanks for implementing this! The delete feature works great.