text:
Added new event to validate entity payload before write

1. Why is this change necessary?
This change serves plugin developers the possibility to pre-validate entity payloads before they are written to the database. For example if I have mandatories to the entity data.
Note: I will also put a new event to pre-validate entities before deletion in the next pull request.
2. What does this change do, exactly?

new event class \Shopware\Core\Framework\DataAbstractionLayer\Event\EntityWritePayloadEvent
\Shopware\Core\Framework\DataAbstractionLayer\Write\EntityWriter added EventDispatcher as service
\Shopware\Core\Framework\DataAbstractionLayer\Write\EntityWriter::sync added EntityWritePayloadEvent
\Shopware\Core\Framework\DataAbstractionLayer\Write\EntityWriter::write added EntityWritePayloadEvent

Example Subscriber:
    public function onEntityWritePayload(EntityWritePayloadEvent $event) {
        foreach (MyMarketplace::MARKETPLACE_MANDATORIES as $table) {
            if ($event->getDefinition()->getEntityName() === $table) {
                dump($event->getPayload());exit; // Simple dump() to test
            }
        }
    }

3. Describe each step to reproduce the issue or behaviour.
4. Please link to the relevant issues (if any).
https://github.com/shopware/platform/issues/1983#issuecomment-888021277
5. Checklist

[ ] I have written tests and verified that they fail without my change
[x] I have squashed any insignificant commits
[x] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.vagrant seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Did you tried \Shopware\Core\Framework\DataAbstractionLayer\Write\Validation\PreWriteValidationEvent event?

@moorl
We are currently working on a similar solution (NEXT-14139). The solution also takes nested associations into account. In your current implementation you only get one event passed, for the root entity. Nested associations are not taken into account, so you can't rely on the event.

authors: CLAassistant OliverSkroblin moorl shyim

repo: shopware/platform


text:
Call getDefaults only for new entities

1. Why is this change necessary?
The method Shopware\Core\Framework\DataAbstractionLayer\EntityDefinition::getDefaults is currently called not only for newly created entities but also for existing ones.
Applying default values to existing entities makes no sense, so this behavior leads to the following problem:
You have to copy this code part to every override of the method:
if ($existence->exists()) {
    return [];
}

If you forget this code part, you will get errors during runtime, that are hard to debug. (See 3. for an example)
I predict this will happen very often because the most developers out here will NOT expect the method getDefaults to be called for existing entities.
You can see examples even in  code of this repo:

Shopware\Core\Checkout\Order\Aggregate\OrderDelivery\OrderDeliveryDefinition::getDefaults
Shopware\Core\Content\Property\Aggregate\PropertyGroupOptionTranslation\PropertyGroupOptionTranslationDefinition::getDefaults
Shopware\Core\Framework\MessageQueue\DeadMessage\DeadMessageDefinition::getDefaults
Shopware\Core\Framework\MessageQueue\MessageQueueStatsDefinition::getDefaults
Shopware\Core\Framework\ScheduledTask\ScheduledTaskDefinition::getDefaults
Shopware\Core\Framework\Version\Aggregate\VersionCommit\VersionCommitDefinition::getDefaults
Shopware\Core\Framework\Version\VersionDefinition::getDefaults

2. What does this change do, exactly?
The method Shopware\Core\Framework\DataAbstractionLayer\EntityDefinition::getDefaults is now called for new entities only.
3. Describe each step to reproduce the issue or behaviour.
You can reproduce the error as follows:
Create an entity and implement the method getDefaults like this:
    public function getDefaults(EntityExistence $existence): array
    {
        return [
            'position' => 1,
        ];
    }

This is how most developers will expect the method to be implemented.
Now create an entity like this:
$id = Uuid::getRandomHex();
$repository->create([[
    'id' => $id,
    'name' => 'Some name',
    'position' => 3,
]], $context);

Change the name without providing the position:
$repository->update([[
    'id' => $id,
    'name' => 'Some name',
]], $context);

The value of position is now 1, even though you never wanted to set it to 1.
4. Please link to the relevant issues (if any).
5. Checklist

[ ] I have written tests and verified that they fail without my change
[x] I have squashed any insignificant commits
[ ] I have written or adjusted the documentation according to my changes
[x] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

hey @windaishi
thanks for your contribution :+1:
I imported your changes, and if everything is ok, it will be merged soon

@windaishi @OliverSkroblin Is there a reason to still keep the EntityExistence-parameter for the getDefaults() call?
IMHO we don't need it anymore and it can be removed and should be documented in the changelog and upgrade files

@keulinho it is still used in the MediaFolder- and ProductDefinition. for different behaviour on inheritance

thanks for your contribution @windaishi :+1: :tada: :blue_heart:
we went a bit further and completely removed the $existence parameter

source: gharchive/pull-request

authors: keulinho mitelg windaishi

license: MIT

license_type: permissive

license_source: github-api


text:
Major Break: Theme dump command

PHP Version: any   | Shopware Version: 6.6.8  | Affected area / extension: Platform(Default)

Expected behaviour:
theme:dump command requires no parameters and works like before.
Actual behaviour:
theme:dump command requires a theme id and a domain url
How to reproduce:
The following commit introduced a major break for the theme:dump command
https://github.com/shopware/shopware/commit/bedefeb661d0f7e30a345faffc2b7b8e23aad005#diff-3165909bd8895ecec50a12e6f1aee1ba724cb85d4eddc25890ea941a0d8f8d80R67
It is now required to provide a theme id and a domain url, which is a major break due to the fact that this command is required for pipelines.
Please make this optional and when nothing is provided, act like before.

Also please note that you should use the interact()method of the command for interactive questions. When doing so the interaction will be skipped when running the command using the -n flag. When asking questions inside execute() the -n flag will be ignored.

[public]

FixVersion Change: 6.6.9.0

This issue will be / was solved in Shopware version 6.6.9.0.
[created from NEXT-39724, comment 516065]

source: gharchive/issue

repo: shopware/shopware


text:
Added block to article model for adding associations

1. Why is this change necessary?
If you extend the backend views of the article backend app, e.g. adding a new tab, you might want to use associations to handle relations between articles and custom models.
2. What does this change do, exactly?
Adds an empty smarty block prior to the default associations.
3. Describe each step to reproduce the issue or behaviour.

4. Please link to the relevant issues (if any).

5. Which documentation changes (if any) need to be made because of this PR?
none
6. Checklist

[ ] I have written tests and verified that they fail without my change
[ ] I have squashed any insignificant commits
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/SW-19757.
Please use this issue to track the state of your pull request.

Hi @dneustadt, thank you for your contribution! 💙  We just merged your PR and it will be part of the v5.3.4 release of Shopware. 🎉

authors: dneustadt shopwareBot soebbing


text:
NO-TICKET: fixing and defined but empty aws endpoint key

1. Why is this change necessary?
If you defined an aws endpoint like %env(AWS_ENDPOINT)% in your shopware.yaml and set the AWS_ENDPOINT to "".
It generates a false endpoint url. If you dont defined the yaml key endpoint, it works.
2. What does this change do, exactly?
This change checks the endpoint key to and existing and not empty check.
3. Describe each step to reproduce the issue or behaviour.
See 1. create a aws configuration with an empty endpoint: "" key.
4. Please link to the relevant issues (if any).
No issue ticket. But see here: https://shopwarecommunity.slack.com/archives/C011VFQT7GB/p1722434704147929
5. Checklist

[x] I have rebased my changes to remove merge conflicts
[ ] I have written tests and verified that they fail without my change
[ ] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

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

hey @sgc-fireball
thanks for your contribution! would you mind signing the CLA?
And please add a test case for your change here: \Shopware\Tests\Unit\Core\Framework\Adapter\Filesystem\Adapter\AwsS3v3FactoryTest

authors: CLAassistant mitelg sgc-fireball


text:
Could not load fightw.hdfs

Hi,
Thanks for sharing your great work.
I'm trying to run predict_video1/2 without any success
I'm getting this warning:
2021-04-08 14:02:28.227955: W tensorflow/core/util/tensor_slice_reader.cc:95] Could not open ./fightw.hdfs: Data loss: not an sstable (bad magic number): perhaps your file is in a different file format and you need to use a different restore operator?
It may affect the results? it's not accurate at all, not even close.

Same with me
Kindly share the solution!

authors: Aaryan-kapur Amitabitbul


text:
Italic style regex

I want to not turn hello_beautiful_world into
hellobeautifulworld
 but considering it a single word, containing _.
My use case is when using emojis containing two underscores: :couple_with_heart: will be converted into
:couplewithheart:
. I just want to have it as
:couple_with_heart:

How can I configure the regex for italic style?

Please take a look at the documentation, wiki or README.md, namely the option literalMidWordUnderscores that does exactly what you're asking for.

Oh, that was simple. Thanks, @tivie! :cake:

This thread contains the only mention of "emoji" in the entire repo. :open_mouth:
I take it Showdown doesn't parse or otherwise touch emoji in any way (assuming options like literalMidWordUnderscores are set correctly), so a separate emoji parser is needed for e.g. showing proper emoji in GitHub comments? (Hope it's OK to bump this rather than starting a new "issue" that isn't one! :smile_cat:)

@dgw Hey! I'm happy to share with you the project I did at @Bloggify, called showdown-emoji. Currently it works for my use-cases––basically it uses the GitHub API Emoji images in the output. :grin:
Feel free to open issues if you have questions/suggestions/whatever. :rocket:
Hope it will help others too! :four_leaf_clover:

authors: IonicaBizau dgw tivie

repo: showdownjs/showdown

license: mit

license_source: bigquery


text:
Uncertainty in Agent Termination Due to Missing "Complete Action" in Action Space

Issue Description
In the example provided in the README, the GUI Agent’s action space does not include a “Complete Action,” making it unclear when the agent should terminate. Occasionally, the agent seems to enter an internal loop, possibly due to the missing “Complete Action” or incorrect input handling.
Below is the input structure I am using:
messages = [
    {
        "role": "user",
        "content": [
            {"type": "text", "text": system_prompt},
            {"type": "text", "text": f'Task: {query}'},
            {"type": "image"}, # previous screenshot
            {"type": "text", "text": "action result 1"},
            {"type": "text", "text": "action result 2"},
            {"type": "image"}, # current screenshot
        ],
    }
]

text = processor.apply_chat_template(
    messages, tokenize=False, add_generation_prompt=True,
)

image_0 = Image.open("./examples/1.png")
image_1 = Image.open("./examples/2.png")

inputs = processor(
    text=[text],
    images=[image_0, image_1],
    padding=True,
    return_tensors="pt",
)
inputs = inputs.to("cuda")
# ...

Questions

Is the above input structure correct for this model?
The model was trained with interleaved data, but is it appropriate to use only a single image for input?
Are there any additional configurations required to prevent the agent from entering an internal loop?
What was the list of actions during training dataset?

Attempted Fix
I added “Complete Action” to the action space, but it did not resolve the issue.
1. `CLICK`: Click on an element, value is not applicable and the position [x,y] is required.
5. `INPUT`: Type a string into an element, value is a string to type and the position [x,y] is required.
6. `SELECT`: Select a value for an element, value is not applicable and the position [x,y] is required.
7. `HOVER`: Hover on an element, value is not applicable and the position [x,y] is required.
8. `ANSWER`: Answer the question, value is the answer and the position is not applicable.
9. `ENTER`: Enter operation, value and position are not applicable.
10. `SCROLL`: Scroll the screen, value is the direction to scroll and the position is not applicable.
11. `SELECT_TEXT`: Select some text content, value is not applicable and position [[x1,y1], [x2,y2]] is the start and end position of the select operation.
12. `COPY`: Copy the text, value is the text to copy and the position is not applicable.
13. `STATUS TASK COMPLETE`: Indicates that the task was successfully completed, value and position are not applicable.
14. `STATUS TASK IMPOSSIBLE`: Indicates that the task could not be completed due to constraints or other issues, value and position are not applicable.

