fix(client): improve published package information

Changes

Fixes #4 by moving some README.md and CONTRIBUTING.md files around.
Solves #6 by deprecating the interval property and instead just by default delaying retries when server is overloaded (returning a 503 status response).
Remove source maps from the build so it's not included in the published package (it causes a warning when using the published package).

Notes
None
Screenshots
None

@tdcmeehan
maybe you can enable Request Review before merging.


VS Code is being too aggressive on fuzzy search, filtering out valid results

Does this issue occur when all extensions are disabled?: No, the extension is providing the LSP responses so can't attempt this.

VS Code Version: 1.63.2022060701-insiders (Universal)
OS Version: MacOS 12.4 Monterey

Steps to Reproduce:

User has FBObjc file. There is a class called FBUserSession the user is looking to find but can't remember the exact prefix. They type UserSession
Clangd LSP is returning FBUserSession as part of LSP response for textDocument/completion

{
    "isIncomplete": false,
    "items": [
        {
            "detail": "\n\"Sampleheader.h\"",
            "documentation": "Sample documentation",
            "filterText": "FBUserSession",
            "insertText": "FBUserSession",
            "insertTextFormat": 2,
            "kind": 7,
            "label": " FBUserSession",
            "sortText": "3f5a0ea0FBUserSession",
            "textEdit": {
                "newText": "FBUserSession",
                "range": {
                    "end": {
                        "character": 9,
                        "line": 55
                    },
                    "start": {
                        "character": 2,
                        "line": 55
                    }
                }
            }
        },

Result: VS Code is not showing FBUserSession class, despite it being the very first result from Clangd.
Expected: For the VS Code to not filter these results out. This is just a basic string.contains, so not sure why it is getting filtered out. In addition, all the results that were returned ended up being of completionKindItem 1, which feels like those should be of a lesser priority than those of any other type.
If the user types "session", FBUserSession is returned. But for some reason, a closer match on the item results in it not being returned.

The textEdit#range property, that's returned from clangd, determines what prefix is used for the filtering. In your sample that's just 7 characters (column 2 till 9) which doesn't line up with the claimed prefix of UserSession. I don't know if your steps are imprecise or if that is what clangd actually returns. Please update with precise steps and also note that this very, very likely an extension issue - since extensions decide what prefix to use for filtering

Will check on this today (and will disable all extensions I can to try and reproduce with just our lsp extension). Thanks!

Got a repro on a single C# file too. Inside the FuzzyTest constructor, try typing FBUserSession, then UserSession, then Session and see how the results are returned differently.
`using System;
using System.Collections.Generic;
public class FuzzyTest
{
public FuzzyTest()
{

}

}
public class FBUserSession
{
string test;
string test2;
}`

try typing FBUserSession, then UserSession, then Session and see how the results are returned differently.

I guess by that you mean:

FBUserSession -> ✅
Session -> ✅
UserSession -> ⛔

Iff so, this would be https://github.com/microsoft/vscode/issues/53715 which defines that the first character of a match must be a "strong match". The U after FBU isn't considered strong because it is preceeded by upper-case characters

I'd be ok with it's ranking being lower but in many cases there will be nothing returned at all. So why not return something with a slightly weaker match instead?

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!


Focus lock directive should be able to detect new focusable elements

Focus lock directive should be able to detect new focusable elements

Resolved in https://github.com/Raiper34/ngx-focus-control/commit/cb9e0d986c79a27f05bdd40d449574a891ee5b5f


CMS content: Use new tags and featured flag in Sanity

Description
The resources page will be re-build from the ground up with a filter and sorting and search functionality
for posts and podcasts.
Additionally, Featured Articles (posts) are shown in a Slider on the top of the page.
Tags
To enable a filter functionality for posts and podcasts, the CMS was extended with a new type => "Tags"
Now each and every posts and podcasts has to be referenced with at least one tag.
TODO:

[x] create new meaningful tags (the names will appear later as the filter functionality on the Site and should be short and crispy), see screenshot below
[x] attach at least one tag (or more) to every posts and podcasts (see screenshot below)

NOTE:
In the Design these are the TAG names:
„Klima Infinity, Overview, Partnerships, Announcement, Press Release, Basics, User Guide, Policy"
=> Please use the same names or discuss with design if you want to change them and tell the devs later the final names of tags
UPDATE 🧨
The final tag list:

Klima Overview
Klima Infinity
Partnerships
Basics
Deep Dives
User Guides
Press Releases
Policy
Carbon Footprint

Featured Articles
The new page will have a slider on top with "featured articles".
To distinguish between which post is a featured one and which is not, the cms was extended with a new checkbox => "Is featured Article"
TODO:

[ ] go over relevant posts which should appear in the slider and enable the checkbox (see screenshot below)
[ ] or create new posts and enable the checkbox
[ ] Ensure that all these posts do have a nice image without any text on top!

Screenshots
CREATE A TAG (every field is required)

ADD TAGs TO A POST / PODCAST

FLAG A POST as "FEATURED"

Related Ticket
https://github.com/KlimaDAO/klimadao/issues/534

this work stream is complete.


⚠ Msite has degraded performance

In b8cb6b5, Msite ($MSITE_URL) experienced degraded performance:

HTTP code: 500
Response time: 8926 ms

Resolved: Msite performance has improved in 7116241.


Fix tiny bugs of UI

Codecov Report

Merging #128 (f18b11c) into master (0a91e6b) will decrease coverage by 0.03%.
The diff coverage is 66.66%.

@@             Coverage Diff              @@
##             master     #128      +/-   ##
============================================
- Coverage     69.86%   69.82%   -0.04%
- Complexity      611      613       +2
============================================
  Files            95       95
  Lines          2004     2018      +14
  Branches        240      242       +2
============================================
+ Hits           1400     1409       +9
- Misses          509      513       +4
- Partials         95       96       +1

Impacted Files
Coverage Δ
Complexity Δ

...rc/main/java/seedu/module/model/ModuleManager.java
78.72% <66.66%> (-2.53%)
20.00 <2.00> (+2.00)
:arrow_down:

Continue to review full report at Codecov.

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


[javanaut][2/2]feat: Add RelationalOperationExpr to enable less than operator

Enable < operator in javanaut.

Add comments in unit test.


When deploying Rancher using an RKE2 or K3s cluster, the external/internal addresses are missing in Cluster Management

Setup

Rancher version: v2.7-head https://github.com/rancher/rancher/commit/61f1b93bf0eca38c2f7583b8dcbf58d0c8ada4fe
Browser type & version: Chrome

Describe the bug

When deploying Rancher with K3s or RKE2 as the local cluster, the external/internal IP do not appear in Cluster Management as shown below:

Imported RKE1 clusters, Rancher-provisioned RKE2/K3s all correctly shows the external/internal IP addresses in Cluster Management.
Additionally, when going to Cluster Explorer, the external/internal IP addresses correctly shows for imported RKE2/K3s acting as the local cluster. So this issue is specific to imported RKE2/K3s clusters in Cluster Management.
To Reproduce

Setup Rancher using RKE2 or K3s as the local cluster.
Navigate to Cluster Management > local.
Note that the external/internal IP addresses are missing.

Result
The external/internal IP addresses are missing in Cluster Management for imported RKE2/K3s clusters.
Expected Result

The external/internal IP addresses SHOULD NOT be missing in Cluster Management for imported RKE2/K3s clusters.

I am also seeing this reproduce on Azure AKS Imported Clusters as well on v2.7-head (Commit ID: 6ee3949).

I am also seeing this reproduce on Azure AKS Imported Clusters as well on v2.7-head (Commit ID: 6ee3949).

This issue is still reproducing on v2.7.2-rc6

Verify current state.

Still seeing the same behavior on v2.7-head https://github.com/rancher/rancher/commit/d8a2bcae227717e16caa8519a3709f3e013673f2.

Need to validate

Validated this against v2.8-head https://github.com/rancher/rancher/commit/e5ce94a4c8572a8af176188172a57805e1dc76a4.
ENVIRONMENT DETAILS

Rancher install: Docker
Rancher version: v2.8-head https://github.com/rancher/rancher/commit/e5ce94a4c8572a8af176188172a57805e1dc76a4

TEST RESULT

Scenario
Test Case
Result

1
Validate that IP addresses are shown in the local cluster
:white_check_mark:

VALIDATION STEPS
Scenario 1

Provisioned Rancher with K3S as the local cluster (Docker installation).
Navigated to Cluster Management > local.
Validated that the internal IP address is showing as expected.
Navigated to Cluster Explorer > local.
Validated that the internal IP address is showing as expected.


ARC-658: Delete dev info data when repo is deleted from GitHub.

https://developer.atlassian.com/cloud/jira/software/rest/api-group-development-information/#api-devinfo-0-10-repository-repositoryid-delete

@rachellerathbone just made a PR for adding metrics https://github.com/atlassian/github-for-jira/pull/761 so we need to add metrics to the delete endpoint here if Rachelle merge it first


Docs: mark the utility as public in the package.json file

Description of the improvement
Summary of the proposal
As a part of the implementation of the utility it's necessary to have a dedicated readme file for the utility as well as update the main one in the root of the project.
The first one will be also used in the npm page, the latter will need to be updated to mention the new utility.
How, where did you look for information
Readme of both root and package.
Missing or unclear documentation
Info about the utility.
Improvement
N/A
Related existing documentation
N/A
Related issues, RFCs
#447

In #1485 we already added the new README.md file for the Idempotency utility and we also have linked the new utility in the main readme file, so I'm repurposing this issue to mark the last tasks to be done before publishing, which are:

Update the package.json file of the utility

We need to remove the private: "true" field and add this one:
"publishConfig": {
  "access": "public"
},

Make visible the documentation page

We need to add the utility to the mkdocs.yml file so that the page shows in the navbar of the docs


timeRangeViewType: TimeRangeViewType.end does not select the end time range view first

I have a row with two TextFormFields that open (on tap) a TimeRangePicker, however I would like that when I tap the first one, the picker opens with the startTime view and vice versa on the second one.
I have used the timeRangeViewType: TimeRangeViewType.end on the picker in question but it still opens with the start time view.

@jxtzzz
Nice! I fixed it, please wait for the next release. Thanks for the report 🙏


add programmatic check to make sure attendees are running the INTRO section before moving forward

renamed 01_intro to 01_setup

ppl still keep having this issue - even after the 01_setup/ rename.


Fix flaky tests: experiments and parallel tests don't mix

Some tests have been mysteriously flaky (particularly on Windows, but that may be a red herring), failing without an error message. Somehow, https://github.com/buildkite/agent/pull/1294 has revealed the error messages:
=== Failed
  | === FAIL: bootstrap/integration TestCheckingOutLocalGitProject (7.00s)
  | mock.go:248: Unexpected call to git "rev-parse", "HEAD"
  | mock.go:255: More invocations than expected (1 vs 7)
  |
  | === FAIL: bootstrap/integration TestCheckingOutShallowCloneOfLocalGitProject (7.69s)
  | mock.go:248: Unexpected call to git "rev-parse", "HEAD"
  | mock.go:255: More invocations than expected (1 vs 7)

I believe this is being caused by TestWithResolvingCommitExperiment in bootstrap/integration/checkout_integration_test.go running with t.Parallel() and then temporarily enabling the resolve-commit-after-checkout experiment. That experiment causes an extra git rev-parse $BUILDKITE_COMMIT command to run, which messes up the mock expectations of tests running in parallel, which are written to assume that experiment is turned off.
Also, TestCollect in agent/artifact_uploader_test.go was also enabling an experiment, but ~it was not running in parallel~, and it was disabling the experiment afterwards, so I think it was not causing any problems. But, this PR makes the experiment revert slightly more robust using defer and avoiding the (currently safe) assumption that the experiment should be disabled by default. (edit: it was running in parallel. but it wasn't causing the test failures.)

neat, thanks for getting to the bottom of this!


In Unity editor, EyeTrackingDemo-00-RootScene causes errors but still runs

Describe the bug
First, let me say that the HandInteractionExamples scene works fine without any errors.
But when running the EyeTrackingDemo-00-RootScene I get first error "DefaultCursor (UnityEngine.GameObject) does not have IMixedRealityPointer component. Cannot create and utilize pointer" and second error "No Mixed Reality Configuration Profile found, cannot initialize the Mixed Reality Toolkit". In this scene there is a MixedRealityToolkit object with a valid profile, but the object contains no children (see screenshot below).
To reproduce

Download the MRTK Foundations.2.4.0 and Examples.2.4.0 from here https://github.com/Microsoft/MixedRealityToolkit-Unity/releases
Create a new Unity project, import these 2 packages, switch to UWP.
Follow all the instructions for adding eyetracking examples to build settings, as described at https://microsoft.github.io/MixedRealityToolkit-Unity/Documentation/EyeTracking/EyeTracking_ExamplesOverview.html
Run the EyeTrackingDemo-00-RootScene.
Observe errors, but the example still runs as described in the page from step 3.

Expected behavior
Ideally no errors should be thrown, simimlar to the HandInteractionExamples scene.
However, if errors can't be avoided, then there should be some sort of message that says "IGNORE THESE ERRORS", either in the unity debug log or in the scene or in the instructions webpage at https://microsoft.github.io/MixedRealityToolkit-Unity/Documentation/EyeTracking/EyeTracking_ExamplesOverview.html
Screenshots
Included at the end
Your setup (please complete the following information)

Unity Version 2018.4.21f1
MRTK Version 2.4.0

Target platform (please complete the following information)

Unity Editor, set up for UWP ARM deployment

Additional context
Screenshot from the editor.

I can confirm this issue. In fact, I started with a brand new project and simply set my MRTK profile to EyeTrackingDemoConfigurationProfile to receive this message.
The error is thrown from BaseInputDeviceManager.cs line 308. The PointerOption being passed in for sure does specify DefaultCursor rather than EyeGazeCursor (which is what is specified in the profile).
Note that neither DefaultCursor or EyeGazeCuros have any components that implement IMixedRealityPointer. They both have an AnimatedCursor component which has a property of type IMixedRealityPointer, but it does not implement IMixedRealityPointer itself.
It appears the code in BaseInputDeviceManager.cs may be the culprit. I suspect it should be instead getting IMixedRealityCursor and asking the cursor for the pointer instead. But I'm unclear why this is only happening with the EyeTrackingDemoConfigurationProfile. It does not happen with DefaultHoloLens2ConfigurationProfile even though it is using the same DefaultCursor prefab.
Tagging @wiwei, @keveleigh and @davidkline-ms who have recent commits to BaseInputDeviceManager.cs and may have some insight.

This appears to have been fixed by #8244. If it was not, please reopen this issue.


DM3MAP: Authentication at Delivery Service and Backend

Current situation
Authentication to services (delivery service, backend storage service) is done by a SIWE like message/signature which is shared for the DS and backend (cloud storage)
(see also: #650)
Requirement
To follow the DM3 specification (and vision), every user can be connected to various delivery services, the storage via cloud storage backend is optional and must not be coupled with any delivery service.
To log in to a service (delivery service, cloud storage service), the following message is passed signed with the signature key:

ENS: [...]
Address: [...]
URI: https://dm3.chat/
Version: 1
Chain ID: 1
Issued At: [...]
Expiration Time: [...]
Nonce: [...]

Additional to the standardized values (according to EIP-4361):
ENS is the ENS name of the sender, Address is the sender's wallet address.
The authentication process: (client side)

Sign-in with wallet signature (SIWE-like Message) or interaction-free sign-in -> encryption and signing keys are derived/generated
Authentications for services are generated, signed with the signing key

The authentication process: (service side)

SIWE-like message and signature are received,
Extract ens name/address from the message
Read the DM3 profile from the ens name (or from the reverse record for the address, if no ens name is given)
Check if a valid signature (signing key)

The service returns an authentication token which is used for further communication. This token is provided as JWT:
Header:
{
  "alg": "HS256",
  "typ": "JWT"
}

Payload:
{
  "name": "...",
  "valid_until": "YYYY-MM-DDTHH:mm:ssZ"
}

The name is the ens name or address, valid_until is the date until the toke is usable.
Tasks

[ ] Authentication mechanism (lib)
[ ] Include in Delivery Service
[ ] Include in Backend (Storage ...)
[ ] Include in UI components

Notes
The user signs a message to connect their signing and encryption keys to their account:
sign up:

login message -> create sig key
publish profile

either on-chain with transaction
or off-chain with second signature: sign(profile, accountPrivateKey)

sign profile and send to server -> create profile on server

sign in:

login message -> sign with signature key (which is known from public records like ens or offchain)

sign(login, accountPrivateKey) -> entropy -> key derivation -> signatureKeyPrivateA -> sign(profile, ) -> signature -> zkp(signature, entropy, accountPublicKey)
Proof that the sender has access to signature = sign(loginMessage, accountPrivateKey). loginMessage and accountPrivateKey, and signature must stay secret.
Delivery service does not know loginMessage, and the backend does not always know it (e.g. if storage is not in backend).
Solutions

for now: 2 signatures
for later: make second signature obsolete with zkp

Think about later solution when implementing first step.

submitUserProfile is used both in backend and delivery service. It uses the signed profileCreationMessage, which is checked before a profile for the user is created with the service. Where should this actually happen?
Others need to query the user's profile from ens or an offchain resolver -> submitUserProfile is needed with those. Is this the task of the delivery service or the backend? Currently, both seem to store the profile and serve a route to access it.
see https://github.com/dm3-org/dm3/issues/907

Used this resource as a starter on how to use jwt: https://www.digitalocean.com/community/tutorials/nodejs-jwt-expressjs

Both backend and delivery service already issue their own challenges to the user for authentication, and verify these challenges are signed with the user's publicSigningKey.

Which information should be included in the jwt?

ensName (user)
expiration date (exp)
issuance date (iat)
do we need account? -> could theoretically change without invalidating the jwt

implemented except for the zk part


Create Repository for Reusable Workflows

As a developer, I should be able to extract the workflows from the repositories  and create a repository with all the reusable workflows to avoid any duplicate code.

Rolling out these changes to the required repositories as done for https://github.com/ortelius/ms-validate-user/blob/main/.github/workflows/build-push-chart.yml.
Out of total 56 repos. The changes will be added for the below-mentioned repositories:-
"https://api.github.com/repos/ortelius/ms-compitem-crud",
"https://api.github.com/repos/ortelius/ms-cr-action",
"https://api.github.com/repos/ortelius/ms-dep-pkg-cud",
"https://api.github.com/repos/ortelius/ms-dep-pkg-r",
"https://api.github.com/repos/ortelius/ms-postgres",
"https://api.github.com/repos/ortelius/ms-release-action",
"https://api.github.com/repos/ortelius/ms-sbom-action",
"https://api.github.com/repos/ortelius/ms-scorecard",
"https://api.github.com/repos/ortelius/ms-setenv-action",
"https://api.github.com/repos/ortelius/ms-textfile-crud",
"https://api.github.com/repos/ortelius/ms-trivy-action",
"https://api.github.com/repos/ortelius/ms-validate-user",
"https://api.github.com/repos/ortelius/scec-app-tag",
"https://api.github.com/repos/ortelius/scec-appver",
"https://api.github.com/repos/ortelius/scec-charts",
"https://api.github.com/repos/ortelius/scec-commons",
"https://api.github.com/repos/ortelius/scec-comp-tag",
"https://api.github.com/repos/ortelius/scec-compver",
"https://api.github.com/repos/ortelius/scec-datasource-abs",
"https://api.github.com/repos/ortelius/scec-deployment",
"https://api.github.com/repos/ortelius/scec-deppkg",
"https://api.github.com/repos/ortelius/scec-domain",
"https://api.github.com/repos/ortelius/scec-environment",
"https://api.github.com/repos/ortelius/scec-group",
"https://api.github.com/repos/ortelius/scec-scorecard",
"https://api.github.com/repos/ortelius/scec-textfile",
"https://api.github.com/repos/ortelius/scec-user",
"https://api.github.com/repos/ortelius/scec-usergroup",
"https://api.github.com/repos/ortelius/scec-validate-provenance",
"https://api.github.com/repos/ortelius/scec-validate-signing",
"https://api.github.com/repos/ortelius/scec-validate-user",
"https://api.github.com/repos/ortelius/scec-vulnerability",
@sbtaylor15  I have included all the repos starting with ms- and scec. Please mention if there are any other repos that needs to be included.

Workflow for these repos are not updated because they had different implementation.
https://github.com/ortelius/ms-postgres/blob/main/.github/workflows/build-push-chart.yml
The repos that didn't has workflow.
https://github.com/ortelius/scec-datasource-abs

@codeWithUtkarsh those three repos are reusable code libraries and don't create a docker image.  We will need to add workflows but they will be different than the microservice ones and not reusable workflows


Fix character controller.

Right now it doesn't do the same as in godot, making it buggy. It needs to have 3 steps:

Recover phase. Move the object(with margin) outside of any intersection.
Cast motion(without margin) phase.
Rest info(with margin) check if the body intersects again, but this time only to return intersection points.

It appears that with how the current toi intersection is implemented in box2d(that polygons have a "skin" by default), it's quite difficult to make the margin work. Disabling it for now, won't be perfect and character controller might get stuck until box2c is released.


WMS layer shift in >= 3.11.0

When adding WMS layer according to example at http://openlayers.org/en/v3.10.1/examples/wms-image.html with OpenLayer 3.11, the WMS is shifted.
3.10. Works well
For testing, see
http://jsfiddle.net/jachymc/cw30xa9z/

Thanks for the report @jachym, this is clearly a regression.

This regression is caused by 40c1a6d11286309555c5938bd38a8266d224d754.

Fixed with #4408.


Make edpm_nova role compliant with ansible-lint production profile

Rename all tasks capitalizing the first letter
Define "mode" as string in all impacted tasks
Trim extra spaces in arguments_specs.yml file
Fix spacing issues
Fixed tasks to use FQCN

Depends-On: https://github.com/openstack-k8s-operators/edpm-ansible/pull/415

ill take a look at this again on Monday but at a quick glance it looks ok to me
I'm not sure if you are planning to factor out the other directories in this pr or not so let me know  what your preference is.

recheck

recheck

ill take a look at this again on Monday but at a quick glance it looks ok to me I'm not sure if you are planning to factor out the other directories in this pr or not so let me know what your preference is.

I'll leave those entries as-is for now since they don't trigger any errors in the linter check. I need to test the impact of the change before removing them, so I'll propose a followup PR later.


Provide support for different databases?

I would be cool if ana works with different databases. To have some abstraction and some kind of models I would suggest the usage of github.com/russross/meddler. If you also want to have an idea how to use it in the wild I would suggest to take a look at https://github.com/drone/drone/tree/master/store/datastore which is using it quite long and also with bigger load.

+1 for Postgres support

Hey guys,
Thanks for the suggestions, meddler looks pretty neat. I'd have to take a look at abstracting away the SQL as I am not too sure whether some of queries needed for aggregating data into a more performing format can be abstracted away that easily.
What would be a benefit of PostgreSQL over MySQL? The raw pageviews table in Ana has to be optimized for loads of INSERT statements (and very few reads) and from what I've read, MySQL is much more performant when it comes to that than Postgreq.

I just want postgres support as that's the only DB I use on my server and would rather not install mysql only for ana

Meddler still gives you enough power to write performant queries. Everybody got different preferred databases, there are enough people that want to use MySQL/MariaDB or PostgreSQL or MSSQL ;)

@dannyvankooten take a look on clickhouse https://github.com/yandex/ClickHouse https://clickhouse.yandex/ . It's a good choice for you application, especially for tables heavy on inserts (views, user-actions, visits, etc. ) moreover you can benefit from mixin clickhouse with postgres together (for customer related data)

Great to see that integrated


Any issues for outside contributors?

As you may know, tomorrow hacktoberfest starts, where people are asked to contribute to open source projects. Do you have any tasks that could be done by outsiders willing to help?

There's been a couple - just need to keep an eye on the issues list and jump in when you can.  tbh, it's an awkward time for us as we're usually just recovering from whatever Apple has done in September and this year was particularly ... difficult. :)
We're open to suggestions as well, but as a guide bug fixes are more desirable than features.  Anything that requires a serious UI/UX change will not likely be accepted as it will need to be approved by our design and product teams.
Thanks for your interest!


Add add great ideas template

Docs Build status updates of commit fad8bfa:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/assets/images/great-ideas-all-view.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/great-ideas-digest-view.png
:white_check_mark:Succeeded
View

msteams-platform/samples/app-templates.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 095b7bd:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/assets/images/great-ideas-all-view.png
:white_check_mark:Succeeded
View

msteams-platform/assets/images/great-ideas-digest-view.png
:white_check_mark:Succeeded
View

msteams-platform/samples/app-templates.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Add an AddToPredicate method to SelectExpression...

...to eliminate redundant logic.
Just a little 🍬 🍰 🍭 🍨 thing that centralizes a common operation that may be used more than it is now. @anpete had already done so in IncludeExpressionVisitor.

@tuespetre,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

Other places where we can change this
SqlServerQueryModelVisitor

:up::date: to use AddToPredicate in SqlServerQueryModelVisitor

Merged via 9903d3c8c643b6a92f7f439063b1cd4d087da9b2


Fix typo in meta-implication rule

IIRC, this was intentional, because you can prove A |- A but not A |- B lol

oh, I see. I guess the text above is confusing here (because it does talk about B), so I thought it was the general rule you wanted to show. Anyway, thanks for the comment (and the tutorial), happy to close the PR if it should just stay so!


[TagInput] Properly manage focus

Currently
The TagInput component consists of zero or more Tag components followed by an <input>, contained inside a “frame”:

The Tag components and the <input> are all individually focusable – that is, they each have their own tab index in the DOM.
Problem
The fact that the Tags and the input are individually focusable makes it hard to implement a behavior where, when the <input> is focused, pressing the left arrow key focuses the last Tag, pressing the left arrow key again focuses the Tag previous to that, and so on....
Wanted

only the <input> should be focusable
instead of receiving focus the Tag components should receive an isActive prop

Reference

Example 2: Pill List For a List of Message Recipients  on this page from W3C
WAI-ARIA Authoring Practices (not the exact behavior we want to support but very close)
More general information on managing focus in an accessible way can be found under Managing Focus in Composites Using aria-activedescendant  (again from W3C
WAI-ARIA Authoring Practices)
The wanted implementation is very similar to how the ListBox and ListBoxOption components work. That implementation can be used as a reference.

The above approach might be problematic if we need to support entering text between the Tags in future... With that in mind, it might be better to implement the roving tabIndex approach to manage the focus.

status-blocked until we figure out what to do here

Closing due to lack of activity


Explore Toolforge as a hosting environment

As per
https://wikitech.wikimedia.org/wiki/Portal:Toolforge/Tool_Accounts

Our current instance runs fine on Toolforge at https://enkore.toolforge.org/oai_pmh/?verb=ListRecords&metadataPrefix=oai_dc , so I'm closing this ticket.


added most fhir resources to table generation ymp files and looping for data factory

I went through and added most, if not all, the clinical R4 fhir spec resources

RIP, It only does 40 activities per pipeline.


How do we get Sentry to ignore uWSGI's OSError?

Sometimes when the client has already disconnected, uWSGI will log an error like:
Thu Sep 10 02:13:33 2015 - uwsgi_response_write_body_do(): Broken pipe [core/writer.c line 331] during GET /_debug_toolbar/313339393934343438353938333532 (<IP_ADDRESS>)
OSError: write error

This will get recorded in Sentry even though there's nothing actionable from our end... So what do we do? Is there some uWSGI setting to get it to stop throwing this error? Can we get sentry or raven to ignore it?
/cc @mattrobenolt

Usually you just acknowledge the error in Sentry and it won't send notifications anymore for this particular error. Ignoring OSError exception might hide other errors.

Maybe @dcramer knows.

To be clear, I've never seen this personally before, so I'm not sure off the top of my head without investigating. :)

I'm guessing it's because we're not buffing requests, so if a connection breaks in the middle of reading it inside our application code it needs to raise an exception so that we don't continue to process the request. What I don't really know is how not to have Sentry care about it since there's zero actionable thing for me to do here, a connection went away, it happens.
Maybe we can convince uWSGI to use a subclass of OSError like ClientLostError or something and then can just filter out that particular exception.

I just noticed the mute button in Sentry which hides this particular exception group. That should probably do what we want here.

Related to getsentry/sentry#1850

Another option is to switch on disable-write-exception in uWSGI config.


Cannot read property '_placeholderDecorations' of undefined

Issue Id: d8c5ede0-f3cd-31df-0d65-b4e1440a45e3Versions - 1.21.0-  b76a4a71434d6cdee69fa1d8bdc7533d09598d53-  a903bd38fbe9006c076d218ff69fe1ee0160f815Stack TypeError: Cannot read property '_placeholderDecorations' of undefined/vs/editor/contrib/snippet/snippetSession.ts#189:27 (callback)/vs/editor/common/model/textModel.ts#1331:12 (_changeDecorations)/vs/editor/common/model/textModel.ts#1296:15 (changeDecorations)/vs/editor/common/commonCodeEditor.ts#831:20 (changeDecorations)/vs/editor/contrib/snippet/snippetSession.ts#181:15 (merge)/vs/editor/contrib/snippet/snippetSession.ts#384:12 (cursorStateComputer)/vs/editor/common/model/editStack.ts#78:73 (pushEditOperation)/vs/editor/common/model/textModel.ts#1106:30 (_pushEditOperations)/vs/editor/common/model/textModel.ts#1023:15 (pushEditOperations)/vs/editor/contrib/snippet/snippetSession.ts#381:53

these errors are now caught and send to the error log


widgets: render frambuffers with alpha 1.0

I broke shape and image borders on accident by using data.opacity.
Did not realize it because i don't use fade-in.
CC @alba4k

CColor commit is just cause it fixes debug prints of Gradient colors.


gwyddion: 2.57 -> 2.58

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/gwyddion/versions.
meta.description for gwyddion is: "Scanning probe microscopy data visualization and analysis"
meta.homepage for gwyddion is: "http://gwyddion.net/"
meta.changelog for gwyddion is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

/nix/store/p791r2p4w7yzw5vh755443kslckbfxi4-gwyddion-2.58/bin/gwyddion passed the binary check.

/nix/store/p791r2p4w7yzw5vh755443kslckbfxi4-gwyddion-2.58/bin/gwyddion-thumbnailer passed the binary check.

2 of 2 passed binary check by having a zero exit code.

2 of 2 passed binary check by having the new version present in output.

found 2.58 with grep in /nix/store/p791r2p4w7yzw5vh755443kslckbfxi4-gwyddion-2.58

found 2.58 in filename of file in /nix/store/p791r2p4w7yzw5vh755443kslckbfxi4-gwyddion-2.58

directory tree listing: https://gist.github.com/1a502424da72e5bcde2a8a75defc5a07

du listing: https://gist.github.com/1d54de11dd40b9f50261d77515c17c68

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
gwyddion

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/p791r2p4w7yzw5vh755443kslckbfxi4-gwyddion-2.58 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A gwyddion https://github.com/r-ryantm/nixpkgs/archive/2ab273a485c7bc02bc25f3aaf18249a3a07a0745.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/p791r2p4w7yzw5vh755443kslckbfxi4-gwyddion-2.58
ls -la /nix/store/p791r2p4w7yzw5vh755443kslckbfxi4-gwyddion-2.58/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

gwyddion

Maintainer pings
cc @cgevans for testing.

Result of nixpkgs-review pr 123003 at 2ab273a4 run on x86_64-linux 1

1 package built successfully:

gwyddion

1 suggestion:

warning: unclear-gpl
gpl2 is a deprecated license, please check if project uses gpl2Plus or gpl2Only and change meta.license accordingly.
Near pkgs/applications/science/chemistry/gwyddion/default.nix:82:5:
   |
82 |     license = lib.licenses.gpl2;
   |     ^


Empty reports when a lot of tests?

The tests won't produce any details in reports:

I assume it's because of tests count, because i was using this action in my prev. project and it had the same behaviour. When there are about 20 tests - it works, but now my project has about 80 tests overall and all the reports produced by this action are empty.

Please see #31.


Problem with shurcooL/githubql querying

Hi, I wanted you to be aware of a possible issue with shurcooL/githubql's package.  Querying for releases is failing a lot.  The output when starting your docker image is:
{"caller":"releasechecker.go:40","err":"can't find any releases for angular/angular","msg":"failed to query the repository's releases","name":"angular","owner":"angular","severity":"warn","ts":"2017-11-28T22:03:33.95055614Z"}
Some of the things I've found:
primefaces/primeng, singularityware/singularity seems to work.  The following are failing: rstudio/rstudio, angular/angular, pallets/flask, zzzeek/sqlalchemy, rstudio/shiny-server
I haven't investigated githubql package a lot, but it seems like there was a recent (within 24 hours) change to their api.

Yep. The problem is on GitHubs side. Sadly when someone doesn't create a GitHub Release and only uses git tags it's not a real release for GitHub's API...

So you're saying that this is rather the maintainers fault?
In that case we can't do anything about it and close this issue.

Yes and no, sadly.
We could try to parse or do some sort ordering for the raw git tags, but I don't think that this will result in good notifications in the end. They probably are going spam your channels with wrong tags. Plus we don't really have metadata for those.
I think this clearly made on purpose by GitHub so people use their releases, because they could provide information for when the tag has been created...
I'm not really sure how we can move forward with this. Fortunately I have another project with exactly the same problem. Maybe I might solve this problem there and then port back... but no guarantees.

Just to be sure I looked at the v3 API.
The releases provide a lot of information on the release.
https://developer.github.com/v3/repos/releases/#get-the-latest-release
But if there's no release created on GitHub and only a git tag present, we don't get much there either...
https://developer.github.com/v3/repos/#list-tags
It's really bad. I really would like to be able to get a notification e.g. when a new Go release is tagged... :expressionless:

IMHO we should rely on provided API and not heuristics, but we could make this optional.


Rendering HTML

I am interested in using a project like this that uses treesitter for a Vapor web application.
I am still pretty new to the world of Swift but I was trying to reason about if the APIs provided in this library could be used to render HTML (and if this can even run on the server)
I would love some thoughts on what HTML rendering might look like and if it would use Neon or the lower level SwiftTreeSitter

First, I'm really happy you asked!
Because of the context here, when you say "rendering HTML" I'm going to assume you mean "performing highlighting on html text" and not "turning that HTML into a web page like a browser does". Is that right?
SwiftTreeSitter can definitely do this. However, that's a pretty low-level library and the work required to support efficient incremental and lazy processing and invalidation is non-trivial. Does your application need that? It may not, unless you have some kind of server-side editor functionality. I'd really need to understand better what you would like to do.
I also want to add that today Neon is pretty poor fit for Linux because so much of it is designed to work with Apple's systems. Its TreeSittterClient type probably does work, but many other components will not. But, I'm actually actively working on taking the core support for incremental, lazy processing/invalidation out of TreeSittterClient and Highlighter in an effort to make Neon more general-purpose. And I'm actually quite close!

Because of the context here, when you say "rendering HTML" I'm going to assume you mean "performing highlighting on html text" and not "turning that HTML into a web page like a browser does". Is that right?

Yeah! I want to do server side Syntax Highlighting for a blog.

SwiftTreeSitter can definitely do this. However, that's a pretty low-level library and the work required to support efficient incremental and lazy processing and invalidation is non-trivial. Does your application need that? It may not, unless you have some kind of server-side editor functionality. I'd really need to understand better what you would like to do.

Really I just need to add the highlights once. This could be done either when a blog post is created or when it is requested (depending on how long the parsing takes would determine when it would be best to do this work)

I also want to add that today Neon is pretty poor fit for Linux because so much of it is designed to work with Apple's systems. Its TreeSittterClient type probably does work, but many other components will not.

I haven’t tried to run it on linux just yet, but I do have this proof of concept working in a swift CLI application.
  let source = """
    func hello() {
        print("hello from tree-sitter")
    }
    """

  let swiftHighlightsQueryUrl = URL(filePath: app.directory.resourcesDirectory)
    .appending(path: "Highlights")
    .appending(path: "swift.scm")

  let swiftLanguage = Language(language: tree_sitter_swift())
  let swiftHighlightsQuery = try swiftLanguage.query(contentsOf: swiftHighlightsQueryUrl)

  let parser = Parser()
  try parser.setLanguage(swiftLanguage)

  let tree = parser.parse(source)!

  let cursor = swiftHighlightsQuery.execute(node: tree.rootNode!)
  for match in cursor {
    for capture in match.captures {
      print("type \(capture.highlight?.name)")
      print("range \(capture.node.range) ")
    }
  }

It outputs
type Optional("keyword.function")
range {0, 4}
type Optional("method")
range {5, 5}
type Optional("punctuation.bracket")
range {10, 1}
type Optional("punctuation.bracket")
range {11, 1}
type Optional("punctuation.bracket")
range {13, 1}
type Optional("function.call")
range {19, 5}
type Optional("punctuation.bracket")
range {24, 1}
type Optional("string")
range {25, 1}
type Optional("string")
range {26, 22}
type Optional("string")
range {48, 1}
type Optional("punctuation.bracket")
range {49, 1}
type Optional("punctuation.bracket")
range {51, 1}

I am thinking from here we just insert <span> with class as the type around each of the ranges (working from the end of the string to the front to preseve the indexes as they are added)
And then a simple stylesheet can be made with any of the classes and we are done.

Ok! Neon is really about managing document changes efficiently. I'm working on updating the documentation to make this clear along with the other stuff I mentioned.
I think you can get by with SwiftTreeSitter directly. A few things I want to point out though since I have you!

SwiftTreeSitter's Language type has a facility for looking up bundle resources like queries. Worth checking out!
SwiftTreeSitter's QueryCursor and ResolvingQueryCursor have ahighlights() method that does match interpretation for you along with a few other things.
Paying close attention to the highlight.scm files you find. People rarely commit needed fixes back to the parser repos. I try to when I can, but they are often broken in strange ways.

(I have made notes of all of this and will update the SwiftTreeSitter documentation to make it clearer as well).
Also, you'll still have to deal with applying themes manually. If you have interest in collaborating here, I'm very up for it. I started a placeholder repo for this exact kind of work, but I have been a little side-tracked lately. https://github.com/ChimeHQ/ThemePark
Happy highlighting!


debugging c promgram but get a "Not implemented" window

Web Browser: Firefox 79.0
Local OS: Ubuntu-20.04.1
Remote OS: Debian 10(docker container)
Remote Architecture: x86_64
'code-server --version': 3.5.0

When I want to debug a c program, I write a 'launch.json' and 'tasks.json' in '.vscode' folder like this:
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C - Build and debug",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "miDebuggerPath": "/usr/bin/gdb",
            "preLaunchTask": "C/C++: gcc build active file",

        }
    ]
}

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "shell",
			"label": "C/C++: gcc build active file",
			"command": "/usr/bin/gcc",
			"args": [
				"-g",
				"${file}",
				"-o",
				"${fileDirname}/${fileBasenameNoExtension}"
			],
			"options": {
				"cwd": "${workspaceFolder}"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": {
				"kind": "build",
				"isDefault": true
			}
		}
	]
}

