Gibberish (random?) output after I say only "hello".

The assistant begins saying:
\`\`\`def count_vowels(word):    vowels = ['a', 'e', 'i', 'o', 'u']    count = 0    for letter in word
## Total Latency:  0.545
:        if letter.

... and she continues. :)
I thought it was the result of local echo, so I enabled module-echo-cancel (and tested it and it completely inhibits feedback). Unfortunately it has no effect on the assistant outputting continual gibberish.) :)

Hey, thanks for your message! Did you checked, if your speech was transcribed correclty? In the console it should print out the transcribed user query, so you can check what exactly is fed into the LLM. Could you try it again, so we can check if the problem occurs on the text generation or already on the transcription step.

I looked into this topic further. We are currently using phi-2 as our language model. Regarding to the model description (https://huggingface.co/microsoft/phi-2), you can use two different ways to format prompts either using Instruct:Output: for instructions and fact-questions or Alice:Bob: for conversations. Currently we are using the Instruct/Output pattern which works well for questions like "How many people live in france?" but breaks at smalltalk inputs. This is most likely the cause for the behavior you are describing.
At the moment we unfortunately can't do very much against it, since this problem is caused by the LLM itself. We could of course use a larger LLM which will be more robust but for the cost of more latency. As statetd in our roadmap, we are trying to reduce the latency as much as possible and are especially aiming for a fully decoder-only architecture that would allow to stream a single token trhough STT, LLM and TTS. With this, we would be able to use much larger models and still ensure real-time responses. With a larger LLM the outputs will be much more stable.
So to sum it up: The problem you are describing is most likely not caused by our code but by the small LLM we are using at the moment. Solving this issue is part of our general roadmap. So I will close this issue for now. If you have any ideas or suggestions for intermediate solutions that could improve the quality of the LLM right now or want to helpt to reduce the latency of the pipeline in order to be able to use larger LLMs, you are very welcome to open another issue or a PullRequest. Thanks for your collaboration!


Bug: makeSource args type not updated with new config options for 0.2.5 release

In the 0.2.5 release notes, for MDX, it's recommended to use a new mdxOptions property, but the PartialArgs type that makeSource expects hasn't been updated for this as far as I can tell. Whereas with the markdown field, it was correctly updated to optionally support a builder callback function. Here's a link the relevant code: https://github.com/contentlayerdev/contentlayer/blob/dcc48858f7643f882a72a9cc5941deb36bbb1ecf/packages/%40contentlayer/core/src/plugin.ts#L125-L132
And the release notes where there is a mismatch: https://github.com/contentlayerdev/contentlayer/releases/tag/v0.2.5
Additionally, I'm unsure how this solves the problem I was aiming to resolve with #192

@Saeris There are two issues on the website repo for better documenting markdown behavior:

contentlayerdev/website#20
contentlayerdev/website#43

Do you suspect properly completing those issues would solve this topic here?

This topic is specifically about the types the library is shipping need to be updated. Currently you cannot use mdxOptions as documented because it raises a type error. So no, it's not a documentation issue, it's missing code. Either that or the release notes were inaccurate.

This should be addressed with the 0.2.6 release. 🎉


Node-sdk Payment

added paymentVerification, otpSubmit, fetchPaymentDowntimeById, fetchPaymentDowntime, fetchCardDetails, transfer, fetchTransfer, fetchRefund, fetchMultipleRefund, createPaymentJson ,createRecurringPayment & edit function
command for unitTest : npm test

PL signature verification is missing


[wip][TOPI][Relay] unbind op

cc @zhiics @kevinthesun @icemelon9

cc @were @icemelon9 @kevinthesun to add shapefunc for unbind, I need to return a tuple of shapes using hybrid script, and the size/length of the tuple depends on the input data shape,  seems hybrid doesn't support this. Any suggestion?

@yongwww Probably we can use tensor array to compose unbind.

Seems we haven't encountered dynamic cases of unbind in PyTorch od applications so far. Moved dynamism support in todo, hybrid and TupleWrapper might need to be changed to support dynamic tuple size.
Also tried to compose with tensorarray in this branch, failed in type checking.


How to delete old comments?

I just imported some comments from my old blog before I wanted to delete some of them......
So how to delete these old comments? There r no delete links for any of them......

There are few ways.

Delete comments in your old blog and then export to Isso. If you can't do that, edit exported *.xml file with your favorite text editor to delete undesirable comments and then export to Isso.

Install PR #256. You will have an access to admin panel through http://my-isso.installation.com/admin. There are Delete buttons, so you will be able to delete comments easily.

You can edit directly the database file, which is by default /var/lib/isso/comments.db. Copy this file (create 2 copies in case you'll mess something up and won't notice it immediately) and edit it using Sqlite3:
cp /var/lib/isso/comments.db ~/
cp /var/lib/isso/comments.db ~/original_comments.db
cd
sqlite3

You will have an sqlite> prompt then. Use sqlite3 syntax to find and delete comment, e.g.:
sqlite> ATTACH 'comments.db' as isso;
sqlite> SELECT id,author,text from isso.comments;

Imagine that id of some comment you want to delete is 852. To delete it you should do:
sqlite> DELETE FROM isso.comments WHERE id=852;

Thanks solved with the third way.
Wondering how to install that PR request.......
Also could there be a way to reorder the id of comments and make the deleted unexist radically?

To use PR #256, you can just reinstall isso from https://github.com/blatinier/isso/tree/issue-10/admin-interface.
To change id of a comment from 892 to 890 in Sqlite3 you can do
sqlite> ATTACH 'comments.db' as isso;
sqlite> UPDATE isso.comments SET id='890' WHERE id=892;

What do you mean by unexist radically? Do deleted comments show up in some way? Note that there is also a .threads table in the database file. Its content you can see by doing
sqlite> SELECT * FROM isso.threads;

Thanks for ur patience! Still wondering how to reinstall......
Uninstall the isso I've installed first?Then install?
In the documentation(https://posativ.org/isso/docs/install/), to install from Github, just git clone https://github.com/posativ/isso.git first
But as we know that #256 is not the latest......
When I git clone https://github.com/blatinier/isso.git, it will clone the latest automatically.
Does the latest include that function?

To clone the branch having the admin interface use this:
git clone -b issue-10/admin-interface git@github.com:blatinier/isso.git
When you simply clone a repository it takes the branch master by default, not the latest work.
But be aware, I might change things time to time on this branch :)
I don't usually leave it broken for long but it can be. (At least until merge)

So is ur latest master branch still including that feature?

My latest master is the same as posativ's one. It doesn't include administration.
And yes you can use sqlite3 to edit a comment. See @pozitron57 comments, he show you how to do it.

How to find? His profile only show few: https://github.com/pozitron57?tab=activity

@BabyBichu I think @blatinier meant my comments in this thread. If you want more examples on sqlite3, check out this tutorial.

@pozitron57 Just solved it thanks!

Perhaps @posativ could include https://github.com/posativ/isso/pull/256 in master. What the state of this? Thx

Perhaps meanwhile admin interface is ready, we could fix the documentation. This is a FAQ question I think


test: load images built in kind

This PR fixes an issue in which the locally built images were not used for the k8s testing.
This PR also ignores changes for CHANGELOG.md, setup.cfg and tutoraspects/__about__.py to disable this workflow for the release PR.

Thanks for the pull request, @Ian2012!  Please note that it may take us up to several weeks or months to complete a review and merge your PR.
Feel free to add as much of the following information to the ticket as you can:

supporting documentation
Open edX discussion forum threads
timeline information ("this must be merged by XX date", and why that is)
partner information ("this is a course on edx.org")
any other information that can help Product understand the context for the PR

All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here.
This is currently a draft pull request. When it is ready for our review and all tests are green, click "Ready for Review", or remove "WIP" from the title, as appropriate.

Changes tested here https://github.com/openedx/tutor-contrib-aspects/actions/runs/5881329958/job/15949577935

@Ian2012 🎉 Your pull request was merged!  Please take a moment  to answer a two question survey so we can improve your experience in the future.


manifest: mcuboot: allow to build nRF52840 targets in CI

MCUboot was build only for frdm_k64f in zephyr CI.
Extended Zephyr-RTOS integration platform by nrf52840dk_nrf52840
and nrf52840dongle_nrf52840 which allow to build MCUBoot on
these platform in Zephyr-RTOS CI.
https://github.com/mcu-tools/mcuboot/pull/890
Also other improvements within the mcuboot synchronization:

Added AES256 support for image encryption
zephyr: serial: Remove unnecessary call to irq_unlock
boot_serial: Port encoding to use cddl-gen
bootutil_public: Make boot_read_swap_state declaration public

fixes #29397

@PerMac Do you know how to include https://github.com/zephyrproject-rtos/mcuboot/blob/master/boot/zephyr/sample.yaml to sanitycheck run in the  zephyr buildkite CI?

I have reviewed the target PR https://github.com/zephyrproject-rtos/mcuboot/pull/53 so I assume the sha will be corrected when it is merged.

@carlescufi This can be merged.


build(deps): update scalafmt-core from 3.5.3 to 3.5.4

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

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta", artifactId = "scalafmt-core" } ]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Codecov Report

Merging #70 (3ba9683) into main (122a3d4) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main       #70   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            1         1
  Lines           17        17
=========================================
  Hits            17        17

Continue to review full report at Codecov.

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


How to call showRational() method for @OnNeverAskAgain event

I am using Permission dispatcher plugin and when the user clicks never ask again, the activity freezes.
I want to show the user the Rational dialog when the user checks the never ask again dialog and enters the application again.
currently the app will freeze when the user checks never show this again
what should I do?

it looks like checking don't ask again results in @OnPermissionDenied to be called infinitely. What is the problem?

Could you post your code that is related to PermissionsDispatcher?

@roostaamir Could you give us an example?


Multi-line Cell Issue

I have an array that has fields with multi-line values and using Export-Excel to create the xlsx.  When I open up the file the values appear as a single line, ignoring the newline characters until I edit the cell which then displays the value as it should (and resizes the row automatically, which is what I want).
I've tried newlines both with and without carriage returns but neither seem to work.  I also tried creating a workbook in excel with a multi-line value, using Import-Excel to get the value, and finally using Export-Excel to create a second workbook and the issue persists.
Is there something I should be doing differently?  Is this a bug in this project that can be fixed?

Please attach the script and xlsx so it can be reviewed

Here is a sample script and excel file to demonstrate the issue.  If you run the powershell script it will read the excel file in which contains a single cell with multiple lines of text and then write that value out to a new excel file which will have the proper value but Excel will not display the newline characters until you edit the cell (F2, enter).
Let me know if that make sense.
multiline-issue.ps1.txt
Book1.xlsx

Perhaps I am missing it, but I do not see -WrapText in the output of help Set-Format -Full or as a parameter competed by TAB.

Check to make sure you have the latest version of the module.

It has been in since at least 5.0.1

My apologies. I see it now.
I copied the help Set-Format -Full output into the editor (Microsoft Code) and searching for wrap failed. I also recently discovered that Alt-C and Alt-W turns on case sensitivity and whole word searching. It is likely that I had hit one or both of those, causing the search to not find "wrap."

I realize it's after the fact (a bit), but how would you add wrapping to only one column, and also use a named tab? My tabs aren't always in the same order.  I tried:
Set-format -Address $xlsx.Workbook.Worksheets[$ws].Cells -WrapText #index operation failed; the array index evaluated to null
I would just apply that to one column after fixing it above so I use a named tab.

$data = ConvertFrom-Csv @"
Region,State,Units,Price
West,Texas,927,923.71
North,Tennessee has a very long name,466,770.67
East,Florida,520,458.68
East,Maine,828,661.24
West,Virginia,465,053.58
North,Missouri,436,235.67
South,Kansas,214,992.47
North,North Dakota,789,640.72
South,Delaware,712,508.55
"@

$xlfilename = "./testWrap.xlsx"
Remove-Item $xlfilename -ErrorAction SilentlyContinue

$data | Export-Excel $xlfilename -WorksheetName TestWrap1
$xlpkg = $data | Export-Excel $xlfilename -WorksheetName TestWrap2 -PassThru

Set-ExcelRange -Worksheet $xlpkg.TestWrap2 -Range "B:B" -WrapText

Close-ExcelPackage $xlpkg -Show

Nice, thanks!
You helped me a lot :D
$Output=($Output|Export-Excel $Export -Wo "Info")|Export-Excel $Export -Wo "Info" -AutoS -AutoF -FreezeTopRow -Bo -Ap -passT
Set-ExcelRange -Wo $Output."Info" -Ra "B:B" -Wr -Ho Left -Vert Center
Close-ExcelPackage $Output -Sh


Fix solo bug with large batches

Hello everyone,
this is my first time contributing here, so let me know if I got something wrong with the way I approached this.
I have a very large batch in an AnnData object. This batch has 803283 cells (and there are 10811 genes in the AnnData).
After training an scVI model, I ran the following:
solo = scvi.external.SOLO.from_scvi_model(scvi_model, restrict_to_batch="<batch>")
and got this error:
ValueError                                Traceback (most recent call last)
Cell In[109], line 1
----> 1 doublets = x[parent_inds[:, 0]] + x[parent_inds[:, 1]]

File ~/miniconda3/envs/scvi/lib/python3.12/site-packages/scipy/sparse/_csr.py:24, in _csr_base.__getitem__(self, key)
     22 def __getitem__(self, key):
     23     if self.ndim == 2:
---> 24         return super().__getitem__(key)
     26     if isinstance(key, tuple) and len(key) == 1:
     27         key = key[0]

File ~/miniconda3/envs/scvi/lib/python3.12/site-packages/scipy/sparse/_index.py:83, in IndexMixin.__getitem__(self, key)
     81         return self._get_arrayXint(row, col)
     82     elif isinstance(col, slice):
---> 83         return self._get_arrayXslice(row, col)
     84 else:  # row.ndim == 2
     85     if isinstance(col, INT_TYPES):

File ~/miniconda3/envs/scvi/lib/python3.12/site-packages/scipy/sparse/_csr.py:277, in _csr_base._get_arrayXslice(self, row, col)
    275     col = np.arange(*col.indices(self.shape[1]))
    276     return self._get_arrayXarray(row, col)
--> 277 return self._major_index_fancy(row)._get_submatrix(minor=col)

File ~/miniconda3/envs/scvi/lib/python3.12/site-packages/scipy/sparse/_compressed.py:765, in _cs_matrix._major_index_fancy(self, idx)
    762 np.cumsum(row_nnz, out=res_indptr[1:])
    764 nnz = res_indptr[-1]
--> 765 res_indices = np.empty(nnz, dtype=idx_dtype)
    766 res_data = np.empty(nnz, dtype=self.dtype)
    767 csr_row_index(
    768     M,
    769     indices,
   (...)
    774     res_data
    775 )

ValueError: negative dimensions are not allowed

So I started digging into this and found the following:

When this line is executed AND either x[parent_inds[:, 0]] or x[parent_inds[:, 1]] create a sparse matrix that has more than int32MAX stored values, the above error occurs
When creating slices directly from AnnData.X, this restriction somehow appears to vanish, which I have not found a technical reason for - so I concluded that slicing once (x = x[batch_indices]) somehow introduces this int32MAX size limit, which comes into effect when performing x[parent_inds[:, 0]].
My solution changes the code, so that only a single slicing operation is performed. I think the code changes themselves do not need too much explanation.

If you have any idea why this happens, or if you have a better solution, please enlighten me :D

While I have experienced similar issues in other parts of the code, I don't get why the proposed change fixes the issue. Both the old and new code generate int64 indices in my hands. Is this also the case for you?

Closing here as it's not reproducible in my hands.


Implementation of host_daily_profile application

Application provides the functionality to create a temporal profile of the passed source hosts within the duration of the selected big window, containing the statistics provided by host_stats application aggregated in the selected small windows.
Changes include:

implementation of the application host_daily_profile.py
documentation of the application functionality and usage in README.md

Merged to clean repository


Utilize gtksink, found in gst-plugins-bad, to remove the explicit X11 dependency

https://github.com/GStreamer/gst-plugins-bad/tree/master/ext/gtk
https://github.com/GStreamer/gst-plugins-bad/tree/master/tests/examples/gtk
https://www.youtube.com/watch?v=bYYk8boycPo

Resolved by https://github.com/lettier/movie-monad/commit/f20c65aa963750179e302e3a9007adf5988e4ef5.


Singlestat

@alexanderzobnin what is the status of the singlestat panel?
should this work already?
because it doesn't for me.

What's exactly a problem? Can you describe, please, may be attach screenshots.


Support proper destination format in weighted rule

What this PR does / why we need it:
Fixes the TODO (and regression) in route.go, where destination field in DestinationWeight was not honored.
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Release note:

NONE

@rshriram: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/pilot-presubmit.sh
78d8dd367f6a9a2afa3a5c5b00554e08fbde59da
link
/test pilot-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

it's odd this PR didn't pick up the breakage it is causing in consul
we should probably figure out why (off by one on linters vs workspace ?)
https://github.com/istio/pilot/pull/1275#issuecomment-329653627

Determined that this is probably not the cause of breakage. @GregHanson thoughts?

yeah it's unrelated- seems to be a linter upgrade


limited amount of options

Good morning,
I am not able to create a nuxt app with all the new nice options (jest, ant-design, etc.). I already did update node and npx. I really appreciate any help.

Could you provide more details ?

Double check you don't have any old global version of create nuxt app installed or in the cache.
For the sake of testing, you could also use yarn create nuxt-app myprojectname

@jfcmoeller : try npm outdated -g in your terminal, you'll see list of all outdate global packages.
It will look something like this:

You can either update a single package, or update all globally-installed packages

Hi all, Thanks for all the answers. I typed npm outdated -g in my terminal. That is the output:
npm ERR! Cannot read property 'length' of undefined

https://gamecom.app/
I created a website on nuxt and have a infinite loader on the feed on the landing. Gives me great performance using vue and server render. Any thoughts?
FYI you have to login to enjoy the feed :-p


Bootstrap not working (collapse feature)

I can't seem to get Bootstrap collapse working. Jquery is already included in the theme and I have pulled in minified js and css for bootstrap in the base.html.twig doc (see screenshot) I have also added screenshot of the html.
What is going wrong here?

Check if there are errors in the browser JavaScript console. Might be the order of the JS files loaded, or an incorrect bootstrap markup or initialization, but it's not really a Grav issue.

Got it. Thanks for the response anyhow.


Add VGN lines

Adds S, RE, RB, U and STR of the VGN.
I used the following two network plans:

https://www.vgn.de/liniennetze/schienennetz_gesamtraum/ (contains S, RE, RB)
https://www.vgn.de/liniennetze/schienennetz_nuernberg_furth/ (contains U and STR)

Problems:

RE80 is currently a duplicate as it has a different line color in the VGN network plan (see #7)
I could not find colors for some lines of the VGN: RE47, RE55, RB18, RB99 (they do not exist in the VGN network plans, the Bavarian network plan does not have matching colors; see #7)

Hi there!

RE80 is currently a duplicate as it has a different line color in the VGN network plan
That is correct and the case "single line operating in multiple networks" is now specified

I could not find colors for some lines of the VGN: RE47, RE55, RB18, RB99
If there are no colors from VGN or DB, those lines shall not be added. Since the BEG line colors are never correctly matching, those shall also not be added.

Migrated the shape

For the moment I'll only add S-Bahn, U-Bahn and Tram


Issue with /docs/user-guide/thirdpartyresources/

This is a...

[ ] Feature Request
[x] Bug Report

Problem:
The section Creating ThirdParty resources doesn't mention the name CronTab (except in the resulting URL for the resource).
Yet it is oft referenced in the following section, Creating Custom Objects. Where does the name come from?
Proposed Solution:
Wrong metadata.name, perhaps? Or is it parsed from that?
Page to Update:
http://kubernetes.io/docs/user-guide/thirdpartyresources/

Ah. Re-reading the page, it is sort-of-explained in Structure of a ThirdPartyResource, but it refers to the kind-property, which is set to ThirdPartyResource in the example that follows...

The TPR resource is gone.


curl error 6

I was using Guzzle 5

Local machine was working
Remote Machine was working

I upgraded to Guzzle 6

Local machine is still working
Remote machine spams me with curl error 6 on all my guzzle scripts
Tested curl , worked on remote

Its a 'https' url if that makes a difference or helps you.
My conclusion, I don't think its my curl config. Must be something different in guzzle 6.

There's not enough to go on here. Can you provide debug output? What does your request look like.

$url = "www.kijiji.ca" //the url doesn't matter
$headers = array:4 [
  "Host" => "http://www.kijiji.ca"
  "HTTP_USER_AGENT" => "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20130401 Firefox/31.0"
  "User-Agent" => "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20130401 Firefox/31.0"
  "Referer" => "http://www.kijiji.ca"
]
self::$client->request("GET", $this->getUrl(), array(), array(), $this->getHeaders());

I reverted back to 5.*

The Host header you're providing looks invalid. You should not include http://.


Contrast function mixes conditions in WaldTest output

First of all, thank you for your very valuable package and thorough documentation
I encountered an unexpected behavior in the Contrasts function, specifically involving incorrect condition assignments during Wald test executions. In the sample data provided a protein is present in the conditions "Psfilm" and Psfoam" and absent in the condition "glucose" but the output of the Wald test shows this protein tested for the contrast "Psfoam - glucose".
To Reproduce
I attach a sample file with 7 proteins, an annotation csv and an R script to reproduce.
Expected behavior
The WaldTest output should write that the contrast is "Psfoam - Psfilm" for protein "g99273"
Screenshots

Desktop (please complete the following information):

OS: Ubuntu 22.04.4 LTS
prolfqua version: 1.2.3

Additional context
Add any other context about the problem here.
prolfqua-inputAnnotation.csv
protein_intensities.csv
prolfqua_contrast_testCode.txt

Thank you for sharing the reproducible example and spotting the problem. Yes it is unfortunately a bug in prolfqua.
Since you have 3 groups the model typically looks like this:
Call:
lm(formula = formula, data = x)

Coefficients:
     (Intercept)  condition_Psfilm  condition_Psfoam
          23.743             1.847             2.131

and the linear functions to compute the contasts, look like this:
> contr$get_linfct()
                     (Intercept) condition_Psfilm condition_Psfoam
Psfoam - Psfilm                0             -1.0              1.0
Psfoam - glucose               0              0.0              1.0
Psfilm - glucose               0              1.0              0.0

However for g99273 the modelling result is:
> modg99273
# A tibble: 1 × 9
# Groups:   protein_Id [1]
  protein_Id data             linear_model exists_lmer isSingular df.residual sigma nrcoef nrcoeff_not_NA
  <chr>      <list>           <list>       <lgl>       <lgl>            <dbl> <dbl>  <int>          <int>
1 g99273     <tibble [8 × 8]> <lm>         TRUE        TRUE                 1 0.361      2              2

and the linear model looks like this:
> modg99273$linear_model[1]
[[1]]

Call:
lm(formula = formula, data = x)

Coefficients:
     (Intercept)  condition_Psfoam
          26.160            -1.043

The intercept, in the model for g99273, estimates  not the glucose group but the Psfilm group. Hence, we should have used a linear function, for Psfoam - Psfilm , i.e. c(0, 1) only.
An ad hoc fix would be:
mod <- prolfqua::build_model(
  lfqdata$data,
  formula_Condition,
  subject_Id = lfqdata$config$table$hierarchy_keys())

mod$modelDF <- mod$modelDF |> dplyr::filter(nrcoeff_not_NA == 3)

By this we remove all the models where not all 3 model parameter could not be estimated.

@Roman-Si
I just pushed two commits that fix the error you have reported:
In the figure below, you can see that the contrast for protein g99273 is now correct.

Thank you for trying prolfqua and reporting problems.
Please update prolfqua
install.packages('remotes')
remotes::install_github('fgcz/prolfqua', dependencies = TRUE)

New release
https://github.com/fgcz/prolfqua/releases/tag/v.1.2.4

Hello, using another dataset with a 3x3 design I noticed again unexpected behaviour. The example protein here is present in 2 conditions but the averageModel is used in all comparisons.

I attach sample code to reproduce and the initial peptide level data. I also noticed that TMP summarization creates artifacts where the intensities of some proteins are identical in all samples. This happens for proteins with one-sample peptides (like g004095, g012327 and others) since the row-median subtraction sets all rows to 0. This issue is also mentioned here when using median-polish for microarrays https://doi.org/10.1186/1471-2105-11-553.
testcode_prolfqua.txt
quantms_msstats_input.csv.gz

Thanks a lot for reporting the issue.
 One is that we are getting group differences, although we do not have any observations in one of the groups. This is because you are using the ContrastMissing function, which estimates a LOD, substitutes the missing values with the LOD, and then computes the group averages.
Then, you merged the contrast results using merge_contrasts_results. You now have two types of models in your data frame ( a linear model for the contrasts, which could be estimated using linear models, and the group average model for all those proteins with an excessive number of missing values).
You can use the modelName column in the merged data.frame to see how each contrast was estimated.
mC <- ContrastsMissing$new(lfqdata = lfqdataNormalized, contrasts = Contrasts)
merged <- prolfqua::merge_contrasts_results(prefer = contr,add = mC)$merged

The other problem is that we have standard error estimates that are 0, which is indeed caused by using Medpolish -> that the protein level estimates within the group are all equal (22.0). I do not like error estimates 0 (although running the contrasts through ContrastsModerated should shrink them to more reasonable estimates), and therefore
, I updated the code for the contrast computation in ContrastsMissing, so that if std.error is 0, I am using the 75% Quantile of std.error of all proteins.  I just pushed those changes.
You can use a different method for aggregation (sum_topN or lmrob). But those have their own issues.
Lastly, I suggest you apply the moderation to the merged contrasts:
merged <- prolfqua::merge_contrasts_results(prefer = contr,add = mC)$merged
contr <- prolfqua::ContrastsModerated$new(merged)


GH-43969: [CI][Dev] Prune .dockerignore

Rationale for this change
The smaller the better, according to https://docs.docker.com/build/cache/optimize/
What changes are included in this PR?
Prune obsolete or unnecessary inclusions from .dockerignore.
Are these changes tested?
Yes, by CI.
Are there any user-facing changes?
No.

GitHub Issue: #43969

@github-actions crossbow submit -g nightly-tests

@kou @assignUser Could one of you take a look at this?

@github-actions crossbow submit -g nightly-packaging

@github-actions crossbow submit -g nightly-release

CI failures look unrelated


core.TestEnv - proposed features

Proposal
Separate from GlobalDebug, create a testing dedicated singleton for use with the various modules in ddat-gpf
TODO

[ ] introduce new testing methods built in https://github.com/newwby/ddat-gpf.entities/issues/24
[x] compound testing method that takes an array of unit tests (funcRef with a bool return value) as an argument

achieved

compound testing method that takes an array of unit tests (funcRef with a bool return value) as an argument
with static function multitest in class unitTest


SyntaxError: invalid syntax

[root@li568-252 kairos]# vim kairos/timeseries.py
[root@li568-252 kairos]# python z.py
Traceback (most recent call last):
File "z.py", line 1, in
from kairos import Timeseries
File "/root/kairos/kairos/init.py", line 9, in
from .timeseries import Timeseries
File "/root/kairos/kairos/timeseries.py", line 878
data = { k:v/float(step_size) for k,v in data.items() }
^
SyntaxError: invalid syntax

Yeah, python 2.6 isn't supported at this time. Though py3 support is lacking, that's the target, so newer syntax is used.


Fix tests.

Add ISTIO_BIN to codecov
add skip-cleanup to pilot integration - speeds up the test and allows debugging the state if test run from ssh.

@costinm: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
9311034d67a9a8a47ed6a556a7eddd416b06b454
link
/test istio-pilot-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@costinm: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
9311034d67a9a8a47ed6a556a7eddd416b06b454
link
/test istio-pilot-e2e

prow/e2e-smoke.sh
9311034d67a9a8a47ed6a556a7eddd416b06b454
link
/test e2e-smoke

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


HACK to force SerilogTraceListener to wire up Serilog after it has already been initialized via config

This is a HACK, but it works well enough.
Also added notes to the readme.md about a different way to get SerilogTraceListener to work if the Serilog.Log was created AFTER the TraceListener was wired to the TraceSources (presumably via config)
See Issue #24

Thanks for the hack! :-)
What do you think, instead, about changing this constructor to initialize _logger with null?
https://github.com/serilog-trace-listener/SerilogTraceListener/blob/dev/src/SerilogTraceListener/SerilogTraceListener.cs#L52
Then in Write() the logger used would be _logger ?? Log.Logger:
https://github.com/serilog-trace-listener/SerilogTraceListener/blob/dev/src/SerilogTraceListener/SerilogTraceListener.cs#L275
What do you think?

@nblumhardt  - you have a MUCH better idea. Please let me make another stab at tomorrow.

I tried to squash the changes up - please let me know if I missed something or misunderstood your suggestions @nblumhardt . I think it is ready to go now.

LGTM! Not sure what the status of builds is on this repository, but hopefully this will end up published shortly 🤔


Support config file like .tldrrc

@KarlFiabeschi what would you configure in that file?

Maybe i'm wrong but stuff like:
default os override;
default color schema;
default cache dir;
:)

If this is implemented, it should also respect XDG basedir specification – if $XDG_CONFIG_HOME is set, $XDG_CONFIG_HOME/tealdeer/config file should be loaded, otherwise it should fall back to ~/.config/tealdeer/config.
See Arch wiki for more information.

Of course, our cache also conforms to the XDG basedir spec :)

default os override;

Hm, the OS is autodetected by default. Can you name a use case where a permanent override would be desired?

default color schema;

I can see that, but first we'd need to support color themes :)

default cache dir;

We conform to the XDG specification and the tldr guys are discussing about actually standardizing the location. I don't think this should be configurable, unless someone can give me a good reason :)
I'm open to a pull request adding support for color themes and config files, I don't currently have much time to implement it myself though.


Live: Bid history should not by default show most recent event

currently if a new event comes in from the floor that is lagging behind the online action, then a bid event comes through that is no longer relevant

in this scenario there was a crazy bidding war online, the auctioneer took a floor bid and that was published on the top of the list, it should slot in, at the relevant position
see web

I'll have to see how prediction is ordering these, but this will likely be a very large change. @sweir27 can you comment on prediction's ordering?

Really bad but not show stopper. We can try to get it in.

It's pretty disorienting to see a stream of bids come in at a value that is less than what I'm being currently asked to bid. I could imagine someone thinking we're duping them into bidding more than the actual value of the work. I would reconsider if this was a show stopper or not. @devang

On Jun 10, 2016, at 7:13 PM, Devang Thakkar<EMAIL_ADDRESS>wrote:
Really bad but not show stopper. We can try to get it in.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

This should be incidentally fixed by Orta's work on https://github.com/artsy/eigen/issues/1695

This was gnarly one to triage. Glad it is getting fixed with #1695 .
We kept this in the Critical bucket for the longest and only removed show stopper because of the following reasons:

The events coming in were true events
User could discover the state of bid by scrolling.
If it was unclear to someone and they called us it would be an easy (albeit a little embarrassing) conversation to point them there.

done for now. Individual updates will be tackled with new issues/epics


[AutoPR managementgroups/resource-manager] Add managementGroups/{id}/descendants route to allow pagination of descendants

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/5917

This PR has been merged into https://github.com/Azure/azure-sdk-for-go/pull/5026


Feature request idea: rectangles

It would be nice for the Rectangles to only have 2 handles, or some other way for them to remain rectangular while dragging. Awesome plugin, really saved my bacon.

This is really interesting, I was not aware that L.Rectangle was a sub-class of L.Polygon so dragging was enabled for it. In fact, dragging it was much more broken than just not keeping the it rectangular.
I have updated the behaviour for rectangles to enforce keeping them rectangular. Their behaviour is now also documented in the README. I have released version 3.1.0 with the changes.


Uploaded docx file is returned on download from S3 as plain text

I have looked through the docs and the issues here and I don't see this issue referenced.
Is there a way to ensure that the file is stored and downloads in the original format?

Ok, I think the issue is saving with the correct filename and more importantly, extension .
here is what I have tried with that in mind:
const upload = multer({
  storage: multerS3({
    s3: s3,
    bucket: process.env.AWS_BUCKET,
    acl: 'public-read',
    metadata: function (req, file, cb) {
      cb(null, {fieldName: 'TESTING_META_DATA!'});
    },
    key: function (req, file, cb) {
      cb(null, Date.now().toString() + '.' + file.mimetype)
    }
  })
})

unfortunately, file.mimetype does not return docx, but instead:
application/vnd.openxmlformats-officedocument.wordprocessingml.document
How do I get 'docx'?

final solution which works, but I have just stuck this together with gum and spit.
const upload = multer({
  storage: multerS3({
    s3: s3,
    bucket: process.env.AWS_BUCKET,
    acl: 'public-read',
    metadata: function (req, file, cb) {
      cb(null, {fieldName: 'TESTING_META_DATA!'});
    },
    key: function (req, file, cb) {
      cb(null, Date.now().toString() + '.' + file.originalname.split('.').reverse()[0])
    }
  })
})

Surely there is a better way.

Closing due to inactivity...


Request - allow user selection from command line

Hi,
During run the bot currently ask you to select the user to be used (which prevents me from using a cron job to run it). Any way to circumvent this?
Cheers

Yes. That was a mistake by me. I'll fix that as soon as i can.

Cheers :)
I'll try to start contributing back, but have not touched python in ages

@gnesher Done! Check any example to find the solution.


Won’t take Auth Code

So today the add on started pining out Auth requests it’s been working good up until then, I’ve updated to the latest version, but it won’t Auth the code its sends me I past it in text.volvo_otp but it looks like the process has changed and requires volvoAAOS2mqtt/otp_code method can someone dumb this down for me please I’m a newb and just about got the previous method to work but this other way has me confused.
successfully started
Oct 26 22:13:33 volvo2mqtt [106] - INFO: Starting volvo2mqtt version v1.10.3
Oct 26 22:13:33 volvo2mqtt [106] - INFO: Using login from token file
Oct 26 22:13:33 volvo2mqtt [106] - INFO: Refreshing credentials
Oct 26 22:13:33 volvo2mqtt [106] - WARNING: Refreshing credentials failed!: 400 Message: {"error_description":"unknown, invalid, or expired refresh token","error":"invalid_grant"}
Oct 26 22:13:33 volvo2mqtt [106] - INFO: Starting login with OTP
Oct 26 22:13:34 volvo2mqtt [106] - INFO: Waiting for otp code... Please check your mailbox and post your otp code to the following mqtt topic "volvoAAOS2mqtt/otp_code". Retry 0/24
Oct 26 22:13:39 volvo2mqtt [106] - INFO: Waiting for otp code... Please check your mailbox and post your otp code to the following mqtt topic "volvoAAOS2mqtt/otp_code". Retry 1/24
Oct 26 22:13:44 volvo2mqtt [106] - INFO: Waiting for otp code... Please check your mailbox and post your otp code to the following mqtt topic "volvoAAOS2mqtt/otp_code". Retry 2/24
Oct 26 22:13:49 volvo2mqtt [106] - INFO: Waiting for otp code... Please check your mailbox and post your otp code to the following mqtt topic "volvoAAOS2mqtt/otp_code". Retry 3/24
Oct 26 22:13:54 volvo2mqtt [106] - INFO: Waiting for otp code... Please check your mailbox and post your otp code to the following mqtt topic "volvoAAOS2mqtt/otp_code". Retry 4/24
Oct 26 22:13:59 volvo2mqtt [106] - INFO: Waiting for otp code... Please check your mailbox and post your otp code to the following mqtt topic "volvoAAOS2mqtt/otp_code". Retry 5/24
Oct 26 22:14:04 volvo2mqtt [106] - INFO: Waiting for otp code... Please check your mailbox and post your otp code to the following mqtt topic "volvoAAOS2mqtt/otp_code". Retry 6/24
Oct 26 22:14:09 volvo2mqtt [106] - INFO: Waiting for otp code... Please check your mailbox and post your otp code to the following mqtt topic "volvoAAOS2mqtt/otp_code". Retry 7/24
Oct 26 22:14:14 volvo2mqtt [106] - INFO: Waiting for otp code... Please check your mailbox and post your otp code to the following mqtt topic "volvoAAOS2mqtt/otp_code". Retry 8/24
Oct 26 22:14:19 volvo2mqtt [106] - INFO: Waiting for otp code... Please check your mailbox and post your otp code to the following mqtt topic "volvoAAOS2mqtt/otp_code". Retry 9/24
Oct 26 22:14:24 volvo2mqtt [106] - INFO: Waiting for otp code... Please check your mailbox and post your otp code to the following mqtt topic "volvoAAOS2mqtt/otp_code". Retry 10/24
Oct 26 22:14:29 volvo2mqtt [106] - INFO: Waiting for otp code... Please check your mailbox and post your otp code to the following mqtt topic "volvoAAOS2mqtt/otp_code". Retry 11/24
Oct 26 22:14:34 volvo2mqtt [106] - INFO: Waiting for otp code... Please check your mailbox and post your otp code to the following mqtt topic "volvoAAOS2mqtt/otp_code". Retry 12/24
Oct 26 22:14:39 volvo2mqtt [106] - INFO: Waiting for otp code... Please check your mailbox and post your otp code to the following mqtt topic "volvoAAOS2mqtt/otp_code". Retry 13/24
Oct 26 22:14:44 volvo2mqtt [106] - INFO: Waiting for otp code... Please check your mailbox and post your otp code to the following mqtt topic "volvoAAOS2mqtt/otp_code". Retry 14/24
Oct 26 22:14:49 volvo2mqtt [106] - INFO: Waiting for otp code... Please check your mailbox and post your otp code to the following mqtt topic "volvoAAOS2mqtt/otp_code". Retry 15/24
Oct 26 22:14:54 volvo2mqtt [106] - INFO: Waiting for otp code... Please check your mailbox and post your otp code to the following mqtt topic "volvoAAOS2mqtt/otp_code". Retry 16/24
Oct 26 22:14:59 volvo2mqtt [106] - INFO: Waiting for otp code... Please check your mailbox and post your otp code to the following mqtt topic "volvoAAOS2mqtt/otp_code". Retry 17/24
Oct 26 22:15:04 volvo2mqtt [106] - INFO: Waiting for otp code... Please check your mailbox and post your otp code to the following mqtt topic "volvoAAOS2mqtt/otp_code". Retry 18/24
Oct 26 22:15:09 volvo2mqtt [106] - INFO: Waiting for otp code... Please check your mailbox and post your otp code to the following mqtt topic "volvoAAOS2mqtt/otp_code". Retry 19/24
Oct 26 22:15:14 volvo2mqtt [106] - INFO: Waiting for otp code... Please check your mailbox and post your otp code to the following mqtt topic "volvoAAOS2mqtt/otp_code". Retry 20/24
Oct 26 22:15:19 volvo2mqtt [106] - INFO: Waiting for otp code... Please check your mailbox and post your otp code to the following mqtt topic "volvoAAOS2mqtt/otp_code". Retry 21/24
Oct 26 22:15:24 volvo2mqtt [106] - INFO: Waiting for otp code... Please check your mailbox and post your otp code to the following mqtt topic "volvoAAOS2mqtt/otp_code". Retry 22/24
Oct 26 22:15:29 volvo2mqtt [106] - INFO: Waiting for otp code... Please check your mailbox and post your otp code to the following mqtt topic "volvoAAOS2mqtt/otp_code". Retry 23/24
Traceback (most recent call last):
File "/volvoAAOS2mqtt/main.py", line 15, in
authorize()
File "/volvoAAOS2mqtt/volvo.py", line 46, in authorize
refresh_auth()
File "/volvoAAOS2mqtt/volvo.py", line 203, in refresh_auth
authorize(renew_tokenfile=True)
File "/volvoAAOS2mqtt/volvo.py", line 77, in authorize
response = send_otp(auth_session, response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/volvoAAOS2mqtt/volvo.py", line 161, in send_otp
raise Exception ("No OTP found, exting...")
Exception: No OTP found, exting...
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services

Dublicate of #251


feat: add astroturf vite plugin

Added plugin for Vite
Currently we have the same problem as in Parcel with saving temporary css files https://github.com/4Catalyzer/astroturf/issues/610
It means that you have to use this plugin with some delete plugin as here https://github.com/4Catalyzer/astroturf/issues/111#issuecomment-674796760

This is great, I'm not sure if it should go here since I don't use vite, and would be afraid it'd break or get out of date without realizing

@jquense There is webpack loader in this repo, so why not have Vite plugin here?
Also, I can can try to add some tests and some code with Vite to /example folder.

@jquense Okay, I'll move this plugin to my repo and create pull request to Astroturf docs


Adding basic test setup

@andrewsg PTAL

LGTM

Thanks, going to wait for travis to complete.
What other tests do you think would be good to have? Running common frameworks and wsgi servers?

:cry: this test takes ages! I'll likely move this particular test to devrel-jenkins.


Renderdoc causes the application crashes on android

I noticed renderdoc causes vkCreateInstance fail due to  VK_ERROR_EXTENSION_NOT_PRESENT.
Should I put renderdoc's validation layer in application package?

What set of instance extensions are you enabling? Have you checked that all of them are enumerated as available when running with renderdoc?
I'm not sure what you mean by a validation layer, I don't recommend using the lunarg validation layers on android at the same time as renderdoc.

@baldurk  thanks a lot for your reply. I just noticed it was a bug on our side. Your hint led me to a situation where I found the bug.
Thanks again.


Where is the Reference DB

I am not sure if I am missing something. Where do I find the mongodb database that backs the reference implementation? Am I expected to create my own?
TIA

It took me awhile to figure this one out but you do have to create your own.
The simplest method is to install Mongo and run mongod.exe (it's not automatically installed in your PATH so you'll have to find it at C:\Program Files\Mongo...). Then when running Spark, navigate to /Maintenance/Initialize. That'll fill the database with example data.
Hope that helps!


[RFC] NFT standard philosophy, requirements, and some implementation …

…ideas
Philosophy and requirements are	in README.md, the implementation ideas are in sources.

On today's roundtable, we will present an alternative approach to royalty enforcement which we call strong enforcement and it has whitelisting at its core.
To take a strong stance and support creators, we deem it necessary to implement a logical transfer of ownership for NFTs. In Sui terms - an NFT only has the key ability. Here we are presented with a crucial dichotomy: (i) an NFT wrapper type analogical of the Coin object or (ii) a collection’s own type.
We are strongly opposed to the latter because it breaks composability. Packages cannot access the functions which facilitate the transfers, therefore they would have to work around them via some intermediary state. Whenever possible, we don’t want to rely on the implementation of the client (with batched txs) to guarantee an atomic transfer.
The proposed NFT wrapper contains a metadata property (generic of a collection type) and a property with the address of the owner which we shall refer to as the logical owner for the rest of this document to disambiguate it from the owner of the Sui object.
We create means for whitelisting trading contracts. Only whitelisted contracts can perform NFT transfers between two addresses. There is a shared object which can be controlled by creators or the creators can delegate the maintenance of that object to some emerged DAO or some organization akin to an HTTPs certificate authority. The advantage of whitelists is that these schemas are all enabled and don't have to be decided from day 1.
The logical transfer of ownership in the NFT wrapper contract is facilitated by the following public functions:
transfer<C>(whitelist: &Whitelist<C>, source: &UID, nft: Nft<C>, target: address)

Will assert that the &UID is contained (as ID) in the whitelist. Therefore, one could whitelist an orderbook. Interesting whitelists to explore further are package IDs to avoid generic via witness patterns.
Creators can also whitelist contracts that facilitate p2p transfers via some off-chain validation. They act as an oracle.

transfer_to_object<C, T>(nft: Nft<C>, target: &mut T)

We allow transfer to an arbitrary object for an NFT. It does not change the logical owner.

transfer_to_owner<C>(nft: Nft<C>)

Transfers the NFT to its logical owner. Can be used for example to claw back the NFT from a shared object.

The concept of Safe was introduced in previous conversations. To quickly recapitulate, its purpose is to enable listing in multiple marketplaces, borrowing, and royalty enforcement. A user can create a TransferCap object and give it to e.g. an auction house. Such a trading contract can then use the TransferCap to tell Safe to transfer ownership of the NFT to the buyer.
The funds paid for the NFT are wrapped in an object defined by the standard. To unwrap these funds, one must validate the call with a witness pattern. The witness used to unwrap these funds is declared in the specific collection contract, e.g. foo.move for the purposes of this discussion. The wrapped funds are transferred as children objects to a shared object declared by foo.move: RoyaltyCollector. Therefore, if an auction wants to perform a trade, it must accept the collector in the entry arguments. (Is there a possibility to deduplicate responsibility and have the whitelist serve as the collector?)
To be more concrete, the Safe contract exposes the following public function:
trade_nft<C, R>(whitelist: &Whitelist<C>, source: &UID, cap: TransferCap, buyer: address, royalty_collector: &mut R)
The collector remembers the last payment, and therefore Safe can check that some royalty has been transferred. This in conjunction with the whitelisting concept guarantees that marketplaces remain honest.
There’s an entry function in the foo.move contract which facilitates the royalty collection. We design it this way to enable custom royalty enforcement while most of the logic resides in the standard’s contracts and is therefore composable.
The RoyaltyCollector must be defined in the same module as the collection logic due to constraints on accessing child objects imposed by Sui. The wrapped coins are unwrapped, deducted royalties, and the rest is sent to the stated beneficiaries. The beneficiaries here are the NFT seller and optionally also e.g. wallets if a commission logic is implemented by the auction contract.

…ideas
Philosophy and requirements are in README.md, the implementation ideas are in sources.

Should we come up with the simplest NFT standard first? Because there are a variety of product development requirements in the Sui network, everyone needs a standard to develop.
And now there is no perfect standard, can we come up with the simplest and backward compatible standard first, so that the developer community can use it first. This standard can be changed at will, at least until the Sui mainnet is launched.
As for the launch of the Sui network, this NFT standard should not be achieved overnight. It needs to face various development needs in the future and define a new NFT standard with forward compatibility.

The object itself is very good as an NFT abstraction.
Of course, the NFT standard will speed up the development of the Sui Ecosystem.
But too specific NFT standard lack flexibility, which will limit the development of Sui Ecosystem.
If the standard is not good, it will block NFT creativity.
aptos-token is a negative example.
I think Sui should notice that NFT standards exist, but not the only option.
Standard-NFT and Custom-NFT (origin object) are equally important for Sui,
and appropriately encourage the community to get creative on Custom-NFT.
Announcing the existence of Custom-NFT is not only to reserve corresponding interfaces
for applications such as NFT wallets and trading markets, but also to protect the possible ideas of NFT.
Because once the NFT wallet and trading market do not support Custom-NFT, there will be no entry and trading market for Custom-NFT, and even the best Custom-NFT ideas will be stifled in the bud.
Erc721 is the application first, then the community promotes, and finally becomes the NFT standard, which is bottom-up.
Best wishes to Sui network.

I believe this one has served its goal well! Closing!


Improvement: Simplify code used to prepare the balance sheet (OFBIZ-12753)

Refactored duplicate code into functions with the intention of improving readability of balance sheet related code.

Tested using demo data:

Created custom time periods for Jan, Feb, Mar, Apr 2009
Created a balance sheet with ThruDates:

2009-02-01
2009-03-01
2009-04-01

Checked that the balance sheets generated matched those on demo-next (i.e without the modified BalanceSheet.groovy file) when applying the same test steps.

Note: There are other issues with balance sheet, but this PR was focussed on replicating existing balance sheet behaviour while simplifying the associated code.


Update signedAuthToken when invoke setAuthToken

Thanks for raising this issue and proposing a fix. I've made the proper fix.


Basketball Box Score H2H Category

Codecov Report
Base: 79.75% // Head: 79.20% // Decreases project coverage by -0.54% :warning:

Coverage data is based on head (e7aa9e4) compared to base (628f27e).
Patch coverage: 68.33% of modified lines in pull request are covered.

:exclamation: Current head e7aa9e4 differs from pull request most recent head d3274ee. Consider uploading reports for the commit d3274ee to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #391      +/-   ##
==========================================
- Coverage   79.75%   79.20%   -0.55%
==========================================
  Files          52       52
  Lines        1946     1972      +26
==========================================
+ Hits         1552     1562      +10
- Misses        394      410      +16

Impacted Files
Coverage Δ

espn_api/basketball/constant.py
100.00% <ø> (ø)

espn_api/basketball/box_score.py
66.66% <66.07%> (-22.99%)
:arrow_down:

espn_api/base_settings.py
100.00% <100.00%> (ø)

espn_api/basketball/league.py
80.80% <100.00%> (-0.46%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


add and remove opacity on create link when hovering over event

JIRA
https://bypassmobile.atlassian.net/browse/DEV-6922
Description
When you hover over an event in a cell, the create link is still visible, even though clicking at that moment won't fire the create event.  The desired outcome is that the create link goes away, and reappear if your mouse moves outside the event element.
We can't do this with css, since the md-event-calendar-cell-event element and the md-event-calendar-create-link element are not directly related.

This all looks great. The only thing i see is a syntax error src/js/eventCalendarMonth.directive.js: line 63, col 37, Missing semicolon.. You look at the console for linting errors if you don't have a linter installed in your editor. I will merge and release once this is fixed

@B-3PO fixed.


Audible bell even when disabling it

Hi,
I'm using Terminus alpha 16 on Windows with WSL, and when the terminal sounds a beep (e.g. in backspace on an empty line in bash) it makes a relatively long sound. This happens even though the "Terminal Bell" setting is set to Off.
Any other way to disable this sound?

Alpha 27 is out. Maybe you should upgrade. I have the visual feedback enabled an I do not hear the bell sound.

Thanks, I'll try upgrading.

I upgraded to alpha 27 (although in the settings/plugins form the terminus is shown as alpha 24 for some reason). Still the problem persists.

There is actually no reliable way to disable the terminal bell in WSL and even if we would end up having one in the future, that would be a user preference to set on the bash profile or configuration itself, so I think it's out scope for Terminus to try to handle that for us.

@ClementParis016 are you saying that WSL sounds the bell itself, without the terminal's involvement?
If that's the case I agree it's out of scope, and I should open a bug against WSL...

@haggaie Yes sort of, you can check this if you open the "Bash on Ubuntu" system application you will hear that it also sounds the bell.
I've read that people usually mute the system command line from the volume icon in the system tray, which seems to be the most reliable way to do it.
Though, that makes me wonder if muting the Terminus app from within itself would work, since Electron has some API for this.
I wanted to try this but couldn't run a working clone of the repo on my computer, maybe @Eugeny could work on improving the setup to make contributing easier?

@ClementParis016 at what step of the guide are you?

@Eugeny I had a bunch of issues at ./scripts/install-deps.js that I couldn't fix, don't remember exactly what it was as I'm not on my personal computer at the moment, I will check that again and open a separated issue if needed.

@ClementParis016 would appreciate if you could share your getting-started experience - this might help future users

@Eugeny yep, I've opened an issue at #221

Thanks @ClementParis016, I followed the workarounds at https://github.com/Microsoft/BashOnWindows/issues/715 and https://stackoverflow.com/q/36724209/46192 and they seem to help.


Release code signing identity corrected to iOS Distribution

Release code signing identity has to be iOS Development, it’s still going to be Distribution after building a project archive, but we can’t built it with iOS Distribution without apple dev account

Ahhhhhhhh, this is a very good point :+1:.  Thanks @degterev. @iziz can you revert please?


Does this take crypto intra transfer fees into account?

Hi, sorry if this is described somewhere. Does this library calculate crypto intra transfer fees into account? Say I do these:

Buy 1 ETH from an exchange for $100
Transfer to my wallet, transfer to another wallet, transfer back to my wallet, then transfer back to exchange the leftover ETH, 0.9 ETH
Sell 0.9 ETH in an exchange for $110 (short term gain)

Would the cost basis would be 0.9 ETH for $100 or 1 ETH for $100?

Thanks for the question. Transfer fees affect the in/out lot relationships and RP2 does keep track of them: check the "Investment Expenses" tab of the tax_report_us output for a collection of all transfer fees.
However you also need to consider buy and sell fees, which are used when RP2 computes cost basis and gain/loss: for more on this check issue 6 .
Hope this helps! Let me know if you have more questions.

Thank you. That's amazing. How do you manage the computation flow? I sort of understand on bucketing the buys according to cost basis and then taking out from those buckets when selling, but with account for intra transfers, how does that work?
For example:

I buy 1ETH for $100
I buy another 1ETH for $120
From that first 1ETH, I sent 0.1 ETH to a friend, 0.9 to my wallet to another wallet to another wallet and back to exchange which left with 0.8 ETH due to transaction fees. From the second 1ETH, I do some other intra wallet transfers and it gets mixed up with the first ETH wallet.
I sell 0.8 ETH for $110

How do you trace the flow of that 1ETH@100 + intra transaction costs vs the 1ETH@120 + instra transaction costs

RP2 fractions lots and pairs in/out lot fractions, according to the user-selected accounting method (FIFO and LIFO).
Regarding the specific example you gave, rather than using English, which can be imprecise, I think it would be best for you to model the scenario you have in mind using RP2 and then post results here with any questions and comments. That way we can focus more productively on specific concerns in a precise scenario.
A few suggestions to model the scenario above with RP2:

use InTransaction to model ETH you receive, buy, earn, etc. E.g.: buy 1 ETH for $100.
use OutTransaction to model ETH you give, sell, donate, etc. E.g.: send 0.1 ETH to your friend.
use IntraTransaction to model ETH you transfer between accounts you control (e.g. from your hw wallet to your Coinbase account). E.g. send 0.9 ETH from one of your wallets to another of your wallets or to your Coinbase account.
transfer fees are captured by specifiying an IntraTransaction that has from_amount > to_amont: the difference is the transfer fee (see input files for file format details).
buy and sell fees are captured in the respective fee fields of InTransaction and OutTransaction (see input files for file format details).
after you're finished, check the generated rp2_full_report.ods output file, which contains full computation details and tracks the flow and pairing of each lot fraction in detail.

I also recommend reading the Running section of the documentation, which contains pointers to examples and to file formats.

Thank you, I will check the examples more.


TODO: run stopwatch.jl inside a bounded retry loop

If stopwatch.jl fails (for example, if it errors out due to rate limiting errors), we should wait 5-10 minutes and then retry it.
Of course we should have a maximum number of tries, after which we exit with error.

I think what I learned from https://github.com/JuliaRegistries/General/pull/38675 is that we may want to minimize our use of bounded retry loops in which the code being run hits the GitHub API.

We still have a bounded retry loop for https://github.com/JuliaRegistries/General/blob/master/.ci/instantiate.sh, but that script does not make any GitHub API calls or use any GitHub authentication tokens, so I think it's fine to keep.


Screenshot testing infrastructure for Smoothie

Epic: #528
Description
Add screenshot testing infrastructure and some screenshot tests for the Smoothie app.
Acceptance criteria
Tests run and find any unaccounted for UI changes.
Tests should run on each pull request.
What would a demo look like
Create a buggy change and try to pull it into the main repo, the test should catch it.
Tasks

[x] Figure out the right tolerance level
[ ] Add screenshot tests for the main screens of the app
[x] Setup the tests to run on each pull requests

Screenshot testing was added in #557, and it runs on every PR. I am not sure if every desired screen has an image associated with it, enumerating them here would allow us to account for each one.


Legacy commands definitions

Is your feature request related to a problem? Please describe.
I am wondering if commands definitions for legacy Icinga configuration would be provided.
This is because even if I know that everyone are using Icinga Director right now, I'm actually generating Icinga configuration using Ansible, and for this reason I need the legacy commands definitions to use Linuxfabrik Plugins.
Thank you!
Describe the solution you'd like
Write the command definitions in a unique file for all check commands or in a single file for each check command.
This would be imported into /etc/icinga2/conf.d directory.
Alternatives
No response
Additional context
No response

That's a good point that we need to discuss. If we decide to do this (can't promise), it will take a while to get it available.
If you already have some definitions, a pull request would be appreciated.

Alternatively you can use the icinga director itself to generate the configuration, and use those for ansible. For that, import the basket in the director, deploy all the changes and go to deployments > choose the latest one > and then click the config tab at the top.

Or do it like @NavidSassan says (import, deploy) and then do a simple "icingacli director command show fu" or write a small script which iterates over the command names and calls the icingacli.

Closed as there is a workaround.


Horizontal Pod Auto Scaler Behavior

Bug Description
Overview of issue
There is a buggy implementation of HPA behaviour in Istio.
Setting quantities in the IstioOperator HpaSpec behaviour causes unmarshalling errors.
k8s.io/client-go@v0.24.1/tools/cache/reflector.go:167: Failed to watch *v1alpha1.IstioOperator: failed to list *v1alpha1.IstioOperator: json: cannot unmarshal array into Go struct field IstioOperator.items.spec of type map[string]json.RawMessage

There has been a previous thread on this issue: https://github.com/istio/istio/issues/24839 but given that behaviour is a new field this issue may not have been fixed.
Expected behavior
To be able to install when setting quantities in the HPA spec
Steps to reproduce the bug
kind: IstioOperator
metadata:
  namespace: istio-system
  name: example-istiocontrolplane
spec:
  values:
    pilot:
      autoscaleEnabled: true
  profile: demo
  components:
    pilot:
      k8s:
        hpaSpec:
          scaleTargetRef:
            apiVersion: extensions/v1beta1
            kind: Deployment
            name: istiod
          minReplicas: 1
          maxReplicas: 5
          behavior:
            scaleDown:
              policies:
              - periodSeconds: 30
                type: Pods
                value: 1
              stabilizationWindowSeconds: 300
          metrics:
          - type: Resource
            resource:
              name: cpu
              targetAverageValue: 1000

Version
control plane version: 1.15.1
Client Version: v1.21.3
Server Version: v1.22.13-eks-15b7512

Additional Information
No response

@trick392 you should change your configuration as following:
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  namespace: istio-system
  name: example-istiocontrolplane
spec:
  values:
    pilot:
      autoscaleEnabled: true
  profile: demo
  components:
    pilot:
      k8s:
        hpaSpec:
          scaleTargetRef:
            apiVersion: extensions/v1beta1
            kind: Deployment
            name: istiod
          minReplicas: 1
          maxReplicas: 5
          behavior:
            scaleDown:
              policies: # follow v2beta2 spec
                periodSeconds: 30
                type: Pods
                value: 1
              stabilizationWindowSeconds: 300
          metrics:
          - type: Resource
            resource:
              name: cpu
              target: # follow v2beta2 spec
                 averageUtilization: 1000
                 type: Utilization

@zirain unfortunately that does not work. Yes matching the resource object is required and I completely forgot to update that here but following your config results in an error:
 decode slice: expect [ or n, but found {, error found in #10 byte of ...|olicies":{
This is because policies is a list of policy objects as per the https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ section on Example: limit scale down rate documentation.
I think it is due to this mismatch between k8s documentation and the istio documentation (one expects a list of HPAScalingPolicy objects and the other expects a singular HPAScalingPolicy object) that the unmarshalling of the list can not be mapped to the HPAScalingPolicy object. An update is required to the istio documentation and how the behaviour field gets unmarshalled.


linux: setting volume to anything but 1.0 causes complete silence

When setting volume to anything other than 1.0 causes complete silence.
Updating to any value results in silence. Setting the volume to 1.0 resumes audio.

Update:
I think it might be caused by std::to_string(float) printing zero significant digits on linux:
https://github.com/harmonoid/libwinmedia/blob/master/linux/player.hpp#L410
Playing with the example, I found the playback rate has the same issue on linux.
Updating the playback-rate has the same behaviour on linux. it seems to only be active on the slider as 0, 1, 2, with 2 only being active when you set 2.0.


Plain cmake

Draft PR that turns the library into a plain cmake package, and it aims to solve issue https://github.com/ros-industrial/abb_librws/issues/3.
The main reason for this is to be able to build and use the library regardless if e.g.:

Ubuntu or Windows
ROS or ROS2

See my https://github.com/ros-industrial/abb_libegm/pull/63#issuecomment-553795696.
The same applies here of course.

@gavanderhoorn, I assume that similar commits concerning travis from https://github.com/ros-industrial/abb_libegm/pull/63/ should be applied here as well, correct?

Correct.

It seems that I made a wrong assumption in commit https://github.com/ros-industrial/abb_librws/pull/69/commits/5a25561e829e1a8e3cc4bde71ce0d38425554a00.
I.e. regarding find_package(Poco ...) I wanted to remove the custom cmake module for finding the package, since it looks like there are cmake config files per default in Ubuntu 18.04 (as far as I can see) and I wanted to use those instead.
@gavanderhoorn, is it possible to change the setup_poco_ppa.sh script to install the Poco libraries from Bionic instead? Do you know if it would cause any issues?

I have created a new branch with some additions that I think would clean-up the CMake files, as well as updated the Poco installation script. I didn't add it to this PR yet, since I have been waiting for some comments, but I think this will have to wait until next year.

@jontje: if we're copying a FindPoco script, could we not take one which is a bit more compatible with "modern CMake" (ie: defines INTERFACE libraries)?

@jontje: if we're copying a FindPoco script, could we not take one which is a bit more compatible with "modern CMake" (ie: defines INTERFACE libraries)?

I opted for the least effort approach (at least for me), since I knew where to find this script, and I see this as a more or less temporary solution.
But if you know of a nicer script, then we can take that one instead.

But if you know of a nicer script, then we can take that one instead.

One from a newer version of CMake? :)
IIRC, @traversaro has mentioned a few times that newer versions export INTERFACE libraries and the appropriate targets.
@traversaro: would you happen to know starting from which version things normalise wrt FindProtobuf?

IIRC, @traversaro has mentioned a few times that newer versions export INTERFACE libraries and the appropriate targets.

Are we discussing about FindPoco or FindProtobuf ?

@traversaro: would you happen to know starting from which version things normalise wrt FindProtobuf?

The first CMake version that provides protobuf imported targets is CMake 3.9 https://cmake.org/cmake/help/v3.9/module/FindProtobuf.html . Note that however if you link imported targets as INTERFACE or PUBLIC in your public targets, then you  need to make sure that  your <package>Config.cmake files creates them, tipically by calling find_dependency(Protobuf REQUIRED), but if you are on a system that ships CMake 3.5 you will need  to write custom code to make sure that in your <package>Config.cmake  you use the correct target-aware FindProtobuf.cmake .

Hm. I may have mixed Protobuf and Poco.
Thanks for the info in any case @traversaro.

@gavanderhoorn, I assume that the current solution for finding the Poco package will suffice for now due to the latest comments. I looked around a bit for a Poco script in a newer version of CMake, but I didn't find anything.

I've added 33c10fb as we weren't installing the manifest, which makes this package 'invisible' after installation (in a ROS context).

Apologies for leaving this for so long @jontje :(

No worries @gavanderhoorn! I know you are busy, and I have had plenty of other tasks to spend my time on 😄

Thanks a lot both @gavanderhoorn and @traversaro!

@jontje: you'll also update the readme to document the migration to plain cmake like in abb_libegm?

@jontje: you'll also update the readme to document the migration to plain cmake like in abb_libegm?

Yes, I have already prepared a branch for it.

Good :)
If you could prepare a quick PR we can get it merged in quickly.


Provide Typescript definition file to use flipclockjs in typescript

Hey, thanks for your great project in first place.
I'd love to see a typescript definition descriptor to use flipclock inside of typescript.
Cheers
Jan

@janknobloch, I needed to implemented the FlipClock.js library using TypeScript and wrote some basic interfaces for this. However, it would be great to have a flipclock.d.ts definition file in DefintelyTyped (and thus typings).
interface IFlipClockConfig {
  autoStart?: boolean;
  countdown?: boolean;
  callbacks?: {
    destroy?: Function,
    create?: Function,
    init?: Function,
    interval?: Function,
    start?: Function,
    stop?: Function,
    reset?: Function
  };
  classes?: {};
  clockFace?: string;
  defaultClockFace?: string;
  defaultLanguage?: string;
};

interface IFlipClock {
  start: Function;
  stop: Function;
  setTime: (time: Date) => IFlipClock;
  setCountdown: (countdown: boolean) => IFlipClock;
  getTime(): Date;
};

interface IFlipClockStatic {
  new (digits: number, config?: IFlipClockConfig);
};

interface JQuery {
  FlipClock?: (digits: number, config?: IFlipClockConfig) => IFlipClock;
};

@blove thanks for providing your interfaces.
I'm struggeling in the moment to get flipclock running with typescript / angular 2 at all, my container isn't showing up at all.
I did use the following code:
private flipClock:any;
`
//init clock inside constructor of my component
  this.flipClock = new FlipClock(jQuery('.your-clock'), {
    clockFace: 'HourlyCounter',
    autoStart: false,
    callbacks: {
    	stop: function() {
    		console.log('The clock has stopped!')
    		//call lecture timer here
    	},
    	start: function() {
    		console.log('The clock has started!')
    		//call lecture timer here
    	},
    	reset: function(){
    		console.log('The clock has been resetted!')
    		//call lecture timer here
    	}
    }
    });`

while also importing        <link rel="stylesheet" type="text/css" href="node_modules/flipclock/compiled/flipclock.css">
than I added a div in my template:

Any suggestions? Im going to try to create a plunker to see if i can figure out my problem. (i thought maybe its a jquery problem so the dom does not get manipulated..)

@janknobloch, A plunker would definitely help, but I would suggest that you look at some of the directive implementations for FlipClock that people have posted online. Just search for "ng flipclock" and check out the top 2 results:
https://github.com/dolanmiu/ng-flipclock
https://github.com/stevermeister/angular-flipclock/blob/master/index.html

@blove,
thanks for your fast replies, i could figure out my problem according to angular 2.
Just for the other peeps they might encounter this problem.
I had to call my flipclock initialization inside of the ngOnInit() ngOnInit-Reference method not inside the constructor.
In addition I used the ElementRef class [ElementRef-reference] (https://angular.io/docs/ts/latest/api/core/ElementRef-class.html) injected in my component to access my flipclock dom element and jquery with replaceWith() to inject it.
Seems everything is working fine now. If i find some time ill attach a plunker.
Cheers
Jan

@janknobloch
May i know how you actually call flipclock inside of the ngOnInit and how to used with ElementRef?
I am just starting to learn Angular 2 recently

@janknobloch could you share how you managed to link this to your angular nativescript/typescript?
@ztfong1982
Thanks

Going to close this thread. I don't use Typescript currently with any of my projects. I just rewrote this entire library for ES6 and completely rewrote all the classes, so all this will be obsolete in the new version. Not sure how much its needed if you can just import/extend the ES6 classes. Feel free to re-commit this code for the new version in the js-es6 branch. Going to merge to master soon, and make this v1 of the library. Will work with webpack and npm all the latest stuff.


[Feature] KubeVela control plane mode

Is your feature request related to a problem? Please describe.

Recently, based on the discussion around multi-cluster and GitOps (ref https://github.com/oam-dev/kubevela/issues/1048), there's a strong community request for using KubeVela both in control plane (handling env, cluster, multi-env deployment etc) and runtime clusters (modeling app, performing day 2 operation etc).
Describe the solution you'd like

Thus, we should enable KubeVela to be used as control plane component and set this as goal for v1.0, or v1.1. The control plane (as designed) will use VelaCP as the main user interface, it will use KubeVela control plane mode to reconcile status of runtime clusters:
velacp --> apiserver --> control plane k8s (w/ kubevela in control plane mode) <-- reconcile --> runtime clusters (w/ kubevela)

There are already on-going effort drops in scope of KubeVela control plane mode:

Multi-env app deployment design: https://github.com/oam-dev/kubevela/issues/1048 /cc @LeoLiuYan
Enviroment CRD (and with modeling clusters in comments) https://github.com/oam-dev/kubevela/issues/176 /cc @Cweiping

Some missing parts:

Promotion: how to promote a app from staging to production
Pipeline: how to define a CD pipeline for the whole process (NOT a CI pipeline)

User Interface:

velacp currently PoC a bit on UI + MongoDB, this will continue with KubeVela control plane.

/cc @wonderflow @ryanzhang-oss
The existing dashboard effort should continue @zzxwill , we will migrate it to velacp when it's usable (target: mid of 2021).
Describe alternatives you've considered

Additional context

Yes, I totally agree with this idea, and the env section in Application(control plane mode) should be named to binding
apiVersion: core.oam.dev/v1alpha2
kind: Application
metadata:
  name: sample
spec:
  components:
    - name: instance
      type: webservice
      settings:
        cmd:
          - sleep 100
      traits:
        - name: ingress
    - name: database
      type: mysql
  binding:
    envName: project-1
    traits:
    - solutionRef: ingress-v1
       properties:
         hostname: xxx.test

Some other thoughts:

We use Application CRD as the envelop to carry app from control plane cluster to runtime clusters, so this CRD must carry destination information and control plane should handle it.
The main difference of Application CRD vs. Helm chart etc is it can carry cloud resources and other non-k8s resources (powered by component model, and enable you to do (3) and (4).
We have no opinion on how user templating/overlay the Application CR in control plane. They can use whatever they like (Helm, Kustomize, DSL) to generate a Application CR (w/ destination information).
We out-of-box supports using Application CRD itself to template and generate a Application CR (i.e. app-for-app pattern). In this case, we use CUE as the templating tool which can enable some advanced features like patch.

Here are some of the updates that I have been discussing offline with a couple of folks.
Let me share the latest update and summarize the plan here.
Updates:

We have decided that velacp will implement the four major concepts, i.e. Applications, Environments, Clusters, Catalogs, as CRDs and controllers.
The UI remain the same, the GRPC server will still serve the APIs, but the major logic will be put into control cycles.

Plans:

For the next step, the Application, Environment, Cluster CRDs will be implemented first.
The env-based patch for Application config will be implemented as in this doc

name: example-app
env: staging | prod
components:
- name: backend
  settings:
    cmd:
      - /bin/myservice
  traits:
    - name: logging
      properties:
        rotate: 1d
patch: # strategic merge patch to the components based on env
  - env: staging
    components:
      - name: backend
        settings:
          image: staging/myimage
        traits:
          - name: autoscaling
            properties:
              max: 1
  - env: prod
    components:
      - name: backend
        settings:
          image: production/myimage
        traits:
          - name: autoscaling
            properties:
              min: 1
              max: 10

For now I will implement the code in velacp as quickly as possible. But the controller code will eventually merge with KubeVela once the requirements are verified. This includes:

The API types will be added into pkg/apis/velacp.oam.dev
The controller will be added to pkg/controller/velacp.oam.dev
The controller will be registered into ctrl-manager at startup.
Add e2e tests and code coverage to satisfy production requirements.

@hongchaodeng
For me, there are some questions:

What's the Cluster CRD for？ Environment CRD already has clusters info.
What's the  meaning of application template?  A new CRD?
In the patch field, how can I remove some traits or components from base env?
How to set parameters in application template?

Looking forward to your reply, thank you.

Hi @LeoLiuYan
Let me answer your questions in order:

Cluster CRD describes one cluster. Environment CRD is a deployment environment with consistent settings (e.g. clusters, packages, capabilities). Environment will reference to multiple clusters but not contain any specific cluster information. Think of them as two tables.
Yes. A new CRD. Template is something that was not instantiated and would be rendered based on the environments they are deployed to.
It follows same style as kustomize. In Kustomize, removal will be more complicated. In general, overlay style is more beneficial and easier to manage for adding/updating fields.
For initial case, only overlay patch is supported. This doesn't mean we are limited to one configuration management method. We can add go-template parameter style in the future.

For reference, check out the API definition: https://github.com/oam-dev/velacp/blob/28e91154fa27e3494e9b1242a21e352d1be0bc87/api/v1alpha1/apptemplate_types.go#L36-L44

@LeoLiuYan For delete patch, here is a reference: https://github.com/kubernetes-sigs/kustomize/pull/1396

High availability of k8s cluster should consider in Control Plane, may support multiple k8s cluster in Control Plane?  If the k8s cluster down, then Control Plane will cannot provider service for APIServer.

Closing as KubeVela itself is a control plane now.

The deployment still relies on k8s, and standalone mode hasn't been supported yet. Should we keep it open then?

The deployment still relies on k8s, and standalone mode hasn't been supported yet. Should we keep it open then?

I think we can create a new issue and link to it. Because we have finished the logic to make kubevela as a control plane. The left work is the deploy mod shouldn't rely on K8s.

ref: https://github.com/oam-dev/kubevela/issues/2028


Events plugin

This brings a plugin for the events protocol (https://mavlink.io/en/services/events.html), allowing to listen for events and arming checks.

It is using the component metadata, and therefore moves the implementation to the core, so it's usable for plugins.
Adds an example for the component metdata & events

I'll do a more in-depth review of the events internals when CI is ready, and after having reviewed the events API.

android-x86 had some unrelated request timeout, let's see if it passes now.

Looks like just a fix_style required now...

I think it's because the proto submodule isn't merged/updated yet. At least when I ran it last I didn't get any diff.

Merged proto, rebased, fixed up and force pushed. Let's hope this clears CI.


"undefined method `chomp' for nil" When brew update

brew doctor output
xyc@ycMacBook Desktop % /Users/xyc/Desktop/brewTest/bin/brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: Your Homebrew's prefix is not /usr/local.

Many of Homebrew's bottles (binary packages) can only be used with the default prefix.
Consider uninstalling Homebrew and reinstalling into the default prefix.
It is expected behaviour that some formulae will fail to build in this unsupported configuration.
It is expected behaviour that Homebrew will be buggy and slow.
Do not create any issues about this on Homebrew's GitHub repositories.
Do not create any issues even if you think this message is unrelated.
Any opened issues will be immediately closed without response.
Do not ask for help from Homebrew or its maintainers on social media.
You may ask for help in Homebrew's discussions but are unlikely to receive a response.
Try to figure out the problem yourself and submit a fix as a pull request.
We will review it but may or may not accept it.

Warning: Homebrew's "bin" was not found in your PATH.
Consider setting your PATH for example like so:
  echo 'export PATH="/Users/xyc/Desktop/brewTest/bin:$PATH"' >> ~/.zshrc

Verification

[ ] My "brew doctor output" above says Your system is ready to brew. and am still able to reproduce my issue.
[x] I ran brew update twice and am still able to reproduce my issue.
[X] This issue's title and/or description do not reference a single formula e.g. brew install wget. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.

brew config output
xyc@ycMacBook Desktop % /Users/xyc/Desktop/brewTest/bin/brew config
HOMEBREW_VERSION: >=4.1.0 (shallow or no git repository)
ORIGIN: https://github.com/xycabcd/brewTest
HEAD: 077b4edcc5ff1145a72b12a7aaa7bba7e609249c
Last commit: 4 minutes ago
Core tap JSON: 29 Jul 13:29 UTC
Core cask tap JSON: 29 Jul 13:29 UTC
HOMEBREW_PREFIX: /Users/xyc/Desktop/brewTest
HOMEBREW_REPOSITORY: /Users/xyc/Desktop/brewTest
HOMEBREW_CELLAR: /Users/xyc/Desktop/brewTest/Cellar
HOMEBREW_CASK_OPTS: []
HOMEBREW_MAKE_JOBS: 16
Homebrew Ruby: 3.3.4 => /Users/xyc/Desktop/brewTest/Library/Homebrew/vendor/portable-ruby/3.3.4/bin/ruby
CPU: 16-core 64-bit kabylake
Clang: 15.0.0 build 1500
Git: 2.39.3 => /Applications/Xcode.app/Contents/Developer/usr/bin/git
Curl: 8.6.0 => /usr/bin/curl
macOS: 14.5-x86_64
CLT: N/A
Xcode: 15.4

What were you trying to do (and why)?
run brew update
What happened (include all command output)?
It says :
xyc@ycMacBook ~ % /Users/xyc/Desktop/brewTest/bin/brew update
==> Updating Homebrew...
To restore the stashed changes to /Users/Shared/Homebrew, run:
  cd /Users/Shared/Homebrew && git stash pop
Error: undefined method `chomp' for nil
/Users/Shared/Homebrew/Library/Homebrew/cmd/update-report.rb:118:in `output_update_report'
/Users/Shared/Homebrew/Library/Homebrew/cmd/update-report.rb:33:in `run'
/Users/Shared/Homebrew/Library/Homebrew/brew.rb:95:in `<main>'
Please report this issue:
  https://docs.brew.sh/Troubleshooting

What did you expect to happen?
Successfully Updated
Step-by-step reproduction instructions (by running brew commands)
fork from Homebrew.
clone it to local and do brew update
make any change
do brew update again
Also
I'm really sorry that brew doctor didn't says that my system is ready, but I really don't have an enviroment to put a new fork of Homebrew into /usr/local. But I'm pretty sure that this problem isn't cause by a different prefix.

ORIGIN: https://github.com/xycabcd/brewTest

This will be why - your fork isn't set up correctly. Please don't change origin.


dotDash test

Hi, I am having compilation issues with your submission. Also, could you please write the tests according to the rubrics mentioned here

Hello,
I've made the required changes, please review here: https://github.com/Dotdashcom/take-home-webdriver-test/pull/25


Set text at bottom of UIButton

How can I set the text at the bottom of button? Only support prefix and postfix?
Thanks!

Would love to be able to do this as well.  I've tried adding a "\n" to the postfix but that seems to only make the text disappear.


Optimize Home Component Rendering Using useMemo #4

This PR refactors the Home component in our React application to optimize the fetching of news articles from the News API. The changes enhance performance, improve user experience, and ensure safe state management during asynchronous operations.
Key Changes:
Controlled API Calls:
    The API is now called only when the user clicks the search button, rather than on every render or component mount. This reduces unnecessary network requests and improves performance.

Memoization of API URL:
    The construction of the API URL is optimized using useMemo. This ensures that the URL is only recalculated when its dependencies (cat, con, searchit) change.

Cleanup Function Implementation:
    A cleanup mechanism is introduced to prevent state updates on unmounted components. This is achieved by tracking the component's mounted status with an isMounted variable, avoiding potential memory leaks and errors.

Improved Loading State Handling:
    Introduced a loading state to provide feedback to users while data is being fetched. This enhances the overall user experience by informing them of ongoing operations.

Conditional Rendering:
    The NotFound component is displayed only when there are no articles to show, providing a clearer user experience.

issue #4


Split Boxed Lists into multiple entries

It showcases too many things.

[ ] One demo per row type

[ ] SpinRow
[ ] ComboRow
[ ] ...

[ ] Add search to the ComboRow demo

Can i work on this ?

Tell me if i on the right track . And could you please elaborate the search to the ComboRow demo.

Hey tell me if i am on the right track or not . And could you please elaborate on the search to the Combo Row

Waiting for further instructions @sonnyp


Buy ticket button -> Coming Soon

When one clicks on buy ticket message or a redirect should say registrations coming soon

Will directly integrate payments.


Design Update : " Area of Expertise Section "

Hi @Iamdivyak
I have made some design changes in Area of Expertise section.

Could you please consider merging this pull request.
Thank you !

looks great @Akshit203 Thank you so much for your valuable contribution.:)


Handling cells with hardware failure

[x] 1. When allocating a level-k cell, we will firstly allocate the "healthier" cell in the free cell list in level-k. (healthiness is defined by # of good GPUs/ # of total GPUs) @zhypku
[x] 2. When all free level-k cells are bad cell, check if we get a new level-k cell by splitting a higher level cell (by leveraging the initial cell assignment for each VC).  @abuccts #27
[x] 3. If we cannot get a new level-k cell from step 2, this means all "allocable" level-k cells are bad, we will pre-bind these level-k bad cells to all VCs assigned with level-k cells. @zhypku https://github.com/microsoft/hivedscheduler/issues/25
[x] 4. If we have a set of new level-k cells (buddy cells) from step 2, but they are still all bad cells, repeat step 2. @abuccts #27

We need to prove the above algorithm's correctness and completeness.
[Correctness] The algorithm will not violate sharing safety guarantee.
[Completeness] Using this algorithm, there is no such case that the allocation of a level-k cell request fails but it is possible to obtain a healthy level-k cell without violating sharing safety.
Before the proof, we define

num_splitable[i]: the number of splitable cells at each level (i=1,...,n). "Splitable" means we can split the cell without violating sharing safety guarantee.

num_free_cell[i] as the number of free cells at level-i.

num_vc_unused[i] as the number of unused level-i cells in all VCs.

HUC[i] as the number of level-i cells we can obtain by splitting a level-(i+1) cell

If level-n is the highest level, then num_splitable[i] can be calculated recursively as follows:

when i = n, num_splitable[i] = num_free_cell[i] - num_vc_unused[i]
when i < n, num_splitable[i] = num_splitable[i+1]*HUC[i] + num_free_cell[i] – num_vc_unused[i]

Thus, the sharing safety guarantee is equivalent to guarantee num_splitable[i] >= 0 for all level i at any time.
Proof:
The proof of correctness is straightforward, because each splitting at level-i will check if num_splitable[i]>=0.
The proof of compeleteness can be done by contradiction.
If the algorithm is not complete, it means there is a "Case" that:

When allocating a level-k cell fails, there exist a level-k’ cell (k’>=k) that num_splitable[k’] > 0 and it contains at least one level-k cell.

If k’ = k, it is impossible that num_splitable[k’] > 0 at level-k because "we will firstly allocate the healthier cell".
If k’ > k, the Case is impossible. Because the algorithm will split all cells that num_splitable[k’’] > 0 (for all k’’ >= k) if the algorithm fails. There will be no cells that num_splitable[k’] > 0, which contradicts with the Case.

@hzhua , thanks. maybe you can also include the pseudo code of the algorithm before the proof?

Here is the psudo-code of the above algorithm.
First, we define
- num_splittable[i]: the number of splittable cells at each level (i=1,...,n). "splittable" means we can split the cell without violating sharing safety guarantee.
- num_free_cell[i] as the number of free cells at level-i.
- num_vc_unused[i] as the number of unused level-i cells in all VCs.
- HUC[i] as the number of level-i cells we can obtain by splitting a level-(i+1) cell

If level-n is the highest level, then num_splittable[i] can be calculated recursively as follows:
1.	when i = n, num_splittable[i] = num_free_cell[i] - num_vc_unused[i]
2.	when i < n, num_splittable[i] = num_splittable[i+1]*HUC[i] + num_free_cell[i] – num_vc_unused[i]

Thus, the sharing safety guarantee is equivalent to guarantee num_splittable[i] >= 0 for all level i at any time.
Algorithm:
C = BuddyAlloc(r_k) // the level-k cell from BuddyAlloc
If C is heathy:
  Return C
Else: //C is bad
  Add C back to free_list[k]
  While C is bad:
    Sort free_list[k] in desc by health score: percentage of heathy GPUs in the cell
    C = free_list[0]
    If C is bad:
      If there exist level k’ > k that num_splitable[k’] > 0.
        k’ = the minimum level s.t. num_splitable[k’] > 0
        Split a level-k’ cell until we get a level-k cell.
    Else: //Splitting not possible
      Return (C, Failure)
      // Expose the bad cell with most free GPUs to the requesting VC
Return (C, Success)

We need to prove the above algorithm's correctness and completeness.
[Correctness] The algorithm will not violate sharing safety guarantee.
[Completeness] Using this algorithm, there is no such case that the allocation of a level-k cell request fails but it is possible to obtain a healthy level-k cell without violating sharing safety.
Proof:
The proof of correctness is straightforward, because each splitting at level-i will check if num_splittable[i]>=0.
The proof of compeleteness can be done by contradiction.
If the algorithm is not complete, it means there is a "Case" that:

When allocating a level-k cell fails, there exist a level-k’ cell (k’>=k) that num_splittable[k’] > 0 and it contains at least one level-k cell.

If k’ = k, it is impossible that num_splittable[k’] > 0 at level-k because "we will firstly allocate the healthier cell".
If k’ > k, the Case is impossible. Because the algorithm will split all cells that num_splittable[k’’] > 0 (for all k’’ >= k) if the algorithm fails. There will be no cells that num_splittable[k’] > 0, which contradicts with the Case.

Thanks a lot, Zhenhua!
Actually I've been thinking recently that this algorithm is not necessarily for only fault-tolerance. It is a general algorithm to break buddy cell allocation's rule without breaking safety.
This is in fact an algorithm to reach the "necessary" side of cell allocation; buddy cell allocation is only sufficient, but not necessary.
While this algorithm touches the necessity by explicit safety checking.
Fault-tolerance is just an example of cases where we want to break the buddy allocation rule for a while. Maybe we can try to extend it to other cases (not in the implementation I mean, perhaps in the paper, if we can find some interesting use cases :) )

Yes. The safety-check provides the necessary condition of allocation. A possible use case is to avoid unnecessary preemption of low-priority jobs. More generally, if we need to support customized physical scheduling policy, we need to provide an interface of this condition in some form (e.g., as a list of splittable/allocable cells at all levels).

Agree that the safety-check provides a necessary condition of arbitrary cell allocation. Looks like we can generalize the algorithm and prove it necessary and sufficient, and looks like we can reuse the proof you guys did a long time ago.