Hi @DaeHwanGi ,
Thanks for your deep interest in our work!
For 1: Please refer this issue: https://github.com/showlab/ShowUI/issues/5
For 2: Yes, it is available. As single image is a special case of the interleaved sequence (with len=1)
For 3: Please try 1, if still suffer, let us think what happen.
For 4: For the training dataset action list, it depends, such as PC, Web, Mobile are different, sometimes we might have customized action.

Hi @DaeHwanGi ,
I noticed the issue you raised regarding model do not have  "Complete Action". I was wondering if it has been resolved or if you're still encountering the problem.

Hi @DaeHwanGi ,
Thanks for your deep interest in our work!
For 1: Please refer this issue: #5 For 2: Yes, it is available. As single image is a special case of the interleaved sequence (with len=1) For 3: Please try 1, if still suffer, let us think what happen. For 4: For the training dataset action list, it depends, such as PC, Web, Mobile are different, sometimes we might have customized action.

Thank you for your response. In issue #5, it seems that the past action is placed before the image. However, based on my reading of the paper, I understood that the action at time t should appear after the image at time t. I’m not entirely sure which interpretation is correct. If possible, could you provide a simple example that includes the added past action? It would help clarify how these elements should be represented.
Additionally, I remain uncertain about how to determine when a task is considered complete in a real-world setting if there is no explicit “complete” action. I had hoped that carefully adjusting the prompts would enable the model to generalize more effectively across various platforms, but this does not appear to be producing the intended results.

Hi @DaeHwanGi , I noticed the issue you raised regarding model do not have "Complete Action". I was wondering if it has been resolved by updating prompt or if you're still encountering the problem.

HI @Han1018. I have not observed any new actions being added to the results solely by modifying the prompt. My guess is that this issue might stem from a mismatch between the trained data and the prompt, or possibly because the model is too small and lacks sufficient generalization capability.

@DaeHwanGi  This is one limitation by our model, as our model so far being small scale, and the navigation data not being very generalize. We will continue improve our local model.
BTW, I might suggest that you try our solution here : https://github.com/showlab/computer_use_ootb?tab=readme-ov-file
which connects GPT-4o as planner with ShowUI as actor.
It is more reliable to determine the end of task.

authors: DaeHwanGi Han1018 QinghongLin

repo: showlab/ShowUI


text:
Чек выплаты проходит как чек внесения

Что мы делаем не так? Код приводит к печати чека Внесения, а не Выплаты.
printer.beginFiscalReceipt(true);
printer.setFiscalReceiptType(FiscalPrinterConst.FPTR_RT_CASH_OUT);
printer.printRecCash(toCents(amount));
printer.printRecTotal(0, toCents(amount), "0");
printer.endFiscalReceipt(true);
Чек выплаты будет печататься только если перед этим сделать выплату на 0 рублей. Причем при сумме 0 рублей выходит чек выплаты даже для чека внесения.
Также при первой печати чека Выплаты после подключения кассы выводится ошибка Receipt method is not supported.
Очень странное поведение.

printer.beginFiscalReceipt(true);
printer.setFiscalReceiptType(FiscalPrinterConst.FPTR_RT_CASH_OUT);

Эти две строчки должны иметь другой порядок, задавать тип чека нужно до его начала.


text:
Adding my Codechef solutions for various problems

Assign me this task @shubham7668

assign me this


text:
Update CONTRIBUTING.md

Add the contributing guidelines.

I'll take it

Done: https://github.com/shubhidua/Hacktoberfest-20/pull/5

Solved #7

@MihirBhave  add explaining the procedure of contributing to a repo in #3 as it will help newcomers to get started.

authors: MihirBhave bhagatparwinder shubhidua


text:
请问下个版本大概什么时候发布？

如题，发现这个版本问题挺多的，请问下个版本什么时候发布。

我们正在打造一个稳定版本，计划是年前发布，不过从目前评估情况看，年前发布有风险极大，很可能延期

authors: Fyuxuan epplera

repo: shulieTech/Takin


text:
errors with undefined blackfriday variables when installing

go version
go version go1.12.1 darwin/amd64
go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/julie/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/julie/go:/Users/julie/bin:/usr/local/opt/go/libexec"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/Cellar/go/1.12.1/libexec"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.12.1/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/dev/null"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/0_/k0p673rx4r9789jf0pm9425r0000gn/T/go-build590769926=/tmp/go-build -gno-record-gcc-switches -fno-common"

Output of go get -u github.com/shurcooL/markdownfmt
julie@Julies-Air|/tmp/mdtest
) go get -u github.com/shurcooL/markdownfmt

go: finding github.com/shurcooL/markdownfmt latest
go: finding github.com/shurcooL/go/indentwriter latest
go: finding github.com/shurcooL/go latest
go: finding golang.org/x/crypto/ssh/terminal latest
go: finding golang.org/x/crypto/ssh latest
go: finding golang.org/x/crypto latest
# github.com/shurcooL/markdownfmt/markdown
/Users/julie/go/pkg/mod/github.com/shurcoo!l/markdownfmt@v0.0.0-20190311045617-9de3a08f37e4/markdown/main.go:136:11: undefined: blackfriday.LIST_TYPE_ORDERED
/Users/julie/go/pkg/mod/github.com/shurcoo!l/markdownfmt@v0.0.0-20190311045617-9de3a08f37e4/markdown/main.go:145:11: undefined: blackfriday.LIST_TYPE_ORDERED
/Users/julie/go/pkg/mod/github.com/shurcoo!l/markdownfmt@v0.0.0-20190311045617-9de3a08f37e4/markdown/main.go:155:12: undefined: blackfriday.LIST_ITEM_END_OF_LIST
/Users/julie/go/pkg/mod/github.com/shurcoo!l/markdownfmt@v0.0.0-20190311045617-9de3a08f37e4/markdown/main.go:188:30: undefined: blackfriday.TABLE_ALIGNMENT_LEFT
/Users/julie/go/pkg/mod/github.com/shurcoo!l/markdownfmt@v0.0.0-20190311045617-9de3a08f37e4/markdown/main.go:196:30: undefined: blackfriday.TABLE_ALIGNMENT_RIGHT
/Users/julie/go/pkg/mod/github.com/shurcoo!l/markdownfmt@v0.0.0-20190311045617-9de3a08f37e4/markdown/main.go:212:9: undefined: blackfriday.TABLE_ALIGNMENT_LEFT
/Users/julie/go/pkg/mod/github.com/shurcoo!l/markdownfmt@v0.0.0-20190311045617-9de3a08f37e4/markdown/main.go:217:9: undefined: blackfriday.TABLE_ALIGNMENT_CENTER
/Users/julie/go/pkg/mod/github.com/shurcoo!l/markdownfmt@v0.0.0-20190311045617-9de3a08f37e4/markdown/main.go:226:9: undefined: blackfriday.TABLE_ALIGNMENT_RIGHT
/Users/julie/go/pkg/mod/github.com/shurcoo!l/markdownfmt@v0.0.0-20190311045617-9de3a08f37e4/markdown/main.go:467:2: cannot use mr (type *markdownRenderer) as type blackfriday.Renderer in return argument:
	*markdownRenderer does not implement blackfriday.Renderer (missing RenderFooter method)
/Users/julie/go/pkg/mod/github.com/shurcoo!l/markdownfmt@v0.0.0-20190311045617-9de3a08f37e4/markdown/main.go:487:21: undefined: blackfriday.EXTENSION_NO_INTRA_EMPHASIS
/Users/julie/go/pkg/mod/github.com/shurcoo!l/markdownfmt@v0.0.0-20190311045617-9de3a08f37e4/markdown/main.go:487:21: too many errors

Thanks for reporting.
The problem is that the package github.com/shurcooL/markdownfmt/markdown imports github.com/russross/blackfriday with the intention of getting the blackfriday v1 API. Unfortunately, the blackfriday v2 API made a v2.0.0 tag before modules came out (it was for the purpose of working with gopkg.in), and it results in the "latest" version of github.com/russross/blackfriday according to cmd/go to be v2.0.0+incompatible instead of something that's actually v1, e.g., v1.5.2.
I'm not sure if it's possible for blackfriday to fix the "latest" version of the github.com/russross/blackfriday import path so that it provides the v1 API rather than v2 (which is meant to be available at the github.com/russross/blackfriday/v2 import path). /cc @bcmills
I can fix it in this project by explicitly requiring an older compatible version v1.5.2 of github.com/russross/blackfriday. This issue and the fix are very similar to https://github.com/shurcooL/github_flavored_markdown/pull/22.

It turns out I can't use v1.5.2 because it's too old and doesn't include the fix for https://github.com/russross/blackfriday/issues/495.

I'll use the latest pseudo-version of v1 API for now, and open an issue for blackfriday to make a newer v1 release version. Opened https://github.com/russross/blackfriday/issues/533.

authors: dmitshur julieqiu

repo: shurcooL/markdownfmt


text:
Add: Hirdesh Kumar

Description
Profile details added to Profile.json file.
Changes Proposed
  {
    "name": "Hirdesh Kumar",
    "location": "Agra, UP India",
    "bio": "A Full Stack developer with mastery in developing MERN stack applications. Have developed apps for almost all domains",
    "avatar": "https://github.com/hirru.png",
    "portfolio": "https://github.com/hirru",
    "skills": ["Javascript", "ReactJS", "NextJS", "NodeJS", "HTML", "CSS"],
    "social": {
      "GitHub": "https://github.com/hirru",
      "Twitter": "https://twitter.com/hirdesY",
      "LinkedIn": "https://www.linkedin.com/in/hirdesh-kumar-498498118/"
    }
  },

Checklist

[x] I have read and followed the Contribution Guidelines.
[x] All new and existing tests passed.
[x] My code follows the code style of this project.
[x] The title of my pull request is a short description of the requested changes.

@hirru Thank you so much for your contribution! Your efforts are greatly appreciated and will go a long way in improving our project. Please feel free to share it with others and Star the repo to help us grow even further!

authors: hirru shyamtawli

repo: shyamtawli/devFind


text:
Collection of ISO codes for countries

In response to #40, we need help collecting ISO 3166-1 alpha-2 country codes for the following groupings:

EU (European Union)
Africa
Asia
South America
Europe

The codes should be an array of strings. With this, we can aggregate information on a continental level.

EU = ["se", "fi", "dk", "ie", "ee", "lv", "lt", "nl", "be", "lu", "de", "pl", "cz", "sk", "at", "hu", "ro", "bg", "si", "hr", "it", "fr", "es", "pt", "mt", "gr", "cy"]
(Total count should be 27 these days).

europe = eu + ["gb", "is", "fo", "no",  "ch", "mc", "ad", "sm", "va", "ba", "rs", "me", "mk", "al", "by", "ua", "ru"]
The following may be included depending on definition: "tr", "ge", "az", "am"
"gb" or "uk" are both reserved, but GB is the official one.

Europe also has a bunch of dependent territories with their own 2 letter code (e.g. AX is the Åland Islands in Finland), I assume these can be ignored?
Maybe they should be listed for completeness sake: "ax", "gl", "im", "gg", "je", "gi", and "sj". Where GL is debatable whether it is in Europe.

There are 44 countries in Europe right? How about we add the 17 (out of the EU) + the EU and call it EUROPE aggregation? Is that what you're saying? If so then this list of ISO codes is not up to 17

"ax", "gl", "im", "gg", "je", "gi", and "sj"

Am I making any sense?
Adding Åland Islands in Finland to European Aggregation will make sense I think.

Oooo I missed your preview post on this one

europe = eu + ["gb", "is", "fo", "no", "ch", "mc", "ad", "sm", "va", "ba", "rs", "me", "mk", "al", "by", "ua", "ru", "md"]

But that's 18 + 27 (EU) making 45 countries. There's an extra country. Will that be the Åland Islands?  Sorry I don't know the codes and haven't checked them.

I accidentally listed the Faroe Islands as an independent state. Think the tally should be right now.

Perfect! Thanks. I'll get this implemented tomorrow :)

south_america = ["AR" "BO", "BV", "BR", "CL", "CO", "EC", "FK", "GF", "GY", "PY", "PE", "GS", "SR", "UY", "VE"]

middle_america = ["BZ", "CR", "SV", "GT", "HN", "NI", "PA"]

Oh great! Thanks. Will get these done by Monday :)

carribian_islands = [ "BS", "TC", "KY", "CU", "HT", "DO", "JM", "PR", "VI", "VG", "AI", "AG", "MF", "SX", "BQ", "BL", "KN", "MS", "GP", "DM", "MQ", "LC", "VC", "GD", "BB", "TT", "AW", "CW"]

middle_east_excluding_cyprus = ["BH", "EG", "IR", "IQ", "IL", "JO", "KW", "LB", "OM", "PS", "QA", "SA", "SY", "TR", "AE", "YE"]

africa = ["DZ", "AO", "BJ", "BW", "BF", "BI", "CM", "CV", "CF", "TD", "KM", "CD", "CG", "CI", "DJ", "EG", "GQ", "ER", "SZ", "ET", "GA", "GM", "GH", "GN", "GW", "KE", "LS", "LR", "LY", "MG", "MW", "ML", "MR", "MU", "MA", "MZ", "NA", "NE", "NG", "RW", "ST", "SN", "SC", "SL", "SO", "ZA", "SS", "SD", "TZ", "TG", "TN", "UG", "ZM", "ZW", "EH"]

central_asia = ["KZ", "KG", "TJ", "TM", "UZ"]

east_asia = ["CN", "HK", "MO", "MN", "KP", "KR", "JP", "TW"]

south_asia = ["BT", "BD", "AF", "IN", "LK", "NP", "PK"]

south_east_asia = ["KH", "LA", "MM", "MY", "TH", "VN", "PH", "ID", "SG", "BN", "CX", "TL", "CC"]

✅ Africa done.

Can you please edit my original post and add the new groupings? To make it easier for me to follow what's implemented and what's not? @lorrden

✅ Europe done.

✅ South America cone.

I'd like to combine all Asian countries, there are 49 countries in Asia, the Asian arrays above give 33 countries... is there a chance you can help me get the rest? @lorrden

Last part of Asia, excluding Egypt (sinai), and Cyprus (cy); also including and the caucasus states (am, az, ge).
Russia was listed above as belonging to Europe, most of the population would be there anyway, same with Cyprus, which inherited Europe from being in the EU.
There are probably some Indian Ocean territories that have been missed in the lists.
I broke it down in smaller regions West Asia, etc since those are more well defined that Asia as a whole.
I think we have a tally larger than 49, I haven't looked at why, but there are some ISO codes assigned to non-generally recognised states which could explain some over count.
In any case:
west_asia = ["TR", "BH", "KW", "OM", "QA", "SA", "AE", "YE", "AM", "AZ", "GE", "IQ", "IL", "JO", "LB", "PS", "SY", "IR"]

oceania = ["AU", "FM", "PG", "GU", "MH", "MP", "KI", "NR", "PW", "FJ", "SB", "VU", "UM", "NC", "AS", "CK", "PF", "NZ", "NU", "NF", "PN", "WS", "TK", "TO", "TV", "WF"]

Can you please edit my original post and add the new groupings? To make it easier for me to follow what's implemented and what's not? @lorrden

I don't have permissions to do that.

OK no worries. I have gone ahead to implement a command to aggregate information on Asia. There might be 2 ISO codes that we'll need to remove. Can you please check and see which two we can removed to get 49 countries for Asia? The ISOs for Asia are here https://github.com/siaw23/kovid/blob/master/lib/kovid/request.rb#L16

I'm considering this done. Thanks a lot for the help! :)


text:
Cellprofiles update

Cellprofiles that are sent from the server are not always complete. They only represent the cell profiles of the records that have been sent in the fetch response.

Classes in Dart
class RecordFormat {
  Map<int, RowFormat> rowFormats = {};
}

class RowFormat {
  List<int> columnIndexToFormatIndex = [];
  List<CellFormat?> formats = [];

  RowFormat(this.columnIndexToFormatIndex, this.formats);
}

Parse from fetch
RecordFormat.fromJson(Map<String, dynamic> json, int from) {
    List<String?>? formatJson = List<String?>.from(json[ApiObjectProperty.format]);

    List<CellFormat> formats = [];
    for (String? formatString in formatJson) {
      formats.add(CellFormat.fromString(formatString));
    }

    dynamic recordsJson = json[ApiObjectProperty.records];
    int recordIndex = from;
    for (List<dynamic> recordIndexesDynamic in recordsJson ?? []) {
      rowFormats[recordIndex] = RowFormat(List<int>.from(recordIndexesDynamic), formats);
      recordIndex++;
    }
  }

Apply changes to existing Formats
if (pFetchResponse.recordFormats != null) {
  for (String key in pFetchResponse.recordFormats!.keys) {
    var newRecordFormat = pFetchResponse.recordFormats![key]!;
    var recordFormat = recordFormats[key] ??= RecordFormat();
    for (int rowIndex in pFetchResponse.recordFormats![key]!.rowFormats.keys) {
      recordFormat.rowFormats[rowIndex] = newRecordFormat.rowFormats[rowIndex]!;
    }
  }
}

tested with demo

authors: ToniHeiss maximilianweidenauer

repo: sibvisions/reactUI


text:
Fix explanation transforms for Mapping Transformers

The Mappings version of the one-hot encoder transformers have outdated explanation transform methods; these should be updated to the most accurate versions.

This has since been fixed

repo: sibyl-dev/pyreal


text:
Where should we update interactions in the simulation process when a contact collision algorithm is in the loop?

This issue is a follow-up of the PR #241.
The question is when we should call
updateWorldFromDS();
updateInteractions();
updateContactsFromChangeLog();

Several options:

per each time step
per each Newton loop

It is a bit tricky because if we update only at the beginning of the time-step, the local frame at contact (related to the Jacobian matrices of constraints) is constant over the time--step and the number of interactions is fixed.
In the Newton loop, we would like to update the local frames at contact (and/or Jacobian matrices of the constraints), to  be more accurate especially if there are some large finite rotations. The problem that we face for the moment, is the fact that some interactions may appear or disappear at each Newton iterations. This can cause some instability in the Newton method.
We would need to have only an update of the existing local frames without creating or deleting interactions. I do not know if it possible with the current API of bullet and our coupling.

One idea that I had on this was to call it in the loop, but only ever add contacts and never remove them.  (Per time step, of course, not over the whole sim.)  This would maintain numerical stability (I think), while still allowing them to be created when necessary.  It is tricky, I agree.

We would need to have only an update of the existing local frames without creating or deleting interactions.

I did however modify the contacts to be maintained in the local frame by recalculating _pc1/_pc2 from members _relPc1 and _relPc2 back in 01a06f2cfa5db43cf

closed. see #365

repo: siconos/siconos


text:
Migrate from goo.gl to tinyurl.com

~Adding qs to package.json (it was a transient dependency before, but making it explicit is better).~ Using the stdlib querystring module.
Fix #218.

@siddharthkp any update on this? All our builds depend on this and even though our deployments are able to continue, we do get a nice error notification with every commit we push... 😇

consider my approve as a Vote :)

authors: FrAgFo0d StephanBijzitter fsouza

repo: siddharthkp/bundlesize


text:
Changes to be made to gist

Description:
Here I have found out some of the gists that currently using have not updated recently. There are some of the changes need to be made. For example, in configuration YAML blocks need to remove wso2.datasources: entry.
Please refer the following documentation URL as an example.
[1] https://siddhi.io/en/v5.0/docs/config-guide/#siddhi-50-config-guide
Note: As a suggestion, it is better to remove these gists if we can because when we update the doc we have to change two locations.
Affected Siddhi Version:
5.1.2

We support datasources only from v5.1.2. however, +1 to move to code blocks instead of gists.

Please don't update the gists if it's an API change, because it can break some older docs.

Removed the gists of wso2.datasources

Removed all gists from 5.0 and 5.1 docs

authors: BuddhiWathsala niveathika suhothayan

repo: siddhi-io/siddhi


text:
Add docs on partition purging.

Purpose

Add information on partition purging.

Codecov Report

Merging #1251 into master will increase coverage by 0.02%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #1251      +/-   ##
============================================
+ Coverage     61.45%   61.47%   +0.02%
  Complexity       35       35
============================================
  Files           619      619
  Lines         24942    24942
  Branches       3909     3909
============================================
+ Hits          15327    15333       +6
+ Misses         8288     8283       -5
+ Partials       1327     1326       -1

Impacted Files
Coverage Δ
Complexity Δ

.../siddhi/core/util/event/handler/StreamHandler.java
74% <0%> (+12%)
0% <0%> (ø)
:arrow_down:

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 24237e3...555d1a0. Read the comment docs.

authors: codecov-io suhothayan


text:
Purchase: fix error with AccountBasedExpenseLineDetail typed as Ref

fixes #31
In a purchase, the AccountBasedExpenseLineDetail is a Ref object : should be an AccountBasedExpenseLineDetail.

Coverage remained the same at 96.702% when pulling 58d0545385649e947606e44103eb9a5cd46c9776 on AdrienDS:master into c2648d1252523876a46d6c3bb69a59bbbaf4e345 on sidecars:master.

authors: AdrienDS coveralls

repo: sidecars/python-quickbooks


text:
How do get org.freedesktop.DBus.Properties.PropertiesChanged events?

I have been unable to get any events that I was looking for:
srv.getInterface('/org/freedesktop/Notifications', 'org.freedesktop.DBus.Properties', function(err, obj) {
    obj.addListener('NameAcquired', console.log);
    obj.addListener('PropertiesChanged', console.log);
});

if I use dbus-monitor --system I can see events like:
signal sender=:1.3 -> dest=(null destination) serial=9843 path=/org/freedesktop/login1/session/c2; interface=org.freedesktop.DBus.Properties; member=PropertiesChanged
   string "org.freedesktop.login1.Session"
   array [
   ]
   array [
      string "IdleHint"
      string "IdleSinceHint"
      string "IdleSinceHintMonotonic"
   ]
signal sender=:1.3 -> dest=(null destination) serial=9844 path=/org/freedesktop/login1/seat/seat0; interface=org.freedesktop.DBus.Properties; member=PropertiesChanged
   string "org.freedesktop.login1.Seat"
   array [
   ]
   array [
      string "IdleHint"
      string "IdleSinceHint"
      string "IdleSinceHintMonotonic"
   ]
signal sender=:1.3 -> dest=(null destination) serial=9845 path=/org/freedesktop/login1/user/1000; interface=org.freedesktop.DBus.Properties; member=PropertiesChanged
   string "org.freedesktop.login1.User"
   array [
   ]
   array [
      string "IdleHint"
      string "IdleSinceHint"
      string "IdleSinceHintMonotonic"
   ]

Is it possible to get these login events properly?

could you post full example I can try? addListener / on should do what you need, not sure what is wrong
the code is here: https://github.com/sidorares/node-dbus/blob/dc4593f6a967001049d8e887fb720bcf1bdab36c/lib/introspect.js#L69
when you do object.on('signal name', handler) two things happen: 1) /org/freedesktop/DBus org.freedesktop.DBus.AddMatch is called with a rule for that signal, and 2) internal route is added to the table so that when message with signal arrives your handler is called.
Could you log what match rule is used ( result of getMatchRule ) ?

not much more to what I have so far (just started really), only other applicable line is srv var:
var srv = bus.getService('org.freedesktop.Notifications');
srv.getInterface('/org/freedesktop/Notifications', 'org.freedesktop.DBus.Properties', function(err, obj) {
    obj.addListener('NameAcquired', console.log);
    obj.addListener('PropertiesChanged', console.log);
});

I am trying to ensure I can get these events before I go any further.  I have tried addListener and on with no difference.
Where do I find/use the getMatchRule function?

it's internal, I was suggesting to put console.log after https://github.com/sidorares/node-dbus/blob/dc4593f6a967001049d8e887fb720bcf1bdab36c/lib/introspect.js#L68 line

type='signal',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameAcquired'
type='signal',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='message'
type='signal',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='PropertiesChanged'

looks like not full path to org.freedesktop.DBus.Properties, but if I try to use those obj interface returns null

@sidorares, I'm having the same issue, what debug info you need?

I had an issue installing this with node6 & ubuntu ( https://github.com/saghul/node-abstractsocket/issues/9 ), and a a result didn't have much time to test. Which node version are you using?

4.4.7

Has any progress been made with this issue?

authors: DaSpawn TheMSB YurySolovyov sidorares

repo: sidorares/node-dbus


text:
iot2050-image-example.bb:do_rootfs_install failed

when we build the image,we get the error:'Packages were downgraded and -y was used without --allow-downgrades',and it has some info 'The following packages will be DOWNGRADED:
libssl1.1
0 upgraded, 571 newly installed, 1 downgraded, 0 to remove and 0 not upgraded.
E: Packages were downgraded and -y was used without --allow-downgrades.
WARNING: exit code 100 from a shell command.' . we clear the project and rebuild, the error is same.
How can we fix it ?
branch:origin/stable/V01.02
build cmd: ./kas-container build kas-iot2050-example.yml:kas/opt/mirror-example.yml
error msg:  Packages were downgraded and -y was used without --allow-downgrades
log:
2023-02-16 02:22:22 - INFO     - kas 2.5 started
2023-02-16 02:22:22 - INFO     - /repo$ git rev-parse --show-toplevel
2023-02-16 02:22:22 - INFO     - /repo/kas/opt$ git rev-parse --show-toplevel
2023-02-16 02:22:22 - INFO     - /repo$ git rev-parse --show-toplevel
2023-02-16 02:22:22 - INFO     - Using /repo as root for repository meta-iot2050
2023-02-16 02:22:22 - INFO     - /work/isar$ git remote set-url origin https://github.com/ilbers/isar
2023-02-16 02:22:22 - INFO     - /work/isar$ git cat-file -t e274130b870b7e31532fe191b9932cde1d819b4b
2023-02-16 02:22:22 - INFO     - Repository isar already contains e274130b870b7e31532fe191b9932cde1d819b4b as commit
2023-02-16 02:22:22 - INFO     - /repo$ git rev-parse --show-toplevel
2023-02-16 02:22:22 - INFO     - Using /repo as root for repository meta-iot2050
2023-02-16 02:22:22 - INFO     - /work/isar$ git status -s
2023-02-16 02:22:22 - INFO     - /work/isar$ git rev-parse --verify -q origin/e274130b870b7e31532fe191b9932cde1d819b4b
2023-02-16 02:22:22 - INFO     - /work/isar$ git checkout -q e274130b870b7e31532fe191b9932cde1d819b4b
2023-02-16 02:22:22 - INFO     - /repo$ git rev-parse --show-toplevel
2023-02-16 02:22:22 - INFO     - Using /repo as root for repository meta-iot2050
2023-02-16 02:22:22 - INFO     - /work/isar$ git checkout -q -B patched-e274130b870b7e31532fe191b9932cde1d819b4b
2023-02-16 02:22:22 - INFO     - /work/isar$ git apply /repo/isar-patches/0001-u-boot-Exclude-libubootenv.a-from-dh_strip.patch
2023-02-16 02:22:22 - INFO     - Patch applied. (patch path: /repo/isar-patches/0001-u-boot-Exclude-libubootenv.a-from-dh_strip.patch, repo: isar, patch entry: u-boot-fix)
2023-02-16 02:22:22 - INFO     - /work/isar$ git add -A
2023-02-16 02:22:22 - INFO     - /work/isar$ git commit -a --author kas <kas@example.com> -m msg
2023-02-16 02:22:22 - INFO     - [patched-e274130b870b7e31532fe191b9932cde1d819b4b eee20ab] msg
2023-02-16 02:22:22 - INFO     - Author: kas <kas@example.com>
2023-02-16 02:22:22 - INFO     - 1 file changed, 3 insertions(+)
2023-02-16 02:22:22 - INFO     - /repo$ git rev-parse --show-toplevel
2023-02-16 02:22:22 - INFO     - Using /repo as root for repository meta-iot2050
2023-02-16 02:22:22 - INFO     - /work/isar$ /tmp/tmpf2xiqzjm/get_bb_env /build
2023-02-16 02:22:22 - INFO     - /repo$ git rev-parse --show-toplevel
2023-02-16 02:22:22 - INFO     - Using /repo as root for repository meta-iot2050
2023-02-16 02:22:22 - INFO     - /build$ /work/isar/bitbake/bin/bitbake -c build iot2050-image-example
Loading cache: 100% |###########################################################################################################################################################################################################################| Time: 0:00:00
Loaded 53 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |######################################################################################################################################################################################################################| Time: 0:00:00
NOTE: No setscene tasks
NOTE: Executing Tasks
ERROR: iot2050-image-example-1.0-r0 do_rootfs_install: Error executing a python function in exec_python_func() autogenerated:

The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
     0001:
 *** 0002:do_rootfs_install(d)
     0003:
File: '/work/isar/meta/classes/rootfs.bbclass', lineno: 182, function: do_rootfs_install
     0178:                                     shared=True)
     0179:
     0180:        bb.build.exec_func(cmd, d)
     0181:
 *** 0182:        if (d.getVarFlag(cmd, 'isar-apt-lock') or "") == "release-after":
     0183:            bb.utils.unlockfile(lock)
     0184:    progress_reporter.finish()
     0185:}
     0186:addtask rootfs_install before do_rootfs_postprocess after do_unpack
File: '/work/isar/bitbake/lib/bb/build.py', lineno: 251, function: exec_func
     0247:    with bb.utils.fileslocked(lockfiles):
     0248:        if ispython:
     0249:            exec_func_python(func, d, runfile, cwd=adir)
     0250:        else:
 *** 0251:            exec_func_shell(func, d, runfile, cwd=adir)
     0252:
     0253:    try:
     0254:        curcwd = os.getcwd()
     0255:    except:
File: '/work/isar/bitbake/lib/bb/build.py', lineno: 452, function: exec_func_shell
     0448:    with open(fifopath, 'r+b', buffering=0) as fifo:
     0449:        try:
     0450:            bb.debug(2, "Executing shell function %s" % func)
     0451:            with open(os.devnull, 'r+') as stdin, logfile:
 *** 0452:                bb.process.run(cmd, shell=False, stdin=stdin, log=logfile, extrafiles=[(fifo,readfifo)])
     0453:        finally:
     0454:            os.unlink(fifopath)
     0455:
     0456:    bb.debug(2, "Shell function %s finished" % func)
File: '/work/isar/bitbake/lib/bb/process.py', lineno: 182, function: run
     0178:        if not stderr is None:
     0179:            stderr = stderr.decode("utf-8")
     0180:
     0181:    if pipe.returncode != 0:
 *** 0182:        raise ExecutionError(cmd, pipe.returncode, stdout, stderr)
     0183:    return stdout, stderr
Exception: bb.process.ExecutionError: Execution of '/build/tmp/work/iot2050-debian-arm64/iot2050-image-example-iot2050-wic-img/1.0-r0/temp/run.rootfs_install_pkgs_download.77' failed with exit code 100:
Reading package lists...
Building dependency tree...
Reading state information...
Starting pkgProblemResolver with broken count: 0
Starting 2 pkgProblemResolver with broken count: 0
Done
The following additional packages will be installed:
  binutils binutils-aarch64-linux-gnu binutils-common bsdextrautils bzip2
  ca-certificates-java cmake-data cpio cpp cpp-10 dbus default-jdk-headless
  default-jre default-jre-headless dmsetup dpkg-dev fdisk fontconfig
  fontconfig-config fonts-dejavu-core g++ g++-10 gcc gcc-10 gyp
  initramfs-tools initramfs-tools-core iproute2 java-common k3-rti-wdt
  klibc-utils kmod libaom0 libapparmor1 libarchive13 libargon2-1 libasan6
  libasound2 libasound2-data libasound2-plugins libasyncns0 libatomic1
  libatopology2 libavahi-client3 libavahi-common-data libavahi-common3
  libavcodec58 libavresample4 libavutil56 libbabeltrace1 libbinutils
  libbluetooth3 libboost-regex1.74.0 libbpf0 libbrotli1 libbsd0 libc-ares2
  libc-dev-bin libc6-dev libcairo-gobject2 libcairo2 libcap2 libcap2-bin
  libcbor0 libcc1-0 libcjson1 libcodec2-0.9 libcrypt-dev libcryptsetup12
  libctf-nobfd0 libctf0 libcups2 libcurl3-gnutls libcurl4 libdaemon0
  libdatrie1 libdav1d4 libdbus-1-3 libdebuginfod1 libdeflate0
  libdevmapper1.02.1 libdlt2 libdns-export1110 libdpkg-perl libdrm-amdgpu1
  libdrm-common libdrm-nouveau2 libdrm-radeon1 libdrm2 libdw1 libedit2 libelf1
  libestr0 libev4 libexpat1 libfastjson4 libfdisk1 libfftw3-single3 libfido2-1
  libflac8 libfontconfig1 libfreetype6 libfribidi0 libgcc-10-dev
  libgdbm-compat4 libgdbm6 libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7
  libgl1 libgl1-mesa-dri libglapi-mesa libglib2.0-0 libglvnd0 libglx-mesa0
  libglx0 libgomp1 libgpiod2 libgpm2 libgraphite2-3 libgsm1 libgudev-1.0-0
  libharfbuzz0b libi2c0 libice6 libicu67 libip4tc2 libisc-export1105 libisl23
  libitm1 libjack-jackd2-0 libjansson4 libjbig0 libjpeg62-turbo libjs-inherits
  libjs-is-typedarray libjs-psl libjs-typedarray-to-buffer libjson-c5
  libjsoncpp24 libjudydebian1 libklibc libkmod2 liblcms2-2 libllvm11
  liblognorm5 liblsan0 libltdl7 libmbim-glib4 libmbim-proxy libmd0 libmm-glib0
  libmnl0 libmosquitto1 libmp3lame0 libmpc3 libmpdec3 libmpfr6 libncurses6
  libndp0 libnewt0.52 libnghttp2-14 libnl-3-200 libnl-cli-3-200
  libnl-genl-3-200 libnl-nf-3-200 libnl-route-3-200 libnm0 libnode-dev
  libnode72 libnsl-dev libnspr4 libnss3 libnuma1 libogg0 libopenjp2-7 libopus0
  liborc-0.4-0 libpam-systemd libpango-1.0-0 libpangocairo-1.0-0
  libpangoft2-1.0-0 libpcap0.8 libpci3 libpcsclite1 libperl5.32 libpixman-1-0
  libpng16-16 libpolkit-agent-1-0 libpolkit-gobject-1-0 libprocps8 libpsl5
  libpulse0 libpulsedsp libpython3-stdlib libpython3.9 libpython3.9-minimal
  libpython3.9-stdlib libqmi-glib5 libqmi-proxy librhash0 librsvg2-2 librtmp1
  libsamplerate0 libsbc1 libsctp1 libsensors-config libsensors5 libshine3
  libsigsegv2 libslang2 libsm6 libsnappy1v5 libsndfile1
  libsource-highlight-common libsource-highlight4v5 libsoxr0 libspeex1
  libspeexdsp1 libssh2-1 libssl-dev libssl1.1 libstdc++-10-dev libswresample3
  libtdb1 libteam5 libteamdctl0 libthai-data libthai0 libtheora0 libtiff5
  libtirpc-dev libtsan0 libtwolame0 libubootenv0.1 libubsan1 libusb-1.0-0
  libuv1 libuv1-dev libva-drm2 libva-x11-2 libva2 libvdpau1 libvorbis0a
  libvorbisenc2 libvpx6 libvulkan1 libwavpack1 libwebp6 libwebpmux3
  libwebrtc-audio-processing1 libwebsockets16 libwrap0 libx11-6 libx11-data
  libx11-xcb1 libx264-160 libx265-192 libxau6 libxcb-dri2-0 libxcb-dri3-0
  libxcb-glx0 libxcb-present0 libxcb-render0 libxcb-shm0 libxcb-sync1
  libxcb-xfixes0 libxcb1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxi6
  libxml2 libxrender1 libxshmfence1 libxtables12 libxtst6 libxvidcore4
  libxxf86vm1 libz3-4 libzvbi-common libzvbi0 linux-base linux-libc-dev m4
  make media-types mindconnect-node-red-contrib-mindconnect ncal node-abbrev
  node-agent-base node-ajv node-ansi node-ansi-regex node-ansi-styles
  node-ansistyles node-aproba node-archy node-are-we-there-yet node-asap
  node-asn1 node-assert-plus node-asynckit node-aws-sign2 node-aws4
  node-balanced-match node-bcrypt-pbkdf node-brace-expansion node-builtins
  node-cacache node-caseless node-chalk node-chownr node-clone
  node-color-convert node-color-name node-colors node-columnify
  node-combined-stream node-concat-map node-console-control-strings
  node-copy-concurrently node-core-util-is node-dashdash node-debug
  node-defaults node-delayed-stream node-delegates node-depd node-ecc-jsbn
  node-encoding node-err-code node-escape-string-regexp node-extend
  node-extsprintf node-fast-deep-equal node-forever-agent node-form-data
  node-fs-write-stream-atomic node-fs.realpath node-function-bind node-gauge
  node-getpass node-glob node-graceful-fs node-gyp node-har-schema
  node-har-validator node-has-flag node-has-unicode node-hosted-git-info
  node-http-signature node-https-proxy-agent node-iconv-lite node-iferr
  node-imurmurhash node-indent-string node-inflight node-inherits node-ini
  node-ip node-ip-regex node-is-typedarray node-isarray node-isexe
  node-isstream node-jsbn node-json-parse-better-errors node-json-schema
  node-json-schema-traverse node-json-stable-stringify
  node-json-stringify-safe node-jsonify node-jsonparse node-jsonstream
  node-jsprim node-leven node-lockfile node-lru-cache node-mime
  node-mime-types node-minimatch node-mkdirp node-move-concurrently node-ms
  node-mute-stream node-nopt node-normalize-package-data node-npm-bundled
  node-npm-package-arg node-npmlog node-number-is-nan node-oauth-sign
  node-object-assign node-once node-opener node-osenv node-p-map
  node-path-is-absolute node-performance-now node-process-nextick-args
  node-promise-inflight node-promise-retry node-promzard node-psl node-puka
  node-punycode node-qs node-read node-read-package-json node-readable-stream
  node-red-contrib-modbus node-red-contrib-opcua node-red-contrib-s7
  node-red-dashboard node-red-node-serialport node-red-node-sqlite
  node-resolve node-resolve-from node-retry node-rimraf node-run-queue
  node-safe-buffer node-semver node-set-blocking node-signal-exit node-slash
  node-spdx-correct node-spdx-exceptions node-spdx-expression-parse
  node-spdx-license-ids node-sshpk node-ssri node-string-decoder
  node-string-width node-strip-ansi node-supports-color node-tar
  node-text-table node-through node-tunnel-agent node-tweetnacl
  node-typedarray-to-buffer node-unique-filename node-uri-js
  node-util-deprecate node-uuid node-validate-npm-package-license
  node-validate-npm-package-name node-verror node-wcwidth.js node-which
  node-wide-align node-wrappy node-write-file-atomic node-yallist
  ocl-icd-libopencl1 openjdk-11-jdk openjdk-11-jdk-headless openjdk-11-jre
  openjdk-11-jre-headless openssh-client openssh-server openssh-sftp-server
  openssl patch pci.ids perl perl-modules-5.32 policykit-1 procps pulseaudio
  pulseaudio-utils python3-minimal python3-pkg-resources python3.9
  python3.9-minimal runit-helper sensible-utils shared-mime-info systemd
  systemd-sysv ti-pruss-firmware u-boot-tools ucf udev uuid-runtime vim-common
  vim-runtime x11-common xdg-utils xxd xz-utils