But when I press the debugging button, it pop a "Not implemented" window.

Sorry for not commenting on this sooner; I tried to replicate but I was
having trouble getting it to work at all so I postponed it and forgot
about it.
Is the issue fixed in 3.7.3?


Feature to allow checksum upgrade to support either new normalized filepaths or legacy stored file paths

Impact

[ x] Bug fix (non-breaking change which fixes expected existing functionality)
[x ] Enhancement/New feature (adds functionality without impacting existing logic)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description
When attempting to upgrade checksums in the databasechangelog table, Liquibase generates an UPDATE statement whose WHERE clause uses the normalized file path. This will cause RanChangeSets that used the older non-normalized paths, for eg with a classpath:<some/file/path>, in them to ignore the update and the checksum is never saved.

Change being submitted

Adding a new GlobalConfiguration definition flag liquibase.storeNormalizedFileNameInDatabaseChangelogTable
Default value is True
Configuring this to False will allow fallback to the older Update Checksum behaviour but keep the new normalized file check everywhere else
Added tests to verify this behaviour
Added a fix to recent upstream code changes that cause the generated changesets to forget the stored filepaths

Steps to Reproduce

Create a project that uses Liquibase 3.x (for eg. 3.5.3)
Configure the changelog file location using a classpath: specification
Verify the checksum generated in the databasechangelog table contains the file name with classpath: in it
Verify that the MD5Sum column begins with 7 and not 8 as in the latest versions
Now update the project to use latest liquibase versions
Rerun the project and the Checksum will not be updated
Debug logging will indicate 0 records updated
This happens since the where clause uses the normalized file specification which doesnt have classpath: in it.

