Many Unicode characters disappear

I have an AsciiDoc file in UTF-8 encoding. When I run Asciidoctor PDF, many non-ASCII characters just disappear. I'm not specifying a custom font.
 There are no warnings.
System information:
Asciidoctor PDF 1.5.0.alpha.18 using Asciidoctor <IP_ADDRESS> [http://asciidoctor.org]
Runtime Environment (ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin14]) (lc:UTF-8 fs:UTF-8 in:- ex:UTF-8)

This is just part of dealing with fonts in PDF. No one font (that looks decent) has all the characters in Unicode. And for the ones that do, they are absolutely huge. So we ask you to bring your own font if you need more glyphs. This is explained here: https://github.com/asciidoctor/asciidoctor-pdf/blob/master/docs/theming-guide.adoc#fonts

Thank you for your explanation. I see that font handling in PDF files is complicated. Still, I would appreciate it if special characters could work out of the box.
By the way: According to the document you linked, there should have been a warning for each unsupported character. While not ideal, this might have helped me track the problem down. But there was no warning.

I would appreciate it if special characters could work out of the box.

Special characters do work out of the box. Just not all of them. And yes, in a perfect world, there would be a font that looks good and has all the characters. But there just isn't.
You can specify a different fallback font that has a broader range of characters. One of those is VLGothic. It's not the most elegant font, but it has just about everything. I'll document below how you can use that.

there should have been a warning for each unsupported character.

Not when using a TrueType font. This is just a limitation of Prawn that is out of our control.

Here's how you can use VLGothic as your fallback font so that you get more special characters.

Create a theme file named more-glyphs-theme.yml.

Populate it with the following:

extends: default
font:
  catalog:
    Noto Serif:
      normal: notoserif-regular-subset.ttf
      bold: notoserif-bold-subset.ttf
      italic: notoserif-italic-subset.ttf
      bold_italic: notoserif-bold_italic-subset.ttf
    M+ 1mn:
      normal: mplus1mn-regular-ascii-conums.ttf
      bold: mplus1mn-bold-ascii.ttf
      italic: mplus1mn-italic-ascii.ttf
      bold_italic: mplus1mn-bold_italic-ascii.ttf
    VLGothic:
      normal: /usr/share/fonts/vlgothic/VL-Gothic-Regular.ttf
      bold: /usr/share/fonts/vlgothic/VL-Gothic-Regular.ttf
      italic: /usr/share/fonts/vlgothic/VL-Gothic-Regular.ttf
      bold_italic: /usr/share/fonts/vlgothic/VL-Gothic-Regular.ttf
  fallbacks:
  - VLGothic

Load the theme when invoking the Asciidoctor PF command:

asciidoctor-pdf -a pdf-style=./more-glyphs-theme.yml unicode-test.adoc

At our company, we're increasingly using AsciiDoc for technical specifications of all kinds. Typically, such an AsciiDoc document won't be part of an elaborate build system, but is just a standalone .adoc file. So I'm limited to the features AsciiDoctor offers out of the box, without any setup or configuration outside the .adoc file itself.
Currently, I'm trying to limit myself to ANSI characters, but often, some special characters would improve readability a lot.

but all the other symbols are just omitted. There are no warnings.

Unfortunately, Prawn doesn't issue a warning for missing glyphs in a TTF font like it does for an AFM font. However, we could monkeypatch the Prawn::Text::Formatted::Box#find_font_for_this_glyph to warn when it fails to resolve the glyph in any TTF font. However, this would only work when the fallback font is in use since that's the only time Prawn checks for the glyph to be present in the font. (There's one other way to do it that would work without the fallback font in use, but it's less elegant).

I can't get this to work.
I have a font-fix.yml in the same directory as the adoc:
extends: default
font:
  catalog:
    merge: true
    Roboto:
      normal: /usr/share/fonts/TTF/Roboto-Regular.ttf
      italic: /usr/share/fonts/TTF/Roboto-Italic.ttf
      bold: /usr/share/fonts/TTF/Roboto-Bold.ttf
      bold_italic: /usr/share/fonts/TTF/Roboto-BoldItalic.ttf
  fallbacks: [Roboto]

And i just need to :pdf-theme: font-fix.yml in the adoc, right? I would like to a void cli-parameters if possible.

Please direct questions about usage to the project chat at https://chat.asciidoctor.org. Thanks.


How to send Hex number with Netty

How to send Hex number with Netty?
0x78
0x0d
0x0a

Can you give us an example?
Please.

@Mahdihp I think you should concentrate on sending / writing a byte array of data, hex is just a representation of data.

Hex data for
is GPS  Tracking .

Try searching the internet for examples / tutorials on how to convert hex data into byte arrays.


Vector tiles support

Thank you for greppo!
Is there any plans to implement vector tiles support? They are available in leaflet via plugins, e. g. https://github.com/Leaflet/Leaflet.VectorGrid

Hey @gtitov , vectors tiles are in the roadmap. But we are not focussed on it at the moment.

Thank you for the feedback!


Type Hint Responses [WIP]

This is WIP PR for #199.
@ramnes, I just wanted to confirm whether this kind of an approach is fine or not. Also, I was thinking that instead of having to maintain a separate async and synchronous versions of the endpoints, we could use something like unasyncd.
Once this is confirmed, I'll go ahead and get to typing all the responses by comparing with the official docs and the official Javascript client.

Hey @guacs! Thanks a lot for this first iteration.
Quick thoughts:

I'd prefer to avoid code duplication, and I really want to avoid manual code duplication at all costs; if we don't find a simpler way, automated code duplication may be okay but I'd like to see a PoC first.
I want us to stay as close as possible to the JS implementation, so we should:

replicate the types defined here
expose them from api_endpoints (if we don't want to have a single big file, we could write a private _types.py module that we import in api_endpoints, and add add to its __all__)

Can't guarantee anything but I may try to work on a PoC as well. :)
In any case, please feel free to modify the code directly, that would actually help me to understand your ideas by providing me a diff to read!

Yeah I definitely agree that the code duplication would definitely be a burden. I'll create a PoC for just the UsersEndpoint (this has the simplest types that would need to be implemented) with both an async version and a sync version created by unasyncd.
On the point of the types, I'll try my best to keep it in sync with the one that is in the typescript client, but there might be some changes that will need to be made to accommodate for the differences in the type system.

@ramnes I have the basic setup with just the user responses typed.
The _sync_api_endpoints was created using the unasyncd library I mentioned before. However, I did have to manually go and change the type of the client in the base endpoint class as well as rename it from AsyncEndpoint to Endpoint manually. The rest of it was automatically created with the following command:
unasyncd notion_client/_async_api_endpoints.py:notion_client/_sync_api_endpoints.py
I ran the tests and all of them passed except for one test in helpers with the following error:
tests/test_helpers.py::test_is_full_page_or_database - notion_client.errors.APIResponseError: API token is invalid.

Also, regarding the types I had some doubts:

How closely do you want to follow the official TS types? Looking through it there is a lot of room for reusing already described types which are redefined in the TS types since that one is autogenerated.
Do you prefer to keep the naming the same as that in the TS types or switch to more user-friendly type names? For example, the type of the response for the retrieve user endpoint is UserObjectResponse which could be simplified to User if we want to. Personally, I'm fine with either approach.

Also, please note that we will have to create some new types like PersonDetails due to the differences in how the types can be described in the two languages.

Btw, mypy and pyright issues are for the following code:
from notion_client.client import AsyncClient

async def main():

    async_client = AsyncClient()

    user = await async_client.users.retrieve("user-id")

What about something like this? Mypy seems happy:
 class UsersEndpoint(Endpoint):
-    def list(self, **kwargs: Any) -> SyncAsync[Any]:
+    @overload
+    async def list(self, **kwargs: Any) -> List[UserObjectResponse]:
+        ...
+
+    def list(self, **kwargs: Any) -> List[UserObjectResponse]:
         """Return a paginated list of [Users](https://developers.notion.com/reference/user) for the workspace.

         *[🔗 Endpoint documentation](https://developers.notion.com/reference/get-users)*

Or something like this, if we don't want to lie to type checkers:
 class UsersEndpoint(Endpoint):
-    def list(self, **kwargs: Any) -> SyncAsync[Any]:
+    @overload
+    def list(self, **kwargs: Any) -> Awaitable[List[UserObjectResponse]]:
+        ...
+
+    def list(self, **kwargs: Any) -> List[UserObjectResponse]:
         """Return a paginated list of [Users](https://developers.notion.com/reference/user) for the workspace.

Mypy is not complaining for my code, but it is raising an error for the implementation within the library though. Do you have just one overload? I'm getting the following errors when running mypy on the api_endpoints.py file:

error: Single overload definition, multiple required  [misc]
Overloaded function implementation cannot produce return type of signature 1  [misc]

Yep right, not only it's not the correct way to use @overload since you always need multiple definitions with the decorator, but also a difference in return type is not enough since Mypy chooses the correct signature according to the parameters types. TIL. :)
Now this seems to work:
diff --git a/notion_client/api_endpoints.py b/notion_client/api_endpoints.py
index 8660dac..9a6c172 100644
--- a/notion_client/api_endpoints.py
+++ b/notion_client/api_endpoints.py
@@ -1,20 +1,22 @@
 """Notion API endpoints."""  # noqa: E501
-
-from typing import TYPE_CHECKING, Any
+from typing import TYPE_CHECKING, Any, Awaitable, Dict, Generic, List, TypeVar, overload

 from notion_client.helpers import pick
 from notion_client.typing import SyncAsync

 if TYPE_CHECKING:  # pragma: no cover
-    from notion_client.client import BaseClient
+    from notion_client.client import AsyncClient, Client
+
+
+T = TypeVar("T", "AsyncClient", "Client")

-class Endpoint:
-    def __init__(self, parent: "BaseClient") -> None:
-        self.parent = parent
+class Endpoint(Generic[T]):
+    def __init__(self, parent: T) -> None:
+        self.parent: T = parent

-class BlocksChildrenEndpoint(Endpoint):
+class BlocksChildrenEndpoint(Endpoint[Any]):
     def append(self, block_id: str, **kwargs: Any) -> SyncAsync[Any]:
         """Create and append new children blocks to the block using the ID specified.

@@ -40,7 +42,7 @@ class BlocksChildrenEndpoint(Endpoint):
         )

-class BlocksEndpoint(Endpoint):
+class BlocksEndpoint(Endpoint[Any]):
     def __init__(self, *args: Any, **kwargs: Any) -> None:
         super().__init__(*args, **kwargs)
         self.children = BlocksChildrenEndpoint(*args, **kwargs)
@@ -109,7 +111,7 @@ class BlocksEndpoint(Endpoint):
         )

-class DatabasesEndpoint(Endpoint):
+class DatabasesEndpoint(Endpoint[Any]):
     def list(self, **kwargs: Any) -> SyncAsync[Any]:  # pragma: no cover
         """List all [Databases](https://developers.notion.com/reference/database) shared with the authenticated integration.

@@ -173,7 +175,7 @@ class DatabasesEndpoint(Endpoint):
         )

-class PagesPropertiesEndpoint(Endpoint):
+class PagesPropertiesEndpoint(Endpoint[Any]):
     def retrieve(self, page_id: str, property_id: str, **kwargs: Any) -> SyncAsync[Any]:
         """Retrieve a `property_item` object for a given `page_id` and `property_id`.

@@ -187,7 +189,7 @@ class PagesPropertiesEndpoint(Endpoint):
         )

-class PagesEndpoint(Endpoint):
+class PagesEndpoint(Endpoint[Any]):
     def __init__(self, *args: Any, **kwargs: Any) -> None:
         super().__init__(*args, **kwargs)
         self.properties = PagesPropertiesEndpoint(*args, **kwargs)
@@ -226,8 +228,16 @@ class PagesEndpoint(Endpoint):
         )

-class UsersEndpoint(Endpoint):
-    def list(self, **kwargs: Any) -> SyncAsync[Any]:
+class UsersEndpoint(Endpoint[Any]):
+    @overload
+    def list(self: "Endpoint[AsyncClient]", **kwargs: Any) -> Awaitable[List[Dict[str, Any]]]:
+        ...
+
+    @overload
+    def list(self: "Endpoint[Client]", **kwargs: Any) -> List[Dict[str, Any]]:
+        ...
+
+    def list(self, **kwargs: Any) -> Any:
         """Return a paginated list of [Users](https://developers.notion.com/reference/user) for the workspace.

         *[🔗 Endpoint documentation](https://developers.notion.com/reference/get-users)*
@@ -258,7 +268,7 @@ class UsersEndpoint(Endpoint):
         )

-class SearchEndpoint(Endpoint):
+class SearchEndpoint(Endpoint[Any]):
     def __call__(self, **kwargs: Any) -> SyncAsync[Any]:
         """Search all pages and child pages that are shared with the integration.

@@ -272,7 +282,7 @@ class SearchEndpoint(Endpoint):
         )

-class CommentsEndpoint(Endpoint):
+class CommentsEndpoint(Endpoint[Any]):
     def create(self, **kwargs: Any) -> SyncAsync[Any]:
         """Create a new comment in the specified page or existing discussion thread.

When used with this users.py file:
import asyncio
import os
from pprint import pprint

from typing import TYPE_CHECKING

from notion_client import AsyncClient, Client

def main_sync() -> None:
    notion = Client(auth=os.environ["NOTION_TOKEN"])
    users = notion.users.list()

    if TYPE_CHECKING:
        reveal_type(users)

    pprint(users)

async def main_async() -> None:
    notion = AsyncClient(auth=os.environ["NOTION_TOKEN"])
    users = await notion.users.list()

    if TYPE_CHECKING:
        reveal_type(users)

    pprint(users)

main_sync()
asyncio.run(main_async())

It correctly reveals the types:
$ mypy users.py
users.py:15: note: Revealed type is "typing.Awaitable[builtins.list[builtins.dict[builtins.str, Any]]]"
users.py:25: note: Revealed type is "builtins.list[builtins.dict[builtins.str, Any]]"
Success: no issues found in 1 source file

Thoughts?

Yeah right, this is not the proper way to use @overload, it needs at least two alternatives and it can't use the return type to decide which alternative to use... TIL. :)
After a bit more digging, here is what I ended up with: https://github.com/ramnes/notion-sdk-py/compare/ramnes:1a8bdd4...ramnes:fe90378
With such a users.py file:
import asyncio
import os
from pprint import pprint

from typing import TYPE_CHECKING

from notion_client import AsyncClient, Client

def main_sync() -> None:
    notion = Client(auth=os.environ["NOTION_TOKEN"])
    users = notion.users.list()

    if TYPE_CHECKING:
        reveal_type(notion.users.parent)
        reveal_type(users)

    pprint(users)

async def main_async() -> None:
    notion = AsyncClient(auth=os.environ["NOTION_TOKEN"])
    users = await notion.users.list()

    if TYPE_CHECKING:
        reveal_type(notion.users.parent)
        reveal_type(users)

    pprint(users)

main_sync()
asyncio.run(main_async())

It correctly reveals the types:
$ mypy users.py
users.py:15: note: Revealed type is "notion_client.client.Client"
users.py:16: note: Revealed type is "builtins.list[builtins.dict[builtins.str, Any]]"
users.py:26: note: Revealed type is "notion_client.client.AsyncClient"
users.py:27: note: Revealed type is "builtins.list[builtins.dict[builtins.str, Any]]"
Success: no issues found in 1 source file

Thoughts?
Everything is in the poc-types branch if you want to play with it.

This works perfectly! Yeah this is a far better approach. I think we can just go with this instead of the different implementations for sync and async.

Also, regarding the types I had some doubts:

How closely do you want to follow the official TS types? Looking through it there is a lot of room for reusing already described types which are redefined in the TS types since that one is autogenerated.
Do you prefer to keep the naming the same as that in the TS types or switch to more user-friendly type names? For example, the type of the response for the retrieve user endpoint is UserObjectResponse which could be simplified to User if we want to. Personally, I'm fine with either approach.

Also, please note that we will have to create some new types like PersonDetails due to the differences in how the types can be described in the two languages.

Now I think we just need to make a decision regarding these points, and we can progress with the changes.

Cool, happy that you like it!
Just a quick note: I think we should use __future__.annotations to make a lot of the typing stuff simpler. It looks like it has been ported back to 3.7, which is great because ideally that's the first version I would like to support. If for some reason anything related to deferred annotations doesn't work in a particular version of Python, please tell me and we'll consider dropping support for it.
Regarding the types, I'd prefer that we stay consistent with the JavaScript SDK names. Thanks!

The PR is stale so I'll close it, but feel free to open a new PR if you feel like it!


email-log: Handle checkbox saying "Show text only version".

After clicking on checkbox saying "Show text only version" UI was rendered
correctly but after refreshing page keeping checkbox checked, emails were
shown without "text only version" but checkbox value remained checked.
Now after refreshing page checkbox value changes to its default value.

@timabbott please review this.

Nice find, merged, thanks @ss62171!


Check hash of all dependencies installed via curl/wget

To gaurd against supply chain attacks such as the one executed against CodeCov it would be prudent to verify the hash of all scripts downloaded by curl or wget before adding them to the docker image.
https://about.codecov.io/security-update/

@mpkorstanje I figured it was a good idea to do this before we merge https://github.com/cucumber/cucumber-build/pull/21 so here's my attempt in #22. Feedback appreciated!


[BUG] 'binascii.Error: Incorrect padding' for all providers

Describe the bug
A clear and concise description of what the bug is. Explain the steps that you took leading up to the bug to help aid in recreating it.
After searching on a provider, which works as intended - once I select any movie or TV show I receive the following error: binascii.Error: Incorrect padding
I have confirmed that my system and mov-cli are up to date, and that ani-cli works as intended.C
Expected behavior
A clear and concise description of what you expected to happen.
For the mpv player to start as normal.
Error Screenshots

Desktop (please complete the following information):
Arch Linux
Possible cause
I am unsure but I am presuming it might be something due to my personal python install? As I do not see any other reports of this issue on the github.
I also receive this warning while using pip, I am unsure if it is relevant
DEPRECATION: Loading egg at /usr/lib/python3.11/site-packages/lensfun-0.3.4-py3.11.egg is deprecated. pip 23.3 will enforce this behaviour change. A possible replacement is to use pip for package installation..
Version
mov-cli version 1.4.5
mpv 1:0.35.1-8
ffmpeg 2:6.0-8
ffmpeg4.4 4.4.4-1
lxml version 4.9.2
Thank you!

I am having the same issue

Well the Hoster (Dokicloud) has changed something. We are working on it.

Had the same issue, and so was my frend whom i provided movcli to. We are all experiansing the same issue, I thought that the issue is the Web site scrapers are out dated :(

Fixed


Refactor away from if clusters

There are multiple places in the codebase where there are massive clusters of if statements. Evaluate how this can be done better and implement the change.

I think so when we get the current branch merged in.


Remove "View data" button

By default, the data should be automatically plotted after it is uploaded. The 'view data' button is unnecessary.

Done in redesign


Fixes 'DataError: value too long for type character varying(255)'

Hi kylef,
We're using django-request for our website and got this error for some requested paths that contain more than 255 chars:

django.db.backends.util in execute
DataError: value too long for type character varying(255)

I made a fix, so maybe you could merge this pull request? Thanks for the merge and for providing an easy way to gather statistics on the usage of our website.
Regards,
Erwin

Thanks!
2015-01-23 13:44 GMT+01:00 Kyle Fuller<EMAIL_ADDRESS>
Merged #59 https://github.com/kylef/django-request/pull/59.
—
Reply to this email directly or view it on GitHub
https://github.com/kylef/django-request/pull/59#event-223665637.


When the plugin is introduced, the coordinates of the mouse and the color block are shifted by n pixels

After the introduction of the plug-in, the coordinate points of the mouse and the color block will be offset by n pixels, the framework vue2.0 UI framework ANTD 1.7.8, I do not know whether it is a conflict with the framework, or a style conflict

Found the reason, the body element set zoom 0.8, will affect the mouse position information


Update tutorial-eval.md

Added pydantic Field and calls to super().__init__() for classes that inherit weave objects.

I have read the CLA Document and I hereby sign the CLA


WIP: interpreter: use a lightweight stack for intra-formula traversal

Addresses #51

Hit the first milestone: lightweight stack used by interpreter for all Nock opcodes except 2, 9, and 11.
Next I'll figure out 11, then tail call optimization (2 and 9).

@drbeefsupreme I know you're temporarily pulled off of this: can you leave a note here describing what needs to be done still?

@drbeefsupreme should we close this in favor of #76?


Comply with React strict-mode and upgrade from unsafe component lifecycles

Hi,
when transpiling with <React.StrictMode> with React v16.3.1, I'm getting into this warning:
Warning: Unsafe lifecycle methods were found within a strict-mode tree:

...

componentWillUpdate: Please update the following components to use componentDidUpdate instead: Connect(Component)

Learn more about this warning here:
https://fb.me/react-strict-mode-warnings

All the best,
L

Duplicate of #897. Closing


Capacity on drop plan doesn't match capacity in time box

Hi,
We've noticed the available capacity isn't correct on the drop plan version of the person's capacity.
In Drop plan

Its showing me as 30h available by for this time box I'm only available 14h

Everybody seems to be calculated on 6hr day? We have custom setting.
Thanks
Sam

Issue fixed.
Can you please try again and see if it works as expected?

Hi,
Yes that’s now fixed ☺
Is there any way to change the dates to UK format? I’ve changed my preferences in my profile but it doesn’t seem to apply to drop plan?
Thanks
Sam
Samantha Entwistle
Testing Strategy Manager
<EMAIL_ADDRESS>Premex Group
Tel - 01204 478 419
Mobile – 07500 781178
Fax- 0333 600 1680
Email –samantha,entwistle<EMAIL_ADDRESS>Website- www.premexgroup.comhttp://www.premexgroup.com/
Calls may be recorded for training and quality purposes
From: yanivsegev<EMAIL_ADDRESS>Sent: 30 October 2017 10:42
To: yanivsegev/VSTS-DropPlan
Cc: Samantha Entwistle; Author
Subject: Re: [yanivsegev/VSTS-DropPlan] Capacity on drop plan doesn't match capacity in time box (#21)
Issue fixed.
Can you please try again and see if it works as expected?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/yanivsegev/VSTS-DropPlan/issues/21#issuecomment-340407035, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AahIkB-1lSi7ZrOg_vg4jiSNQhI0bcb7ks5sxaf6gaJpZM4QAqx7.

Hi,
I updated the dates, Can please verify it is working for you?

Hi,
No I don’t think it is.
<EMAIL_ADDRESS>This is how my preferences are set
<EMAIL_ADDRESS>Thanks
Sam
Samantha Entwistle
Testing Strategy Manager
<EMAIL_ADDRESS>Premex Group
Tel - 01204 478 419
Mobile – 07500 781178
Fax- 0333 600 1680
Email –samantha,entwistle<EMAIL_ADDRESS>Website- www.premexgroup.comhttp://www.premexgroup.com/
Calls may be recorded for training and quality purposes
From: yanivsegev<EMAIL_ADDRESS>Sent: 19 November 2017 08:15
To: yanivsegev/VSTS-DropPlan
Cc: Samantha Entwistle; Author
Subject: Re: [yanivsegev/VSTS-DropPlan] Capacity on drop plan doesn't match capacity in time box (#21)
Hi,
I updated the dates, Can please verify it is working for you?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/yanivsegev/VSTS-DropPlan/issues/21#issuecomment-345499731, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AahIkIe0YtquwKMhX0GGBWdzzt5Mw3GAks5s3-OMgaJpZM4QAqx7.

Fixed it again, please try again.

Looking good!
Thanks
Sam
Samantha Entwistle
Testing Strategy Manager
<EMAIL_ADDRESS>Premex Group
Tel - 01204 478 419
Mobile – 07500 781178
Fax- 0333 600 1680
Email –samantha,entwistle<EMAIL_ADDRESS>Website- www.premexgroup.comhttp://www.premexgroup.com/
Calls may be recorded for training and quality purposes
From: yanivsegev<EMAIL_ADDRESS>Sent: 25 November 2017 01:19
To: yanivsegev/VSTS-DropPlan
Cc: Samantha Entwistle; Author
Subject: Re: [yanivsegev/VSTS-DropPlan] Capacity on drop plan doesn't match capacity in time box (#21)
Fixed it again, please try again.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/yanivsegev/VSTS-DropPlan/issues/21#issuecomment-346911105, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AahIkJ4iOCGVsE7SR9vPR4eUiJ8Bie4yks5s52rwgaJpZM4QAqx7.


typescript build error: Invalid module name in augmentation

Problem/Feature Request Summary

Environment Information

koa-body: 4.2.0
Koa: 2.13.0
Node.js: 10.16.3
TypeScript: 3.9.7

Current Behavior
see the error
node_modules/koa-body/index.d.ts:4:16 - error TS2665: Invalid module name in augmentation. Module 'koa' resolves to an untyped module at '/Users/hcl/code/node/yapi/vender/node_modules/koa/lib/application.js', which cannot be augmented.
4 declare module "koa" {
~~~~~
Found 1 error.
Steps to Reproduce

open shell
tsc

Expected Behavior
no error
Possible Solution

Context (Environment)

Could you please provide a very minimal project (zip, github repo, or set of files) where this fails so we can reproduce the issue?

Question
Hi, when i run 'npx tsc', I also received an errors like "Invalid module name in augmentation. Module 'koa' resolves to an untyped module at 'xxxxxxxxx/node_modules/koa/lib/application.js', which cannot be augmented"
Demo

demo.js

import Koa from 'koa';
import Router from "koa-router";
import koaBody from 'koa-body';

const router = new Router()
const app = new Koa();

app.use(koaBody()).use(router.routes());

app.listen(3000)

$ npx tsc demo.js

result
../node_modules/koa-body/index.d.ts:4:16 - error TS2665: Invalid module name in augmentation. Module 'koa' resolves to an untyped module at '/Users/***/node_modules/koa/lib/application.js', which cannot be augmented.

4 declare module "koa" {
                 ~~~~~


docs(*): improve timeout page

Don't merge to master until 1.7.0 release
Signed-off-by: Ilya Lobkov<EMAIL_ADDRESS>

I have one piece of doc to push and then we'll be able to have 1.7 folder

Are we backporting this in the end?


Set the focus event of the naiveui input component to open a pop-up window, click the input clear button, and clear will fail

Vue version
3.2.47
Link to minimal reproduction
https://codepen.io/scw919/pen/GRVpNNj
Steps to reproduce
1.Set the focus event of the naiveui input component to open a pop-up window,
2.Click the input clear button, and clear will fail
What is expected?
clear can work
What is actually happening?
clear will fail
System Info
No response
Any additional comments?
No response

I don't think this is related to vue/core. Please create an issue at naiveui's repository.

Yes, you're right. The issue with naive UI, thank you！

I don't think this is related to vue/core. Please create an issue at naiveui's repository.

Yes, you're right. The problem was caused by naive UI. Thank you!

I don't think this is related to vue/core. Please create an issue at naiveui's repository.

Yes, you're right. The problem was caused by naive UI. Thank you!!!


proposal: io: expose the parent ReaderAt and Base of SectionReader

To support sendfile on SectionReader I propose exposing the r and base fields of SectionReader, that would thus become:
type SectionReader struct {
	// R is the parent ReaderAt this SectionReader reads from.
	R ReaderAt

	// Base is the offset (relative to R) at which the section starts.
	Base int64

	// unexported fields omitted
}

The other two fields (off and limit) do not need to be exposed (at least for the use-case above) because they can be obtained (albeit in a slightly round-about way) using Seek.
Exposing Base as described above will likely require some adjustments to the internal logic to ensure that Base is valid every time it is used internally by SectionReader (as it may have been modified between calls). Changing the Base would not affect the absolute position of the end of the section (i.e. changing the Base would change the length of the section, not its end position). Similarly, it would not affect the absolute position of the current read position, apart from the case in which changing the Base to be past the current read position would cause the Read to start returning errOffset until a subsequent Seek operation moves the read position to a valid one (or the Base is changed again to an offset not greater than the read position). Given the additional foot guns, we may want to add a comment discouraging users from manually changing Base and instead constructing a new SectionReader.
It is worth noting that enabling the mutability of both fields is not a goal of this proposal, merely a side effect of the design. As an alternative, Base() int64 could be a SectionReader method returning r.base - something that would avoid the foot guns mentioned above.

This proposal has been added to the active column of the proposals project
and will now be reviewed at the weekly proposal review meetings.
— rsc for the proposal review group

@rsc using exported methods is definitely a valid alternative as well (see also the other ones), although with a small note:

And then add two new methods Base() int64 and Size() int64.

The two methods that would be required are Parent() io.ReaderAt and Base() int64. Other methods can be emulated using Seek (e.g. Size() int64 can be emulated with Seek(0, SeekEnd) and Offset() int64 with Seek(0, SeekCurrent)) so we probably don't need them right away.
To summarize, the alternate minimal method-based proposal would be:
func NewSectionReader(r ReaderAt, base, size int64) *SectionReader { ... }

func (r *SectionReader) Parent() ReaderAt { return r.r }
func (r *SectionReader) Base() int64 { return r.base }

and, if we instead want to enable fetching all offsets without modifying the current offset with Seek, with the two additional methods:
func (r *SectionReader) Size() int64 { return r.limit-r.base }
func (r *SectionReader) Offset() int64 { return r.off-r.base }

Maybe
func (s *SectionReader) ReaderAt() ReaderAt { return s.r }

instead of Parent()?

While I'm open to consider other names, SectionReader itself Is a ReaderAt... so a calling the method ReaderAt doesn't really communicate what the method does (return the parent? or itself as a ReaderAt interface? or itself as a ReaderAt but not a Reader?)

It sounds like maybe just exporting the fields would be easiest. We'd want to rename the parameter to NewSectionReader from 'off, n' to 'base, size' (keeping 'n'), and then
type SectionReader struct {
	R     ReaderAt  // underlying reader
	Base  int64  // base in R where SectionReader's offset 0 is
	Size int64  // maximum SectionReader offset
	Off   int64 // current Seek offset in SectionReader (not in R), normally in [0, Size].
}

The current s.limit would be s.Base+s.Size, so some other code will need to be adjusted (there should be no unexported fields).
Do I have that right?

@rsc AFAIK that won't work as-is, because SectionReader already has a Size() method, that would clash with the proposed Size field

Ouch.  I guess we could call it N to more-or-less parallel LimitedReader.  Size is a better name but I guess it's unavailable.

Not a fan of having two ways (N and Size()) of doing the same thing, but if this is the consensus it will do.

Yeah, it's also not great to have a mix of exported and unexported fields.

Just to sumamrize where we are:
Current state
func NewSectionReader(r ReaderAt, off, n int64) *SectionReader

type SectionReader struct {}

func (s *SectionReader) Read(p []byte) (n int, err error)
func (s *SectionReader) Seek(offset int64, whence int) (int64, error)
func (s *SectionReader) ReadAt(p []byte, off int64) (n int, err error)
func (s *SectionReader) Size() int64

The two options below satisfy these criteria:

No mixing of exported/unexported fields
No go:linkname shenanigans

Option 1 - Expose the fields
func NewSectionReader(r ReaderAt, base, n int64) *SectionReader

type SectionReader struct {
	R     ReaderAt // NEW
	Base  int64    // NEW
	Off   int64    // NEW (~ Seek(0, SeekCurrent))
	N     int64    // NEW (~ Size() or Seek(0, SeekEnd))
}

func (s *SectionReader) Read(p []byte) (n int, err error)
func (s *SectionReader) Seek(offset int64, whence int) (int64, error)
func (s *SectionReader) ReadAt(p []byte, off int64) (n int, err error)
func (s *SectionReader) Size() int64

Pro: more functionalities: all fields are writable
Con: more failure modes (Read/ReadAt can now return errOffset)
Con: more ways to do the same thing
Con: naming of the n/size argument to NewSectionReader a bit awkward
Con: internal implementation likely a bit more complex

Option 2 - Expose methods
func NewSectionReader(parent ReaderAt, base, size int64) *SectionReader

type SectionReader struct {}

func (s *SectionReader) Read(p []byte) (n int, err error)
func (s *SectionReader) Seek(offset int64, whence int) (int64, error)
func (s *SectionReader) ReadAt(p []byte, off int64) (n int, err error)
func (s *SectionReader) Size() int64      // (~ Seek(0, SeekEnd))
func (s *SectionReader) Base() int64      // NEW
func (s *SectionReader) Parent() ReaderAt // NEW

Con: less functionalities: internal state can't be written to
Pro: same failure modes and implementation as the current ones

Parent seems odd since this is not a tree. Outer seems fine. And what if it returns the exact arguments that were passed to NewSectionReader, so that NewSectionReader(sr.Outer()) gets you exactly the same section reader (except for having an independent seek offset when using Read).
func NewSectionReader(parent ReaderAt, base, size int64) *SectionReader

type SectionReader struct {}

func (s *SectionReader) Read(p []byte) (n int, err error)
func (s *SectionReader) Seek(offset int64, whence int) (int64, error)
func (s *SectionReader) ReadAt(p []byte, off int64) (n int, err error)
func (s *SectionReader) Size() int64      // (~ Seek(0, SeekEnd))
func (s *SectionReader) Outer() (r ReaderAt, off, n int64)      // NEW

SGTM

Based on the discussion above, this proposal seems like a likely accept.
— rsc for the proposal review group

No change in consensus, so accepted. 🎉
This issue now tracks the work of implementing the proposal.
— rsc for the proposal review group


Embetter tests!

Let's unravel these tests and make em look beauteous.
Work in progress
At parity with old tests (and a little better in places). Much simpler.
TODO:

[x] Get Travis to run test.js with the test/ directory as cwd.

@UltCombo Want to code review this for me?

Whoa, nice work!
Not sure if I'm still familiar enough with the project, but I can add a few nitpicks. :smile:

Excellent work!
I've found a missing assertion and a few style nits only.
The tests are much more elegant and readable now, congratz @robwierzbowski. :tada:

@UltCombo Comments addressed! Found another unused var after I installed JS hint. New computer, forgetting all my tools.

Thanks so much for code reviewing!

You're welcome. :smile:


Goto buffer by the index shown on the bar

How do I do that?

With default vim/neovim key binding - {Bufnr} CTRL + 6


Extending TimberPost and TimberTerm

I have read the docs at https://github.com/jarednova/timber/wiki/Extending-Timber but it doesn't say where to add the file and then how to reference the file.
Anyone care to explain where the MySitePost file goes and how it is then called.
Thanks

You could put the call in your theme's functions.php file
class MySitePost extends TimberPost
{
public function getFoo() {
return 'bar';
}
}
// and then it's available in your page.php, single.php, etc and can be used
$mySitePost = Timber::get_post($post_id, 'MySitePost');
// use before rendering twig
echo $mySitePost->getFoo();
// or in the twig file
Timber::render('post.twig', array('post' => $mySitePost));
// post.twig
{{ post.getFoo }}

This is what I used in a plugin I created using Timber
// let's assume that the require below holds class 'timberExtendedPost'
require_once(YOUR_PLUGIN_DIR . '/classes/class.timber.php');

class myPlugin
{
	var $context = [];

	function __construct($instance, $isShortCode = false, $shortCode = '')
	{
		...
	}

	public function query($args = [])
	{
		global $timber;

		$queryArgs = array_merge([
			'post_type' => 'some-post-type',
			'showposts' => 12
		], $args);

		// watch this !!!
		// here we inject our own extended post with the extra's we
		// created on any post

		$this->context = array_merge($this->context, [
			'posts' => $timber::get_posts( $queryArgs, 'timberExtendedPost' )
		]);
	}

	public function renderContent()
    {
		global $timber;

		$template = $this->getTemplate();

		$output = $timber::compile($template, $this->context);

		return $output;

	}
...
}


Allow embedding ImageAllowRules in Acornfiles/AML

@ibuildthecloud brought up that, since we want to support managing all application-specific code from Acornfiles, we should add support for embedded imageAllowRules in AML.
It should be possible to have an Acornfile with only imageAllowRules.

@iwilltry42 is this progressing? How far out do you think it is? Did some other issue displace this one as your top priority?

oh yeah, its https://github.com/acorn-io/acorn/issues/1549

@cjellick & @ibuildthecloud I think I'll need your input on this one and the PR linked to #1549


unable to install dependencies

Tried running this extension on localhost having issues installing dependencies have tried using the node version mentioned in the .nvmrc

Hi @nitishpatel I am reaching out to the devs who last worked on that repository asking for clarity on dependency versions, I will respond with more information.

Thanks @WalterBlueu awaiting response, as we have already tried running through the steps and versions mentioned in the  README but none Seems to work.

@nitishpatel I got this from the devs:

remove material ui core package
then add all the dependencies using 'npm install'
if success , then add material ui core package

Please provide feedback on if these steps help

npm install does work but it still has issues with the node_modules and  running the npm run dist has problems

thank you @nitishpatel, I am forwarding this information on and will reply with more information when I receive it.

Nope still the same issue

Hi @nitishpatel , When I was working on XDCPay I had forked branch and took pull from xx-1358 .That forked branch is working fine in my system. I have also raised a pull request for it. Can I merge that code in a new branch in xdc foundation repo? Or you can take reference from the pull request changes. Let me know if it works for you.
Thanks

Hi @lhtkajalbobal , I tried checking out the pr itself and was able to install the modules and also compile it, However, there is a small issue I faced while compiling its a case issue.
The file tries to
import Contacts from ./Contacts
However the file name is in lowercase hence I have changed that and the compilation works fine.
Can you try npm run dist on your end once and if the same issue persists include that in the PR?

Hi ,I have tried npm run dist at my end, it is working fine. You can try the installation steps again after resolving the import error and deleting the node modules folder.Let me know if it works.

Yeah @lhtkajalbobal Has mentioned in my previous comment, I was able to fix compile the code after fixing the import error

Hi , @nitishpatel  I had run npm run dist at my end and no issue occured including the PR code.Thanks.


Add --deprecation-days-XXX flag for breaking-action

Hey everyone!
Right now it is not possible to change the default parameters for the sunsetting periods for deprecation of beta and stable endpoints. This PR adds those parameters and takes over explicitly the default parameters used in oasdiff.
Would be great to have this capability and I am happy to change the PR if anything is missing!

Please, add a test. I suggest adding a new yaml with deprecated endpoint.

Added a test. Bit tricky with the moving date situation. I guess I would either need to dynamically create the revision file or change the date of the container that oasdiff is performing on. I chose the first option but happy to reiterate if you have a better idea.

Added a test. Bit tricky with the moving date situation. I guess I would either need to dynamically create the revision file or change the date of the container that oasdiff is performing on. I chose the first option but happy to reiterate if you have a better idea.

What do you think about adding a static OpenAPI file base-deprecation.yaml? This file would contain a placeholder instead of a sunset date. During the build, this placeholder would be replaced with the actual sunset date using a tool like sed or echo?
For example:
/pets:
 get:
  deprecated: true
  x-sunset: {{SUNSET_DATE}}

Added a test. Bit tricky with the moving date situation. I guess I would either need to dynamically create the revision file or change the date of the container that oasdiff is performing on. I chose the first option but happy to reiterate if you have a better idea.

What do you think about adding a static OpenAPI file base-deprecation.yaml? This file would contain a placeholder instead of a sunset date. During the build, this placeholder would be replaced with the actual sunset date using a tool like sed or echo?
For example:
/pets:
 get:
  deprecated: true
  x-sunset: {{SUNSET_DATE}}

Definitely makes the tests more readable. Did that 👍

Looks like the test failed. Can you please take a look? https://github.com/oasdiff/oasdiff-action/actions/runs/6927590283/job/18902620085

Looks like a line of gibberish slipped into the yaml specification. Sorry, for letting this linger so long here. Should be good now.


Bower component doesn't include Boolean capability

I think there must be some difference between V0.2.0 that you get form bower install --save json-edit and what is in the demo mode because I can see the directives.js doesn't include a Boolean type.
Probably just needs a quick republish. I can see that the .zip folder on github for version 0.2.0 also does not include the Boolean capability.
Cheers

Thanks, I haven't tagged a new version for bower in a while, just pushed v0.2.1 now.


Update repository after transfer

See https://github.com/senzing-garage/garage-roadmap/issues/3

Pull requests:

https://github.com/senzing-garage/docker-yum/pull/113


[Do-not-merge] Revert "redis state store: implement state query API and add e2e tests"

Signed-off-by: Shubham Sharma<EMAIL_ADDRESS>TODO
Description

Issue reference

Please reference the issue this PR will close: #[issue number]
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[ ] Code compiles correctly
[ ] Created/updated tests
[ ] Unit tests passing
[ ] End-to-end tests passing
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Specification has been updated / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Provided sample for the feature / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

/ok-to-perf

/ok-to-perf

/ok-to-perf

/ok-to-perf

/ok-to-perf

/ok-to-perf

/ok-to-perf

/ok-to-perf

/ok-to-perf

/ok-to-perf

/ok-to-perf

Please ignore all perf test results before this comment.
They were run against master since this PR was targeting master branch. only the perf tests after this comment should be considered as they were run after the target branch was changed to release-1.7.

/ok-to-perf

/ok-to-perf

/ok-to-perf

/ok-to-perf

/ok-to-perf

dapr-perf #8322 --> dapr-perf #8326

close in lieu of #4490


[dataprotection] dataprotection migrated to AAZ.

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[x] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

dataprotection

Necessary swagger fixes have been implemented and raised for PR.
https://github.com/Azure/azure-rest-api-specs/pull/24715


How to add a digital signature field

Is there a pdf.addDigitalSignatureField option? If not, is there any way to improvise this?
My app is programmatically generating a work contract for construction business owners to automatically email to their potential customer and have a field for customer to digitally sign, save, and return back via email.
Thanks!!!

I used a UIView to capture the onscreen signature and converted that to an image.  Then I used the SimplePDF pdf.addImage() to add to the generated PDF file.  The only challenge I am having is figuring out how to apply the image inline with the Signature field title.  For example:
Signature:                                Date: 01/01/20


[T4A7][T09-B3]Clarence Chee

Ready for review.

Accepting this PR without a review because another of your PRs for this tutorial was reviewed in detail.


'NSTaggedPointerString' object has no attribute 'get'

OS X 10.13.1

AutoPkg 1.0.3

JSSImporter v1.0.0-beta2

JSSImporterZoom.log

After doing a little debugging the error is caused by this line: https://github.com/sheagcraig/JSSImporter/blob/v1.0.0-beta2/JSSImporter.py#L375

Hi @Yohan460 Thanks for sending me this.
Without the full traceback, I'm a little more lost here, so if you could recreate it through the debugging you did earlier, that would probably help.
The error to me appears that what is happening is freaking out because something is calling the python dictionary get() method, but instead of a variable being a python dictionary, it's actually an NSTaggedPointerString, which has no idea what the get() method is.
I agree with your pointing to the processing of environment variables, because these are probably picked up by AutoPkg using PyObjC and using NSUserDefaults, which is why the values would be NSTaggedPointerString instead of a native python string or dict.
So I think we're on the right track-let's look at full call stack in the traceback and see if that gives any hints as to which one of these args might be the bad one. From your log, they all look perfectly fine...
Well, wait. Your JSS_REPOS value is a dict, with key 0 having a value of another dict for the repo.
This may be just the way AutoPkg is formatting it for output, but JSS_REPOS value should be a list of dicts, not a dict of dicts.
i.e. in the prefs file:
<key>JSS_REPOS</key>
<array>
    <dict>
        <key>URL</key>
        <string>secret</string>
        <key>name</key>
        <string>DDS DP</string>
        <key>type</key>
        <string>SMB</string>
    </dict>
</array>

Was an issue with the syntax of the JSS_REPOS, was set correctly in Xcode, but upon looking a the plist directly I saw that there was a key associated with the nested dict for some reason,.


Fixes issue #212 "AttackSurfaceAnalyzer-GUI.exe crashes on startup"

Fixes issue #212 "AttackSurfaceAnalyzer-GUI.exe crashes on startup."

Thank you for your contribution.  I was unable to validate that PRAGMA [auto-vacuum] was the right syntax. A fix for the crash caused by this line is now available in 2.1.20 and later.


using Line Break code in js tag causes the js tag stop working

use  tag in a OSC Send Chatbox Message and use the line break code \n in the message, the js tag will not work properly.
https://github.com/user-attachments/assets/0217b3c9-183a-4cfb-bfea-5462f4db0e3d

I made a test build with this change here: https://github.com/ChrisFeline/ToNSaveManager/actions/runs/12331843142
Would you try it and if so, let me know if it does the intended effect.

it's fixed, thanks!!
https://github.com/user-attachments/assets/74978ddd-ab44-4c7c-bff5-8310ed35ae54


refactor: remove cursor-hit in hiddenInputClasses

Closes #4473
📝 Description

cursor hit will cause the overflow scrollbar to overflow abnormally under overflow-auto.
⛳ Current behavior (updates)

🚀 New behavior
cancel hit area
💣 Is this a breaking change (Yes/No):
No
📝 Additional Information

Summary by CodeRabbit

Style

Simplified hidden input classes configuration.
Updated width handling for hidden input elements to 100%.
Removed custom cursor hit area positioning logic.

please add changeset.

Please help me to see if it's correct


Add local Helm Chart to this repo

Describe what the PR does:
Adds two new endpoints for kubernetes

/health/liveness
/health/readiness

Adds Helm chart for easy deployment onto kubernetes / k3s

We'll probably want to update the CI code to do a helm lint to verify this as well as a step for the future.

To pass linting (I've never used github actions so I'm not sure where to start, I'll start reading up on how they work to see if i can figure it out.):

helm/ should be exculded from your linter
helm should be installed on the linting image and helm lint . used.

We need two tests for runtime.py (It's been a long time since I've written a pytest (and never one for asynio), i'd appreciate it if you could do this bit for me)

liveness (will always just return 200)
readiness should return 200 or 503 depending on value of self._mqtt_connected

argh.. Looks like there is a catch 22 in the readiness probe.
I suspect currently we need to receive a POST before the MQTT var will get set True.. Ironically this means the pod is not ready.. if it is not ready kubernetes will not assign an endpoint to the server/ingress meaning we can never receive that POST..
I need to figure out a better way to set the MQTT_CONNECTED true.

Ah, yes. MQTT loops get generated on demand (i.e., by incoming payloads) because we need to see the payload before we know which broker to use.
Happy to help with tests/CI once you feel good about functionality (also happy to keep conversing about functionality as needed, too).


Gamble Prevention Idea (repost)

Seen this on a RSPS & it worked for me and others
Allow for a +rehab or =rehab or some sort of +stopgambling command that once entered you’d get a confirm prompt. And upon saying confirm
Your account would be Locked From Dicing/Dueling or receiving invites for dicing/dueling for X amount of time
On the RSPS it lasts until you do the command again.

I already have 3 vouches for this suggestion.

This can be a BSO only update 🤷🏽♂ Idc

duplicate of #547


Terraforged and rankine crash

while creating new world
`---- Minecraft Crash Report ----
// Don't be sad, have a hug! <3
Time: 3/10/22, 7:43 PM
Description: generating features & structures (TerraForged World-Gen)
com.terraforged.mod.profiler.watchdog.UncheckedException: Critical error detected whilst generating Feature [rankine:ore_intrusion]
Caused by: java.lang.IllegalStateException: Tag rankine:intrusion_passable used before it was bound
at net.minecraft.tags.TagRegistry$NamedTag.func_232944_c_(TagRegistry.java:131) ~[?:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.tags.TagRegistry$NamedTag.func_230235_a_(TagRegistry.java:142) ~[?:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.block.Block.func_203417_a(Block.java:115) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:snowrealmagic.mixins.json:MixinBlock,pl:mixin:APP:dankstorage.mixins.json:MixinBlock,pl:mixin:APP:survive.mixins.json:BlockMixin,pl:mixin:APP:autumnity.mixins.json:BlockMixin,pl:mixin:APP:roadrunner.mixins.json:ai.pathing.MixinBlock,pl:mixin:APP:roadrunner.mixins.json:shapes.blockstate_cache.BlockMixin,pl:mixin:APP:kubejs-common.mixins.json:BlockMixin,pl:mixin:A}
at net.minecraft.block.AbstractBlock$AbstractBlockState.func_235714_a_(AbstractBlock.java:686) ~[?:?] {re:mixin,pl:accesstransformer:B,xf:fml:forgeendertech:coremod,re:classloading,pl:accesstransformer:B,xf:fml:forgeendertech:coremod,pl:mixin:APP:ferritecore.blockstatecache.mixin.json:AbstractBlockStateMixin,pl:mixin:APP:betterweather.mixins.json:block.MixinAbstractBlockState,pl:mixin:APP:starlight.mixins.json:common.blockstate.AbstractBlockStateMixin,pl:mixin:APP:immersiveengineering.mixins.json:coremods.AbstractBlockStateMixin,pl:mixin:APP:kubejs-common.mixins.json:BlockStateBaseMixin,pl:mixin:APP:roadrunner.mixins.json:ai.pathing.MixinAbstractBlockState,pl:mixin:APP:roadrunner.mixins.json:block.flatten_states.AbstractBlockStateMixin,pl:mixin:A}
at com.cannolicatfish.rankine.world.gen.feature.IntrusionFeature.generate(IntrusionFeature.java:106) ~[rankine:1.16.5-1.3.1] {re:classloading}
at com.cannolicatfish.rankine.world.gen.feature.IntrusionFeature.func_241855_a(IntrusionFeature.java:23) ~[rankine:1.16.5-1.3.1] {re:classloading}
at net.minecraft.world.gen.feature.ConfiguredFeature.func_242765_a(SourceFile:55) ~[?:?] {re:classloading,re:mixin}
at net.minecraft.world.gen.feature.DecoratedFeature.func_242772_a(SourceFile:23) ~[?:?] {re:classloading}
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:411) ~[?:?] {}
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658) ~[?:?] {}
at net.minecraft.world.gen.feature.DecoratedFeature.func_241855_a(SourceFile:22) ~[?:?] {re:classloading}
at net.minecraft.world.gen.feature.DecoratedFeature.func_241855_a(SourceFile:14) ~[?:?] {re:classloading}
at net.minecraft.world.gen.feature.ConfiguredFeature.func_242765_a(SourceFile:55) ~[?:?] {re:classloading,re:mixin}
at com.terraforged.mod.chunk.generator.FeatureGenerator.decorate(FeatureGenerator.java:166) ~[terraforged:1.16.5-0.2.15] {re:classloading}
at com.terraforged.mod.chunk.generator.FeatureGenerator.decorate(FeatureGenerator.java:106) ~[terraforged:1.16.5-0.2.15] {re:classloading}
at com.terraforged.mod.chunk.generator.FeatureGenerator.generateFeatures(FeatureGenerator.java:88) ~[terraforged:1.16.5-0.2.15] {re:classloading}
at com.terraforged.mod.chunk.TFChunkGenerator.func_230351_a_(TFChunkGenerator.java:250) ~[terraforged:1.16.5-0.2.15] {re:classloading}
at net.minecraft.world.chunk.ChunkStatus.func_222605_b(ChunkStatus.java:77) ~[?:?] {re:mixin,pl:accesstransformer:B,xf:fml:worldgenerationprofiler:ChunkStatus#doGenerationWork,re:classloading,pl:accesstransformer:B,xf:fml:worldgenerationprofiler:ChunkStatus#doGenerationWork,pl:mixin:APP:bettercaves.mixins.json:ChunkStatusMixin,pl:mixin:A}
at net.minecraft.world.chunk.ChunkStatus.func_223198_a(ChunkStatus.java:198) ~[?:?] {re:mixin,pl:accesstransformer:B,xf:fml:worldgenerationprofiler:ChunkStatus#doGenerationWork,re:classloading,pl:accesstransformer:B,xf:fml:worldgenerationprofiler:ChunkStatus#doGenerationWork,pl:mixin:APP:bettercaves.mixins.json:ChunkStatusMixin,pl:mixin:A}
at net.minecraft.world.server.ChunkManager.lambda$null$18(ChunkManager.java:524) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:kryptonreforged.mixins.json:network.shared.flushconsolidation.ThreadedAnvilChunkStorageMixin,pl:mixin:APP:betterweather.mixins.json:access.ChunkManagerAccess,pl:mixin:APP:chunksavingfix.mixins.json:MixinChunkManager,pl:mixin:APP:ftbchunks-common.mixins.json:ChunkMapMixin,pl:mixin:APP:roadrunner.mixins.json:world.chunk_ticking.ThreadedAnvilChunkStorageMixin,pl:mixin:APP:roadrunner.mixins.json:world.player_chunk_tick.ThreadedAnvilChunkStorageMixin,pl:mixin:A}
at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-4.0.26.jar:?] {re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading,re:classloading}
at net.minecraft.world.server.ChunkManager.lambda$scheduleChunkGeneration$20(ChunkManager.java:522) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:kryptonreforged.mixins.json:network.shared.flushconsolidation.ThreadedAnvilChunkStorageMixin,pl:mixin:APP:betterweather.mixins.json:access.ChunkManagerAccess,pl:mixin:APP:chunksavingfix.mixins.json:MixinChunkManager,pl:mixin:APP:ftbchunks-common.mixins.json:ChunkMapMixin,pl:mixin:APP:roadrunner.mixins.json:world.chunk_ticking.ThreadedAnvilChunkStorageMixin,pl:mixin:APP:roadrunner.mixins.json:world.player_chunk_tick.ThreadedAnvilChunkStorageMixin,pl:mixin:A}
at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1146) ~[?:?] {}
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478) ~[?:?] {}
at net.minecraft.world.chunk.ChunkTaskPriorityQueueSorter.func_219083_b(SourceFile:58) ~[?:?] {re:mixin,re:classloading,pl:mixin:APP:roadrunner.mixins.json:world.chunk_task_system.ChunkTaskPrioritySystemMixin,pl:mixin:A}
at net.minecraft.util.concurrent.DelegatedTaskExecutor.func_213148_e(SourceFile:94) [?:?] {re:mixin,re:classloading}
at net.minecraft.util.concurrent.DelegatedTaskExecutor.func_213145_a(SourceFile:137) [?:?] {re:mixin,re:classloading}
at net.minecraft.util.concurrent.DelegatedTaskExecutor.run(SourceFile:105) [?:?] {re:mixin,re:classloading}
at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1429) [?:?] {}
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) [?:?] {}
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1016) [?:?] {}
at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1665) [?:?] {re:computing_frames}
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1598) [?:?] {re:computing_frames}
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183) [?:?] {}
A detailed walkthrough of the error, its code path and all known details is as follows:
-- Current Chunk --
Details:
Pos: [27, 282]
Status: liquid_carvers
Structure Starts: [appliedenergistics2:meteorite, minecraft:mineshaft, minecraft:pillager_outpost, minecraft:ruined_portal, minecraft:stronghold, minecraft:village, mysticalworld:barrow, mysticalworld:hut, mysticalworld:ruined_hut, quark:big_dungeon]
Structure Refs: [atmospheric:arid_shrine, autumnity:maple_witch_hut, betterendforge:eternal_portal_structure, betterendforge:giant_ice_star_structure, betterendforge:giant_mossy_glowshroom_structure, betterendforge:megalake_small_structure, betterendforge:megalake_structure, betterendforge:mountain_structure, betterendforge:painted_mountain_structure, betternether:city, endrem:ancient_witch_hut, endrem:end_castle, endrem:end_gate, infernalexp:bastion_outpost, infernalexp:glowstone_canyon_ruin, infernalexp:soul_sand_valley_ruin, infernalexp:strider_altar, minecraft:bastion_remnant, minecraft:buried_treasure, minecraft:desert_pyramid, minecraft:endcity, minecraft:fortress, minecraft:igloo, minecraft:jungle_pyramid, minecraft:mansion, minecraft:mineshaft, minecraft:monument, minecraft:nether_fossil, minecraft:ocean_ruin, minecraft:pillager_outpost, minecraft:ruined_portal, minecraft:shipwreck, minecraft:stronghold, minecraft:swamp_hut, minecraft:village, mysticalworld:barrow, mysticalworld:hut, mysticalworld:ruined_hut, outer_end:catacombs, outer_end:end_tower, quark:big_dungeon, vanillaboom:nether_well]
-- TerraForged ChunkGenerator --
Details:
Seed: 831340867
Settings: {"miscellaneous":{"smoothLayerDecorator":true,"strataRegionSize":600,"strataDecorator":true,"oreCompatibleStoneOnly":true,"erosionDecorator":true,"plainStoneErosion":false,"naturalSnowDecorator":true,"customBiomeFeatures":true,"vanillaLakes":false,"vanillaSprings":true,"vanillaLavaLakes":true,"vanillaLavaSprings":true,"mountainBiomeUsage":0.4,"volcanoBiomeUsage":0.4},"dimensions":{"bedrockLayer":{"material":"minecraft:bedrock","minDepth":1,"variance":0},"dimensions":{"nether":"infernalexp:compat_world_type","end":"betterendforge:world_type","includeExtraDimensions":true}},"structures":{"stronghold":{"distance":32,"spread":3,"count":128,"salt":0,"constrainToBiomes":false,"disabled":false},"structures":{"appliedenergistics2:meteorite":{"spacing":32,"separation":8,"salt":124895656,"disabled":false},"atmospheric:arid_shrine":{"spacing":32,"separation":8,"salt":304972544,"disabled":false},"autumnity:maple_witch_hut":{"spacing":32,"separation":8,"salt":56181420,"disabled":false},"betternether:city":{"spacing":64,"separation":32,"salt":1234567936,"disabled":false},"infernalexp:bastion_outpost":{"spacing":3,"separation":1,"salt":720435968,"disabled":false},"infernalexp:glowstone_canyon_ruin":{"spacing":1,"separation":0,"salt":20394856,"disabled":false},"infernalexp:soul_sand_valley_ruin":{"spacing":4,"separation":2,"salt":29456392,"disabled":false},"infernalexp:strider_altar":{"spacing":10,"separation":5,"salt":80837592,"disabled":false},"minecraft:bastion_remnant":{"spacing":27,"separation":4,"salt":30084232,"disabled":false},"minecraft:buried_treasure":{"spacing":1,"separation":0,"salt":0,"disabled":false},"minecraft:desert_pyramid":{"spacing":32,"separation":8,"salt":14357617,"disabled":false},"minecraft:endcity":{"spacing":20,"separation":11,"salt":10387313,"disabled":false},"minecraft:fortress":{"spacing":27,"separation":4,"salt":30084232,"disabled":false},"minecraft:igloo":{"spacing":32,"separation":8,"salt":14357618,"disabled":false},"minecraft:jungle_pyramid":{"spacing":32,"separation":8,"salt":14357619,"disabled":false},"minecraft:mansion":{"spacing":80,"separation":20,"salt":10387319,"disabled":false},"minecraft:mineshaft":{"spacing":1,"separation":0,"salt":0,"disabled":false},"minecraft:monument":{"spacing":32,"separation":5,"salt":10387313,"disabled":false},"minecraft:nether_fossil":{"spacing":2,"separation":1,"salt":14357921,"disabled":false},"minecraft:ocean_ruin":{"spacing":20,"separation":8,"salt":14357621,"disabled":false},"minecraft:pillager_outpost":{"spacing":32,"separation":8,"salt":165745296,"disabled":false},"minecraft:ruined_portal":{"spacing":40,"separation":15,"salt":34222644,"disabled":false},"minecraft:shipwreck":{"spacing":24,"separation":4,"salt":165745296,"disabled":false},"minecraft:stronghold":{"spacing":1,"separation":0,"salt":0,"disabled":false},"minecraft:swamp_hut":{"spacing":32,"separation":8,"salt":14357620,"disabled":false},"minecraft:village":{"spacing":32,"separation":8,"salt":10387312,"disabled":false},"mysticalworld:barrow":{"spacing":150,"separation":65,"salt":314159232,"disabled":false},"mysticalworld:hut":{"spacing":45,"separation":20,"salt":12886419,"disabled":false},"mysticalworld:ruined_hut":{"spacing":70,"separation":35,"salt":8266497,"disabled":false},"quark:big_dungeon":{"spacing":20,"separation":11,"salt":79234824,"disabled":false}}},"world":{"continent":{"continentType":"MULTI","continentShape":"EUCLIDEAN","continentScale":3000,"continentJitter":0.699},"controlPoints":{"deepOcean":0.1,"shallowOcean":0.25,"beach":0.326,"coast":0.448,"inland":0.5},"properties":{"spawnType":"CONTINENT_CENTER","worldHeight":256,"seaLevel":63}},"climate":{"temperature":{"seedOffset":0,"scale":6,"falloff":2,"min":0.0,"max":0.98,"bias":0.05},"moisture":{"seedOffset":0,"scale":6,"falloff":1,"min":0.0,"max":1.0,"bias":0.0},"biomeShape":{"biomeSize":225,"macroNoiseSize":8,"biomeWarpScale":150,"biomeWarpStrength":80},"biomeEdgeShape":{"type":"SIMPLEX","scale":24,"octaves":2,"gain":0.5,"lacunarity":2.65,"strength":14}},"terrain":{"general":{"terrainSeedOffset":0,"terrainRegionSize":1200,"globalVerticalScale":0.98,"globalHorizontalScale":1.0,"fancyMountains":true},"steppe":{"weight":1.0,"baseScale":1.0,"verticalScale":1.0,"horizontalScale":1.0},"plains":{"weight":2.0,"baseScale":1.0,"verticalScale":1.0,"horizontalScale":1.0},"hills":{"weight":2.0,"baseScale":1.0,"verticalScale":1.0,"horizontalScale":1.0},"dales":{"weight":1.5,"baseScale":1.0,"verticalScale":1.0,"horizontalScale":1.0},"plateau":{"weight":1.5,"baseScale":1.0,"verticalScale":1.0,"horizontalScale":1.0},"badlands":{"weight":1.0,"baseScale":1.0,"verticalScale":1.0,"horizontalScale":1.0},"torridonian":{"weight":2.0,"baseScale":1.0,"verticalScale":1.0,"horizontalScale":1.0},"mountains":{"weight":2.5,"baseScale":1.0,"verticalScale":1.0,"horizontalScale":1.0},"volcano":{"weight":5.0,"baseScale":1.0,"verticalScale":1.0,"horizontalScale":1.0}},"rivers":{"seedOffset":0,"riverCount":8,"mainRivers":{"bedDepth":6,"minBankHeight":2,"maxBankHeight":6,"bedWidth":8,"bankWidth":30,"fade":0.3},"branchRivers":{"bedDepth":4,"minBankHeight":1,"maxBankHeight":4,"bedWidth":5,"bankWidth":14,"fade":0.975},"lakes":{"chance":0.3,"minStartDistance":0.0,"maxStartDistance":0.017,"depth":10,"sizeMin":75,"sizeMax":249,"minBankHeight":2,"maxBankHeight":10},"wetlands":{"chance":0.6,"sizeMin":175,"sizeMax":225}},"filters":{"erosion":{"dropletsPerChunk":135,"dropletLifetime":12,"dropletVolume":0.699,"dropletVelocity":0.699,"erosionRate":0.5,"depositeRate":0.5},"smoothing":{"iterations":1,"smoothingRadius":1.799,"smoothingRate":0.898}}}
-- TerraForged BiomeProvider --
Details:
Overworld Biomes: [minecraft:badlands, minecraft:badlands_plateau, minecraft:bamboo_jungle, bayou_blues:bayou, minecraft:beach, minecraft:birch_forest, environmental:blossom_highlands, environmental:blossom_valleys, environmental:blossom_woods, terraforged:bryce, terraforged:cold_marshland, minecraft:cold_ocean, terraforged:cold_steppe, minecraft:dark_forest, minecraft:deep_cold_ocean, minecraft:deep_frozen_ocean, minecraft:deep_lukewarm_ocean, minecraft:deep_ocean, minecraft:deep_warm_ocean, minecraft:desert, minecraft:desert_lakes, atmospheric:dunes, minecraft:eroded_badlands, terraforged:fir_forest, atmospheric:flourishing_dunes, minecraft:flower_forest, terraforged:flower_plains, minecraft:forest, terraforged:frozen_lake, terraforged:frozen_marsh, minecraft:frozen_ocean, minecraft:frozen_river, minecraft:giant_spruce_taiga, minecraft:giant_tree_taiga, minecraft:gravelly_mountains, atmospheric:hot_springs, minecraft:ice_spikes, minecraft:jungle, minecraft:jungle_edge, terraforged:lake, abundance:lavender_fields, abundance:lavender_forest, minecraft:lukewarm_ocean, terraincognita:lush_plains, autumnity:maple_forest, environmental:marsh, terraforged:marshland, integrateddynamics:meneglin, minecraft:modified_badlands_plateau, minecraft:modified_gravelly_mountains, minecraft:modified_jungle, minecraft:modified_jungle_edge, minecraft:modified_wooded_badlands_plateau, minecraft:mountains, minecraft:mushroom_field_shore, minecraft:mushroom_fields, environmental:mushroom_marsh, terraincognita:muskeg, abundance:nemophila_fields, minecraft:ocean, autumnity:orange_spotted_dark_forest, atmospheric:petrified_dunes, minecraft:plains, autumnity:pumpkin_fields, atmospheric:rainforest, atmospheric:rainforest_basin, atmospheric:rainforest_mountains, atmospheric:rainforest_plateau, autumnity:red_spotted_taiga, minecraft:river, atmospheric:rocky_dunes, minecraft:savanna, minecraft:savanna_plateau, terraforged:savanna_scrub, minecraft:shattered_savanna, minecraft:shattered_savanna_plateau, terraforged:shattered_savanna_scrub, minecraft:snowy_beach, terraforged:snowy_fir_forest, minecraft:snowy_mountains, minecraft:snowy_taiga, minecraft:snowy_taiga_mountains, minecraft:snowy_tundra, atmospheric:sparse_rainforest_basin, atmospheric:sparse_rainforest_plateau, terraforged:steppe, terraforged:stone_forest, minecraft:stone_shore, minecraft:sunflower_plains, minecraft:swamp, minecraft:taiga, minecraft:taiga_mountains, terraforged:taiga_scrub, minecraft:tall_birch_forest, terraforged:warm_beach, minecraft:warm_ocean, minecraft:wooded_badlands_plateau, minecraft:wooded_mountains, autumnity:yellow_spotted_forest]
-- TerraForged Biome Weights Config --
Details:
terraforged:example_biome: 10
-- TerraForged Profiler --
Details:
Timings:
Section             Count      Time MS    Min MS     Max MS     Average MS
structure_starts    547        7776       0          7639       14.22
structure_refs      50         22         0          4          0.44
biomes              36         810        0          668        22.50
terrain             21         652        2          124        31.05
surface             9          152        3          84         16.89
air_carvers         9          985        11         509        109.44
fluid_carvers       9          0          0          0          0.00
decoration          1          533        533        533        533.00
mob_spawns          0          0          0          0          0.00
structure_searches  0          0          0          0          0.00
Sum                                                             727.54
-- System Details --
Details:
Minecraft Version: 1.16.5
Minecraft Version ID: 1.16.5
Operating System: Windows 10 (amd64) version 10.0
Java Version: 15.0.2, AdoptOpenJDK
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), AdoptOpenJDK
Memory:<PHONE_NUMBER> bytes (1450 MB) /<PHONE_NUMBER> bytes (4096 MB) up to<PHONE_NUMBER> bytes (4096 MB)
CPUs: 4
JVM Flags: 11 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -XX:+IgnoreUnrecognizedVMOptions -Xmx4G -Xms4G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
ModLauncher: 8.0.9+86+master.3cf110c
ModLauncher launch target: fmlclient
ModLauncher naming: srg
ModLauncher services:
/mixin-0.8.4.jar mixin PLUGINSERVICE
/eventbus-4.0.0.jar eventbus PLUGINSERVICE
/forge-1.16.5-36.2.20.jar object_holder_definalize PLUGINSERVICE
/forge-1.16.5-36.2.20.jar runtime_enum_extender PLUGINSERVICE
/forge-1.16.5-36.2.20.jar capability_inject_definalize PLUGINSERVICE
/accesstransformers-3.0.1.jar accesstransformer PLUGINSERVICE
/forge-1.16.5-36.2.20.jar runtimedistcleaner PLUGINSERVICE
/mixin-0.8.4.jar mixin TRANSFORMATIONSERVICE
/forge-1.16.5-36.2.20.jar fml TRANSFORMATIONSERVICE
FML: 36.2
Forge: net.minecraftforge:36.2.20
FML Language Providers:
<EMAIL_ADDRESS>minecraft@1
<EMAIL_ADDRESS><EMAIL_ADDRESS>`
terraforged notes that this is an issue with intrusions by rankine.
i've also placed terraforged and rankine only afterwards, oddly enough it works

i should add that terraforged worked without much issue with rankine 1.2.3 hotfix 3

notice that i have "not enough crashes"
tested without terraforged, with quark realistic worldgen, it crashed once, after i generated a default world type, i was able to generate quark realistic

i found the issue, apparently i put th previous tags of rankine 1.2.3 hotfix 3 in the openloader datapack, this caused the issue with terraforged, deleting the tags from the datapack, or replacing it with the newer version resolved the issue


Added some new additions top asset mappings

Codecov Report

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

@@          Coverage Diff          @@
##           master    #13   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          12     12
  Lines         156    156
  Branches       17     17
=====================================
  Hits          156    156

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 540f16d...4cb95ff. Read the comment docs.


White top border in inactive private window (Windows)

Inactive Private Window showing top border in white color.

Finally got around to testing Windows 10 thoroughly and there are quite a few issues here and there. Putting together a fix but it will take a little while longer.

@muckSponge is the issue fixed for windows?

Can you give windows-improvements a try and let me know how it goes? I still need to make sure these changes are compatible with macOS so it's in a different branch until then.

Better now but top border color is different also private window toolbox color is now light in chrome its dark https://yadi.sk/i/YuEvJ20IBkzGbg and this class need to change.
From
:root[sizemode="normal"][tabsintitlebar]:-moz-window-inactive {
    border-top-color: rgba(0,0,0,.2);
}

To
:root[sizemode="normal"][tabsintitlebar]:-moz-window-inactive {
    border-top-color: rgba(0,0,0,.5);
}

also private window toolbox color is now light in chrome its dark
I'll need to double check but when I was testing Chrome on Windows 10 the tab area (which I think you're referring to as part of the window toolbox?) was the same colour as the Window. Was probably testing 69, haven't tried 70 on Windows. Sure would be easier for me if I didn't have to use the window colour. Will look into it further tomorrow.

This is weird because am using chrome 69 and private window color is this.

From
:root[sizemode="normal"][tabsintitlebar]:-moz-window-inactive {
    border-top-color: rgba(0,0,0,.2);
}

To
:root[sizemode="normal"][tabsintitlebar]:-moz-window-inactive {
    border-top-color: rgba(0,0,0,.5);
}

This doesn't give desirable results for some window colours. In 866140a I ended up copying Chrome's behaviour, which is to use border-top-color: hsl(0, 0%, 67%).
I also had to remove the code which set the root text colour for light coloured windows because for some reason this causes Firefox to think every toolbar is in [brighttext] mode so text will either be white or black. There's actually no way to copy Chrome here because Chrome uses a more sophisticated colour calculation to determine text colour for a variety of window colours; for example, dark grey windows have a light grey text colour and very brightly coloured windows have a white text colour. There's simply no way to do this in Firefox.
I also removed some of the tab close button code because again, it was very dependent on the window colour so I didn't have enough control over it to do anything meaningful. It looks pleasant in most situations anyway so I'm happy to leave it like this.
I kept private browsing mode's window colour as-is for now. Would love to hear other people's feedback on whether their Chrome has a dark window colour or default window colour. So far in 69 and 70 I have been unable to reproduce the dark behaviour for whatever reason. This is on Windows 10, which I assume you are also using, @umarmughal.
Anyways, let me know how the new commit goes for you and I'll close this issue if no one has any objections to the coloured private browsing window and the light grey top inactive window top border.

Did you update the repository? to me it looks like the first one .. i don't see any change.

Yeah it looks better now another issue is Pocket icon breaks when click on it (screenshot attached)

Fixed the pocket icon. MaterialFox should be behaving pretty well in Windows 10 now on the windows-improvements branch. It's also pretty stable on macOS. Got a few things to improve regarding light theme support before I merge back into master but I'll open another issue for that. I'll close this issue now but if you have any objections just comment and I can reopen, or open another issue.

How you created SVGs for this, if you created in Illustrator what was export settings? can you please tell me i want to change tab style, please advise.

SVGs were created in Photoshop CC 2017/2018 out of shape layers, making sure to merge shape components before export. Export was done by grouping all the shape layers I wanted to export, selecting the group, right clicking and selecting Export As...
From here, a dialog box pops up where you need to select SVG as the format and make sure the canvas size dimensions match the target dimensions. For icons this is usually 16x16 and for the tabs it is 32x16. Before expotring you should make sure the document size matches your target size. The resulting exported SVG will have a lot of extra metadata which is not required and should be cleaned out. I do this with a text editor. Also note that usually you will want a shape's fill to be context-fill, fill-opacity should be context-fill-opacity and the equivalents for stroke and stroke-opacity if required. This tells Firefox to pass colours in to the SVG from parent elements via the fill, fill-opacity, stroke, stroke-opacity  CSS properties. This is useful because these SVGs are not embedded SVGs - their DOM does not sit in the HTML/XUL used by the Firefox UI so they can't be styled externally via CSS like most web page SVGs can. They can still contain internal <style> tags though.
One last thing; look out for Photoshop appending a transform attribute to the SVG paths. If you see it, remove it because it will make the SVG look blurry. Still not sure why Photoshop does this but it may occur if you resize the Photoshop document at some point. Generally this would be because you have created an SVG for retina displays and as a last step you have scaled it by 0.5 (because the browser will scale it by 2x on retina displays).
If in doubt, open up some of the existing SVGs in a text editor to see how they are formed. All you are really doing by exporting from Photoshop is generating the non-human-readable path data.
You might be tempted to right click on a shape layer in Photoshop and Copy CSS. This generally doesn't work because i assumes the viewbox is the dimensions of the shape, not the document, so the copied path is incorrectly offset.

You can also create your SVG in Illustrator then copy-paste the paths into Photoshop as shape layers. I did try exporting directly from Illustrator but I found that the viewbox was incorrect. I'm an Illustrator novice though, so I naturally prefer Photoshop for iconography and simple geometric shapes.


Wrong documentation for "dir" parameter

From @salgmachine on May 8, 2016 0:2
Hi,
I just had the following issue:
The documentation states:

"dir" - the absolute path to the directory to monitor for files

I tool a look at the class "FileSourceProperties", the variable which gets passed the directory parameter is called "directory".
To reproduce:
The following stream definition didn't work (nothing was logged):
file --mode=ref --dir=/home/kafka/test | log
The following stream definition worked (log now showing expected output):
file --mode=ref --directory=/home/kafka/test | log
I guess it's just an error in the documentation but this has some impact on people taking their first steps with the stream modules.
Copied from original issue: spring-cloud/spring-cloud-stream-modules#258

Hi, @salgmachine:
Thanks for reporting! This repo is not actively being developed and all the stream applications are now refactored as app-starters and are in a different repo. See README for more details.
This is indeed a bug in docs and the actual property is --directory, yes. That said, feel free to submit a PR or drop a note in the new repo and we will get this addressed right away.

This issue was moved to spring-cloud-stream-app-starters/file#1


doc fixes from #20

examples from #20 taken apart and cleaned a little
(will still need some writing)

note for self: you form must be eradicated from the docs


Add date/time to end of export filename to avoid accidentally clobbering old csvs

Codecov Report

Merging #220 (155c15a) into master (dd50858) will decrease coverage by 0.47%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master     #220      +/-   ##
============================================
- Coverage     65.09%   64.61%   -0.48%
- Complexity      596      606      +10
============================================
  Files           111      111
  Lines          2484     2521      +37
  Branches        262      273      +11
============================================
+ Hits           1617     1629      +12
- Misses          755      779      +24
- Partials        112      113       +1

Impacted Files
Coverage Δ

...rc/main/java/peoplesoft/logic/export/Exporter.java
0.00% <0.00%> (ø)

src/main/java/peoplesoft/ui/regions/JobCard.java
0.00% <0.00%> (ø)

...rc/main/java/peoplesoft/ui/regions/PersonCard.java
0.00% <0.00%> (ø)

...c/main/java/peoplesoft/ui/scenes/OverviewPage.java
0.00% <0.00%> (ø)

.../main/java/peoplesoft/ui/regions/JobListPanel.java
0.00% <0.00%> (ø)

...main/java/peoplesoft/commons/core/GuiSettings.java
69.23% <0.00%> (ø)

...in/java/peoplesoft/ui/regions/PersonListPanel.java
0.00% <0.00%> (ø)

src/main/java/peoplesoft/model/person/Person.java
85.00% <0.00%> (+0.26%)
:arrow_up:

src/main/java/peoplesoft/model/AddressBook.java
83.96% <0.00%> (+0.30%)
:arrow_up:

...java/peoplesoft/model/person/UniquePersonList.java
86.95% <0.00%> (+0.38%)
:arrow_up:

Continue to review full report at Codecov.

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


"Inlining" data when writing references to disk

Sometimes we might prefer to write actual data values out into the on-disk kerchunk references file (/ zarr store), because it's more efficient than storing byte ranges to point to very small amounts of data. e.g.

you wouldn't want to read ~90k time steps from 90k files to construct a 90K long time coordinate

(Originally posted by @dcherian in https://github.com/TomNicholas/VirtualiZarr/issues/18#issuecomment-2025438773)
Kerchunk calls this "inlining".
To implement this we need to actually read those data values into memory in the first place. Once #18 is solved we would already be doing that for 1D coordinate indexes (which are the data we most likely want to inline anyway), so the choice of whether or not to "inline" those values could be deferred until the .to_kerchunk write step. (But you wouldn't be able to inline if you never created the indexes.)

To support this in zarr would it be enough to write a mixed store, i.e. one where some arrays are backed by manifest.json files and some by normal zarr chunks? Where the latter is effectively the "inlined" data? cc @jhamman

Case (2) would require adding inlining into the manifest spec right? (xref https://github.com/zarr-developers/zarr-specs) Whereas case (1) is just a mixture of "normal" zarr arrays and arrays where every chunk is represented in the manifest but nothing is inlined into the manifest itself.

What's the kerchunk equivalent of case (2)? Is it written into the kerchunk references the same as case (1) is?

In the kerchunk story, (1) and (2) are equivalent.
The special thing about (1) is that you don't have to inline the data in the case of a zarr manifest. You could, for specific variables, choose to rewrite the array, perhaps with new chunking/encoding/etc. Why would you want to do this?
Imagine a situation where you concatenate a dataset with a 10k of time variables of size (1, ). This is very easy to inline with an effective chunksize of (1, ) but you may want to just rewrite the concatenated time variable as a real zarr array with shape (10000, ) and a chunksize of (1000, ).

So in the kerchunk story, (1) is kind of a poor mans Zarr array? Because you've written in actual data to the .json file for every chunk in an array. So in a more zarr-native way of doing things, we might as well just write a real zarr array for that variable instead.
FYI #69 implements the opening of such a mixed dataset, but I don't have a way of saving it to disk yet (either through kerchunk or zarr with manifest.jsons).

As #45 has been merged the Zarr version of (1) can now be implemented. It would be analogous to #73 but instead use the zarr-python v3 library (/ ideally just some part of xarray's normal to_zarr interface) to write only the "loadable variables" into the store on disk.

This has been implemented, for both kerchunk and icechunk formats.


GUVNOR-2452: use of a different Div widget in order to avoid ambiguity

+1

master: 7e35de6b964eadc93922c929d8d424237f98dac8

@porcelli, @csadilek I image this was caused by more than one CDI Bean matching an injection point for DIV (e.g. we have custom controls extending DIV too). This type of issue is, IMO, only going to become more common as we move away from Widget to HTML based controls. We already have a number of cases where we've had to introduce qualifiers on some screens to ensure correct injection point match. Is there anything we can do, as a design pattern, to help avoid these situations? IDK perhaps encourage each module to define a qualifier and ensure all injection points in a module use the qualifier (this would mean we'd need to write producers too). Then my next comment would be is there anything we can do to avoid the boiler plate - all scenarios so far (of which I am aware) have been on the View and increasingly @Templated Views. Is it plausible to either have Errai automagically inject qualifiers on @Templated Views and generate a Producer? Or should we consider a step-aside from pure CDI annotations and have a @InjectLocal annotation that only resolves to beans in the same module? Or should we just communicate a best practice (qualifier and producer factory).. WDYT?

@manstis for sure @csadilek is the best to answer this, but my take on this is that with the correct use of Errai UI and proper Errai wrapers for elements we won't be traped by this issue.

@manstis @porcelli This will NOT be an issue going forward when we're moving to our new DOM based wrappers. Those can't be subclassed and won't cause ambiguity. The issue here is that DIV (gwtbootstrap3) is in fact a widget type and has numerous subtypes. So, this is a temporary solution as we didn't want to switch to the new DOM wrappers and retest everything last night.

@manstis on the second point, do you have an example of cases where we had to use qualifiers and would have rather not to. We can definitely step outside CDI and add custom features if they make sense i.e. @InjectLocal (although we don't actually know what module a type was discovered in, but there might be a way to make this work).

@csadilek This is first example that came to mind and the use here.. if it's not envisaged to be a problem ongoing as we move away from Widgets then let's move along.. nothing to see here!


Fix unit test ComputeServerRunner.* tsan fail

What problem does this PR solve?
Issue Number: close #7388 close #6766
Problem Summary:
What is changed and how it works?
Check List
Tests
./dbms/gtests_dbms --gtest_filter=ComputeServerRunner.* tsan passed

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/run-all-tests

/run-sanitizer-test tsan

/run-sanitizer-test tsan

https://ci.pingcap.net/blue/organizations/jenkins/tiflash-sanitizer-daily/detail/tiflash-sanitizer-daily/1057/pipeline

/cc @JaySon-Huang @ywqzzy @bestwoody

merge

/merge