Suggested packages:
  dialog autoconf-archive gnu-standards autoconf-doc libtool gettext
  binutils-doc calendar whois vacation mailutils bzip2-doc cmake-doc
  ninja-build libarchive1 cpp-doc gcc-10-locales default-dbus-session-bus
  | dbus-session-bus debian-keyring gcc-10-doc gawk-doc gcc-multilib
  manpages-dev automake flex bison gcc-doc gdb-doc libi2c-dev python-smbus
  rdnssd iproute2-doc avahi-autoipd isc-dhcp-client-ddns lrzip glibc-doc
  cups-common git bzr libfftw3-bin libfftw3-dev gdbm-l10n gpm jackd2
  liblcms2-utils opus-tools pcscd librsvg2-bin lksctp-tools lm-sensors speex
  libssl-doc libstdc++-10-doc m4-doc make-doc apparmor hunspell opencl-icd
  openjdk-11-demo openjdk-11-source visualvm libnss-mdns fonts-dejavu-extra
  fonts-ipafont-gothic fonts-ipafont-mincho fonts-wqy-microhei
  | fonts-wqy-zenhei fonts-indic keychain libpam-ssh monkeysphere ssh-askpass
  molly-guard ufw ed diffutils-doc perl-doc libterm-readline-gnu-perl
  | libterm-readline-perl-perl libtap-harness-archive-perl pavumeter
  pavucontrol paprefs avahi-daemon python3-doc python3-tk python3-venv
  python3-setuptools python3.9-venv python3.9-doc binfmt-support rsyslog-mysql
  | rsyslog-pgsql rsyslog-mongodb rsyslog-doc rsyslog-openssl | rsyslog-gnutls
  rsyslog-gssapi rsyslog-relp systemd-container ctags vim-doc vim-scripts
  wpagui libengine-pkcs11-openssl
Recommended packages:
  automake | automaken fakeroot libalgorithm-merge-perl libc-dbg read-edid
  pigz libatm1 isc-dhcp-common wireless-regdb alsa-ucm-conf alsa-topology-conf
  manpages manpages-dev libc-devtools libpam-cap libfile-fcntllock-perl
  liblocale-gettext-perl libgdk-pixbuf2.0-bin libglib2.0-data xdg-user-dirs
  javascript-common publicsuffix librsvg2-common va-driver-all | va-driver
  vdpau-driver-all | vdpau-driver mesa-vulkan-drivers | vulkan-icd
  usb-modeswitch dnsmasq-base iptables node-request nodejs-doc git libxt-dev
  libatk-wrapper-java-jni fonts-dejavu-extra xauth ncurses-term netbase rtkit
  dbus-user-session logrotate systemd-timesyncd | time-daemon libnss-systemd
  device-tree-compiler libfile-mimeinfo-perl libnet-dbus-perl
  libx11-protocol-perl x11-utils x11-xserver-utils
The following NEW packages will be installed:
  alsa-tools alsa-utils autoconf autotools-dev bash-completion binutils
  binutils-aarch64-linux-gnu binutils-common bluez bsdextrautils bsdmainutils
  build-essential busybox bzip2 ca-certificates ca-certificates-java cmake
  cmake-data cpio cpp cpp-10 curl customizations-base customizations-example
  dbus default-jdk default-jdk-headless default-jre default-jre-headless
  dmsetup dpkg-dev ethtool expand-on-first-boot fdisk firmware-ath9k-htc
  firmware-atheros firmware-brcm80211 firmware-iwlwifi firmware-libertas
  firmware-misc-nonfree firmware-realtek firmware-ti-connectivity fontconfig
  fontconfig-config fonts-dejavu-core g++ g++-10 gawk gcc gcc-10 gdb gdbserver
  gpiod gyp i2c-tools ifupdown init initramfs-tools initramfs-tools-core
  install-on-emmc iot2050-firmware iot2050-firmware-update iot2050setup
  iproute2 iputils-ping isc-dhcp-client iw java-common k3-rti-wdt klibc-utils
  kmod less libaom0 libapparmor1 libarchive13 libargon2-1 libasan6 libasound2
  libasound2-data libasound2-plugins libasyncns0 libatomic1 libatopology2
  libavahi-client3 libavahi-common-data libavahi-common3 libavcodec58
  libavresample4 libavutil56 libbabeltrace1 libbinutils libbluetooth3
  libboost-regex1.74.0 libbpf0 libbrotli1 libbsd0 libc-ares2 libc-dev-bin
  libc6-dev libcairo-gobject2 libcairo2 libcap2 libcap2-bin libcbor0 libcc1-0
  libcjson1 libcodec2-0.9 libcrypt-dev libcryptsetup12 libctf-nobfd0 libctf0
  libcups2 libcurl3-gnutls libcurl4 libdaemon0 libdatrie1 libdav1d4
  libdbus-1-3 libdebuginfod1 libdeflate0 libdevmapper1.02.1 libdlt2
  libdns-export1110 libdpkg-perl libdrm-amdgpu1 libdrm-common libdrm-nouveau2
  libdrm-radeon1 libdrm2 libdw1 libedit2 libelf1 libestr0 libev4 libexpat1
  libfastjson4 libfdisk1 libfftw3-single3 libfido2-1 libflac8 libfontconfig1
  libfreetype6 libfribidi0 libgcc-10-dev libgdbm-compat4 libgdbm6
  libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7 libgl1 libgl1-mesa-dri
  libglapi-mesa libglib2.0-0 libglvnd0 libglx-mesa0 libglx0 libgomp1 libgpiod2
  libgpm2 libgraphite2-3 libgsm1 libgudev-1.0-0 libharfbuzz0b libi2c0 libice6
  libicu67 libip4tc2 libisc-export1105 libisl23 libitm1 libjack-jackd2-0
  libjansson4 libjbig0 libjpeg62-turbo libjs-inherits libjs-is-typedarray
  libjs-psl libjs-typedarray-to-buffer libjson-c5 libjsoncpp24 libjudydebian1
  libklibc libkmod2 liblcms2-2 libllvm11 liblognorm5 liblsan0 libltdl7
  libmbim-glib4 libmbim-proxy libmd0 libmm-glib0 libmnl0 libmosquitto1
  libmp3lame0 libmpc3 libmpdec3 libmpfr6 libncurses6 libndp0 libnewt0.52
  libnghttp2-14 libnl-3-200 libnl-cli-3-200 libnl-genl-3-200 libnl-nf-3-200
  libnl-route-3-200 libnm0 libnode-dev libnode72 libnsl-dev libnspr4 libnss3
  libnuma1 libogg0 libopenjp2-7 libopus0 liborc-0.4-0 libpam-systemd
  libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpcap0.8 libpci3
  libpcsclite1 libperl5.32 libpixman-1-0 libpng16-16 libpolkit-agent-1-0
  libpolkit-gobject-1-0 libprocps8 libpsl5 libpulse0 libpulsedsp
  libpython3-stdlib libpython3.9 libpython3.9-minimal libpython3.9-stdlib
  libqmi-glib5 libqmi-proxy librhash0 librsvg2-2 librtmp1 libsamplerate0
  libsbc1 libsctp1 libsensors-config libsensors5 libshine3 libsigsegv2
  libslang2 libsm6 libsnappy1v5 libsndfile1 libsource-highlight-common
  libsource-highlight4v5 libsoxr0 libspeex1 libspeexdsp1 libssh2-1 libssl-dev
  libstdc++-10-dev libswresample3 libtdb1 libteam-utils libteam5 libteamdctl0
  libthai-data libthai0 libtheora0 libtiff5 libtirpc-dev libtsan0 libtwolame0
  libubootenv-tool libubootenv0.1 libubsan1 libusb-1.0-0 libuv1 libuv1-dev
  libva-drm2 libva-x11-2 libva2 libvdpau1 libvorbis0a libvorbisenc2 libvpx6
  libvulkan1 libwavpack1 libwebp6 libwebpmux3 libwebrtc-audio-processing1
  libwebsockets16 libwrap0 libx11-6 libx11-data libx11-xcb1 libx264-160
  libx265-192 libxau6 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0
  libxcb-render0 libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcb1 libxdamage1
  libxdmcp6 libxext6 libxfixes3 libxi6 libxml2 libxrender1 libxshmfence1
  libxtables12 libxtst6 libxvidcore4 libxxf86vm1 libz3-4 libzvbi-common
  libzvbi0 linux-base linux-image-iot2050 linux-libc-dev m4 make media-types
  mindconnect-node-red-contrib-mindconnect modemmanager mosquitto
  mosquitto-clients mraa nano ncal net-tools network-manager node-abbrev
  node-agent-base node-ajv node-ansi node-ansi-regex node-ansi-styles
  node-ansistyles node-aproba node-archy node-are-we-there-yet node-asap
  node-asn1 node-assert-plus node-asynckit node-aws-sign2 node-aws4
  node-balanced-match node-bcrypt-pbkdf node-brace-expansion node-builtins
  node-cacache node-caseless node-chalk node-chownr node-clone
  node-color-convert node-color-name node-colors node-columnify
  node-combined-stream node-concat-map node-console-control-strings
  node-copy-concurrently node-core-util-is node-dashdash node-debug
  node-defaults node-delayed-stream node-delegates node-depd node-ecc-jsbn
  node-encoding node-err-code node-escape-string-regexp node-extend
  node-extsprintf node-fast-deep-equal node-forever-agent node-form-data
  node-fs-write-stream-atomic node-fs.realpath node-function-bind node-gauge
  node-getpass node-glob node-graceful-fs node-gyp node-har-schema
  node-har-validator node-has-flag node-has-unicode node-hosted-git-info
  node-http-signature node-https-proxy-agent node-iconv-lite node-iferr
  node-imurmurhash node-indent-string node-inflight node-inherits node-ini
  node-ip node-ip-regex node-is-typedarray node-isarray node-isexe
  node-isstream node-jsbn node-json-parse-better-errors node-json-schema
  node-json-schema-traverse node-json-stable-stringify
  node-json-stringify-safe node-jsonify node-jsonparse node-jsonstream
  node-jsprim node-leven node-lockfile node-lru-cache node-mime
  node-mime-types node-minimatch node-mkdirp node-move-concurrently node-ms
  node-mute-stream node-nopt node-normalize-package-data node-npm-bundled
  node-npm-package-arg node-npmlog node-number-is-nan node-oauth-sign
  node-object-assign node-once node-opener node-osenv node-p-map
  node-path-is-absolute node-performance-now node-process-nextick-args
  node-promise-inflight node-promise-retry node-promzard node-psl node-puka
  node-punycode node-qs node-read node-read-package-json node-readable-stream
  node-red node-red-contrib-modbus node-red-contrib-opcua node-red-contrib-s7
  node-red-dashboard node-red-gpio node-red-node-serialport
  node-red-node-sqlite node-red-preinstalled-nodes node-resolve
  node-resolve-from node-retry node-rimraf node-run-queue node-safe-buffer
  node-semver node-set-blocking node-signal-exit node-slash node-spdx-correct
  node-spdx-exceptions node-spdx-expression-parse node-spdx-license-ids
  node-sshpk node-ssri node-string-decoder node-string-width node-strip-ansi
  node-supports-color node-tar node-text-table node-through node-tunnel-agent
  node-tweetnacl node-typedarray-to-buffer node-unique-filename node-uri-js
  node-util-deprecate node-uuid node-validate-npm-package-license
  node-validate-npm-package-name node-verror node-wcwidth.js node-which
  node-wide-align node-wrappy node-write-file-atomic node-yallist nodejs npm
  ocl-icd-libopencl1 openjdk-11-jdk openjdk-11-jdk-headless openjdk-11-jre
  openjdk-11-jre-headless openssh-client openssh-server openssh-sftp-server
  openssl patch pci.ids pciutils perl perl-modules-5.32 policykit-1 ppp procps
  psmisc pulseaudio pulseaudio-module-bluetooth pulseaudio-utils
  python-is-python3 python3 python3-minimal python3-newt python3-pkg-resources
  python3.9 python3.9-minimal regen-rootfs-uuid resolvconf rsyslog rt-tests
  runit-helper sensible-utils shared-mime-info ssh sshd-regen-keys stress-ng
  sudo switchserialmode systemd systemd-sysv tcf-agent ti-pruss-firmware
  u-boot-iot2050-config u-boot-script u-boot-tools ucf udev usbutils
  uuid-runtime vim vim-common vim-runtime wget wpasupplicant x11-common
  xdg-utils xxd xz-utils
The following packages will be DOWNGRADED:
  libssl1.1
0 upgraded, 571 newly installed, 1 downgraded, 0 to remove and 0 not upgraded.
E: Packages were downgraded and -y was used without --allow-downgrades.
WARNING: exit code 100 from a shell command.

ERROR: Logfile of failure stored in: /build/tmp/work/iot2050-debian-arm64/iot2050-image-example-iot2050-wic-img/1.0-r0/temp/log.do_rootfs_install.77
ERROR: Task (/repo/recipes-core/images/iot2050-image-example.bb:do_rootfs_install) failed with exit code '1'
NOTE: Tasks Summary: Attempted 409 tasks of which 408 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /repo/recipes-core/images/iot2050-image-example.bb:do_rootfs_install
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
2023-02-16 02:22:33 - ERROR    - Command returned non-zero exit status 1

Hi,
If you are building the stable branch, better to have the kas/opt/package-lock.yml in the build command.
See https://github.com/siemens/meta-iot2050/tree/stable/V01.02#build-released-version

Hi,
If you are building the stable branch, better to have the kas/opt/package-lock.yml in the build command.
See https://github.com/siemens/meta-iot2050/tree/stable/V01.02#build-released-version

Thank you for your reply, I'll try it now. There are results for you to reply.

@BaochengSu After a long build process, we can generate images, thank you! However, installing apts from snapshot.debian.org is unstable, and the package installation timeout is serious ...This is another question. Thanks!

Glad you've done that.
The reproducible of the stable version image has been an outstanding issue for pretty a while, currently s.d.o throttles the bandwidth and the connections to avoid abuse.
However, some community efforts have been already paid to address such an issue, e.g. https://debconf21.debconf.org/talks/22-making-use-of-snapshotdebianorg-for-fun-and-profit/.
Some other workaround I found useful is to use some apt cacher (such as apt-cacher-ng) to cache the .deb packages, although it does not solve the first time downloading, it makes the following buildings more smoothly. However you need time and computing resource to implement such cache proxy.

authors: BaochengSu lxmuyu


text:
iot2050-firmware-update: Account for incomplete images

Pad images that are not erase-size aligned and terminate earlier. This
avoids needless updates of the flash with zeros.

Ping,  @BaochengSu


text:
Update README file with configuring MongoDB for local development

Issue

At present, the README does not contain any detailed documentation on how we can configure MongoDB for local development

What can be done

Update the README with documentation setting up MongoDB for local development

@rafat17 good observation.

readme updated.

repo: sifatul/find-profile


text:
Addition of examples/go-mq and examples/go-mq-reactive

The documentation of the new examples, as well as adjustments to docs/message-queues.md are still pending.

LGTM! Would suggest renaming go-mq to go-mq-basic - I'll use the reactive one in hotrod and test it out as soon as I can. Thanks!

authors: daniel-de-vera foxish

repo: signadot/routesapi


text:
Mirror signed release images from GCR to GHCR as part of release with…

… Cloud Build.
Signed-off-by: Kenny Leung kleung@chainguard.dev

Summary

Copy signed released image from GCR to GHCR using cosign cli copy command.
This will ensure the signature will be the same between the two registry.
This keep consistent with Fulcio, https://github.com/sigstore/fulcio/issues/421, to publish to GCR and GHCR.
@cpanato
Ticket Link

Fixes
Release Note

Signed release images will be mirrored to GHCR.

Codecov Report

Merging #1547 (cea4758) into main (4b2c3c0) will decrease coverage by 0.04%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1547      +/-   ##
==========================================
- Coverage   26.49%   26.44%   -0.05%
==========================================
  Files         126      126
  Lines        7214     7214
==========================================
- Hits         1911     1908       -3
- Misses       5093     5095       +2
- Partials      210      211       +1

Impacted Files
Coverage Δ

pkg/cosign/tuf/client.go
62.34% <0.00%> (-0.95%)
:arrow_down:

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 4b2c3c0...cea4758. Read the comment docs.

repo: sigstore/cosign


text:
policy-controller: document regexp options better

Description
The policy controller documentation is not very explicit about the fact that keyless authorities need to use separate keys if you want to validate with regular expressions. This is very confusing when trying to take a sample into use.
Version
latest

Closed by #200

authors: JAORMX ltagliaferri

repo: sigstore/sigstore-website


text:
Verification fails with libressl

Description

I am investigating why the verfication is failing when following the README steps. I tried both local deployment approaches and both are failing.
Verification: FAILED
4336174636:error:2FFFF065:time stamp routines:CRYPTO_internal:ess signing certificate error:/AppleInternal/Library/BuildRoots/a0876c02-1788-11ed-b9c4-96898e02b808/Library/Caches/com.apple.xbs/Sources/libressl/libressl-2.8/crypto/ts/ts_rsp_verify.c:300:

where the timestamp inspection shows:
Status info:
Status: Granted.
Status description: unspecified
Failure info: unspecified

TST info:
Version: 1
Policy OID: 0.4.0.2023.1.1
Hash Algorithm: sha256
Message data:
    0000 - e4 9a 89 7a ac 4c 98 19-21 27 0a 3f 79 e4 68 85   ...z.L..!'.?y.h.
    0010 - c9 95 2f c5 ba 1a b4 c0-cd ef 38 0b e7 73 74 81   ../.......8..st.
Serial number: 0x1F5E0336A9118E4020B3EC84C33B2C9E99E36505
Time stamp: Oct 13 17:53:10 2022 GMT
Accuracy: 0x01 seconds, unspecified millis, unspecified micros
Ordering: no
Nonce: 0x4CE5002F5E5F753A58F2B98124C3B6A732EE769B
TSA: DirName:/O=local/CN=Test TSA Timestamping
Extensions:

Hm, I wonder if this has to do with either macOS overriding the trusted root or libressl vs openssl.

To confirm, to verify you ran openssl ts -verify -in response.tsr -data "myblob" -CAfile ts_chain.pem?

In terms of verification, what should happen is as follows:

The leaf certificate is extracted from the response
The chain must be provided
openssl uses CAfile for the root
For the example, the root should verify the leaf
Success!

I think we may need an extra flag if you're using an intermediate, but for the example, it should just be a leaf and root.

Yes, I ran openssl ts -verify -in response.tsr -data "myblob" -CAfile ts_chain.pem

Thanks for the report, I'll set it up on macOS to repro. If you have something running Linux, it should work, but let me know if you run into issues.
Can you also run openssl version and let me know the response?

Yes, I'll continue investigating it, and run it on Linux as well.

I tried on Linux and it worked.
On MacOS, It doesn't work when using the pre-installed openssl version (LibreSSL). However when I explicitly install openssl with brew install openssl and set the path to use that one, it works as expected. We could add a note to the README and close this issue.

Reopening this and renaming the issue, and I'll dig into this when I've got some time.

Closing as I don't think we'll take any action on this, as this is an issue with libressl

repo: sigstore/timestamp-authority


text:
add \Pimple\Container class to Pimple v1 for forward compatibility

the document says:

Reading the Pimple 1.x code is also a good way to learn more about how to create a simple Dependency Injection Container (recent versions of Pimple are more focused on performance).

That's right.
Pimple ver 1.x  is the best teacher to learn DI Container.
The only problem is , when we switch from v3 (or v2) to v1 and we should modify client codes which use Pimple.
This PR brings forward compatibility to v1.
It would help learners to read codes and do some work on v1 codes.

Well, there are other BC breaks between v1 and v2 (services are shared by default in v2), so this is not enough to ensure forward compat

