CRISPR Database Parser

We want to automate collection of a list bacteria and their spacers from a CRISPR database and format each bacterium into a separate query for a phage database.
To probe interactions between bacteria and phages, we can use all the known reference CRISPRs, conveniently organized at CRISPRdb, to get a list of over a thousand bacteria, archaea, and their spacers. CRISPRdb provides a file called spacerdatabase in fasta format, where each header is something like this:

NC_000853_1_10|NC_023151_4_32

The first 6 characters after NC (e.g. NC_000853) are the NCBI RefSeq accession number for a particular bacterial genome. The next two numbers are the CRISPR locus number and spacer position in that locus. The header shown above indicates that two different bacteria possess the same spacer.
From the spacerdatabase file, we want to create individual files for each bacterium, identified by accession number. A rough example that does this is CRISPR_db_parser.py, and some example output files are provided. If more than one bacteria species has the same spacer, each file should get that spacer. These files provide the query sequences that will be BLASTed against the Mycobacteriophage Database. (BLAST home page, for the curious.)
An optional improvement/extension at this step is to convert the accession numbers into bacteria names. This could all go in a reference file with several columns: accession number, bacteria name (genus and species), strain identifier, optional other information we might want. Issue #2 describes work related to fetching information from NCBI using accession numbers; the function acc2gb.py might be modified for this purpose.
Example reference file:
accession number, bacteria name (genus and species), strain identifier
NC_000853,Thermotoga maritima, MSB8

Implemented in CRISPR_db_parser.py. It's very specific to a certain input file, so this might need to be re-opened if we want to use other input data in the future. I'm creating a new issue for the option improvement step, since it's kind of separate.


"xgb_model" parameter in train() doesn't increment learning correctly

Hi, I was making some test with xgboost and incremental learning and I got a confusing result.
When I train split dataset, I get different (in accuracy e.g.) result than with whole dataset.
Example:
Get data:
from numpy import loadtxt
import xgboost as xgb
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

dataset = loadtxt('algorithms/pima-indians-diabetes.data', delimiter=",") #https://archive.ics.uci.edu/ml/machine-learning-databases/pima-indians-diabetes/pima-indians-diabetes.data
X = dataset[:,0:8]
Y = dataset[:,8]
seed = 7
test_size = 0.33
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=test_size, random_state=seed)
param = {'max_depth':2, 'eta':1, 'silent':1, 'objective':'binary:logistic' }

xgtrain = xgb.DMatrix(X_train, y_train)
xgtest = xgb.DMatrix(X_test)

Run all dataset:
bst = xgb.train(params=param, dtrain=xgtrain)
# make prediction
preds = bst.predict(xgtest)
predictions = [round(value) for value in preds]

# evaluate predictions
accuracy = accuracy_score(y_test, predictions)
print("Accuracy: %.2f%%" % (accuracy * 100.0))

--> Accuracy: 75.98%
Run with splitted dataset:
init = int(X_train.shape[0] / 2)
xgtrain = xgb.DMatrix(X_train[:init], y_train[:init])
model = xgb.train(params=param, dtrain=xgtrain)

xgtrain = xgb.DMatrix(X_train[init:], y_train[init:])
model = xgb.train(params=param, dtrain=xgtrain, xgb_model=model)

preds = model.predict(xgtest)
predictions = [round(value) for value in preds]

# evaluate predictions
accuracy = accuracy_score(y_test, predictions)
print("Accuracy: %.2f%%" % (accuracy * 100.0))

--->Accuracy: 73.62%
What could be happening?
Environment info
Operating System: Ubuntu 16.04
Package used (python/R/jvm/C++): Python 3.6.1
xgboost version used: xgboost-0.6a2

I found  this parameters:
{'process_type': 'update',
'updater'     : 'refresh',
'refresh_leaf': True}

That it should resolve the problem, however 'process_type' and 'updater' can't create new trees. Why?


Searching for PDFs with names starting with "#" crashes the system

ℹ Computer information

PowerToys version: above version 0.31
PowerToy Utility: Run
Running PowerToys as Admin: yes
Windows build number: [run "winver"] Windows 10 Pro 20H2 on Intel i5 5th gen, 8gb RAM, 256gb SSD

📝 Provide detailed reproduction steps (if any)

Enable only Run utility, other utilities are disabled
Press alt+space and search for pdf files in onedrive whose names start with "#" for example #doc1.2

✔ Expected result
Show the pdf file
❌ Actual result
Power toys crash, and entire system becomes non responsive and requires a reboot.
📷 Screenshots
No Screenshots because the system becomes completely unusable once the above steps are performed.

@sinofanger
run the Report Bug command and upload the zip file, thanks.


[ANDROID] Failed to lookup symbol 'llama_sampler_chain_default_params'

I am running  a flutter app in the managed isolate fashion, but I receive this error:
E/flutter (24616): [ERROR:flutter/runtime/dart_isolate.cc(1321)] Unhandled exception:
E/flutter (24616): LlamaException: Failed to initialize Llama (Invalid argument(s): Failed to lookup symbol 'llama_sampler_chain_default_params': undefined symbol: llama_sampler_chain_default_params)
E/flutter (24616): #0      new Llama (package:llama_cpp_dart/src/llama.dart:83:7)
E/flutter (24616): #1      LlamaChild.onData (package:llama_cpp_dart/src/isolate_child.dart:24:17)
E/flutter (24616): #2      _RootZone.runUnaryGuarded (dart:async/zone.dart:1609:10)
E/flutter (24616): #3      CastStreamSubscription._onData (dart:_internal/async_cast.dart:85:11)
E/flutter (24616): #4      _RootZone.runUnaryGuarded (dart:async/zone.dart:1609:10)
E/flutter (24616): #5      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:366:11)
E/flutter (24616): #6      _BufferingStreamSubscription._add (dart:async/stream_impl.dart:297:7)
E/flutter (24616): #7      _SyncBroadcastStreamController._sendData (dart:async/broadcast_stream_controller.dart:370:25)
E/flutter (24616): #8      _BroadcastStreamController.add (dart:async/broadcast_stream_controller.dart:244:5)
E/flutter (24616): #9      _AsBroadcastStreamController.add (dart:async/broadcast_stream_controller.dart:467:11)
E/flutter (24616): #10     _RootZone.runUnaryGuarded (dart:async/zone.dart:1609:10)
E/flutter (24616): #11     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:366:11)
E/flutter (24616): #12     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:297:7)
E/flutter (24616): #13     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:777:19)
E/flutter (24616): #14     _StreamController._add (dart:async/stream_controller.dart:651:7)
E/flutter (24616): #15     _StreamController.add (dart:async/stream_controller.dart:606:5)
E/flutter (24616): #16     _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)

I have tried a cold run with a model that the maintainer suggested in another issue:  https://huggingface.co/TheBloke/Tinyllama-2-1b-miniguanaco-GGUF/blob/main/tinyllama-2-1b-miniguanaco.Q3_K_L.gguf (#44). Still, no luck, I am a bit out of ideas, so I'd appreciate any help :pray:!
Snippet
  Future<String> _copyModelFromAssets() async {
    // application documents directory to load the gguf from assets
    final directory = await getApplicationDocumentsDirectory();

    // application path for gguf file (to be initialized)
    final modelPath = '${directory.path}/some_model.gguf';

    final modelFile = File(modelPath);
    if (!await modelFile.exists()) {
      final byteData = await rootBundle
          .load('assets/models/tinyllama-2-1b-miniguanaco.Q3_K_L.gguf');
      await modelFile.writeAsBytes(byteData.buffer
          .asUint8List(byteData.offsetInBytes, byteData.lengthInBytes));
      print("Model copied to documents directory.");
    } else {
      print("modelFile already exists!!!");
    }
    return modelPath;
  }

  Future<String> generateExplanation(String sentence) async {
    String modelPath = await _copyModelFromAssets();

    Completer<String> completer = Completer<String>();

    String prompt =
        'Explain the following sentence: $sentence';

    final LlamaLoad loadCommand = LlamaLoad(
      path: modelPath, // use copied local model file
      modelParams: ModelParams(),
      contextParams: ContextParams(),
      samplingParams: SamplerParams(),
      format: ChatMLFormat(),
    );

    final llamaParent = LlamaParent(loadCommand);
    await llamaParent.init();

    llamaParent.stream.listen((response) {
      print(response);
      if (!completer.isCompleted) {
        completer.complete(response);
      }
    });

    completer.future.then((_) {
      llamaParent.dispose();
    });

    llamaParent.sendPrompt(prompt);

    return completer.future;
  }

Upon calling generateExplanation, the print statement "Model copied to documents directory." is echoed to the screen but I get the error afterwards (no response is printed either).
llama_cpp_version
I am using the latest commit:
dependencies:
  llama_cpp_dart:
    path: ../llama_cpp_dart

cloned to the parent directory, with the submodules initialized.

in my llama.cp current commit hash is: 4b9afbbe9037f8a2d659097c0c7d9fce32c6494c --- 4b9afbbe

Thanks for confirming!
I have no experience in real C++ projects, so my assumptions might be very wrong. I assume that flutter run compiles llama.cpp during the build process of llama_cpp_dart.
I am using it in a flutter project pointing to a local path of llama_cpp_dart in the parent directory (as stated above). Then,
cd ..
git clone https://github.com/netdur/llama_cpp_dart/
cd llama_cpp_dart/src
# instead of using the submodule, clone llama.cpp
rm -r llama.cpp
git clone https://github.com/ggerganov/llama.cpp
# and now checkout the commit and update the kompute submodule
cd llama.cpp
git checkout 4b9afbbe
git submodule update --init --recursive
# then run flutter run
cd ../../flutter-project
flutter clean && flutter run

is this okay, or should I be compiling llama.cpp manually? Thank you for your help.

oh I see, seems like library is not built at all! I haven't worked on the Android side, for now, you'll need to:

Build llama.cpp manually first
Place the built binary in the jni folder
Make sure your SDK points to the correct architecture (arm64-v8a, armeabi-v7a, etc.)

I'll prioritize Android support for the next release

Okay, okay, thanks! If I manage to get it to compile for Android, I'll report it back here (although I ran into a few issues trying it before so I will probably fail).


Fix  an issue in the helper functions

The problem appears when webhook was enabled. Port number of the endpoint was converted to a string wrongly

This PR fixes https://github.com/giantswarm/adidas/issues/560


Test with aarch64 macOS on CI

Rebase of #7129 with the macos-14 string which GitHub indicates should now work for public repos.

Oh wow the arm64 builders for macos are 2x faster than the x86_64 builders... Maybe we should cross-compile the other direction!


Impl nested contextmenu

Just a simple implementation of the nested context menu.
The "nested menus" are the 4th argument of a level (since the 3rd one is the enable/disable, and the 2nd one is the click function). They follow the exact same format as the top level menu.

Awesome, I'm out tonight, but I'll try and review it this weekend. Need to do a npm/bower deploy also.

Sample look attached. Nested menus look like this:
          ['View', function ($itemScope) {console.log($itemScope);}, null,
            [
              ['Test', function ($itemScope) {
                   console.log($itemScope);
              }],
              ['Test2', function ($itemScope) {
                   console.log($itemScope);
              }]
            ]
          ],
          null, // Dividier
          ['Edit', function ($itemScope) {console.log($itemScope);}, null
          ],
          ['Other', function ($itemScope) {console.log($itemScope);}, null,
            [
              ['Test5', function ($itemScope) {
                   console.log($itemScope);
              }],
              ['Test6', function ($itemScope) {
                   console.log($itemScope);
              }]
            ]
          ]
      ];```

One modification (I'll make it before I merge if you don't), simply check if index 2 or 3 are an array type. The null isn't required. Example below:
$scope.menuOptions = [
    ['View', function ($itemScope) {
        console.log($itemScope);
    }, [
        ['Test', function ($itemScope) {
            console.log($itemScope);
        }],
        ['Test2', function ($itemScope) {
            console.log($itemScope);
        }]
    ]],
    null, // Dividier
    ['Edit', function ($itemScope) {
        console.log($itemScope);}
    ],
    ['Other', function ($itemScope) {
        console.log($itemScope);
    }, [
        ['Test5', function ($itemScope) {
            console.log($itemScope);
        }],
        ['Test6', function ($itemScope) {
            console.log($itemScope);
        }]
    ]]
];

My last commit should incorporate what you mentioned.

Cool, passing out, will get it merged and updated tomorrow. Thanks for the pull request and changes!

Here's a documentation if you're requiring one.
DOCUMENTATION START
Nested Menus
$scope.menuOptions = [
          ['View', function ($itemScope) {console.log($itemScope);}, null,
            [
              ['Test', function ($itemScope) {
                   console.log($itemScope);
              }],
              ['Test2', function ($itemScope) { console.log($itemScope);}, null,
                [
                  ['Test7', function ($itemScope) { console.log($itemScope); }]]
                ]
            ]
          ],
          null, // Divider
          ['Edit', function ($itemScope) {console.log($itemScope);}, null
          ],
          ['Other', function ($itemScope) {console.log($itemScope);}, null,
            [
              ['Test5', function ($itemScope) {
                   console.log($itemScope);
              }],
              ['Test6', function ($itemScope) {
                   console.log($itemScope);
              }]
            ]
          ]
      ];

Note that each level is an Array of Arrays. For now, you'll have to watch out on how you stack these.
Theoretically, you can stack any number of Nested Menus together, although I've only tested this until two nested menus.
You should then be able to open up any level just by hovering over an item with a nested menu. I made it this way so it'd have the look and feel of an actual context menu.
-- josetaira
DOCUMENTATION END
Attached is the md version
doc_ui.bootstrap.contextmenu_NestedMenus.txt

I'm playing around with some changes before I push an update. I modified it bit more to work without jQuery. Will be trying to get it out tonight.
I also changed it slightly to support not having a clickable menu item function.

Alright, let me know if there's any work you want me to do.
Btw, have you considered updating the Menu Options structure to use objects? It's a different topic, but it seems less confusing if it's updated to something like:
function MenuItem(title, onClickFunc) {
  var _title = title;
  var _onClickFunc= onClickFunc;
  var nestedMenus = [];

  this.addNestedMenuItem = function(){//something};
  this.setOnClick = function(clickFunc) {//something};

  // etc.
}

The structure of the menu items is a bit cluttered, so turning each menu option into an object would not only be future proof but also neater. For your consideration.

Yea, I definitely considered this, maybe for the Angular2 version. Really going to try and keep the Angular 1.x version as basic as possible.


Attention-guided Low-light Image Enhancement - 冀胜博的博客 | BY Dear-Mr

https://dear-mr.github.io/2019/11/14/Attention-guided-Low-light-Image-Enhancement/
Every failure is leading towards success.

laji


Vickel: Watch torquestitch.com

Vickel requests the watch of the watch_keyword torquestitch\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

torquestitch\.com has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Approved by Ryan M in Charcoal HQ


Regenerate moya.github.io docs on Moya release.

We have a repository that gathers our docs and represents it beautifully on our website https://moya.github.io.
The problem is that these docs currently have to be generated manually and that's easy to forget. @f-meloni suggested that we could use setup similar to the one they use at danger-swift which generates the docs automatically.
This task is for creating an automation to regenerate the docs on each release. For releasing new Moya version we use our Rake script and this would be a good starting point.
Also see #1862 discussion as this is where the idea came from.
Let me know if you would be interested in helping out or if you have any questions regarding this task!

Hi, anyone working on this?

hey @MetalDent, I don't think anyone started working on this one yet - would you like to try?

@sunshinejr yeah I can try!
I saw the danger script to auto-generate docs. Do you want similar implementation? And where should this change go?

@MetalDent I don’t have a preference for implementation - you can do whatever you are good at or think will be enough.
The docs should auto-generate on our second repository (https://github.com/Moya/moya.github.io)

@sunshinejr I'll also use rocket . So which files from this repository do you want to auto-generate in the other repository?

@MetalDent so once you ran the docs generating using jazzy:
jazzy -o URL_TO_THE_DOCS

we should move all the docs to the moya.github.io repo

@MetalDent now that I think about it... can it be done from the GitHub Actions?

@sunshinejr sorry I can't work on this my iOS VM is not working right now :(

@MetalDent don't worry, we can wait, it's not something urgent right now - just nice to have 👍

Why don't we use the same repo for the documentation instead of the separate one ?
I mean we can configure this one for Github pages.


Investigation: ETABS GraphTraversal should be upgraded

User Story
Investigation to support...
As a Speckle engineer
I would like ETABS to use traversal consistent with other connectors
In order to avoid non-standard methods that can lead to bugs, inefficient development etc...
This estimate is the gap analysis between current implementation and what needs to be done. If the gap is found to be small at the end, then we can discuss, document the changes on the ticket and deliver as part of this ticket, otherwise the output should be a new ticket with the technical implementation

Closing this ticket as we are moving to Jira to reduce noise. You can access it there.


Allow us to use middle mouse click as paste

Right now when pressing the mouse wheel we go into the "mouse movement mode" instead of pasting the text like on other UNIX terminals.
also, as far as i can tell there is no options screen yet to be able to change that

Just tested, i can copy/paste from any other application (browser or other terminal) with mouse wheel click.

@Leryan
are you also using MacOS?

@OranShuster well, sorry, for some reason I completely ignored the first line "MacOS", I'm on Linux…

@Leryan that's because it wasn't there when you commented :)
after your post i figured out i should write my OS


Number format fix

same as #22 with base version updated

Codecov Report

Merging #27 into master will increase coverage by 0.15%.
The diff coverage is 50.00%.

@@             Coverage Diff              @@
##             master      #27      +/-   ##
============================================
+ Coverage     81.00%   81.16%   +0.15%
- Complexity      334      335       +1
============================================
  Files            51       51
  Lines          1011     1014       +3
  Branches         46       46
============================================
+ Hits            819      823       +4
+ Misses          174      173       -1
  Partials         18       18

Impacted Files
Coverage Δ
Complexity Δ

...sk/mid/MidNationalIdentificationCodeValidator.java
82.85% <50.00%> (+4.73%)
9.00 <0.00> (+1.00)

Continue to review full report at Codecov.

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


coqPackages.contribs.containers: make available for Coq 8.8

Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[x] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build coqPackages_8_8.contribs.containers

Failure on aarch64-linux (full log)
Attempted: coqPackages_8_8.contribs.containers
Partial log (click to expand)
make[1]: *** [Makefile:465: opt.opt] Error 2
make[1]: Leaving directory '/build/ocaml-4.05.0'
make: *** [Makefile:531: world.opt] Error 2
builder for '/nix/store/ajqgdzi3mmwacpk8mzfja0ivpxhdxwsh-ocaml-4.05.0.drv' failed with exit code 2
cannot build derivation '/nix/store/7jxml82rf7wmiy5q8s2mgvlr75fn3cdw-camlp5-7.05.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/5x5n70dmc57054071j059pk0gpjdhvp3-ocaml-findlib-1.7.3.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/8zqifwva8ryrwca3aa3lic8lb0hf8lz1-lablgtk-2.18.5.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/sbv2ssgcj5985anrg35ja5adwlwdz148-coq-8.8.0.drv': 4 dependencies couldn't be built
cannot build derivation '/nix/store/jwdbm8jac7qn4b975f13phh1badimsz4-coq8.8-containers-20180330.drv': 4 dependencies couldn't be built
error: build of '/nix/store/jwdbm8jac7qn4b975f13phh1badimsz4-coq8.8-containers-20180330.drv' failed

Success on x86_64-linux (full log)
Attempted: coqPackages_8_8.contribs.containers
Partial log (click to expand)
make[2]: Entering directory '/build/source'
make[2]: Leaving directory '/build/source'
make[1]: Leaving directory '/build/source'
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/d56w2qhwx8mg5ql14b53y4vfwxf7x3xs-coq8.8-containers-20180330
shrinking /nix/store/d56w2qhwx8mg5ql14b53y4vfwxf7x3xs-coq8.8-containers-20180330/lib/coq/8.8/user-contrib/Containers/containers_plugin.cmxs
strip is /nix/store/j75dgadrff2d1fyc4fczmcgqkid2imdx-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/d56w2qhwx8mg5ql14b53y4vfwxf7x3xs-coq8.8-containers-20180330/lib
patching script interpreter paths in /nix/store/d56w2qhwx8mg5ql14b53y4vfwxf7x3xs-coq8.8-containers-20180330
checking for references to /build in /nix/store/d56w2qhwx8mg5ql14b53y4vfwxf7x3xs-coq8.8-containers-20180330...


Warn when attempting to reload repo with uncommitted changes

Change pkginfo file. Don't save
Click on Reload.

MunkiAdmin should warn the admin and present a dialog box to either cancel or go ahead with the reload.

Agreed.


span6 nested deep within a row-fluid revert to fixed definitions.

I'm not sure whether this is really a bug or a misunderstanding on my part. I have a page with fluid markup (container-fluid, row-fluid). I have everything set up to my satisfaction on all pages except for one with a carousel, where content needs to be nested several divs down a .carousel & a .carousel-inner.  When I try to create a .span6, bootstrap reverts to a fixed-width definition, which leads to unexpected formatting errors.  I've managed to fix this with an ad-hoc css descendant rule for .carousel, but I bet there's a better way to do things.  Even adding row-fluid classes to the descendant divs doesn't seem to work properly, as I seem to lose a couple of percentage points and the .span6's end up stacked on top of each other.  You can see the code at work here:
http://sandbox.hackinghistory.ca/boulderzcomp/index.html
just strike out the style.css rules in firebug and you'll see the reversion on index.html only (the other pages are fine).
I can tyr to put together a minimal test case if that make it easier to see what's going on -- I know the html is ugly on this page, I can't seem to find a python package tht will generate clean, pretty html.

You need a .row-fluid container around the .span6. As you can see in the CSS the fluid widths only gets applied when there's a .row-fluid wrapping the .span.
.row-fluid > [class*="span"]

ah, I see that now in the css as you say.  I've tried that and my .span6's shrink down appropriately -- thank you! -- but somehow there doesn't seem to be quite enough space for them anymore on the same line. this is in chrome + firefox under ubuntu linux.
I think I may see the problem.  There's a first-child selector for .row-fluid > [class*="span"]:first-child.  I have an   in the row-fluid that contains the span6's.  Adding an extra row-fluid seems to have helped.

Yup, just like the regular grid, you need a row surrounding every level of columns. With the fluid one however, the number of nested columns resets to 12 and doesn't add up to the parent. For example, if you have a .span8 and a nested fluid grid within that, you'd still need .span6 and .span6 for two columns.


Promise.race too strict?

I might be misreading the spec, but I believe the spirit of Note 2, The race function expects its this value to be a constructor function that supports the parameter conventions of the Promise constructor. It also expects that its this value provides a resolve method., is to make Promise.race generic enough to be used whenever this meets the minimum criteria above.  Is that correct?
If so, es6-promise's race is making too many assumptions.  If I call Promise.race.call(X, ...), where X is anything other than an es6-promise, it will blow up b/c Constructor.resolve(entries[i]) will produce an object that doesn't have the internal _subscribers property, and so the call to subscribe() in Promise.race will throw.  For example, this throws in subscribe():
var ES6Promise = require("es6-promise").Promise;
var BlueBirdPromise = require("bluebird");

ES6Promise.race.call(BlueBirdPromise, [3]);

Also, I'm getting test failures when I use a promise other than an ES6 Promise in the iterable, e.g. this test fails:
var ES6Promise = require("es6-promise").Promise;
var BlueBirdPromise = require("bluebird");
var assert = require("assert");

specify('the race begins on nextTurn and prioritized by array entry', function (done) {
    var firstResolver, secondResolver, nonPromise = 5;

    var first = new BlueBirdPromise(function (resolve, reject) {
        resolve(true);
    });

    var second = new BlueBirdPromise(function (resolve, reject) {
        resolve(false);
    });

    ES6Promise.race([first, second, nonPromise]).then(function (value) {
        assert.equal(value, true);
        done();
    });
});

This test is in the es6-promise test suite, except it uses ES6Promises for first and second and passes.
I don't think that's a violation of the spec because the spec doesn't make any claims about prioritizing by array entry as far as I can tell, so I think it's the test itself that is incorrect, but I might be missing something.

var ES6Promise = require("es6-promise").Promise;
var BlueBirdPromise = require("bluebird");
ES6Promise.race.call(BlueBirdPromise, [3]);

this is a bug
also, please report issues individually

ah this is the tampering case I have been punting, https://github.com/tildeio/rsvp.js/issues/271
Well as good as any time to fix it now.

this seems like two independent concerns can you split them up?

this seems like two independent concerns can you split them up?

Done.  https://github.com/jakearchibald/es6-promise/issues/77 and https://github.com/jakearchibald/es6-promise/issues/110

so, ultimately I am unsure how to change this without:

hurting performance
exploding the byte-size :(


Latest version 1.1.22 is not listed on nuget

I was trying to install version 1.1.22 since you implemented the Message Box fix and on nuget the latest version is still 1.1.21. Could that be updated if possible.

My bad, pushed!


Up version for fabric8 plugin

Signed-off-by: svor<EMAIL_ADDRESS>If try to deploy this sample on OpenShift 4 by mvn clean fabric8:deploy -Popenshift, I see  an error:
[INFO] F8: spring-boot: Using Docker image registry.access.redhat.com/redhat-openjdk-18/openjdk18-openshift:1.3 as base / builder
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:52 min
[INFO] Finished at: 2019-11-07T13:33:50Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal io.fabric8:fabric8-maven-plugin:3.5.40:build (fmp) on project rest-http: Execution fmp of goal io.fabric8:fabric8-maven-plugin:3.5.40:build failed: No <dockerHost> given, no DOCKER_HOST environment variable, no read/writable '/var/run/docker.sock' or '//./pipe/docker_engine' and no external provider like Docker machine configured -> [Help 1]
[ERROR]

This PR sets 4.0.0 version for fabric8-maven-plugin to make it possible to deploy this sample on OpenShift 4. It also works for OpenShift 3.

@geoand Could you take a look please

Thank for the PR!
@lfuka have you tested with FMP 4.x at all?

Hi folks, we're trying to reference this example in an imminent release. Is it possible to merge this PR soon? Otherwise we'll have to fork for the release, but of course, we'd rather not :-)

@iocanel @metacosm do you remember if there is any reason to stay with the 3.x version of FMP?

No, I don't recall but we need to ensure that things work properly on OpenShift 3.11 as well and if FMP 4 hasn't been tested by QE, I'm reluctant to merge this change. Another aspect to consider is also the fact that all examples should be updated if we decide to go for the update, and that update should probably be a decision taken at the runtimes level, i.e. not specific to the Spring Boot runtime.

Closing as out of date. All sb-2.x.x branches are using FMP 4


Getting rid off google translate dialog

I'm building simple app using Arabic and English scripts, every time I run time the window shows the google translate windows as shown,how can I get rid of it, and prevent its appearance.

It worked with me by adding:
<html lang="ar" class="notranslate" translate="no">
<head>
       <meta name="google" content="notranslate" />
</head>


Fix undefined name: import collections in graph/clone_graph.py

flake8 tests
./graph/clone_graph.py:44:13: F821 undefined name 'collections'
    queue = collections.deque([node])
            ^
./tree/is_subtree.py:50:13: F821 undefined name 'collections'
    queue = collections.deque()
            ^
./tree/trie/trie.py:9:25: F821 undefined name 'collections'
        self.children = collections.defaultdict(TrieNode)
                        ^

Closed in favor of #216


How to know why google not serving me ads?

Hi Team,
I'm facing an issue suddenly I'm getting stopped ads by google for days on my video player. And after some time on the diff, IPs and devices ads continue getting on the same player. Is there any way to track why google not giving me ads? I also tried with a low floor price but facing the same issue.
Please also suggest the best player sizes for diff devices & the best request patterns to be used in order to achieve better ad responses.
Here are my player configs
var vjsOptions = {autoplay: true,muted: true, width: isMobile() ? 344 : 400, height: isMobile() ? 258 : 225 }        player = videojs('content_video', vjsOptions);       player .src({ type: "video/mp4", src: "https://cdn.jsdelivr.net/gh/ubVids/video-library@latest/dist/top_indian_sweet.mp4"});       var imaOptions = { id: "content_video", adTagUrl:"https://video.unibots.in/ads.xml",         disableCustomPlaybackForIOS10Plus: true,         contribAdsSettings: {           debug: true,           timeout: 8000,           prerollTimeout: 12000,         },         adsRenderingSettings: { enablePreloading: true }       };       player .ima(imaOptions);

Hi @arunk9034 ,
Thank you for reaching out. I think your questions may be best answered by reaching out through Ad Manager help channels. This issue queue is specific to bugs/issues related to the videojs-IMA plugin.
I did test your ad tag in the videojs-IMA plugin's advanced sample and saw ads play.
The Ad Manager help center would also be the best place to learn how different parameters (player size and request patterns) affect ad responses.
Please let me know if you have any other questions.
Thank you,
Jackson
IMA SDK Team


CHAOS-5711 Update content

Update content

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://666054390a98f005b9613c21--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66606404246f6f14889b7f92--harness-developer.netlify.app


Can't typecheck constructor in class generic parameter

TypeScript Version:  2.8.1
Search Terms: generics constructor type check constraint new
Code
export interface HasOneParameterConstructor<T> {
  new (p1: any): T;
}

class Foo {
  constructor(p1: string) {

  };
}

class Bar<T extends HasOneParameterConstructor<T>> {

}

class BarFooImpl extends Bar<Foo> { // error here under "Foo"

}

Expected behavior:
No errors: constructor type checking works
Actual behavior:
error TS2344: Type 'Foo' does not satisfy the constraint 'HasOneParameterConstructor'.
Type 'Foo' provides no match for the signature 'new (p1: any): Foo'.
Playground Link: Playground Test
Related Issues:
Maybe it's related to: Can't extend mixin constructor that constructs a generic type

Hi @andy-ms , I tried your suggestion but the problem persists:
export interface HasOneParameterConstructor<T> {
  new (p1: any): T;
}

export abstract class ConstructorCheck<T, Class extends HasOneParameterConstructor<T>> {

}

export abstract class MyBase<TImplementor> extends ConstructorCheck<TImplementor, typeof TImplementor> {

}

class BaseImpl extends MyBase<BaseImpl> {

}

Your example does work but it's hackable:
class Hack { constructor(a: string) {} }
class BarFooImpl extends Bar<Foo, typeof Hack> {}

I'm trying to create a library with some usage restriction, and that's not good.

Note that TypeScript does not have any abstract static methods (#14600). It might be more helpful to determine what you're trying to accomplish -- currently Class is unused there. Note that the type parameter is only available as a type, and not as a value, so you won't be able to write new T inside of your class body, and as you've noticed typeof T doesn't work.

 And one can of course do new B(); b.someBadThing(); even if the constructor isn't overridden.

A final constructor would do the trick.
I'm in the Angular world, and I'm trying to stop the developer to @Inject other things in the B class.

This is a duplicate of #1534 then -- I don't think there's a good way to do what you want right now. (You can't just make the constructor private because then the class can't be overridden at all.) It's possible that you could add a run-time check in A's constructor that this.constructor has no decorators? I don't really know how angular works though.


[docs]: Updated CodePen links

Signed-off-by: Aniruddha Shriwant<EMAIL_ADDRESS>
Closes #4227
Changes :
Codepen Links were updated in these 3 Files:

content/docs/hello-world.md
content/docs/introducing-jsx.md
content/docs/rendering-elements.md

All are correct I will update all those link as per your suggestions and make a commit :)

Just made it Draft because I realize there should be more edits:
https://reactjs.org/docs/components-and-props.html
We need to have CodePen links for this page as well
I will look for these links at https://codepen.io/gaearon/pens/ and update here once I found them

This one ? https://codepen.io/gaearon/pen/YGYmEG?

Yes, they are right!

Also, I apologize for all the hectic work you have done for this naive PR :)

Also, I apologize for so much time-consuming work you have done for this naive PR :)

😂 It is okay. Updating links are going to take time anyway.
PS: I started searching the code in codepen and used these options to find the right codepen

PS: I started searching the code in codepen and used these options to find the right codepen

Now I think we are done, I have checked other documentation sections in "Main Concepts" and all are having proper CodePen Links

Thanks :)

Thanks :)

All thanks to you 🙇🏻  , got my first PR merged in this repo :)


Any budy fixed black screen issue??

Any budy fixed black screen issue before playing video?? please help

@mahesha2 If your Video is from the Internet, it requires some time to load and prepare. How long does the black screen appear?

four to 5 seconds

I have the same problem. I am covering it up with a thumbnail thought but still the black screen is quite noticeable. Happens right before video starts playing. I am caching videos beforehand so the black screen is not displayed for 3 - 4 seconds but for a shorter duration

Hey hey hey!
I just fixed the issue. But still I wonder why the library's play method caused this issue for me in the first place.

@mahesha2 .. You can try to solve this problem just the way I did, see the code snippet.
@eneim .. you can dig into this whenever you have some time :)
amazing library by the way, saved me a lot of time. Would really like to contribute too.

In PlayerView You can do something like this, though there will be a shutter.
app:shutter_background_color="@android:color/transparent"

private final Playable.EventListener listener = new Playable.DefaultEventListener() {
@Override public void onPlayerStateChanged(boolean playWhenReady, int playbackState) {
super.onPlayerStateChanged(playWhenReady, playbackState);
Log.d("faisal",format(Locale.getDefault(), "STATE: %d・PWR: %s", playbackState, playWhenReady));
if (playbackState==3) {
readyToPlay(playWhenReady);
}
//state.setText(format(Locale.getDefault(), "STATE: %d・PWR: %s", playbackState, playWhenReady));
}
};
private void readyToPlay(boolean isReady){
Log.d("faisal","video is play");
videoCover.setVisibility(isReady?View.GONE:View.VISIBLE);
progressBar.setVisibility(isReady?View.GONE:View.VISIBLE);
}


The pattern %{tag_name: _gen} on line X doesn't have the type acc()

This is my project and commit
https://github.com/eksperimental/beam_langs_meta_data/tree/26ecd958475bedd5c0e4204814e7437484acdff4

lib/beam_langs_meta_data/util.ex: The pattern %{tag_name: _gen} on line 178 doesn't have the type acc()

I am unable to understand this error and what needs to be fixed.

This is tricky. It seems to stem from the use of the dot access operator. I'm not sure yet what code this access is compiled to, but it seems to be the culprit. The code inserted by the Elixir compiler instead of the operator leads to the warning returned by the type checker.

I’m having a similar issue (lib/app_identity/versions.ex: The pattern %{generate_nonce: _gen} on line 61 doesn't have the type atom()) where the line in question is {:ok, mod} -> mod.generate_nonce() (the project is https://github.com/KineticCafe/app_identity, in the elixir/ directory). The line numbers may not match up exactly because I’m starting to toy with gradualizer / gradient.

@halostatue Thanks for the report and for your interest in Gradient!
The warning you're getting is a false positive. It's another instance of the same issue as described in https://github.com/esl/gradient/issues/94. We'll get it fixed shortly.
Thanks again!


Add configuration property for allowed length of LNURL-pay comments

thanks for the PR! that looks good!
do you know why not more lnurlp implementations add support for comments like that?

do you know why not more lnurlp implementations add support for comments like that?

Maybe because it’s defined under different RFC? I can only guess. I saw support for comments by ln.tips so I started digging and discovered #12.

Why wait when I can run your branch directly :)
Started doing that, works great.
Just one question, why is lnurlp-comment-allowed default 0? I doubt people don't want comments by default, I'd say a reasonable number (200-500) is a good sane default. Enough for comment, but small enough to not run into any limits.

Just one question, why is lnurlp-comment-allowed default 0? I doubt people don't want comments by default, I'd say a reasonable number (200-500) is a good sane default. Enough for comment, but small enough to not run into any limits.

I wanted the change to be backwards compatible. But I'm OK with a different default, e.g. 210 (as 21 is such a nice number 😉). Ultimately, it's up to @bumi to decide what default he wants.

ok, cool. then let's enable it by default. @yanascz can you update that, then I'll merge it and make a new release
@ok300 thanks for testing and giving feedback.

ok, cool. then let's enable it by default. @yanascz can you update that, then I'll merge it and make a new release

Done! ✅


Implement tbb-based parallelism; use repeatable random numbers.

This fork from the LibSVM 3.3 package incorporates the following enhancements:
Implements parallelism in the get_Q() and svc_predict_values() functions.
This requires that the tbb (thread building blocks) package be installed ("apt-get install -y libtbb-dev").
Initial performance tests on a 16-core machine indicate an elapsed time for a large training session to be reduced by a factor of 3 to 4.
Uses the std::minstd_rand random number generator instead of the usual rand() and srand(). This allows for repeatable random numbers to be generated which is importand when implementing unit tests.

Thanks. I took the commit on the error message of svm_cross_validation
and signed off on your behalf in our internal git. It will appear in the
next release. Thanks
For the other two, we need some studies. We used rand() because we are
mainly C based (see svm-train.c and svm-predict.c). But the thread
safety
of rand() is a concern we always hope to address.
For kernel operations in parallel, we prefer not having it in the core
code due to first portability, and second various possible tools (openmp
etc.). We might include your tbb code in faq.
Thanks again.
On 2022-08-26 00:03, Rob Ward wrote:

This fork from the LibSVM 3.3 package incorporates the following
enhancements:
Implements parallelism in the get_Q() and svc_predict_values()
functions.
This requires that the tbb (thread building blocks) package be
installed ("apt-get install -y libtbb-dev").
Initial performance tests on a 16-core machine indicate an elapsed
time for a large training session to be reduced by a factor of 3 to 4.
Uses the std::minstd_rand random number generator instead of the usual
rand() and srand(). This allows for repeatable random numbers to be
generated which is importand when implementing unit tests.
YOU CAN VIEW, COMMENT ON, OR MERGE THIS PULL REQUEST ONLINE AT:
https://github.com/cjlin1/libsvm/pull/186
COMMIT SUMMARY

f079760 [1] Add tbb-based parallelism to get_Q() and
svm_predict_values()
5e4850f [2] Minor fix to error message in svm_cross_validation()
2699ea9 [3] Use std::minstd_rand to guarantee repeatable random
number generation
ea8e8d9 [4] Update README

FILE CHANGES
(2 files [5])

M README [6] (13)
M svm.cpp [7] (52)

PATCH LINKS:

https://github.com/cjlin1/libsvm/pull/186.patch
https://github.com/cjlin1/libsvm/pull/186.diff

--
Reply to this email directly, view it on GitHub [8], or unsubscribe
[9].
You are receiving this because you are subscribed to this
thread.Message ID: @.> [ { @.":
"http://schema.org", @.": "EmailMessage", "potentialAction": {
@.": "ViewAction", "target":
"https://github.com/cjlin1/libsvm/pull/186", "url":
"https://github.com/cjlin1/libsvm/pull/186", "name": "View Pull
Request" }, "description": "View this Pull Request on GitHub",
"publisher": { @.***": "Organization", "name": "GitHub", "url":
"https://github.com" } } ]
Links:
[1]
https://github.com/cjlin1/libsvm/pull/186/commits/f079760b73061a823aa73d8185140d484a2bb975
[2]
https://github.com/cjlin1/libsvm/pull/186/commits/5e4850f6cef6da668d30bf138c4392ff168c9e7c
[3]
https://github.com/cjlin1/libsvm/pull/186/commits/2699ea99fe418238a55a54bb415cc2effc2bf404
[4]
https://github.com/cjlin1/libsvm/pull/186/commits/ea8e8d964d589676dfe200c7a926c3a3611fe9c3
[5] https://github.com/cjlin1/libsvm/pull/186/files
[6]
https://github.com/cjlin1/libsvm/pull/186/files#diff-2b7814d3fca2e99e56c51b6ff2aa313ea6e9da6424804240aa8ad891fdfe0900
[7]
https://github.com/cjlin1/libsvm/pull/186/files#diff-f5a2142d812bf17daef614246a91d4bb2c520c0d0252bfae5f1e0c3a747a18b8
[8] https://github.com/cjlin1/libsvm/pull/186
[9]
https://github.com/notifications/unsubscribe-auth/ABI3BHRUO7NCLNIKPJXGUEDV26KOFANCNFSM57TV25VA

Thank you for the prompt reply.
Regarding the tbb changes, I perfectly understand why you want to keep the code portable across platforms. Perhaps some kind of '#ifdef' based solution would be appropriate here (?).

Many thanks. Yes, #ifdef is possible. In this regard, I may prefer
openmp over tbb for the smallest change. All I need is
#if defined(_OPENMP)
#pragma omp ...
#endif
and in Makefile have
Uncomment the following line to turn on parallelization
CFLAGS += -fopenmp
Any comments? Thanks
On 2022-08-26 20:18, Rob Ward wrote:

Thank you for the prompt reply.
Regarding the tbb changes, I perfectly understand why you want to keep
the code portable across platforms. Perhaps some kind of '#ifdef'
based solution would be appropriate here (?).
--
Reply to this email directly, view it on GitHub [1], or unsubscribe
[2].
You are receiving this because you commented.Message ID:
@.> [ { @.":
"http://schema.org", @.": "EmailMessage", "potentialAction": {
@.": "ViewAction", "target":
"https://github.com/cjlin1/libsvm/pull/186#issuecomment-1228418596",
"url":
"https://github.com/cjlin1/libsvm/pull/186#issuecomment-1228418596",
"name": "View Pull Request" }, "description": "View this Pull Request
on GitHub", "publisher": { @.***": "Organization", "name": "GitHub",
"url": "https://github.com" } } ]
Links:
[1] https://github.com/cjlin1/libsvm/pull/186#issuecomment-1228418596
[2]
https://github.com/notifications/unsubscribe-auth/ABI3BHUNQHBLGJM7NXVOIM3V3CYZLANCNFSM57TV25VA

No major comments from my side. I would only say that we have had very good experience using the tbb library for implementing parallelism in our code. The tbb library automatically makes use of all the cores available.


Please Make AzureKeyVaultConfigurationSource public OR (Better) add an Insert Extension Method that takes an index

Library or service name.
Azure.Extensions.AspNetCore.Configuration.Secrets
Is your feature request related to a problem? Please describe.
The problem right now is that the AddAzureKeyVault method appends the keyvault configuration to the list of configuration sources which by default already has command line, environment variables and config files (to name a few) automatically added by AspNetCore.  In virtually every case AzureKeyVault is your baseline and then environment variables etc. override those baseline values.
Thus, in virtually every case beyond the Hello World example, you'll want AzureKeyVault added as the first source with the config.Sources.Insert method.
Right now this isn't possible because the IConfigurationSource (AzureKeyVaultConfigurationSource) for AzureKeyVault is internal (you can use reflection which isn't optimal)
So the request is, either make AzureKeyVaultConfigurationSource public so that we can create our own instance and then use config.Sources.Insert, and/or create an extension method InsertAzureKeyVault() that takes an index (i.e. 0) so that we can put it in the right order so that all other sources of configuration override azure key vault as is the basic use case for this per above.
I'm not sure what the value is in it being marked internal anyhow.

Thank you for your feedback.  Tagging and routing to the team member best able to assist.

Good suggestion.
There are a few workarounds before we implement the change:

Copy the AzureKeyVaultConfigurationSource into you project (https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/extensions/Azure.Extensions.AspNetCore.Configuration.Secrets/src/AzureKeyVaultConfigurationSource.cs). It's pretty simple and AzureKeyVaultConfigurationProvider is public.
Use the extension method but modify the builder.Sources list after adding.l

builder.AddKeyvault();
builder.Insert(0, builder.Sources[builder.Sources.Count - 1]);
builder.RemoveAt(builder.Sources.Count - 1)

Thanks!


Question on "How To: Setup Cascaded Editors" section on Serenity Guide

On "How To: Setup Cascaded Editors" section on Serenity Guide, there are 3 tables named Country, City and District as look up tables and Customer table has CountryID. CityID and DistrictID. This works fine.
What I want is, the Customer table to have only one column called DistrictID only (as City and Country are related to it through foreign key) and still be able to narrow the search by selecting Country and City?

Add them as view fields to your Customer row

I tried that. But Cascading didn't worked.
Ignore DistrictID. Let us just consider, Customer has CityID alone and I want to select the Country and then the City based on the selected Country and save CityID only. My code is below,
CustomerRow:
[DisplayName("City"), Column("CityID"), NotNull, ForeignKey("[dbo].[Cities]", "ID"), LeftJoin("jCity"), TextualField("CityName")]
[LookupEditor(typeof(CityRow)), LookupInclude]
public Int64? CityId
{
get { return Fields.CityId[this]; }
set { Fields.CityId[this] = value; }
}
[DisplayName("Country"), Expression("jCity.[CountryID]"), ForeignKey("[dbo].[Countries]", "ID"), LeftJoin("jCountry"), TextualField("CountryName")]
[LookupEditor(typeof(CountryRow)),LookupInclude]
public Int64? CountryId
{
get { return Fields.CountryId[this]; }
set { Fields.CountryId[this] = value; }
}
CustomerForm:
public Int64 CountryId { get; set; }
[LookupEditor(typeof(Entities.SystemsRow), CascadeFrom = "CountryId", CascadeField = "CountryId")]
public Int64 CityId { get; set; }
Using the above code, the Country Combo box displays the list of countries and the selected country (based on city id) is also getting selected for existing customers. But, City combo box nothing is getting show (the list is not getting populated).

Check your lookup. Honestly i'm getting tired of answering same thing. There are so many samples, so many answered questions, and still people who say it doesnt work.

Appologise. Got the issue. The issue is with naming. It is expecting the Same name for CountryID in CustomerRow and CityRow. Thanks for your response.


Add feature importance method to Skorecard class

The feature importance in the context of the skorecard model is the feature IV*coef of the logistic regression.
Let's make this calculation within the skorercard class
In terms of code, it's similar to this
X_train_bins = scorecard.bucket_transform(X_train)
iv_dict = iv(X_train_bins, y_train)

iv_values = pd.Series(iv_dict).sort_values(ascending=False)
iv_values.name="IV"

feat_importance = model_stats[['Coef.']].join(iv_values)
feat_importance['importance'] = -1.*feat_importance['Coef.']*feat_importance['IV']
feat_importance.sort_values(by='importance', ascending=False)

We also then need to update docs/tutorials/3_skorecard_models.ipynb, this section:

Also a suggestion, the coefficients have their own intervals(usually 5% and 95%), it would be great to have a weight plot. I would like to contribute in this issue.

@satya-pattnaik This sounds like a really nice idea. If you like, I can open a separate issue for this and assign you to it?

Sounds good, you can assign it to me @orchardbirds .

Hey @orchardbirds @satya-pattnaik do you still plan to work on this issue ? Let me know how we can help you.

Hi is this issue still open, i would like to work on it

@rishabsinghh awesome! What do you think @anilkumarpanda ?

Whats the update? can i ?

Hi @rishabsinghh thanks for picking this up.


Can't install with package manager

After using the instructions in the readme to add your repository, I get the following error when I run sudo apt install notion-app-enhanced:
Repository is broken: https://apt.fury.io/notion-repackaged  notion-app-enhanced 2.0.16-5 has no Size information.

Same here, I'm on ubuntu 21.10

Yes same issue
Apart from that i also get unable to connect to in.archive.ubuntu.com:80 and connection timed out

@Arjun31415 that sounds like a network problem, different to the one reported here.

@Arjun31415 that sounds like a network problem, different to the one reported here.

Sorry mb
I now get this -
sudo apt install notion-app-enhanced
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package notion-app-enhanced

@Arjun31415 hmm, I see. we'll look into this - for now just download and install the .deb from https://github.com/notion-enhancer/notion-repackaged/releases/tag/v2.0.16-5

I cannot reproduce on Ubuntu 20.04 LTS, does this only happen on 21.04?

Fixed, was an issue on Gemfury's side.
Thanks for the reporting this. "Size" is a standard field in the Gemfury APT repos, but I'm not sure why, the specific file had a blank "Size" field. I've rebuilt your index, and the "Size" field is now correct. This was a a race condition with indexing newly-uploaded files. We are fixing the bug now.


Update dd-trace-api, dd-trace-ot to 0.81.1

Updates

com.datadoghq:dd-trace-api
com.datadoghq:dd-trace-ot

from 0.80.0 to 0.81.1.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.datadoghq" } ]

labels: library-update, semver-minor

Superseded by #376.


Fixed #21204 -- Tracked field deferrals by field instead of models.

This ensures field deferral works properly when a model is involved more than once in the same query with a distinct deferral mask.
The added test was inspired by https://github.com/django/django/compare/main...akaariai:django:only_load_bug

The gist of the changes is that we now use a mask := {field: mask} mask instead of a models := {Model: {field, ...} to mask field selection as SQLCompiler.get_default_columns and get_related_selections walk through select_related to produce get_select.
Another nice side effect is that get_select_mask is only called once and its output reused while deferred_to_columns -> deferred_to_data was called once per select_related entry so this should make the compilation of queries relying on select_related significantly faster.
To make sure this didn't introduce any regression I captured the SQL output of runtests.py defer defer_regress queries filtered_relation on SQLite and compared main to this branch and there was no difference.

That's the ticket that made me want to learn about the ORM. It took me a while to get a point where I could actually make the proper changes, no wonder why I couldn't wrap my head around it 8 years ago 😅

Thanks for spell checking @kezabelle, all issues should be addressed now.

@charettes  FYI.  Thanks for this. I will raise a separate issue if you agree but just mentioning it. This is not working when you have webhooks = GenericRelation(Webhook, related_name="hooks") . As GenericRelation does not have   opts.get_field(field_name).field.
722  	        for field_name, field_mask in mask.items():
723  	            if filtered_relation := self._filtered_relations.get(field_name):
724  	                relation = opts.get_field(filtered_relation.relation_name)
725  	                field_select_mask = select_mask.setdefault((field_name, relation), {})
726  	                field = relation.field
727  	            else:
728  ->	                field = opts.get_field(field_name).field
729  	                field_select_mask = select_mask.setdefault(field, {})
730  	            related_model = field.model._meta.concrete_model
731  	            self._get_defer_select_mask(
732  	                related_model._meta, field_mask, field_select_mask

@mthipparthi no need for a report, it's already fixed by 99e5dff737cd20b12d060e4794e097063b61ec40 (ticket-34570) which will be part of 4.2.2 meant to be released on June 5th.


Route::Domain match did not take the highest priorities

Laravel Version: 5.5.21
PHP Version: 7.1.8
Database Driver & Version: MySQL 5.7

Description:
I would like to have different login view for different subdomain.
My system has 2 modules for login.
-Member: www.example.com
-Agent: agent.example.com
I would like to implement 2 different login layout also different flow but using same users table.
E.g agent login is fail, it should redirect back to agent login page and show the error message.
-Member: www.example.com/login
-Agent: agent.example.com/login
inside my routes/web.php
Route::domain('agent.example.com')->group(function () {
    Route::get('/login', 'AgentController@showLoginForm')->name('agent.login');
});

However, it still show my member login screen even the url is agent.example.com
But if I changed to
Route::domain('agent.example.com')->group(function () {
    Route::get('/agent-login', 'AgentController@showLoginForm')->name('agent.login');
});

It displays the correct controller and view.
I already added the Route::domain as the filter. But how come Laravel still pick up the original login route?
Below is partial of my route:list, My sub-domain is listed.
|                   | GET|HEAD                               | login                                                | login                              | App\Http\Controllers\Auth\LoginController@showLoginForm                                  | web,guest                         |
| agent.example.com    | GET|HEAD                               | login                                          | agent.login                        | App\Http\Controllers\Agent\Auth\LoginController@showLoginForm                        | web,guest                         |

Test no.2, it didn't show the echo.

\Route::domain('agent.example.com')->group(function () {
    Route::get('login', function () {
         echo "This is my agent login page."
    });
});

Expected Result
If there is domain function is stated and it is matched. It should take the highest priorities instead of look for other. I am not sure how Laravel takes the priorities on the same route.
This is my test:-
    \Route::domain('agent.example.com')->group(function() {
        Route::get('agent-login', function () {

            dump('agent-login 1');
        });
        Route::get('agent-login', function () {

            dump('agent-login 2');
        });
    });

The output is agent-login 2, it did not display agent-login 1.
If it is not bug, can I know how do I set it correctly?
Thanks!

I can't replicate this, I have a project that uses a similar setup and it's working fine.

Works fine for me too.. no issues

I just pull in the new Laravel. I am confused the Laravel sequence.
I have specific the domain(), but I put after Auth::routes(), it will still go Laravel default route.
But if I move it to the top, and put 2 methods with same routes, it executed the 2nd one.
//this line execute
Route::domain('agent.laravel55not.dev')->middleware(['web'])->group(function () {
	    Route::get('login', function () {
	         echo "This is my agent login page.";
	    });
	    //this one later but execute this one
	    Route::get('login', function () {
	         echo "This is my agent login page.2";
	    });
});

Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');

//this line of code did not execute. I put after Auth::routes(), it will go throught Auth::routes(), but I had specific the domain(), but still not having top priorities
Route::domain('agent.laravel55.dev')->middleware(['web'])->group(function () {

    Route::get('login', function () {
         echo "This is my agent login page.";
    });
    Route::get('login', function () {
         echo "This is my agent login page.2";
    });

});

Ok it looks like your routes need to be ogranized based on priority of matching, please seek help on the forums ,his repo is for bug reporting only. You can use https://laracasts.com/discuss or https://laravel.io/forum which are forums with a very large community of developers helping each other.


Gem 1.6.9 claims to be compatible with 1.9.0 while using prepend from 2.5 in extconf.rb

This prepend execution is conditional, so may work in one environment and not in another.

https://rubygems.org/gems/sqlite3/versions/1.6.9
https://github.com/sparklemotion/sqlite3-ruby/blob/v1.6.9/ext/sqlite3/extconf.rb#L92

I understand that 2.4 and others are old, but some systems still using them and would be nice to have a compatible version of the gem.

Hi @hurricup, sorry you're dealing with this. Yes, the gemspec had an incorrectly-large range of supported ruby versions due to general lack of maintenance for many years.
I unfortunately cannot modify existing releases to fix the gemspec, but I think the gem v1.4.x should work on Ruby 2.4 and earlier? No promises, though. Please try pinning to that version and let me know if you have problems with it.

yes, but you can release 1.6.10 with replacing prepend with unshift and that should do it. rubygems will use it by default and it would work

I'm not going to release a v1.6.10 because that won't solve your problem, rubygems and bundler will still load v1.6.9 if you're on an older version of ruby.

I'm sorry, I probably miss something. Won't the gem with the same version constraints with the higher version be prefered?

Ah, sorry, I misunderstood what you were asking me to do, I thought you were asking me to cut a release v1.6.10 that declared specifically it does not support Ruby 2.4.
I now understand what you're asking.
I really do apologize that this has made your life a bit harder. The gemspec had not received much love and the testing matrix was not in good shape, which led to the breakage. I truly wish this had been caught sooner.
But at the same time, I would prefer not to spend time testing and cutting a release for a branch that's been out of support for a year so that it's easier to use with a version of Ruby that's been out of support for four and a half years. Resurrecting the testing pipeline for older versions of Ruby is not trivial (unstable CI is why we dropped many older rubies from the pipeline in the first place). And I realize it's uncouth to say in some circles, but I also want to encourage users to stay on supported versions of Ruby for performance and security reasons, so while I don't want to make anyone's life harder, I don't necessarily want to make it easier to follow an antipattern.
I'm sorry if you disagree with that decision, but I hope that you're able to understand why I'm choosing not to work on this and that we can disagree respectfully. Again, the the workaround is straightforward: pin to the version of sqlite3 that works for your version of Ruby.

Thank you for your detailed answer, I really appreciate the time you spent to explain everything.
And REALLY sorry for nagging, but considering all you wrote above, feels fine to just change a method you call, run tests you have on 2.4 and just publish it, without restoring full pipeline.
Nothing should break (I know that most problems start with such assumption :) ). But in case something will go wrong, you will be able just to delist this new version from rubygems and just forget about the issue :)
Again sorry, and thanks for discussing this :)


Mutation methods?

Is there any plan to add methods to change parts of a PhoneNumber or create a new one based on an existing one? E.g. set_extension?
I'd rather not rely on getters + string manipulation, since that's the kind of fiddly stuff I'm trying to avoid by using a library. I'd also worry about getting things subtly wrong. I had no idea how deep the international phone number rabbit hole went before I found libphonenumber... :)

There had been non when you wrote this, but now there might be :wink: . But I have to clean things up first, go through some strange bugs etc.


feat: add solidity IBC builds

here is PR for shells https://github.com/hyperledger-labs/yui-ibc-solidity/pull/214
afaik people run ETH Cosmos IBC via TEE ligth clients proxies there. also they do IBC to some corporate networkrs.

should these go here? i guess yes. similar how ethereum.nix aggegates forge nix. so this repo aggregates ibc (because some repo should be bigger than cosmos, include ibc and cosmwasm on other vms/chains, this fits well imho)

It would be cool to support a default cosmos-sdk development shell. Is that what you are proposing here?

I am asking here if IBC for EVM in Solidity builds should go to cosmos.nix repo?


Fix surface wireframe

Description
Wireframe is currently broken (see #3878). This fixes some wrong (or missing!) hookups that were caused by the change to evented models.
There is still an issue: if a color is passes in the form of list/tuple/array, things break down because the evented model complains like this:
~/git/napari/napari/utils/events/evented_model.py in __eq__(self, other)
    310             if f_name not in other.__eq_operators__:
    311                 return False
--> 312             if (
    313                 hasattr(self, f_name)
    314                 and hasattr(other, f_name)

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

I don't know how to fix this and don't have much time now, so I'll leave it here for now in the hopes that someone already knows the issue :)
cc @sofroniewn @tlambert03
Type of change

[x] Bug-fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

References

How has this been tested?

[ ] example: the test suite for my feature covers cases x, y, and z
[ ] example: all tests pass with my change

Final checklist:

[ ] My PR is the minimum possible work for the desired functionality
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] If I included new strings, I have used trans. to make them localizable.
For more information see our translations guide.

I don't know how to fix this and don't have much time now, so I'll leave it here for now in the hopes that someone already knows the issue :)

You can add a validator to coerce the color - see how it is done here in the text overlay. That should work.
https://github.com/napari/napari/blob/43aa65bcde1ef36493ba51499edca4fad8d7fafe/napari/components/text_overlay.py#L37-L39
Long term there might be a nicer pydantic way to do that which uses less code duplication, but i'm not sure. @andy-sweet @tlambert03 may have more ideas there

I think this came up recently somewhere else, but this is another case where setting the type of a pydantic model to a union is problematic.  As @andy-sweet pointed out in https://github.com/napari/napari/pull/3689#discussion_r761529335, you really want to think about the declared type as the one that will be stored, rather than a list of all the valid types that it accepts.
the problem here is that, when we go to check whether the new value is equal to the old value, it becomes very difficult since we don't really know what type the value is going to be (since we've left it open ended by using a union).
the "quickest" solution here would be to update this function
https://github.com/napari/napari/blob/c9571dbbda55e18e0119f3fc3f63654d53f1dd2c/napari/utils/misc.py#L442
with logic that says
if getattr(obj, '__origin__', None) is typing.Union:
    return operator.is_

that would basically just "bail out" on the equivalence comparison for Unions.  But longer-term you might want to consider not using a Union here

I think this came up recently somewhere else, but this is another case where setting the type of a pydantic model to a union is problematic. As @andy-sweet pointed out in #3689 (comment), you really want to think about the declared type as the one that will be stored, rather than a list of all the valid types that it accepts.

Good point too.
If we go with the validator then the color will always get coerced to be the 4-tuple and we won't need a union.
https://github.com/napari/napari/blob/43aa65bcde1ef36493ba51499edca4fad8d7fafe/napari/components/text_overlay.py#L32
I think this is probably what i'd recommend as it is a pattern we use in a bunch of places now requiring color

I think this is probably what i'd recommend as it is a pattern we use in a bunch of places now requiring color

that works for me too.  but in that case, I'd recommend making a new custom type (which will bring it's own validator with it) rather than duplicating that validator in every model that uses it...
https://pydantic-docs.helpmanual.io/usage/types/#classes-with-__get_validators__

that works for me too. but in that case, I'd recommend making a new custom type (which will bring it's own validator with it) rather than duplicating that validator in every model that uses it...

Yes, agreed that would be best!

Given that this PR doesn't change the color situation - it already was the way it was - I will merge and make a new issue to add color validator


How to create rendering video as yours?

Hi i am also interested in rendering the mesh, could you please share how you achieved this? Many thanks!


Dynamic shortcut named "link" not work

shortcut with "link-" doesn't work:
/^link-(.*)$/, ([, c]) => `text-${c}-700 border-b-1 border-${c}/30 hover:text-${c}-500 hover:border-${c}-500/10`],

if i rename "link-" to "test-" works fine:
[/^test-(.*)$/, ([, c]) => `text-${c}-700 border-b-1 border-${c}/30 hover:text-${c}-500 hover:border-${c}-500/10`],

Playground

link is part of pseudo prefix
https://cs.github.com/unocss/unocss/blob/aa41449259b5404ad27fe4b1262440393284df9c/packages/preset-mini/src/variants/pseudo.ts#L12

@chu121su12 Thanks!


Warning: do not use WSL plugin!

I am subscribed over 1 year to this GitHub page and haven't seen the author ever reply to questions or accept pull requests.
The author probably has reasons to do that and I respect that.
But before you invest your time into WSL plugin, you should consider that for now this software seems to be abandoned.
And there are several known issues with WSL plugin - for which you will receive no support, once you hit them.

Well that happens, projects come and go. Someone capable need to fork the project then I guess, so the community can pick up the project and take it forward. Any takers?

there are so many pull requests and have a look in the graph section, i think the community can maintain this project. But there is someone needed who takes care of managing this project.

A good start would be to remove the customized HybridAuth currently used in WSL plugin.

Very nice plugin, many thanks to the authors! Hope I'm not the last joining this thread. Just started working with WSL and love the userlist backend.
Github and Linkedin both seem to work well so I like to keep this plugin running and make some effort in checking out how to get Facebook, Google and other api's connecting correctly again.

Maybe the hybridAuth part is not the main problem, i think so because other api's still work well. Some api responses are changing in time, scheduled (api focussed) plugin updates with community support are needed.

Let me know if you 2 would like to put some effort in the WSL plugin, maybe we can make it work great again.

This seems like the best plugin given what I found. It would be great if the community took it forward.
The code base seems relatively clean and well documented.
Are there other plugins out there which are as good as this one?

I am closing my "issue" because the author (miled) is thankfully back and is merging pull requests.


Upgrade gradle's and libs

In this commit I've updated:

com.google.ar:core to version 1.6.0 which require to call mSession.resume() inside try & catch block, which is more safer.
support libs & target sdk
gradle.properties version to version 4.10

In next commit will migrate project to $kotlin.

Gwgw

Hbb


Pages interface is completely broken

Running Grav 1.0.10. Here is a call stack that I obtained from Chrome's dev tools:

Woops, this goes in admin project.


Implemented flexible PP

Enabled some cases to work where num_microbatches % pp_size != 0. Using the flex_pp schedule, we will have
num_rounds = max(1, n_microbatches // pp_group_size) and it works as long as n_microbatches % num_rounds is 0. As a few examples, support

pp_group_size = 4, n_microbatches = 10. We will have num_rounds = 2 and n_microbatches % 2 is 0.
pp_group_size = 4, n_microbatches = 3. We will have num_rounds = 1 and n_microbatches % 1 is 0.

Tested using the config in (1), schedule looks like the following graph:

n00b question, how do we assign received tensors to corresponding model chunk?


feat(cta-section): component created

Related Ticket(s)
#5218
Description
Created component following the functional and design specs.

@RaphaelAmadeu Isn't @shixiedesign and the design label supposed to included in this PR?


Add redirect for legacy kubectl links

address some of https://github.com/kubernetes/kubernetes.github.io/issues/4642

This change is

@chenopis :wave: I just tested this out--it's working great! 🎉

@zacharysarah Thanks for clearing out the relevant URLs in the console log.


论文代码复现任务（12）

任务链接：https://gitee.com/mindspore/community/issues/IAPF9X
将下表指定的论文Pytorch代码迁移到MindSpore框架进行复现
1.Conditioning Methods in Graph Neural Networks
2.WinoGrande: An Adversarial Winograd Schema Challenge at Scale

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

请在评论里附上代码运行截图。

任务一Conditioning Methods in Graph Neural Networks运行截图


Correcting formatting of values, #662

Short names would not be formatted correctly, i.e. '.Foo' would be
'foo.bar..Foo' instead of 'foo.bar.Foo'.

Codecov Report

Merging #663 into master will increase coverage by 0.02%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #663      +/-   ##
==========================================
+ Coverage    72.2%   72.23%   +0.02%
==========================================
  Files          49       49
  Lines       15955    15968      +13
==========================================
+ Hits        11520    11534      +14
+ Misses       4435     4434       -1

Impacted Files
Coverage Δ

androguard/core/bytecodes/apk.py
63.16% <100%> (ø)
:arrow_up:

tests/test_apk.py
97.29% <100%> (+0.08%)
:arrow_up:

androguard/core/analysis/analysis.py
77.08% <0%> (+0.14%)
:arrow_up:

Continue to review full report at Codecov.

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


Add link to Trust Developers Telegram Chat

We should add a link to https://t.me/walletcore here, any thoughts?

@hewigovens any idea where to add this button? there is many options atm, already confusing?

Index page should be fine, under Get Started

Can you add and let’s close it?


Error with flutter 3 but works fine with flutter 2.10.5 and other

**how to solve this**
e: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\agora_rtc_engine-5.1.0\android\src\main\kotlin\io\agora\agora_rtc_engine\AgoraRtcEnginePlugin.kt: (251, 18): Type mismatch: inferred type is String? but String was expected
e: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\agora_rtc_engine-5.1.0\android\src\main\kotlin\io\agora\agora_rtc_engine\AgoraSurfaceViewFactory.kt: (16, 1): Class 'AgoraSurfaceViewFactory' is not abstract and does not implement abstract base class member public abstract fun create(p0: Context?, p1: Int, p2: Any?): PlatformView defined in io.flutter.plugin.platform.PlatformViewFactory
e: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\agora_rtc_engine-5.1.0\android\src\main\kotlin\io\agora\agora_rtc_engine\AgoraSurfaceViewFactory.kt: (20, 3): 'create' overrides nothing
e: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\agora_rtc_engine-5.1.0\android\src\main\kotlin\io\agora\agora_rtc_engine\AgoraTextureViewFactory.kt: (12, 1): Class 'AgoraTextureViewFactory' is not abstract and does not implement abstract base class member public abstract fun create(p0: Context?, p1: Int, p2: Any?): PlatformView defined in io.flutter.plugin.platform.PlatformViewFactory
e: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\agora_rtc_engine-5.1.0\android\src\main\kotlin\io\agora\agora_rtc_engine\AgoraTextureViewFactory.kt: (17, 3): 'create' overrides nothing

Same issue here, plz fix it

The same issue... (

Same here, please fix.

Duplicated https://github.com/AgoraIO/Agora-Flutter-SDK/issues/677

i have the same problem, any solution?

Same Issue, Please anyone solve this


JUnit5 migration

Migrate unit tests to JUnit 5 using:
mvn org.openrewrite.maven:rewrite-maven-plugin:4.32.0:run -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-testing-frameworks:1.26.1 -DactiveRecipes=org.openrewrite.java.testing.junit5.JUnit5BestPractices
Had to fix a few minor imperfections, but otherwise mostly automated.
TODO

[ ] Figure out why tests are not run (locally?)

that would be awesome, thanks a lot @timtebeek

Yeah happy to help! Finally noticed that if I run mvn test -Prbac locally it actually matches some tests.
Was a bit surprising that plain mvn test didn't match anything; but then I noticed the profiles and exclusions.
Did I miss some instructions there for newcomers?
One in six now fail with unnecessary stubbing due to the Mockito upgrade; typically because of stubbing in a BeforeEach method. @MockitoSettings(strictness = Strictness.LENIENT) should see that sorted, but it's back to work first for me. :)

Just FYI; the Run link in CONTRIBUTING.md is not working anymore.

The tests weren't run because of mismatched versions of surefire/failsafe; Fixed in https://github.com/kafka-ops/julie/pull/534/commits/cd3f0fcb6474ba6efc6806ace4b59ed72a0c0c70.
@purbon Would you mind running the tests? :pray:

from the latest IT test run:
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 107.204 s - in com.purbon.kafka.topology.integration.ConnectorManagerIT
[INFO]
[INFO] Results:
[INFO]
Error:  Failures:
Error:    TopicManagerIT.topicCreation:121->verifyTopics:398->verifyTopics:418 Internal topics not found ==> expected: <true> but was: <false>
[INFO]
Error:  Tests run: 62, Failures: 1, Errors: 0, Skipped: 0
[INFO]
[INFO] ------------------------

I'm looking at the test now; it does indeed also fail locally.
The test executes a plan to create two topics, which are indeed created.
What's unclear to me is why the test asserts there should also be some hidden topics.
When I run the same test locally on master, that same test also fails without internal topics.
Could it be something else that's causing the test failure? There's hardly any relevant changes there in the PR.

@purbon the test failures was resolved in https://github.com/kafka-ops/julie/pull/534/commits/cf59d8d76475b0ffa968380ecb9b72666bdcb4d8; hope you agree!

Closing this one due to inactivity & conflicts; feel free to cherry pick any of the manual fixes, and then reapply the automations either separately for quicker review & merge or aggregated through JUnit Jupiter best practices.


Idea/Feature request: finer-grained progress indication

It would be great if F* was able to report per-assert/per-VC progress while verifying a chunk of code — I think it'd help a lot with interactivity and identifying which bits of a proof are slow.
I don't have a clear picture of what the UI would be like yet, but I could imagine a few possibilities:

Adding a count after the F* icon in the modeline — something like F⍟[Verifying: 3/5].
Adding a summary of the actual VC after the F* icon in the modeline — something like F⍟[Verifying (3/5): x < 0 /\ …].
Highlighting the VC(s) being verified using overlays directly in the buffer
Logging to the messages buffer, or a side buffer

This feature exists in Emacs' dafny-mode, and I find it quite convenient.  If I understand correctly, the main obstacle here is that F* make put multiple VCs/asserts into a single SMT query. Is there a way to achieve something like the above despite this encoding detail?
Another issue is ranges — F* has pretty good ranges, but there are issues sometimes.  Assuming people take the time to report range problems, though, these should be pretty quickly ironed out.
Are there other issues that I'm not thinking about? (I has something like this in mind as I worked on the JSON protocol, so I don't expect roadblocks on that side)

This would be a nice feature. Of the various possibilities you mention all but one make good sense, since our VCs are simply to big to display in the modline.

Neat, thanks! I wasn't thinking of the encoded VCs; rather (a prefix of) the corresponding F* code, but I agree that that option sounds tricky.

This might be easier for tactics; cc @mtzguido


--token-cache-dir broken in kubelogin-linux-amd64

Hi,
we use kubelogin to connect to our on-premise kubernetes cluster, like it's described on https://github.com/Azure/kubelogin#setup-for-kubernetes-oidc-provider-using-azure-ad . It works very well and authentication works.
After successful authentication, the .json-file is saved in the working-directory, where i'm located during the login process and not in ~/.kube/cache/kubelogin. When i now change the directory in my shell, the login has to be done again. This problem exists, wheter the parameter --token-cache-dir is set in ~/.kube/config the parameter or not. As far as i understand, default for --token-cache-dir is always ~/.kube/cache/kubelogin, so it's not important to set it in our case.
Here's the users-part from my ~/.kube/config:
users:
- name: azure-user
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1beta1
      args:
      - get-token
      - --login
      - devicecode
      - --server-id
      - $AAD_CLIENT_ID
      - --token-cache-dir
      - ~/.kube/cache/kubelogin
      - --client-id
      - $AAD_CLIENT_ID
      - --tenant-id
      - $AAD_TENANT_ID
      - --environment
      - AzurePublicCloud
      command: kubelogin
      env: null
      provideClusterInfo: false

If i try to revoke the token with kubelogin remove-tokens, the token is not deleted from the working-directory it was created. When i move the .json file to ~/.kube/cache/kubelogin directory and re-execute the revoke-command, the token has been deleted.
This scenario is with kubelogin-linux-amd64 (v0.0.16) in Ubuntu-20.04 WSL on Windows 11. I expect to have a valid token, no matter in which directory i'm at the moment. Is this a bug or do we have to set another setting? Does it not work because of the parameter order in the ~/.kube/config?
Thanks.

Same on Windows 10 as well.. !
It creates AzurePublicCloud-6dae42f8-4368-4678-94ff-3960e28e3630--.json in current working directory if not present instead it should pick it from default ~/.kube/cache/kubelogin or custom cache dir as per --token-cache-dir param

it's a bug. i just realized that i mixed up different versions of kubelogin when i tested v0.0.16. will fix it!


Allow to execute when git is not installed

Copier has lots of git-related stuff, but it also has features that work without it. It should be a lazy requirement.

Can confirm:
root@a620fae20704:/# which git || echo "git is not available"
git is not available
root@a620fae20704:/# copier --version
Traceback (most recent call last):
  File "/usr/local/bin/copier", line 5, in <module>
    from copier.cli import CopierApp
  File "/usr/local/lib/python3.10/site-packages/copier/__init__.py", line 6, in <module>
    from .main import *  # noqa: F401,F403
  File "/usr/local/lib/python3.10/site-packages/copier/main.py", line 23, in <module>
    from plumbum.cmd import git
ImportError: cannot import name 'git' from 'plumbum.cmd' (/usr/local/lib/python3.10/site-packages/plumbum/cmd.py)

(For the same reason, copier /path/to/template /output doesn't work without git installed either)

Gave this a try in gh-1074.


Test whether issuer matches

NSS has a bug that makes it incompatible (as an IDP) with CSS (as a resource server).
This test suite could test for it.

This would fit under a category of tests that would test the discovery resource (/.well-known/openid-configuration) and compare the issuer value with the iss claim in the resulting tokens. If those don't align, that would be a failure.

NSS has a bug that makes it incompatible (as an IDP) with CSS (as a resource server).

How did this slip through the cracks though?
https://github.com/solid/test-suite claims full IDP compatibility for NSS.
There should be an issue on the test suite then too, I hope?

This condition is tested in https://github.com/solid/solid-oidc-tests/blob/c08c3f83e6213ee4228c361665e53fec1145c13a/js/solid-oidc-test-suite.js#L81-L85


Make convert_2D_segmentation_to_3D copy feature tables

TBD details
@silvbarb Want to elaborate a bit?

Yes!
If the original data lives in (z,y,x) dimensions, and a z-projection is used for object measurements (example: 2D segmentation of organoids + basic 2D feature extraction), it would be nice to have such measurements copied to the 3D OME-Zarr as well, and not only to have them in the _mip.zarr
This would require the option to copy over from 2D to 3D specific ROI_table(s), which maybe could be specified by the user? I doubt for instance that the FOV or well_ROI_table it's something the user would want to lift over, but maybe the label_ROI_table, as well as the measurements tables could be interesting to have.

This would require the option to copy over from 2D to 3D specific ROI_table(s), which maybe could be specified by the user? I doubt for instance that the FOV or well_ROI_table it's something the user would want to lift over, but maybe the label_ROI_table, as well as the measurements tables could be interesting to have.

Fully agreed!
You can already copy over label_ROI_table, as those are important to e.g. make 3D measurement per object from 2D. You can specify which ROI tables you want to copy over by using the ROI_tables_to_copy parameter of the task.
I see 2 ways to proceed:

We add a second parameter: Other tables to copy
We make the copying of tables smarter, now that our tables are typed. If it's a ROI table, we modify the Z dimension of the ROI as we currently do. If it's any other kind of table, we just copy over the table. The parameter could then be named just tables_to_copy.

I'd default to option 2


Anycloud atomic support

Once atomic works for Alan, adding functionality to make it possible for Anycloud users to also perform atomic mutations is desirable, and then updating the various libraries to expose that within their own language, effectively bolting an STM on everything. :)

No longer going to do this.


move 'dash' to 'styles' section

is currently listed as a draw parameter, which it is not

fixed with https://github.com/tangrams/tangram-docs/pull/127


Expand logging beyond async-std's task::spawn calls

Given that parallel-stream is likely to be a source of many spawned tasks, it's probably useful to add additional log points. This would help trace where tasks are coming from, which is useful when debugging systems.
Also zooming out slightly; this marks another point for why parallel-stream is useful outside of manually spawning tasks for a loop. It's unlikely that regular business logic would consistently add trace points when spawning tasks. Instead by abstracting the parallelization into a library we can do this once, and provide this for everyone.

Hmm I wonder if going with tracing would be beneficial compared to the classic log fascade. One benefit definitly will be the use of scopes to structure the logs and avoid the "async mess" you end up with log not knowing where which log came from in what context/task.


Balance region count according to store capacity

The goal of the current storage balance algorithm is to balance storage size between stores, not region count. However, storage size changes very dynamically, but the balance effect takes time to feedback.
For example, if a store has the biggest storage size in the cluster, the balance algorithm will try to remove peer from the store. Unfortunately, the current implementation to remove peer may increase the storage size temporarily, which will cause the balance algorithm keeping removing peer from the store.
If the size of different regions are relative equal, we can try to balance the region count according to store capacity instead.
For example, we have store 1 with 1GB capacity, store 2 with 2GB capacity, and 6 regions, we can schedule 2 regions to store 1 and 4 regions to store 2. In this way, we will be not affected by the dynamically changing storage size.

We are working on the new algorithm which will balance region count first. Thank you for your advice @newbcat


gh/workflows: Bump CLI to v0.15.8 in e2e tests

Fix #27916

/ci-ipsec-e2e

/ci-e2e

/ci-ipsec-upgrade


Invalid Cert Chain when using Plug in CA Certificates

Bug Description
When following the guide for Plug in CA Certificates, the resultant cert chain presented by workloads in TLS handshakes is Leaf -> Intermediate CA -> Root CA -> Root CA.
This is incorrect as the Root CA is present twice.
Workloads will present even worse cert chains if additional roots are used in the Plug in CA Certificates. E.g. of the form
Leaf -> Intermediate CA -> Root CA -> Root CA -> Other Root -> Another Root
How to recreate
I followed https://istio.io/latest/docs/tasks/security/cert-management/plugin-ca-cert/ and then ran two checks
Check 1

Got the certificate chain from running curl <IP_ADDRESS>:15000/config_dump on the httpbin pod
Decoded it and analysed it through openssl

$ openssl crl2pkcs7 -nocrl -certfile cert-chain.pem | openssl pkcs7 -print_certs -noout
subject=

issuer=O = Istio, CN = Intermediate CA, L = cluster1

subject=O = Istio, CN = Intermediate CA, L = cluster1

issuer=O = Istio, CN = Root CA

subject=O = Istio, CN = Root CA

issuer=O = Istio, CN = Root CA

subject=O = Istio, CN = Root CA

issuer=O = Istio, CN = Root CA

Notice how the Root CA is present twice.
Check 2
Packet capture of a TLS handshake between httpbin and sleep pods

Again we see that the Root CA is present twice.
Extension
To get a bugged chain of form Leaf -> Intermediate CA -> Root CA -> Root CA -> Other Root -> Another Root, add some extra trusted roots to root-cert.pem within the cacerts secret and reinstall Istio.
Thoughts on cause of the bug
It seems that with plug-in CA certificates, Istio creates the certificate chain by concatenating:

The leaf
The contents of cert-chain.pem within the cacerts certificate
The contents of root-cert.pem within the cacerts certificate.

It feels like a bug that the contents of root-cert.pem are included. So presumably the fix would be not to include the contents of root-cert.pem in the certificate chain.
Version
$ ./bin/istioctl version
client version: 1.13.3
control plane version: 1.13.3
data plane version: 1.13.3 (4 proxies)

$ kubectl version --short
Client Version: v1.21.1
Server Version: v1.21.7

### Additional Information

_No response_

### Affected product area

- [ ] Docs
- [ ] Installation
- [X] Networking
- [ ] Performance and Scalability
- [ ] Extensions and Telemetry
- [X] Security
- [ ] Test and Release
- [ ] User Experience
- [ ] Developer Infrastructure
- [ ] Upgrade
- [ ] Multi Cluster
- [ ] Virtual Machine
- [ ] Control Plane Revisions

### Is this the right place to submit this?

- [X] This is not a security vulnerability
- [X] This is not a question about how to use Istio

@howardjohn apologies for tagging you directly but I've seen you've addressed networking issues before.
Could you add the area/networking and area/security labels to this issue please? I forgot to tick the correct boxes when I raised the issue.

Any update here?
In particular:

Confirmation that this is an issue and not working as designed
If it is an issue, is there a timeline to fix?

Hello @hzxuzhonghu @howardjohn, may I ask you to confirm if it's a bug or expected behaviour?

The steps in the docs dont work for me either, mostly likely due to some cert gen issue in https://github.com/istio/istio/blob/master/tools/certs/Makefile.selfsigned.mk
The default sample certs in the istio release bundle seem to work fine
curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.14.1 sh -
kubectl create secret generic cacerts -n Istio-system --from-file=ca-cert.pem=istio-1.14.1/samples/certs/ca-cert.pem --from-file=ca-key.pem=istio-1.14.1/samples/certs/ca-key.pem --from-file=root-cert.pem=istio-1.14.1/samples/certs/root-cert.pem --from-file=cert-chain.pem=istio-1.14.1/samples/certs/cert-chain.pem

may I ask you to confirm if it's a bug or expected behaviour?

I noticed that too. I think it is redundant and should remove. @lei-tang to confirm

@arkodg, @hzxuzhonghu thanks for confirming. But I'm lost a bit. We were thinking that it was a code problem. But you're saying it's rather a wrong example/documentation one.
Our current certificate hierarchy is Leaf -> Intermediate CA -> Region CA -> Root CA + we also have some additional root CAs, that we use during certificate rotation. Our current cacerts secret contains the following:
ca-cert.pem -> Intermediate cert
ca-key.pem -> Intermediate key
cert-chain.pem -> Intermediate cert, Region Cert, Root Cert
root-cert.pem -> Root Cert, Additional Root Certs
But this produces duplicates in the resultant cert chain presented by workloads.
From what you're saying and Istio certificate examples, it should look like:
ca-cert.pem -> Intermediate cert
ca-key.pem -> Intermediate key
cert-chain.pem -> Intermediate cert
root-cert.pem -> Region Cert, Root Cert, Root Cert, Additional Root Certs
Is this correct? What's the difference between ca-cert.pem and cert-chain.pem then?
And also, is root-cert.pem right place for the additional Root CAs?

As I noted when raising the issue, my thoughts are that this is a code bug.
The contents of root-cert.pem shouldn't be added to the constructed certificate chain.
That way @Ser87ch's use case above would work, the additional Root CAs could be put in root-cert.pem.

Hi @JWT95, @Ser87ch, and Istio team,
I am noticing a similar issue as well when using the Kubernetes CSR signing API. It's clear to me what is causing this to happen, and it's debatable whether it's truly a bug, but it seems that a code enhancement to Istio is needed to resolve the issue.
First note the comment related to defaultCACertPath in CertController.go.
This path can be overridden, but there's always something that gets passed to SignCSRk8s, so "caFilePath" is not empty, and looking at references to that function, "appendCaCert" is always true. This means that in the call to readSignedCertificate(), which builds the full chain, it always goes through the path to append the CA cert from the provided path.
I'm an engineer at a certificate management and certificate authority vendor (Keyfactor/Primekey) and we were able to work around this in our implementation of the k8s CSR API for EJBCA by allowing users to return only a partial certificate chain from the signer. And Istio can be provisioned with the root cert that corresponds to that issuer chain as a secret. Together, this allows Istio to construct a complete chain with no duplication when it appends the correct root certificate to the partial chain received from the signer, but this is not an optimal solution.
The comment in that first piece of code suggests the author is aware that there should be more flexibility in configuring this. It should be configurable whether Istio appends a certificate to a chain at all, so that the signer can return a complete chain that's universally usable. Perhaps even better would be if Istio actually verified that the chain ends in exactly one self-signed certificate, with subjects matching all the way down to the end-entity cert, but at least it should be able to accept a complete chain and not try to modify it.
Looking forward to understanding how we can approach an effective solution to this. Thanks. -JD

"Leaf -> Intermediate CA -> Root CA -> Root CA" looks to be redundant and should be "Leaf -> Intermediate CA -> Root CA" instead. Any proposal to fix the documentation/script/code?

@JDKeyfactor Thank you for your detailed analysis and your proposals for fixing the issue! Can you write a design document for your proposal and share it with Istio community for review?

Hi @lei-tang et al,
I don't have any experience creating Istio design documents but I put this draft together based on the conversation here and what I find for other Istio design docs. Please advise if this requires revision. Thanks.

@JDKeyfactor Thanks for sharing a design doc! Can you present it on Istio WG meeting (Wednesday weekly) to get feedback for the design?

@zirain maybe interested

will take a look when I have bandwith.

not stale


Add some notes on setting up for development

Moved from https://github.com/ukgovdatascience/classifyintentsapp/pull/101 to allow tests to pass.

Ta!