text:
Explain actions/checkout for forked PRs vs normal PRs

Hi! I'm having trouble understanding how to get forked PRs to checkout the code of the head SHA of the PR because when I use your example code of:
ref: 'refs/pull/${{ github.event.client_payload.pull_request.number }}/merge'

The Integration Tests come back as having succeeded, but the individual tests say they are still pending. In the Github Actions UI, it says that the tests for the forked branches are skipped even though all the criteria pass. Here is my integration file for my open source repo: https://github.com/chanzuckerberg/terraform-provider-snowflake/blob/main/.github/workflows/integration.yml. I took out the above line because it didn't seem to be running the most recent commit on my PR. Any advice?

For example, after I do the ok-to-test command, this happens: https://github.com/chanzuckerberg/terraform-provider-snowflake/pull/373/checks?check_run_id=1658107839 which is unclear on what has passed since it doesn't specify the individual tests we want. But when I go to Github actions it seems like it runs the tests but it doesn't get reflected in the PR.

For example, after I do the ok-to-test command, this happens: https://github.com/chanzuckerberg/terraform-provider-snowflake/pull/373/checks?check_run_id=1658107839 which is unclear on what has passed since it doesn't specify the individual tests we want. But when I go to Github actions it seems like it runs the tests but it doesn't get reflected in the PR.

Hi @alldoami! Did you get it working?
I'll refer to my code since I know it best. If a pull request from a fork has 5 commits on it and its latest SHA is 6b68bf0, I can  type /ok-to-test sha=6b68bf0 on the pull request. That will set of the chain of events that leads here:
https://github.com/imjohnbo/ok-to-test/blob/1b4bf926f1c3ed5b945803742a455d6b18529b53/.github/workflows/integration.yml#L22-L34
which checks out the merge commit, because I want to test what would happen if 6b68bf0 was merged with my base. Note that the following line is important, because it's what checks that I'm merging what I expect to (6b68bf0):
https://github.com/imjohnbo/ok-to-test/blob/1b4bf926f1c3ed5b945803742a455d6b18529b53/.github/workflows/integration.yml#L27

The Integration Tests come back as having succeeded, but the individual tests say they are still pending. In the Github Actions UI, it says that the tests for the forked branches are skipped even though all the criteria pass.

Interesting, I haven't seen this one before!

Hi @alldoami! Did you get it working?
I'll refer to my code since I know it best. If a pull request from a fork has 5 commits on it and its latest SHA is 6b68bf0, I can  type /ok-to-test sha=6b68bf0 on the pull request. That will set of the chain of events that leads here:
https://github.com/imjohnbo/ok-to-test/blob/1b4bf926f1c3ed5b945803742a455d6b18529b53/.github/workflows/integration.yml#L22-L34
which checks out the merge commit, because I want to test what would happen if 6b68bf0 was merged with my base. Note that the following line is important, because it's what checks that I'm merging what I expect to (6b68bf0):
https://github.com/imjohnbo/ok-to-test/blob/1b4bf926f1c3ed5b945803742a455d6b18529b53/.github/workflows/integration.yml#L27

The Integration Tests come back as having succeeded, but the individual tests say they are still pending. In the Github Actions UI, it says that the tests for the forked branches are skipped even though all the criteria pass.

Interesting, I haven't seen this one before!

authors: alldoami imjohnbo

repo: imjohnbo/ok-to-test


text:
Parameter names in nested properties

Is it possible to have the parameters resolution within another parameter?
In the example Server has the parameter name resolved but the seeds function does not.

If you hover over the create text in the server.create() function, does it show information about the parameter names?
Nested functions like this should work and have in other scenarios I've tried.

here you go.

I know this issue is here for some time, but I have a similar problem and it's a much clearer example. I have a custom class, with a 3-param constructor:

However, if I use that constructor inline within a different function, the params will not show:

source: gharchive/issue

authors: bm-stschneider imliam rgembalik st-schneider

repo: imliam/vscode-inline-parameters

license: MIT

license_type: permissive

license_source: github-api


text:
IWW Issue #22, October 5th 2020

This pull request is for gathering links for the October 5th issue of the Immersive Web Weekly newsletter for the W3C Immersive Web Community Group.
If you have a link to a news article, event, artwork, or project that is directly related to the immersive web then we welcome your help!
To submit a link comment below using this template:
title: Example title of link
url: https://example.com/
author: Alice Smith
content: A short description of what is at the link and why it's related to the immersive web

Please keep in mind that comments here and all submitted links are public!
We keep each issue pretty short so we won't immediately use every submission but we keep track of them all and they may appear in a later issue.
Deadline
IWW goes out each Tuesday morning Pacific time.
Trevor will edit each issue on the Monday before (in this case that Monday is October 4th) so submissions after that will roll over for use in future issues.
If you need editorial support then email @TrevorFSmith: trevor@transmutable.com

title: We added personal avatars to Mozilla Hubs and this is what happened
url: https://readyplayer.me/blog/we-added-personal-avatars-to-mozilla-hubs-and-this-is-what-happened
author: Timmu Tõke
content: Soon after COVID hit and made our team go fully remote, we quickly got tired of seeing each other's faces on video and decided to give Mozilla Hubs a try – so we could meet up in the same room, virtually.

Title: three.js r.121 released
Url: https://twitter.com/threejs_org/status/1311254192238071808?s=20

Title: three.js r.121 released
Url: https://twitter.com/threejs_org/status/1311254192238071808?s=20

I'm excited to see experimental WebGPU support.

title: FrameVR releases Frame Academy
url: https://learn.framevr.io/academy
author: FrameVR
content: Six projects and a WebXR Workshop series for STEM educators.
New environments like Boring Island: https://www.framevr.io/boringisland

title: js13kGames WebXR Winners
url: https://js13kgames.com/#winners
author: js13kGames
content:
1st place: https://js13kgames.com/entries/exit
2nd place: https://js13kgames.com/entries/13kb-404
3rd place: https://js13kgames.com/entries/ned-snow

title: Community Created WebXR Discord
url:
author:
content:
Brian Peiris tweet: https://twitter.com/brianpeiris/status/1313148263038627840
invite link: https://t.co/2LgBjhAnhx

title: Moon Rider creator reveals sticky usage numbers
url: https://twitter.com/dmarcos/status/1312868636797939717
author: Diego Marcos
content: "18 months after release more than 500 users spend longer than 15 mins everyday. All organic within the community."

source: gharchive/pull-request

authors: TrevorFSmith Yonet

repo: immersive-web/immersive-web-weekly


text:
Relicense to MIT

Per https://github.com/imneme/pcg-cpp/pull/3#issuecomment-84388917
The only commits by anyone other than yourself to this repo were trivial comment spelling corrections so this should be fine, but IANAL.

This (or something like it) should have been merged long ago, but wasn't. It's now been superseded by a pull based on it.  Sorry it took so long.

authors: imneme tkelman

repo: imneme/pcg-c


text:
update NextVersion.md with newly public classes

PRs upon which this one is dependent:
#1097
[...if you add to this PR please link the PR containing your changes here...]

I'll add ThematicDisplay.

i'll leave this PR open so others can add to it too.

i'll leave this PR open so others can add to it too.

Can you close it then so that it's not constantly rebuilding?

i'll leave this PR open so others can add to it too.

Can you close it then so that it's not constantly rebuilding?

I don't see any way to change a PR to draft. Instead of closing it, can you make a "request changes" comment (I don't seem to be able to do that on my own PR)?

I don't see any way to change a PR to draft. Instead of closing it, can you make a "request changes" comment (I don't seem to be able to do that on my own PR)?

That doesn't stop the constant rebuild cycle (@calebmshafer's PR to change that has not yet been merged).
You sure it's not simpler and less error-prone for people just to update NextVersion.md in the same PR that updates their release tags?

That doesn't stop the constant rebuild cycle (@calebmshafer's PR to change that has not yet been merged).
You sure it's not simpler and less error-prone for people just to update NextVersion.md in the same PR that updates their release tags?

I see "Merging is blocked" in red below. That means it will rebuild when someone actually pushes to this PR, but it won't get merged/rebuilt when another PR completes. Sounds right to me. But, I will complete it now (after a successful build).

authors: kabentley pmconne

repo: imodeljs/imodeljs


text:
no-unused-modules: in some cases, imports from files with capital letters in their names are not checked

OS: Windows 10 Pro
The full eslint config and dependency versions can be viewed in the application repository. This bug is also reproduced there.
Perhaps this may also be due to the fact that the module itself is used in the .vue file.
Error:
C:\Users\danyadev\Desktop\vk-desktop\src\components\messages\chat\attachments\photosLayout.js
  97:1  error  exported declaration 'calculatePhotosLayout' not used within other modules  import/no-unused-modules

calculatePhotosLayout function is used in the same folder in PhotosLayout.vue file.

I don't think this plugin could possibly work with .vue files - how would eslint-plugin-import know how to parse "not javascript"?

this plugin works fine with all other .vue files in the project

I'm not familiar with vue at all; do they use normal JS syntax for imports/exports? When you say "works fine", do you mean, it doesn't error on them, or do you mean, it reports errors inside them?

To clarify the PR title - if you rename the file from PhotosLayout.vue to photosLayout.vue and update the corresponding import paths, does it work as expected?

Sorry for the late answer, I left development for a while.
When changing the name of the .vue file, the problem is also reproduced:

Sorry for the late answer, I left development for a while.
When changing the name of the .vue file, the problem is also reproduced:

.vue files are handled entirely by vue-loader and its repository contains a description of how it works
"works fine" means that the plugin is actually monitoring the use of exports:

.vue files are handled entirely by vue-loader and its repository contains a description of how it works
"works fine" means that the plugin is actually monitoring the use of exports:

Same-ish problem. Inside of a .vue file the plugin will do things like enforce the order of imports, but if a .js file exports something that is only imported in .vue files, it will ignore them and think that there are no imports of it.
I tried renaming the .vue file to be all lowercase, but that didn't change anything.
// example.js
export function example () {
  return 'text';
}

<template>

Text

</template>

C:\project\example.js
  2:1  error  exported declaration 'example' not used within other modules  import/no-unused-modules

Again, all other rules I'm using apply to .vue files, it's just this one that doesn't work.
Example project for reproduction:

https://github.com/TheJaredWilcurt/vite-vue3-pinia-options-api

same issue here, so this rule import/no-unused-modules still not working in .vue

authors: TheJaredWilcurt danyadev fatyrify ljharb

repo: import-js/eslint-plugin-import


text:
Use a browser only if it is running

Thank you for building this application!
The previous code opened a browser and halted if it was not running.
This fix filters non-running browsers before examining tabs.
Partially fixes PR #2
ps. On the check function,  I opened a new bracket just to follow the existing coding style, but I can fix it to do the check in a one-liner if you'd like.

wow didn't even realize this has been open for so long. closing now

repo: importre/alfred-tabs


text:
Error on this method getProductsByIds

When a Product no longer exists it does not return the other products in the getProductsByIds method
Error:
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: OperationException(linkException: null, graphqlErrors: [GraphQLError(message: Variable $ids of type [ID!]! was provided invalid value for 4 (Invalid global id Product id doesn't exist), locations: [ErrorLocation(line: 1, column: 7)], path: null, extensions: {value: [gid://shopify/Product/9253140693317, gid://shopify/Product/9253140463941, gid://shopify/Product/9253140693317, gid://shopify/Product/9253139939653, Product id doesn't exist], problems: [{path: [4], explanation: Invalid global id Product id doesn't exist, message: Invalid global id Product id doesn't exist}]})])
#0      ShopifyError.checkForError (package:shopify_flutter/mixins/src/shopify_error.dart:7:35)
#1      ShopifyStore.getProductsByIds (package:shopify_flutter/shopify/src/shopify_store.dart:110:5)

#2      _CartScreenState.initState.. (package:babyshop/screens/cart/cartscreen.dart:40:42)

This is something the Shopify Storefront handles itself and throws error if the ID is invalid.


text:
Effort required to support for RT600?

Hi,
This is more of a question; I would like to know if you would have an estimate for the amount of work needed to support the RT600 series? I'm not requesting it, just curious to know about your feeling for the effort needed. I think the main difference apart from peripherals is the M33 architecture (ARMv8), but I have just glanced at the data sheet.
I do understand that the additional DSP co-processor is completely different to the core CPU, and would probably better be implemented in it's own crate.
Thanks,
Max
https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/i-mx-rt-crossover-mcus/i-mx-rt600-crossover-mcu-with-arm-cortex-m33-and-dsp-cores:i.MX-RT600

The rt600, specifically the rt685 has a different core (m33) and peripheral set than the rt1xxx series. The xtensa hifi4 core is an even more interesting task as there’s a forked rust compiler required to even attempt this from espressif and xtensa like its name suggests is a highly configurable core so it’d likely require some patches to support it well.
I think the m33 core would be mostly feasible. Get a ral output and merged with the existing ones were sensible. There’s a lot of unique peripherals for this part though, the powerquad dsp, the many many flexcomms, two dmacs, yeah it’s quite the chip! The evk board has a lot of nice audio interfaces already setup as well and those would be great to tinker with. I’ve gotten audio from the on board codec with C, the nxp samples, and zephyr. In rust this would be quite the achievement.
It would be an amazing experience to program this in rust though! At the moment even Zephyr doesn’t support it that well beyond the m33 core. Supporting this part fully would be a boon and open some doors, the hifi cores are used in many many places that you may not realize. Like intel uses them in many parts as can seen in the SoF project.

Thanks for the great summary! I did not realize that the Xtensa core would require a compiler fork, but I understand it now that you point it out. I also didn’t know that the Espressif chips used similar cores!
As you mention, I had that exact dev board in mind for an audio project. Sounds like quiet an undertaking to get it all working in Rust. I’ll let you know if I dive in, but most likely not.

Found the forked compiler, adding it here for future reference: https://github.com/esp-rs/rust

It still might be worth getting the arm core supported even if the xtensa isn’t initially. They would require separate images anyways.

authors: maxekman teburd

repo: imxrt-rs/imxrt-hal


text:
Extension check matches using TimelineItem.GetName() instead of source media filepath

The extension check should not use TimelineItem.GetName(). Although the default clip name is the file name of the source media, a user can give something a custom clip name, and then the script will fail to find the clip's extension in acceptable_exts. Since it's a basic string "in" check, no attempt is made to confirm the filepath exists. TBH, I'm not entirely sure if we need an extension check? By "trying" .GetClipProperty(), anything that doesn't have that method will fail. If that method fails, then we also can't retrieve the "File Path" attribute. If we just go off the "File Path" attribute from the start, we know we're receiving a real file path from Resolve and that the name is up to date.

Removed file extension check, trusting try block will filter well enough:
try:
        media_item = item.GetMediaPoolItem()
        attributes = media_item.GetClipProperty()
        all_clips.append(attributes)

except:
        continue


text:
Aggregated checklist

To take a step towards a more usable checklist, I've created a notebook that takes our concatenated checklist, excludes any remaining GBIF match issues (so excluding non matches, wrong matches and unverified synonyms) and aggregates everything on the accepted name. The result is this aggregated - and at least taxonomically verified - checklist. :tada:
It contains the following columns:

gbifapi_acceptedScientificName: the scientificName we should actually use (all verified).
gbifapi_acceptedKey: the GBIF usageKey of that name, can be used in http://www.gbif.org/species/gbifapi_acceptedKey.
kingdom:  the kingdom (hopefully singular) as listed by the sources.
invasionStage: the standardized invasionStage(s) listed by the sources. If multiple, than the sources disagree, although one might have established and the other to be determined by experts.
presenceBE: the occurrence status(es) of the species in Belgium. If multiple, than the sources disagree, but with same remark as above.
datasetName: the source datasets in which this species occurs.
gbifapi_scientificName: the (synonym) name(s) to which the original name in the source dataset was mapped. E.g. in the concatenated we have Conyza canadensis (L.) Cronquist and Erigeron canadensis L., but both are considered Erigeron canadensis L.
index: the original record id(s) from the concatenated checklist, as a reference to find back the original information.

Some stats

2,284 unique accepted species (or subspecies/varieties)
91% plants
68% introduced, 21% established, 1% invasive (22 species), 10% other (discrepancies, to be determined, unknown, or blank)
98% present, 1% absent, 1% other
2.019 names uniquely from plants (88%), 57 uniquely wrims, 56 uniquely harmonia (both 2%), 29 uniquely macroinvertebrates, 10 uniquely fishes and 113 in two or three datasets.

One suggestion (I'm seeing in other issues, like #48), is not to concatenate the invasionStage etc. but populate this from a single source, whereby the sources have a particular order of trustfulness:

Plants
Wrims
Fishes
Macroinvertebrates (all considered established)
Harmonia (beware, not all present in BE)
Rinse + annex: no status info

Have added more columns as requested by @timadriaens 5dc757c8340d345ec307f3040fb28b5a6ebbf2f0
The columns are still populated by all values (separated by |) and NOT chosen by trustfulness. At this stage it is still more useful to have all information.

repo: inbo/alien-species-checklist


text:
Citations in Rmarkdown

Given that RStudio will soon have new and improved functionalities to work with references/citations in Rmarkdown files, a tutorial on this topic should be worthwhile.

Current preview version of RStudio has the Visual Markdown Editor, so the functionality has become available. It appears that the preview is currently being updated on a very regular basis, presumably to iron out remaining problems.
It works fluently with a moderately large Zotero database (>3700 items). The citation feature is currently not available in source mode (rstudio/rstudio#7876).
Some notes about the recommended file format to store references:

use of a bib(la)tex file (.bib) is supported by pandoc, but it is to be avoided rather than recommended (see also https://github.com/inbo/INBOmd/issues/62 and the link therein). It is less supported than following alternatives.
the native, official format for use with CSL style files (and any CSL processor, especially the reference implementation citeproc-js) is CSL-JSON. Here is its documentation.
while CSL-JSON essentially is human-readable json, pandoc has also implemented an alternative CSL-YAML standard, which is much more readable (to the same level as bibtex I believe). pandoc supports conversions between these formats (see the citations section in the manual of pandoc's markdown). Hence I believe CSL-YAML is restricted to use with pandoc only, although it can also be imported in e.g. Zotero by using the BBT addon.
in short, only CSL-JSON and CSL-YAML guarantee lossless rendering of citations & bibliography in R markdown (which uses pandoc). And RStudio allows adding selected references to such files through a GUI.
multiple reference files and formats can be combined in the same Rmd file using this format for the bibliography key in the YAML header:

bibliography: [references.json, references.yaml]

Thanks for these insights and the news @florisvdh.
I think we better wait a while with this tutorial until RStudio 1.4 is officially released and effectively installed @ INBO.

Sure, it was planned for 2021. I just wanted to drop some notes.

Update: RStudio 1.4 (with VME) has been released in January. See also https://blog.rstudio.com/2021/01/19/announcing-rstudio-1-4/

authors: florisvdh hansvancalster

repo: inbo/tutorials


text:
[Docs] More user friendly title and formulation

Here:
https://github.com/inductiva/inductiva#async-api
we have a title that is not clear for the outside users: "Async API". We need to transform this is something that makes immediately sense from the point of view of a user.
For example,

"Running multiple simulations in parallel"
"Launching simulations in background"

Try to rewrite this text from the point of view of user and less from the point of view of the technical details (that can come later): what is it that the user can (additionally) do?

I have addressed this in the PR #679, but for the next release this will drop, since we all simulations will be async.

authors: IvanPombo sarmento

repo: inductiva/inductiva


text:
Mention the Maven repository for the artifacts

I think it's a good idea to mention where the artifacts are located.

Yes, you're right. This repository is only necessary when using SNAPSHOT versions, but it's still something that should be mentioned (especially since there's not a non-SNAPSHOT version yet!)

Yup, my thoughts exactly :thumbsup:

authors: kevinherron ljani

repo: inductiveautomation/opc-ua-stack


text:
I have php 8.0 but composer.json requires php 7.3

This dependency ("league / glide": "2.0.x-dev") also doesn't work with php 8. I'm going to configure another Apache to tame INERTIA.

Resolved. I am working it with php 7.4 (All OK)

I've also added support for PHP 8 in #99. 👍

authors: ed-mor reinink

repo: inertiajs/pingcrm


text:
[Bug]: Text location parsed from PDF isn't matched with the location parsed by OCR

Is there an existing issue for the same bug?

[X] I have checked the existing issues.

Branch name
master
Commit ID
无
Other environment information
No response
Actual behavior
pdf 提取的文字坐标和ocr提取的文字坐标不一致导致无法匹配
Expected behavior
No response
Steps to reproduce
pdf 提取的文字坐标和ocr提取的文字坐标不一致导致无法匹配

        for c in Recognizer.sort_X_firstly(
                chars, self.mean_width[pagenum - 1] // 4):
            ii = Recognizer.find_overlapped(c, bxs)
            if ii == 24:
                print(c)
            if ii is None:
                self.lefted_chars.append(c)
                continue
            ch = c["bottom"] - c["top"]
            if c["text"] != " " and c["text"] != "":
                bxs[ii]["font_height"] = c["height"]
            bh = bxs[ii]["bottom"] - bxs[ii]["top"]
            if abs(ch - bh) / max(ch, bh) >= 0.7 and c["text"] != ' ':
                self.lefted_chars.append(c)
                continue
            if c["text"] == " " and bxs[ii]["text"]:
                if re.match(r"[0-9a-zA-Z,.?;:!%%]", bxs[ii]["text"][-1]):
                    bxs[ii]["text"] += " "
            else:
                #bxs[ii]["text"] += c["text"]
                box_result = get_char_item(c,ii)
                box_results.append(box_result)
        # 首先对数据按 "ii" 排序
        sorted_data = sorted(box_results, key=lambda x: x["ii"])
        # 使用 groupby 进行分组
        grouped_data = {k: list(v) for k, v in groupby(sorted_data, key=lambda x: x["ii"])}
        # 打印结果
        for ii, items in grouped_data.items():
            sort_item =Recognizer.sort_Y_firstly(
                items, self.mean_width[pagenum - 1] // 3)
            texts = [item["text"] for item in sort_item]
            combined_text = ''.join(texts)  # 使用空格连接文本
            bxs[ii]["text"] = combined_text
        for b in bxs:
            if not b["text"]:
                left, right, top, bott = b["x0"] * ZM, b["x1"] * \
                                         ZM, b["top"] * ZM, b["bottom"] * ZM
                b["text"] = self.ocr.recognize(np.array(img),
                                               np.array([[left, top], [right, top], [right, bott], [left, bott]],
                                                        dtype=np.float32))
            del b["txt"]
        bxs = [b for b in bxs if b["text"]]
        if self.mean_height[-1] == 0:
            self.mean_height[-1] = np.median([b["bottom"] - b["top"]
                                              for b in bxs])
        self.boxes.append(bxs)

Additional information
No response

I didn't get it.

Close due to no response.

authors: KevinHuSh dhking yuzhichang

repo: infiniflow/ragflow


text:
[Question]: Problems with parsing markdown files with pictures and texts

Describe your problem
When using General to parse a markdown file with both pictures and text, two pictures are parsed into one piece, and the other pictures are parsed into one piece independently.

The original file is as follows：

现场在消费者最后决定购买的一刹那却起着至关重要的作用，顾客70%的购买行为是临时决定的，通过终端陈列，消费者可瞬间决定购买决策行为。因此现场氛围的营造至关重要。本文为大家分享一下如何更好的营造现场氛围。\n现场氛围营造原则\n1、差异性：作为CI系统的延伸，只在现场推广中使用，但要有别于竞争对手同类别终端布置。\n2、识别性：消费者较远的地方就可以清晰的看到产品展示，使商品传达独特的品牌信息。\n3、灵活性：由于各级市场终端质量不一，使得终端的形态也千奇百怪，有的位于拐角，有的是孤岛，有的是墙面，所有这些客观条件的制约，让终端销售气氛的营造要有相当的灵活性，能够适应终端卖场的各种形态。\n4、统一性：与上线传播紧紧配合，达到视觉上统一，信息统一。使商品始终要在终端出现。\n商品陈列原则\n1、品牌统一原则：所有生动化工具必须与公司的品牌形象相一致，显示品牌概念；\n2、品牌优先原则：产品摆放商标应一致向外，促销活动主题必须围绕“产品品质”，销售代表的工作必须以“产品品质”为核心；\n3、商品先进先出原则：同类产品新货品应往后置放，旧货品应往前置放；\n4、重点陈列原则：新品和重点产品必须占据最佳摆放位置，占据大部分位置；\n5、商品的清洁：理货员每天应清洁一次产品，商标一致向外，摆放符合公司标准要求；\n6、广告物和促销品完好原则：灯箱、海报、指引牌、促销品等形象性的宣传必须放置在对应的促销产品旁边，并保证完好无损，毁损应及时更换。

消费者行为习惯特征\n1、90%的消费者不喜欢走很多路或掉头购买所需商品；\n2、消费者一般不愿俯身，踮脚、挺身；\n3、消费者不喜欢去嘈杂，不清洁、黑暗的地方；\n4、消费者喜欢平视，不喜欢俯视或仰视；\n5、在商场或超市购物，消费者的移动速度平均为1米/秒。人的眼睛看到的东西如果小于1/3秒是不能留下印象的。在商品陈列位置的选择上应注意\n——在大卖场及标超的最佳陈列位置：\n1、 与目标消费者的视线尽可能等高的货架，一般是货架的二、三层位置；\n2、 顾客出入的集中区，人流量最大的通道；\n3、 货架两端或靠墙货架的转角处；\n4、 有收银通道的入口处或出口处；\n5、 靠近大品牌、名品牌的位置；\n6、 正对门、入门可见的位置；\n——小型门店的最佳陈列位置：\n1、台后面与视线等高的位置；\n2、靠近收银台的位置；\n3、柜台上的展示位置；\n——不佳的陈列位置：\n1、仓库、厕所入口旁；\n2、暗角落 ;\n3、过高过低的位置；\n4、店门口两侧死角；\n摆放商品需注意：\n1、 以包装正面面向消费者，使消费者对商品的商标、品名等留下深刻印象，侧面摆放商品，会造成销售量下降25%。\n2、 多重陈列面能够提高冲动性购买率，要争取最多的陈列面，同样产品最好要同时有三个以上的陈列面，只有一个陈列面则易被价格标签挡住，陈列面要放置稳定，不易翻倒。\n3、 商品摆放应考虑到周围邻居商品的情况，包括产品包装颜色与同色产品包装分开，以免使消费者造成混淆。\n4、 确保货架饱满，并保持足够库存量。\n5、 陈列预留出至少两个缺口，制造产品热销现象。\n6、 最好的货架位置，留给最快销产品。\n7、 新产品或重点推荐产品紧挨销售最快的产品，通过强势产品集中陈列带动其销售。\n8、 商品摆放从左到右，标价牌应定在第一件商品下端，作为商品位置的起点标记和隔邻商品的分界线。\n9、 商品陈列在货架上端时，要稍微向下倾斜，使消费者能够看清楚。\n10、不同品类的商品应安排在不同的排面单独摆放，不能使不同品类重叠摆放，否则会造销售下降16%。

引流商品如何配合陈列\n1、 引流商品加陈列比单独陈列的效果强得多，销售是单独陈列的1.8倍；\n2、 使用相应品牌的引流商品；\n3、 把引流商品运用在所有能够吸引消费者的地方，货架上、促销陈列架上以及门店内等；\n4、 定期更新引流商品；\n5、 使用最新的引流商品。\n价格、标签\n标示清楚、醒目的价格牌，是增加购买的动力之一。既可增加商品陈列的醒目宣传告示效果，又让消费者买的明白，可对同类产品进行价格比较，也可以写出特价和折扣数字以吸引消费者。如果消费者不了解价格，即使很想购买产品，也会犹豫，进而丧失一次销售机会。\n1、所有商品要有相应的价格标签；\n2、价格标签反映准确价格；\n3、价格标签清晰醒目；\n补货\n1、货架上的商品补充方法：从后面开始，而不是从前面把商品推进去，具体的方法是把货架上的原有的商品取出来，放在最前面，按旧货在前、中期存货居中，新货在后的顺序摆放产品。\n2、 随着货架上的商品不断被顾客买走，尤其在高峰期时，有许多商品会凹到货架里面，应及时地把凹到里面的商品往外移，避免因许多商品没有被顾客看见，错过了销售的机会。\n3、 充分利用既有陈列空间，以发挥最大的效用及魅力，切忌让它有中空或货源不足的现象，以免竞争者乘虚而入，目前货架的争夺己进入白热化状态，如果对自己的阵地没有悉心照料，巩固好防线，稍不留意，就会被竞争对手挤进来。\n现场布置和环境气氛\n应严格按照设计好的商品陈列手册进行售点布置。现场摆放整齐，品类齐全，层次清晰，配备POP、价签标牌及宣传单页，要时刻注意陈列架及周围的洁净卫生，POP应张贴规范，无污损或缺角。\n商品新款上市或重点推广产品应摆放在最醒目、最显眼的位置，容易产生第一眼印象。\n现场要营造出独具特色，能吸引消费者注意力的购物氛围，突出品牌形象。有条件的话，在终端卖场配备显示器，随时联机演示商品的生产工艺、食材专题片，让消费者直观地了解商品的品质、安全性。

You can add a specified delimiter in markdown files.
Then turn down the token number and setup delimiter to the given one.
Now, it supports multi-char delimiter which should be surround by , like !#`.

Can you use my file to explain specifically how to operate it?

authors: KevinHuSh lvyoudashuju


text:
ISPN-6552 Remove Parser72

Leftover.

Ignore this

repo: infinispan/infinispan


text:
ISPN-8235 Test behaviour of projection and aggregations with both Sto…

…re.YES/NO with the sample 'bank.proto' schema
just a test.
https://issues.jboss.org/browse/ISPN-8235

Integrated, thanks @anistor

authors: anistor gustavonalle


text:
ISPN-8755 Incorrect local repository path in OSGi integration tests

https://issues.jboss.org/browse/ISPN-8755

Needs some more work... fixing the local repository location is not enough, because the integration tests need org.infinispan.protostream:protostream:xml:features:<version>, and that artifact is not downloaded by the build in the local repository.

@danberindei LGTM, CI looks fine and I'm ready to click on the merge button if you are fine on that. or do you need additional reviews ?

@karesti yes, it's fine. It doesn't really improve anything in CI, since we're not using a custom repository location here.

authors: danberindei karesti


text:
🛑 Status Page is down

In 6895573, Status Page (https://status.infinite8.co) was down:

HTTP code: 500
Response time: 275 ms

Resolved: Status Page is back up in 235a20e.


text:
Github page with Readme content

Need to make our splash down page.

http://infinitered.github.io/ignite/

repo: infinitered/ignite

license: mit

license_source: bigquery


text:
Memory is not released

I use image infinityworks/moby-container-stats:latest@sha256:612990e7284b07f2639b26011ab949caa1cf534b194e960b8dc275cdde041d9a as a service (docker swarm mode) with configured memory and cpu limits. I noticed that memory is not released. Please, see screenshot https://www.awesomescreenshot.com/image/2968964/0e1a6e5331c04bd3e546bd165860b90c.
There is docker-stack.yml service definition:
services:
  containers-stats-exporter:
    image: infinityworks/moby-container-stats:latest@sha256:612990e7284b07f2639b26011ab949caa1cf534b194e960b8dc275cdde041d9a
    deploy:
      mode: global
      resources:
        limits:
          cpus: '0.1'
          memory: 48M
        reservations:
          cpus: '0.05'
          memory: 40M
      endpoint_mode: dnsrr
    environment:
      LOG_LEVEL: info
    ports:
      - target: 9244
        published: 9244
        mode: host
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro

Good spot, i'll take a look today.

After checking our systems, don't see the same behaviour. I realised the latest tag hadn't been pushed, we use versioned tags 05 in this case.
Just pushed that tag now, could you pull down the new latest tag and give it a go?

OK, I will try. Thanks :)

Now looks better :) Please, see https://www.awesomescreenshot.com/image/2969188/aee9e4d5b4f90af1dfc627802d28ebcb
Good job!
Could You add version tag for current latest image?

Already there! latest is now just pointing to the same sha as 05

Please, confirm that: https://www.awesomescreenshot.com/image/2969284/22aba5ee0845fda08e22541dd6c9181c
Publication dates are not the same :(

The dates aren't the same, the images are. 05 was released months ago,
the latest push is from the same commit, no changes made since 05
On 16 November 2017 at 09:21, Piotr Minkina notifications@github.com
wrote:

Please, confirm that: https://www.awesomescreenshot.com/image/2969284/
22aba5ee0845fda08e22541dd6c9181c
Publication dates are not the same :(
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/infinityworks/moby-container-stats/issues/7#issuecomment-344863285,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFSHTLHz8IP1JUFbbOfyKiZJh3ttPwRJks5s2_6ZgaJpZM4QgBri
.

--
________________________________________________
Ed Marshall
Principal Consultant
Infinity Works
Office: 0113 320 5010
Website:  www.infinityworks.com
Follow us on Twitter: @infinityworks https://twitter.com/infinityworks
Infinity Works are hiring!  Contact us at careers@infinityworks.com
careers@infinityworks.com
Infinity Works Consulting Limited is a limited company registered in
England and Wales
Company Registration No: 08189469 Registered Office: Apsley House, 78
Wellington Street, Leeds, LS1 2EQ
***** Email confidentiality notice *****
This message is private and confidential.  If you have received this
message in error, please let us know and remove it from your system.
--
***** Email confidentiality notice *****
This message is private and confidential.  If you have received this
message in error, please let us know and remove it from your system.

OK, thanks and sorry for the inconvenience. :)

authors: Rucknar piotrminkina

repo: infinityworks/moby-container-stats


text:
Implement parsing of shift DSL

closes https://github.com/infinyon/fluvio-jolt/issues/20

couple of comments. should have good test for grammar

I'll write a bunch of unit tests, also run it on the ported java version tests' expressions

@sehz, @galibey this should be ready to review/merge.
I added a bunch of tests so we can be sure it can parse test stuff in java jolt repo.
We can add fuzz test for parser. So we can be more confident there are no crashes or infinite loops in parser. I can do this in a future PR.

bors r+

repo: infinyon/fluvio-jolt


text:
Highlight configuration options in text.

Use monospace tag for configuration options to avoid confusions.

Thanks @ercpe! We just need you to sign the InfluxData Contributor License Agreement (CLA) before we can merge community contributions.

Done.

Thanks! Merged!

authors: ercpe sanderson


text:
Is there a way/query to detect a Influxdb 2.0 comared to a 1.x?

I maintain a plugin for influxdb for the smart home system ioBroker and I think about preparing comatibility. We already noticed that several command like SHOW DATABASES are not availabel in influxdb-1-compatibility-mode.
So the question is: How can I detect that a influxdb 2.0 is "on the other side" when I connect to it? Is there a "query command" where I can get a versionnumber? Or is it basically "SHOW DATABASE delivers an error" (but that could also be other reasons ...
Any idea?

Hi @Apollon77, the response body of the /health endpoint includes version information, I think it would be helpful for your use-case.
For example, if I curl the endpoint when running v2.0.1 locally, I get back:
{"name":"influxdb", "message":"ready for queries and writes", "status":"pass", "checks":[], "version": "2.0.1", "commit": "37cc047133"}

It should work for 1.x as well, if I curl a local 1.8.3 I see:
{"checks":[],"message":"ready for queries and writes","name":"influxdb","status":"pass","version":"1.8.3"}

I think this can help a lot.

repo: influxdata/influxdb


text:
panic running influx_inspect info

Running influx_inspect info
gives me
influx_inspect info
[cacheloader] 2016/04/12 23:34:56 reading file /Users/seif/.influxdb/wal/_internal/monitor/1/_00001.wal, size 1077
[cacheloader] 2016/04/12 23:34:56 reading file /Users/seif/.influxdb/wal/_internal/monitor/1/_00002.wal, size 169812
[filestore] 2016/04/12 23:34:56 /Users/seif/.influxdb/data/stress/default/2/000000001-000000001.tsm (#0) opened in 7.417241ms
[cacheloader] 2016/04/12 23:34:56 reading file /Users/seif/.influxdb/wal/stress/default/2/_00006.wal, size 0
[cacheloader] 2016/04/12 23:34:56 reading file /Users/seif/.influxdb/wal/_internal/monitor/1/_00003.wal, size 43295
[cacheloader] 2016/04/12 23:34:56 reading file /Users/seif/.influxdb/wal/_internal/monitor/1/_00006.wal, size 0
[tsm1] 2016/04/12 23:34:56 /Users/seif/.influxdb/data/_internal/monitor/1 database index loaded in 556.748µs
[tsm1] 2016/04/12 23:34:57 /Users/seif/.influxdb/data/stress/default/2 database index loaded in 535.600122ms
Shards: 2, Indexes: 2, Databases: 2, Disk Size: 170, Series: 0

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0xb8c51]

goroutine 1 [running]:
panic(0x52f420, 0xc8200120e0)
	/usr/local/Cellar/go/1.6/libexec/src/runtime/panic.go:464 +0x3e6
github.com/influxdata/influxdb/tsdb.(*FieldCodec).Fields(0x0, 0x0, 0x0, 0x0)
	/Users/seif/Projects/go/src/github.com/influxdata/influxdb/tsdb/shard.go:846 +0x41
main.cmdInfo(0xc8200dc860, 0x15)
	/Users/seif/Projects/go/src/github.com/influxdata/influxdb/cmd/influx_inspect/info.go:65 +0x1019
main.main()
	/Users/seif/Projects/go/src/github.com/influxdata/influxdb/cmd/influx_inspect/main.go:51 +0x56d

Im on it


text:
Time format off after upgrade to 1.1.1

Bug report
System info: [Include InfluxDB version, operating system name, and other relevant details]
InfluxDB shell version: 1.1.1
Ubuntu 14.04.2 LTS (GNU/Linux 3.13.0-46-generic x86_64)

Expected behavior: [What you expected to happen]
Query: select statusCode from response where time > now() - 30m
Expected to see statusCode from response measurement for the last 30 minutes.
Actual behavior: [What actually happened]
I actually see no results. I had to add an offset like where time > now() - 2455w to start seeing results. Is there an easy way to format or pad the time in some way?

It seems our timestamp is being truncated from 1484320341314 to 1484320341.
13 characters to a length of 10. Is there something we need to tell influx?

For reference: https://github.com/influxdata/influxdb/issues/6041


text:
InfluxData downloads page points to wrong URL of InfluxDB build

When I navigate to https://portal.influxdata.com/downloads I select:
Influxdb > Stable > Amd64 Ubuntu

and click the "Download" button which brings me to a page that reads:
Download Influxdb (Stable) for Amd64 Ubuntu
wget https://dl.influxdata.com/telegraf/releases/influxdb_1.2.0_amd64.deb
sudo dpkg -i influxdb_1.2.0_amd64.deb

MD5: f79959802930c7e9d6e81ffd366c0629

The URL provided is incorrect and returns a 404 Not Found response from the file server. The correct URL should be:
wget https://dl.influxdata.com/influxdb/releases/influxdb_1.2.0_amd64.deb

I suspect there are few other broken links as well.

See #7993

Stumbled across this as well, please fix.

Closing this since download links are maintained in a different repo: https://github.com/influxdata/docs.influxdata.com/issues/1014

authors: jwilder marthjod natemurthy phemmer


text:
K8SAutoscale InCluster Configuration Problem

I'm currently not able to get the k8sAutoscale() node to work.  When the TICK script is enabled, I get an error returned.
cannot use the k8sAutoscale node, could not create kubernetes client: unknown kubernetes cluster ""

I've configured kapacitord using environment variables.  With my kapacitor docker container launched within my Kubernetes cluster.  I verified the environment variables exist.
printenv | grep KAPACITOR_KUBERNETES
KAPACITOR_KUBERNETES_ENABLED=true
KAPACITOR_KUBERNETES_IN_CLUSTER=true

I tried to find the initializer for the In-Cluster configuration and found this line.  Should this reference the os.Getenv("KUBERNETES_SERVICE_HOST") instead of having http://kubernetes hardcoded in as the url?
https://github.com/influxdata/kapacitor/blob/master/services/k8s/client/client.go#L95
Version
Using official kapacitor:1.3 image
kapacitor version
Kapacitor 1.3.3 (git: HEAD ce586f35e89e75a1779e2b493caba15d66295a15)

Environment
Running inside Kubernetes 1.7.x within AWS

Could you share the configuration file being used by the process?
Unfortunately there are some weird edge cases with using env to configure Kapacitor where the configuration file needs to have the right place holders in order to work.

The kapacitor.conf is the default one packaged with the kapacitor Docker image.  In my setup, im not overriding this file.  Just layering configurations with ENV vars.

I'm installing this using helm.  Here is the command with some values blanked out.
helm install <package-name> \
--name kapacitor \
--set controler.replicaCount=1 \
--set image.repository=kapacitor \
--set image.tag=1.3 \
--set imagePullPolicy=ifNotPresent \
--set service.type=NodePort \
--set service.networkProtocol=TCP \
--set service.internalPort=9092 \
--set service.externalPort=9092 \
--set service.nodePort=30992 \
--set "env[0].name=KAPACITOR_LOGGING_LEVEL,env[0].value=DEBUG" \
--set "env[1].name=KAPACITOR_KUBERNETES_ENABLED,env[1].value=true" \
--set "env[2].name=KAPACITOR_KUBERNETES_IN_CLUSTER,env[2].value=true" \
--set "env[3].name=KAPACITOR_DATA_DIR,env[3].value=/kapacitor" \
--set "env[4].name=KAPACITOR_REPLAY_DIR,env[4].value=/kapacitor/replay" \
--set "env[5].name=KAPACITOR_INFLUXDB_0_URLS_0,env[5].value=<influxdb-url>" \
--set "env[6].name=KAPACITOR_INFLUXDB_0_USERNAME,env[6].value=<influxdb-user>" \
--set "env[7].name=KAPACITOR_INFLUXDB_0_PASSWORD,env[7].value=<influxdb-password>" \
--set "env[8].name=KAPACITOR_INFLUXDB_0_DB,env[8].value=<influxdb-database>" \
--set "env[9].name=KAPACITOR_INFLUXDB_0_RP,env[9].value=<influxdb-rp>" \
--set "env[10].name=KAPACITOR_INFLUXDB_0_SUBSCRIPTION_PROTOCOL,env[10].value=http" \
--set "env[11].name=KAPACITOR_INFLUXDB_0_HTTP_PORT,env[11].value=30992" \
--set "env[12].name=KAPACITOR_INFLUXDB_0_KAPACITOR_HOSTNAME,env[12].value=<reachable-host-name>" \
--set "volumes[0].name=kapacitor-volume,volumes[0].hostPath.path=/data/kapacitor" \
--set "volumeMounts[0].mountPath=/kapacitor,volumeMounts[0].name=kapacitor-volume" \
--namespace kube-system

My TICK script would also help too.  I realized there is a node.cluster property for the k8autoscale node which I'm not using.  But I also don't see it in the documentation for 1.3 either.
// database
var database string
// retention policy for database
var retentionPolicy string
// dataset collected within the retention policy
var measurement string
// Optional where filter
var where_filter = lambda: TRUE
// Optional list of group by dimensions
var groups = ['host']
// Which field to process
var field string
// The time scale to calculate the average against
var movingAverageCount = 60
// Deployment this is scaling for
var deploymentName = 'placeholder'
// Threshold for triggering
var target = 10.0
// time interval per scaling up
var scalingCooldown = 1m
// time interval per scaling down
var descalingCooldown = 2m

stream
	|from()
		.database(database)
		.retentionPolicy(retentionPolicy)
		.measurement(measurement)
		.where(where_filter)
		.groupBy(groups)
		.truncate(1s)
	// Compute the rate of requests per second per host
	|derivative(field)
		.as('point_per_second')
		.unit(1s)
		.nonNegative()
	|alert()
		.crit(lambda: "point_per_second" > target)
		.log('/var/log/test.log')
	|sum('point_per_second')
		.as('total_point_per_second')
	|movingAverage('total_point_per_second', movingAverageCount)
		.as('avg_point_per_second')
	// add window()
	|k8sAutoscale()
		// We are scaling a deployment.
		.kind('deployments')
		// The name of the replicaset to scale is found in the 'replicaset' tag.
		.resourceName(deploymentName)
		// Set the cool down timer values.
		.increaseCooldown(scalingCooldown)
		.decreaseCooldown(descalingCooldown)
		// Compute the desired number of replicas based on the
		// avg_point_per_second and target values.
		.replicas(lambda: int(ceil("avg_point_per_second" / target)))

@nathanielc Is there a reason why k8s.NewConfig() isn't part of the initialization process in this code block?

I think the above missing code is it.  I'm going to build a local copy and test it and I'll make a PR for this.

@lamchakchan Sorry for the last response, I have been out. I believe the NewConfig() was missing because of a backwards compatibility issue. Something about going from having just one k8s configuration section to allowing a list of them. I'll dig into this today and let you know. I saw your PR #1616, I'll let you know what I find.

@lamchakchan Does it work for you if you use KAPACITOR_KUBERNETES_0_ENABLED and KAPACITOR_KUBERNETES_0_IN_CLUSTER?

@lamchakchan I have been unable to reproduce your error. Using either the index or non-index env var names. Is it possible to share your helm package?

@nathanielc sorry for the delay in getting back to you.  I'm still getting the error when trying the indexed _0_ environment key.  I'm available for a call to expedite this.
I can share the --debug output from the helm processing.  I <REDACTED> some values.  If you put the contents below into a single file and then follow up with a kubectl create -f <file> will create you the kapacitor pods I have.
# Source: xo-app-manifest/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: kapacitor-test-1
  labels:
        app: kapacitor
        environment: test
        role: test-worker
        stack: maintainence

spec:
  type: ClusterIP
  ports:
    - port: 9092
      targetPort: 9092
      protocol: TCP
      name: kapacitor-test-1
  selector:
    environment: test
    stack: maintainence
    role: test-worker
---
# Source: xo-app-manifest/templates/deployment.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: kapacitor-test-1-xo-app-manifest
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: kapacitor
        environment: test
        role: test-worker
        stack: maintainence

    spec:
      containers:
      - name: kapacitor-test-1
        image: kapacitor:1.3
        imagePullPolicy: IfNotPresent
        volumeMounts:
        - mountPath: /kapacitor
          name: kapacitor-volume

        env:
          - name: "KAPACITOR_LOGGING_LEVEL"
            value: "DEBUG"
          - name: "KAPACITOR_KUBERNETES_0_ENABLED"
            value: "true"
          - name: "KAPACITOR_KUBERNETES_0_IN_CLUSTER"
            value: "true"
          - name: "KAPACITOR_DATA_DIR"
            value: "/kapacitor"
          - name: "KAPACITOR_REPLAY_DIR"
            value: "/kapacitor/replay"
          - name: "KAPACITOR_INFLUXDB_0_URLS_0"
            value: "<REDACTED>"
          - name: "KAPACITOR_INFLUXDB_0_USERNAME"
            value: "kapacitor"
          - name: "KAPACITOR_INFLUXDB_0_PASSWORD"
            value: "mink-U9UPje!"
          - name: "KAPACITOR_INFLUXDB_0_DB"
            value: "kubernetes"
          - name: "KAPACITOR_INFLUXDB_0_RP"
            value: "2-weeks"
          - name: "KAPACITOR_INFLUXDB_0_INSECURE_SKIP_VERIFY"
            value: "true"
          - name: "KAPACITOR_INFLUXDB_0_SUBSCRIPTION_PROTOCOL"
            value: "http"
          - name: "KAPACITOR_INFLUXDB_0_HTTP_PORT"
            value: "9092"
          - name: "KAPACITOR_INFLUXDB_0_KAPACITOR_HOSTNAME"
            value: "<REDACTED>"
        resources:
          limits:
            cpu: 100m
            memory: 128Mi
          requests:
            cpu: 100m
            memory: 128Mi

        ports:
        - containerPort: 9092
      volumes:
        - hostPath:
            path: /data/kapacitor
          name: kapacitor-volume

After the pod boots up, I kubectl exec -it into it and installed this TICK script using kapacitor define.
stream
    |from()
        .database('kubernetes')
        .retentionPolicy('2-weeks')
        .measurement('docker_container_cpu')
        .where(lambda: ("io.kubernetes.container.name" == 'kapacitor' OR "io.kubernetes.container.name" == 'heapster')  AND "environment" == 'preproduction')
        .truncate(1s)
    // |groupBy('container_name')
    |alert()
        .crit(lambda: "usage_percent" > 0)
        .log('/var/log/everything.log')
    |movingAverage('usage_percent', 30)
        .as('average_resource')
    |eval(lambda: int(ceil("average_resource" / float(19))))
        .as('replicaCount')
    |alert()
        .crit(lambda: "replicaCount" > 0)
        .log('/var/log/test.log')
    |k8sAutoscale()
	// 	// We are scaling a deployment.
 	.kind('deployments')
	// 	// The namespace of the deployment
 	.namespace('default')
	// 	// The name of the replicaset to scale is found in the 'replicaset' tag.
 	.resourceName('test-loader-xo-app-manifest')
	// 	// Set the cool down timer values.
 	.increaseCooldown(2m)
 	.decreaseCooldown(5m)
	// 	// The minimum amount of replica to have regardless of averages
 	.min(2)
	// 	// Compute the desired number of replicas based on the
	// 	// avg_point_per_second and target values.
 	.replicas(lambda: "replicaCount")

Here are the result of this action.
root@kapacitor-test-xo-app-manifest-3378918348-xf0qd:~# kapacitor define test-loader -dbrp kubernetes.2-weeks -tick ./ter.tick -type stream
root@kapacitor-test-xo-app-manifest-3378918348-xf0qd:~# kapacitor show test-loader
ID: test-loader
Error:
Template:
Type: stream
Status: disabled
Executing: false
Created: 13 Nov 17 16:08 UTC
Modified: 13 Nov 17 16:08 UTC
LastEnabled: 01 Jan 01 00:00 UTC
Databases Retention Policies: ["kubernetes"."2-weeks"]
TICKscript:
stream
    |from()
        .database('kubernetes')
        .retentionPolicy('2-weeks')
        .measurement('docker_container_cpu')
        .where(lambda: ("io.kubernetes.container.name" == 'kapacitor' OR "io.kubernetes.container.name" == 'heapster') AND "environment" == 'preproduction')
        .truncate(1s)
    // |groupBy('container_name')
    |alert()
        .crit(lambda: "usage_percent" > 0)
        .log('/var/log/everything.log')
    |movingAverage('usage_percent', 30)
        .as('average_resource')
    |eval(lambda: int(ceil("average_resource" / float(19))))
        .as('replicaCount')
    |alert()
        .crit(lambda: "replicaCount" > 0)
        .log('/var/log/test.log')
    |k8sAutoscale()
        //     // We are scaling a deployment.
        .kind('deployments')
        //     // The namespace of the deployment
        .namespace('default')
        //     // The name of the replicaset to scale is found in the 'replicaset' tag.
        .resourceName('test-loader-xo-app-manifest')
        //     // Set the cool down timer values.
        .increaseCooldown(2m)
        .decreaseCooldown(5m)
        //     // The minimum amount of replica to have regardless of averages
        .min(2)
        //     // Compute the desired number of replicas based on the
        //     // avg_point_per_second and target values.
        .replicas(lambda: "replicaCount")

DOT:
digraph test-loader {
stream0 -> from1;
from1 -> alert2;
alert2 -> movingAverage3;
movingAverage3 -> eval4;
eval4 -> alert5;
alert5 -> k8s_autoscale6;
}
root@kapacitor-test-xo-app-manifest-3378918348-xf0qd:~# kapacitor enable test-loader
enabling task test-loader: cannot use the k8sAutoscale node, could not create kubernetes client: unknown kubernetes cluster "", cannot get client

Also, the printenv output for the related session from above.
root@kapacitor-test-xo-app-manifest-3378918348-xf0qd:~# printenv | grep KUBERNETES_0
KAPACITOR_KUBERNETES_0_IN_CLUSTER=true
KAPACITOR_KUBERNETES_0_ENABLED=true

Run in to the same issue .. fixed it by just adding enable kubernetes to kapacitor.conf .. rest of configuration can still be overwritten with environment variables
 [kubernetes]
    enabled = true

.. as a side note, that can all be done in Kubernetes using a configMap volume without the need of having to rebuild the docker image. That configMap can then be mounted in to /etc/kapacitor
apiVersion: v1
kind: ConfigMap
metadata:
  name: kapacitor-config
  namespace: crawler
data:
  kapacitor.conf: |
    data_dir = "/var/lib/kapacitor"

    [replay]
      dir = "/var/lib/kapacitor/replay"

    [storage]
      boltdb = "/var/lib/kapacitor/kapacitor.db"

    [kubernetes]
      enabled = true
      in-cluster = true

    [logging]
      file = "STDERR"
      level = "DEBUG"

    [config-override]
      enabled = true

authors: lamchakchan nathanielc neuhausler

repo: influxdata/kapacitor


text:
Remove in package.sh

The package.sh has a rm statement in line 137:
rm $GOPATH/bin/*
If you for example want to build Grafana from the same go path this statment is detrimental. Directly removing the generated influxdb binaries may be better

Thanks @Sineos

authors: Sineos otoolep

repo: influxdb/influxdb


text:
Field type conflict when indicating retention policy in query

I created successfully a new DB with a retention policy by doing:
CREATE DATABASE serverload
CREATE RETENTION POLICY fivedays ON serverload DURATION 5d REPLICATION 1 DEFAULT
When doing the following curl:
curl -i -XPOST 'http://mymachine:8086/write?consistency=&db=serverload&rp=default' --data-binary "load,env=production value=0.04"
I get a 400 Bad Request with error message write failed: field type conflict: input field "value" on measurement "load" is type float64, already exists as type string
When removing from the query string the element (and only this one) rp=default to get the following curl:
curl -i -XPOST 'http://mymachine:8086/write?consistency=&db=serverload' --data-binary "load,env=production value=0.04"
... it works and goes through responding with a HTTP/1.1 204 No Content. I can then see it was persisted doing in my browser the request http://mymachine:8086/query?q=select+value+from+load&db=serverload. I get the response:
{"results":[{"series":[{"name":"load","columns":["time","value"],"values":[["2015-08-17T13:51:19.94391978Z",0.04]]}]}]}

I am only using curl to debug as I had this issue with the official Go client

@simcap this curl statement: curl -i -XPOST 'http://mymachine:8086/write?consistency=&db=serverload&rp=default'... says "please write this point to the default retention policy", meaning the original RP created with the database that is named default.
To write to the fivedays RP, your query string should be: curl -i -XPOST 'http://mymachine:8086/write?consistency=&db=serverload&rp=fivedays'...

When you remove the explicit RP declaration from they query string, it writes to the retention policy that is set to be the default, which is fivedays.

Ok. Thanks a lot for the explanation.
But why would it fails if for the default retention policy? It is actually set in the request - by the official Go influxDB client - when no retention is given. Shouldn't the write work with any retention policy?

Sorry @beckettsean, I misunderstood what you meant. It is all clear now. Thanks.

authors: beckettsean simcap


text:
Use Case Evaluation, Corporate input please

I represent a company that has a device that collects metrics every 2 seconds and uploads to a server every 20 mins. We have 2000 devices which have collected about 290GB of data in the past year. We're ramping up our production release and, over the next year, we're planning to have around 100,000 devices in the wild collecting up to 84 TB of data a year.
Each payload has 16 metrics per reading. What we need is the ability to get a good visualization on this data, and ensure it can scale to our needs, as well as filter it by time. Can you give me honest thoughts about this use case for InfluxDB? If you think you can match our needs, can I interact with someone on the corporate level to see if we can work together to make this happen?
This is our company: http://owletcare.com
Essentially we want to save the lives of infants across the world. If InfluxDB is scalable and ready for a project of this size, you may help us make that happen, and we'll put our trust in you.  ;)

@dovy I responded to your question on the mailing list and I believe you also submitted a ticket to support@influxdb.com. Both of those are appropriate places for this conversation, GitHub Issues is not (it's a general question, not a bug or feature request.)

authors: beckettsean dovy


text:
🛑 alternative site is down

In 583f063, alternative site (https://almgro7al3nzy.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: alternative site is back up in fe14c43 after 43 minutes.


text:
🛑 CHAT Website is down

In ffdc9f3, CHAT Website (https://chat.devf5r.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: CHAT Website is back up in 5b88c05.


text:
WIP: 'create connection' cmd

Closes: #630
Description
Depends on #676

For contributor use:

[ ] Updated the Unreleased section of CHANGELOG.md with the issue.
[ ] If applicable: Unit tests written, added test to CI.
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Updated relevant documentation (docs/) and code comments.
[ ] Re-reviewed Files changed in the Github PR explorer.

Codecov Report

Merging #688 (f8e34a2) into master (b1b37f5) will increase coverage by 30.1%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master    #688      +/-   ##
=========================================
+ Coverage    13.6%   43.8%   +30.1%
=========================================
  Files          69     152      +83
  Lines        3752    9840    +6088
  Branches     1374       0    -1374
=========================================
+ Hits          513    4317    +3804
- Misses       2618    5523    +2905
+ Partials      621       0     -621

Impacted Files
Coverage Δ

modules/src/address.rs
100.0% <ø> (ø)

...application/ics20_fungible_token_transfer/error.rs
0.0% <ø> (ø)

...ion/ics20_fungible_token_transfer/msgs/transfer.rs
0.0% <ø> (ø)

modules/src/events.rs
0.0% <ø> (ø)

modules/src/handler.rs
100.0% <ø> (ø)

modules/src/ics02_client/client_def.rs
47.7% <ø> (ø)

modules/src/ics02_client/client_type.rs
79.1% <ø> (+31.5%)
:arrow_up:

modules/src/ics02_client/context.rs
100.0% <ø> (ø)

modules/src/ics02_client/error.rs
100.0% <ø> (ø)

modules/src/ics02_client/events.rs
15.7% <ø> (+15.7%)
:arrow_up:

... and 257 more

Continue to review full report at Codecov.

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

authors: adizere codecov-io

repo: informalsystems/ibc-rs


text:
Extend pseudo-column to support presence checking

This aggregate will be useful if we want to show whether the assay exist instead of counts, and can be used in combination of presence-checking facet..
@karlcz you mentioned that there is an in-expensive way to do this.. Can you put the detail here?
Otherwise, what we can do is use the count aggregate and if it is more than 0 then it is present.

Chaise is already splicing in recordset pseudo columns as a separate
query for one column of aggregated results for one page of records. It
adds a pseudo column projection to a base query representing the
records in the current page.
The trick here would be to formulate a query which only returns the
subset of those records for which the pseudo column value would be
true. Instead of adding a pseudo column projection with an aggregate
function, translate the pseudo column into an extra path predicate to
filter the results.
When merging the result into the page, Chaise has to consider that the
rows present in the result are a sparse subset, setting their
presentation values to "true" while setting the other excluded rows in
the page to "false".
That should allow the database to look for a plan that detects related
record presence without having to perform the extra work to visit all
related records nor to aggregate them.

@hongsudt
I'm not sure if this is still needed or not. But with the addition of markdown_pattern to the pseudo-column definition, you can use cnt aggregate function and manipulate the display to do the presence checking.
{
  "source": [{"inbound": ["s", "f2_cons"]}, "f2_id"],
  "aggregate": "cnt",
  "display": {
    "markdown_pattern": "{{#if (eq $_self 0)}}No matching row found.{{else}}At least one matching row found.{{/if}}",
    "template_engine": "handlebars"
  }
}

I'm not sure about performance. Maybe adding a built-in presence-checking aggregate function might be the better option.

authors: RFSH hongsudt karlcz

repo: informatics-isi-edu/ermrestjs


text:
creation date, last updated

From alanruttenberg@gmail.com on August 08, 2009 14:28:05
OBO edit has an annotation creation_date, indicating the time the term was first added. Should we
add this to IAO ontology metadata? What about a term to indicate the date that the term was last
changed?
Original issue: http://code.google.com/p/information-artifact-ontology/issues/detail?id=43

From mcour...@gmail.com on September 22, 2009 20:16:14
I like the idea, but I think that in practice there would need to be an automated
system (Protege/OBO Edit) that would manage that at editing time. Otherwise I
strongly suspect editors won't keep reliably track of that information, and if we
can't trust it it looses its information value in my opinion.
Maybe we could contact tools developers and check if they would be willing to support
those annotations?

repo: information-artifact-ontology/IAO


text:
🛑 Uvirtual is down

In 33f9743, Uvirtual (https://uvirtual.unimonserrate.edu.co/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Uvirtual is back up in 0e6248b after 12 minutes.

repo: infraestructuraidt/status


text:
🛑 Biblioteca Digital is down

In d2af6f5, Biblioteca Digital (https://unimonserrate-library.ohelit.co/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Biblioteca Digital is back up in fdcced1 after 12 minutes.


text:
🛑 Sitio WEB Unimonserrate is down

In 675d06e, Sitio WEB Unimonserrate (https://www.unimonserrate.edu.co/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Sitio WEB Unimonserrate is back up in 53303bd.


text:
typescript error with mixed type

Several methods like .mul() or .div() can take as parameter a number or a fraction.
However with this code:
import Fraction from 'fraction.js';
function foo(a: Fraction, b: number | Fraction) {
  return a.mul(b);
}

I get this typescript error:
No overload matches this call.
  The last overload gave the following error.
    Argument of type 'number | Fraction' is not assignable to parameter of type 'NumeratorDenominator'.
      Type 'number' is not assignable to type 'NumeratorDenominator'.ts(2769)

As woraround I can do this:
import Fraction from 'fraction.js';
function foo(a: Fraction, b: number | Fraction) {
  if(b instanceof Fraction)
    return a.mul(b);
  return a.mul(b);
}

But I think it's useless...

Do you see where this problem occurs in the typescript definition? All functions use the FractionConstructor type, which overloads for fractions and numbers as well as others.

Any update on this or can the issue be closed?

authors: infusion yukulele


text:
DHCP OFFER message has wrong order?

I was thinking why my Thinkpad WinXP laptop doesn't understand DHCP offer or Xbox 360 and https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol example here i noticed that it sends message like this:
Option 1 : Subnet Mask
Option 3: Router
Option 6:Domain Name Server
Option 12:Host Name
Option 51:IP address Lease time
Option 53:DHCP Message Type
Option 54:DHCP Server Identifier
Option 255:-End-
When example macOS InternetSharing makes too message like in wikipedia:
Option 53:DHCP Message Type
Option 54:DHCP Server Identifier
Option 51:IP address Lease time
Option 1 : Subnet Mask
Option 3: Router
Option 6:Domain Name Server
Option 12:Host Name (not actually send on it)
Option 255:-End-
Maybe solves that issue when rearranged? I tried take a look how it is done but sorry i didn't get the code honestly now myself how to fix it... at least yet.
At the
_getOptions: function(pre, required, requested) {
Function.

I never heard of a specific order of DHCP options. Can you find a reference for that if that exists? If you want to have an ordering quickly hacked into it, I would add it to the addOption function of SeqBuffer.

Hmm..
From RFC 2132

9.8. Parameter Request List

This option is used by a DHCP client to request values for specified
configuration parameters.  The list of requested parameters is
specified as n octets, where each octet is a valid DHCP option code
as defined in this document.
The client MAY list the options in order of preference.  The DHCP
server is not required to return the options in the requested order,
but MUST try to insert the requested options in the order requested
by the client.

But then Microsoft shows their example in order:
https://support.microsoft.com/en-us/help/169289/dhcp-dynamic-host-configuration-protocol-basics
I can't test changing order because i looked couple hours and tried Object key and so but because of array opt.type wasn't working... So my skills ends there for now sorry to even try theory.
 1, 15,  3,  6,  44,
      46, 47, 31, 33, 249,
      43

These is been asked options.. But nothing really missing anything else than order is different when compared to working one (macOS own) which confuses me.
Thanks for comment!
PS3, Linux works but Microsoft doesn't get DHCP Offer.

Update i managed to get them in same order than working solution in place what was suggested. BUT It still fails so i look other areas than options now to fix this issue. There is couple spots still what is kinda of lacking of data.

authors: XantheFIN infusion

repo: infusion/node-dhcp


text:
Update protobuf-java to 3.15.0

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

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

labels: library-update, semver-minor

Superseded by #812.

repo: ing-bank/baker


text:
Manually check Courier PDF:s for double page exclusions

Manually inspect PDF-files to see if algorithmically found suspected double pages are in fact double pages or should be excluded.

Manual inspection yielded that the files with these id's should be excluded:

033144
071059
073487
074116
074589
110425

Results of manual inspection:

courier_id
pages
status

12656
18
ok

16653
18
ok

20805
18
ok

33144
64
exclude

35706
4
ok

50495
18
ok

52257
18
ok

56740
18
ok

58738
18
ok

60488
14
ok

60510
60
ok

61468
10 17
ok

62195
18
ok

62313
18
ok

62404
18
ok

63738
34
ok

64074
22
ok

64331
18
ok

64933
18
ok

65221
18
ok

65278
18
ok

66148
18
ok

66285
18
ok

66613
18
ok

66970
26
ok

67211
18
ok

67562
18
ok

68956
18
ok

68988
18
ok

69029
18
ok

69853
22
ok

69904
18
ok

69916
10 11 24
ok

69962
18
ok

69982
18
ok

71059
8 9
exclude

73487
11
exclude

74116
13
exclude

74589
8 9
exclude

74815
18
ok

74823
18
ok

74880
18
ok

74881
18
ok

74885
18
ok

74891
14
ok

78145
22
ok

78148
18
ok

78161
18
ok

78179
18
ok

78187
18
ok

78208
18
ok

78210
18
ok

78226
20
ok

78274
18
ok

78370
18
ok

78382
18
ok

110425
44
exclude


text:
using  default  import  on node-fetch

Using default keyword for importing node-fetch is required to run this module after webpack-build

Hey @FinnFrotscher!
Have you tested how this change influences the default nodejs flow? Are there any issues?

Hey @FinnFrotscher, pinging you again. Did you see my last question?

It works fine for me. But i have only  tested on my machine.

authors: FinnFrotscher inlife

repo: inlife/nexrender


text:
added ci as default lab when running pytest

Tests are still failing with the same failure as on master. I still need to look into that.

I've made the switch to accept an env var. Could you pay special attention to the correctness of the changelog message and the naming of the env var as I lack the context.

Merged in 2f31f30

repo: inmanta/terraform


text:
Fix for optional boolean Input (#5435)

Pull request opened by the merge tool on behalf of #5435

Merged in 390c714bfff76f95ffaa5c797c73ae9c49ae3c57

repo: inmanta/web-console


text:
chore: update scala-library from 2.13.7 to 2.13.13

About this PR
📦 Updates org.scala-lang:scala-library from 2.13.7 to 2.13.13
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
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!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-lang", artifactId = "scala-library" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.scala-lang", artifactId = "scala-library" }
}]

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

Superseded by #205.


text:
1500条英文语音训练了1000epoch，合成后是莫名其妙的英文语句

大佬，你好
我在1500条英文语音训练了1000epoch，
在训练时没有遇到问题，推理后生成语音有点奇怪，
不提示任何错误，但是生成的语音听着是英文，一点都不通顺，像是音素拼到一起的感觉。
请问有什么解决建议吗？
提前感谢~
对于错误音频，我上传了这个位置，https://github.com/zhanglina94/tts-v1/tree/main/emo_tts
感兴趣的朋友可查看~~

请问您解决了吗，我也遇到了相同的问题

是不是cleaner出了问题，你们选的是哪个cleaner

请问您解决了吗，我也遇到了相同的问题

没有，没时间修改呢~

是不是cleaner出了问题，你们选的是哪个cleaner

我用的就是默认的英文的cleaner

是不是cleaner出了问题，你们选的是哪个cleaner

我用的就是默认的英文的cleaner

噢噢，我看你的JSON文件里写的是 "text_cleaners":["korean_cleaners"],我还以为是不是这里写错了

是cleaner的问题，我从另一个代码中复制了cleaner就比以前好多了

是cleaner的问题，我从另一个代码中复制了cleaner就比以前好多了

可以问问你用了哪个cleaner吗？我换了好几个效果都不太行，我用的原版vits的Englishcleaner2

def english_cleaners2(text):
'''Pipeline for English text, including abbreviation expansion. + punctuation + stress'''
text = convert_to_ascii(text)
text = lowercase(text)
text = expand_abbreviations(text)
phonemes = phonemize(text, language='en-us', backend='espeak', strip=True, preserve_punctuation=True, with_stress=True)
phonemes = collapse_whitespace(phonemes)
return phonemes
使用这个cleaner是可以出效果的，你试试

请问你们有用中文实现的吗？我用中文实现，合成出来的也是乱七八糟的声音

您好 请问可以指导如何复现吗，搞了好几天一直出问题解决不了

repo: innnky/emotional-vits


text:
chore: add CHANGELOG.md

standard-version - npm
https://www.npmjs.com/package/standard-version

Generate CHANGELOG.md with standard-version
Back to before v0.0.3
$ git checkout v0.0.3

$ git log -n 2
commit f74204404501b9a80d82583d9254c62f0695bba3 (HEAD, tag: v0.0.3)
Author: INOUE Takuya <inouetakuya5@gmail.com>
Date:   Sun May 22 17:21:53 2022 +0900

    v0.0.3

commit 7a9d21c3b1bfa74df6017da7c926cf341ab7878d
Merge: 28439b9 e728bfc
Author: INOUE Takuya <inouetakuya5@gmail.com>
Date:   Sun May 22 16:53:42 2022 +0900

    Merge pull request #69 from inouetakuya/fix-package-json-types

    fix: "types" property of package.json

git co 7a9d21c3b1bfa74df6017da7c926cf341ab7878d
Previous HEAD position was f742044 v0.0.3
HEAD is now at 7a9d21c Merge pull request #69 from inouetakuya/fix-package-json-types

$ git co -b before-v0.0.3
Switched to a new branch 'before-v0.0.3'

Generate CHANGELOG.md
$ npx standard-version
✔ bumping version in package.json from 0.0.2 to 0.0.3
✔ created CHANGELOG.md
✔ outputting changes to CHANGELOG.md
✔ committing package.json and CHANGELOG.md
✔ tagging release v0.0.3
fatal: tag 'v0.0.3' already exists

Command failed: git tag -a v0.0.3 -m chore(release): 0.0.3
fatal: tag 'v0.0.3' already exists

Check
$ git log -n 2
commit eff1929ecfd4c0b5e6224d45ee7d8b07dbe8b10e (HEAD -> before-v0.0.3)
Author: INOUE Takuya <inouetakuya5@gmail.com>
Date:   Sun May 22 18:48:00 2022 +0900

    chore(release): 0.0.3

commit 7a9d21c3b1bfa74df6017da7c926cf341ab7878d
Merge: 28439b9 e728bfc
Author: INOUE Takuya <inouetakuya5@gmail.com>
Date:   Sun May 22 16:53:42 2022 +0900

    Merge pull request #69 from inouetakuya/fix-package-json-types

    fix: "types" property of package.json

Cherry pick
$ git co changelog
Switched to branch 'changelog'

$ git cherry-pick eff1929ecfd4c0b5e6224d45ee7d8b07dbe8b10e
[changelog dff5261] chore(release): 0.0.3
 Date: Sun May 22 18:48:00 2022 +0900
 1 file changed, 19 insertions(+)
 create mode 100644 CHANGELOG.md

$ git log -n 1
commit dff526168bd4f58d8006ef29b5b941cafc947211 (HEAD -> changelog)
Author: INOUE Takuya <inouetakuya5@gmail.com>
Date:   Sun May 22 18:48:00 2022 +0900

    chore(release): 0.0.3

Update commit message
$ git ca
[changelog b707464] chore: generate CHANGELOG.md with standard-version
 Date: Sun May 22 18:48:00 2022 +0900
 1 file changed, 19 insertions(+)
 create mode 100644 CHANGELOG.md

repo: inouetakuya/google-nest-notifier


text:
Replace partial functions skFromBytes and vkFromBytes with total function versions

Note:  This is a behavioural change.  In particular, instead of failing immediately on detecting ByteString length mismatch the error will propagate upwards so it can be handled.
Particular attention should be paid to rawDeserialiseVerKeyVRF and rawDeserialiseSignKeyVRF which are functions that return Maybe, which means callers are not going to know why these functions failed.
Fixing this requires an API change.

This is failing in this way:
    PraosVRF
      serialisation
        raw
          VerKey:                               FAIL
            *** Failed! Falsified (after 1 test):
            VerKeyPraosVRF "0\148\186\CANp94\214&\161\140\208\199\218\158\212Q-\235\240\148\155T\238\NUL\219_B\160\&0\231Y"
            Use --quickcheck-replay=70213 to reproduce.
          SignKey:                              FAIL
            *** Failed! Falsified (after 1 test):
            SignKeyPraosVRF "\NUL\NUL\NUL\NUL\SOH\NUL\NUL\SOH\SOH\SOH\NUL\SOH\SOH\SOH\NUL\SOH\NUL\SOH\NUL\SOH\SOH\SOH\NUL\NUL\NUL\SOH\NUL\SOH\SOH\SOH\SOH\SOHj\170*2\234i\218\200\174\241\222*x\233\192#@\177J\209\215\240\182I1l\152jO)\155\233"
            Use --quickcheck-replay=15340 to reproduce.
          Cert:                                 OK (0.03s)
            +++ OK, passed 100 tests.
        size
          VerKey:                               OK
            +++ OK, passed 100 tests.
          SignKey:                              OK
            +++ OK, passed 100 tests.
          Cert:                                 OK (0.03s)
            +++ OK, passed 100 tests.
        direct CBOR
          VerKey:                               FAIL
            *** Failed! Falsified (after 1 test):
            VerKeyPraosVRF "\220,\151]P\180\EOT\DC4\r\195\145\208\145\154\176n\216\DC2\131\189!M\"\176z_\134\172z\146\131#"
            DecoderErrorDeserialiseFailure "" (DeserialiseFailure 34 "decodeVerKeyVRF: cannot decode key")
            Use --quickcheck-replay=530443 to reproduce.
          SignKey:                              FAIL
            *** Failed! Falsified (after 1 test):
            SignKeyPraosVRF "\NUL\NUL\SOH\NUL\SOH\NUL\SOH\NUL\NUL\NUL\SOH\SOH\NUL\NUL\SOH\SOH\NUL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\NUL\SOH\NUL\NUL\EMzE\217\224\137\SYN\169\223\177\201(\192\190ks\143\DC3;\231\171\232u`@\200\197/\239F\233\207"
            DecoderErrorDeserialiseFailure "" (DeserialiseFailure 66 "decodeSignKeyVRF: cannot decode key")
            Use --quickcheck-replay=215173 to reproduce.

repo: input-output-hk/cardano-base


text:
Queries sometimes throwing cannot read property 'schema' of undefined

Platform

[x] Linux / Ubuntu

Platform version:
Runtime

[x] Docker

Steps to reproduce the bug

Run graphql and let it sync
Open playground or command line
Run the attached query
Result is inconsistent i.e. most times it throws and error and other times it returns the desired result
cardano-query.txt

What is the expected behavior?
Return the same result each time it is queries

The error you're reporting could be due to cardano-db-sync is crashing and restarting. Can you provide a sample of the docker-compose stack logs?

CoinFirm.txt
Recent logs. Let mw know your thoughts. Thanks

Ok this is actually a duplicate of #464 . See https://github.com/input-output-hk/cardano-graphql/issues/464#issuecomment-812301489 as the solution to workaround this until the next release

authors: fash rhyslbw

repo: input-output-hk/cardano-graphql


text:
Decision: exclude pool that don't honour their pledge from protocol?

In the current design, a pool where the owners have pledged stake to increase their rewards will be excluded from the protocol if the owners fail to delegate that much stake.
We could also consider just stripping the pool of its rewards. We would then rely on pool members to re-delegate for the Sybil protection.

I am no expert on these questions, but it sounds weird to a common person, like making Sybil protection itself more "human dependant" than "mechanical".

We discussed this during the delegation session at the company meeting. We agreed that excluding pools that do not meet their pledge from the protocol (until they possibly meet their pledge in a future epoch), as written in the current spec, is indeed the correct thing to do.
In addition, the delegation centre should suppress the listing of pools that currently do not meet their pledge, unless the user specifically asks for them to be included in the listing.

authors: kantp vantuz-subhuman

repo: input-output-hk/cardano-ledger-specs


text:
[BUG] - Issue with the Cardano Node and ufw

IExernal
Internal   if an IOHK staff member.
External   otherwise.
Summary
After building the node on Ubuntu 20(TLS). the Node started and connected to peers.
to add more security I enabled the ufw with the following :
ufw allow 3001/tcp
ufw allow  ssh
ufw enable
restart the node log mode LiveView  and my node was not showing any peer on the list and all the stats are in 0
Steps to reproduce
Steps to reproduce the behavior:
1 ) Stop the node (log mode liveView)
2) allow /tcp any
3) restart the node
Note if you start the node on SimpleView you can see that you node is connected.
Expected behavior
node showing peers and stats
System info (please complete the following information):

OS: Ubuntu
Version . 20.04
Node version : 10.13.0

Screenshots and attachments

If applicable, add screenshots, config files and/or logs to help explain the problem.

Additional context
Add any other context about the problem here.

You need to set TraceBlockFetchDecisions to true in the config for peers to be listed in LiveView.
See https://github.com/input-output-hk/cardano-node/issues/982.

Hello @smaug-group ,
The TraceBlockFetchDecisions is set to true.
The node was working fine and  displaying  Peers. the Issue started after I enabled the ufw .
After I enable it the Peers were not displayed and even after turning the ufw to disabled the issue was still there.
PS: In simple View I can see that the node is connected to 2 peers.

I think that I figured out what is the problem.
I need to allow also the port :13788 and 13798 in the UFW.
Can some from IOHK confirm what are the port that has to be allowed ?
Thank you

is ufw blocking localhost traffic? No ports other than 3001 should need opened to the public. Everything else should be internal (or at least only listening on your internal LAN if your customizing the config to expose them).

@disassembler
Does the core need inbound connection from the my relay ?
If it is running on port 3000 should I allow inbound from IPs(public) of the relies?

I believe we can close this.

authors: disassembler djalillounis kevinhammond smaug-group

repo: input-output-hk/cardano-node


text:
[BUG] - PlutusScriptV1 is not supported in Babbage

Internal
Area
Plutus    Related to Plutus Scripts (Alonzo).
Summary
Building babbage-era transaction with Plutus script in Babbage era fails with
Command failed: transaction build  Error: The script language PlutusScriptLanguage PlutusScriptV1 is not supported in the Babbage era.

Building alonzo-era transaction with Plutus script in Babbage era fails with
cardano-cli: toAlonzoPParams: Decentralization value required in Alonzo era
CallStack (from HasCallStack):
  error, called at src/Cardano/Api/ProtocolParameters.hs:1418:45 in cardano-api-1.33.0-G5f0eGKxspf1AYjSZoxnBV:Cardano.Api.ProtocolParameters

System info (please complete the following information):

OS Name: Fedora 35
Node version: vasil-testnet-v1

Additional context
According to @ch1bo it is fixed by https://github.com/input-output-hk/cardano-node/pull/3882

The The script language PlutusScriptLanguage PlutusScriptV1 is not supported in the Babbage era. is likely expected by the fact that PlutusScriptV1 was not listed in scriptLanguageSupportedInEra over here.
At least that part should be fixed by PR #3882. Not sure about the second part about Decentralization value required in Alonzo era

Similar error for SimpleScriptV1
And likely also SimpleScriptV2 ;)

@ch1bo Exactly :-)
Command failed: transaction build-raw  Error: The script language SimpleScriptLanguage SimpleScriptV2 is not supported in the Babbage era.

the same error is shown also when minting multi assets without Plutus scripts:
mkdir -p policy
cardano-cli address key-gen \
    --verification-key-file policy/policy.vkey \
    --signing-key-file policy/policy.skey

KEYHASH=$(cardano-cli address key-hash --payment-verification-key-file policy/policy.vkey)

SCRIPT=policy/policy.script
rm -f $SCRIPT
echo "{" >> $SCRIPT
echo "  \"keyHash\": \"${KEYHASH}\"," >> $SCRIPT
echo "  \"type\": \"sig\"" >> $SCRIPT
echo "}" >> $SCRIPT

cardano-cli transaction policyid --script-file policy/policy.script > policy/policyID
policyid=$(cat policy/policyID)
tokenname=$(echo -n "test_token_babbage" | xxd -b -ps -c 80 | tr -d '\n')

cardano-cli transaction build \
    --babbage-era \
    --testnet-magic $MAGIC \
    --tx-in 4749dd0dfffb4eb6594b5cb1e0a7bbcdc741fed79a1a80fa70d49f191d02e8de#0 \
    --change-address $(cat addr/addr1.addr) \
    --tx-out "$(cat addr/addr1.addr)+100000000+500 $policyid.$tokenname" \
    --mint="500 $policyid.$tokenname" \
    --minting-script-file $SCRIPT \
    --witness-override 2 \
    --out-file tx1_ma.txbody

Command failed: transaction build  Error: The script language SimpleScriptLanguage SimpleScriptV1 is not supported in the Babbage era.

Closed with permission of @mkoura


text:
Is there a way to run a node with both the explorer and wallet feature

For Ethereum, we can run geth using which we can both send transactions and read transaction receipts. Is it possible for cardano to run a standalone node with both the explorer and wallet  feature?
From the documentation, it seems that we have to run cardano-node for the wallet and cardano-explorer for the explorer.
Let me know if I am getting something wrong?

You can see from https://github.com/input-output-hk/cardano-sl/blob/874ed709ff1a200e414eeb805e8d5d26f609a384/scripts/launch/connect-to-cluster/default.nix#L75 which configurations are shared between the wallet and the explorer

@SebastienGllmt This is really helpful. Closing.

authors: SebastienGllmt darxtrix

repo: input-output-hk/cardano-sl


text:
create license notice (short)

and here the second file for Cardano SL, short notice.

Description

Linked issue

Type of change

[ ] 🐞 Bug fix (non-breaking change which fixes an issue)
[ ] 🛠 New feature (non-breaking change which adds functionality)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🏭 Refactoring that does not change existing functionality but does improve things like code readability, structure etc
[ ] 🔨 New or improved tests for existing code
[ ] ⛑ git-flow chore (backport, hotfix, etc)

Developer checklist

[ ] I have read the style guide document, and my code follows the code style of this project.
[ ] If my code deals with exceptions, it follows the guidelines.
[ ] I have updated any documentation accordingly, if needed. Documentation changes can be reflected in opening a PR on cardanodocs.com, amending the inline Haddock comments, any relevant README file or one of the document listed in the docs directory.
[ ] CHANGELOG entry has been added and is linked to the correct PR on GitHub.

Testing checklist

[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

QA Steps

Screenshots (if available)

How to merge
Send the message bors r+ to merge this PR. For more information, see
docs/how-to/bors.md.

:thinking: ... and cardano-sl is currently under MIT license.

authors: KtorZ nathankaiser


text:
Disable library gold linking when build for explorer

Without this fix, explorer doesn't compile due to a bug in GHC

@gromakovsky @georgeee @neongreen this one is needed for staging deploy, could someone review?

Also please cherry-pick to branch that will be used for TN0.5

@domenkozar I cherry-picked to cardano-sl-0.5-rc.

authors: domenkozar gromakovsky


text:
Cardano wallet wrong port error

Steps to reproduce:

Follow official guide until step 3.2.2 https://github.com/input-output-hk/shelley-testnet/blob/master/docs/stake_pool_operator_how_to.md "For the Incentivized Testnet using Cardano-Wallet CLI"
Then follow https://github.com/cardano-foundation/incentivized-testnet-stakepool-registry/wiki/How-to-Register-Your-Stake-Pool-on-Chain Step 3: Fund your account Option B using cardano-wallet

$ cardano-wallet wallet create MyWallet
Please enter a 15–24 word mnemonic sentence: ***
Please enter a 9–12 word mnemonic second factor: ***
Please enter a passphrase: ***
Throws:

HttpExceptionRequest Request {
host                 = "localhost"
port                 = 8090
secure               = False
requestHeaders       = [("Accept","application/json;charset=utf-8,application/json"),("Content-Type","application/json;charset=utf-8")]
path                 = "/v2/wallets"
queryString          = ""
method               = "POST"
proxy                = Nothing
rawBody              = False
redirectCount        = 10
responseTimeout      = ResponseTimeoutDefault
requestVersion       = HTTP/1.1
}
(ConnectionFailure Network.Socket.connect: <socket: 11>: does not exist (Connection refused))

Information
-

Version
2019.12.13 (git revision: f3576be15de4976e753dea212aa5d44c334bd204)

Platform
Linux

Installation
From Github release

HI @EdouardLvdl , did you start the wallet backend server & its node (Jörmungandr) before running this command? (As explained in Step 1 ?

Yes, I started jormungandr and my node is synced

If using Step 3 Option B (cardano-wallet), then you need to also run the command in the "Using cardano-wallet" option of Step 1.

Thanks for your help, it is indeed required to install jormungandr by following this guide https://github.com/input-output-hk/jormungandr versus just running the node.
Would be nice to have such step highlighted in https://github.com/input-output-hk/shelley-testnet/blob/master/docs/stake_pool_operator_how_to.md as well

lol

authors: EdouardLvdl KtorZ cheffNFT rvl

repo: input-output-hk/cardano-wallet


text:
Missing database migration for active_slot_coeff

Context

We "recently" added the active_slot_coeff blockchain parameters to the checkpoint data. Yet, for database existing before the release, we have missed a migration..

Information
-

Version
v2019.12.16+

Platform
All

Installation
N/A

Steps to Reproduce

Create a wallet with a version prior to v2019.12.16
Stop the server
Start a server running on v2019.12.16+

Expected behavior

Wallets can be restored successfully

Actual behavior

The worker exits because of a failing migration.

SQLite3 returned ErrorConstraint while attempting to perform step: NOT NULL constraint failed: checkpoint_backup.active_slot_coeff

Resolution

QA

Hi @KtorZ
What value should the migration provide, and how should it obtain this value?
The current values seem to be obtained by reading getActiveSlotCoefficient from the value obtained by calling getInitialBlockchainParameters (which is dependent on the Jormungandr backend). Can this value change between calls?
Is this parameter available at the point where we perform a DB migration, and should we use the current value, or a historical value instead?
(Inspecting the DB manually shows this value is currently 1.0.)

I tried to reproduce this with the following steps:

Build release v2019-12-13 (the release prior to v2019-12-16).
Start the server (with launch) and create a wallet.
Shut down the server.
Build e135938137da3d61d7a9784cd4b3132b6ad7ab40 (the current tip of master)
Start the server (with `launch) and watch out for fireworks.

I get the following error, which is slightly different from the error reported in this issue:
[cardano-wallet:Debug:22] [2020-01-09 03:15:00.49 UTC] Using connection string: /home/jsk/.local/share/cardano-wallet/jormungandr/testnet/wallets/stake-pools.sqlite
[cardano-wallet.query:Debug:22] [2020-01-09 03:15:00.49 UTC] CREATE TEMP TABLE "pool_owner_backup"("pool_id" VARCHAR NOT NULL,"pool_owner" VARCHAR NOT NULL,"pool_owner_index" INTEGER
 NOT NULL, PRIMARY KEY ("pool_id","pool_owner","pool_owner_index"))
[cardano-wallet.query:Debug:22] [2020-01-09 03:15:00.49 UTC] INSERT INTO "pool_owner_backup"("pool_id","pool_owner") SELECT "pool_id","pool_owner" FROM "pool_owner"
SQLite3 returned ErrorConstraint while attempting to perform step: NOT NULL constraint failed: pool_owner_backup.pool_owner_index
[cardano-wallet:Debug:4] [2020-01-09 03:15:00.49 UTC] Logging shutdown.
cardano-wallet-jormungandr: SQLite3 returned ErrorConstraint while attempting to perform step: NOT NULL constraint failed: pool_owner_backup.pool_owner_index

I'll try to reproduce with an earlier version (v2019-12-16), and see if I can replicate the same error reported in this issue.

Just tried with v2019-12-13 --> v2019-12-16, and got the same error on startup:
[cardano-wallet:Debug:22] [2020-01-09 03:50:23.50 UTC] Using connection string: /home/jsk/.local/share/cardano-wallet/jormungandr/testnet/wallets/stake-pools.sqlite
[cardano-wallet.query:Debug:22] [2020-01-09 03:50:23.51 UTC] CREATE TEMP TABLE "pool_owner_backup"("pool_id" VARCHAR NOT NULL,"pool_owner" VARCHAR NOT NULL,"pool_owner_index" INTEGER NOT NULL, PRIMARY KEY ("pool_id","pool_owner","pool_owner_index"))
[cardano-wallet.query:Debug:22] [2020-01-09 03:50:23.51 UTC] INSERT INTO "pool_owner_backup"("pool_id","pool_owner") SELECT "pool_id","pool_owner" FROM "pool_owner"
SQLite3 returned ErrorConstraint while attempting to perform step: NOT NULL constraint failed: pool_owner_backup.pool_owner_index
[cardano-wallet:Debug:4] [2020-01-09 03:50:23.51 UTC] Logging shutdown.
cardano-wallet-jormungandr: SQLite3 returned ErrorConstraint while attempting to perform step: NOT NULL constraint failed: pool_owner_backup.pool_owner_index

Okay. I can finally reproduce the bug described in this issue, but only after performing the following steps:

Build release v2019-12-13 (the release prior to v2019-12-16).
Start the server (with launch) and create a wallet.
Shut down the server.
Delete the file ~/.local/share/cardano-wallet/jormungandr/testnet/wallets/stake-pools.sqlite.
Build release v2019-12-16.
Start the server (with `launch).

Then we see:
SQLite3 returned ErrorConstraint while attempting to perform step: NOT NULL constraint failed: checkpoint_backup.active_slot_coeff
[cardano-wallet.worker:Error:28] [2020-01-09 04:13:50.61 UTC] bf04d83b: Worker has exited unexpectedly: SQLite3 returned ErrorConstraint while attempting to perform step: NOT NULL constraint failed: checkpoint_backup.active_slot_coeff

@jonathanknowles This was a known issue taken care of by https://github.com/input-output-hk/cardano-wallet/issues/1177. The pool database will "migrate" itself automatically but that's only since v2019.12.23 (or exactly, a few commits after v2019.12.16).

So, in order to reproduce the bug above, it's probably best to go from v2019.12.13 to v2019.12.23 (or simply current master).

So, in order to reproduce the bug above, it's probably best to go from v2019.12.13 to v2019.12.23 (or simply current master) such that the pool db migration error is handled, and remains only the active_slot_coeff one.

@KtorZ Unfortunately this doesn't appear to be working.
Going from v2019-12-13 (f3576be15de4976e753dea212aa5d44c334bd204) to the current master (10b5512222e09ef788dcea82628113add4291460) still results in an NOT NULL constraint failed: pool_owner_backup.pool_owner_index error:
jsk@neon:~/projects/input-output-hk/cardano-wallet$ stack exec cardano-wallet-jormungandr -- launch --genesis-block lib/jormungandr/test/data/jormungandr/block0.bin
[cardano-wallet:Info:4] [2020-01-13 03:17:06.42 UTC] Using directory: /home/jsk/.local/share/cardano-wallet/jormungandr/testnet
[cardano-wallet:Info:4] [2020-01-13 03:17:06.42 UTC] Using directory: /home/jsk/.local/share/cardano-wallet/jormungandr/testnet/wallets
[cardano-wallet:Info:4] [2020-01-13 03:17:06.42 UTC] Running as v2020.1.7 (git revision: 10b5512222e09ef788dcea82628113add4291460)
[cardano-wallet.application:Info:4] [2020-01-13 03:17:06.42 UTC] Wallet backend server starting...
[cardano-wallet.application:Info:4] [2020-01-13 03:17:06.42 UTC] Node is Jörmungandr on testnet
[cardano-wallet.daedalus-ipc:Info:17] [2020-01-13 03:17:06.42 UTC] Daedalus IPC is not enabled.
[cardano-wallet.network:Notice:18] [2020-01-13 03:17:06.44 UTC] Starting process jormungandr
     --genesis-block lib/jormungandr/test/data/jormungandr/block0.bin
     --rest-listen 127.0.0.1:35759
     --storage /home/jsk/.local/share/cardano-wallet/jormungandr/testnet/chain

[cardano-wallet.network:Info:18] [2020-01-13 03:17:06.44 UTC] [jormungandr.17209] Process started
Jan 13 03:17:06.451 INFO Starting jormungandr 0.8.5 (, release, linux [x86_64]) - [rustc 1.38.0 (625451e37 2019-09-23)], task: init
Jan 13 03:17:06.451 WARN Node started without path to the stored secret keys (not a stake pool or a BFT leader), task: init
Jan 13 03:17:06.452 INFO storing blockchain in '"/home/jsk/.local/share/cardano-wallet/jormungandr/testnet/chain/blocks.sqlite"', task: init
Jan 13 03:17:06.493 WARN No trusted peers joinable to bootstrap the network, task: bootstrap
[cardano-wallet.network:Info:22] [2020-01-13 03:17:07.45 UTC] Waiting for Jörmungandr to be ready on tcp/35759
[cardano-wallet.network:Info:22] [2020-01-13 03:17:07.45 UTC] Jörmungandr is ready.
cardano-wallet-jormungandr: SQLite3 returned ErrorConstraint while attempting to perform step: NOT NULL constraint failed: pool_owner_backup.pool_owner_index

But as pointed out in https://github.com/input-output-hk/cardano-wallet/issues/1251#issuecomment-572376486, I can work around this issue by deleting ~/.local/share/cardano-wallet/jormungandr/testnet/wallets/stake-pools.sqlite and restarting.

@jonathanknowles indeed :o !
I thought it was an occurence of https://github.com/input-output-hk/cardano-wallet/issues/1200 but, it is yet something else. See #1261

I'm afraid there is one more trouble. Don't know why, but inthe end of an epoch cardanoWallet pools worker may just stuck and remove the database with no any actions after. But it recreates this after manually restart. I cant reproduce it by my wish, so didnt an issue. Prolly its related with something from this thread.

Hi @KtorZ
@rvl and I had a discussion about this issue earlier today. We came up with two potential solutions:
Solution 1: Remove the field

Change the code so that it gets the activeSlotCoefficient parameter from the (initial) result of calling getInitialBlockchainParameters on the backend node (e.g., Jörmungandr) rather than reading it from the checkpoint table.
Remove the active_slot_coeff field from the checkpoint table schema definition inCardano.Wallet.DB.Sqlite.TH.
Change newDBLayer so that immediately after calling startSqliteBackend, we check whether the checkpoint table has an active_slot_coeff field.
If the field IS present, we:

issue a query to delete this field from the table;
continue with startup as normal.

Solution 2: Keep the field

Change newDBLayer so that after calling startSqliteBackend, we check whether the checkpoint table has the active_slot_coeff field.
If the field is NOT present, we:

issue a query to delete all rows from the checkpoint table (since they don't have a value for this field, and we can't assume a particular default value);
issue a query to add the active_slot_coeff field;
continue with startup as normal.

@KtorZ From the above options, do you have a strong preference for how we solve this issue? Thanks!

@Fell-x27 if you'd like to open an issue describing what you saw (logs are especially useful in that case), please do :pray:
@jonathanknowles Solution 1 is not going to be an option I am afraid. The active_slot_coefficient belongs to the realm of updatable protocol parameters. Thus, even though reading it from the genesis block would work as an immediate fix, we would have to re-introduce it to be tracked alongside checkpoint anyway.
Solution 2 works better if I understand correctly what the approach would be. Incidentally, I just discussed with Daedalus something suggested by a user earlier in a GH ticket: the ability to force-resync a wallet. This would be pretty handy at this level here, forcing to drop every checkpoints in the database (but the genesis one) and, resync.
The main problem with doing this for the migration is that we would have to also drop the genesis checkpoint here, because it also contains the active slot coefficient. This checkpoint can however be replaced easily without loss of user-data (which are stored in a separate table).

authors: Fell-x27 KtorZ jonathanknowles