Closing as making Pimple 1 and 2 compatible is impossible.

I see.
Thank you for the response.

authors: DQNEO fabpot stof

repo: silexphp/Pimple


text:
Updated LfMerge to .NET6

Includes updating .Core to .NET Standard. I picked this simply to instill more compatibility with other frameworks. Also includes updating various old Framework packages to the minimum versions that supported .NET Standard.
Removed icu.net to depend on indirect reference. Upgraded MongoDB, per https://github.com/commandlineparser/commandline/issues/225 and refactored some duplicated code into a base class in .Core. Referencing the "netcore" versions of the SIL packages -- these can go back once the "netcore" branches are in. Upgraded libpalaso references to 9, since most are already .NET Standard.
There are lots of warnings for .NET Framework packages, some fixable, like SIL.Lexicon, and some not, like NHunspell. But these changes allow it to dotnet build

This change is

Looking forward to seeing this completed; building and running with .NET 6, if you can manage to get it all working, will allow me to use several features from recent C# versions that I've been looking forward to having available. It'll make for much nicer LfMerge code in the long run. Thanks for working on this!

@rmunn so the build is passing now, and i think i've gotten the usages of mono removed. however, i am definitely not the expert on the innerworkings of the surrounding scripts, so there may be some (major) things i'm missing. but feel free to take a preliminary look!
note that the GHA workflows were flaky -- i had to do manual re-runs to get the FW8 ones to pass. Assuming this is not normal

Did some testing, and tweaked the build until it works. It fails to run, because the SyslogLogger class is looking for the Mono.Posix.NETStandard assemblty, which of course doesn't exist in a non-Mono runtime environment. But that will be easy to fix: just swich LfMerge over to logging everything to stdout, which is better in a Docker environment anyway, and get rid of the SyslogLogger. I'll work on that with you tomorrow.

I got the missing DLL installing with the rest of the LfMerge files, but .NET still thinks it's missing, and I don't know why yet. But I did figure out where its dependency is coming from: it's depended on by the SIL.WritingSystems package, which is a core part of LfMerge that we can't do without. We call Sldr.Initialize() during our setup, which tries to acquire a filesystem lock. It uses SIL.Threading.GlobalMutex.Initialize() to do so, and SIL.Threading.GlobalMutex uses SIL.Threading.GlobalMutex.LinuxGlobalMutexAdapter.Init which in turn looks for the Mono.Posix.NETStandard assembly.
So we need to look at the SIL.Threading package and see if that can be converted to .NET Standard so as to not be looking for a Mono DLL.

Mono.Posix.NETStandard is used by SIL.Core and SIL.LCModel.Utils, both of which are .NET Standard. if we need to remove these, I can look into that

Looks like Mono.Posix is the older name, and the name has been changed to Mono.Unix: https://www.nuget.org/packages/Mono.Unix/7.1.0-final.1.21458.1
It might be necessary to update the .NET Standard versions of libpalaso to use Mono.Unix, or it might not. We'll find out, most likely.

According to this issue comment, the Mono.Posix package may not work in .NET 4.8, let alone .NET 6.0. We'll definitely want to look into moving to the Mono.Unix packages for this.

I've opened https://github.com/sillsdev/libpalaso/issues/1186 to track the necessary work in libpalaso for switching to Mono.Unix.

According to this issue comment, the Mono.Posix package may not work in .NET 4.8, let alone .NET 6.0. We'll definitely want to look into moving to the Mono.Unix packages for this.

This is interesting. In that comment he mentions the theoretical .NET Standard package being compatible, so I'm not fully convinced there's something inherently wrong with all Mono.Posix.NetStandard packages. I think we'll just have to make a local package and see if it works

So this morning I verified Mono.Posix.NETStandard works in a .NET6 environment, using the following simple program:
Consuming.zip
Now I'm not saying we shouldn't move away from it. I'm just saying there's something else going on with that exception

@rmunn have you tried dotnet build from the terminal? if i use that instead of pbuild.sh, i get past the FileNotFoundException. so there's some difference in how pbuild is setting things up and dotnet build

@rmunn a bit more progress on this, and maybe you can provide further guidance. i noticed the Mono.Posix.NETStandard structure was different between dotnet build and the 'pbuild.sh, so i copied the runtimes/ folder from dotnet build into the pbuild.sh version, and it got past the error.
runtimes/ has multiple copies of Mono.Posix.NETStandard, as well as a few other lib's, based on OS/architecture. the one we needed is from linux-x64. so how do we update the pbuild process to duplicate this runtimes/ structure? note this folder structure was required -- pasting the lib into the folder with the executable didn't help.

Haven't managed to look into this in-depth, but a quick look showed the lfmerge process running successfully (yay), but displaying the error message "Can't acquire file lock - is another instance running?" on first run (in a clean container where there is no lock file yet). This error message is only displayed when the SIL.IO.FileLock.SimpleFileLock class returns false from the TryAcquireLock() method. If there was no other lfmerge instance running, then failing to acquire the lock is usually indicative of some sort of failure in the Mono.Posix or Mono.Unix calls that are used to acquire the file lock.
In other words, the "Can't acquire file lock" error probably means that there's still more work to do before this is working, alas.

The error is from SimpleFileLock in SIL.Core. File.Create() for /var/run/ is throwing the exception with this new framework. This is probably a simple fix, but I'm not good enough with linux operations in C# yet to have figured it out

Commit abe050f fixes the permissions issue.

@rmunn  here's the exception i was seeing yesterday. obviously if that directory already exists, maybe from a .NET Framework run, no problem. i'm guessing my computer is a slightly cleaner test environment than yours

@rmunn here's the exception i was seeing yesterday. obviously if that directory already exists, maybe from a .NET Framework run, no problem. i'm guessing my computer is a slightly cleaner test environment than yours

Well you may be able to disregard this. with that path missing, running make doesn't throw that exception, and i'm assuming that's a good thing

We'll deploy this when #232 is deployed.

authors: josephmyers rmunn

repo: sillsdev/LfMerge


text:
Crash when WritingSystemStore has any .ldml files in it

Presumably because of a change in the WS library for FLEx, it is now the case that we can't start Solid if there are any .ldml files in the folder:
C:\ProgramData\SIL\WritingSystemRepository\3
Well, for some users the crash only happens if there are writing systems with names that are too long, or have variant modifier tags that are too long.  For me, it happens if there are any .ldml files.  The workaround is that we make sure FLEx is closed, and we delete all the files in this folder, and then start Solid.
If we try to start it we get a crash.  I'll paste the crash report into a comment.
I don't know if anyone uses the writing system capability in Solid at the moment.

