Skip to content

Published updates - #161

Draft
rart wants to merge 4 commits into
craftercms:support/4.xfrom
rart:updates
Draft

Published updates#161
rart wants to merge 4 commits into
craftercms:support/4.xfrom
rart:updates

Conversation

@rart

@rart rart commented Sep 5, 2025

Copy link
Copy Markdown
Member

@coderabbitai

coderabbitai Bot commented Sep 5, 2025

Copy link
Copy Markdown

Summary by CodeRabbit

  • Documentation

    • Updated content package docs to reference TypeScript sources.
    • Refreshed navigation API examples and naming (getNavTree) with clarified optional parameters (depth, currentPageUrl, root, config).
    • Improved type references for items and navigation items.
  • Chores

    • Updated dependencies to stable versions across packages (@craftercms/classes, @craftercms/models, @craftercms/utils).
    • Bumped content package version to 4.4.2.

Walkthrough

Updated package.json dependency placeholders to concrete 4.x versions, bumped content package patch version, updated content README links/examples to point at TypeScript sources and optional params, and added a JSDoc comment for CrafterConfig.flatten. No behavioral or type changes.

Changes

Cohort / File(s) Summary
Dependency updates
packages/ice/package.json, packages/search/package.json, packages/content/package.json
Replaced placeholder dependency versions with concrete 4.x releases (@craftercms/models, @craftercms/classes, @craftercms/utils) and bumped packages/content version 4.4.14.4.2.
Documentation updates (README & examples)
packages/content/README.md
Updated public type/config links to point at TypeScript sources (../models/src/...), adjusted examples and API names/params (e.g., getTreegetNavTree, optional params for depth/currentPageUrl/root/config), and updated return-type references.
JSDoc addition
packages/models/src/CrafterConfig.ts
Added JSDoc describing CrafterConfig.flatten (controls recursive inclusion of linked content items; default false). No code/type changes.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • sumerjabri
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore or @coderabbit ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@rart
rart requested a review from sumerjabri as a code owner September 5, 2025 16:46

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
packages/content/README.md (2)

280-289: Fix example to use getNavTree (typo currently calling getTree)

Use the correct function and align variable naming.

