Documentation roadmap

These are the pending tasks to complete the new documentation:

[x] devise the CI workflows necessary to have this published on nuttx website. documentation should be deployed for master and for every tagged release. The documentation itself allows to choose which version to read (see mockup dropdown just above search field in documentation)
[ ] fill supported boards section using content from current README files: this can be done by either:

convert all READMEs to Markdown and use mdinclude
create dedicated RST files for each board inside Documentation/. In this case, READMEs should only contain technical information not appropriate for Documentation.

[ ] autogenerate the list of supported platforms based on all boards existing on the repo
[ ] allow the docs to pickup information from the application repo so that applications are also documented (or at least initially, listed)
[ ] look into defining a workflow which would build documentation for each PR somewhere (github pages for the nuttx repo?) so that previewing a PR is simple.

Various parts of the documentation require writing new content (possibly already existing in other external sources):

[ ] quickstart: this is a very important section for newcomers. this guide should give instructions on how to try nuttx on a commonly available board with good support for nuttx (some stm32 nucleo/discovery?).
[ ] introduction -> development environments: check if this is still up to date and revise whether any given particular toolchain should be recommended. this also requires a bit of rewrite to be more like a documentation and not simply a report of toolchain support status.
[ ] introduction -> trademarks: revise this. it mentions NuttX to be trademarked which I'm not sure it is still true.
[ ] releases: remove section, simply link to relevant part of website from elsewhere (intro?)
[ ] start looking into the wiki, looking for information that should be converted to documentation of a subsystem not currently documented and for guides for the corresponding section. providing documentation for a subsystem should be prioritized over just providing a guide covering a particular use case.
[x] solve warnings about duplicated declarations: this means that the same function is documented twice in the documentation. this should be fixed so a single documentation is done and references to it added when necessary
[x] Update Pipfile.lock to match requirements.txt (the latter has correct versions)
[ ] Find correct name for one of these two sections, which were named the same in original docs:

https://nuttx.apache.org/docs/latest/reference/user/01_task_control.html
https://nuttx.apache.org/docs/latest/reference/user/03_task_control.html

[x] update all links to point to new docs and URLs (related to #883)
[ ] disable autosectionlabel and correct all references which use it (add manual labels instead)
[ ] add support for tabbed examples

Feel free to suggest new tasks or discuss the ones already listed.

A couple of smaller items:

[ ] Add INVIOLABLES.txt to the docs in a prominent place
[ ] Add a README.md to the Documentation folder to explain the basics of how to build the docs, or point the user at the right page in the built docs.
[ ] Extend Quickstart docs to cover a number of different boards, maybe using tabbed instructions or something else to let people have updated docs for several popular boards.

Good points. I would convert inviolables to Markdown in that case.

@v01d Yeah, INVIOLABLES.txt is already pretty close to Markdown already. I updated my item in the comment above to reflect this.

@v01d @btashton I'm going to hold off on any doc PRs until we get the docs deploying via CI. Let me know if I can help get that working.

See https://github.com/apache/incubator-nuttx-website/pull/28 for the first round of integration.  It is manual trigger for now, but the hook is there for automation just need apache infra to add a token to this repo to trigger it.

Releases should probably link here https://nuttx.apache.org/download/ where we manage this already

Right, then maybe a separate section does not make much sense, I will change the task.

The Doxygen build for NXWidgets does not exist any more.  This can be integrated into Sphinx without too much issue which would simplify the whole process.

Could we maybe integrate that work that was done with the Kconfig webview tool as well?

The Doxygen build for NXWidgets does not exist any more. This can be integrated into Sphinx without too much issue which would simplify the whole process.

How was it built before?
I understand you mean to include this as part of the build process of Sphinx docs, right? If so, there is some integration that is required via breathe extension I believe.

Could we maybe integrate that work that was done with the Kconfig webview tool as well?

You mean @w8jcik 's work from http://nuttx-config.nxtlabs.pl ?
I see it supports linking as: nuttx-config.nxtlabs.pl/#/?current=MM_SMALL (without CONFIG_ prefix), so we could setup something in sphinx so that we get links with this format (probably should require some new tag such as :c:kconfig:).
In terms of embedding this web viewer itself, it seems it is designed to be standalone since it integrates its own sidebar so it would probably not look right if embedded inside the content section of sphinx docs. Instead it could be under a different website subdirectory (ie: nuttx.apache.org/kconfig/).

How was it built before?

NxWidgets used to be in a separate repository.  The Doxygen build was in a directory there, but was not integrated when NxWidgets was moved to apps/.  You can get the last NxWidgets standalone release from SourceForge:  https://sourceforge.net/projects/nuttx/files/NxWidgets/ if you want the Doxygen build directory.

How was it built before?

NxWidgets used to be in a separate repository. The Doxygen build was in a directory there, but was not integrated when NxWidgets was moved to apps/. You can get the last NxWidgets standalone release from SourceForge: https://sourceforge.net/projects/nuttx/files/NxWidgets/ if you want the Doxygen build directory.

Ah, I didn't realise it was not part of the apache repos.

Ah, I didn't realise it was not part of the apache repos.

'It' being NxWidgets?  It was merged into apps/ in 2018.
Or 'it' be the Doxygen build?  Hmm... looks like it is there:  apps/graphics/nxwidgets/Deoxygen.  I was mistaken.  Sorry, I answered too quickly (recurring problem).  But I don't think it has never been used since NxWidgets was relocated.

@patacongo I would like to fix the issue about two sections being named the same (this happened in the original HTML docs), but I don't know what was your original intention at the time. You probably have the correct name for one of them in mind. They are the following ones:

https://nuttx.apache.org/docs/latest/reference/user/01_task_control.html
https://nuttx.apache.org/docs/latest/reference/user/03_task_control.html

Let me know and I can use the proper section name.

@patacongo I would like to fix the issue about two sections being named the same (this happened in the original HTML docs), but I don't know what was your original intention at the time. You probably have the correct name for one of them in mind. They are the following ones:
* https://nuttx.apache.org/docs/latest/reference/user/01_task_control.html

* https://nuttx.apache.org/docs/latest/reference/user/03_task_control.html

Let me know and I can use the proper section name.

I think we should merge the three task sections.  The third one spans both the first and the second in terms of scope.

"introduction -> trademarks: revise this. it mentions NuttX to be trademarked which I'm not sure it is still true."
'NuttX' is described as LIVE trademark by USPTO.
http://tess2.uspto.gov/

"introduction -> trademarks: revise this. it mentions NuttX to be trademarked which I'm not sure it is still true."
'NuttX' is described as LIVE trademark by USPTO.
http://tess2.uspto.gov/

Yes, I hold the NuttX trademark.  I will be donated to the ASF if/when the project graduates.

Ok, then no change needed for that section.

@v01d for converting content that exists in the wiki that should be integrated into the documentation. This is what I did that actually worked quite well:

Export the the whole wiki or specific pages here.  Note this requires admin access to the space so let me know if you need that.
Take the generated HTML and use turndown to convert to markdown.

Here is a sample for the (Building NuttX with Applications Outside of the Source Tree)[https://cwiki.apache.org/confluence/display/NUTTX/Building+NuttX+with+Applications+Outside+of+the+Source+Tree] page where I show the generated HTML and the generated Markdown.
https://gist.github.com/btashton/8f5593e3280da073d801d658a84a65c9


WSL2 latest update - wsl.exe fails to terminate entries in the wsl -l -v  listing.

This came about after days of setting up Linux 18.045 and 20.04 on three work servers.
We installed off microsoft store on one server then did exports & imported onto 2 other servers.
The problems began with constant errors trying to install MySql 8. The installs were failing. But, despite that we persevered and got MySql running.  During this we did several import efforts.
Then when we tried to tidy up we had wsl -l -v entries that we had tried to terminate.
See the below attempt to terminate  -  we have tried looking for registry entries that we are sure are causing the problem (i.e. entries left in the registry after a partial removal).  WE even tried removing wsl2 using windows features list to remove wsl then reboot. But after re-enabling wsl and running wsl -l -v those rogue entries are still there ?
How can we clean this up ?
Thanks

The word "terminate" (in this context) means "stop". You probably want --unregister.

Yes - that was it - working to hard n long and was using --shutdown then --terminate.
Thankyou that got rid of those 'rogue' entries
D


Crash in ReleaseSafe and Debug

Boot ROM jumps to 0C00B500, which is only NOPs in ReleaseSafe, but actual code when compiled in ReleaseFast.
Debug mode has the same issue... half of the time -.-"
Apparently something is very wrong when jumping to interrupts.

Possibly fixed by d3829cc


jsonify our 500 errors.

Hard to say. Sure this will let the 500 prevail? Well, let's try it!

It'll still have errors, but at least the return will be json :P. I think that's the right interpretation -- if the flask server crashes down, that should be 500. But if the planner is on the fritz, then I think a json payload makes sense.
Going to merge -- @nirlipo , can you re-deploy?

Deployed! I tested Delfi to see if I get the same error that @jan-dolejsi was reporting, but it works fine now. Just in case I recompiled the images of each worker too.

Any server-side indication of what's going on?

I'll send you a link with the failed task in the server monitor. The flags for persist were off, so I can't get more info than that it timed out. Looking at previous tasks that had the persist flag on, and delfi failed, it was related to tensorflow.
"stderr": "bash: cannot set terminal process group (1): Inappropriate ioctl for device\nbash: no job control in this shell\nUsing TensorFlow backend.\nError: Could not parse domain file: domain\nReason: Missing ')'.\nError: Could not parse domain file: domain\nReason: Missing ')'.\n",


Change type of autoFocus from false to boolean in Select component

Fixes #1, Fixes #2
Description
Minor bug fix - autofocus type was set as false instead of boolean, preventing users from setting autoFocus without triggering flowtype errors.
Scope

[X] Patch: Bug Fix
[ ] Minor: New Feature
[ ] Major: Breaking Change

 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.


Bug-fix-3.7/es-784

Scope & Purpose
bug fix for ES-784

[x] :hankey: Bugfix (requires CHANGELOG entry)
[ ] :pizza: New feature (requires CHANGELOG entry, feature documentation and release notes)
[ ] :fire: Performance improvement
[ ] :hammer: Refactoring/simplification
[ ] :book: CHANGELOG entry made

Backports:

[ ] No backports required
[ ] Backports required for: (Please specify versions and link PRs)

Related Information
(Please reference tickets / specification / other PRs etc)

[ ] Docs PR:
[ ] Enterprise PR:
[ ] GitHub issue / Jira ticket number:
[ ] Design document:

Testing & Verification
(Please pick either of the following options)

[x] This change is a trivial rework / code cleanup without any test coverage.
[x] The behavior in this PR was manually tested
[ ] This change is already covered by existing tests, such as (please describe tests).
[ ] This PR adds tests that were used to verify all changes:

[ ] Added new C++ Unit tests
[ ] Added new integration tests (e.g. in shell_server / shell_server_aql)
[ ] Added new resilience tests (only if the feature is impacted by failovers)

[ ] There are tests in an external testing repository:
[ ] I ensured this code runs with ASan / TSan or other static verification tools

Link to Jenkins PR run:
http://jenkins01.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/13990/
Documentation

All new features should be accompanied by corresponding documentation.
Bugs and features should furthermore be documented in the CHANGELOG so that
support, end users, and other developers have a concise overview.

[ ] Added entry to Release Notes
[ ] Added a new section in the Manual
[ ] Added a new section in the HTTP API
[ ] Added Swagger examples for the HTTP API
[ ] Updated license information in LICENSES-OTHER-COMPONENTS.md for 3rd party libraries

External contributors / CLA Note
Please note that for legal reasons we require you to sign the Contributor Agreement
before we can accept your pull requests.

http://jenkins01.arangodb.biz:8080/job/arangodb-matrix-pr-windows/7455/

Tests blue.


check if RAM is 4GB or less and propose to change for shrink=2

We're in 2018 and even if RAM is more expensive as in 2015 (!) let's close this: the new deep learning code eats way more RAM...


[SPARK-35063][SQL] Group exception messages in sql/catalyst

What changes were proposed in this pull request?
This PR group exception messages in sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst.
Why are the changes needed?
It will largely help with standardization of error messages and its maintenance.
Does this PR introduce any user-facing change?
No. Error messages remain unchanged.
How was this patch tested?
No new tests - pass all original tests to make sure it doesn't break any existing behavior.

Test build #138435 has started for PR 32478 at commit 0df9e2f.

Test build #138435 has finished for PR 32478 at commit 0df9e2f.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
    new RuntimeException(s\"class $clsName has unexpected serializer: $objSerializer\")

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/138435/

Test build #138441 has started for PR 32478 at commit 170aff2.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/42956/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/42956/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/42956/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/42962/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/42962/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/42962/

Test build #138441 has finished for PR 32478 at commit 170aff2.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/138441/

Test build #138501 has started for PR 32478 at commit 4509cbb.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43021/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43021/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43021/

Test build #138501 has finished for PR 32478 at commit 4509cbb.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/138501/

Test build #138539 has started for PR 32478 at commit 03b436a.

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43060/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43060/

Test build #138539 has finished for PR 32478 at commit 03b436a.

This patch fails to build.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class AgeExample(birthday: Expression, child: Expression) extends RuntimeReplaceable
class SessionExtensionsWithLoader extends SparkSessionExtensionsProvider
class SessionExtensionsWithoutLoader extends SparkSessionExtensionsProvider
case class AvroWrite(
case class KafkaWrite(
case class TryEval(child: Expression) extends UnaryExpression with NullIntolerant
case class TryAdd(left: Expression, right: Expression, child: Expression)
case class TryDivide(left: Expression, right: Expression, child: Expression)
    new RuntimeException(s\"Failed to convert value $value (class of $cls) \" +
trait FileWrite extends Write
case class CSVWrite(
case class JsonWrite(
case class OrcWrite(
case class ParquetWrite(
case class TextWrite(
class ConsoleWrite(schema: StructType, options: CaseInsensitiveStringMap)
class ForeachWrite[T](
class MemoryWrite(sink: MemorySink, schema: StructType, needTruncate: Boolean) extends Write

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/138539/

Test build #138544 has started for PR 32478 at commit 2214608.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43065/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43065/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43065/

Test build #138544 has finished for PR 32478 at commit 2214608.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/138544/

Test build #138558 has started for PR 32478 at commit 14ac635.

Test build #138558 has finished for PR 32478 at commit 14ac635.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/138558/

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43079/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43079/

Test build #138596 has started for PR 32478 at commit 15b2e8a.

Test build #138596 has finished for PR 32478 at commit 15b2e8a.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/138596/

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43117/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43117/

Test build #138598 has started for PR 32478 at commit ac1a3ba.

Test build #138598 has finished for PR 32478 at commit ac1a3ba.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43119/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43119/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/138598/

Test build #138602 has started for PR 32478 at commit 678efa6.

Test build #138602 has finished for PR 32478 at commit 678efa6.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/138602/

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43123/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43123/

Test build #138612 has started for PR 32478 at commit 296d6f8.

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43133/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43133/

Test build #138612 has finished for PR 32478 at commit 296d6f8.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

ping @allisonwang-db

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/138612/

Test build #138668 has started for PR 32478 at commit 4b23fca.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43189/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43189/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43189/

Test build #138668 has finished for PR 32478 at commit 4b23fca.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class UpdatingSessionsExec(
class UpdatingSessionsIterator(

ping @allisonwang-db

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/138668/

cc @cloud-fan

Test build #138733 has started for PR 32478 at commit 1eea18f.

Test build #138733 has finished for PR 32478 at commit 1eea18f.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class UpdatingSessionsExec(
class UpdatingSessionsIterator(

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/138733/

cc @cloud-fan

thanks, merging to master!

@allisonwang-db Thanks you for your review
@cloud-fan Thank you too.


Couldn't detect custom color schemes

Because haskell-vim-now by default moves itself somewhere inside ~/.config/ and changes ~/.vim/ to it's  symlink which points to haskell-vim-now/.vim/, this client couldn't detect color schemes characterized by messages like:
E185: Cannot find color scheme

Until I moved it to haskell-vim-now/.vim/ which is pretty unusual that this happened only to me :thinking:

When you say, "this client," which one do you mean?

Default full haskell-vim-now.

What color scheme did your vim config originally use, and where was it located? We have code in the installer which is supposed to preserve your color scheme on install: https://github.com/begriffs/haskell-vim-now/blob/96bf144d4bcd0ca99671d750bec10f4debc790a9/scripts/setup.sh#L95-L98
Wonder why that wasn't working. Do you still have the log from your installation?


Where is the TODO?

I want to help here :+1:

Thanks for the PR but I'll close it. See this comment.


⚠ Bofrost.es has degraded performance

In 580ee1d, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1438 ms

Resolved: Bofrost.es performance has improved in 9239538 after 6 minutes.


Created a UI concept

Concept can be found in UI_Concepts.docx
Pictures for the ui can be found in UI_concept_graphics folder. PLEASE create gitignore for eclipse md files etc

not mergable


Add latestbreach api

Apparently the preferred way to see if there's any point in querying the rest of the domain APIs is to call the latestbreach api first so... I've added support for latestbreach

Appreciate the PR! LGTM


Add docker support to React SPA

Any documentation on how to add a dockerfile to the react SPA templates? I've had a stab at a multistage dockerfile (that i adapted from the eShopOnContainers project) but i'm getting stuck with this error on the RUN dotnet publish -c Release -o /app stage.
Here's the dockerfile:
`ARG NODE_IMAGE=node:8.11
FROM microsoft/dotnet:2.1-sdk AS base
WORKDIR /app
EXPOSE 80
FROM microsoft/dotnet:2.1-sdk as dotnet-build
WORKDIR /src
FROM ${NODE_IMAGE} as node-build
WORKDIR /web
COPY src/Web/App/ClientApp .
RUN npm install
RUN npm run build
FROM dotnet-build as publish
WORKDIR /src/src/Web/App/ClientApp
COPY --from=node-build /web/build .
WORKDIR /src
COPY . .
WORKDIR /src/src/Web/App
RUN dotnet publish -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "react.dll"]`

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

ID: 261c9875-3db6-4d30-f9d6-922a9334ecb2
Version Independent ID: b8f8f7c4-9c90-869d-9fd7-a887bc28f262
Content: Use the React project template with ASP.NET Core
Content Source: aspnetcore/client-side/spa/react.md
Product: aspnet-core
GitHub Login: @SteveSandersonMS
Microsoft Alias: scaddie

We don't currently have any docs for it, since it's not supported in VS. The templating team does, however, have an issue to track enabling this scenario. See https://github.com/aspnet/Templating/issues/483.

Thanks!


compose_banners: Explicitly target banner content, child p.

This ensures uniform display and flexing of different bits of banner content, including:

Banners like Sent! Scroll down to view...) that have only a classless <p> marking their content
Banners like the unscheduled message allert, which puts a .banner_content class right on the paragraph
Banners like the Your message was sent to a stream you have muted", which tuck a <p> into a div with the .banner_content class

This carries forward the intrinsic design from #26730, but takes care of other banner structures that that PR neglected.
CZO discussion
Screenshots and screen captures:

Before
After

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

Looks good to me, marked to merge once CI passes, thanks @karlstolley!


sha* rules and updates

ref #632

(awaiting CI linter)

looks like you broke the linter :)

rule parsing improved in https://github.com/mandiant/capa/pull/1283/

missing space


Migrate v2.0 cards to new Impactworkers repo

Context: We want to migrate all v2 cards to the Impactworkers board. No easy way to do this through the UI so there might be some script to do this.
Move this: https://github.com/orgs/PublicDataWorks/projects/1/views/24
To this: https://github.com/orgs/Impactworkers/projects/2/views/1
Good to have: If there is a way we can have a single view of v1 (in public data works) and v2 cards (impactworkers) in some board. The board should not be a source of truth but merely referencing the repos to have a consolidated view.
Maybe this works? https://github.com/IQAndreas/github-issues-import

Have verified that all the cards are there (a few were not migrated over so manually added them).


CLOUDSTACK-8687: Prepare template only on a given storage pool

Update prepare template api to seed/prepare a template only on a given primary storage. Currently, the prepare template api will seed/prepare a given template on all the primary storage pools in a zone. If however, a user wishes to prepare a template only a particular storage pool, it isn't possible. Updated the api to take storage pool id as an optional parameter. If the pool id is provided then the template is prepared only on the given primary storage pool.
Following scenarios were tested. 1) Prepared a template with out the storage pool id. The template was seeded on all the available pools in the given zone. 2) Prepared a template with storage pool id as a parameter in the api. The template was seeded only on the given primary storage pool.

please add unit- or integration tests. for instance for prepareTemplate, prepareTemplateInOneStoragePool and prepareTemplateInAllStoragePools to show that expected behavior stays the same and new behavior is proven.

@DaanHoogland Added unit tests for prepare template functionality too. Can you take a look.

will do but a bit busy today, hang on

@devdeep the test you added seems fine and passes (the assert messages look like they can be better formulated to describe what went wrong)
I do not understand the relevance to these test with respect to the changed code though.
Don't get me wrong, you wrote a fine set of additional tests and cloudstack is not an easy book to read so I might be misreading your test. I would like it to be clear and obvious that the added tests test what has been changed in this PR.

@DaanHoogland When prepareTemplate is called, it either falls into prepareTemplateInOneStoragePool if one primary has to be seeded with the template; or prepareTemplateInAllAllStoragePool for seeding templates in all primary pools available. prepareTemplateInAllStoragePool also calls prepareTemplateInOneStoragePool for seeding the template. prepareTemplateInOneStoragePool schedules the template to seeded on a given primary storage. The actual work of seeding the template is done by prepareTemplateForCreate. Their were   no unit tests for this routine. I have written unit tests for the same. It was more meaningful to write tests for this routine, as it is here, where the actual work happens. prepareTemplate and prepareTemplateInOneStoragePool just schedule a thread/executor to seed the primary pools

@devdeep You have written a very fine test and as it passes and tests what its target should do you would get a definate lgtm on tat one from me. However it does not test the code that was changed in this PR so it should be submitted separately and the code here should be tested in this PR.
let's ask the RMs, @remibergsma and @karuturi. If they think it is fine to add it like this I will let them. The code looks ok but the PR doesn't to me.

@DaanHoogland So, you suggest putting the new tests in a separate PR and add relevant unit tests that test the change in this PR? That sounds good to me. Let's change one thing per PR.
@devdeep can you align with @DaanHoogland on this please? Once that is done I'll merge it.

@devdeep How about testing if the right (number of) threads are being started? Does my comment make any sense?

@DaanHoogland That is what I am looking into; how to get the number of threads that have been started by the executor service.

You can mock the call and verify how often it has been called with mockito.

Added another test to validate the prepareTemplate function. Looked into if it was possible to mock the threadpool executor service in templatemanagerimpl. However, it is currently a private member and I couldn't find a way to mock it.

@devdeep do you have plans to add further testing? I think for the sake of testing you can change the encapsulation level.

@DaanHoogland added some additional tests to validate the templates get scheduled for seeding.

@devdeep look great. one question but LGTM

Travis error is due to timeout.

@devdeep Could you please make your commit message (first line) more descriptive? Right now I cannot tell the difference between them, unless I click on them and read it all. Thanks!

@remibergsma I'll close this pull request and generate a new one where the unit tests are squashed in one commit.


New Dashboard: Supercharging session chart

(Problem) It has come to many peoples attention that Tesla has changed the Supercharging curve for later models, and may end up doing that for current and future models as Tesla updates the firmware over time.
(Solution) It would be nice to see a single chart that shows rate of charge vs % state of charge for all supercharge sessions superimposed over each other with filters by software version (using colors).  Maybe even have a second graph superimposing time spent charging vs % of charge to quickly see if it's taking longer to charge, again filtering by s/w version.
If it's ok to reference another Tesla logging platform, ABRP has exactly this sort of graph, but on a fleet scaling here.  Users of Teslamate could see something has changed for the worse and open a dialog with Tesla about it.
(Alternatives) Any/all suggested alternatives are welcome.
-Regards

Great idea! The necessary data is already stored by TeslaMate[1]. Someone would just have to create a dashboard with those charts. PRs are welcome :)
[1]: To get all supercharging sessions the following columns of the tables "charges" can be used:

fast_charger_present (TRUE)
fast_charger_brand (Tesla)

I'm not familiar with Grafana but want to jump in one day to see what sort of graphs I can create. How do I know what sort of data is available to graph? I suppose I need to look at the Teslamate Postgres DB at the very least.
But any pointers or reference that I should look into that can be suggested here?

@timguy99 I'm in the same situation as you ... I want to make some changes.
grafana.com should have everything you need to learn.  Here's a screenshot of default available visualization.

If you want to know what data is available in the DB, there's likely a psql command that can describe all tables within the database.


Tweaks of Spatial, Transform and Transform2D docs.

Some style changes and tweaks after @hubbyist feedback.

I don't agree with most of those changes. Removing 's' and 'the' makes the sentence not a proper english.
See examples here:

https://docs.python.org/3/library/unicodedata.html
https://docs.oracle.com/javase/7/docs/api/

At least 'returns' needs to be kept with the s. In most other cases, it doesn't matter if it's 3rd person sg. or not, but returns needs to stay as is.
About 'the', I'm on the fence.

@groud I removed "s" to match rest of the docs where it is more "do something" than "does something" But I can change other way around and ad "s" everywhere :D
The was my mistake I will fix articles "the".

Actually it depends, in some cases you can use the infinitive form. But when you say what a function does you should use the indicative present. Here it's more like "(this function) returns..."
There still might be some places where the doc is wrong about that also ^^

Sorry, I've created new branch, so I'm closing this PR and opening new #11255. ^_^'


App not secure

Hi,
This is my first using station when I try to sign in to Gmail, google chat or drive I get an error that says: This browser or app may not be secure. or Error 400: invalid_request.

Duplicate of #2

Duplicate of #2

I an using windows 10 not  macos

Closed in favor of #2


Clean install - other projects have cmake issues with find_package

This is after a from-scratch repo clone, build and install. No additional make switches.
I tried building a different project that contains find_package(Surelog REQUIRED) in CmakeLists.txt. Cmake complains as follows:
CMake Error at /usr/local/cmake/Surelog.cmake:118 (message):
  The imported target "surelog" references the file

     "/usr/local/lib/surelog/libsurelog.a"

  but this file does not exist.  Possible reasons include:

  * The file was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and contained

     "/usr/local/cmake/Surelog.cmake"

  but not all the files it references.

Call Stack (most recent call first):
  /usr/local/cmake/SurelogConfig.cmake:10 (include)
  src/CMakeLists.txt:10 (find_package)

The file /usr/local/lib/surelog/libsurelog.a indeed doesn't exist, but /usr/local/lib/libsurelog.a does. So there's some prefix being assumed somewhere...

Seems to have something to do with https://github.com/chipsalliance/Surelog/pull/3828/commits/ca42785a0502e3e90ad677695991a74ff4876fdf

Ah - nevermind. An old install of Surelog wasn't cleaned up properly, there was stuff in /usr/local/cmake/Surelog*

I too got tired of manually installing/uninstalling things, homebrew is in progress, rpms in progress, debian files here: https://github.com/dau-dev/tools/releases/tag/v0.0.1.


Manage spawned canisters

Consider the following code with Child1 and Child2 being actor class that have identical Candid interface, but different implementations:
import Child1 "Child1";
import Child2 "Child2";

actor {
  type Child = Child1.Child1;
  let buckets : [var ?Child] = Array.init(100, null);

  public func put(index : Nat) : async () {
    let bucket = switch (buckets[index]) {
      case null { spawn(index) };
      case (?bucket) { bucket };
    };
    ...
  };

  func spawn(index: Nat) : async Child {
    let bucket = if (index > 10) {
      await Child1.Child1(#text "init args")
    } else {
      await Child2.Child2(#num index)
    };
    buckets[index] := bucket;
    bucket
  };
}

If I upgrade this canister (even with the same Wasm), the spawned canisters that were allocated pre-upgrade get lost. Of course, I can make buckets stable, then I can still remember the canister ids after the upgrade. But if the actor class Child1 or Child2 gets a new implementation, I cannot upgrade these spawned canisters even if I still remember the stable buckets array.
One idea to solve this problem is to make a special table in the Motoko stable memory to store allocated canister ids with some metadata (TBD). Before we call create_canister, we consult this table to decide if we want to reuse a previously allocated canister or create a new one. Maybe related to the named adapton idea.

cc @matthewhammer @ByronBecker

Maybe related to the named adapton idea.

In both cases (here and in Named Adapton),

the programmer chooses names to identify resources that get cached and reused across different running versions
without these names, it would be impossible to generally align old allocations and their "current uses" in the new, upgraded codebase

unlike in Named Adapton,

code in the canister gets overwritten (upgraded), not the "input data" for some repeating computation.
here, there is no "the computation" getting re-run over and over, other than the upgrade hooks.  Instead, it's a reactive internet agent that does not necessarily repeat a family of computations over and over, but rather processes new messages and transactions, in an open world.

Still, despite the big differences, perhaps some intuitions from Named Adapton will be helpful.

the programmer chooses names to identify resources that get cached and reused across different running versions

Yes, we can draw on inspirations from adapton to see what's the best syntax to annotate this keyed/named allocation.

here, there is no "the computation" getting re-run over and over

I would argue this simplifies the problem. Essentially, we want to have keyed/named allocation for canister ids, even for unrelated computations. The only thing we instrument/monitor are the management canister calls.


MainApp().run() import module

To load the python code, the app MUST be using this format:
Works:
MainApp().run()

This example doesn't work:
app = MainApp()
app.run()

https://github.com/kivy/kivy-designer/blob/master/designer/project_loader.py#L994


HLM - 541 | Added vc-certify-consumer

@prasanna-egov @saiprakash-v @varadeth

General Question -> we can have this vc-certify-consumer in vc-certification-service itself. why are we writing another service?


Add the Convertible interface.

This sketches the "Convertible" interface that @vagababov outlined in
last week's Serving API WG meeting.
See also: https://docs.google.com/document/d/1UFUfwIF4q4r6JVigom0jQivbcI8mFycWPc9z48yjSIc/edit#heading=h.9np2by1b65b
/lint

/lgtm
/hold
just in case anyone else has comments.

/hold cancel


continuous across start/end points usig extra nodes

Fixes #2086

!build

I haven't managed to get bezier with a loop / cyclic boundaries all the way yet. The best so far is where the handles were rotated 90 degrees, but unfortunately there is still something wrong. This solution commited now is probably good enough, visually almost perfect (haven't "proved" it mathematically, but feels good enough).


feat: Simplify taxonomy tables

See https://github.com/serlo/db-migrations/issues/346

Closed in favor of #42


Conflicting information

This document that states that Calling through Direct Routing is supported in Islands Mode AND states that it is only supported in Teams Only mode.
•	“Teams Only is required for Phone System with Teams” – Fundamental Concepts, bullet point 8
•	“Islands with Phone System and Direct Routing for Teams” – Detailed Mode descriptions, Islands section, PSTN functionality bullet point.

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

ID: 49921e8a-55ac-f547-d4e2-d329f5089c2e
Version Independent ID: 91c3433a-3684-95cd-3426-4a5877b33106
Content: Migration and interoperability guidance for organizations using Teams together with Skype for Business
Content Source: Teams/migration-interop-guidance-for-teams-with-skype.md
Service: msteams
GitHub Login: @LanaChin
Microsoft Alias: v-lanac

@chraymu Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

@officedocsbot assign @scanum

@chraymu Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.


Update gotrue

This updates gotrue-js to the latest version

@biilmann mind if I rebase this? or are you still working on it?

@tech4him1 should be fine to rebase.

Rebased, please squash on merge.

@Benaiah does this fix the token refresh issue that you mentioned?

@tech4him1 I'm not sure if it does yet, but I'm hoping so. I'll update here when I know for sure.


Install/setup not working in Portainer

While attempting to install this via the Standard or Standalone config in Portainer neither properly install.
From checking the logs, the same info entry keeps appearing stating "addgroup: The group `hyperion' already exists."

Can you provide the full container log?
AFAIK Portainer does not support binding local directories as volumes, did you edit the compose file?

I didn't edit the compose file, I did try performing the Standard configuration outside of Portainer just in the command line itself but experienced a different issue regarding it not being able to build the docker container as states the folder doesn't exist but it did.
Please see attached log file for when I run the standalone configuration.
_hyperion_logs.txt

If it's of any help, I also just ran the docker-compose standalone as per the instructions directly on the Pi without Portainer and I believe it experiences the same issue, log attached.
hyperion log manual standalone.txt
I did also try the basic setup again not in Portainer and it doesn't seem to work either.

I'm having the same issue, i tried building the image from a dockerfile, docker-composing the container from a yml as well as just using a docker run command. I also tried using a debain:buster base instead of bullseye but it didn't change anything (maybe it shouldn't, I don't know..). I also ran just the first line of the bash command (addgroup) and this is where the error occurs. Log is the same as @jordanhinks '.
I would really love to run Hyperion-NG in a container but so far I seem to have tried everything. You have the most indepth manual of all but I still can't get it to work.. The great is thing this way I'm learning docker so for what it's worth: thank you very much for actually letting me try to figure stuff out and not just providing a buttoned-up solution, even if it might should have been that way ;)

Sorry if I haven't been able to reply, I'm not really using this script anymore since I'm running hyperion.ng directly on my LG tv.
I'll try to replicate the issue the next weekend, in the meanwhile you can give a look at this repo https://github.com/foorschtbar/hyperion-docker

Hey thanks for your quick answer. I tried this one already as well but I'm going to retry. I see! I guess running it right on the tv might be more straightforward for setting it up. In my use case it's a Windows PC which displays the content.

I've just pushed some changes, everything is running fine on my end, I've tested bot the standard and the standalone version. As a bonus I added a nightly build file too :)
Notable changes:

moved away from bullseye-slim to bullseye (fixed a missing .so library error)
moved configuration to a standard docker volume instead of a binded directory to prevent ownership errors
add some controls to prevent fails if the internal user was already created

Awesome, thanks! I will check it out as soon as possible!

I tried it on a fresh Pi with Bullseye on it, the error due to the group already existing is mitigated now, an error concerning a missing library (libatomic.so.1) still appeared. I just added a line in the bash script to install it as well and not it works for me. Huge thanks!


Alert control is not dismissing after opening from the action sheet button event in Ionic3.5

Ionic version:  (check one with "x")
[ ] 1.x (For Ionic 1.x issues, please use https://github.com/ionic-team/ionic-v1)
[ ] 2.x
[ x] 3.x
I'm submitting a ...  (check one with "x")
[x ] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:
I have an action sheet into my project and opening an alert control by selecting the action sheet button. the alert box open but while clicking the alert button then alert control is not dismissing/closing itself. it always stays on the page.
Expected behavior:
The alert control should be dismissed/close after pressing the Agree/Disagree button.
Steps to reproduce:

add an action sheet into one of ionic page
add the alert control into that page.
open an alert control using action sheet button.
try to close the alert control using one of agree disagree button

Related code:
presentActionSheet() {
let self = this;
let actionSheet = this.actionSheetCtrl.create({
title: 'Modify your album',
buttons: [
{
text: 'Destructive',
role: 'destructive',
handler: () => {
console.log('Destructive clicked');
self.showConfirm();
}
},{
text: 'Archive',
handler: () => {
console.log('Archive clicked');
self.showConfirm();
}
},{
text: 'Cancel',
role: 'cancel',
handler: () => {
console.log('Cancel clicked');
}
}
]
});
actionSheet.present();
}
showConfirm() {
let confirm = this.alertCtrl.create({
  title: 'Use this lightsaber?',
  message: 'Do you agree to use this lightsaber to do good across the intergalactic galaxy?',
  buttons: [
    {
      text: 'Disagree',
      handler: () => {
        console.log('Disagree clicked');
        confirm.dismiss();
      }
    },
    {
      text: 'Agree',
      handler: () => {
        console.log('Agree clicked');
         confirm.dismiss();
      }
    }
  ]
});
confirm.present();

}
https://drive.google.com/open?id=0B6aMbU1-vMowSVRvU0JQdk1SZ0U
https://drive.google.com/open?id=0B6aMbU1-vMowRjJQQ0M0R0JtUEU
Other information:

Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
global packages:
@ionic/cli-utils : 1.4.0
Cordova CLI      : 6.5.0
Ionic CLI        : 3.4.0

local packages:
@ionic/app-scripts              : 1.3.12
@ionic/cli-plugin-cordova       : 1.4.0
@ionic/cli-plugin-ionic-angular : 1.3.1
Cordova Platforms               : android 6.1.2 browser 4.1.0 ios 4.1.1
Ionic Framework                 : ionic-angular 3.5.0

System:
Node       : v7.0.0
OS         : macOS Sierra
Xcode      : Xcode 8.3.1 Build version 8E1000a
ios-deploy : 1.9.1
ios-sim    : 5.0.10
npm        : 4.6.1

I have the same issue

Same issue here! I was getting crazy.

I also have the same issue.
App directly opens an alert. => It's OK.
App opens an action sheet then opens an alert from action sheet. => It's broken.

Thanks for using Ionic, we will look into this.

Hello,
I have the same issue too.
I found a way around it while waiting for a fix: wrapping the code that launches the alert in the actionsheet with a timeout:
presentActionSheet() {
	let actionSheet = this.actionSheetCtrl.create({
      title: 'Edit',
      buttons: [
        {
          text: 'Rename',
          handler: () => {
           setTimeout(() => {
             this.showRename();
           }, 400)
          }
        }
      ]
    });
    actionSheet.present();
}

showRename() {
	let prompt = this.alertCtrl.create({
	  title: 'Rename',
	  message: "Enter a name",
	  inputs: [
		{
		  name: 'Name',
		  placeholder: ''
		},
	  ],
	  buttons: [
		{
		  text: 'Cancel',
		  handler: data => {
			console.log('Cancel clicked');
		  }
		},
		{
		  text: 'Save',
		  handler: data => {
			  console.log('Saved clicked');
		  }
		}
	  ]
	});
	prompt.present();
}

Maybe it will help to fix the issue :)

The same happens to me when I call an alert from within another, but the @Pfvc298 solution does not work in my case. My code is:
	addPlayer () {
		let prompt = this.alertCtrl.create({
			title: 'Adicionar Jogador',
			message: "Insira o nome do novo jogador",
			inputs: [
				{
					name: 'name',
					placeholder: 'Nome'
				},
			],
			buttons: [
				{
					text: 'Cancelar',
					handler: data => {
					}
				},
				{
					text: 'Adicionar',
					handler: data => {
						if (data.name == "")
							setTimeout(() => {
								this.showAlert('Nome vazio','Por favor, preencha o campo de nome.');
							}, 1000);
						else {
							this.players.push({
								name: data.name,
								amount: 0
							});
							this.showAlert('Sucesso!','Jogador adicionado.');
						}
					}
				}
			]
		});
		prompt.present();
	}
	showAlert(title, subTitle) {
		let alert = this.alertCtrl.create({
			title: title,
			subTitle: subTitle,
			buttons: ['OK']
		});
		alert.present();
	}

If i call the function showAlert directly works fine.

I have the same issue. but I found solution
https://ionicframework.com/docs/api/components/action-sheet/ActionSheetController/
in handler of actionSheet,
actionSheet.dismiss().then(()=>{
this.showAlert();
});
return false;

Suffering with the same. As mentioned by @Pfvc298, a timeout "solved" it temporarily to me.
import { Component } from '@angular/core';
import { ActionSheetController, AlertController } from 'ionic-angular';

@Component({
  selector: 'page-test',
  templateUrl: 'test.html'
})

export class TestPage {

  constructor(
    public actionSheetCtrl: ActionSheetController,
    public alertCtrl: AlertController
  ) { }

  presentActionSheet() {
    let actionSheet = this.actionSheetCtrl.create({
      title: 'Test ActionSheet',
      buttons: [
        {
          text: 'Show Alert',
          handler: () => {
            // a timeout "solves"
            setTimeout(() => {
              this.showAlert();
            }, 0);
          }
        }
      ]
    });
    actionSheet.present();
  }

  showAlert() {
    let alert = this.alertCtrl.create({
      title: 'Test Alert',
      message: 'Lorem ipsum dolor sit amet.',
      buttons: ['Ok']
    });
    alert.present();
  }

}

i have same

Try it out guys. It will work
let alert = this.alertCtrl
  .create({
    title: 'Dismiss in handler',
    buttons: [{
      text: 'Ok',
      handler: () => {
        alert.dismiss()
        return false // The king is here
      }
    }]
  })

alert.present()


add try catch in getLatestBlockhash loop

catch and handle errors inside blockhash loop as this can fail intermttently without needing a fatal shutdown of the app
Was running some tests recently and application crashed due to this. If it is failing multiple times in a row may be reason enough to shutdown the app but not if it happens rarely

Hey, this is good, but can you please remove formatting and restrict PRs to the change in question? This one is simple and it's easy to see what the changes are, but then the formatting will be changed again later (most likely reverted). If you want to include formatting, maybe it's best to have a formatting tool that is run before anyone submits a PR so we can avoid these changes in the future (everyone follows the same formatting)

Hey, this is good, but can you please remove formatting and restrict PRs to the change in question? This one is simple and it's easy to see what the changes are, but then the formatting will be changed again later (most likely reverted). If you want to include formatting, maybe it's best to have a formatting tool that is run before anyone submits a PR so we can avoid these changes in the future (everyone follllows the same formatting)
ows the same formatting)

sorry was side-effect when restoring my repo and copying the files in, fixed now


Add ldexp math built-in

Hi @illuhad,
I think the only hard decision I had to make here has to do with the definition of HIPSYCL_BUILTIN_GENERATOR_BINARY_T_INT.
I did not template the second argument and instead explicitly locked it to int to avoid collision/ambiguity with HIPSYCL_BUILTIN_GENERATOR_BINARY_T_GENINT.
Let me know if you have something better in mind. :)
Cheers,
Nuno

I think the only hard decision I had to make here has to do with the definition of HIPSYCL_BUILTIN_GENERATOR_BINARY_T_INT.
I did not template the second argument and instead explicitly locked it to int to avoid collision/ambiguity with HIPSYCL_BUILTIN_GENERATOR_BINARY_T_GENINT.

Can you elaborate on what your concern is here? You have the two overloads once for genint and once for int as required by the spec. Is it because there might be a collision between the explicit int overload and the genint overload in case it's called with int argument?

I think the only hard decision I had to make here has to do with the definition of HIPSYCL_BUILTIN_GENERATOR_BINARY_T_INT.
I did not template the second argument and instead explicitly locked it to int to avoid collision/ambiguity with HIPSYCL_BUILTIN_GENERATOR_BINARY_T_GENINT.

Can you elaborate on what your concern is here? You have the two overloads once for genint and once for int as required by the spec. Is it because there might be a collision between the explicit int overload and the genint overload in case it's called with int argument?

Yeah, if we template the second argument then, e.g. on calls where both the floating-point and the integer arguments are scalars, there’d a collision and the compiler would complain of ambiguity. Like this, that risk doesn’t exist because the compiler will always choose the most specialised template.
It wasn’t so much a concern, but rather me pointing out a design choice, so you could double check it. :) You are right this covers the spec, that’s no accident. :) But I’ve noticed that sometimes we’re a bit more lenient and allow generic integral types, not just int.

Do you think it would make sense to also add a test case here?

Do you think it would make sense to also add a test case here?

Done.

Seems like there is an issue with vector types? https://github.com/OpenSYCL/OpenSYCL/actions/runs/4872132257/jobs/8689939849?pr=962

Seems like there is an issue with vector types? https://github.com/OpenSYCL/OpenSYCL/actions/runs/4872132257/jobs/8689939849?pr=962

Indeed, I've identified 20043bd as the cause.

Seems like there is an issue with vector types? https://github.com/OpenSYCL/OpenSYCL/actions/runs/4872132257/jobs/8689939849?pr=962

Thanks, yes, this was caused by 20043bd and I adopted the suggested change there of using an explicit cast.
I've also fixed some floating-point imprecisions that were caught by the new GPU CI tests!
Should be good to go. :-)


dx12 : format properties

Implementing format properties in dx12, mostly all formats are unsupported for now. Need to gradually implement more over the time..
Another point is to try merging format conversion and format properties in a follow up.
PR checklist:

[x] make reftests succeeds (might be temporarily impossible, WIP)
[x] tested examples with the following backends: dx12

bors r=kvark


fix using fmt to printf.

Using log to printf instead of fmt
Description
Just a simple issue, the engine.go using fmt.Printf to print info, that comes console while using self project, using log.Printf instead, in order to hook log message by self logger if needed.

 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.


Fix datetime format

Bug description
CodinGame changed their datetime format, which caused Client.get_pending_clash_of_codes() to error.
Described in issue #23.
Checklist

[ ] If classes/methods/attributes were added/changed then they have been documented and tested.

[ ] I have updated the documentation to reflect the changes.
[x] I have updated the tests to support the changes.

[x] This PR fixes an issue.
[ ] This PR adds something new (e.g. new class, method or attribute).
[ ] This PR is a breaking change (e.g. classes, methods, attributes or parameters removed/renamed)
[ ] This PR is not a code change (e.g. documentation, README, ...)
[x] The code follows the style guidelines and passes linting and testing.

Codecov Report
Base: 100.00% // Head: 100.00% // No change to project coverage :thumbsup:

Coverage data is based on head (ee5d83e) compared to base (a446d96).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff            @@
##               dev       #24   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           32        32
  Lines         2338      2342    +4
=========================================
+ Hits          2338      2342    +4

Impacted Files
Coverage Δ

codingame/utils.py
100.00% <100.00%> (ø)

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

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


Adding ct-config option for providing Graphite configuration

I have changed the implementation now to send the entire CT-Common-Config file now over to Docker rather than filling in a template.


cypress-image-diff overrides my cypress.json viewports

Hello!
I have viewport sizes set in my cypress.json file, and as the Title says, even though I have them defined, this plugin overrides them and makes them bigger than I want them to.
This Issue is rather annoying, especially because there is no cross-platform way to set the Environment Variables and npm cannot find the "HEIGHT" command because it gets wrongly interpretet.
If possible I'd suggest checking the cypress.config before to see if there's things defined in it

This is absolutely something we will fix... there is an issue opened which will tackle it:
https://github.com/uktrade/cypress-image-diff/issues/68
I will keep this issue opened as well and implement this feature shortly.

Yay and Thanks for the quick Reply!
I thought I checked the issues to see if there already was someone mentioning this, but i guess i missed that one

Yeah, that would explain why it still resets to 1980x1440 when I use cy.compareSnapshot()

:tada: This issue has been resolved in version 1.18.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[docs] Search updated to be visible on small screen size

[x] I have followed (at least) the PR section of the contributing guide.

I have updated the search bar to be also visible on small screen sizes (#26536). The search results are shown in fullscreen on small screen sizes. This fixes also the issue that the search popup is partially drawn outside the browser window.
I'm not fully satisfied with the current look, but it's a first draft. On small screen sizes the search should also hide the other toolbar buttons to allow for enough space for the search input.

@DanielBretzigheimer Thanks for the initiative. See #26112 for how we plan to move forward. I'm closing as this direction won't help long term.


Keyword not supported: 'column encryption setting'

Initial Setup

For SQL Server, Setup Always Encrypted and encrypted 1 column
While trying to read the data I get an error message that 'Column Encryption Setting' is not supported
When I remove the column from the data set, and remove the "column encryption setting" from connection string, I have no problem reading the data
I have no problem reading the data from SSMS Client using AlwaysEncrypted option

ConnectionStr =  @"Server=servername\inst; Database=DB; Integrated Security=true; Column Encryption Setting=Enabled";
Software
Microsoft.Data.SqlClient version: (found on the nuget or Microsoft.Data.SqlClient.dll) 4.8.2
.NET target: (Core 5)
SQL Server version: (e.g. SQL Server 2019)
Operating system: (e.g. Windows 2019)
Exception
System.ArgumentException
HResult=0x80070057
Message=Keyword not supported: 'column encryption setting'.
Source=System.Data.SqlClient
StackTrace:
at System.Data.Common.DbConnectionOptions.ParseInternal(Dictionary2 parsetable, String connectionString, Boolean buildChain, Dictionary2 synonyms, Boolean firstKey)
at System.Data.Common.DbConnectionOptions..ctor(String connectionString, Dictionary`2 synonyms)
at System.Data.SqlClient.SqlConnectionString..ctor(String connectionString)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions previous)
at System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(DbConnectionPoolKey key, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions& userConnectionOptions)
at System.Data.SqlClient.SqlConnection.ConnectionString_Set(DbConnectionPoolKey key)
at System.Data.SqlClient.SqlConnection.set_ConnectionString(String value)
at System.Data.SqlClient.SqlConnection..ctor(String connectionString)
at Library.database.SqlServerDb.ExecuteDataAdapater[T](String command) Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()

Hi @cypisek77
The version 4.8.2 corresponds to "System.Data.SqlClient" as also captured by your logs.
System.Data.SqlClient in .NET Core doesn't support Always Encrypted.
Please use Microsoft.Data.SqlClient for the same.

Hi @cypisek77
The version 4.8.2 corresponds to "System.Data.SqlClient" as also captured by your logs.
System.Data.SqlClient in .NET Core doesn't support Always Encrypted.
Please use Microsoft.Data.SqlClient for the same.

 That worked, should have been using that from the start.

Thank you, all set. That worked, should have been using that from the start.

@cypisek77 @ErikEJ @cheenamalhotra  am using .net core 2.2 and i have installed the microsoft.data.sqlclient but still am getting above exception

EF Core 2.2 (which is out of support) depends on System.Data.SqlClient

@ErikEJ does EF Core2.1 supports Always Encrypte on SQL server?

Suggest you raise an issue in the EF Core repository, explaining what "not works" actually means, and notice that 2.2 is no longer supported.

@ammar-ahmed
As @ErikEJ mentioned "EF Core 2.2 (which is out of support) depends on System.Data.SqlClient", System.Data.SqlClient doesn't support Always Encrypted and so does not EF Core 2.2.
Please upgrade to new version of EF Core  to use Microsoft.Data.SqlClient that supports Always Encrypted.


Michelangelo <IP_ADDRESS> haddocks

haddock: internal error: spliceURL UnhelpfulSpan

I'm not able to reproduce this locally.

Michelangelo was excluded in #1039 so we can wait until it's included again.


[FR] Add delivery cost (excluding unit cost that already exists) in PO

Fixes #1727
Fixes #2694
Fixes #807

@matmair thanks for your hard work !

Nice clean implementation. I assume there's a lot of front-end work still to come?
Can you please address the two migrations? It looks like they may include some other features you were working on. In particular, there are fields which are added in the first but then removed in the second. Please squash this down to a single migration file :)

@SchrodingersGat this is based on work I did half a year ago on the 0.5.4 branch - still fixing stuff.
I will clean up migrations, docs etc. before marking it as ready.
There is a lot of duplication in the frontend - maybe a refactor could help there. I will submit as is and then we can look.

@SchrodingersGat also thinking about how plugins can fit in here.
I imagine adding the possibility to run calculations over an order with a button in the detail page and change the price of line item based on the results.

@SchrodingersGat could you take a look at this while I clean up?
Any architecture changes whised? Does the naming fit?

@SchrodingersGat how would you like this to interface with the reporting engine?

@matmair I'm happy with the architecture overall

how would you like this to interface with the reporting engine?

Do you mean how are the additional lines provided to the reporting templates? Something as simple as:

@SchrodingersGat ready for merge

@matmair a few thoughts here:
Terminology
I think it would be clearer to explicitly say that these new lines are "additional"

Purchase Orders
Should we add the same additional features for purchase orders, while we are at it?
e.g. shipping / service fees / etc
Specifically this would be required to close out https://github.com/inventree/InvenTree/issues/2694

@SchrodingersGat I changed the wording. Not sure if the 'additional' will not raise questions in the future. No clue what qould be better though 😇.
I am running the unit test for POs right now. Should be up soon.

@SchrodingersGat any options for reducing the code duplications in 'order.js'? I would like to reduce the code there before mergin.

@SchrodingersGat on a more general note: come classes are called 'PO', others 'PurchaseOrder' - same with 'SO'.
Should we maybe use only one naming schema?

@SchrodingersGat any options for reducing the code duplications in 'order.js'? I would like to reduce the code there before mergin.

Can you point me to what you mean by the duplications?

@SchrodingersGat on a more general note: come classes are called 'PO', others 'PurchaseOrder' - same with 'SO'. Should we maybe use only one naming schema?

Fair point, I'd prefer the longer naming (e.g. PurchaseOrder). Although it is lengthier, it is much clearer.

@SchrodingersGat on a more general note: come classes are called 'PO', others 'PurchaseOrder' - same with 'SO'. Should we maybe use only one naming schema?

Fair point, I'd prefer the longer naming (e.g. PurchaseOrder). Although it is lengthier, it is much clearer.

@SchrodingersGat should that be a separate PR or in this one?

@SchrodingersGat any options for reducing the code duplications in 'order.js'? I would like to reduce the code there before mergin.

Can you point me to what you mean by the duplications?

@SchrodingersGat most of the changes in order.js are duplicate.

@matmair I'm happy with that for now - perhaps a future refactor (once we have unit testing for javascript, for example) would be in order.

@matmair getting a javascript error when I press "Add Additional Order Items" on the sales order page:

@matmair I see that @eeintech raises a good point in the discussion of https://github.com/inventree/InvenTree/issues/807
Namely, we can already add line items to purchase orders which do not reference a "Part". This can already be used for items such as shipping, one-off fees, etc.

Maybe extending this (existing) mechanism to the sales orders is a cleaner approach than introducing new database models?
i.e. update the "SalesOrderLineItem" model to allow it to not have to reference a "part".
Thoughts?

@schrodingersgat
I find a separate model - that can not be allocated to a nicer solution - esp. if additional logic via plugins should be added (automatic tax calculation). But we can do this either way - just give me a direction and I will change it accordingly.

@eeintech with unknown states a lot of code will get more complicated. For example, if you add lines whose values get automatically calculated by plugins (which is the next step after this) - for taxes eg.

@matmair I'm not talking about unknown states, just that blank or incomplete line items can be ignored in the next step. That's why I vote for not making the part field mandatory, not a new model.

@SchrodingersGat I find a separate model - that can not be allocated to a nicer solution - esp. if additional logic via plugins should be added (automatic tax calculation). But we can do this either way - just give me a direction and I will change it accordingly.

I can see your point here. If we go this way, then we should make the Part field of the PurchaseOrderLineItem model mandatory, I thik.

@SchrodingersGat I find a separate model - that can not be allocated to a nicer solution - esp. if additional logic via plugins should be added (automatic tax calculation). But we can do this either way - just give me a direction and I will change it accordingly.

I can see your point here. If we go this way, then we should make the Part field of the PurchaseOrderLineItem model mandatory, I think.

That is a breaking change. I can provide a migration but isn't that restricting current users?

Yes, a data migration would be required in that case...
What complexities / issues do you think we would encounter (with regard to plugins, for example) if we simply allowed the "part" field to be null for the SalesOrderLineItem model?
I am leaning towards this solution for its simplicity, and we would not need any data migrations.

@SchrodingersGat I do not see problems in leaving the part field being nullable -  I see a problem with having multiple iterating lines (taxes, shipping, handling) with parts on the iterating lines themself as that can become expensive fast.

as that can become expensive fast

How are you defining "expensive" here? In terms of implementation / coding effort? Financially? Something else?

as that can become expensive fast

How are you defining "expensive" here? In terms of implementation / coding effort? Financially? Something else?

@SchrodingersGat computational. With a changing lazy queryset it would have to reload the set on each automated line calculation.

@matmair I have discovered another issue which impacts our decision here.
Currently if you have a purchase order with "blank" line items (that is, line items without a referenced part) then you cannot actually receive that line. Pressing the "receive items" button throws a javascript error, but even if that were fixed, the back end logic expects that you want to create a new stock item. You can't make a new stock item against a "blank" part, so this does not make sense.
I think that the correct way forward is to:

Update the PurchaseOrderLineItem model to require a non-null SupplierPart reference.
Create the new ExtraLineItem model (as you have already done here) for both PurchaseOrder and SalesOrder models
Data migration for existing users:

Find any instances of PurchaseOrderLineItem with a null (empty) SupplierPart reference
Create a new ExtraLineItem instance for each said instance
Delete the original PurchaseOrderLineItem instances with empty supplier part references

While this requires an additional data migration, I think it is the "best" way forward, as it clearly defines the separate expected behaviours of "physical" line items and "additional" (non physical) line items such as shipping, fees, etc, etc.

@SchrodingersGat I think that makes more sense. We have to be weary of possible performance problems as the user base gets faster.
I am currently working on a schema where I will provide (storage limited) permanent subdomain hosting for users if they are willing to share their usage data so we can get real world performance data. I will migrate over some existing users from my private instances so we get more insights. Still ongoing but in the summer I should get to a point where we can start analyzing the data. I think there are a few points where the logic needs to be changed / optimized but without data it is hard to say.

@SchrodingersGat so should I make the required migrations? I am still researching ways to make tests for them but not getting anywhere tbh.

@matmair I have discovered another issue which impacts our decision here.
Currently if you have a purchase order with "blank" line items (that is, line items without a referenced part) then you cannot actually receive that line. Pressing the "receive items" button throws a javascript error, but even if that were fixed, the back end logic expects that you want to create a new stock item. You can't make a new stock item against a "blank" part, so this does not make sense.
I think that the correct way forward is to:

Update the PurchaseOrderLineItem model to require a non-null SupplierPart reference.
Create the new ExtraLineItem model (as you have already done here) for both PurchaseOrder and SalesOrder models
Data migration for existing users:

Find any instances of PurchaseOrderLineItem with a null (empty) SupplierPart reference
Create a new ExtraLineItem instance for each said instance
Delete the original PurchaseOrderLineItem instances with empty supplier part references

While this requires an additional data migration, I think it is the "best" way forward, as it clearly defines the separate expected behaviours of "physical" line items and "additional" (non physical) line items such as shipping, fees, etc, etc.

Makes a lot of sense, I like it!

Great! You happy to tackle the data migration as outlined above?

@SchrodingersGat so should I just make the required migrations? I am still researching ways to make tests for them but not getting anywhere eaningfull tbh.
And does the phrasing 'additional' make sense? In the german translation it does - not sure about general english thought. Seems kind of clunky to me. But I am certainly no native speaker. @SchrodingersGat @eeintech

Great! You happy to tackle the data migration as outlined above? It will need some thorough unit testing - there is already a framework for performing unit testing between different database migration levels.

Certainly! Can you point me to an example? I can not think of a snippet of the top of my head.

Certainly! Can you point me to an example? I can not think of a snippet of the top of my head.

Here is an example of testing between two specific migrations:
https://github.com/inventree/InvenTree/blob/master/InvenTree/order/test_migrations.py
And an example of migrating from the oldest to the newest migrations (without knowing which migrations they are)
https://github.com/inventree/InvenTree/blob/master/InvenTree/build/test_migrations.py

And does the phrasing 'additional' make sense? In the german translation it does - not sure about general english thought. Seems kind of clunky to me. But I am certainly no native speaker. @SchrodingersGat @eeintech

No, I don't think it makes much sense at all. There should be a better word to indicate the point of these "non physical" line items, but I am having trouble thinking of what that might be.

@SchrodingersGat thank you for the sample. Regarding the wording we should probably all think a bit about it before merging.

Extra or optional maybe?

Extra or optional maybe?

@SchrodingersGat do you like extra? Maybe 'extra line' not 'extra line item'?

I'm reasonably happy with "Extra Line", unless we come up with something better :)

@SchrodingersGat ok I will finish migrations and then change the name everywhere.

@SchrodingersGat still need to write migration tests - will do that in a few hours.

In order/models.py:

Remove this #TODO entry
Change the on_delete=models.SET_NULL to on_delete=models.CASCADE (now that the part field is non-nullable)

In order/models.py:

* Remove this #TODO entry

* Change to `null=False, blank=False`

* Change the `on_delete=models.SET_NULL` to `on_delete=models.CASCADE` (now that the `part` field is non-nullable)

@SchrodingersGat  I changed it to block the creation of blank entries but left it as set_null so that deleting a part does not remove all old lines - seems counter-productive for when you need to check order values and lines are missing because you took parts out of the catalogue.

Should be ready for merge now!

@SchrodingersGat any idea what is happening here:
https://github.com/inventree/InvenTree/runs/5744391281?check_suite_focus=true#step:5:357
Company is not an instance of Company?

That's very strange. I can replicate it locally but not sure why it is happening...

Getting a client-side JS error here when trying to add an "Extra Line" to a sales order

Also the "extra lines" table seems to be very broken for the "Purchase Order" view:

@matmair it would be great to get this one closed out - any updates on this PR?

@SchrodingersGat not really, did not work on this. Will take a look tonight.

@SchrodingersGat this should be kind of good to go if the tests go through. I fixed the rendering issue - was a wrong capitalisation.
There is still a broken test for the migration with the 'Company' is not 'Company' error. I will try to find a resolution for it but I tried already nearly for a month.

@SchrodingersGat had time to look at this?

@matmair sorry, I had missed your ping. This looks great now, happy to merge in!


Add NSFW features

Why do you want this feature?
So I can spam it and masturbate without leaving Discord.
Will it benefit others?
Yes
Additional context
For it to be-able to get pictures of hentai or porn using an API.


.plot() doesn't display on ipynb

Hello, I am trying to reproduce the convex hull demo on stackoverflow.
I reproduce the code, but do not get a plot output like in the demo. Instead I just get the plot's setting bar, and nothing else. How can I fix this? Thank you in advance.

Nevermind, it works now. Just had to restart jupyter notebook.


Pipeline Generator uses wrong slashes.

The pipeline definitions that the pipeline generator creates has the wrong path direction for the YAML file reference which causes errors when opening it in the UX:

This was fixed a while ago.


Param on Pipe gives NoSuchMethodException

Describe the issue
When configuring a custom pipe with element Pipe and attribute classname it is not possible to add a Param elemennt. It will give the following error:
2021-10-14 17:33:28,147 ERROR [main][] org.apache.commons.digester3.Digester End event threw exception
java.lang.NoSuchMethodException: No such accessible method: addParameter() on object: nl.nn.adapterframework.core.PipeLine
Reporter
Jaco de Groot
To Reproduce
Steps to reproduce the behavior:

Add the configuration of the pipe mentioned below to an adapter
Start your Frank
See the error in the Tomcat console

Screenshots
-
Configuration
			<Pipe
				name="ReadXsd"
				className="nl.nn.adapterframework.doc.IbisDocPipe"
				>
				<Param name="uri" value="/ibisdoc/ibisdoc.xsd"/>
				<Forward name="success" path="WriteXsd"/>
			</Pipe>

Environment
FF! 7.7-20211014.155808: Frank2Example4
Running on LPZWNL000040359 using Apache Tomcat/9.0.50
Java Version: OpenJDK Runtime Environment (1.8.0_292-b10)
Heap size: 351M, total JVM memory: 574M
Free disk space: 169GB, total disk space: 475GB
Up since: 2021-10-14 17:33:16 (3m)

Additional Environment
-
Additional Context
I was testing Frank!Flow in Frank2Example4 with an old configuration I used to automatically install the Frank!Doc xsd. It contained the following old syntax and Frank was starting without errors but Frank!Flow didn't draw a line to this pipe. It occurred to me that Frank!Flow would need the new syntax (with Pipe, Param and Forward starting with a capital). This made Frank!Flow draw the line but gave an error in the console after the configuration was reloaded. Restarting Tomcat will give the same error in the Tomcat console.
			<pipe
				name="ReadXsd"
				className="nl.nn.adapterframework.doc.IbisDocPipe"
				>
				<param name="uri" value="/ibisdoc/ibisdoc.xsd"/>
				<forward name="success" path="WriteXsd"/>
			</pipe>

I'm already using the following in the Frank2Example1 adapter for a long time. Isn't that new FrankConfig syntax? Only when adding an element Pipe it doesn't work as expected. How would I enable new FrankConfig syntax?
<Configuration name="Example1">
	<Adapter name="Example1Adapter">
		<Receiver name="Example1Receiver">
			<JavaListener name="Example1" serviceName="Example1"/>
		</Receiver>
		<Pipeline firstPipe="Example">
			<FixedResultPipe name="Example" returnString="Hello World1">
				<Forward name="success" path="EXIT"/>
			</FixedResultPipe>
			<Exit path="EXIT" state="success"/>
		</Pipeline>
	</Adapter>
</Configuration>


Option to create a resource without overwriting existing records

The core API currently only supports apply methods, which, if there is an existing resource with the same id, will update the existing record. There is no distinction between the response after creating a new resource vs. updating one.
There should be a way to create a resource - this action should fail if there is an existing resource already registered in the system.
We can either alter the existing apply method to take in an argument or add separate create methods.

@zhilingc can you highlight the method you are referring to (for extension)?

From:
rpc ApplyFeature(feast.specs.FeatureSpec) returns (CoreServiceTypes.ApplyFeatureResponse) {};
To:
rpc ApplyFeature(CoreServiceTypes.ApplyFeatureRequest) returns (CoreServiceTypes.ApplyFeatureResponse) {};

message ApplyFeatureRequest {
  feast.specs.FeatureSpec spec = 1;
  bool update = 2;
}

I'm not sure if i prefer this method actually.

This issue isn't relevant any more due to changes in Feast 0.3.0


update superagent to 7

closes #750

Released https://github.com/visionmedia/supertest/releases/tag/v6.2.0


Bootstrap needs a client timeout

If the Client doesn't receive a Finish Bootstrap within EXCHANGE_LIFETIME (247s) of the last command from the server it needs to timeout and consider the bootstrap failed.

Hi,
what about using Bootstrap-Server Account Timeout resource as timeout after connection to bootstrap server(and not after receiving acknowledge to bootstrap request)?

Bootstrap-Server Account Timeout resource, LWM2M TS 1.0, E.1, Resource 12

The LwM2M Client MUST purge the LwM2M Bootstrap-Server Account after the timeout value given by this resource. The lowest timeout value is 1.
If the value is set to 0, or if this resource is not instantiated, the Bootstrap-Server Account lifetime is infinite.

I don't think, that using a resource out of their (LWm2M T)specification is a good idea. If you want to change the specification, open an issue on the OMA issue page https://github.com/OpenMobileAlliance/OMA_LwM2M_for_Developers/issues and we will see, if others agree on that idea and may include it into the LWM2M TS 1.1.
I'm not sure, what should cause the loss of the "bootstrap-finish" request. According LWM2M TS 1.0,
8.2.3, table 23, this is a POST in CON, so it's retransmitted, if the client doesn't ACK it. So the probability of that loss should not be high.

The bootstrap-finish might not be sent if the bootstrap server crashes or is restarted,

Using EXCHANGE_LIFETIME is the way to go as specified in section 5.2.3 of the TS:

Step #2: Bootstrap-Finish Indication
When the LwM2M Server has finished to send all the Bootstrap Information to the LwM2M Client, the Server MUST send a Finish Bootstrap Indication to the Client to properly end this phase.
In case the LwM2M Client didn’t receive such a Finish Bootstrap Indication in a certain period (EXCHANGE_LIFETIME) after the last received Bootstrap-Server command, the LwM2M Client MUST consider the Bootstrap procedure is failed.

@sbertin-telular
I'm not sure, what you want to achieve with this issue. An explanation of the behaviour? Or an optimization?
If you want an optimization, how should a device distinguish between a bootstrap where the bootstrap server crashes just before the "finish bootstrap" or when bootstrap server crashes still with some more config data to be sent? I think. the device can't ensure, that the bootstrap is finished, except it gets the "finish bootstrap" request.

I'm looking for correct behavior when the finish bootstrap is not received. Without a timeout, the client will wait forever. With a timeout, the client can attempt the bootstrap again. The timeout is also specified in the LWM2M technical spec.
We have devices that may be in remote locations, without people around. Our customers wouldn't be very happy if they need to send someone out to reboot a device due to a temporary communication problem. It is critical that our devices detect and attempt to recover from what may be a temporary problem.

Your Pull Request is good for me. If the Bootstrap Finish is not received in the $EXCHANGE_LIFETIME seconds after the last command, the Bootstrap is considered as failed.
Then the application can decide on what to do (wait some time and retry to Bootstrap in your use case).
Regards,

Sorry, I was thinking in the wrong direction :-).
My impression was, that this issue is to go for a "smaller timeout" or "no failure on timeout" because I overseen the prepared PR.

I think that EXCHANGE_LIFETIME timeout solution is a good solution, but it covers only for 1 scenario in which the server is not sending bootstrap end packet ( the client need to update last received packet time).
in my opinion, the intention of resource Bootstrap-Server Account Timeout is to handle other scenarios which could lead the client to stuck in bootstrap flow.

Since everyone agreed, I merged the PR #303.
I'm also closing this specific issue. Do not hesitate to create a new one if necessary about the  Bootstrap-Server Account Timeout.


carousel-fade option

Hi, first of all thanks for the lightbox, it works great!
I'm wondering if it is possible to configure the main carousel using a carousel-fade option, as it's possible in bootstrap 5.2.
So, for example, the generated html should be:
div id="lightboxCarousel-xxx" class="lightbox-carousel carousel carousel-fade slide pointer-event" data-bs-ride="carousel" data-bs-interval="false">

I'm using the lightbox directly via the minified js (no custom options in js).
Thank you

It doesn't currently allow for adding custom classes, sorry. I don't think this would be difficult to implement; I'll add it in the next release.
As a workaround in the meantime, you could simply apply the styles that Bootstrap uses for .carousel-fade to .lightbox-carousel, like this:
.lightbox-carousel .carousel-item {
    opacity: 0;
    transition-property: opacity;
    transform: none;
}

.lightbox-carousel .carousel-item-next.carousel-item-start,
.lightbox-carousel .carousel-item-prev.carousel-item-end,
.lightbox-carousel .carousel-item.active {
    z-index: 1;
    opacity: 1;
}

.lightbox-carousel .active.carousel-item-end,
.lightbox-carousel .active.carousel-item-start {
    z-index: 0;
    opacity: 0;
    transition: opacity 0s 0.6s;
}

@media (prefers-reduced-motion: reduce) {
    .lightbox-carousel .active.carousel-item-end,
    .lightbox-carousel .active.carousel-item-start {
        transition: none;
    }
}

Hi, thanks for the feedback and support. It looks like my UI/UX team doesn't mind too much we have two different carousel setup in the project, so I will close this for now. But I think I will still apply the css to the base class as you suggested.
PS. I think in general would be ideal to be able to plugin some kind of settings, just to get the same bootstrap look & feeling, to avoid custom css that is a pain to maintain if we think in the long term.


team page should have ranking by tournament

A team that plays multiple tournaments should have a ranking by tournament and a global ranking

I don't think this is relevant anymore


cmd/oci-image-tool: is having empty refs/ a valid image?

From @runcom on September 9, 2016 8:40
$SUBJECT and basically, is it valid to have stuff under blobs/ not referenced? Can I still package it up and validation is ok given there are no refs/? Should we print a warning (which can be silenced)?
Copied from original issue: opencontainers/image-spec#287

From @vbatts on September 13, 2016 19:20
Both seem valid to me

From @wking on September 9, 2016 9:4
On Fri, Sep 09, 2016 at 01:40:15AM -0700, Antonio Murdaca wrote:

$SUBJECT

I think so.  At least I don't see any “and there MUST be at least one
ref” language.  And if you cared about running images from the layour
that would be “and there MUST be at least one unpackable ref”
language.  And then you have to match the oci-layout version with the
media types that were unpackable when it was current (or is validity
in the eye of the validator?)… This is a bowl that I do not want to
fathom ;).
Maybe folks are just using an image-layout to ship some missing blobs.
I don't see any incentive to image-authors to publish ref-less blobs
and then pretend they are runnable, so I don't see a need to get into
the business of restricting refs.

… and basically, is it valid to have stuff under blobs/ not
referenced?

Yes 1.

Should we print a warning?

Warnings for “there are no refs” and “dangling blob sha256-abc…” sound
useful to me.  Maybe put the first behind ‘--log-level warn’ and the
second behind ‘--log-level info’ based on how likely I think they are
to be a mistake and how many lines will get printed if they exist ;).

From @runcom on September 13, 2016 19:25
Alright, can we keep this open so we won't forget about adding some sort of warning/log when this happens

I think it could be closed by https://github.com/opencontainers/image-spec/pull/533


Mistake (hh 00-14 ?)

In ISO 8601 part, "hh is two digits, ranging from 0 to 14," is wrong.

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

ID: 3ca577f7-34cc-52c9-a960-d81efdc9c46e
Version Independent ID: eed233e6-4695-b583-2e95-12f77866ff6f
Content: time (Transact-SQL) - SQL Server
Content Source: docs/t-sql/data-types/time-transact-sql.md
Product: sql
Technology: t-sql
GitHub Login: @MikeRayMSFT
Microsoft Alias: mikeray

@kamisamanome Thank you for the feedback.
The change has been made.
#please-close


Fix non-backward compatible issue from 2.7.0 from GH-507

Description

#507 introduced a non-backward compatible change to DSH 2.7.0. The change affects users that were using routers beforehand to write their history models to databases other than their base models' db. #536 fixed the issue, but made it backward compatible with 2.7.0. Since then, we decided to make this next version (2.7.1) backward compatible with versions pre-2.7.0, since what was introduced in #507 was a bug.
Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have run the make format command to format my code
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] I have added my name and/or github handle to AUTHORS.rst
[x] I have added my change to CHANGES.rst
[x] All new and existing tests passed.

@erikvw I know this issue will affect you because your PR introduced the using functionality. Just want to make sure you're aware of it before we push 2.7.1 to pip

Codecov Report

Merging #547 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #547   +/-   ##
=======================================
  Coverage   97.75%   97.75%
=======================================
  Files          17       17
  Lines         848      848
  Branches      117      117
=======================================
  Hits          829      829
  Misses          8        8
  Partials       11       11

Impacted Files
Coverage Δ

simple_history/models.py
99% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f928c81...e5e8727.  The issue was that #507 made it such that the base model's db (whether or not using was specified) had to be the same db as the historical model (overriding any routers, always). This PR makes it so that, by default, the historical model will follow whatever the router says. If you specify use_base_model_db=True, then the history table will be written to the same db as the base table, regardless of routers. So use_base_model_db=True will give you the functionality from #507

I agree that if a router is defined DSH should respect the router. This was a good catch. But assuming no custom router has been defined. If I save the parent with save(using="other"), it will now save history with save(using="default") because using is ignored unless the new boolean is passed along with using.  Am I reading this correctly?

@erikvw correct. Unfortunately I don't immediately see a clean solution for fixing that, and I'd like to get this back in a state that's backward compatible. Happy to consider options for how we might be able to handle that case afterwards. The issue was really that using gets passed from the base model to the historical model regardless of whether using is specified on the base model.

django makes direct reference to the router, in save for example,
using = using or router.db_for_write(self.__class__, instance=self)

@erikvw yea the issue is that using is always passed to create_historical_record regardless of whether it's specified. So if I have
MyModel.objects.create()

create_historical_record will be passed using='default by default

@erikvw https://docs.djangoproject.com/en/2.2/ref/signals/#post-save
using just specifies the database that the base model is going to use, regardless of whether the developer explicitly set using

You could also argue that even if I do specify using on the base model, I don't necessarily want the historical model to use the same database, which is why the flag makes sense IMO

perhaps put using=using if self.use_base_model_db else None at the top of create_historical_record instead of changing the value each time we call create_historical_record.

@erikvw Ah, that is cleaner. Going to put up PR for that now