Connection problems with P2 after package update

I updated the package to the newest version (v1.0.25) and while running Python 3.11 on Windows 10, the example code from the PiPY page gives the following output:
Found Partector2 devices:
Serial number: 8765, Port: COM84
 2024-03-05 14:27:21,042 - naneos.partector.blueprints._partector_blueprint - WARNING - Could not connect to SNCOM84 on None (_partector_blueprint.py:421)
 2024-03-05 14:27:21,044 - naneos.partector.partector2 - INFO - SNCOM84 has FW0. -> Using legacy data structure. (partector2.py:25)
Empty DataFrame
Columns: [runtime_min, idiff_global, ucor_global, hiresADC1, hiresADC2, EM_amplitude1, EM_amplitude2, T, RHcorr, device_status, deposition_voltage, batt_voltage, flow_from_dp, LDSA, diameter, number, dP, P_average]
Index: []

Using an older version of the package works as expected. v0.7.3 is the first to break and yields the following output:
2024-03-05 14:39:57,021 - naneos.partector.blueprints._partector_blueprint - INFO - Connected to SNNone on COM84 (_partector_blueprint.py:311)
Found Partector2 devices:
Serial number: 8765, Port: COM84
2024-03-05 14:39:57,299 - naneos.partector.blueprints._partector_blueprint - INFO - Connected to SNNone on COM84 (_partector_blueprint.py:311)
2024-03-05 14:39:57,553 - naneos.partector.blueprints._partector_blueprint - WARNING - Could not get device info! (_partector_blueprint.py:345)
Empty DataFrame
Columns: [runtime_min, idiff_global, ucor_global, hiresADC1, hiresADC2, EM_amplitude1, EM_amplitude2, T, RHcorr, device_status, deposition_voltage, batt_voltage, flow_from_dp, LDSA, diameter, number,
dP, P_average]
Index: []
Exception in thread naneos-partector-thread:
Traceback (most recent call last):
  File "C:\Program Files\Python311\Lib\threading.py", line 1045, in _bootstrap_inner
    self.run()
  File "c:\Code\Python\.venvold\Lib\site-packages\naneos\partector\blueprints\_partector_blueprint.py", line 41, in run
    if self._ser.isOpen():
       ^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'isOpen'

Same issue here, python 3.11.8, win 10

Holy moly thx boys, I will go over this Problem with my Windows Computer.
Last updates where pushed in a rush, because of Feature requests...

@pkuery and @jbussmann Could you please install: pip install -i https://test.pypi.org/simple/ naneos-devices and check if the problem still exists?

 Auch auf test.pypi
Patricks computer hat irgendwie gar nicht funktioniert aber da bin ich mir noch nicht ganz sicher ob ich schuld bin ;) Bei @ValentinBhend läufts auf jeden fall.

I installed the package using pip install -i https://test.pypi.org/simple/ naneos-devices after first uninstalling the PyPI package. This resulted in v1.0.30 being installed which doesn't work at all. No output of any kind. So downgrading to v1.0.27 using pip install -i https://test.pypi.org/simple/ naneos-devices==1.0.27 yielded something similar as before:
Found Partector2 devices:
Serial number: 8765, Port: COM84
 2024-03-12 09:42:49,060 - naneos.partector.blueprints._partector_blueprint - WARNING - SNCOM84 not found! Checker is running in the background. (_partector_blueprint.py:407)
 2024-03-12 09:42:49,561 - naneos.partector.blueprints._partector_blueprint - ERROR - SNCOM84 on port None could not be opened! Tries: 77948 (_partector_blueprint.py:434)
 2024-03-12 09:42:49,561 - naneos.partector.blueprints._partector_blueprint - WARNING - SNCOM84 on port None needed 77948 tries to connect. (_partector_blueprint.py:436)
 2024-03-12 09:42:49,562 - naneos.partector.blueprints._partector_blueprint - WARNING - Could not connect to SNCOM84 on None (_partector_blueprint.py:444)
 2024-03-12 09:42:49,563 - naneos.partector.partector2 - INFO - SNCOM84 has FW0. -> Using legacy data structure. (partector2.py:25)
Empty DataFrame
Columns: [runtime_min, idiff_global, ucor_global, hiresADC1, hiresADC2, EM_amplitude1, EM_amplitude2, T, RHcorr, device_status, deposition_voltage, batt_voltage, flow_from_dp, LDSA, diameter, number, dP,
P_average]
Index: []

I already last time noted that the messages say SNCOM84 which seems odd. I disregarded this, however this time @pkuery insisted on investigating this further. It became clear rather quick that the Partector2 class expects a constructor call of Partector2(serial_number, port, verb_freq), unlike how the example code calls the constructor. Modifying the example code to specifically pass the port yields following result:
Found Partector2 devices:
Serial number: 8765, Port: COM84
 2024-03-12 09:44:41,810 - naneos.partector.blueprints._partector_blueprint - INFO - Connected to SNNone on COM84 (_partector_blueprint.py:441)
 2024-03-12 09:44:41,861 - naneos.partector.partector2 - INFO - SN8765 has FW315. -> Using V299 data structure. (partector2.py:22)
Empty DataFrame
Columns: [runtime_min, idiff_global, ucor_global, hiresADC1, hiresADC2, EM_amplitude1, EM_amplitude2, T, RHcorr, device_status, deposition_voltage, batt_voltage, flow_from_dp, LDSA, diameter, number, dP,
P_average, em_gain1, em_gain2]
Index: []

So this seems to at least partially work but the DataFrame is still empty.


mqtt connection with clientid, username and password

Hello, this is a very cool library. But I am little bit confused about how to set clientid, username and password for mqtt connection. Could you help me please?

Hi,
Thanks for using the library and your nice words.
Normally, the username / password are required only by certain MQTT Broker. clientID is generated automatically by the library using MAC address, ESP chipID, etc.
If those are required, follow these steps

For username / password, you can use function setCredentials(username, password) as defined in

https://github.com/khoih-prog/AsyncMQTT_Generic/blob/9bc9c19c5cc55b960b002f14b7fc252a30e1d855/src/AsyncMqttClient_Generic_Impl.h#L253-L259

For clientID, use function setClientId(clientId) as defined in

https://github.com/khoih-prog/AsyncMQTT_Generic/blob/9bc9c19c5cc55b960b002f14b7fc252a30e1d855/src/AsyncMqttClient_Generic_Impl.h#L224-L229
If not using setClientId(), the clientID will be auto-created
As this is not a bug of the library, I'm closing the issue now and suggest next time, post on Discussions or Arduino Forum to get help.
Good Luck,

Thank you.


'defaultMinimumVersion' is changed in v1.1.2 but not reflected in neither prerequisites nor website

According to the comment here, when the value is changed, a notice should be made.
I tried to manage a small version upgrade today on several v1.20 Kubernetes clusters and fail, later I found the prerequisites tagging for v.1.1.x doesn't update the min version.
https://github.com/knative/operator/blob/612f411d7ff87b870f7f7507f80613e67d52b0f1/vendor/knative.dev/pkg/version/version.go#L36
https://github.com/knative/docs/commits/main/docs/snippets/prerequisites.md
I consider the requirement for min k8s version should be taken carefully, especially when the change is made.

Surely this is a bug. Minimum kubernetes version should not change in 1.1.x
https://github.com/knative/community/blob/main/mechanics/RELEASE-SCHEDULE.md


Fix OpenCollective part of readme

Fix broken link to the contributors
Fix broken anchors to opencollective page
Fix sponsors list display

:+1:


fix: make chair and sec proposal count more visible and update to use current count

Closes UserOfficeProject/issue-tracker#1150
Description
The PR introduces a fix to make the count of proposals assigned to a chair or secretary more visible and accurately reflect the current count.
Motivation and Context
The need for this change arose from the difficulty in tracking the number of proposals assigned to a chair or secretary due to visibility issues. This fix aims to improve the user experience by clearly displaying the current count of assigned proposals, thereby enhancing the tracking and management of proposals.
Changes

The backend resolver has been updated to accurately fetch and return the current count of proposals assigned to a chair or secretary.
An E2E test has been added to ensure that the correct count of assigned proposals is displayed for a chair or secretary.
The frontend component FapMembers.tsx has been updated to display the count of assigned proposals next to each chair or secretary in the Fap Members table.

How Has This Been Tested?

Fixes Jira Issue
https://jira.esss.lu.se/browse/
Depends On

Tests included/Docs Updated?

Old:

New:

[ ] I have added tests to cover my changes.
[ ] All relevant doc has been updated

With this change the old proposal counts, the ones which count all proposals ever assigned to ta user not just the current ones, are not really used anywhere. Should I go ahead and remove them?

With this change the old proposal counts, the ones which count all proposals ever assigned to ta user not just the current ones, are not really used anywhere. Should I go ahead and remove them?

Hi @TCMeldrum , do you mean fapChairsProposalCounts and fapSecretariesProposalCounts? If they aren't used anywhere, I would suggest getting rid of them.


Impossible to tell whether cell output has been collapsed

Theres no way to tell whether a cell output has been collapsed or not, or if cell execution is just not working.
I.e. if you collapse output of a cell, there's no indicator to tell whether cell output has been collapsed.
Feels wrong, I spent a few minutes trying to debug this simple thing.

Thanks for your feedback. This issue will be addressed once VS Code adds native support for editing notebooks. Please see https://github.com/microsoft/vscode/issues/91987. You can experiment by using VS Code insiders, which defaults to the new notebook experience.


Write log entry when Azure DevOps API Rate Limit is (nearly) reached

Azure Pipelines Scalar

Write log entry when Azure DevOps API Rate Limit is (nearly) reached

Checklist

[X] When introducing a new scaler, I agree with the scaling governance policy
[X] I have verified that my change is according to the deprecations & breaking changes policy
[X] Tests have been added
[X] Changelog has been updated and is aligned with our changelog requirements
[X] A PR is opened to update our Helm chart (repo) (if applicable, ie. when deployment manifests are modified)
[X] A PR is opened to update the documentation on (repo) (if applicable)
[X] Commits are signed with Developer Certificate of Origin (DCO - learn more)

Fixes #6284

Not related to other PRs

Semgrep found 1 context-todo finding:

pkg/scalers/azure_pipelines_scaler_test.go

L304 - Triage

Consider to use well-defined context
Ignore this finding from context-todo.
Semgrep found 1 no-direct-write-to-responsewriter finding:

pkg/scalers/azure_pipelines_scaler_test.go

L343 - Triage

Detected directly writing or similar in 'http.ResponseWriter.write()'. This bypasses HTML escaping that prevents cross-site scripting vulnerabilities. Instead, use the 'html/template' package and render data using 'template.Execute()'.
Ignore this finding from no-direct-write-to-responsewriter.

I haven't changed this code, how should I go about resolving these semgrep issues?

Semgrep found 1 context-todo finding:

pkg/scalers/azure_pipelines_scaler_test.go

L304 - Triage

Consider to use well-defined context
Ignore this finding from context-todo.
Semgrep found 1 no-direct-write-to-responsewriter finding:

pkg/scalers/azure_pipelines_scaler_test.go

L343 - Triage

Detected directly writing or similar in 'http.ResponseWriter.write()'. This bypasses HTML escaping that prevents cross-site scripting vulnerabilities. Instead, use the 'html/template' package and render data using 'template.Execute()'.
Ignore this finding from no-direct-write-to-responsewriter.

I haven't changed this code, how should I go about resolving these semgrep issues?

Don't worry, I've ignored those findings for the PR and the check should pass now

/run-e2e pipeline


Enum leads to ValueError when loading OpenAPI-Spec with FastAPI

Describe the bug
If a model includes an Enum, everything works as expected untill I try to open the OpenAPI-Specs generated by FastAPI.
To Reproduce
Create a project with ormar and FastAPI (I also use Alembic). Create the following modell:
class UserAuthTypes(Enum):
    LOCAL = "LOCAL"
    GOOGLE = "GOOGLE"

class User(ormar.Model):
    id: uuid.UUID = ormar.UUID(primary_key=True, default=uuid.uuid4())
    email: str = ormar.String(unique=True, max_length=100)
    username: str = ormar.String(unique=True, max_length=100)
    password: str = ormar.String(max_length=100)
    verified: bool = ormar.Boolean(default=False)
    verify_key: str = ormar.String(unique=True, max_length=100, nullable=True)
    created_at: datetime = ormar.DateTime(default=datetime.now())
    auth_type: UserAuthTypes = ormar.Enum(enum_class=UserAuthTypes, default=UserAuthTypes.LOCAL)
    google_uid: Optional[str] = ormar.String(unique=True, max_length=25, nullable=True)

    class Meta:
        tablename = "users"
        metadata = metadata
        database = database

    class Config:
        use_enum_values = True

Then, execute the following SQL to tell Postgres what this "userauthtypes" is:
CREATE TYPE userauthtypes AS ENUM ('LOCAL', 'GOOGLE');

Open the OpenAPI-Spec from FastAPI and see that it crashes. You may need to have the User-model as an input/response-class.
Expected behavior
It should work.
Screenshots

The following error occurs
Traceback (most recent call last):
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/starlette/middleware/base.py", line 43, in call_next
    message = await recv_stream.receive()
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/anyio/streams/memory.py", line 94, in receive
    return self.receive_nowait()
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/anyio/streams/memory.py", line 87, in receive_nowait
    raise EndOfStream
anyio.EndOfStream

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/uvicorn/protocols/http/httptools_impl.py", line 372, in run_asgi
    result = await app(self.scope, self.receive, self.send)
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/uvicorn/middleware/proxy_headers.py", line 75, in __call__
    return await self.app(scope, receive, send)
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/fastapi/applications.py", line 269, in __call__
    await super().__call__(scope, receive, send)
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/starlette/applications.py", line 124, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/starlette/middleware/errors.py", line 184, in __call__
    raise exc
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/starlette/middleware/errors.py", line 162, in __call__
    await self.app(scope, receive, _send)
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/starlette/middleware/sessions.py", line 80, in __call__
    await self.app(scope, receive, send_wrapper)
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/starlette/middleware/base.py", line 68, in __call__
    response = await self.dispatch_func(request, call_next)
  File "/home/mawoka/PycharmProjects/ClassQuiz/./classquiz/__init__.py", line 28, in sentry_exception
    raise e
  File "/home/mawoka/PycharmProjects/ClassQuiz/./classquiz/__init__.py", line 22, in sentry_exception
    response = await call_next(request)
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/starlette/middleware/base.py", line 46, in call_next
    raise app_exc
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/starlette/middleware/base.py", line 36, in coro
    await self.app(scope, request.receive, send_stream.send)
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/starlette/exceptions.py", line 93, in __call__
    raise exc
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/starlette/exceptions.py", line 82, in __call__
    await self.app(scope, receive, sender)
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__
    raise e
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
    await self.app(scope, receive, send)
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/starlette/routing.py", line 670, in __call__
    await route.handle(scope, receive, send)
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/starlette/routing.py", line 266, in handle
    await self.app(scope, receive, send)
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/starlette/routing.py", line 65, in app
    response = await func(request)
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/fastapi/applications.py", line 224, in openapi
    return JSONResponse(self.openapi())
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/fastapi/applications.py", line 199, in openapi
    self.openapi_schema = get_openapi(
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/fastapi/openapi/utils.py", line 443, in get_openapi
    return jsonable_encoder(OpenAPI(**output), by_alias=True, exclude_none=True)  # type: ignore
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/fastapi/encoders.py", line 66, in jsonable_encoder
    return jsonable_encoder(
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/fastapi/encoders.py", line 101, in jsonable_encoder
    encoded_value = jsonable_encoder(
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/fastapi/encoders.py", line 101, in jsonable_encoder
    encoded_value = jsonable_encoder(
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/fastapi/encoders.py", line 101, in jsonable_encoder
    encoded_value = jsonable_encoder(
  [Previous line repeated 3 more times]
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/fastapi/encoders.py", line 145, in jsonable_encoder
    return jsonable_encoder(
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/fastapi/encoders.py", line 145, in jsonable_encoder
    return jsonable_encoder(
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/fastapi/encoders.py", line 101, in jsonable_encoder
    encoded_value = jsonable_encoder(
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/fastapi/encoders.py", line 145, in jsonable_encoder
    return jsonable_encoder(
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/fastapi/encoders.py", line 145, in jsonable_encoder
    return jsonable_encoder(
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/fastapi/encoders.py", line 101, in jsonable_encoder
    encoded_value = jsonable_encoder(
  File "/home/mawoka/.local/share/virtualenvs/ClassQuiz-BX_cFwCN/lib/python3.10/site-packages/fastapi/encoders.py", line 144, in jsonable_encoder
    raise ValueError(errors)
ValueError: [TypeError("'builtin_function_or_method' object is not iterable"), TypeError('vars() argument must have __dict__ attribute')]

Versions (please complete the following information):

Database backend used: PostgreSQL
Python version: 3.10.4
ormar version: 0.11.1
pydantic version: 1.9.1
fastapi version: 0.78.0

Additional context
I'm not sure if ormar, FastAPI or Pydantic is responsible for this error.

Here's a working and small example:
import pydantic
import ormar
from fastapi import FastAPI
from enum import Enum
import sqlalchemy
import databases
class TestEnum(Enum):
    test = "test"
    lol = "lol"
class TestModel(ormar.Model):
    enum: TestEnum = ormar.Enum(enum_class=TestEnum, default=TestEnum.test)
    lol: str = ormar.Text(primary_key=True)
    class Meta:
        metadata = sqlalchemy.MetaData()
        database = databases.Database("sqlite://./lol.db")
# class TestModel(pydantic.BaseModel):
#     enum: TestEnum
#     lol: str
app = FastAPI()
@app.get("/", response_model=TestModel)
async def index():
    return TestModel(enum=TestEnum.lol, lol="s")

I've done some more digging and found out that the schema()-function works, but only the schema_json()-function broken is.
Below are 2 schemas, the first is from PyDantic and the other from ormar.
{
   "title":"LolPydantic",
   "type":"object",
   "properties":{
      "size":{
         "default":1,
         "allOf":[
            {
               "$ref":"#/definitions/MyEnum"
            }
         ]
      }
   },
   "definitions":{
      "MyEnum":{
         "title":"MyEnum",
         "description":"An enumeration.",
         "enum":[
            1,
            2
         ]
      }
   }
}

Here from ormar:
{
   "title":"Example3_MZU",
   "type":"object",
   "properties":{
      "size":{
         "default":1,
+         "enum_class":"<enum MyEnum>",
         "allOf":[
            {
               "$ref":"#/definitions/MyEnum"
            }
         ]
      }
   },
   "definitions":{
      "MyEnum":{
         "title":"MyEnum",
         "description":"An enumeration.",
         "enum":[
            1,
            2
         ]
      }
   }
}

I think that the extra line is causing the JSON-encoder to crash. What do you think, @collerek ? I've also added a failing test in https://github.com/collerek/ormar/pull/714

Thanks for catching that and investigating! :)
Should be fixed in 0.11.2, please update and check.


[ENH] ForecastingHorizon support in deep_equals

Is your feature request related to a problem? Please describe.
Currently sktime.utils._testing.deep_equals.deep_equals doesn't support the ForecastingHorizon type.
Example
from sktime.utils._testing.deep_equals import deep_equals
from sktime.forecasting.base import ForecastingHorizon
fh_1 = ForecastingHorizon(values=[1,2,3], is_relative=True)
fh_2 = ForecastingHorizon(values=[1,2,3], is_relative=True)
deep_equals(fh_1, fh_2)
# Output: ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
# Expected Output: True

Describe the solution you'd like
We need to add an additional if block for ForecastingHorizon equality, similar to numpy.ndarray, pandas.Series etc.
e.g. https://github.com/alan-turing-institute/sktime/blob/6cc0d41e778f9ed61a5cd8b24a21be680e23dd6f/sktime/utils/_testing/deep_equals.py#L108
Describe alternatives you've considered
One alternative fix would be changing __eq__ in ForecastingHorizon.
This feels a bit more risky.
Additional context
Discovered this while writing the tests for #2197.
Related to #2214.

hm... why the ForecastingHorizon's own __eq__ result in "truth valus is ambiguous" do you understand that?

It behaves like numpy arrays, pandas Series, Dataframes etc. In most cases this is a feature not a bug. Unfortunately, I don't know enough about the ForecastingHorizon to say what the case is here.

Hm, how about just adding another case, at the end, pseudocode:
    elif it´s a ForecastingHorizon, then:
    return deep_equals(fh1.values, fh2.values) and fh1.is_relative == fh2.is_relative
    plus deal with the informative return message


Exclude e2e curl pod from injection

Description
The e2e curl helper pod shouldn't be injected. It's only meant to check network traffic, and we shouldn't interfere with it at all.
How can this be tested?
Run e2e tests (ones that test the network, like the istio scenario). Check that the curl pod doesn't get injected.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 64.79%. Comparing base (ff60923) to head (01571ec).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3666   +/-   ##
=======================================
  Coverage   64.79%   64.79%
=======================================
  Files         384      384
  Lines       21013    21013
=======================================
  Hits        13616    13616
  Misses       6088     6088
  Partials     1309     1309

Flag
Coverage Δ

unittests
64.79% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Instructions on connecting via Jupyter Notebook not accurate

After setting up a Linux DSVM, I am not able to connect via Jupyter Hub using the instructions above.  Port 8000 is not open by default and Azure doesn't allow a rule to open it to be added.

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

ID: 38868202-ccff-2a37-ae12-eb55d2ffcf5f
Version Independent ID: ec187c97-9e1e-ecb0-d550-06aca5d97f68
Content: Provision a Linux CentOS Data Science Virtual Machine on Azure
Content Source: articles/machine-learning/data-science-virtual-machine/linux-dsvm-intro.md
Service: machine-learning
GitHub Login: @gopitk
Microsoft Alias: gokuma

@mwsteph Thanks for the feedback! We are currently investigating and will update you shortly.

@mwsteph
We will now proceed to close this thread. If there are further questions regarding this matter, please respond here and @YutongTie-MSFT and we will gladly continue the discussion.

I eventually figured this out.  The creation of a DSVM when you go through the Azure ML path is confusing.  It let’s you create a Windows DSVM and gives you the opportunity to select an Ubuntu Server, but it’s not clear that this is NOT a DSVM.  Of course if you select the Ubuntu Sever, it’s not the Linux DSVM, but it’s not very clear from the list that this is the case.   It would be good for this workflow AI + Machine Learning -> Create DSVM to include only the VMs that are DSVMs. While I eventually figured it out, it was less than clean in the instructions and within the portal.
[cid:image003.png<EMAIL_ADDRESS>Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10

From: YutongTie-MSFT<EMAIL_ADDRESS>Sent: Thursday, December 6, 2018 9:36:40 AM
To: MicrosoftDocs/azure-docs
Cc: mwsteph; Mention
Subject: Re: [MicrosoftDocs/azure-docs] Instructions on connecting via Jupyter Notebook not accurate (#20058)
@mwstephhttps://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmwsteph&data=02|01||9c3a1ab184b943c2df5108d65ba16452|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636797146056390186&sdata=iBi%2FcSwWBBt0Rq002kMDddGbOeRhX4v3g14A1xfGbbU%3D&reserved=0
We will now proceed to close this thread. If there are further questions regarding this matter, please respond here and @YutongTie-MSFThttps://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FYutongTie-MSFT&data=02|01||9c3a1ab184b943c2df5108d65ba16452|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636797146056390186&sdata=wiryncL4ft6YpUWmcwIDZT4tYwdV%2Bim73bmts6OzdUk%3D&reserved=0 and we will gladly continue the discussion.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fissues%2F20058%23issuecomment-444960492&data=02|01||9c3a1ab184b943c2df5108d65ba16452|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636797146056390186&sdata=johR7RNmxW2z8UL0pku7jCB56oIbxkFnw88QeYzTE6U%3D&reserved=0, or mute the threadhttps://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FANT2KR9InILSKC87KQIU7JV9CtjVjShGks5u2VWogaJpZM4ZE3Kx&data=02|01||9c3a1ab184b943c2df5108d65ba16452|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636797146056390186&sdata=tRYpJylF15ncCeV29%2F1fpwe6Cmkr7S3FKhs3gLKPu%2BA%3D&reserved=0.


Suggested actions buttons cover last message

We are using 4.1.0, and when using suggested actions the buttons cover the latest message:

I see that this was discussed in this issue, and the comment was that it's resolved in v4. However, we're not seeing that I'm afraid, it's still a problem.
thanks!

@dividor it is interesting. In Web Chat v4, we modified the DOM so they should not overlap. If you look at the screenshot below, you will see the scroll bar on the transcript (top part) will never overlap with the suggested actions.

I am trying it out based on our sample, https://microsoft.github.io/BotFramework-WebChat/1.a.getting-started-full-bundle/, and then type suggested-actions.
Could you look at the DOM in this sample and compare with what you have?

We designed the transcript and suggested actions to be siblings so they don't overlap with each others. What's more, they are using flex box for layout.

Good to know you got it working. Let us know your journey on styling/branding, we love to improve Web Chat to make it simpler and more intuitive to do stuff.

I love the new version! Just waiting for backchannel support in prod, then we're all set. Thanks for all the work.


New command: approleassignment-list

Closes #1270

Hey @pschaeflein, would you mind taking another look at the tests? It seems like we're missing something (coverage dropped)

Is there a way to have two tests call a common function? The un-covered code is the three lines that output text (a subset of the JSON).
Otherwise the test coverage goal of 100% is actually encouraging the copy/paste inheritance of ~300 lines of code...

There are some other things that aren't covered as well:

With 100% coverage as a goal it's easier to notice any drop and to avoid an arbitrary acceptable threshold that we'd debate with each PR 🙂

How did you get that view? (would be a great tip for the docs/guides/adding-command.md file)

Any way to have a common method in the .spec.ts file? I tried creating a method but got compile errors?

Good point! You can get the coverage details by clicking the coverage back up in this commit:

Once in coveralls, you can navigate through the file tree to see where the coverage is missing:

You should be able to define a function in the tests. Would you mind telling a bit more what you're trying to do?

If it helps, you can also see the coverage reports locally which are stored in the coverage folder

I figured out my first issue. The .spec.ts file does not have a class declaration, and describe is not a class. ;)
Since several responses will be used for multiple tests, I'm doing this:
class TestResponse {
  private static spResponse = { # rather lengthy JSON literal };

  public static ValidServicePrincipalForAppId = spResponse;
  public static ValidServicePrincipalForDisplayName = spResponse;
}

describe(...
  if('retrieves by appId' ...
    sinon.stub(...).callsFake(...   {
      if (opts.url.indexOf( ... ) {
        return Promise.resolve(TestResponses.ValidServicePrincipalForAppId);
      }
    }
  }

  # and then
  if('retrieves by displayName' ...
        return Promise.resolve(TestResponses.ValidServicePrincipalForDisplayName);
  }

This allows me to reuse the response without having to paste them repeatedly.
(Now that I've gone thru this exercise of explaining it, maybe it is better to have the responses in separate files and import them...)
I'm considering separate files for each one and importing.

@waldekmastykarz I fixed it. ;)

It seems like we're still missing something 😊 Mind having another look?

When I posted, it was 100%. Not sure why it showed that.
The line without coverage is the export statement. No idea how to fix that, so I’m not going to try. Someone with more experience will need to look. Sorry

Most likely the coverage is reported incorrectly due to the async method, which is why we avoid it in all other places in our codebase. Either way, appreciate the effort and we'll have a look at the PR. Thanks a lot! 👏

@VelinGeorgiev

We return empty line and the message in verbose as we do for the rest of the commands

This 👍🏻

@VelinGeorgiev when the app registration is not found, we should return an error (your answer #2). This is important because it will return a non-0 exit code if the CLI is used in a script to indicate that the command didn't execute properly. Shall I hold-off merging until this is adjusted?

@waldekmastykarz, you can go ahead and merge. This is exactly what I have in my branch.

Awesome job gents! Welcome to the crew @pschaeflein 👏 🎉

Merged manually.


Tests fail when building osmdroid with gradle

Issue Type

[x] Build system related

Description and/or steps/code to reproduce the problem
I followed the steps that are described in the "Building with Gradle" section on this page: https://github.com/osmdroid/osmdroid/wiki/How-to-build-OsmDroid-from-source to build the osmdroid project on my local. ./gradlew clean install shows some warnings but succeeds. When running the tests with ./gradlew cC the following ones fail:
org.osmdroid.test.ExtraSamplesTest > testBugsDriversActivity[SM-G975F - 10] FAILED          junit.framework.AssertionFailedError: Error popping fragment Issue 512 Cache download using waypointsorg.osmdroid.bugtestfragments.Bug512CacheManagerWpjava.lang.RuntimeException: Failure occurred during the test, there were 16         at junit.framework.Assert.fail(Assert.java:50)
org.osmdroid.tileprovider.modules.MapTileProviderTest > test_jump_queue[SM-G975F - 10] FAILED          junit.framework.AssertionFailedError: Three tiles in the list expected:<3> but was:<0>         at junit.framework.Assert.fail(Assert.java:50)
org.osmdroid.tileprovider.modules.MapTileProviderTest > test_order[SM-G975F - 10] FAILED          junit.framework.AssertionFailedError: Three tiles in the list expected:<3> but was:<0>         at junit.framework.Assert.fail(Assert.java:50) :OpenStreetMapViewer:connectedDebugAndroidTest FAILED
I also tried to use publishToMavenLocal instead of install but had the same results.
Environment
I tried running the test on emulators with Android 8.0, 9.0 and 10.0, as well as on my mobile (Samsung Galaxy S10+ running with Android 10).
I don't know if it matters, but my machine is running on Manjaro Linux (Release 20.0.3 - Lysia)
Version of osmdroid the issue relates to:
6.1.2

@KatharinaSick We're currently in the middle of a build system maelstrom (cf. #1594). As a consequence I cannot investigate what goes wrong on this issue. My hunch is that the problem is with the min and max zoom levels in MapTileProviderTest (both 0).
I don't believe there's something inherently wrong with your configuration - if possible, just ignore this issue for the moment.

Ok thank you! Then I will wait with issue #1603 until that is done.

Just for your info, when you run all tests based on most recent Android Studio #1594 then you see what's going wrong currently

thank you!

As for the current version that you downloaded from this site, the routines, test_jump_queue & test_order, need to catch the Exception (using try and catch). Or you could fix them by adding the map names to the list - currently, this list is empty - if you look at the codes, then you know what I meant. But, the best thing is to try to catch the exceptions - I think that is the intent of the test.


Vulnerability roundup 109: runc-1.0.2: 1 advisory [5.0]

search, files

[ ] CVE-2021-43784 CVSSv3=5.0 (nixos-21.11)

CVE details
CVE-2021-43784
runc is a CLI tool for spawning and running containers on Linux according to the OCI specification. In runc, netlink is used internally as a serialization system for specifying the relevant container configuration to the C portion of the code (responsible for the based namespace setup of containers). In all versions of runc prior to 1.0.3, the encoder did not handle the possibility of an integer overflow in the 16-bit length field for the byte array attribute type, meaning that a large enough malicious byte array attribute could result in the length overflowing and the attribute contents being parsed as netlink messages for container configuration. This vulnerability requires the attacker to have some control over the configuration of the container and would allow the attacker to bypass the namespace restrictions of the container by simply adding their own netlink payload which disables all namespaces. The main users impacted are those who allow untrusted images with untrusted configurations to run on their machines (such as with shared cloud infrastructure). runc version 1.0.3 contains a fix for this bug. As a workaround, one may try disallowing untrusted namespace paths from your container. It should be noted that untrusted namespace paths would allow the attacker to disable namespace protections entirely even in the absence of this bug.

Scanned versions: nixos-21.11: 573095944e7.
Cc @adisbladis
Cc @kalbasit
Cc @offlinehacker
Cc @saschagrunert
Cc @vdemeester
Cc @zowoq

PR to fix: #150720


NIFI-9192: ResultSetRecordSet considers value of useLogicalTypes flag…

… when determining the object's schema.
Signed-off-by: Peter Gyori<EMAIL_ADDRESS>https://issues.apache.org/jira/browse/NIFI-9192

Description of PR
Introduces the useLogicalTypes flag to the ResultSetRecordSet and implements the logic in ResultSetRecordSet that considers the flag's value when determining the schema for the object that gets created.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[x] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[x] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[x] Has your PR been rebased against the latest commit within the target branch (typically main)?

[x] Is your initial contribution a single, squashed commit? Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not squash or use --force when pushing to allow for clean monitoring of changes.

For code changes:

[ ] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[ ] Have you written or updated unit tests to verify your changes?
[x] Have you verified that the full build is successful on JDK 8?
[ ] Have you verified that the full build is successful on JDK 11?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check GitHub Actions CI for build issues and submit an update to your PR as soon as possible.

Thank you for reviewing, @exceptionfactory ! You are right, the unit tests for this modification are missing from this PR. I'm working on them and will commit them in a couple of hours.

@exceptionfactory I added unit tests and found 2 more places where useLogicalTypes had to be considered. I pushed all my modifications to this PR.

Thank you for reviewing, @exceptionfactory ! You are correct, the intention is to use STRING type when useLogicalTypes is false.
This idea comes from the implementation of JdbcCommon class:
https://github.com/apache/nifi/blob/main/nifi-nar-bundles/nifi-extension-utils/nifi-database-utils/src/main/java/org/apache/nifi/util/db/JdbcCommon.java
In JdbcCommon, in each case when options.useLogicalTypes is false and otherwise the type in question would require avro logical type, STRING type is returned.
In RecordSqlWriter, this behavior is correct until (including) this line:
https://github.com/apache/nifi/blob/4af3fac07a521b8334b36e55ad9b4929e182c3d8/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/sql/RecordSqlWriter.java#L72
However, the next line overwrites the settings in the original implementation and avro logical types do appear in the result.
So the goal of this fix is to unify the behavior when having avro logical types in the result is to be avoided.
I believe it does make sense to use STRING as the default type for Date, Time, and Decimal columns, but @mattyb149 may be able to provide more background information on this decision.
Currently I'm not planning to add further unit tests with actual data content (merely because I'm trying to save a little time), I'm concentrating on checking the proper schema creation. I found that some branches of the logic are not yet covered by the tests that exist so far, so I'm working on adding more cases (with concentrating on schema only).

Thanks for the clarification on the design @pgyori, that makes sense.  With that, the implementation looks fairly clear and close to completion.
It would also be helpful to get some feedback from @mattyb149 in light of the changes.

Will review today, thanks all!

Reviewing...

Thank you @exceptionfactory ! I committed the changes based on your comments.

+1 LGTM, tried various scenarios with Oracle and Avro logical types on and off. Thanks for the fix! Merging to main

Thank you, @mattyb149 !


Image mean subtraction support

As the title says, I have added image mean subtraction support. Now we can pass the path to the mean binary file like this:
./imagenet-console input.png output_0.jpg \
	--prototxt=$NET/deploy.prototxt \
	--model=$NET/snapshot_iter_360.caffemodel \
	--mean_binary=$NET/mean.binaryproto \
	--labels=$NET/labels.txt \
	--input_blob=data \
	--output_blob=softmax

If no binary file is passed, it will run with the same preprocessing as before.
This fixes #86.

Could we please resolve conflicts and add mean subtraction feature?
Without this, classification accuracy is badly affected.
Thanks

I would love to do it, but I will not waste time if it is not going to be merged.

Please, who is responsible for merging things? What do you waiting for?


Update project version

Purpose

Update project version

Codecov Report

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

@@            Coverage Diff            @@
##             master     #442   +/-   ##
=========================================
  Coverage     78.94%   78.94%
  Complexity      728      728
=========================================
  Files            66       66
  Lines          3153     3153
  Branches        303      303
=========================================
  Hits           2489     2489
  Misses          524      524
  Partials        140      140

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 1bf222d...452f66e. Read the comment docs.


Fix the link to citation file

Summary
Follows https://github.com/qiskit-community/qiskit-optimization/pull/555
Details and comments

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 90.516%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
6452

Relevant Lines:
7128

💛  - Coveralls


Added CodeClimate integration

Same as https://github.com/silverstripe/silverstripe-asset-admin/pull/126.
Sorry for the trailing whitespaces fixes, I've turned that off in my IDE now

Merging in so I can validate Code Climate is working (we switched the default branch after this pull request was opened). The build fails because of unrelated PHP7 changes which are already addressed elsewhere.


Security requirement with scopes fails schema validation

When using the security object to apply a securityScheme to a resource+method, validation fails when the required scopes array is non-empty. It should be allowed to be non-empty when the securityScheme.type is openIdConnect, or oauth2.
From the OAS 3.0.1 - security requirement

Each name MUST correspond to a security scheme which is declared in the Security Schemes under the Components Object. If the security scheme is of type "oauth2" or "openIdConnect", then the value is a list of scope names required for the execution. For other security scheme types, the array MUST be empty.

Detailed description
Example gist and error, this seems like a bug, but I haven't dug in to see what does schema validation.
speccy lint https://gist.githubusercontent.com/jblazek/4305176861e270aeaa31f32140d46f91/raw/b86617b19939d903c6cfdb3418ecd608226c67fb/openIdConnect.yaml

Specification schema is invalid.
#/paths/~1foo/get/security
expected Array [ 'scope1' ] to be empty

Context
I have a need to restrict access to resources with specific API scopes, and can't do so in the spec currently and lint it with speccy. Other tools I've used to validate like swagger-cli and swagger-ui allow the schema validation as the OAS spec defines.
Your environment

Speccy version: 0.8.2
Node Version: 8.7.0
Operating system and version (e.g. Ubuntu 16.04, Windows 7): Windows 10

@MikeRalphson hey is this maybe something in oas-kit?

@philsturgeon should be fixed in oas-validator v1.1.10

Released v08.3, so just npm update speccy :)


Bug with fma operator

There seems to be a when using the fma operator in the basic_matmul function, when running it in linux (PopOs at least, mojo 24.4) I get this error assertionError: 24.4375 is not close to 24.453125 with a diff of 0.015625 mojo: error: execution exited with a non-zero result: 1 but changing it to normal res + b * a it works, but in macOs the fma operator works correctly for the tests.
P.S: The error seems to be related with float16?, with float32 and 64 (int16 also works correctly and bfloat16 doesn't) the fma operator works but with float16 I get the error, maybe an alignment error happens? (I dont know if you want to remove the fma operator for now at least for the test basic_matmul and use float32)

I would assume this is a numeric stability issue, I was actually thinking about switching the tests to Int16 since I want to encourage less stable algorithms like Strassen, any thoughts?

Hmmm I really dont know, like if the idea for the competition is for AI things then one would want a stable algorithm, but if the idea is more general then maybe, the thing is if it isn't  a stable algorithm then it isn't good really for what these things would be used so I would think a stable algorithm is better.
For the fma error I think is  something else because the error is of 1e-2 and it only happens in linux (at least on my machine) and with float16 and bfloat16 i Just don't know how to report the error (because i think the error is in the implementation)


Per page statistics

🐣 Is your feature request related to a problem? Please describe.
I wonder if we can fetch per page statistics with the graphql API? I explored a lot but don't found a way to do that.
💡 Describe the solution you'd like
Exemple to fetch total view, extend type DomainStatistics with View() query like this:
view(
    id: URL!
    interval: Interval!
    limit: Int = 14
): [View!]

Not sure if that's what you're looking for, but there's a pages field you can query:
pages(sorting: Sorting!
range: Range = LAST_7_DAYS
limit: Int = 30
): [Page!]
On 4. Mar 2021, 00:25 +0100, Emmanuel Salomon<EMAIL_ADDRESS>wrote:

🐣 Is your feature request related to a problem? Please describe.
I wonder if we can fetch per page statistics with the graphql API? I explored a lot but don't found a way to do that.
💡 Describe the solution you'd like
Exemple to fetch total view, extend type DomainStatistics with View() query like this:
view(
id: URL!
interval: Interval!
limit: Int = 14
): [View!]
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Thanks for your response.
No. It's not that I want. Sorry, maybe I misspoke.
I would like to get view statistics per page. As we can get with view but for one page:
query stats {
    domain(id: "d007c978-97a6-4bb7-b2f8-43a635c317df") {
       statistics {
	   views(
                interval: DAILY
                type: TOTAL
            ) {
                id
                count
            }
        }
    }
}

The result is something like:
"data": {
    "domain": {
      "statistics": {
        "views": [
          {
            "id": "2021-03-05T21:39:35.992Z",
            "count": 243
          },
          {
            "id": "2021-03-04T21:39:35.992Z",
            "count": 193
          },
          {
            "id": "2021-03-03T21:39:35.992Z",
            "count": 288
          }
...

Note field id is strange for a date.
Anyway, those results are for the whole domain, not about one unique page.
It could be useful to obtain stats per page. Something like:
query stats {
    domain(id: "d007c978-97a6-4bb7-b2f8-43a635c317df") { // or just `domains {`
       statistics {
	   views(
                id: "https://mywebsite.org/theUrlOfThePageIWant"
                interval: DAILY
                type: TOTAL
            ) {
                id
                count
            }
        }
    }
}

Ahh I see. I like the idea, but I currently have no use-case in the UI for it. It's therefore nothing I'm planning to add.

I'm currently working on it here: https://github.com/ManUtopiK/Ackee/tree/viewsPerPage

I would also be very interested in views per page for older than 6 months - @ManUtopiK any luck here?!
(I'm hoping to be able to build a cumulative all-time count in the dashboard as well, for pages specifically)

Sorry. I had no help with this feature. I switched to https://github.com/umami-software/umami

I was able to adjust the range filters to show "Last 12 Months," "Last 7 Years" (and I believe you could go higher, essentially giving yourself an "All Time" statistic for page views)!
For @ManUtopiK and anyone else looking: https://github.com/UnlockNYC/Ackee/commit/3a70457ed2595fe288f4698914f5d595d35a6598


Module shows no data

Describe the bug
A clear and concise description of what the bug is.
I expect that the module would show a listing of pages.  However, it only shows the headings and that flashes by and then there is no information on the screen, except the search box.
Software Versions

DNN: 09.06.04
Module: Lates version

To Reproduce
Steps to reproduce the behavior:

Set up a new page, in any template or format
2.Add the module to the page, while logged in as root
No information shows up.
Try a hard refresh
The listing report headings are displayed for a short time.

Expected behavior
The module should, I think, show a listing of pages
Screenshots
If applicable, add screenshots to help explain your problem.
Error log
Note: Debug DLL's
Please replace the current extension DLL's with the debug DLL's (if these are available with the release) and reproduce the error with the debug DLL's before pasting the error log.
Paste the error log that is related to this issue.
There is no log entry and debug DLLs are not available
Additional context
Add any other context about the problem here.

Hello @HZass ...  Thank you for reporting an issue.  Unfortunately, there aren't enough details for us to duplicate the issue in a clean instance of DNN.  This might be unique to your environment.  Would you be able to provide any additional details to help us understand the issue you've run into?

@WillStrohl  We are seeing this issue on child portals. The module works so-so on the parent but not the children.

@WillStrohl  Here's a video that shows the issue on the parent site. When I switch to view 100 records and change the page title the page refreshes and the data does not come back. Also, when adding a "&" to the page title, nothing happens. The page title does not change.
See video here: https://web.microsoftstream.com/video/adfd5c1f-0356-4732-9be2-1a47a19f9c00

@WillStrohl I have fixed this issue and another issue in my local instance.  If you have a few minutes at some point to connect I'd like to show you the issues and my fixes.

@WillStrohl I have fixed this issue and another issue in my local instance. If you have a few minutes at some point to connect I'd like to show you the issues and my fixes.

Would you be able to submit a pull request?  If you'd like to submit a video here, please feel free.  We try to keep communications about these kinds of updates in an open-source project in the same place as the project itself.  I hope you understand.

@jwbodine I just wanted to check in with you.  Were you open to contributing your fix back to the project as a pull request?  It would be nice to roll this out to everyone else that might be using this module.  :)

Hi @HZass i created a clean DNN instance and multiple parent and child websites on that single DNN instance. I installed the module on each page created. I created another new DNN instance and run the process again, the error shown was not reproduced. I also checked the front-to-backend requests and server responses while installing that module and found no errors.
@HZass we have made fixes, you can download the latest version of the module and try again, because the fixes may have solved this problem as well.

@HZass As Alejandro mentioned, this issue may have inadvertently been fixed as part of another update recently.  Can you please see if you can reproduce this still after upgrading?  If you still can, we may need an updated list of reproduction steps and/or additional environmental details to see if we can reproduce the issue.

Closing as stale, since there is no response since Jan 11.


Change the /books/id/delete handler to POST.

Please pull down this change and verify it doesn't break anything before merging.

This will need to be manually merged across all branches, so it will be re-tested.
I don't necessarily see the need for this change. I understand that GET should be idempotent, but we're not teaching how to build a a crud interface, we're teaching how to interact with our services. However, if you feel strongly I'll merge it.
This can be done without JavaScript. Just make delete link a button.


Radial shading not clipped

Link to PDF file (or attach file here):
https://issues.apache.org/jira/secure/attachment/12844801/PDFBOX-3640.pdf
Configuration:

Web browser and its version: FF 50.1.0
Operating system and its version: W7
PDF.js version: https://mozilla.github.io/pdf.js/web/viewer.html
Is an extension: ?

Steps to reproduce the problem:

open the file

What is the expected behavior? (add screenshot)

What went wrong? (add screenshot)

In my testing, it seems that this issue may be either intermittent, and/or dependent on the zoom level.

I tried changing the zoom level and yes indeed, it happens sometimes and sometimes not.

I'm not able to reproduce the issue. The recent pattern changes may have fixed it. @THausherr or @Snuffleupagus can you still reproduce with master?

WFM, using PDF.js version 2.9.142 in Firefox Nightly 90.

Works for me on W10 at different zoom levels with FF 88.0.1, both with
https://mozilla.github.io/pdf.js/web/viewer.html
and with the built-in viewer. However the later one is much faster.


VR Template

Main branch (the demo) seams as good template for starting new game/app. I think there should be bit more variety(colours included) of grid textures(I am aware each person can generate their own if needed). Also white grid godot text should be darker or slightly different colour cause it is hard to read.
Also Settings should have place to choose preferred movement mode (teleport or smooth)

The demo is definitely a good place to start, just gutting out everything but the main level. That said, we've recently moved a lot of the base logic into the plugin so recreating that wouldn't take a lot of time in a fresh project.
I'm not a fan of just adding textures to create a texture library, that would be better served by a separate asset (and indeed I think one of Kenneys assets in the asset library has this). We may even decide at some point to start adding much nicer objects and textures to the demo which aren't useful to someone starting a new project.
That said, if you believe the contrast on some of the images is bad, please feel free to submit a PR with better images. I generated these off of wahooney.itch.io so they're pretty much generated with default settings.
As for settings, in this case that is up to someone developing a game. For the demo we're purposefully showcasing each option, the purpose for the demo is to demonstrate how each feature works, so it doesn't make sense if the user chooses they want to use smooth movement, when you go into a demo that demonstrates how the teleport works.
But for a normal game, absolutely agree this is a sound design choice.

About image thing, well thtat makes sense

About the settings, well I guess ok, I have not yet looked deep into gui, but I guess it might be not a problem given that some demos require smoth movement.

We now have a home for a template as described: github.com/GodotVR/godot-xr-template


installation script messes up crackmapexec (oscrypto.errors.LibraryNotFoundError: Error detecting the version of libcrypto)

When I ran ./install.sh, it overrides the existing installation of cme and results in the following error:
Traceback (most recent call last):
  File "/usr/bin/crackmapexec", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/usr/lib/python3/dist-packages/cme/crackmapexec.py", line 117, in main
    args = gen_cli_args()
           ^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/cme/cli.py", line 76, in gen_cli_args
    protocol_object = p_loader.load_protocol(protocols[protocol]['path'])
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/cme/loaders/protocol_loader.py", line 15, in load_protocol
    protocol = imp.load_source('protocol', protocol_path)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/imp.py", line 170, in load_source
    module = _exec(spec, sys.modules[name])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 621, in _exec
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/usr/lib/python3/dist-packages/cme/protocols/rdp.py", line 11, in <module>
    from aardwolf.commons.factory import RDPConnectionFactory
  File "/usr/lib/python3/dist-packages/aardwolf/commons/factory.py", line 7, in <module>
    from asyauth.common.credentials import UniCredential
  File "/usr/lib/python3/dist-packages/asyauth/common/credentials/__init__.py", line 182, in <module>
    from asyauth.common.credentials.kerberos import KerberosCredential
  File "/usr/lib/python3/dist-packages/asyauth/common/credentials/kerberos.py", line 9, in <module>
    from minikerberos.common.creds import KerberosCredential as KCRED
  File "/usr/lib/python3/dist-packages/minikerberos/common/creds.py", line 21, in <module>
    from oscrypto.asymmetric import rsa_pkcs1v15_sign, load_private_key
  File "/home/kali/.local/lib/python3.11/site-packages/oscrypto/asymmetric.py", line 19, in <module>
    from ._asymmetric import _unwrap_private_key_info
  File "/home/kali/.local/lib/python3.11/site-packages/oscrypto/_asymmetric.py", line 27, in <module>
    from .kdf import pbkdf1, pbkdf2, pkcs12_kdf
  File "/home/kali/.local/lib/python3.11/site-packages/oscrypto/kdf.py", line 9, in <module>
    from .util import rand_bytes
  File "/home/kali/.local/lib/python3.11/site-packages/oscrypto/util.py", line 14, in <module>
    from ._openssl.util import rand_bytes
  File "/home/kali/.local/lib/python3.11/site-packages/oscrypto/_openssl/util.py", line 6, in <module>
    from ._libcrypto import libcrypto, libcrypto_version_info, handle_openssl_error
  File "/home/kali/.local/lib/python3.11/site-packages/oscrypto/_openssl/_libcrypto.py", line 9, in <module>
    from ._libcrypto_cffi import (
  File "/home/kali/.local/lib/python3.11/site-packages/oscrypto/_openssl/_libcrypto_cffi.py", line 46, in <module>
    raise LibraryNotFoundError('Error detecting the version of libcrypto')
oscrypto.errors.LibraryNotFoundError: Error detecting the version of libcrypto

I suggest removing the line pipx install git+https://github.com/mpgn/CrackMapExec.git --force
Relevant Links:
https://github.com/dbt-labs/dbt-core/issues/3366
https://github.com/wbond/oscrypto/issues/78
https://github.com/mpgn/CrackMapExec/issues/108
https://github.com/wbond/oscrypto/issues/78

Thanks for you comment. I would suggest uninstalling the existing installation of cme, since it does not have the --log option.
For that, the installation of the latest crackmapexec is needed to use the linWinPwn tool.


PA_66: Digit on x-axis scale is not properly shown

#297

This issue can not be resolved by adjusting constants. It's a deeper problem concerning the interplay between label positioning engine axisWithLabelPicker.js and SVG within SVG axis containers needed for zoom feature of the bubble chart. Solution requires much understanding of all sides


Updating Moodle version

How can I update a new Moodle version without loss data?.  Only I must to update the stack modifing the yaml file?

Hi, thank you for opening this issue. In a nutshell, upgrading the Moodle version after deploying this stack involves updating the CodeCommit repository with the appropriate files. You should also setup a maintenance window in order to realize any database schema upgrades before allowing trafic to the Moodle instance.
You can follow the Moodle original documentation regarding git upgrades, as the process is generally the same. https://docs.moodle.org/402/en/Git_for_Administrators#Updating_your_installation_with_minor_releases
Please let me know if you need further help with this.


Feature request: specify examine index to use

From what I can see it's now hardcoded to use the externalindex but would be sweet if you can just plugin another one ... (again great work)

In the docs, you are advised against creating your own indexes for this stuff. Why would you need it?
It should definitely be doable, and probably be a good idea. Just can't think of a usecase myself :)

Really where does it say that? Well with examine/lucene you can also create and populate indexes with external data... That is a use case I tend to implement :)

Right here
https://our.umbraco.com/Documentation/Reference/Searching/Examine/indexing/#index-based-on-document-types

Thanks, yeah makes sense if you only want to query umbraco docs... but in some cases you populate a custom index with external data and still want to use the power of examine :) This is an example https://www.marathonus.com/about/blog/indexing-custom-data-with-umbraco-examine/ (like when stuff comes from a db or a third party service... )

Ok, but I think this is out of scope for this project. This project is for indexing the html content of umbraco nodes.
Feel free to exploit as much as possible for your project :)

Ok fair enough, thanks :)


Current group stays in browser after logout

We should clear all session data on logout. Not sure if there's a general way or if we need to clear CurrentGroup & CurrentStores (and possibly more in future) individually.
Integration test would be highly welcome!

Simplest is just reload page. With browser reload. Needs no thought. But slightly ugly for user as they see a full lage refresh.
Can get fiddly doing it manually as it might not actually be all data that needs emptying - some data might be available to logged out users too.
Could be a good use case for broadcasting a "clear" (or "logout") event broadcast that modules can handle how they wish. Alternatively having one module that pulls in all other stateful ones that can clear them when needed. But seems unnecessary to me and more fiddly.

"Session data" is a slightly confusing term here as it might be interpreted as the server session data. "Browser state" seems more accurate.

I think a reload is the best option, and UX doesn't suffer much.


0.9.0: developer docs

These are questions that we should try to answer in the docs: (is there anything you'd like to know? please add your comments below!):

what does verb do / how does it work?
what makes verb work? (what are the moving parts)
what can I create with verb?
how do I customize verb?
how can I store config values?
how do I make a *? (helper, plugin, middleware, template, generator, linter)

cc @doowb

I'm trying to user verb today and, despite being quite the tooling fan, am struggling to know how to use it.
Before a major docs rewrite, would it be possible to have an exhaustive README.md with almost every type of feature leveraged?
So far, I've seen things like apidocs, [path-to-something][] without links, badge("furry") (none of my business), etc.
But it's mostly doing excavations in other's repos vs. just following a visible, working example.
TBH, I just want to run verb or verb --watch, write a README, and be able to use that across multiple projects.
Sorry if this comes off the wrong way.  I'm excited about this project, but I think I caught it a bit ahead of it being ready for me :)

despite being quite the tooling fan, am struggling to know how to use it.

sorry about that! this will be resolved very soon, but in the meantime if it's any consolation I would be happy to give you a personal walkthrough. you would get a chance to decide if verb is something you want to use, and I would get honest feedback. it's up to you, but I'd be happy to do it

Sorry if this comes off the wrong way

no, this is good honest feedback, thank you.
In case it helps, with 0.9.0 we finally have a locked down API and we know what verb will do going forward. We have API, CLI and user docs on the way.
Before v0.9.0, verb had several major (necessary) refactors. I didn't want to write extensive docs before the API was completely baked - I wanted to spend that time fixing verb to be the documentation system I've always wanted. Despite all of those changes, verb plays a big role in my personal productivity, and now that the API is crystallized we can finally start showing other devs how to use verb to do the same.

badge("furry") (none of my business), etc.

lol I just saw this comment. It's one r. but hey, helpers and templates are customizable, so you can do badger('furry') if you prefer templates that need to be shaved first.

Heh, I was glad you caught that ;)
Anyway, yes, I'd <3 to have a better understanding of how to use it.  This would probably help me the best:

would it be possible to have an exhaustive README.md with almost every type of feature leveraged?

The project makes sense, but I don't think I have a need to do anything outside of the built-in helpers (yet).  I'm just struggling to piece together all the different sources to know what all can I do out of the box?
(I'm about to open-source ~6 new projects, so I was hoping to copy/paste .verb.md to them all :))

What changed in v0.9.0?

(CHANGELOG is a bit bare ATM)

It's not published yet

Would you like help with some of the documentation? I am learning to do REST API docs and I would love to help if I can.

Would you like help with some of the documentation? I am learning to do REST API docs and I would love to help if I can.

We'd love some help! We would be willing to teach you the API and walk through the code if that helps.
(as a side note, we're getting ready to push up some major changes to verb - mostly to simplify the code, cut down on deps, and improve performance, but the API won't change much)

I was trying to install and use Verb using README.md in order to document it better. Here are some questions I have. Keep in mind I am a novice, but some other users might be as well.

I see that many of the packages are deprecated. I tried to install it and get it working using the Readme. The one place I am stuck is where it says:

Next, just add a .verb.md markdown template to your project and run verb in the commandline.

I was not sure what this meant. I made a copy of a blank readme file (from this), named it .verb.md, and put it in another project folder I have.

The line that says:

var verb = require('verb');

This looks like something that should be put in a website's javascript. Where would I put this line?

I typed in "verb" in my command line after installing it and got
module.js:550  throw err;  ^
Are you still working out the kinks?

And last for now, I see you have a list of methods, but what are the endpoints for this API?

I am already working on the readme file, trying to answer the questions addressed above. When I get more feedback from my previous questions, I can add more. I cannot get it to work yet myself.
I like the examples of what it can do from the projects listed.

Heya @aredshaw! I can help here, because i have a huge knowledge of everything by Jon and Brian.
The thing is that the latest stable Verb release is not what you see in the master branch README.
Check out the dev branch readme. It still may be not good enough too, but is at least where we should start.
The whole thing is that you need to install it more specifically.
npm install -g verbose/verb#dev

This will install it from github's dev branch instead of the latest npm version.
I'm not sure that the latest verb on npm is working or at least is doing what should be expected. We (me & more advanced users and @jonschlinkert & @doowb themselves) all use the dev branch for few years now. All the latest building blocks (few hundreds) are used in Verb's dev branch. We are using it for years, so it can be considered "stable" and "official" in my opinion.
However. The most common use case of Verb is generating READMEs, but is not limited to that, it's hugely configurable and extendable programmatically. ANd here is where var verb = require('verb'); comes. This can be written in verbfile.js (the default config file) or any other javascript file and pass it to --config flag (actually I'm not sure what was the flag ;d).
The easiest usage is installing it and then install verb-generate-readme and running verb - it will detect that there is no .verb.md file and will generate some for you. The .verb.md is nothing more than just a template for your README.md file. It uses a hugely enhanced and flexible template engine behind the scenes and gives you a lot of helpers and functions - eg. getting code comments and generating API docs (basically mostly all of the helpers in https://github.com/helpers and https://github.com/helpers/handlebars-helpers are included and can be used in .verb.md template). The verb-generate-readme is in turn, generally, a package that gives Verb few common templates & layous for READMEs. You can also define verb.layout field in your package.json to empty (i use this one in all my repos), then it will not use the builtin ones, but what is in you .verb.md file. Micromatch uses the default built-in layout.
All the READMEs of 90% of all packages and repos of me, Jon & Brian for the last couple of years are generated by Verb and are real-life examples of what Verb and Verb-Generate-Readme are doing in combination.
https://github.com/micromatch/micromatch README is a phenomenal example of how crazy it can go :D

I've made some changes to the README.md for the dev branch, but I'm not sure how to push something to a dev branch. I get permission denied when I try.
My changes are mostly link fixes, or deleting links where the reference no longer exists.

@aredshaw the process is usually like this (I'm going to list some git commands. If you're using a GUI, there are probably similar commands):

fork the repository (which it looks like you've already done).
add a remote for your fork (I usually have origin already used for the main repository, so I'll use my name as the new remote)$ git remote add aredshaw https://github.com/aredshaw/verb.git

make a branch from the dev branch$ git checkout -b my-branch-name dev

make your changes and commit them to your branch$ git add .
$ git commit -m "changes that I made"

push the branch up to your fork$ git push aredshaw my-branch-name

submit a pull request through GitHub from your fork to the dev branch here

If you didn't make the changes on another branch and just used the dev branch, that's fine too. You can still push the dev branch to your fork and sumit a pull request from there.
I hope this helps.

It worked! That was super helpful. Thanks.


vulkan: shift viewport y by height

Closes #238 (I think)
Since blade requires vulkan >= 1.1, I understand it as this is should always be done?

renderer port from wgpu to blade progress

stable cascaded shadow maps and compute-shader frustum-culling with indirect draw now done!


1015 fix CVE

LGTM, I'm re-running the tests in the hope it was just a flake.

It's hard to know for sure whether this broke CI because CI is so flaky. Going to keep trying to de-flake CI and merge the changes into this branch... unless you're more confident than me that it didn't break CI @aronchick WDYT?

also please can you rebase on main @aronchick (sorry)

@lukemarsden rebased - but can't tell anything. tests are still broken


Spring MyBatis Hello World tutorial

Fixes #7737.
Fixes #6040.
Related to #6046.
This PR includes:

A simple tutorial on developing a basic Spring Boot application on CRDB with MyBatis-Spring-Boot-Starter.

The code referenced by this tutorial is located here: https://github.com/jeffgbutler/mybatis-cockroach-demo/tree/master/src.
I made a couple minor changes to the application that are reflected in the .java files in this PR and in the tutorial:

Added a transaction retry aspect (based on https://github.com/cockroachlabs/roach-data/tree/master/roach-data-jdbc).
Added transactional annotations to the public methods of the app's service class.

Those changes are reflected in a fork of the repo: https://github.com/ericharmeling/mybatis-cockroach-demo/tree/transaction-retries.

This change is

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/629acd66a2df3a999cf1ef238a9f05d6754c1343/
Edited pages:

v20.1/build-a-java-app-with-cockroachdb-hibernate.md
v20.1/build-a-java-app-with-cockroachdb-jooq.md
v20.1/build-a-java-app-with-cockroachdb.md
v20.1/build-a-spring-app-with-cockroachdb-mybatis.md
v20.2/build-a-java-app-with-cockroachdb-hibernate.md
v20.2/build-a-java-app-with-cockroachdb-jooq.md
v20.2/build-a-java-app-with-cockroachdb.md
v20.2/build-a-spring-app-with-cockroachdb-mybatis.md

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/d724c56c6b02983193a422ab407d9a061d90aabe/
Edited pages:

v20.1/build-a-java-app-with-cockroachdb-hibernate.md
v20.1/build-a-java-app-with-cockroachdb-jooq.md
v20.1/build-a-java-app-with-cockroachdb.md
v20.1/build-a-spring-app-with-cockroachdb-mybatis.md
v20.2/build-a-java-app-with-cockroachdb-hibernate.md
v20.2/build-a-java-app-with-cockroachdb-jooq.md
v20.2/build-a-java-app-with-cockroachdb.md
v20.2/build-a-spring-app-with-cockroachdb-mybatis.md

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/449c1eeecf86fcbadf73afcaad31688e0b034814/
Edited pages:

v20.1/build-a-java-app-with-cockroachdb-hibernate.md
v20.1/build-a-java-app-with-cockroachdb-jooq.md
v20.1/build-a-java-app-with-cockroachdb.md
v20.1/build-a-spring-app-with-cockroachdb-mybatis.md
v20.2/build-a-java-app-with-cockroachdb-hibernate.md
v20.2/build-a-java-app-with-cockroachdb-jooq.md
v20.2/build-a-java-app-with-cockroachdb.md
v20.2/build-a-spring-app-with-cockroachdb-mybatis.md

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/c076104e1bedbeeade736002d887df81df08317a/
Edited pages:

v20.1/build-a-java-app-with-cockroachdb-hibernate.md
v20.1/build-a-java-app-with-cockroachdb-jooq.md
v20.1/build-a-java-app-with-cockroachdb.md
v20.1/build-a-spring-app-with-cockroachdb-mybatis.md
v20.2/build-a-java-app-with-cockroachdb-hibernate.md
v20.2/build-a-java-app-with-cockroachdb-jooq.md
v20.2/build-a-java-app-with-cockroachdb.md
v20.2/build-a-spring-app-with-cockroachdb-mybatis.md

@jeffgbutler
Would you mind looking over this PR before we publish the tutorial to our public docs site? If you plan to move the code samples to a different repo, please let us know so I can update the links.
Cheers!

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/c076104e1bedbeeade736002d887df81df08317a/
Edited pages:

v20.1/build-a-java-app-with-cockroachdb-hibernate.md
v20.1/build-a-java-app-with-cockroachdb-jooq.md
v20.1/build-a-java-app-with-cockroachdb.md
v20.1/build-a-spring-app-with-cockroachdb-mybatis.md
v20.2/build-a-java-app-with-cockroachdb-hibernate.md
v20.2/build-a-java-app-with-cockroachdb-jooq.md
v20.2/build-a-java-app-with-cockroachdb.md
v20.2/build-a-spring-app-with-cockroachdb-mybatis.md

I think this looks really good. Couple of things to think about:

Do you want to say anything about the tests that use TestContainers? The tests in this example will run immediately without any further command line setup for an external Cockroach instance - which I think is cool.
JDBC batch can get complex, so it might not be worth mentioning this. But the batch methods in this example do intermediate commits - that's why there is weird logic around the batch size of 128. If you don't want to do intermediate commits it can be simplified substantially. But I also think I remember reading somewhere that Cockroach likes batch sizes that are powers of 2?
I just can't bring myself to put this example code in the MyBatis official repo (sorry about that). Everything else in our repo uses Maven, not Gradle, and this isn't really setup to use our parent POM, fit into the overall project build system, etc. It's easier for me to maintain if I just leave it where it is. Hope that doesn't cause too much anguish.

TFTR, @jeffgbutler!

Do you want to say anything about the tests that use TestContainers? The tests in this example will run immediately without any further command line setup for an external Cockroach instance - which I think is cool.

Although TestContainers does have a module for Cockroach, we can't officially claim beta support with TestContainers at the moment (we're looking into it in the upcoming quarter). So, we probably want to avoid recommending the tool in our docs. Also, in the interest of simplifying things, it's a good idea to avoid introducing additional tooling where possible. Perhaps we should leave it out of the tutorial, but keep it in the repo?

JDBC batch can get complex, so it might not be worth mentioning this. But the batch methods in this example do intermediate commits - that's why there is weird logic around the batch size of 128. If you don't want to do intermediate commits it can be simplified substantially. But I also think I remember reading somewhere that Cockroach likes batch sizes that are powers of 2?

Batching reads/writes does add more complexity to the sample... but we do call out using batch writes as a best practice in our docs. And we implement batch inserts in the other Java examples (e.g., e.g., https://www.cockroachlabs.com/docs/v20.1/build-a-java-app-with-cockroachdb.html). And, as you noted, we have a performance recommendation to use batch sizes of 128 (e.g., https://www.cockroachlabs.com/docs/v20.1/build-a-java-app-with-cockroachdb.html#use-a-batch-size-of-128), with some sample logic that is functionally similar to what you have in MyBatisAccountService.java. I can definitely clarify your sample's batch logic with some prose in the tutorial.

I just can't bring myself to put this example code in the MyBatis official repo (sorry about that). Everything else in our repo uses Maven, not Gradle, and this isn't really setup to use our parent POM, fit into the overall project build system, etc. It's easier for me to maintain if I just leave it where it is. Hope that doesn't cause too much anguish.

No worries! Makes total sense. :)

@ericharmeling makes sense about TestContainers. I'll definitely leave it in the repo.

@ericharmeling makes sense about TestContainers. I'll definitely leave it in the repo.

Sounds good!

@jeffgbutler After looking into this more, I believe I was wrong about the batch size recommendation extending beyond our JDBC compatibility to other ORMs.

If you don't want to do intermediate commits it can be simplified substantially.

I think that's a good idea. Please see https://github.com/jeffgbutler/mybatis-cockroach-demo/pull/2 for my attempt at simplifying things.
@lnhsingh
These code changes won't affect the docs.

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/687012f6a9f6520da8407a87fcd030d8e167e896/
Edited pages:

v20.1/build-a-java-app-with-cockroachdb-hibernate.md
v20.1/build-a-java-app-with-cockroachdb-jooq.md
v20.1/build-a-java-app-with-cockroachdb.md
v20.1/build-a-spring-app-with-cockroachdb-mybatis.md
v20.2/build-a-java-app-with-cockroachdb-hibernate.md
v20.2/build-a-java-app-with-cockroachdb-jooq.md
v20.2/build-a-java-app-with-cockroachdb.md
v20.2/build-a-spring-app-with-cockroachdb-mybatis.md


Issue with logo Url pull request not merging #6399

I'm submitting a ...
[ ] bug report
[ ] feature request
[ ] question about the decisions made in the repository
[ ] question about how to use this project

Summary

Other information (e.g. detailed explanation, stack traces, related issues, suggestions how to fix, links for us to have context, eg. StackOverflow, personal fork, etc.)

https://github.com/solana-labs/token-list/pull/6399 is invalid json.  you added your block onto the very end of the file instead of putting it into the big list

please fix and re-push, then it should automerge


BT: Security Manager

Is it just log message or its error message?
E (289410) BT: Security Manager: BTM_SetEncryption busy, enqueue request

@chegewara This message means the last time encryption has not been completed, but also launched a second encryption.

Its seems to be my issue. Im trying to connect windows laptop to esp32-HID device. I have setup in my esp32 server:

ESP_GATTS_CONNECT_EVT with call to esp_ble_set_encryption(param->connect.remote_bda, ESP_BLE_SEC_ENCRYPT_NO_MITM)
since windows is trying to connect with security request and im doing the same, then we have mentioned message

Thanks


Application logs

What kind of change does this PR introduce?
This PR addresses the root cause of #841

Summary

This PR runs all multiprocessing.Processtargets inside a try catch block, so any errors caused from within the target are gracefully handled.
The second part of this PR modifies the logger used by all processes to replace the default handler with a file handler, so all logs (including any exception traces) are written to the log file and can be used for debugging.
Checklist

[x] My code follows the style guidelines of OpenAdapt
[x] I have performed a self-review of my code
[ ] If applicable, I have added tests to prove my fix is functional/effective
[ ] I have linted my code locally prior to submission
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation (e.g. README.md, requirements.txt)
[x] New and existing unit tests pass locally with my changes

How can your code be run and tested?
Introduce an exception in one of the crud methods (e.g. insert_window_event) and then build the app (python -m openadapt.build) and run the built app. Start and complete a recording. The app should not crash and the logs should contain the exception raised in the crud method. The logs will be available at the ~/Library/Preferences/openadapt/data in Macos and AppData/Roaming/openadapt in Windows

The second commit is entirely about replacing uses of the loguru logger with the custom logger, so the only commit that has functional changes is the first one - 4307a65bb0d95c911410dd7594efc1efc08b3f41

Thank you @KIRA009 ! Have you tested this on the built application and confirmed it's working as intended? Can you please show some screenshots confirming this to be the case?

@abrichr Yes, I have tested it on mac. My windows machine is under repair so I am not able to test on that for the moment.
https://github.com/user-attachments/assets/bf9a2629-bbd2-4287-abbf-9dc6a0a7438a

Thank you. Why does it say "Window events are not yet supported"?

Thank you. What do you think about adding a test to assert that the application log is created and is non-empty?
Also, why does it say "Window events are not yet supported"?

@abrichr That is a custom exception that I raised just to simulate an exception. The exception message is not real and not related to the app