Things to be aware of

The changes in the upstream classes ChangeLogIterator and AbstractChangeLogHistoryService  can be avoided with a simple change in DatabaseChangeLog.getChangeSets(RanChangeSets ...) but the functionality is not clear to me so left unchanged there.
Since this is an extra field that is being updated in the ChangeSet other functionality that is not using it should be unaffected

Things to worry about

No tests for the ChangeLogIterator and AbstractChangeLogHistoryService

It's a good catch on the

When attempting to upgrade checksums in the databasechangelog table, Liquibase generates an UPDATE statement whose WHERE clause uses the normalized file path. This will cause RanChangeSets that used the older non-normalized paths, for eg with a classpath:<some/file/path>, in them to ignore the update and the checksum is never saved.

problem. That's something that needs to be addressed regardless.
However, I don't think making a change to how we store and manage the path is the approach we can take.
Our overall strategy is to have the stored path a normalized path and consistent path regardless of the OS and version of liquibase, but there have been improvements (and sometimes bugs) in how that normalization happens over the years. So while  we try to keep that stored value correctly normalized (because people do reporting and comparisons outside of liquibase), when actually determining equality when finding which changesets have ran or not we do a more fuzzy matching.
So I see the cause for the bug being that the "upgrade the checksums" logic doesn't have that fuzzy matching logic in there like it should, not that we need to be changing how we store the value. Partly because we want to stay consistently normalized in what we store for user expectation, but also because it should "just work" for users instead of making them have to think about another global setting.
To fix that, we may have to make the "update checksum" logic not a simple "update where" sql but instead selecting all rows and then checking them using the java-side code. Or, we could just select the old-versioned checksums and if/when there are any of those re-normalize those potentially "legacy" formatted values and update them before doing the where check?

Thank you for the review comments

So I see the cause for the bug being that the "upgrade the checksums" logic doesn't have that fuzzy matching logic in there like it should, not that we need to be changing how we store the value. Partly because we want to stay consistently normalized in what we store for user expectation, but also because it should "just work" for users instead of making them have to think about another global setting.

Agreed the root issue here is that liquibase has changed how the file name is now stored in the Changelog.
Unfortunately since this has been released for a while, we will now have both types of users, ones with legacy non normalized filepaths and others with the new normalized filepaths.
Adding this flag was an attempt to ensure that the new users still remain unaware of normalization (until there is a future breaking change) and the legacy users can still upgrade liquibase library with no disruption to the changelog.

To fix that, we may have to make the "update checksum" logic not a simple "update where" sql but instead selecting all rows and then checking them using the java-side code. Or, we could just select the old-versioned checksums and if/when there are any of those re-normalize those potentially "legacy" formatted values and update them before doing the where check?

Wouldnt the first option slow down the entire process esp for big changesets when checking in java side and especially as it would be run for everyone whether they need it or not.
Do you think it a good idea to provide the second option as a "command" to liquibase to allow users control over when to upgrade their changelog path as a distinct operation in their workflow?

It would be nice to avoid a separate command if at all possible, since that would require users understanding what Liquibase is doing behind the scenes. It's nicest to not have to have them care and/or have to coordinate that. There is also a lot of use cases around "embedded liquibase" like in spring boot etc. where people can't call commands as easily.
I'm wondering if the trick is to better track the stored path way back when we originally read it from the databasechangelog info?
The UpdateChangeSetChecksumStatement is created from AbstractChangeLogHistoryySerivce.replaceChecksum() which is called from getRunStatus() and upgradeChecksums() and in both cases we had the value stored in the table but end up not preserving all the way to the spot where UpdateChangeSetChecksumGenerator needs it. Maybe optionally pass along RanChangeSet's storedChangeLog to UpdateChangeSetChecksumStatement and use that in the where clause if it's set?

Initial/Pre-Review Thoughts
I haven't heard back from @vuparkar for a while, so I'm moving this PR along as half PR, half bug report. The base problem that is being reported should be addressed one way or the other. But I think we need to find a way that is transparent and handled automatically by liquibase and not something that requires flags or understanding by the user.
Questions I have:

None

Potential risks:

None

What could make the full review difficult:

Nothing

Yes. We just need to ensure the stored file path attribute is always set to the configured path and never modified. Here that's done in 2 places maybe there is a better place to update this attribute
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: filipe @.>
Sent: Thursday, May 4, 2023 9:46:22 AM
To: liquibase/liquibase @.>
Cc: vuparkar @.>; Mention @.>
Subject: Re: [liquibase/liquibase] Feature to allow checksum upgrade to support either new normalized filepaths or legacy stored file paths (PR #3489)
@filipelautert commented on this pull request.

In liquibase-core/src/main/java/liquibase/sqlgenerator/core/UpdateChangeSetChecksumGenerator.javahttps://github.com/liquibase/liquibase/pull/3489#discussion_r1185042728:

@@ -34,11 +36,20 @@ public Sql[] generateSql(UpdateChangeSetChecksumStatement statement, Database da
.setWhereClause(database.escapeObjectName("ID", LiquibaseColumn.class) + " = ? " +
"AND " + database.escapeObjectName("AUTHOR", LiquibaseColumn.class) + " = ? " +
"AND " + database.escapeObjectName("FILENAME", LiquibaseColumn.class) + " = ?")

               .addWhereParameters(changeSet.getId(), changeSet.getAuthor(), changeSet.getFilePath());

               .addWhereParameters(changeSet.getId(), changeSet.getAuthor(), getFilePathToUseInWhereClause(changeSet));

If we always use the now filled changeSet.getStoredFilePath() instead of changeSet.getFilePath() would this problem be solved?
—
Reply to this email directly, view it on GitHubhttps://github.com/liquibase/liquibase/pull/3489#pullrequestreview-1413138726, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADWONCODY3SGVR2RC657LKLXEOXK5ANCNFSM6AAAAAASFRWQ2E.
You are receiving this because you were mentioned.Message ID: @.***>

Hello @vuparkar ! Thanks for the PR.
We are working on checksums upgrades, and your PR helped us to fix it. We created a similar PR based on yours -> https://github.com/liquibase/liquibase/pull/4210 .


SVG Error react-native-svg:compileReleaseJavaWithJavac

I'm getting this error after installing according to the documentation.

Can someone please look into it ?

As this issue is related to the React Native SVG dependency, it might be more helpful to submit an issue over at the React Native SVG repository. Someone should be able to get back to you quicker over there.


How to support Chinese Characters?

It does not show Chinese Characters correctly, although the fontfamily is set to Heiti SC that works on default UI. How to make it work on Citrus.Avalonia? Thanks.

Interesting question! Wondering if Chinese characters are supported by AvaloniaUI 0.9.* itself. The Citrus.Avalonia theme simply overrides some of the default AvaloniaUI styles, and that's why I doubt that the cause of the font rendering issue is the Citrus.Avalonia package. It would be nice if you could double check if the characters are supported by Avalonia default light and dark themes. Probably worth rising an issue in AvaloniaUI main repo as well if the problem isn't related to Citrus.Avalonia. A repository with a repro would be highly appreciated as well.

Hi @worldbeater , I thought the issue occured on fontfamily set 'Ubuntu' to some components that did not support Chinese Characters. Is there any method to change all fontfamilies for every component at once like setting it on default  AvaloniaUI in <Window ...... FontFamily="xxx" ..... >? Thanks.

Ah I see! Well, any style could be overriden by defining an application-wide style in App.xaml.cs, see https://github.com/worldbeater/Camelotia/blob/360142cb7fe5b0748a270f95bb9a780f85614183/src/Camelotia.Presentation.Avalonia/App.xaml#L4 for a brief example.
<Application.Styles>
    <StyleInclude Source="avares://Citrus.Avalonia/Citrus.xaml"/>
    <!-- The styles defined below the StyleInclude line
         will override all the default styles -->
    <Style Selector="TextBlock">
        <Setter Property="FontFamily" Value="Heiti SC" />
    </Style>
</Application.Styles>

Actually each control has a Styles section, so you can override the default styles for a single Window or a single UserControl as well. Thanks for reporting this btw, planning to release a new Citrus.Avalonia version soon with a fix.

That works. Thanks a lot. Can not wait for the new version!


Added 1 Blazor book.

What does this PR do?
Add Resource
Description
Added one Blazor book.
Why is this valuable (or not)?
It's free, but requires an email address, without the verification part.
How do we know it's really free?
The author hosts this url on his personal website, it is free to download after a form submission.
For book lists, is it a book? For course lists, is it a course? etc.
It's a book.
Checklist:

[x] Not a duplicate
[x] Included author(s) if appropriate
[x] Lists are in alphabetical order
[x] Needed indications added (PDF, access notes, under construction)

... just rerunning checks (I think we're hitting travis too hard!)

@GintasS if you can figure out why the linter isn't running on this PR, I'd appreciate it!


No v0.7 found on https://download.pytorch.org/whl/torchrec/

I did not find v0.7 package on https://download.pytorch.org/whl/torchrec/

Resolved, 0.7.0 is now there


Not expanding current codeblock into expanded snippet

When I click Expand via Pieces on a particular code block, especially if it's a saved snippet, instead of the code block being opened in a new pane a random snippet is opened instead, usually the last snippet saved and only tangentially related to the snippet I tried to expand.

Hey @joshuadanpeterson, thanks for reaching out about the issue!
That is quite a strange error and is definitely not the expected outcome. Let me check with our plugins team and see if we can reproduce this. I will get back to you soon with, hopefully, a patch release coming soon!

@joshuadanpeterson could you please provide the code snippet that is expected to be opened, as well as the code snippet that is getting opened? Thanks.

Hi @caleb-at-pieces,
This is the code snippet  I'm expecting to see, and this is the code snippet  I'm seeing. Those are just the snippets, but I'm expecting the preview page to manifest.
This is just one example.
I just discovered another bug while attempting to write about this one: When I'm in the preview for the Regex for String Match snippet, I click on the Share via Pieces button and it generates a link for this code snippet  instead. But when I'm in the plugin in the sidebar, it generates the link for the correct snippet.

Hey @joshuadanpeterson, thanks for reaching out about the issue!
That is quite a strange error and is definitely not the expected outcome. Let me check with our plugins team and see if we can reproduce this. I will get back to you soon with, hopefully, a patch release coming soon!

@mason-at-pieces Thanks for checking on this, and thanks for making a great product. I love the software. I'm particularly digging the new copilot feature

Hi @caleb-at-pieces,
This is the code snippet I'm expecting to see, and this is the code snippet I'm seeing. Those are just the snippets, but I'm expecting the preview page to manifest.
This is just one example.
I just discovered another bug while attempting to write about this one: When I'm in the preview for the Regex for String Match snippet, I click on the Share via Pieces button and it generates a link for this code snippet instead. But when I'm in the plugin in the sidebar, it generates the link for the correct snippet.

Great, thank you for pointing this out. I am able to reproduce this now with the snippets you have provided, hopefully can get a fix soon.
As to the other issue you mentioned, that makes sense and it's likely the same bug happening.
TLDR on the details involved: we have a 'similarity detection' algorithm that runs when the plugin finds a code block in your editor that is used to detect if you have already saved that code block to pieces, clearly it's bugging out a little bit but I should be able to get this fixed pretty soon!

@mason-at-pieces Thanks for checking on this, and thanks for making a great product. I love the software. I'm particularly digging the new copilot feature

I'm glad you are enjoying it! The Copilot has been a fun addition to the product for sure and we have a lot of amazing features on deck too so stay tuned!
We are also starting to release some Open Source projects and actually are having a livestream tomorrow about our Open Source movement, here's a link to the livestream: https://www.youtube.com/watch?v=0AmuWaFoTdY
We'd love to see you there!

Hi @caleb-at-pieces,
This is the code snippet I'm expecting to see, and this is the code snippet I'm seeing. Those are just the snippets, but I'm expecting the preview page to manifest.
This is just one example.
I just discovered another bug while attempting to write about this one: When I'm in the preview for the Regex for String Match snippet, I click on the Share via Pieces button and it generates a link for this code snippet instead. But when I'm in the plugin in the sidebar, it generates the link for the correct snippet.

Great, thank you for pointing this out. I am able to reproduce this now with the snippets you have provided, hopefully can get a fix soon.
As to the other issue you mentioned, that makes sense and it's likely the same bug happening.
TLDR on the details involved: we have a 'similarity detection' algorithm that runs when the plugin finds a code block in your editor that is used to detect if you have already saved that code block to pieces, clearly it's bugging out a little bit but I should be able to get this fixed pretty soon!
Update: it looks like having a regex as a snippet is causing the issue, I've sent this over to our ML team to see what steps we can take towards fixing it.

Thanks so much for looking into this. I really appreciate it!

This should fix things https://github.com/pieces-app/ml_facade/pull/128/files

@joshuadanpeterson our head of ML was able to quickly resolve this issue this morning. The fix should be out with the next version of Pieces OS (6.5.0). So sit tight and wait for that to get out, it should be sometime next week. I'll make sure to make another post here once it's in production!

Thanks again @caleb-at-pieces!


webui

Expected Behavior

Current Behavior

Possible Solution

Steps to Reproduce (for bugs)

Context

Your Environment

Version used:

Environment name and version:

Operating System and version:

Link to Kodi debug log:

webui  dos not working  linux 64 bit

Please, don't create issues without any information.
WebUI works for me. http://<IP_ADDRESS>:65220/web/ , you should use ip address of device that runs elementum.

oke 65220. thnx quasar use .65251


Fix leaks in HTTP::Server specs

This fixes several issues with HTTP::Server specs.
Previously, there were some weird influences between individual specs. For example, when disabling handles exception during SSL handshake (e.g. marking it pending), the following spec closes gracefully would fail with the following error:
End of file reached (IO::EOFError)
         from src/io.cr:814:31 in 'read_line:chomp'
         from src/http/content.cr:196:7 in 'read_chunk_size'
         from src/http/content.cr:178:7 in 'next_chunk'
         from src/http/content.cr:145:7 in 'peek'
         from src/io.cr:632:37 in 'gets'
         from src/io.cr:605:5 in 'gets'
         from src/io.cr:575:5 in 'gets'
         from src/io.cr:574:3 in 'gets'
         from spec/std/http/server/server_spec.cr:609:11 in '->'
         from src/spec/methods.cr:255:3 in 'it'
         from spec/std/http/server/server_spec.cr:587:7 in '->'
         from src/spec/context.cr:255:3 in 'describe'
         from src/spec/methods.cr:16:5 in 'describe'
         from spec/std/http/server/server_spec.cr:586:5 in '->'
         from src/spec/context.cr:255:3 in 'describe'
         from src/spec/methods.cr:16:5 in 'describe'
         from spec/std/http/server/server_spec.cr:234:3 in '__crystal_main'
         from src/crystal/main.cr:97:5 in 'main_user_code'
         from src/crystal/main.cr:86:7 in 'main'
         from src/crystal/main.cr:106:3 in 'main'
         from __libc_start_main

@RX14 had already identified reusing fildescriptors by leftover fibers as probable reason.
And in fact, a large number of specs was not fully contained and leaking either open ports or unstopped fibers.
One issue was an actual bug in HTTP::Server#bind_tcp (and similar methods) which would bind a new socket and try to add it to the server. If that failed (because the server was already closed), it would raise an error but the newly created socket would not be terminated.
The other issues were all introduced by the specs themselves, a few missing server.close.
I also added a helper run_server which starts the server in a new fiber, then yields to a block for interacting with it and finally ensures that it is properly shut down. This should avoid any breaking specs from leaking server fibers.
I'm not sure if ensure_no_ports_leaking should stay around. It's rather rudimentary. If a open port is leaked at some point, all following specs will fail because of this.
This might not fix all the issues and I still don't completely understand the reasons why exactly one spec failed when the other was deactivated. But it already improves quite a lot.
I'll try to run the specs randomized to see if there might be any other issues with couplings between specs.

The CI failure shows there are even more specs leaking open ports in other files. I'll take a look at it tomorrow.

The lsof trick isn't a satisfying solution :confused:

@j8r No it's not. I'm mainly using it to manually detect any leaking open ports. It's not solid enough to be included in automatic tests.
That being said, it would be nice if specs could automatically fail if they leak fibers or open file descriptors. I don't think this can be implemented, though.

This PR is ready for review.
It hopefully removes all interdependencies between individual server specs, and so far it looks good. The initial example with deactivating a specific spec no longer reproduces. I've run over a thousand permutations of specs (random order + leaving some out) and found no other breaking specs.
This should eliminate fiber and port leaks in most places of the stdlib spec suite. A few specs specs still leak fibers (see CI results). Some are caused by the implementation of parallel (see #7204). I can't see why Channel::Buffered pings leaks a fiber. It doesn't even help to give it some time to clean up. This looks weird.
The websocket spec negotiates over HTTPS correctly also leaks a fiber, which might be caused by #7199, but I'm not sure. This needs further investigation and finally refactoring the specs (for negotiates over HTTP correctly, too).
The bcrypt spec is an odd place for a fiber finishing. It's reducing global fiber count by 1, consistently among all platforms (see CI results for 24c3f37). I'm not sure what's going on there.

@straight-shoota I'd really like to see this merged. IMHO this is as good as it's, just needs a rebase.

If I checkout this branch and run:
bin/crystal spec spec/std/http/client/client_spec.cr

I get:
Error reading socket: Connection reset by peer (Errno)

in four specs. I don't know what's going on...
This is on mac osx. I don't know why CI is happy.

I don't have a Mac, can anyone reproduce?
Which specs are failing exactly? And is it this plain branch or with 1000.times do?

@straight-shoota The specs that fail for me, without 1000.times, randomly, are:

"doesn't read the body if request was HEAD"
"tests connect_timeout"
"tests empty Content-Type"
"tests read_timeout"

What I see happening is: the server writes the response and then does io.close (in test_server) but this could happen before the client reads the response, hence we get "connection reset by peer" (I think). Could this be it?
If I put Fiber.yield right after io.flush then it works well all the time.
However, I don't understand now why it never happens that the server ends up raising because of writing the response after waiting for read_timeout when the client should have already been closed (what I saw in #7402). Maybe it's because of the channel and receive waiting... but I'm not sure. Actually, if I write client.close after the expect_raises then I get the error... which means that if we don't do that then it can happen later automatically when the GC runs and the server error can happen. Makes sense?
And also, if you try it locally but put everything inside 20.times do, can you reproduce the errors I'm seeing?

Okay, so it effectively happens in all the specs using test_server.
However, I can't reproduce any such error on linux.
So it seems to be specific to MacOS. But since it doesn't trigger on CI, there must be something else to it. Would be great if a few Mac users could test this on other machines.

I'd like to see this merged. New PRs like #7610 add specs that could benefit from the spec helpers defined here.
I can't debug the issues on MacOS. But they seem to be related to changes to the test_server helper used in client_spec. So I guess we could merge this without these changes (essentially the third commit) and. WDYT?

Oh, I thought this was already merged.
Yes, let's please merge this in whatever way that works.

@asterite I removed the changes to test_server. Could you run your test on MacOS again?

@straight-shoota
$ bin/crystal spec spec/std/http/client/client_spec.cr
Error in line 1: while requiring "./spec/std/http/client/client_spec.cr"

in spec/std/http/client/client_spec.cr:136: undefined method 'run_server'

      run_server(server) do
      ^~~~~~~~~~

Ooops, sry. Fixed.

Feel free to merge. Then I'll rebase the remote_address PR.


Handle lists with and without spaces in XFF

Currently, Utility::getLastAddressFromXFF() only handles lists that
use a comma plus a space as the separator.
Per https://tools.ietf.org/html/rfc7239#section-7.1, spaces are allowed
around commas — so we should handle that too.
This fixes #3607.
Signed-off-by: Raul Gutierrez Segales<EMAIL_ADDRESS>

@rgs1 we are going to merge the revert to try to get master into a good state after some issues. Can you potentially re-apply https://github.com/envoyproxy/envoy/pull/3609 in this PR and then @alyssawilk can help review?

@mattklein123 sure, but do we really need to revert #3609? it's generating valid XFF headers...

It is, but when Envoys are paired together, it will no longer work correctly, and I'm sure this will break people in a mesh configuration (including Lyft). I think it's better to revert and reapply as a set.

@mattklein123 ah true

i'll add #3609 in a follow-up commit

Having the utility fix in the same PR as the change to headers doesn't actually help if you don't roll everything out at once.
I'd honestly be inclined to roll back #3609, check this in, and wait [a month | a full release] before reapplying given there's 0 urgency on removing the whitespace.  Alternately we could call it out much more clearly in the release notes that you must replace your upstream Envoys (which allow whitespace and no-whitespace) before replacing downstream Envoys (which change how the header looks) but that seems more dicey.

I'd honestly be inclined to roll back #3609, check this in, and wait [a month | a full release] before reapplying given there's 0 urgency on removing the whitespace. Alternately we could call it out much more clearly in the release notes that you must replace your upstream Envoys (which allow whitespace and no-whitespace) before replacing downstream Envoys (which change how the header looks) but that seems more dicey.

This is a good point. Sorry, didn't think about this very much when I mentioned to roll it together. Agre let's apply this first then wait a month or so for the other one. Can we open a tracking issue for that?

@alyssawilk added — thanks!

@alyssawilk hmm, do we also need an integration test to check that xff is handled correctly from envoy to envoy (e.g.: something that would have caught the problem with 035a816)?

I'd love that, but I don't think we have the ability to set up multi-Envoy integration tests.  It's definitely on my list though!  I think the best we can do today is an integration test for A,B,C (no whitespace) if you're up for it.

Ah thanks @alyssawilk nice catch on the test.


OSError: Error no file named diffusion_pytorch_model.bin found in directory D:\AI\ComfyUI_windows_portable\ComfyUI\models\CogVideo\CogVideoX-Fun-V1.1-5b-Control.

模型自动下载了,为什么还是报错呢?
models\CogVideo\CogVideoX-Fun-V1.1-5b-Control.
Defaulting to unsafe serialization. Pass allow_pickle=False to raise an error instead.
!!! Exception during processing !!! Error no file named diffusion_pytorch_model.bin found in directory D:\AI\ComfyUI_windows_portable\ComfyUI\models\CogVideo\CogVideoX-Fun-V1.1-5b-Control.
Traceback (most recent call last):
File "D:\AI\ComfyUI_windows_portable\ComfyUI\execution.py", line 323, in execute
output_data, output_ui, has_subgraph = get_output_data(obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\AI\ComfyUI_windows_portable\ComfyUI\execution.py", line 198, in get_output_data
return_values = _map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\AI\ComfyUI_windows_portable\ComfyUI\execution.py", line 169, in _map_node_over_list
process_inputs(input_dict, i)
File "D:\AI\ComfyUI_windows_portable\ComfyUI\execution.py", line 158, in process_inputs
results.append(getattr(obj, func)(**inputs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\AI\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-CogVideoXWrapper\model_loading.py", line 230, in loadmodel
vae = AutoencoderKLCogVideoX.from_pretrained(base_path, subfolder="vae").to(dtype).to(offload_device)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\AI\ComfyUI_windows_portable\python_embeded\Lib\site-packages\huggingface_hub\utils_validators.py", line 114, in _inner_fn
return fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "D:\AI\ComfyUI_windows_portable\python_embeded\Lib\site-packages\diffusers\models\modeling_utils.py", line 804, in from_pretrained
model_file = _get_model_file(
^^^^^^^^^^^^^^^^
File "D:\AI\ComfyUI_windows_portable\python_embeded\Lib\site-packages\huggingface_hub\utils_validators.py", line 114, in _inner_fn
return fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "D:\AI\ComfyUI_windows_portable\python_embeded\Lib\site-packages\diffusers\utils\hub_utils.py", line 309, in _get_model_file
raise EnvironmentError(
OSError: Error no file named diffusion_pytorch_model.bin found in directory D:\AI\ComfyUI_windows_portable\ComfyUI\models\CogVideo\CogVideoX-Fun-V1.1-5b-Control.

similar errors have already been solved here in this very recent closed thread. -> https://github.com/kijai/ComfyUI-CogVideoXWrapper/issues/269
Essentially it didn't finish downloading for whatever reason. It happens randomly. Manually put the model.bin into the proper folder, regardless what model you are using. OR clear the workspace, reload the script AFTER updating, it will refresh the nodes and auto-download again once refreshed.  Both methods work.

Can I respectfully point out that the issue was the example workflow in github for 1.5 image to video has the old node in it. To solve I had to add the new load cog model node, and reconnect it. Might it be possible to update the example workflow?

在最近关闭的这个线程中，类似的错误已经得到解决。-> #269
本质上，无论出于什么原因，它都没有完成下载。这是随机发生的。手动将 model.bin 放入上面错误中抱怨的正确文件夹中（路径在那里），无论您使用的是什么模型。或者清除工作区，在更新后重新加载脚本，它将刷新节点并在刷新后再次自动下载。这两种方法都有效。

昨晚跑一晚上都没跑起来,是不是20系显卡跑不起来?

Can I respectfully point out that the issue was the example workflow in github for 1.5 image to video has the old node in it. To solve I had to add the new load cog model node, and reconnect it. Might it be possible to update the example workflow?

It's not that the download node never works, it just sometimes fails as it relies on the Huggingface downloader. Most of the time it still works, the new node is an alternative way which I probably will make standard going forward, but for now not all the models are even converted and that's why the download node is still there by default.
Your point stands though, the example could have both options as it's not otherwise clear it even exists (if you don't read the update notes).

我也遇到了这个问题，最后发现是下载的文件名和huggingface里的不统一。
因为当你使用浏览器或IDM之类的软件下载huggingface上的文件时，默认的文件名并非正确的文件名。一定要自己修改成huggingface页面中一模一样的文件名才行。


Add github workflow

I added a workflow that:

Tests the project on multiple Python versions
Builds and checks the Python package
(On new tags only) Uploads the package to PyPi

You need to set the pypi_token secret to upload to PyPi.

Thanks again!


fix: #546 issue with closing registration

Fixes issue #546 where closing registration was no longer working.
Also renames some controller files for consistency.
Type of change
Please delete options that are not relevant.

[X] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Set ALLOW_REGISTRATION to false and verify that registration is not possible. Then set it to true and make sure it works. Also manually entered /register path in url bar to make sure that it reroutes to /login when registration is disabled.

I just saw openid merged. It will need the same fix in the Login to be consistent with google auth in this PR
=== true


Use in node - documentation

Using this in node was really counterintuitive, especially if you want to make code that is compatible between browsers and node.
Note that fetch requires xmlhttprequest, but doesn't have the dependency in the code.
By trial and error - the best I got was
$ npm install whatwg-fetch --save
$ npm install xmlhttprequest --save
$ node
> const fetch = require('whatwg-fetch').fetch;
> const XMLHttpRequest = require('xmlhttprequest');
> fetch('https://github.com').then((req) => console.log(request.status))
should result in Promise { <pending> } and then 200

If part of the intent is to support use in environments like node it might be good to document, as there is an undocumented dependency, and the requires have to be done in two different ways to make this work.

You might try matthew-andrews/isomorphic-fetch.

Thanks, I found https://github.com/npm/node-fetch-npm which also has a more complete implementation of fetch (e.g. support blob()).
I think it is worth pointing people in the ReadMe - as I wasted a bunch of time thinking this was the canonical solution to the lack of fetch in node,

Our Readme already points out that this library is meant to be used in browsers, not under Node.js. We avoided officially recommending any 3rd-party project that provides fetch under Node because we have no experience with any of those projects, therefore we can't vouch for them.

Understood - thanks


Zoom towards cursor

Feature request — Zoom towards cursor.
I can see that this question was raised earlier, but closed with reference to the external library which is used and request to the actual change in the code. I may be wrong, but there is a code available for the lib to fix that.
https://github.com/archimatetool/archi/issues/1031 — original feature request
https://github.com/eclipse/gef/commit/a646ad81ce7a7dd4d6758ad1d5b31e9825768b09 — code for the lib to change the behavior to the desired one for the Graphical Eclipse Framework.
I wonder if it is possible to implement the change in Archi, since zooming is a pain in the neck now.
Version of Archi
5.2.0
Archi Plug-ins
coArchi, jArchi
Operating System
Windows
Expected Behaviour
Zoom towards cursor
Actual Behaviour
zoom towards canvas center
Steps to Reproduce the Behaviour

Ctrl + mouse scroll

Hi, the example code that you link to is for a completely different version of GEF, so it can't be used. We use GEF 3 (Classic) and I think that any changes would have to be applied here - https://github.com/archimatetool/archi/blob/master/org.eclipse.gef/src/org/eclipse/gef/editparts/ZoomManager.java
If anyone would like to contribute a PR for this please do.

I'll re-open the original issue and close this one, so we can track it in one place.


Add more badges

Add more badges, e.g., for code coverage or pypi version.

Welcome to Codecov :tada:
Once merged to your default branch, Codecov will compare your coverage reports and display the results in this comment.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


Error messages for value=[zzz]  are not helpful

While value=zzz provides a nice error message (unexpected z, expected quoted string), but not value=[zzz] (Expected 'newline' or '#') because of challenges with parsing optional trailing commas

hi, the document says that I can do the following. However, the toml result has a issue of trailing comma. Does it relate to this github issue? Thanks.
For instance,
doc["a"]["b"]["c"]["d1"] = value("hello1");
{ d1 = "hello1" }
doc["a"]["b"]["c"]["d"] = value("hello2");
{ d1 = "hello1" ,  d2 = "hello2" }

This issue is only about the quality of an error message in a case that is suppose to error. I would recommend creating a dedicated issue or discussion and include a full minimal reproduction case with actual output and expected so we can know how to help you.


Use moog for cursors

moog should be used for cursors. Let's not start talking ourselves into other OOP patterns again.

This got done over the weekend.
The server-side apos object now exposes "define," "redefine" and "create" convenience methods, for congruence with the browser side.
You can use those to define additional moog types which are not modules and instantiate them whenver you deem appropriate.
Subclassing, including anonymous subclassing, is then as simple as it is on the browser side.
This resolves pretty much all of our questions about how to provide extensibility for filters. We'll just subclass apostrophe-cursor with moog to create apostrophe-events-cursor. If we want to add a behavior to ALL cursors, we'll anonymously subclass apostrophe-cursor (call apos.define more than once).
One quirk: apostrophe-module is the default base class. Until this weekend there was no way to "opt out" of the default base class. You can now do so with extend: false, which is necessary for apostrophe-cursor.

I was overthinking this at first, but it's actually pretty simple: if you're creating objects that aren't module singletons and you want to render stuff from them... just call render on the danged module. Wrap than in a method if you want. Ain't no big. The asset folder chain isn't relevant for non-modules and that's OK.