-  import { getTree } from '@craftercms/content';
+  import { getNavTree } from '@craftercms/content';
@@
-  getTree('/site/website', 3, { site: 'editorial' }).subscribe((tree) => {
-    console.log(tree);
+  getNavTree('/site/website', 3, '', { site: 'editorial' }).subscribe((navTree) => {
+    console.log(navTree);
   });
@@
-  getTree('/site/website', 3).subscribe((tree) => {
-    console.log(tree);
+  getNavTree('/site/website', 3).subscribe((navTree) => {
+    console.log(navTree);
   });

315-323: Fix example labeling/arguments for getNavBreadcrumb

“Example 1: Config supplied inline” currently omits config. Pass config or change the label. Suggest passing config and adjusting Example 2 accordingly.

-  // Example 1: Config supplied inline
-  getNavBreadcrumb('/site/website').subscribe((navBreadcrumb) => {
+  // Example 1: Config supplied inline
+  getNavBreadcrumb('/site/website', '', { site: 'editorial' }).subscribe((navBreadcrumb) => {
     console.log(navBreadcrumb);
   });
@@
-  // Example 2: Services pre-configured (see "Usage" section above), config param omitted.
-  getNavBreadcrumb('/site/website').subscribe((navBreadcrumb) => {
+  // Example 2: Services pre-configured (see "Usage" section above), config param omitted.
+  getNavBreadcrumb('/site/website').subscribe((navBreadcrumb) => {
     console.log(navBreadcrumb);
   });
🧹 Nitpick comments (8)
packages/content/README.md (8)

153-156: Fix phrasing: “Default value in here” → clearer link text

Improve readability of the config row.

-| config        | Crafter configuration. Optional. Default value in [here](../models/src/CrafterConfig.ts). |
+| config        | Crafter configuration. Optional. Defaults: see [CrafterConfig](../models/src/CrafterConfig.ts). |

197-201: Unify config phrasing in tables

Apply the same clearer wording here.

-| config        | Crafter configuration. Optional. Default value in [here](../models/src/CrafterConfig.ts). |
+| config        | Crafter configuration. Optional. Defaults: see [CrafterConfig](../models/src/CrafterConfig.ts). |

229-234: Unify config phrasing; minor clarity on depth

Tweak wording and keep consistency.

-| depth         |                   Amount of levels to include. Optional. Default is `1`                   |
-| config        | Crafter configuration. Optional. Default value in [here](../models/src/CrafterConfig.ts). |
+| depth         |                   Number of levels to include. Optional. Default: `1`                     |
+| config        | Crafter configuration. Optional. Defaults: see [CrafterConfig](../models/src/CrafterConfig.ts). |

264-270: Unify config phrasing; minor clarity on depth/currentPageUrl

Small wording tweaks for consistency.

-| depth          |                   Amount of levels to include. Optional. Default is `1`                   |
+| depth          |                   Number of levels to include. Optional. Default: `1`                     |
-| currentPageUrl |                  The URL of the current page. Optional. Default is `''`                   |
+| currentPageUrl |                  The URL of the current page. Optional. Default: `''`                     |
-| config         | Crafter configuration. Optional. Default value in [here](../models/src/CrafterConfig.ts). |
+| config         | Crafter configuration. Optional. Defaults: see [CrafterConfig](../models/src/CrafterConfig.ts). |

298-303: Grammar/formatting: capitalize and unify config phrasing

Also resolves the LanguageTool flags.

-| path            |                                     The folder’s path                                     |
-| root           |  the root URL, basically the starting point of the breadcrumb. Optional. Default is `''`  |
-| config        | Crafter configuration. Optional. Default value in [here](../models/src/CrafterConfig.ts). |
+| path           |                                     The folder’s path                                      |
+| root           |  The root URL; starting point of the breadcrumb. Optional. Default: `''`                  |
+| config         | Crafter configuration. Optional. Defaults: see [CrafterConfig](../models/src/CrafterConfig.ts). |

306-306: Pluralize return description

Minor wording improvement.

-[NavigationItem](../models/src/NavigationItem.ts)[] - List of NavigationItem from the content store
+[NavigationItem](../models/src/NavigationItem.ts)[] - List of navigation items from the content store

331-336: Unify config phrasing in Transform section

Keep consistent wording across tables.

-| config        | Crafter configuration. Optional. Default value in [here](../models/src/CrafterConfig.ts). |
+| config        | Crafter configuration. Optional. Defaults: see [CrafterConfig](../models/src/CrafterConfig.ts). |

343-357: Optional: Align function name in bullet with examples (transform vs urlTransform)

Bullet shows transform(...) but first example uses urlTransform(...). If both APIs exist, consider documenting both signatures or standardizing the naming in this section.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 808aa94 and 9f2b2df.

📒 Files selected for processing (2)
  • packages/content/README.md (6 hunks)
  • packages/content/package.json (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • packages/content/package.json
🧰 Additional context used
🪛 LanguageTool
packages/content/README.md

[grammar] ~298-~298: There might be a mistake here.
Context: ... | | -------------- |:---------------------...

(QB_NEW_EN)


[grammar] ~299-~299: There might be a mistake here.
Context: ...--------------------------------------:| | path | ...

(QB_NEW_EN)


[grammar] ~300-~300: There might be a mistake here.
Context: ...th | | root | the root URL, basica...

(QB_NEW_EN)

🔇 Additional comments (4)
packages/content/README.md (4)

160-160: LGTM: Return type link updated correctly

Linking Item to the TS source is helpful and accurate.


204-204: LGTM: Children return type

“Item[]” with the link on Item is fine.


237-237: Verify: getTree return shape (single Item vs tree/array)

Doc says “complete Item hierarchy”, but return shows a single Item. Should this be Item[] or a tree structure?

Proposed if it should be an array:

-[Item](../models/src/item.ts) - from the content store
+[Item](../models/src/item.ts)[] - Item hierarchy from the content store

273-273: Verify: getNavTree return type; example below uses getTree

Return shows a single NavigationItem, but API returns a navigation tree; likely an array or root node structure. Also, the example below imports/calls getTree instead of getNavTree.

If it returns an array, apply:

-[NavigationItem](../models/src/NavigationItem.ts) - from the content store
+[NavigationItem](../models/src/NavigationItem.ts)[] - Navigation tree from the content store

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
packages/content/README.md (1)

298-303: Breadcrumb params: capitalize sentence, tighten wording; table alignment

Minor language and consistency fixes. Also the text states root is optional; ensure the signature above reflects that (root?: string).

Apply this diff:

-| path            |                                     The folder’s path                                     |
-| root           |  the root URL, basically the starting point of the breadcrumb. Optional. Default is `''`  |
-| config        | Crafter configuration. Optional. Default value in [here](../models/src/CrafterConfig.ts). |
+| path          | The folder’s path                                                                            |
+| root          | The root URL (starting point of the breadcrumb). Optional. Default is `''`.                  |
+| config        | Crafter configuration. Optional. Default in [CrafterConfig.ts](../models/src/CrafterConfig.ts). |
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 9f2b2df and 4fb6a7c.

📒 Files selected for processing (1)
  • packages/content/README.md (7 hunks)
🧰 Additional context used
🪛 LanguageTool
packages/content/README.md

[grammar] ~298-~298: There might be a mistake here.
Context: ... | | -------------- |:---------------------...

(QB_NEW_EN)


[grammar] ~299-~299: There might be a mistake here.
Context: ...--------------------------------------:| | path | ...

(QB_NEW_EN)


[grammar] ~300-~300: There might be a mistake here.
Context: ...th | | root | the root URL, basica...

(QB_NEW_EN)

🔇 Additional comments (7)
packages/content/README.md (7)

153-156: Good update: link CrafterConfig default to TS source

Linking to ../models/src/CrafterConfig.ts is accurate and helpful.


160-160: Return type link fixed

Using ../models/src/item.ts is correct.


197-201: Consistent config link

Parameters table now points to the TS source for defaults; looks good.


204-204: Return type link fixed

Using ../models/src/item.ts[] is correct.


229-234: Params table consistency

Depth/config docs read well and link to TS source.


306-306: Return type link fixed

NavigationItem link to TS source looks good.


331-336: Config link correction

Pointing to CrafterConfig.ts for defaults is consistent across sections.

Comment thread packages/content/README.md Outdated
Comment thread packages/content/README.md

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

♻️ Duplicate comments (2)
packages/content/README.md (2)

262-262: Resolved: getNavTree signature now reflects optional args and arg order

This addresses the earlier confusion around currentPageUrl and config.


280-284: Resolved: Example now passes empty currentPageUrl placeholder

The example call aligns with the updated signature and prevents arg misplacement.

🧹 Nitpick comments (3)
packages/content/README.md (3)

153-156: Nit: Clarify phrasing for config default reference

“Default value in here” is awkward. Prefer a direct reference to the file name.

Apply:

-| config        | Crafter configuration. Optional. Default value in [here](../models/src/CrafterConfig.ts). |
+| config        | Crafter configuration. Optional. Default in [CrafterConfig.ts](../models/src/CrafterConfig.ts). |

197-201: Nit: Same config phrasing improvement as above

Repeat the clearer wording for consistency.

-| config        | Crafter configuration. Optional. Default value in [here](../models/src/CrafterConfig.ts). |
+| config        | Crafter configuration. Optional. Default in [CrafterConfig.ts](../models/src/CrafterConfig.ts). |

264-270: Nit: Improve config default phrasing

Keep wording consistent across sections.

-| config         | Crafter configuration. Optional. Default value in [here](../models/src/CrafterConfig.ts). |
+| config         | Crafter configuration. Optional. Default in [CrafterConfig.ts](../models/src/CrafterConfig.ts). |
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 4fb6a7c and a968464.

📒 Files selected for processing (1)
  • packages/content/README.md (7 hunks)
🧰 Additional context used
🪛 LanguageTool
packages/content/README.md

[grammar] ~298-~298: There might be a mistake here.
Context: ... | | -------------- |:---------------------...

(QB_NEW_EN)


[grammar] ~299-~299: There might be a mistake here.
Context: ...--------------------------------------:| | path | ...

(QB_NEW_EN)


[grammar] ~300-~300: There might be a mistake here.
Context: ...th | | root | the root URL, basica...

(QB_NEW_EN)

🔇 Additional comments (7)
packages/content/README.md (7)

160-160: LGTM: Type link updated

Item now correctly links to the TS source path.


204-204: LGTM: Return type link

Array Item link points to models/src/item.ts as expected.


237-237: LGTM: Return type link

Return type references models/src/item.ts correctly.


273-273: LGTM: Return type link

NavigationItem link points to the TS source file.


287-288: LGTM: Example comment clarifies omitted currentPageUrl default

Clear and consistent with the signature.


306-306: LGTM: Return type link

Breadcrumb return type links to NavigationItem TS source.


316-316: LGTM: Example passes explicit root

Matches the (intended) optional root param and shows usage clearly.

Comment on lines +229 to 234
| Parameters | |
| ------------- |:-----------------------------------------------------------------------------------------:|
| path | The folder’s path |
| depth | Amount of levels to include. Optional. Default is `1` |
| config | Crafter configuration. Optional. Default value in [here](../models/src/CrafterConfig.ts). |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

⚠️ Potential issue

Signature/table mismatch for getTree: make depth and config optional or fix table

The table marks depth and config as optional, but the signature above shows both required. Align these.

Proposed fix:

-`getTree(path: string, depth: number, config: CrafterConfig)` 
+`getTree(path: string, depth?: number, config?: CrafterConfig)`

And keep the table as-is (with optional), plus the config phrasing nit:

-| config        | Crafter configuration. Optional. Default value in [here](../models/src/CrafterConfig.ts). |
+| config        | Crafter configuration. Optional. Default in [CrafterConfig.ts](../models/src/CrafterConfig.ts). |

If the API truly requires both, then instead change the table to remove “Optional” and the default note.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
| Parameters | |
| ------------- |:-----------------------------------------------------------------------------------------:|
| path | The folder’s path |
| depth | Amount of levels to include. Optional. Default is `1` |
| config | Crafter configuration. Optional. Default value in [here](../models/src/CrafterConfig.ts). |
`getTree(path: string, depth?: number, config?: CrafterConfig)`
| Parameters | |
| ------------- |:-----------------------------------------------------------------------------------------------:|
| path | The folder’s path |
| depth | Amount of levels to include. Optional. Default is `1` |
| config | Crafter configuration. Optional. Default in [CrafterConfig.ts](../models/src/CrafterConfig.ts). |
🤖 Prompt for AI Agents
In packages/content/README.md around lines 229-234, the README table marks
getTree's depth and config parameters as optional but the function signature
above shows them required; either make the function signature match the table by
changing the getTree signature to accept optional parameters (e.g., depth?:
number with default 1 and config?: CrafterConfig with the existing default) or
update the table to show them as required (remove "Optional" and default note).
If choosing to make parameters optional, also update the config cell wording to
"Crafter configuration. Optional. Default value: see
../models/src/CrafterConfig.ts" so the documentation and signature are aligned.

Comment on lines +298 to 303
| Parameters | |
| -------------- |:-----------------------------------------------------------------------------------------:|
| path | The folder’s path |
| root | the root URL, basically the starting point of the breadcrumb. Optional. Default is `''` |
| config | Crafter configuration. Optional. Default value in [here](../models/src/CrafterConfig.ts). |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Signature/table mismatch for getNavBreadcrumb + minor grammar

Root and config are shown as optional in the table, but the signature above shows them required. Also, tighten the root description.

Apply:

-`getNavBreadcrumb(path: string, root: string, config: CrafterConfig)`
+`getNavBreadcrumb(path: string, root?: string, config?: CrafterConfig)`

And refine table wording:

-| root           |  the root URL, basically the starting point of the breadcrumb. Optional. Default is `''`  |
+| root           | The root URL; starting point of the breadcrumb. Optional. Default is `''`.                |
-| config        | Crafter configuration. Optional. Default value in [here](../models/src/CrafterConfig.ts). |
+| config        | Crafter configuration. Optional. Default in [CrafterConfig.ts](../models/src/CrafterConfig.ts). |
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
| Parameters | |
| -------------- |:-----------------------------------------------------------------------------------------:|
| path | The folder’s path |
| root | the root URL, basically the starting point of the breadcrumb. Optional. Default is `''` |
| config | Crafter configuration. Optional. Default value in [here](../models/src/CrafterConfig.ts). |
`getNavBreadcrumb(path: string, root?: string, config?: CrafterConfig)`
| Parameters | |
| -------------- |:-----------------------------------------------------------------------------------------:|
| path | The folder’s path |
| root | The root URL; starting point of the breadcrumb. Optional. Default is `''`. |
| config | Crafter configuration. Optional. Default in [CrafterConfig.ts](../models/src/CrafterConfig.ts). |
🧰 Tools
🪛 LanguageTool

[grammar] ~298-~298: There might be a mistake here.
Context: ... | | -------------- |:---------------------...

(QB_NEW_EN)


[grammar] ~299-~299: There might be a mistake here.
Context: ...--------------------------------------:| | path | ...

(QB_NEW_EN)


[grammar] ~300-~300: There might be a mistake here.
Context: ...th | | root | the root URL, basica...

(QB_NEW_EN)

Comment on lines +331 to 336
| Parameters | |
| --------------- |:-----------------------------------------------------------------------------------------:|
| transformerName | Name of the transformer to apply |
| path | URL that will be transformed |
| config | Crafter configuration. Optional. Default value in [here](../models/src/CrafterConfig.ts). |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

⚠️ Potential issue

Signature/table mismatch for transform config optionality

Table marks config optional; signature above shows it required. Align these and fix config phrasing.

- - `transform(transformerName: string, path: string, config: CrafterConfig)` 
+ - `transform(transformerName: string, path: string, config?: CrafterConfig)` 

And:

-| config        | Crafter configuration. Optional. Default value in [here](../models/src/CrafterConfig.ts). |
+| config        | Crafter configuration. Optional. Default in [CrafterConfig.ts](../models/src/CrafterConfig.ts). |
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
| Parameters | |
| --------------- |:-----------------------------------------------------------------------------------------:|
| transformerName | Name of the transformer to apply |
| path | URL that will be transformed |
| config | Crafter configuration. Optional. Default value in [here](../models/src/CrafterConfig.ts). |
`transform(transformerName: string, path: string, config?: CrafterConfig)`
| Parameters | |
| --------------- |:-----------------------------------------------------------------------------------------:|
| transformerName | Name of the transformer to apply |
| path | URL that will be transformed |
| config | Crafter configuration. Optional. Default in [CrafterConfig.ts](../models/src/CrafterConfig.ts). |
🤖 Prompt for AI Agents
In packages/content/README.md around lines 331-336, the parameter table marks
"config" as optional but the function signature shown earlier documents it as
required; make them consistent by updating the signature to show config as
optional (e.g., add the optional marker or provide a default) and reword the
table entry to a concise phrase such as "Crafter configuration — optional.
Defaults to the value in ../models/src/CrafterConfig.ts." Ensure both signature
and table use the same optional notation and identical phrasing for clarity.

@sumerjabri
sumerjabri marked this pull request as draft September 5, 2025 18:02
@sumerjabri

Copy link
Copy Markdown
Member

@rart I turned this into a draft until you're done with the rabbit.

@sumerjabri
sumerjabri removed their request for review June 10, 2026 13:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants