A stream ending while filtered listeners are listening causes TypeError: object is not a function

Basic example:
var Kefir = require('kefir');

var _em;
var vce = Kefir.stream(function(emitter) {
  _em = emitter;
  return function() {};
});

vce
  .filter(function(){return true;})
  .onValue(function(e) {
    _em.end();
  });
vce
  .filter(function(){return true;})
  .onValue(function(e) {
    console.log('received', e);
  });

_em.emit('a');

$ node stream.js

/Users/chris/Coding/kefir-test/node_modules/kefir/dist/kefir.js:2011
	    if (fn(x)) {
	        ^
TypeError: object is not a function
    at AnonymousObservable._handleValue (/Users/chris/Coding/kefir-test/node_modules/kefir/dist/kefir.js:2011:10)
    at AnonymousObservable._handleAny (/Users/chris/Coding/kefir-test/node_modules/kefir/dist/kefir.js:1844:24)
    at AnonymousObservable._$handleAny (/Users/chris/Coding/kefir-test/node_modules/kefir/dist/kefir.js:1820:21)
    at callSubscriber (/Users/chris/Coding/kefir-test/node_modules/kefir/dist/kefir.js:838:6)
    at Dispatcher.dispatch (/Users/chris/Coding/kefir-test/node_modules/kefir/dist/kefir.js:868:8)
    at S._emitValue (/Users/chris/Coding/kefir-test/node_modules/kefir/dist/kefir.js:644:25)
    at Object.value (/Users/chris/Coding/kefir-test/node_modules/kefir/dist/kefir.js:1397:10)
    at Object.<anonymous> (/Users/chris/Coding/kefir-test/stream.js:20:5)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)

Interestingly, removing the two .filter calls causes the error to not happen.
I know the above code example can be done in other ways besides abusing a stream emitter manually. The example was extracted out of a bigger codebase that had a lot of indirection between each of the steps. The issue isn't limited to that and can also happen with .takeUntilBy:
var Kefir = require('kefir');
var EventEmitter = require('events').EventEmitter;

var em = new EventEmitter();
var stopper = new EventEmitter();
var vce = Kefir.fromEvents(em, 'em')
  .takeUntilBy(Kefir.fromEvents(stopper, 'stopper'));

vce
  .filter(function(){return true;})
  .onValue(function(e) {
    stopper.emit('stopper');
  });
vce
  .filter(function(){return true;})
  .onValue(function(e) {
    console.log('received', e);
  });

em.emit('em', 'a');

Kefir 2.7.0

Seems like a bug. Will look into it.

It's actually a quite fundamental problem. At a certain conditions, the subscriber can be called after end of the stream or after it was unsubscribed.
Consider the loop where we call subscribers (let flatten it to a number of calls):
subscribers[0](value);
subscribers[1](value);
subscribers[2](value);

Now let assume that in the second subscriber we unsubscribe the third one:
subscribers[0](value);

subscribers[1](value);
  // unsubscribes subscribers[2],
  // so `dispatcher.subscribers` is replaced with a new array without that item

// but at this point we still loop over old `subscribers` array,
// which contains subscribers[2], so we call it even though it unsubscribed
subscribers[2](value);

Similar, but even nastier, when we emit end from subscriber:
subscribers[0](value);

subscribers[1](value);
  // emits `end`
  // so we call all `end` subscribers, even though current loop isn't done yet
  // endSubscribers[1]()
  // endSubscribers[2]()
  // endSubscribers[3]()

// now we get back to the `onValue` loop,
// but subscribers[2] also already unsubscribed in response to the end event
subscribers[2](value);

It doesn't look easy fixable to me at the moment, although I didn't have much time to think about it yet. Have two ideas, but both have some issues. Hopefully I'll be able to get back to it at the end of the week.
PS.
Another reproducing example:
var stream = Kefir.later(1000, 1)

function fn1(x) {
  console.log('got in fn1:', x)
}

function fn2(x) {
  console.log('unsubscribe fn1')
  stream.offValue(fn1)
}

stream.onValue(fn2)
stream.onValue(fn1)

// > unsubscribe fn1
// > got in fn1: 1

As you can see it calls fn1 after it was unsubscribed.
PS2.
Fast fix for your case is to call _em.end(); in the next tick via setTimeout(..., 0) or process.nextTick() if it available.

Should be fixed in 2.7.1! But it probably won't work as you might expect anyway — the second subscriber won't receive the event. We should fix that too, but it's a breaking change — #120


Display 3 items at once ?

Is it possible to display 3 slides/items at once with this lib? With the currently selected item at the center of the 3?
I can't manage to get this behavior...

I need to display 5 icons in a row, with an infinite loop but it shows just one item on each slide

I need to display 5 icons in a row, with an infinite loop but it shows just one item on each slide


Can't post data

I have the following code:
const options = {
  method: "POST",
  header: {
    "Accept": "application/json",
    "Content-Type": "application/x-www-form-urlencoded"
  },
  data: JSON.stringify({ username, password })
};
console.log(JSON.stringify(options));
// "{"method":"POST","header":{"Accept":"application/json","Content-Type":"application/x-www-form-urlencoded"},"data":"{\"username\":\"joe\",\"password\":\"$2a$10$ZGthAAAAAAAAAAAAAAAAA.KoRc0Kh2hRVNtEP4PVJgtUc1geJw.nW\"}"}"
let dataOrErr = fetch("http://localhost:8080/login", options)
    .then(checkStatus)
    .then(parseJSON)
    .then((data) => ({ data }))
    .catch((err) => ({ err }));
console.log(dataOrErr);
// Promise {[[PromiseStatus]]: "pending", [[PromiseValue]]: undefined}

The options object is fully filled, the xhr request send is a POST, however, I can't see any data submited with this form.

You are sending JSON data using application/x-www-form-urlencoded Content-type.

Well, this is just a tried.
I have tried before with         // "Content-Type": "application/x-www-form-urlencoded"  and it didn't work either.

It always helps to post JSON data using the JSON content-type.
const options = {
  method: "POST",
  header: {
    "Accept": "application/json",
    "Content-Type": "application/json"
  },
  data: JSON.stringify({ username, password })
}

@mislav, this is the first configuration I have tried, but it didn't helped.
  // Post a real request
  const options = {
    method: "POST",
    header: {
      "Accept": "application/json",
      "Content-Type": "application/json"
    },
    data: JSON.stringify({ username, password })
  };
  console.log(JSON.stringify(options));
  // "{"method":"POST","header":{"Accept":"application/json","Content-Type":"application/json"},"data":"{\"username\":\"joe\",\"password\":\"$2a$10$ZGthAAAAAAAAAAAAAAAAA.KoRc0Kh2hRVNtEP4PVJgtUc1geJw.nW\"}"}"
  let dataOrErr = fetch("http://localhost:8080/login", options)
      .then(checkStatus)
      .then(parseJSON)
      .then((data) => ({ data }))
      .catch((err) => ({ err }));
  console.log(dataOrErr);
  // Promise {[[PromiseStatus]]: "pending", [[PromiseValue]]: undefined}

this is the first configuration I have tried, but it didn't helped.

I didn't know. You should have told us that.
Thanks for sharing more info about your request, but looking at it I can't immediately tell what's wrong with your request. I see, however, that you're making a CORS request. Even though your server at localhost:8080 seems to allow requests from localhost:3001 where you're making them from, there are specific restrictions on POST bodies for CORS requests that you might not be yet aware of. The responsibility is on you to familiarize yourself with preflight requests. We can't help you here, unless you're reporting an actual bug with our polyfill, which you are not since you're using Chrome which implements its own native window.fetch, and thus this polyfill code is never used. If there is a bug (which is unlikely), it is with Chrome.

@mislav, I have tested the cors request before running this test, so It cannot be CORS.
The only difference here is that I am sending string has parameters, not in the body.
here is a vanilla js client running on port 8000 request to the same server.

You can see the status code for each request:

I am using instance of XMLHttpRequest for each request.

I think this should be reopened as it is certainly not related to CORS.
I have replaced the fetch code with an oldschool XMLHttpRequest, and it went well.

We can't help you here, unless you're reporting an actual bug with our polyfill, which you are not since you're using Chrome which implements its own native window.fetch, and thus this polyfill code is never used. If there is a bug (which is unlikely), it is with Chrome.

Did you read my comment? ^

I did, I am not using the window.fetch from chrome but the one from my node_modules folder.
From my package.json :
"whatwg-fetch": "1.0.0"

NPM: https://www.npmjs.com/package/whatwg-fetch
GitHub: https://github.com/github/fetch/tree/v1.0.0

If you type window.fetch in the web inspector, does it say [native code] or not?


Feature request: Capability-based interfaces

I posted this a while back on the API repo (https://github.com/Azanor/thaumcraft-api/issues/18), but I'm not sure if you are tracking those issues, so I'm reposting it here to make sure.
Would you be willing to move interfaces (such as IEssentiaTransport) towards to the Forge capability system?
This would allow for a lot more flexibility and dynamic injection of capabilities for tiles and items for addon developers.

Yup, I did see it and I might do it at some point, but for now it is fairly low priority.

This issue was moved to Azanor/thaumcraft-suggestions#349


RDK-32987: Add get VideoFotmats api

Reason for change: Adding getVideoFormats api
Test Procedure: Refer JIRA
Risks: Low
Signed-off-by: Akhil Baby Sarada<EMAIL_ADDRESS>

@apatel859 , Please review the pull request


Error in the vignette

Hi,
I was running the vignette example, and after running the line
> data_obj = featureConstruct(data_obj, method = "GlobalPanel");
I got the following error:
Error in data[temp5, , drop = FALSE] : incorrect number of dimensions

Dear fcg-bio,
Would you please provide your full script starting from importing libraries and data set?
Huipeng

Hi Huipeng,
Thanks for your quick response. I am running the commands as they are described in the vignette. My full script below
library(WGCNA)
library(flashClust)
library(gplots)
library(preprocessCore)
library(RCA)

### setting options
options(stringsAsFactors = FALSE)

data_cellline = read.csv("data/GSE81861_Cell_Line_FPKM.csv",row.names=1)

fpkm_data = data_cellline;
color_to_use0 = colnames(fpkm_data);
color_to_use0 <- strsplit(color_to_use0,"__");
color_to_use <- paste("",lapply(color_to_use0,"[[",3),sep=""); color_to_use=gsub("\\.","#",color_to_use);

### construct data object
data_obj = dataConstruct(fpkm_data);
### filt out lowly expressed genes
data_obj = geneFilt(obj_in = data_obj);
### normalize gene expression data (Note: default is no normalization). data_obj = cellNormalize(data_obj);
### log transform the data
data_obj = dataTransform(data_obj,"log10");
### project the expression data into Reference Component space
data_obj = featureConstruct(data_obj, method = "GlobalPanel");
### generate cell clusters
data_obj = cellClust(data_obj);

On of the differences is that I am loading WGCNA 1.51, instead of 1.34
My Session Info
> sessionInfo()
R version 3.3.1 (2016-06-21)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.11.6 (El Capitan)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] RCA_1.0               preprocessCore_1.36.0 gplots_3.0.1          flashClust_1.01-2     WGCNA_1.51
[6] fastcluster_1.1.22    dynamicTreeCut_1.63-1

loaded via a namespace (and not attached):
  [1] nlme_3.1-128         bitops_1.0-6         matrixStats_0.51.0   gmodels_2.16.2       doParallel_1.0.10
  [6] RColorBrewer_1.1-2   prabclus_2.2-6       tools_3.3.1          backports_1.0.5      rgdal_1.2-5
 [11] R6_2.2.0             rpart_4.1-10         KernSmooth_2.23-15   rgeos_0.3-22         Hmisc_4.0-2
 [16] DBI_0.5-1            lazyeval_0.2.0       BiocGenerics_0.20.0  colorspace_1.3-2     trimcluster_0.1-2
 [21] nnet_7.3-12          raster_2.5-8         sp_1.2-4             gridExtra_2.2.1      curl_2.3
 [26] Biobase_2.34.0       htmlTable_1.9        expm_0.999-1         rmapshaper_0.2.0     diptest_0.75-7
 [31] caTools_1.17.1       scales_0.4.1         checkmate_1.8.2      DEoptimR_1.0-8       classInt_0.1-23
 [36] mvtnorm_1.0-5        robustbase_0.92-7    stringr_1.1.0        digest_0.6.12        foreign_0.8-67
 [41] base64enc_0.1-3      dichromat_2.0-0      htmltools_0.3.5      limma_3.30.11        jsonvalidate_1.0.0
 [46] htmlwidgets_0.8      RSQLite_1.1-2        impute_1.48.0        jsonlite_1.2         mclust_5.2.2
 [51] gtools_3.5.0         spdep_0.6-11         acepack_1.4.1        dendextend_1.4.0     dplyr_0.5.0
 [56] RCurl_1.95-4.8       magrittr_1.5         modeltools_0.2-21    GO.db_3.4.0          Formula_1.2-1
 [61] geosphere_1.5-5      Matrix_1.2-7.1       Rcpp_0.12.9          munsell_0.4.3        S4Vectors_0.12.1
 [66] viridis_0.3.4        stringi_1.1.2        whisker_0.3-2        yaml_2.1.14          MASS_7.3-45
 [71] flexmix_2.3-13       tmaptools_1.2        plyr_1.8.4           grid_3.3.1           parallel_3.3.1
 [76] gdata_2.17.0         deldir_0.1-12        lattice_0.20-34      splines_3.3.1        pander_0.6.0
 [81] knitr_1.15.1         boot_1.3-18          fpc_2.1-10           geojsonlint_0.2.0    codetools_0.2-15
 [86] stats4_3.3.1         LearnBayes_2.15      osmar_1.1-7          XML_3.98-1.5         V8_1.2
 [91] latticeExtra_0.6-28  data.table_1.10.0    foreach_1.4.3        gtable_0.2.0         kernlab_0.9-25
 [96] assertthat_0.1       ggplot2_2.2.1        e1071_1.6-8          coda_0.19-1          class_7.3-14
[101] survival_2.40-1      tibble_1.2           iterators_1.0.8      AnnotationDbi_1.36.2 memoise_1.0.0
[106] IRanges_2.8.1        cluster_2.0.5

Hi, fcg-bio
I believe it is because the following line:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
normalize gene expression data (Note: default is no normalization). data_obj = cellNormalize(data_obj);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
in which the normalization step was not executed ..
 Let me know if you encounter any other issues or inconvenience.
best
Huipeng


Remove version: 360.360Chrome version 13.5.2013.0

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://down.360safe.com/cse/360cse_13.5.2013.0.exe
OK
(Automated message - build 911)

Close with reason: Package still available. Closing as requested in other PRs.;


The screen becomes blank after dragging over the Concierge hint message in the new group.

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:
Action Performed:

Open the mWeb.
Click on :green-plus-button:
Create new group.
Add member to group, make sure to add 1-2 new users.
Navigate to Group chat
Touch and drag over the concierge hint message

Expected Result:
Screen should not turn blank.
Actual Result:
The screen becomes blank after dragging over the Concierge hint message in the new group.
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[x] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number:
Reproducible in staging?: needs reproduction
Reproducible in production?: needs reproduction
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/43996225/14a6e882-fd30-4b99-85f2-ac47110a7f46
Expensify/Expensify Issue URL:
Issue reported by: @Ad-eeb
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1688160582722119
View all open jobs on GitHub

@kavimuru and I are both unable to reproduce. Checking with bug reporter if this is still occuring for them.

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.

Thanks for the update @Ad-eeb !

Still waiting on proposals here!

@eVoloshchak have you had a chance to do an initial review too?

bump @eVoloshchak

Hello, is it just me that receive the concierge message only on mweb ? Is there a reason for that ?

Actually it doesn't have to be a concierge message, I don't find the problem but it seems to be related to the drag and drop functionality:

Can reproduce this, doesn't have to be a group chat, can also be observed in a conversation with Concierge
https://github.com/Expensify/App/assets/9059945/244ceb54-ea75-4150-b1f5-c77243a73184

Not overdue, this is awaiting proposals

Guys, I've tried to reproduce it on 2 different Android version and it works correctly. So, I am not able to reproduce.
Could you please clarify what's the Android version do you have? Does your Android device have some specific Android UI, like MIUI, One UI?
Videos

https://github.com/Expensify/App/assets/57314631/2b935bd9-e081-451a-b347-24c070f3d614
https://github.com/Expensify/App/assets/57314631/5721d528-faaa-4884-b36d-fa369e042285

@rezkiy37, I did reproduce it on Pixel 6 running stock Android 13
Chrome 114.0.5735.196
https://github.com/Expensify/App/assets/9059945/620e8da3-5a7f-4bac-9177-85f2be55379a

We tried to reproduce the bug on a real device - Asus Zenfone 9, Android 13. It works fine in Chrome and DuckDuckGo browsers. So, I am continue investigating within the codebase. Will let you know soon.
https://github.com/Expensify/App/assets/57314631/785e9a29-95ab-419a-b4d0-942e9181eb49

If we can't reproduce the bug on the main devices listed in the OP. I suggest we close this issue unless @rezkiy37 can find anything obvious that is causing this in the codebase.

If we can't reproduce the bug on the main devices listed in the OP. I suggest we close this issue unless @rezkiy37 can find anything obvious that is causing this in the codebase.

@zanyrenney, Yeah, unfortunately or fortunately, I and my colleagues from Callstack were unable to reproduce the bug. Also, I haven't found anything that could invoke the bug within the codebase.

Thanks for the investigation @rezkiy37 I think we better close this one out then.


Feature request: --verbose flag

Hi there, I've been using this program for the last couple of weeks and I've been loving it so far. One of the things I think is missing from rm is a --verbose flag.
I think this flag is super useful for interactive use in the terminal, and I think it would be useful here too. In rm it simply prints the removed files after the fact, like so:
$ touch file file2 file3
$ rm --verbose file*
removed 'file'
removed 'file2'
removed 'file3'

In trashy, I think it could be done similarly, or to maintain consistency with the other subcommands, a confirmation prompt could be used, like how it is already done with the empty subcommand:
$ trash empty file
3 items will be emptied
╭───┬────────────────┬──────────────────────────╮
│ i │ Time           │ Path                     │
├───┼────────────────┼──────────────────────────┤
│ 2 │ now            │ /home/caio/desktop/file  │
│ 1 │ now            │ /home/caio/desktop/file3 │
│ 0 │ now            │ /home/caio/desktop/file2 │
╰───┴────────────────┴──────────────────────────╯
Are you sure? [y/n]

What do you think? Do you think it makes sense adding this flag?
I could help with the development if needed.
Thanks.

I think we could add this flag. I don't know if we should add a confirmation prompt, as trash is a lot less destructive than trash empty, trash restore, or rm. Also, --verbose only implies more output, not a confirmation prompt.

I agree that just having more output seems better for this

Would like to see also work with the short -v arg.


fix: upgrade gradle → 8.1.1

Fixes build caching with the new Buildless plugin, due to elide-dev/buildless#13.

Cheers Sam


Extra EU Generated from Fission Reactor

Copied from: https://github.com/NillerMedDild/Enigmatica2ExpertSkyblock/issues/216
Version 2.12e
Issue Description
A reactor with multiple Fission Reactor Ports outputting EU will not divide the power properly.
In my case, I have a reactor generating 10,080 RF/t, which normally would output 630 EU/t as it divides by 16. If I only use one port, it correctly outputs 630 EU/t at voltage 4. If I use 4 ports, it outputs 512 EU/t @ voltage 3 from each, giving me a total of 2,048 EU/t as measured by an EU reader.
If I have 5 ports, each would output 128 EU/t @ voltage 2. I believe this is because the original 630 is divided by 5, giving 126 which fits under 128. With 4 ports it's ~157 so it rounds to the next tier at 512.
https://imgur.com/a/Qg37ePK

Ah, found the problem - fixed for the next build!


Remove FIXED-QTEXTEDIT

Backport change https://github.com/qt/qtbase/commit/88a8deea86fe6 and the original QTextEdit is fixed - we no longer need to work around it with FIXED-QTEXTEDIT.
Supersedes #9

https://github.com/Shinmera/qt4/commit/cb7ee2421968ded2f3f5ef00e90fe0c854f97613

Will close the issue when new qt4 binaries are up at qtlibs are updated.


[Feature][Kernel] Support bitsandbytes quantization and QLoRA

QLoRA (https://arxiv.org/abs/2305.14314) cuts memory consumption in LLM weight loading without degrading performance. The weights of the basic model , which are quantized into 4 bit using bitsandbytes quantization,  pair with a low-rank but higher-precision Low-Rank weight matrix to generate output.
This MR is the first step in supporting QLoRA in vLLM. With the PR,  the Qlora author's open model on hugging face, such as, is supported:

https://huggingface.co/timdettmers/qlora-flan-7b (Its corresponding large model is "huggyllama/llama-7b")

User can run with or without a QLoRA adapter.
So far, only llama as a basic model is supported. More to come in the future. As explained below, special consideration is made for extensibility to future changes and other models.
Also, no TP or PP with QLoRA is supported. It will be considered as the immediate next effort.
Explanation on Changes
Modified files mainly include

Modify vllm/config.py, vllm/engine/arg_utils.py: Add new CLI parameters for QLoRA/bitsandbytes. The new parameter is:

qlora_adapter_name_or_path : the path to the adpater repo. Could be empty.

Modify vllm/model_loader/loader.py: Define a new loader class, which will quantize the weight using bitsandbytes during loading
Modify vllm/model_executor/layers/linear.py: Add the logic of concatenate tensor in bitsandbytes in the weight_loader () function of QKVParallelLinear class and MergedColumnParallelLinear class.

The newly added files are:

VLLM/model_executor/layers/quantization/bitsandbytes.py: Here, similar to other quantization methods, we define two classes, class BitsAndBytesConfig (QuantizationConfig) and class BitsAndBytesLinearMethod (LinearMethodBase).
Examples/qlora_inference.py: Demonstration of the use of bitsandbytes, both with and without an adapter.

ping @Yard1

This completely bypasses the existing LoRA logic and implements its own. I don't think this is a good design and it clashes with already existing code. We should instead modify the LoRA support already present in vLLM to support QLoRA - it should also allow us to reuse a lot of existing code.

Thanks for your reply. You are not the first one who popped this concern. Actually, I asked myself the same question. :-)
I considered about re-use of LoRA at the first place. I have to start a new set of code because:

the existing LoRA in vLLM is implementing punica (https://github.com/punica-ai/punica), a multi-tenant scenario of LoRA. A lot of effort have made on the LoRA manager, which manages the cases where different sets of fine-tune weights using the same basic models.

But QLoRA, though carring a very similar name, work for a totally different scenario, thus unable to re-use the existing code of LoRA in vLLM.

punica is based on cuda code of BGMV, and BGMV does not support any quantization. But in QLORA, quantization of basic model is the keypoint in saving memory. This is another reason I had to deviate away from reusing LoRA.

On the other hand, QLoRA use a different set of cuda code. The author of QLORA provides the Cuda implementation of QLORA implemention and packed in the python package of bitsandbytes, which is used in the QLORA implementation of huggingface transformers package.  So I moved away from re-using the LoRA code.

How about I add some comments somewhere to clarify your concern?

Is it possible for the adapter to be loaded and unloaded at will?

Is it theoretically possible for the QLoRA adapter to be loaded and unloaded at will?

I am not sure what you mean by "at will". Do you mean load/unload during runtime?
In this implementation, user can load an adpater by specfiying "qlora_adapter_name_or_path" in parameter when starting the inference. User can also run without an adapter by leaving the above parameter empty.
However, the user cannot switch the adapter during the runtime. Switching adapter is not a scenario supported in the QLoRA design.
The main goal of QLoRA is to use to LoRA weights to compensate the loss caused by the 4-bit quantization in the basic model. So it is a quantization technique. Switching LoRA to support different fine-tune scenarios, as in punica, is not in its design goals.

Ok, that's what I wanted to confirm. Thanks for clearing it up. In that case:

for consistency, I would suggest ditching the qlora_supported decorator and just specify the class attribute directly on the class
we should avoid the if model_config.quantization == "qlora": pattern in linear layer and weight loading code - instead we should use abstractions (and add them if they are missing). For example, we should add a QLoRAModelLoader which can subclass/compose DefaultModelLoader. Same for linear layer - we should avoid adding special cases to generic implementations (I understand this pattern is not always followed in the codebase, but we should hold new code to higher standard - happy to discuss what sort of API we need to add to get rid of the Special case for Quantized Weights. in linear layer implementation)

Ok, that's what I wanted to confirm. Thanks for clearing it up. In that case:

for consistency, I would suggest ditching the qlora_supported decorator and just specify the class attribute directly on the class
we should avoid the if model_config.quantization == "qlora": pattern in linear layer and weight loading code - instead we should use abstractions (and add them if they are missing). For example, we should add a QLoRAModelLoader which can subclass/compose DefaultModelLoader. Same for linear layer - we should avoid adding special cases to generic implementations (I understand this pattern is not always followed in the codebase, but we should hold new code to higher standard - happy to discuss what sort of API we need to add to get rid of the Special case for Quantized Weights. in linear layer implementation)

Thanks for the suggestion. I will make the changes as suggested.
Cheers!

Thank you for your excellent work. Here are some personal opinions:

vLLM has supported quantized models with LoRA, refer to quant model+lora. These can be generalized as QLoRA (e.g., GPTQ+LoRA), and all of them support switching adapters.
For the original QLoRA (https://arxiv.org/abs/2305.14314), I think we should add a new quantization method named bitsandbytes (e.g., BAB+LoRA), refer to https://github.com/vllm-project/vllm/issues/4033, and then we can reuse the current LoRA logic.
Regardless of LoRA or QLoRA, Punica can support these

If I am wrong, please correct me directly, Thanks again.
Cheers!

Thank you for your excellent work. Here are some personal opinions:

vLLM has supported quantized models with LoRA, refer to quant model+lora. These can be generalized as QLoRA (e.g., GPTQ+LoRA), and all of them support switching adapters.
For the original QLoRA (https://arxiv.org/abs/2305.14314), I think we should add a new quantization method named bitsandbytes (e.g., BAB+LoRA), refer to [Feature]: bitsandbytes support #4033, and then we can reuse the current LoRA logic.
Regardless of LoRA or QLoRA, Punica can support these

If I am wrong, please correct me directly, Thanks again.
Cheers!

I re-read the LoRA code carefully and saw that quantization is supported in LoRA now, which change was checked in 4/27.
I will re-think my design again based on this change, as well as Yard1's suggestions.
Thanks & Happy Coding!

@Yard1 @jeejeelee
I just updated the MR of QLoRA/BitsAndBytes with the changes suggested. Could you please take another look?
Thanks for the great advice from you. Learned a lot and improved a lot. :-)
BTW, I hit a lot of yapf errors in CI/CD. I found the the yapf errors are not from me. Should I just ignore it?

@chenqianfzh  We cannot igore format error, you can run bash format.sh to check for format errors

We should also add a test for this - it's ok if it's just an end to end one (load a small model from huggingface hub and see if it works and gives good outputs)

@mgoin @Yard1 @jeejeelee
Thanks for the feedback. Working on the changes now.

We should also add a test for this - it's ok if it's just an end to end one (load a small model from huggingface hub and see if it works and gives good outputs)

the newly added file examples/qlora_inference.py is created for this purpose. In this file, both the case that bitsandbytes quantization with/withou LoRA adpaters are tested.
Here are the ouput I got in my local test ( of the four, the last is without a LORA adapter , the other three are with adpaters:
--------------------------------------------------------------------------
Prompt: The capital of France is
Output:  Paris.
--------------------------------------------------------------------------
Prompt: The capital of USA is
Output:  Washington DC.

--------------------------------------------------------------------------
Prompt: My name is
Output:  Kyle and I am a 20 year old college student. I am a huge fan of the outdoors and love to hike, camp, and fish. I am a very active person and love to stay busy. I am a very outgoing person and love to meet new people. I am a very easy going person and love to have fun. I am a very hard worker and love to work. I am a very trustworthy person and love to help people. I am a very caring person and love to help people. I am a very respectful person and love to respect others. I am a

@chenqianfzh  Can we add more quantization type examples in qlora_example.py, such as GPT+LoRA, so that users can refer to this script to learn how to utilize LoRA on quantized model, thanks

@jeejeelee @Yard1 @mgoin
I have updated the PR, addressing and resolving all the comments. Additionally, I have added the necessary unit tests. Please review it again.
However, I was unable to "add more quantization type examples in qlora_example.py" at this time. Currently, Llama is the only model supported in this MR. Expanding support to more models is my next task. As suggested by @jeejeelee, GPT will likely be the next model to support, given the availability of several GPT-based Qlora models, such as https://huggingface.co/vineetsharma/qlora-gpt-neox-20b-english_quotes/
It's important to note that adding support for GPT may require additional effort because VLLM does not currently support LoRA in GPT-Neox. Therefore, I believe it would be more appropriate to address this in a separate PR.
Thank you again for all the great suggestions.

@jeejeelee @Yard1 @mgoin
I have updated the PR, addressing and resolving all the comments. Additionally, I have added the necessary unit tests. Could u please review it again?
However, I was unable to "add more quantization type examples in qlora_example.py" at this time. Currently, Llama is the only model supported in this MR. Expanding support to more models is my next task. As suggested by @jeejeelee, GPT will likely be the next model to support, given the availability of several GPT-based Qlora models, such as https://huggingface.co/vineetsharma/qlora-gpt-neox-20b-english_quotes/
It's important to note that adding support for GPT may require additional effort because VLLM does not currently support LoRA in GPT-Neox. Therefore, I believe it would be more appropriate to address this in a separate PR.
Thank you again for all the great suggestions.

My apologies, there was an issue with my spelling. What I actually meant to say was GPTQ+LORA. I'm very sorry.

@jeejeelee @Yard1 @mgoin
I have updated the PR, addressing and resolving all the comments. Additionally, I have added the necessary unit tests. Could u please review it again?
However, I was unable to "add more quantization type examples in qlora_example.py" at this time. Currently, Llama is the only model supported in this MR. Expanding support to more models is my next task. As suggested by @jeejeelee, GPT will likely be the next model to support, given the availability of several GPT-based Qlora models, such as https://huggingface.co/vineetsharma/qlora-gpt-neox-20b-english_quotes/
It's important to note that adding support for GPT may require additional effort because VLLM does not currently support LoRA in GPT-Neox. Therefore, I believe it would be more appropriate to address this in a separate PR.
Thank you again for all the great suggestions.

My apologies, there was an issue with my spelling. What I actually meant to say was GPTQ+LORA. I'm very sorry.

@jeejeelee I see. Yeah, I can do that.
I see you are the one who made LoRA support quant methods. Could you let me know your suggestions on what models to show the usage of GPTQ+LORA?

@jeejeelee @Yard1 @mgoin
I have updated the PR, addressing and resolving all the comments. Additionally, I have added the necessary unit tests. Could u please review it again?
However, I was unable to "add more quantization type examples in qlora_example.py" at this time. Currently, Llama is the only model supported in this MR. Expanding support to more models is my next task. As suggested by @jeejeelee, GPT will likely be the next model to support, given the availability of several GPT-based Qlora models, such as https://huggingface.co/vineetsharma/qlora-gpt-neox-20b-english_quotes/
It's important to note that adding support for GPT may require additional effort because VLLM does not currently support LoRA in GPT-Neox. Therefore, I believe it would be more appropriate to address this in a separate PR.
Thank you again for all the great suggestions.

My apologies, there was an issue with my spelling. What I actually meant to say was GPTQ+LORA. I'm very sorry.

@jeejeelee I see. Yeah, I can do that.
I see you are the one who made LoRA support quant methods. Could you let me know your suggestions on what models to show the usage of GPTQ+LORA?

Thanks ,you can refer to test_quant_model.py

Thanks! In the future, please avoid force pushing as it makes reviews harder.

Thanks! In the future, please avoid force pushing as it makes reviews harder.

I will try to. However, as the main branch is moving really fast, I need to rebase from time to time and I have to force push after rebase.
Do you mean that I should keep the changes based on comments as a separate commit?

@jeejeelee @Yard1
The PR was updated per your comments. Thanks for reviewing it. Could you take another look?
There are some CI failures, but it looks like someone is fixing it.
I tried to merge instead of rebase. However, I see an extra merge commit in my private branch. Any idea what has gone wrong?
Thanks.

@chenqianfzh the merge commit is expected, that's just how git works

@chenqianfzh the merge commit is expected, that's just how git works

I did something wrong in squashing commits before merging, so the commits are mixed today. Sorry to make your review more difficult. :-(

Thanks, left two last nits! We can merge after those are resolved.

I've updated the code based on your feedback and have omitted one comment, for which I've provided an explanation. Could you please take a look?
thanks.

@Yard1 I kept trying the CI tests in the past two days. But hit all kinds of weird errors, like the latest failure is due to a container missing in AMD tests.
I did not find a way to restart the specific tests. Could you let me know what to do? Thanks.

It's OK, we'll just have a maintainer force merge it

@mgoin Thanks for reviewing the PR!
I updated the code per your comments. Could u have another check?

Hey,
Thanks for the feature.
why do you make sure 'lm_head' is not quantized in your tests while peft accepts 'lm_head' among the target_modules? I was trying to run inference for a model fine-tuned with qlora and I get the following error:
File "/opt/conda/envs/llm/lib/python3.9/site-packages/vllm/model_executor/models/llama.py", line 436, in load_weights
    param = params_dict[name]
KeyError: 'lm_head.qweight'

Hey @sajadn, it may be related to the precedent of GPTQ not having quantized lm_head. See this PR for possibly more context https://github.com/vllm-project/vllm/pull/4442 cc @robertgshaw2-neuralmagic

hi https://github.com/vllm-project/vllm/pull/4776 @chenqianfzh  it seems the bitsandbytes test is not working with LLama 3 , can you retest

Hello, I am appreciated for your excellent work. However, I have noticed about that "Also, no TP or PP with QLoRA is supported. It will be considered as the immediate next effort.". So, May I ask when this job is expected to be supported in the future？

QLoRA (https://arxiv.org/abs/2305.14314) cuts memory consumption in LLM weight loading without degrading performance. The weights of the basic model , which are quantized into 4 bit using bitsandbytes quantization, pair with a low-rank but higher-precision Low-Rank weight matrix to generate output.
This MR is the first step in supporting QLoRA in vLLM. With the PR, the Qlora author's open model on hugging face, such as, is supported:

https://huggingface.co/timdettmers/qlora-flan-7b (Its corresponding large model is "huggyllama/llama-7b")

User can run with or without a QLoRA adapter.
So far, only llama as a basic model is supported. More to come in the future. As explained below, special consideration is made for extensibility to future changes and other models. Also, no TP or PP with QLoRA is supported. It will be considered as the immediate next effort.
Explanation on Changes
Modified files mainly include

Modify vllm/config.py, vllm/engine/arg_utils.py: Add new CLI parameters for QLoRA/bitsandbytes. The new parameter is:

qlora_adapter_name_or_path : the path to the adpater repo. Could be empty.

Modify vllm/model_loader/loader.py: Define a new loader class, which will quantize the weight using bitsandbytes during loading

Modify vllm/model_executor/layers/linear.py: Add the logic of concatenate tensor in bitsandbytes in the weight_loader () function of QKVParallelLinear class and MergedColumnParallelLinear class.

The newly added files are:

VLLM/model_executor/layers/quantization/bitsandbytes.py: Here, similar to other quantization methods, we define two classes, class BitsAndBytesConfig (QuantizationConfig) and class BitsAndBytesLinearMethod (LinearMethodBase).
Examples/qlora_inference.py: Demonstration of the use of bitsandbytes, both with and without an adapter.

Hello, I am appreciated for your excellent work. However, I have noticed about that "Also, no TP or PP with QLoRA is supported. It will be considered as the immediate next effort.". So, May I ask when this job is expected to be supported in the future？

QLoRA (https://arxiv.org/abs/2305.14314) cuts memory consumption in LLM weight loading without degrading performance. The weights of the basic model , which are quantized into 4 bit using bitsandbytes quantization, pair with a low-rank but higher-precision Low-Rank weight matrix to generate output.
This MR is the first step in supporting QLoRA in vLLM. With the PR, the Qlora author's open model on hugging face, such as, is supported:

https://huggingface.co/timdettmers/qlora-flan-7b (Its corresponding large model is "huggyllama/llama-7b")

User can run with or without a QLoRA adapter.
So far, only llama as a basic model is supported. More to come in the future. As explained below, special consideration is made for extensibility to future changes and other models. Also, no TP or PP with QLoRA is supported. It will be considered as the immediate next effort.
Explanation on Changes
Modified files mainly include

Modify vllm/config.py, vllm/engine/arg_utils.py: Add new CLI parameters for QLoRA/bitsandbytes. The new parameter is:

qlora_adapter_name_or_path : the path to the adpater repo. Could be empty.

Modify vllm/model_loader/loader.py: Define a new loader class, which will quantize the weight using bitsandbytes during loading

Modify vllm/model_executor/layers/linear.py: Add the logic of concatenate tensor in bitsandbytes in the weight_loader () function of QKVParallelLinear class and MergedColumnParallelLinear class.

The newly added files are:

VLLM/model_executor/layers/quantization/bitsandbytes.py: Here, similar to other quantization methods, we define two classes, class BitsAndBytesConfig (QuantizationConfig) and class BitsAndBytesLinearMethod (LinearMethodBase).
Examples/qlora_inference.py: Demonstration of the use of bitsandbytes, both with and without an adapter.

@chenqianfzh

Hello, I am appreciated for your excellent work. However, I have noticed about that "Also, no TP or PP with QLoRA is supported. It will be considered as the immediate next effort.". So, May I ask when this job is expected to be supported in the future？

Actually, TP on bnb has partially done in https://github.com/vllm-project/vllm/pull/5813. Yet the community decided to provide support to FP4 and 8bit first. I will rebase the work PR 5813 after the PR https://github.com/vllm-project/vllm/pull/7445 is merged.
Hopefully it will be quick. :-)
And, thanks for your checking. I hope I can share my update with you soon.

Hello, I am appreciated for your excellent work. However, I have noticed about that "Also, no TP or PP with QLoRA is supported. It will be considered as the immediate next effort.". So, May I ask when this job is expected to be supported in the future？

Actually, TP on bnb has partially done in #5813. Yet the community decided to provide support to FP4 and 8bit first. I will rebase the work PR 5813 after the PR #7445 is merged.
Hopefully it will be quick. :-)
And, thanks for your checking. I hope I can share my update with you soon.

Thank you for your reply. Looking forward to your future work!


API routes not getting registered.

I have just updated API. It is currently at version 0.8-dev.
But some how the routes are not getting registered now. They were working fine before the update.
If I run php artisan api:routes  I get all the registered API endpoints. But if I tried to hit the APIs it does not recognize the routes. Also the output of  php artisan routes does not have the API endpoints I have created.
for Reference I have created the Endpoints as follows:
Route::api(['version' => 'v1', 'domain' => Config::get('app.api-domain'), 'namespace' => 'API'], function()
{
   Route::get('products/{ids}', function($ids)
    {
        return Products::with('image', 'prices.currency', 'attributeVals.attribute')->whereIn('id', $ids)->get();
    })->where('ids', '[\d,]+');
    .
    .
    .
    .
}

If they're showing up in php artisan api:routes then they're being registered... They won't show up in the regular routes command as they're not registered alongside Laravel routes.
Were you running 0.8.2 previously or an earlier version?

Yes I'm facing this issue with version 0.8.2. The update message was as follows:
- Removing dingo/api (dev-master 97fcff5)
- Installing dingo/api (dev-master fea28bf)

If I rollback the update it works fine.
I went on to investigate the issue further.  I have API endpoints at domains  api.xyz.com and xyz.com both in same project. The endpoints on xyz.com works fine but does not work on api.xyz.com. I get an error as follows:
Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException

Same error for me. I made a fresh install with Laravel 4 but doesn't work api routes.

@alwaysanirudh, are you using the same version but different domains?

Yes @jasonlewis. The version of API is the same on both the domains. Is that an issue? I think same version and two different domains should work and it did work for me. Its just the update that has an issue.

Hm, I'll have a look at previous versions. I know I have made several changes to the way routes are registered. But at the moment I can say that this is the culprit.

Can you try updating to the latest dev-master now, or 0.8.*@dev? I've been doing some testing and it seems to be working now.

The latest dev-master is working as expected but 0.8.*@dev still has the bug.


New Relic

Figure out how to run New Relic inside a fully dockerized environment (maybe run the NR Agent only once and let the php new relic modules talk to that agent?)

this has been implemented!


⚠ Bofrost.fr has degraded performance

In 67183fb, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 802 ms

Resolved: Bofrost.fr performance has improved in eab5697 after 9 minutes.


Prevent Editing of Canonical Items

A lot of functionality relies on the there being canonical items in the system so we should prevent users from editing or deleting them.
We need to:

[ ] Remove the editing or deleting of items that are canonical items from the item index page.
[ ] Prevent the updating/edit of items that are canonical items if the user is clever enough to figure out the various routes.
[ ] Prevent the deleting of items that are canonical items if the user can figure out the route.

I'm happy to check this out.

Hey @colto it's yours! If you have questions jump into our slack and ask them in the #diaper channel! We even have a couple stakeholders in the channel from diaper banks using the system in there if you need specifics.

Regular users cannot CRUD CanonicalItems -- that feature has been siloed to the admin namespace and only the read-only routes are exposed to regular users.
They should be able to edit their own Items however -- that was one of the key reasons for doing the CanonicalItem/Item differentiation in the first place. (see #497 description -- I elaborate on that).
The changes they make to their own Items do not affect other organizations anymore, and the CanonicalItem basis will ensure a common language between the apps. If a diaperbank does not have (or ever plan to have) certain Items, they should be allowed to delete those items from their Inventory, and the Partner app should have a way of querying what the diaper bank has (requiring that all the items always be present implies that a diaperbank should be expected to carry all of those items)


Convenient way to access the current color cycle

With the new themeing functionalities we can now set our own default color cycle for plotting. That is very nice and important for using Makie for an entire paper's plots.
A functionality of PyPlot.jl that I find very convenient, is that they allow accessing the colors of the set up color cycle via giving as color the values "C0", "C1", .... Can we have something analogous in Makie.jl? I am aware of course I could have a global variable like COLORS and index that one, e.g. COLORS[1].... But this script is a bit less transferable to a co-worker. With the "C0" stuff they could run my plotting scripts without necessarily having to go through my themeing process.
Or is this simply too low priority, because truth be told the COLORS[1] route isn't that bad.

Would this be related?
https://github.com/JuliaPlots/Makie.jl/issues/1178
I mean, as soon as you create a custom order via "C0", you stop cycling, so I guess the above issue could give you what you want?

I think the way to go would be something like color = Cycled(1) and then the part that connects attributes to cyclers would look up the correct value in the cycle

Just FYI in Plots you can just pass an Integer (color = 2) and then dispatch does the rest. Not sure I like it, but there it is.

Seems like Cycled(1) is the way to go, although via multiple dispatch I don't see why just 1 could be used like in Plots. I would vote against strings like "C1" anyways, only in python you should have 1000 if states at the start of a function, not in Julia ;)

I have implemented the Cycled way here https://github.com/JuliaPlots/Makie.jl/pull/1248
Here's a docs preview section:
http://makie.juliaplots.org/previews/PR1248/documentation/theming/#manual_specification_of_a_cycled_attribute

I don't see why just 1 couldn't be used like in Plots

Because this needs to work for any attribute, and we don't know if Ints are used for other purposes, which would then conflict. I have ideas for enabling categorical colormap lookup with Ints for example, which is different from cycling.

Sure, anyways I think Cycled is great and intuitive, no reason to be ultra greedy! #1248 should close this issue


fix: replace queryStringParameters undefined by empty object

@LouisPinsard: Discussed with @Sc0ra about it pull request this implementation seems easier.

What do you think @fargito  ?
We didn't yet tested deeply the implementation proposal.
Would be happy to implement if needed !

@allcontributors please add @bchangal for code


docs: fix 2 small typos

made 2 small corrections.

Thank you @randomnoise ! Does the PR have to be labelled "hacktoberfest"?

I wasn't expecting hacktoberfest label for this PR but much appreciated 😄


Used 'for' twice in the same sentence.

Removed Second "for" from the sentence.
Summarize the change in the pull request title
Describe your change, specifically why you think it's needed.
Fixes #Issue_Number (if necessary)

@JordanTheITGuy : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Yeah, I'm good with this one too. Thanks @JordanTheITGuy!
#sign-off


Armor is calculated wrongly

The armor values in the preview are calculated wrongly, see

Vampire Shield Bearer

CR 12

XP 19,200

Human Vampire ranger 11 (Pathfinder RPG Bestiary 270)

NE Medium undead (augmented humanoid, human)

Init +7; Senses darkvision 60 ft.; Perception +31

DEFENSE

AC 33, touch 14, flat-footed 29 (+4 armor, +3 Dex, +1 dodge, +8 natural, +7 shield)

hp 131 (11d10+66); fast healing 5

Fort +13, Ref +14, Will +12

Defensive Abilities channel resistance +4, evasion; DR 10/magic and silver; Immune undead traits; Resist cold 10, electricity 10

Weaknesses vampire weaknesses

OFFENSE

Spd 40 ft.

Melee +3 heavy shield bash +21/+16/+11 (1d6+10), +2 slam +15 (1d4+5 plus energy drain) or +2 slam +20 (1d4+12 plus energy drain)

Ranged mwk throwing axe +15 (1d6+7)

Space 5 ft.; Reach 5 ft.

Special Attacks blood drain, children of the night, combat style (weapon and shield APG), create spawn, dominate (DC 19), energy drain (2 levels, DC 19), favored enemies (animals +4, good outsiders +2, humans +4), quarry

Ranger Spells Prepared (CL 8th; concentration +13)
3rd— greater magic fang, instant enemy
2nd—aspect of the bear , owl's wisdom
1st—alarm, longstrider, resist energy

TACTICS

Before Combat The vampires cast aspect of the bear, owl's wisdom, greater magic fang, and longstrider on themselves.

During Combat The vampires protect Lyanthari, using Spring Attack to lunge at the PCs and Shield Slam to push them away before retreating back to Lyanthari's side.

Morale The shield bearers protect their liege at all costs and consider death by her side an honor.

Base Statistics Without their spells, the vampires' base stats are AC 31, touch 14, flat-footed 27; Will +10; Speed 30 ft.; Melee +3 heavy shield bash +21/+16/+11 (1d6+10), slam +13 (1d4+3 plus energy drain) or slam +18 (1d4+10 plus energy drain); concentration +11; Wis 16; CMB +18; Skills Perception +29, Sense Motive +13, Survival +17.

STATISTICS

Str 24, Dex 16, Con -, Int 10, Wis 20, Cha 18

Base Atk +11; CMB +20; CMD 32

Feats Alertness, Blind-Fight, Combat Reflexes, Dodge, Endurance, Greater Shield Focus, Improved Initiative, Improved Shield Bash, Iron Will, Lightning Reflexes, Missile Shield , Mobility, Shield Focus, Shield Master, Shield Slam, Spring Attack, Toughness

Skills Bluff +12, Climb +11, Intimidate +18, Knowledge (dungeoneering) +14, Knowledge (geography, nature) +7, Perception +31, Sense Motive +15, Spellcraft +14, Stealth +23, Survival +19; Racial Modifiers +8 Bluff, +8 Perception, +8 Sense Motive, +8 Stealth

Languages Common

SQ change shape (dire bat or wolf, beast shape II), favored terrains (plains +2, underground +4), gaseous form, hunter's bond (companions), shadowless, spider climb, swift tracker, track +5, wild empathy +15, woodland stride

Gear mwk chain shirt, +3 heavy steel shield with shield spikes

Fixed in 4.0.3


Refactor ExtendedPersonCard

Remove 1x1 GridPane
Change Outermost HBox to VBox
Remove Extra HBox
Remove id Label

Coverage remained the same at 92.77% when pulling b79f60a9e9f15dedaae2112ca13124323e56f3be on lincredibleJC:feature/Ui_Change into a6b4f07e78bf5099c22a8ea4ec20ce36998cf7e6 on CS2103AUG2017-T16-B2:master.

Coverage remained the same at 92.77% when pulling b79f60a9e9f15dedaae2112ca13124323e56f3be on lincredibleJC:feature/Ui_Change into a6b4f07e78bf5099c22a8ea4ec20ce36998cf7e6 on CS2103AUG2017-T16-B2:master.

This PR is closed as the refactor has been duplicated in #98 .


"add_metadata_alert" feature to populate alerts with "description", "…

Could be of interest to have these metadata in alerts especially for Kibana visualization.

@Qmando: Are you interested in such a feature?


Initial v1.0.0 release candidate prep

Tweaking at some Gradle and version info. Help text too. And pre-alpha -> Alpha!
Making PR just for Jenkins test and doc, merging shortly then doing a bunch of module version tweaks on top.

Refer to this link for build results (access rights to CI server needed):
http://jenkins.terasology.org/job/TerasologyPRs/377/
Hooray Jenkins reported success with all tests good!


update contributor list

This PR adds Nick Colaianne to the contributors list.

@ncolaianne I'm going to merge your PR because I need to practice how to resolve merge conflicts.


Chore: high level improvements of README + docs

Why does this PR exist?
No related issue. Please see the Usability section for upcoming improvements in DX.
What does this pull request do?

Improves wording
Formatting fixes
Command snippets updates

Testing this change
Preview updated .md files ✨

Go to the Files changed tab ⬆
Click on the kebab menu on the top right hand side (... )
Select View file to preview 👀

FYI: It's OK that Test coverage fails, we need to look into that one to solve it (will add to DX epic)

FYI: It's OK that Test coverage fails, we need to look into that one to solve it (will add to DX epic)

Good to know! 🙃


Upgrade to GWT 2.8.1

Upgrading because Elemental2 requires GWT 2.8.1. @porcelli could you please take a look?

@dgutierr Do you have any issues with this upgrade? Are you able to merge this?


.NET Framework version plugin support could be highlighted

Having raised support ticket<PHONE_NUMBER>001744 with the Power Platform team, I understand there's a known limitation of Solution Checker in that it can't support/analyse plugins written against .NET Framework versions earlier than 4.6  Whilst it would be nice to have that made visible when starting solution checker, maybe a note in the documentation about this would make it less likely to trip people up?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: b0b06e51-1090-87c7-33ff-a19b1c8a8ada
Version Independent ID: b4a96b9e-62d2-55bf-3585-435474696771
Content: Use solution checker to validate your apps in Power Apps - Power Apps
Content Source: powerapps-docs/maker/data-platform/use-powerapps-checker.md
Service: powerapps
Sub-service: dataverse-maker
GitHub Login: @Mattp123
Microsoft Alias: matp

@rrhkpmg - “Thanks for your feedback. We are closing this issue because we are either unable to find relevant information or reproduce this. If you're still experiencing the issue described here, reopen or create a new issue.


Challenges in Budget Allocation: Overall ROI Lower than Raw Data

We are a digital agency that tries to use Robyn to allocate a fixed budget among several channels to achieve a specific ROI. We know the original contribution of each channel in terms of cost and revenue, and we try to use models that yield a close ROI for each channel. Recently, we discovered that the intercept and some prophet variables could account for 50% of the total revenue(the model has a 85 R^2), leading to a significant decrease in all channel individually and overall ROI. Given these findings, we are questioning whether Robyn is the best method for budget allocation in my case. If it is, how can we attribute the intercept contribution to individual channels? I would appreciate hearing your thoughts.

Hi, without questioning your believe of "We know the original contribution of each channel" (and you should always, esp when the knowledge is coming from attributional system), I recommend you to update to the latest github version of Robyn, where we have a stricter constraint for prophet variables. Moreover, if you strongly believe that your "prior knowledge" about channel effect is the ground truth, then you could also use the calibration feature to guide Robyn to the desired direction.
The allocator is a separate piece and it does provide the target_efficiency scenario if you have a target ROAS. But you need to pick a model first.


Reduce codesize for door locks a bit more.

There is no need for SupportsAliroProvisioning checks in Aliro command handlers. If we got into that code, that means that we recognized the command ID on the relevant endpoint's Door Lock cluster, and if we passed cert that means that we had the right feature map bit set too.

Fast tracking test

My mistake, I thought this was in the example app, this should not have been fast tracked.

Tagging @andy31415 Who reviewed the prior part of this yesterday.


Enhance nightly builds infrastructure

Add protoc packages to nightlies.
Put python packages in different directories to be able to fetch easily via pip.
Generate HTML indicies for subdirectories for ease of access and discovery of tools like pip.
Put file sizes in XML manifest files along with their SHA256 hashes. (Should add signatures soon).

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 1,976,225      Total (=)      1,976,225

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
10,770,421      Total (<)     10,770,427

 No significant differences in binary sizes

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 1,976,225      Total (=)      1,976,225

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
10,770,420      Total (<)     10,770,425

 No significant differences in binary sizes

[microbenchmarks] No significant performance differences

[microbenchmarks] No significant performance differences


Fix negative interval prettyprint

Which issue does this PR close?

Related to https://github.com/apache/arrow-datafusion/issues/4220
Rationale for this change

Current issue where nanoseconds/milliseconds part can print the minus sign if negative, which can double up with the seconds, not to mention is incorrectly placed (after the decimal). This fixes it to only have a single sign before the seconds, if negative
What changes are included in this PR?

Are there any user-facing changes?

Why does this only handle negative seconds, as opposed to negative intervals in general?

For negative intervals in general, the current pretty print works, as will have the negative sign before each part. But special handling is needed for seconds/fractions of a second, as only need to have one sign for the both of them, unlike current behaviour which has a sign for the fractions of a second as well

Makes sense, thank you


Feature/daily radolan

made radolan daily instead of hourly;
changed timestamp columns to date for daily data;
had to implement/change stuff to make sure data is not dublicated;

@birdMarcus
At the moment, there is a CRON-job updating Radolan-data every hour.
Does that still makes sense?


Received non matching device type in extended status message 73, expected 74

Getting this message(in bold), not sure what that means?
2022/10/14 14:16:06 MQTT message; topic: 'xcomfort/39/set/switch', message: 'false'
2022/10/14 14:16:06 TX (seq 3, 1 parallel): [b1270a0030]
2022/10/14 14:16:06 STATUS: [c31c0430100000]
2022/10/14 14:16:07 RX: [c118733900ce9867004a04101a0000000a005a270fa50000000000491009]
2022/10/14 14:16:07 Device 6789326, type CSAU 01/01-16 sent extended status message: status OFF, temp 26C (battery N/A, signal good)
2022/10/14 14:16:07 RX: [c118733900ce9867004a04101a0000000a005a270fa50000000000481009]
2022/10/14 14:16:07 Device 6789326, type CSAU 01/01-16 sent extended status message: status OFF, temp 26C (battery N/A, signal good)
2022/10/14 14:16:07 RX: [c127733900ce986700491009]
2022/10/14 14:16:07 received non matching device type in extended status message 73, expected 74
2022/10/14 14:16:07 Message not handled [c127733900ce986700491009]

Strange. Can you upload the DPL?


Add Lanczos & Mitchell resize & rotate modes

I'm trying to achieve the best possible image quality when resizing or rotating images. For most photographic or textural image types, as well as some illustrations or line art, Lanczos (Lanczos3 approximation of Sinc) produces the best quality for scaling up or down, as well as rotation. Mitchell can produce excellent quality with better performance when scaling down, though not necessarily superior to Lanczos, it would still be nice to have this as an option when choosing trade-offs between image quality and performance.
I would like to see Lanczos (specifically Lanczos3) and Mitchell resize and rotate modes added to Jimp.
Existing resize modes of nearest neighbor, bilinear, bicubic, hermite, and bezier are all noticeably lower quality than Lanczos.

👍

+1

Maybe of some use...
https://github.com/rgba-image/lanczos

+1


[Hurtworld] savepath Not available

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

System.String[]

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

System.String[]

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

Invalid format, you must enter savepath

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 13:13 [Info] Loading Oxide Core v2.0.2086...

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 13:13 [Info] Loading extensions...

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 13:13 [Info] Loaded extension CSharp v1.0.2086 by Oxide Team

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 13:13 [Info] Loaded extension JavaScript v1.0.2086 by Oxide Team

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 13:13 [Info] Loaded extension Lua v1.0.2086 by Oxide Team

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 13:13 [Info] Loaded extension MySql v1.0.2086 by Oxide Team

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 13:13 [Info] Loaded extension Python v1.0.2086 by Oxide Team

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 13:13 [Info] Loaded extension SQLite v1.0.2086 by Oxide Team

Oxide doesn't control any of the game's start information, you may want to contact the game's authors.

I confirmed that it was a problem caused by MaxPlayers[patch]

I don't see how, that patch has been in same place for quite a long time. All it does is change the number 60 to 244.

I used Oxide Patcher canceled, savepath normal.

If you made a custom build, that is not supported. We cannot support what you may or may not have changed. In the official builds there are no issues with that patch or the save path.

I oxidemod.org download Oxide-Hurtworld.zip,savepath invalid.
I used Oxide Patcher test patch,Found MaxPlayers [patch] problem

I can't reproduce that, no other reports either. Make sure that you aren't using a custom build please.

my start cmd:Hurtworld.exe -batchmode -nographics -exec "host 12871;queryport 12881;servername test;maxplayers 10000;playerlootmode 0;savepath E:\server\hurtworld" -logfile "gamelog.txt"
Oxide-Hurtworld.zip
MD5: 84F245498D7BB1B2FF759D5AB9579FB5
SHA1: CF01841AE2BBD1CF76E2EC9B0E0518AD289A4E3F
CRC32: 8D9CCF04
Initialize engine version: 5.3.4f1 (fdbb5133b820)
Forcing GfxDevice: Null
NullGfxDevice:
    Version:  NULL 1.0 [1.0]
    Renderer: Null Device
    Vendor:   Unity Technologies
Begin MonoManager ReloadAssembly
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\UnityEngine.dll (this message is harmless)
Loading E:\server\hurtworld\Hurtworld_Data\Managed\UnityEngine.dll into Unity Child Domain
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\I18N.dll (this message is harmless)
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\Assembly-CSharp-firstpass.dll (this message is harmless)
Loading E:\server\hurtworld\Hurtworld_Data\Managed\Assembly-CSharp-firstpass.dll into Unity Child Domain
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\Assembly-CSharp.dll (this message is harmless)
Loading E:\server\hurtworld\Hurtworld_Data\Managed\Assembly-CSharp.dll into Unity Child Domain
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\Assembly-UnityScript.dll (this message is harmless)
Loading E:\server\hurtworld\Hurtworld_Data\Managed\Assembly-UnityScript.dll into Unity Child Domain
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\UnityEngine.UI.dll (this message is harmless)
Loading E:\server\hurtworld\Hurtworld_Data\Managed\UnityEngine.UI.dll into Unity Child Domain
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\UnityEngine.Networking.dll (this message is harmless)
Loading E:\server\hurtworld\Hurtworld_Data\Managed\UnityEngine.Networking.dll into Unity Child Domain
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\AmplifyMotion.dll (this message is harmless)
Loading E:\server\hurtworld\Hurtworld_Data\Managed\AmplifyMotion.dll into Unity Child Domain
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\Pathfinding.ClipperLib.dll (this message is harmless)
Loading E:\server\hurtworld\Hurtworld_Data\Managed\Pathfinding.ClipperLib.dll into Unity Child Domain
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\Pathfinding.Ionic.Zip.Reduced.dll (this message is harmless)
Loading E:\server\hurtworld\Hurtworld_Data\Managed\Pathfinding.Ionic.Zip.Reduced.dll into Unity Child Domain
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\Pathfinding.JsonFx.dll (this message is harmless)
Loading E:\server\hurtworld\Hurtworld_Data\Managed\Pathfinding.JsonFx.dll into Unity Child Domain
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\Pathfinding.Poly2Tri.dll (this message is harmless)
Loading E:\server\hurtworld\Hurtworld_Data\Managed\Pathfinding.Poly2Tri.dll into Unity Child Domain
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\NSpeex.dll (this message is harmless)
Loading E:\server\hurtworld\Hurtworld_Data\Managed\NSpeex.dll into Unity Child Domain
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\Rewired_Core.dll (this message is harmless)
Loading E:\server\hurtworld\Hurtworld_Data\Managed\Rewired_Core.dll into Unity Child Domain
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\uLink.dll (this message is harmless)
Loading E:\server\hurtworld\Hurtworld_Data\Managed\uLink.dll into Unity Child Domain
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\ArabicSupport.dll (this message is harmless)
Loading E:\server\hurtworld\Hurtworld_Data\Managed\ArabicSupport.dll into Unity Child Domain
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\EasyAntiCheat.Client.dll (this message is harmless)
Loading E:\server\hurtworld\Hurtworld_Data\Managed\EasyAntiCheat.Client.dll into Unity Child Domain
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\EasyAntiCheat.Server.dll (this message is harmless)
Loading E:\server\hurtworld\Hurtworld_Data\Managed\EasyAntiCheat.Server.dll into Unity Child Domain
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\UnityEngine.Cloud.Analytics.dll (this message is harmless)
Loading E:\server\hurtworld\Hurtworld_Data\Managed\UnityEngine.Cloud.Analytics.dll into Unity Child Domain
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\UnityEngine.Cloud.Analytics.Util.dll (this message is harmless)
Loading E:\server\hurtworld\Hurtworld_Data\Managed\UnityEngine.Cloud.Analytics.Util.dll into Unity Child Domain
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\I18N.dll (this message is harmless)
Loading E:\server\hurtworld\Hurtworld_Data\Managed\I18N.dll into Unity Child Domain
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\I18N.West.dll (this message is harmless)
Loading E:\server\hurtworld\Hurtworld_Data\Managed\I18N.West.dll into Unity Child Domain
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\UnityEngine.CrashLog.dll (this message is harmless)
Loading E:\server\hurtworld\Hurtworld_Data\Managed\UnityEngine.CrashLog.dll into Unity Child Domain
- Completed reload, in  0.073 seconds
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\System.Core.dll (this message is harmless)
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\System.dll (this message is harmless)
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\Boo.Lang.dll (this message is harmless)
WARNING: Shader Unsupported: 'Particles/Refraction' - All passes removed
WARNING: Shader Unsupported: 'Particles/Refraction' - Setting to default shader.
Shader 'Debug/Advanced': dependency 'BaseMapShader' shader 'Debug/Advanced' not found
The referenced script on this Behaviour (Game Object 'PlayerServerLoadTest') is missing!

(Filename:  Line: 1655)

UnloadTime: 1.569164 ms
Starting Game.

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 18:57 [Info] Loading extensions...

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 18:57 [Info] Loaded extension CSharp v1.0.2089 by Oxide Team

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 18:57 [Info] Loaded extension JavaScript v1.0.2089 by Oxide Team

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 18:57 [Info] Loaded extension Lua v1.0.2089 by Oxide Team

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 18:57 [Info] Loaded extension MySql v1.0.2089 by Oxide Team

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 18:57 [Info] Loaded extension Python v1.0.2089 by Oxide Team

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 18:57 [Info] Loaded extension SQLite v1.0.2089 by Oxide Team

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 18:57 [Info] Loaded extension Unity v1.0.2089 by Oxide Team

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 18:57 [Info] Loaded extension Hurtworld v1.0.2089 by Oxide Team

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 18:57 [Info] Using Covalence provider for game 'Hurtworld'

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 18:57 [Info] Loading plugins...

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 18:57 [Info] Loaded plugin Unity Core v1.0.0 by Oxide Team

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 18:57 [Info] Loaded plugin Hurtworld v1.0.0 by Oxide Team

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

Steam GameServer initialized

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

You can't have 10000 maxplayers, the highest is 244. The error is with your -savepath usage.

I modified to 244 still the same error

Because the error is from the maxplayers, I was just mentioning that you can't have 10000.
Try setting your path to a folder under your server's root, not a full path.

my test cmd :Hurtworld.exe -batchmode -nographics -exec "host 12871;queryport 12881;savepath E:\server" -logfile "gamelog.txt"
Still the same error.

Set it to a folder in your server's root, not a path.

I used Oxide Patcher unset MaxPlayers [patch] ,no problem
Platform assembly: E:\server\hurtworld\Hurtworld_Data\Managed\Mono.Data.Tds.dll (this message is harmless)
> host 12871

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

> queryport 12881

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

> savepath E:\server

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

Set savepath to E:\server

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 19:07 [Info] Loading Oxide Core v2.0.2089...

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 19:07 [Info] Loading extensions...

Okay, so the issue wasn't with the maxplayers patch, it was with another. I doubt many change the savepath, so it wasn't coming up. I have already fixed the patch that was causing it, I'll push out a fix for it shortly. Thanks for the report!


tech-conferences-operator to 0.0.11

Promote tech-conferences-operator to version 0.0.11

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Change the tab icon to the adesso tab icon

Didn't see @czarnecki already did a PR solving this issue


⚠ Bofrost.at has degraded performance

In 99aa6c5, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2380 ms

Resolved: Bofrost.at performance has improved in 4b3f4e2 after 6 minutes.


read aloud

Hey, really good work! I personally like this feature more than I thought it would 😅 need to polish it before release, though and also explore options to replace it with custom audio if available
Just dropping a few points here; you don't need to address these now they are just to keep track of it

Controls to pause, resume or stop running audio
Add commas or line breaks to parsed strings after headers so that there is a reasonable delay
Finalize button appearance (Maybe shift into floating controls - all audio)


bug: quick fix to support  a package installation

What type of PR is this?
/kind bug
What this PR does / why we need it:
bug: quick fix to support  a package installation
All VHD build and e2e test results https://msazure.visualstudio.com/CloudNativeCompute/_build/results?buildId=100889009&view=logs&j=892a689b-f65c-59ae-5d41-9383bbd73de1
Which issue(s) this PR fixes:

Fixes #
Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

Pull Request Test Coverage Report for Build<PHONE_NUMBER>1
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 71.045%

Totals

Change from base Build<PHONE_NUMBER>3:
0.0%

Covered Lines:
2569

Relevant Lines:
3616

💛  - Coveralls


add fix to run o1 models

Nice - thanks! Can you announce of Discord? I think Arul was waiting on this one.


Docs.MS Release Updates for azure-identity

Update docs metadata and targeting for release of azure-identity

Docs Build status updates of commit 376af86:
:clock10: Full build: the average full build time is 252 min(s) 10 sec(s), this is based on the last 872 build(s) for this repository.

Docs Build status updates of commit 376af86:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-services/identity-readme-pre.md
:warning:Warning
View (azure-java-stable) View (azure-java-preview) View (azure-java-legacy)
Details

docs-ref-services/ai-metricsadvisor-readme-pre.md
:warning:Warning
View (azure-java-stable) View (azure-java-preview) View (azure-java-legacy)
Details

docs-ref-services/messaging-eventhubs-readme.md
:warning:Warning
View (azure-java-stable) View (azure-java-preview) View (azure-java-legacy)
Details

package.json
:white_check_mark:Succeeded

docs-ref-services/identity-readme-pre.md

Line 298: [Warning-InvalidBookmark] Invalid link: 'chaining credentials'. The file docs-ref-services/identity-readme-pre.md doesn't contain a bookmark named 'chaining-credentials'.
Line 298: [Warning-InvalidBookmark] Invalid link: 'chaining credentials'. The file docs-ref-services/identity-readme-pre.md doesn't contain a bookmark named 'chaining-credentials'.
Line 298: [Warning-InvalidBookmark] Invalid link: 'chaining credentials'. The file docs-ref-services/identity-readme-pre.md doesn't contain a bookmark named 'chaining-credentials'.

docs-ref-services/ai-metricsadvisor-readme-pre.md

Line 347: [Warning-hard-coded-locale] Link 'https://docs.microsoft.com/en-gb/azure/cognitive-services/metrics-advisor/glossary' contains locale code 'en-gb'. For localizability, remove 'en-gb' from links to most Microsoft sites.
Line 347: [Warning-hard-coded-locale] Link 'https://docs.microsoft.com/en-gb/azure/cognitive-services/metrics-advisor/glossary' contains locale code 'en-gb'. For localizability, remove 'en-gb' from links to most Microsoft sites.
Line 347: [Warning-hard-coded-locale] Link 'https://docs.microsoft.com/en-gb/azure/cognitive-services/metrics-advisor/glossary' contains locale code 'en-gb'. For localizability, remove 'en-gb' from links to most Microsoft sites.

docs-ref-services/messaging-eventhubs-readme.md

[Warning-DuplicateUids] Uid(azure.java.sdk.landingpage.services.eventhub.Client) has already been defined in legacy/docs-ref-autogen/overview/EventHubs/Client.yml.
Line 43: [Warning-InvalidBookmark] Invalid link: 'Including the package'. The file docs-ref-services/messaging-eventhubs-readme.md doesn't contain a bookmark named 'including-the-package'.
Line 43: [Warning-InvalidBookmark] Invalid link: 'Including the package'. The file docs-ref-services/messaging-eventhubs-readme.md doesn't contain a bookmark named 'including-the-package'.
Line 43: [Warning-InvalidBookmark] Invalid link: 'Including the package'. The file docs-ref-services/messaging-eventhubs-readme.md doesn't contain a bookmark named 'including-the-package'.
Line 56: [Warning-InvalidBookmark] Invalid link: 'Default SSL library'. The file docs-ref-services/messaging-eventhubs-readme.md doesn't contain a bookmark named 'default-ssl-library'.
Line 56: [Warning-InvalidBookmark] Invalid link: 'Default SSL library'. The file docs-ref-services/messaging-eventhubs-readme.md doesn't contain a bookmark named 'default-ssl-library'.
Line 56: [Warning-InvalidBookmark] Invalid link: 'Default SSL library'. The file docs-ref-services/messaging-eventhubs-readme.md doesn't contain a bookmark named 'default-ssl-library'.

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


SKBitmap.GetPixels method returns invalid pointer

I need access to the bytes of an SKBitmap.
The code below always returns width * height * 4 as the value of pixelsPtr:
using (SKBitmap bmp = new SKBitmap(width, height, SKColorType.Bgra8888, SKAlphaType.Premul))
{
    IntPtr pixelsPtr = IntPtr.Zero;
    bmp.LockPixels();
    bmp.GetPixels(out pixelsPtr);
    bmp.UnlockPixels();
}

@mihai-iancu That is correct, the out parameter is the length. The return value is the actual pointer to the image data.
The bitmap also has several other properties and methods that may be useful:

SKColor[] Pixels { get; set; }
byte[] Bytes { get; }
IntPtr GetPixels (out IntPtr)
SKColor GetPixel (int, int)

The GetPixels method and Bytes property return just the image data. In order to make use of the data for saving as image files, SKImage.FromBitmap and then SKImage.Encode needs to be used instead.


Remove multi-arch check in iOS builds

Description
As of https://github.com/flutter/engine/pull/10010, iOS builds targeting armv7 are built using a 64-bit version of gen_snapshot that can produce 32-bit arm code. So this multi-arch special case is no longer necessary (and actually breaks the build).
Related Issues
https://github.com/flutter/flutter/issues/22598
Tests
I built the flutter examples in this mode using Xcode 10 and verified that they work on an iPhone 4S.

This PR is showing spurious diffs, so switching to https://github.com/flutter/flutter/pull/37407


Fix credentials not passed or configured the CI workflow.

Replace the old setup-git-user step with gh-action-setup-git
Add a gh-action-setup-git step to every job doing a checkout
ci: Pass git credentials to the test-installation job
Improve spacing of the test-installation job
Add migration steps to the migration script
Apply the migration script to this repository
Remove the TODOs from the migration
Update release notes

Fixes #278.

FYI @cwasicki

Oh, damn, this doesn't work if credentials are not passed because COPY in the Dockerfile fails. For now I will just do another hack and just touch` the file, but this is really a temporary super hacky solution. The proper solution is to run the tests in a container instead of making the docker image build process the test, but that's much more work.

ping @Marenz


AZ CLI THROWING AN EXCEPTION WHILE TRYING TO ACCESS THE AKS

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az aks get-credentials Extension Name: aks-preview. Version: 0.4.35.
Errors:
'name'
Traceback (most recent call last):
python3.8/site-packages/knack/cli.py, ln 215, in invoke
    cmd_result = self.invocation.execute(args)
cli/core/commands/__init__.py, ln 654, in execute
    raise ex
cli/core/commands/__init__.py, ln 718, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
cli/core/commands/__init__.py, ln 711, in _run_job
    six.reraise(*sys.exc_info())
...
cliextensions/aks-preview/azext_aks_preview/custom.py, ln 2483, in merge_kubernetes_configurations
    _handle_merge(existing, addition, 'clusters', replace)
cliextensions/aks-preview/azext_aks_preview/custom.py, ln 2427, in _handle_merge
    if i['name'] == j['name']:
KeyError: 'name'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az aks get-credentials --resource-group {} --name {} --overwrite-existing

Expected Behavior
Environment Summary
macOS-10.14.6-x86_64-i386-64bit
Python 3.8.3
Installer: HOMEBREW

azure-cli 2.6.0

kubectl version
Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.2", GitCommit:"c97fe5036ef3df2967d086711e6c0c405941e14b", GitTreeState:"clean", BuildDate:"2019-10-15T23:41:55Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.3", GitCommit:"09c357ed5fb70a194790ad4ff9dc3b2cd6336445", GitTreeState:"clean", BuildDate:"2020-04-08T23:39:48Z", GoVersion:"go1.13.6", Compiler:"gc", Platform:"linux/amd64"}

Extensions:
dev-spaces 1.0.5
aks-preview 0.4.35
azure-devops 0.12.0

Additional Context

aks

Not sure i tried by reinstalling the python3, pip3 and then az cli still getting the issue with the az aks command.
Please do help us to resolve this as we are blocked to proceed with our automation further.
`az aks get-credentials --resource-group civ-authority-cloud-rg-v1 --name civ-cloud-nonprod-v1 --overwrite-existing
The behavior of this command has been altered by the following extension: aks-preview
The command failed with an unexpected error. Here is the traceback:
'name'
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/knack/cli.py", line 215, in invoke
cmd_result = self.invocation.execute(args)
File "/usr/local/lib/python3.7/site-packages/azure/cli/core/commands/init.py", line 654, in execute
raise ex
File "/usr/local/lib/python3.7/site-packages/azure/cli/core/commands/init.py", line 718, in _run_jobs_serially
results.append(self._run_job(expanded_arg, cmd_copy))
File "/usr/local/lib/python3.7/site-packages/azure/cli/core/commands/init.py", line 711, in _run_job
six.reraise(*sys.exc_info())
File "/usr/local/lib/python3.7/site-packages/six.py", line 696, in reraise
raise value
File "/usr/local/lib/python3.7/site-packages/azure/cli/core/commands/init.py", line 688, in _run_job
result = cmd_copy(params)
File "/usr/local/lib/python3.7/site-packages/azure/cli/core/commands/init.py", line 325, in call
return self.handler(*args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/azure/cli/core/init.py", line 545, in default_command_handler
return op(**command_args)
File "/Users/samyakrout/.azure/cliextensions/aks-preview/azext_aks_preview/custom.py", line 1266, in aks_get_credentials
_print_or_merge_credentials(path, kubeconfig, overwrite_existing, context_name)
File "/Users/samyakrout/.azure/cliextensions/aks-preview/azext_aks_preview/custom.py", line 2410, in _print_or_merge_credentials
merge_kubernetes_configurations(path, temp_path, overwrite_existing, context_name)
File "/Users/samyakrout/.azure/cliextensions/aks-preview/azext_aks_preview/custom.py", line 2483, in merge_kubernetes_configurations
_handle_merge(existing, addition, 'clusters', replace)
File "/Users/samyakrout/.azure/cliextensions/aks-preview/azext_aks_preview/custom.py", line 2427, in _handle_merge
if i['name'] == j['name']:
KeyError: 'name'`
az --version
azure-cli                          2.6.0
command-modules-nspkg              2.0.3
core                               2.6.0
nspkg                              3.0.4
telemetry                          1.0.4
Extensions:
dev-spaces                         1.0.5
aks-preview                       0.4.35
azure-devops                      0.12.0
Python location '/usr/local/opt/python/bin/python3.7'
Extensions directory '/Users/samyakrout/.azure/cliextensions'
Python (Darwin) 3.7.7 (default, Mar 10 2020, 15:43:03)
[Clang 11.0.0 (clang-1<IP_ADDRESS>)]
Legal docs and information: aka.ms/AzureCliLegal
Your CLI is up-to-date.
Please let us know how we are doing: https://aka.ms/clihats
and let us know if you're interested in trying out our newest features: https://aka.ms/CLIUXstudy

@Sam123ben - You should remove the extension aks-preview if you are blocked as the command has different logic in the GA version. az extension remove --name aks-preview
@yonzhan - There is a missing test for dictionary key presence in the aks-preview _handle_merge(). In the acs module in azure-cli the missing key condition will be skipped.

@bpdohall Thanks for that, I have removed the aks-preview as suggested but now I am getting the below error exception:
The command failed with an unexpected error. Here is the traceback:
'users'
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/knack/cli.py", line 215, in invoke
cmd_result = self.invocation.execute(args)
File "/usr/local/lib/python3.7/site-packages/azure/cli/core/commands/init.py", line 654, in execute
raise ex
File "/usr/local/lib/python3.7/site-packages/azure/cli/core/commands/init.py", line 718, in _run_jobs_serially
results.append(self._run_job(expanded_arg, cmd_copy))
File "/usr/local/lib/python3.7/site-packages/azure/cli/core/commands/init.py", line 711, in _run_job
six.reraise(*sys.exc_info())
File "/usr/local/lib/python3.7/site-packages/six.py", line 696, in reraise
raise value
File "/usr/local/lib/python3.7/site-packages/azure/cli/core/commands/init.py", line 688, in _run_job
result = cmd_copy(params)
File "/usr/local/lib/python3.7/site-packages/azure/cli/core/commands/init.py", line 325, in call
return self.handler(*args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/azure/cli/core/init.py", line 545, in default_command_handler
return op(**command_args)
File "/usr/local/lib/python3.7/site-packages/azure/cli/command_modules/acs/custom.py", line 2027, in aks_get_credentials
_print_or_merge_credentials(path, kubeconfig, overwrite_existing, context_name)
File "/usr/local/lib/python3.7/site-packages/azure/cli/command_modules/acs/custom.py", line 3198, in _print_or_merge_credentials
merge_kubernetes_configurations(path, temp_path, overwrite_existing, context_name)
File "/usr/local/lib/python3.7/site-packages/azure/cli/command_modules/acs/custom.py", line 1185, in merge_kubernetes_configurations
_handle_merge(existing, addition, 'users', replace)
File "/usr/local/lib/python3.7/site-packages/azure/cli/command_modules/acs/custom.py", line 1120, in _handle_merge
if existing[key] is None:
KeyError: 'users'

@Sam123ben - seems like your kubeconfig is not playing along nicely at all with the get-credentials command.
There are 3 top level keys that should appear in your file clusters, contexts and users. The latest error can likely be resolved by adding a line that contains users: [] to the end of the file ~/.kube/config.
I would be tempted to rename the local file ~/.kube/config and get a fresh start. If there's something in there that you need to recover, you will can always dig in and get it.
@yonzhan - Neither implementation of _handle_merge (in [azure-cli](https://github.com/Azure/azure-cli/blob/dev/src/azure-cli/azure/cli/command_modules/acs/custom.py#L1120) and [aks-preview](https://github.com/Azure/azure-cli-extensions/blob/master/src/aks-preview/azext_aks_preview/custom.py#L2508)) guards against a missing list in the kubeconfig file. I'm not sure whether there's a schema for kubeconfig files that says the key of an empty list must be present.

@bpdohall yeah you are rte, i removed it and then it worked but still confused why its like that.

@Sam123ben Apologies for the late reply. This issue is open for quite sometime. Please let us know if you need any further assistance on this.

@Sam123ben I wanted to do quick follow-up to check if you had a chance to look at my above comment. This github issue is open for quite sometime. Please let us know if you need any further assistance on this. Awaiting your reply.

@Sam123ben I wanted to do quick follow-up to check if you had a chance to look at my above comment. This github issue is open for quite sometime. Please let us know if you need any further assistance on this. Awaiting your reply.

Hi, all good i have managed to work on it and fix it.
Thanks

@Sam123ben Thanks for getting back. We will now proceed with closure of this github issue. If you need any further assistance on this issue in future, please feel free to reopen this thread. We would be happy to help.


Faucet Documentation Error

There is a problem with the architecture documentation.
Table 6: ETH_DST << should be VIP
Operations:
        Send traffic destined for FAUCET VIPs to the controller

https://github.com/REANNZ/faucet/commit/48732f48c2274356974f6a9c6390dd790cb8d911


We should make it clear that the crate is no_std if not std

We should make it clear that this crate is no_std compatible.

There was a little talk on the channel about this crate not being no_std so I thought we should be explicit.

Please release a new version and also fix it in Substrate