Please e-mail this to solid@projects.palaso.org Msg: The given key was not present in the dictionary.
Source: mscorlib
Assembly: mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Stack:    at System.Collections.Generic.Dictionary2.get_Item(TKey key)    at SIL.WritingSystems.LdmlDataMapper.ReadKeyboardElement(XElement externalResourcesElem, WritingSystemDefinition ws)    at SIL.WritingSystems.LdmlDataMapper.ReadTopLevelSpecialElement(XElement specialElem, WritingSystemDefinition ws)    at SIL.WritingSystems.LdmlDataMapper.ReadLdml(XElement element, WritingSystemDefinition ws)    at SIL.WritingSystems.LdmlDataMapper.Read(String filePath, WritingSystemDefinition ws)    at SIL.WritingSystems.GlobalWritingSystemRepository1.UpdateDefinitions()
at SIL.WritingSystems.GlobalWritingSystemRepository1.Save()    at SIL.WritingSystems.Migration.LdmlInFolderWritingSystemRepositoryMigrator.ResetRemovedProperties(IWritingSystemRepository repo)    at SIL.WritingSystems.GlobalWritingSystemRepository.InitializeWithBasePath(String basePath, Action2 migrationHandler)
at SolidGui.AppWritingSystems.get_WritingSystems()
at SolidGui.MarkerSettings.MarkerSettingsListView.MakeWritingSystemLinkLabel(String writingSystemId)
at SolidGui.MarkerSettings.MarkerSettingsListView.FillListItem(KeyValuePair`2 pair, GLItem item)
at SolidGui.MarkerSettings.MarkerSettingsListView.UpdateDisplay(Boolean fullRefresh)
at SolidGui.MainWindowView.UpdateDisplay(Boolean fullRefresh)
at SolidGui.MainWindowView.OnFileLoaded(String filename)
at SolidGui.Program.TryToOpen(String fileName, MainWindowPM model, MainWindowView form)
at SolidGui.Program.Main(String[] args)
Thread:
Thread UI culture: en-US
Exception: System.Collections.Generic.KeyNotFoundException
--Error Reporting Properties--
Version: Version 0.21.3 (apparent build date: 21-Feb-2018)
CommandLine: "C:\Program Files (x86)\Solid\Solid.exe" "C:\Users\Beth Bryson\Documents\Info\Data\LgData\Tetun Dili\Test-2024.03.20-CheckStatus\TD37.solid"
CurrentDirectory: C:\Users\Beth Bryson\Documents\Info\Data\LgData\Tetun Dili\Test-2024.03.20-CheckStatus
MachineName: ILS-BRYSONB
OSVersion: Windows 10
DotNetVersion: 4.0.30319.42000
WorkingSet: 29188096
UserDomainName: ILS-BRYSONB
UserName: Beth Bryson
Culture: en-US
KeyboardAdaptors: WinKeyboardAdaptor
--Log--
Friday, March 22, 2024
9:33:29 PM	App Launched with ["C:\Program Files (x86)\Solid\Solid.exe" "C:\Users\Beth Bryson\Documents\Info\Data\LgData\Tetun Dili\Test-2024.03.20-CheckStatus\TD37.solid"]
9:33:29 PM	Keyboard adaptors in use: WinKeyboardAdaptor
9:33:29 PM	Loading Solid file from C:\Users\Beth Bryson\Documents\Info\Data\LgData\Tetun Dili\Test-2024.03.20-CheckStatus\TD37.solid
9:33:30 PM	Loading Solid file from C:\Users\Beth Bryson\Documents\Info\Data\LgData\Tetun Dili\Test-2024.03.20-CheckStatus\TD37.solid
9:33:30 PM	Opening C:\Users\Beth Bryson\Documents\Info\Data\LgData\Tetun Dili\Test-2024.03.20-CheckStatus\TD37.txt
9:33:32 PM	Done Opening.
9:33:33 PM	Exception: The given key was not present in the dictionary.
Details of most recent events:
9:33:29 PM	App Launched with ["C:\Program Files (x86)\Solid\Solid.exe" "C:\Users\Beth Bryson\Documents\Info\Data\LgData\Tetun Dili\Test-2024.03.20-CheckStatus\TD37.solid"]
9:33:29 PM	Keyboard adaptors in use: WinKeyboardAdaptor
9:33:29 PM	Loading Solid file from C:\Users\Beth Bryson\Documents\Info\Data\LgData\Tetun Dili\Test-2024.03.20-CheckStatus\TD37.solid
9:33:30 PM	Loading Solid file from C:\Users\Beth Bryson\Documents\Info\Data\LgData\Tetun Dili\Test-2024.03.20-CheckStatus\TD37.solid
9:33:30 PM	Opening C:\Users\Beth Bryson\Documents\Info\Data\LgData\Tetun Dili\Test-2024.03.20-CheckStatus\TD37.txt
9:33:32 PM	Done Opening.
9:33:33 PM	Exception: The given key was not present in the dictionary.
To Reproduce:

I don't know if anyone uses the writing system capability in Solid at the moment.

Can you say more about what the "writing system capability" is in Solid?  I don't know myself.

When I said, "I don't know if anyone uses the Writing Systems capabilities in Solid", I was referring to a couple things:

There is the option in the settings dialog for each field to indicate what WS that field is in (see graphic).  Solid also tries to detect (or asks) if it is in UTF-8 or some other encoding.
This information can be helpful to the person working on the file, as an indication of what kind of field it is, or a clue about where it might fit in FLEx.
It also definitely comes into play if anyone does "File/Export as LIFT".  However, that functionality does not currently output well-formed LIFT, and it is deprecated.  That is, we recommend that people not use it.
Although the WS info in the settings could be useful to someone preparing for import to FLEx, for my own work, I find it busy work to fill it all in, especially since I have to do exactly the same settings in the FLEx import wizard.  I don't want to have to do it twice.  We could maybe survey other users, but this is my take.

On one hand, I feel like we don't need this stuff, but on the other hand, ripping it out could in fact be far more work than expected....  It may be the case that simply recompiling with the latest libraries will be sufficient to stop the crash.  I really don't think an extended amount of dev effort is warranted at this time; I'm looking for a "quick fix".

Thank you Beth for the explanation, this is helpful.  Unfortunately in this situation, there is no quick fix.  The dependencies in Solid are over 10 years old, which is an eternity in software-years.  We have found the locations of the crashes and the internal models within Solid have writing systems all over the place.  We've decided to update the dependences to the latest Palaso libraries / dependences and that will take some time.  This is the cost of not keeping a code base and dependencies updated.  Since Solid is still useful to you and a few others, we think it's worth keeping Solid around by updating it so that we can at least maintain it.

Hi, @bbryson, I've been upgrading the Solid dependencies since you last talked with Chris, and I've gotten to a point where I can run something. It's enough to where I can investigate the issue you're seeing.
I see that in this crash scenario Solid is being opened with the TD37.solid file. So it's trying to open that on launching Solid. Would it be possible to send me that? Or any file that's causing this crash is fine, too. I'm not historically familiar with Solid, so if there are other files you think might be relevant or required, it'd be helpful to send those, too, if possible. Thank you!

Thanks for looking at it!
Here is a different SFM file and the associated Solid settings file.
For me, it happens no matter what file I try to open.  The
determining factor for me is:  Have I run FLEx recently?  And as a result,
are there .ldml files in the folder:
C:\ProgramData\SIL\WritingSystemRepository\3
If there are any files there, it crashes.  If that folder is empty, it
runs.  So the workaround for us is:

Close FLEx.
Delete all files from that folder.
Then run Solid.
Remember to do that again if we run FLEx again before we next run Solid.

For other colleagues on my team, it is not "any LDML files". It is only
"any LDML file for a writing system with a Variant label that is longer
than 4 digits", or some other criteria that wasn't allowed in the version
of the Palaso Library that Solid was compiled with, but is currently
allowed by FLEx.
I'm attaching a FieldWorks project with such a writing system.  If you
restore this project in FLEx, then that folder will get populated with some
LDML files, including one called las-x-phonological.ldml.  The existence of
this LDML file reliably causes Solid to crash on startup.  Note that this
LDML file is for the Lama language, but the SFM file I'm trying to open in
Solid is for the Aruamu language--they have nothing to do with each other.
-Beth
On Fri, Jun 7, 2024 at 3:02 AM josephmyers @.***> wrote:

Hi, @bbryson https://github.com/bbryson, I've been upgrading the Solid
dependencies since you last talked with Chris, and I've gotten to a point
where I can run something. It's enough to where I can investigate the
issue you're seeing.
I see that in this crash scenario Solid is being opened with the
TD37.solid file. So it's trying to open that on launching Solid. Would it
be possible to send me that? Or any file that's causing this crash is fine,
too. I'm not historically familiar with Solid, so if there are other files
you think might be relevant or required, it'd be helpful to send those,
too, if possible. Thank you!
—
Reply to this email directly, view it on GitHub
https://github.com/sillsdev/solid/issues/5#issuecomment-2154306709, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AA62JLGFMHOG6COT7C76UZLZGFSJLAVCNFSM6AAAAABFEIYQP2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNJUGMYDMNZQHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

@bbryson, it looks like you responded via email, and either you forgot to attach the files, or there's a bug in Github where the attachments didn't make it over here. I'm guessing the latter. Regardless, I can't see the files. Can you resend? Sorry for the inconvenience.

In contrast to your particular situation, I have numerous ldml files in my folder and am able to launch Solid with no issue. So I'm betting I fall into the second group of users. I am able to get "writing system"-related crashes other ways, but I want to be able to recreate your exact scenario.

I'll try attaching them here.  I had to fake the extensions.  Please delete .txt and .zip from these filenames before you try to use them.
AruStems.sfm.txt
AruStems.solid.txt
Lama complex subentry of sense 12-BB 2021-10-29 2203 Test Subentries of Subentry Senses.fwbackup.zip

Ah, very smart. I actually just opened an issue with GH for this, as well.
I am able to recreate the crash by double-clicking an example .solid file I found on my machine. However, I can launch Solid successfully by double-clicking Solid.exe (no file on launch). I can then get the same crash by opening the .db file that corresponds to the crash-causing .solid file.

@bbryson, this bug is fixed, and we're working on getting a new version built now 👍

This is fixed in release v1.0

authors: bbryson josephmyers megahirt

repo: sillsdev/solid


text:
Does not run on raspberry

Because deno dies not run on raspberry pi silverbullet does not run too. Would like to use it on a raspberry pi.
Please give another Option to install

I think your best shot is following along with this issue. https://github.com/denoland/deno/issues/2295. It sounds like you probably could self compile deno and then run sb, but your milage may vary. This isn't an installation issue. You'd have to rewrite the tool to not depend on deno.

For me a show Stopper for raspberry.

If you run a 64 bit OS on a recent RPI this should work: https://github.com/LukeChannings/deno-arm64/releases

Let me put this on my roadmap list. I have some Pis lying around, would be nice to use them for SB. Maybe I can provide an arm 64 docker image too.

Maybe we can easily switch to this base image to get support for both intel and arm: https://hub.docker.com/r/lukechannings/deno
A shame it's based on Ubuntu.

Oh cool. Could you tell me more Details if it works?

Ok, so this works flawlessly once you setup Deno. Instructions:
Tested on Ubuntu server 64-bit on a Pi, but should work the same for any 64 (!! 32-bit won't work) Linux distribution on a RPI:
$ apt install unzip
$ cd ~
$ wget https://github.com/LukeChannings/deno-arm64/releases/download/v1.29.1/deno-linux-arm64.zip
$ mkdir -p ~/.deno/bin
$ cd ~/.deno/bin
$ unzip ~/deno-linux-arm64.zip

Add ~/.deno/bin to PATH, e.g. in ~/.bashrc add:
export PATH=$PATH:~/.deno/bin

Then to verify:
$ source ~/.bashrc
$ deno -V

Then, just follow standard SB install instructions:
$ deno install -f --name silverbullet -A --unstable https://get.silverbullet.md
$ mkdir ~/Notes
$ silverbullet ~/Notes --hostname 0.0.0.0

And access it on http://ip-of-pi:3000

Properly documented here: https://silverbullet.md/Raspberry_Pi_Installation

Thank you for that christmas present :)
I will try ot out next days

Added PR to fix this issue in https://github.com/silverbulletmd/silverbullet/pull/400

authors: sweisgerber ulrischa zefhemel zephraph

repo: silverbulletmd/silverbullet


text:
[Question]: Angular Translate

Hi!! This is very nice package,congrats and thank you for sharing it! Many helpful features are implemented here, but what about angular multi language support? have you considered adding this feature? I'm trying it with angular translate, but can't make it work on step "Asynchronous Loading" from the package documentation...
Have multi language feature would be great!!
hey!! Thanks again!! ^_^

Hi,
I'm trying with bower install angular-translate, but don't know how to embed the .js in the project.
https://angular-translate.github.io/docs/#/guide
Where can I start?

For a reference if someone needs it :), it's tested, however the steps described are not well thought, if someone find it difficult or runs in a dead end, let me know, I will rewrite this guide :).

installation:
bower install angular-translate --save
module inject:

angular.module('app.components', [
  'ui.router', 'angular-loading-bar',
  'restangular', 'ngStorage', 'satellizer',
  'ui.bootstrap', 'chart.js', 'mm.acl', 'datatables',
  'datatables.bootstrap', 'checklist-model',
  'pascalprecht.translate'
])

configure package

make a new config file: config/translate.config.js
you can use ./artisan ng:config translate.config.js
this way it will wire the config file in index.config.js.
put this content:

export function TranslateConfig ($translateProvider) {
  'ngInject'
  $translateProvider.useStaticFilesLoader({
    prefix: '/langs/',
    suffix: '.json'
  });

  $translateProvider.preferredLanguage('en');
}

create a directory in the public's directory:
public/langs/
create json files for each language you support, e.g: en.json, ja.json, mk.json.
each file should contain JSON object having key values of the messages.

{
"MAIN_MENU": "Bla bla menu"
}

Finally to use it in the template views:

Some text {{ 'TITLE' | translate }}

authors: gioramies gnud llstarscreamll

repo: silverbux/laravel-angular-admin


text:
Regression in 1.4 with userforms

Cross posted from https://github.com/silverstripe/silverstripe-userforms/issues/506
1.3 is fine. However, whenever saving a paged-form with 1.4 installed a new page is created each time, and the order gets messed up when drag-dropping.
Before:

Attemp to drag "Page 2" line one item down

It looks as though the drag succeeds, but then it sees the "First Page" with sort = 0, and that forces the item to the bottom.

Ignore the "Page X" in the first column... that's just displaying the order the pages appear in the list. See the second column for the DB titles.

Ok cause is 1.3 used 1-based sort indexes, 1.4 uses 0-based indexes, so now there's no longer any distinction between "first item" and "item with no sort value".


text:
Configuration: Swift_Transport_NullTransport requires Swift_Events_SimpleEventDispatcher argument

Affected Version
SilverStripe version 4.11.15.
Description
Configuration (using the usual _config/*.yml approach) for using the Swift_Transport_NullTransport in development should work correctly.
But Swift_Transport_NullTransport requires an argument of type Swift_Events_SimpleEventDispatcher.
Steps to Reproduce

Create a new configuration file for using Swift_Transport_NullTransport on development, e.g. _config/maildev.yml, as described in the SilverStripe 4.x Email docs:

---
Name: mydevemailconfig
After:
  - '#emailconfig'
Only:
  environment: dev
---

SilverStripe\Core\Injector\Injector:
  Swift_Transport:
    class: Swift_Transport_NullTransport

Ensure the development (dev) environment is set for the site.
Make the site use the mailer, notice that a PHP fatal error occurs, as the Swift_Transport_NullTransport constructor requires an argument of type Swift_Events_SimpleEventDispatcher.
There is no documented or programmable way for passing an existing or new Swift_Events_SimpleEventDispatcher to Swift_Transport_NullTransport in the configuration yml. The code listing in the documentation is incomplete and no mechanism is mentioned for passing actual PHP code or classes to be constructed to injected class constructor.
This configuration for example passes new Swift_Events_SimpleEventDispatcher() as literal string to the Swift_Transport_NullTransport constructor:

SilverStripe\Core\Injector\Injector:
  Swift_Transport:
    class: Swift_Transport_NullTransport
    constructor:
      0: 'new Swift_Events_SimpleEventDispatcher()'

I had to use Swift_SendmailTransport sample from the docs instead with the catchmail binary as argument (which is possible, as it is a string) in the configuration yml instead.  This then behaves basically lik the Swift_Transport_NullTransport.

I think the class you probably want to use is Swift_NullTransport which doesn't require any constructor arguments
If for some reason you did need to use Swift_Transport_NullTransport you can inject an instance of Swift_Events_SimpleEventDispatcher like so:
SilverStripe\Core\Injector\Injector:
  Swift_Transport:
    class: Swift_Transport_NullTransport
    constructor:
      - '%$Swift_Events_SimpleEventDispatcher'

That syntax is documented here: https://docs.silverstripe.org/en/4/developer_guides/extending/injector/#special-yml-syntax though I admit the documentation could be a tad more verbose.

I'm going to close this with the assumption that the above information resolves the problem for you - but feel free to let me know if that's not the case.

authors: GuySartorelli strarsis

repo: silverstripe/silverstripe-framework