when i have 2 counts in a select statement, only the last one gets executed

From this row the sql statement that's created has only count for the last one.
var q = (from u in cntx.Partners
                     select new
                     {
                         u.Id,
                         u.Title,
                         u.Email,
                         u.Phone,
                         Customers_Count = u.Customers.Count(x => x.PartnertId == u.Id),
                         Contracts_Count = u.Contracts.Count(x => x.PartnerId == u.Id)
                     });

SQL
SELECT (
    SELECT COUNT(*)
    FROM [Contracts] AS [e]
    WHERE [s].[Id] = [e].[PartnerId]
), [s].[Id], [s].[Title], [s].[Email], [s].[Phone]
FROM [Partners] AS [s]
ORDER BY [s].[Title]
OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY

if i remove the last one i get this
SELECT (
    SELECT COUNT(*)
    FROM [Customers] AS [e]
    WHERE [s].[Id] = [e].[PartnerId]
), [s].[Id], [s].[Title], [s].[Email], [s].[Phone]
FROM [Partners] AS [s]
ORDER BY [s].[Title]
OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY

@maumar expect this is a dupe of one you are already tracking for rc2. Feel free to close if it is.

hello, any news on this?

@xrkolovos sorry for the late reply. This issue is now fixed and will be available in RC2 release.
When run on our current bits, the following query is produced:
SELECT [u].[Id], [u].[Title], [u].[Email], [u].[Phone], (
    SELECT COUNT(*)
    FROM [Customers] AS [x1]
    WHERE ([x1].[PartnertId] = [u].[Id]) AND ([u].[Id] = [x1].[PartnerId])
), (
    SELECT COUNT(*)
    FROM [Contracts] AS [x2]
    WHERE ([x2].[PartnerId] = [u].[Id]) AND ([u].[Id] = [x2].[PartnerId])
)
FROM [Partners] AS [u]

nice work. thank you for your reply


Tempory fix for issue 336 : Task.Snmp.Collect.Discovery in Graph.Switch.Discove…

…ry fails with "maxBuffer exceeded"
Increased the amount of data allowed on stdout or stderr from 3MB to 6MB
@RackHD/corecommitters

👍
fyi @amymullins since I think your gang was looking into how to make this more generally robust

@heckj , i was planning on recursively increase maxbuffer in case of "maxBuffer exceeded"

*** BUILD #1322 ***

@keedya, it is the snmpbulkwalk on a Cisco switch that hit this issue.  The output of the bulk walk as well as the logs are attached to https://github.com/RackHD/RackHD/issues/336

:+1:

test this please

*** BUILD #1341 ***

👍

test this please

*** BUILD #1348 ***

downstream unit-tests failed..  test this please

*** BUILD #1349 ***

test this please

*** BUILD #1389 ***

test this please

*** BUILD #1479 ***

test this plesae

*** BUILD #1502 ***

test this please

*** BUILD #1505 ***

http://<IP_ADDRESS>/job/on-tasks/1505/
seems the changes cause on-http and on-taskgraph errors

test this please

*** BUILD #1525 ***

*** BUILD #106 ***

test this please

test this please

*** BUILD #1542 ***
Test Name: redfish_emc_recompose_test
Error Details: Failure running Graph.Emc.Compose.System
-------------------- >> begin captured logging << --------------------
tests.api.v1_1.workflows_tests: INFO: Starting AMQP listener for node 57c55dacaf50a1290859f369
amqp: DEBUG: Start from server, version: 0.9, properties: {u'information': u'Licensed under the MPL.  See http://www.rabbitmq.com/', u'product': u'RabbitMQ', u'copyright': u'Copyright (C) 2007-2013 GoPivotal, Inc.', u'capabilities': {u'exchange_exchange_bindings': True, u'connection.blocked': True, u'authentication_failure_close': True, u'basic.nack': True, u'consumer_priorities': True, u'consumer_cancel_notify': True, u'publisher_confirms': True}, u'platform': u'Erlang/OTP', u'version': u'3.2.4'}, mechanisms: [u'AMQPLAIN', u'PLAIN'], locales: [u'en_US']
amqp: DEBUG: Open OK!
urllib3.connectionpool: WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None)) after connection broken by 'ProtocolError('Connection aborted.', BadStatusLine("''",))': /api/1.1/nodes/57c55dacaf50a1290859f369/workflows/active
urllib3.connectionpool: INFO: Starting new HTTP connection (25): localhost
kombu: INFO: Starting AMQP worker <unbound Queue graph.finished -> <unbound Exchange on.events(topic)> -> graph.finished.*>
amqp: DEBUG: Start from server, version: 0.9, properties: {u'information': u'Licensed under the MPL.  See http://www.rabbitmq.com/', u'product': u'RabbitMQ', u'copyright': u'Copyright (C) 2007-2013 GoPivotal, Inc.', u'capabilities': {u'exchange_exchange_bindings': True, u'connection.blocked': True, u'authentication_failure_close': True, u'basic.nack': True, u'consumer_priorities': True, u'consumer_cancel_notify': True, u'publisher_confirms': True}, u'platform': u'Erlang/OTP', u'version': u'3.2.4'}, mechanisms: [u'AMQPLAIN', u'PLAIN'], locales: [u'en_US']
amqp: DEBUG: Open OK!
kombu.mixins: INFO: Connected to amqp://guest:**@<IP_ADDRESS>:9091//
amqp: DEBUG: using channel_id: 1
amqp: DEBUG: Channel open
kombu: INFO: Stopping AMQP worker <unbound Queue graph.finished -> <unbound Exchange on.events(topic)> -> graph.finished.*>
tests.api.v1_1.workflows_tests: ERROR: {
    "active_task": {
        "11b8efbd-b247-4d58-8986-af03de3e2a76": {
            "friendlyName": "Create Default Pollers",
            "ignoreFailure": false,
            "implementsTask": "Task.Base.Pollers.Redfish.CreateDefault",
            "injectableName": "Task.Inline.Pollers.Redfish.CreateDefault",
            "instanceId": "11b8efbd-b247-4d58-8986-af03de3e2a76",
            "label": "create-redfish-pollers",
            "name": "Task.Inline.Pollers.Redfish.CreateDefault",
            "options": {
                "_taskTimeout": 86400000,
                "pollers": [
                    {
                        "config": {
                            "command": "systems.logservices"
                        },
                        "pollInterval": 10000,
                        "type": "redfish"
                    }
                ]
            },
            "properties": {},
            "runJob": "Job.Pollers.CreateDefault",
            "state": "failed",
            "taskEndTime": "2016-08-30T10:19:32.718Z",
            "terminalOnStates": [
                "succeeded",
                "timeout",
                "cancelled",
                "failed"
            ],
            "waitingOn": {
                "d3fd9b6c-a435-4b4c-86a7-3c989daedcdf": "succeeded"
            }
        },
        "d3fd9b6c-a435-4b4c-86a7-3c989daedcdf": {
            "error": "Error: Unknown Error
    at /home/vagrant/src/on-taskgraph/node_modules/on-tasks/lib/utils/job-utils/redfish-tool.js:87:23
    at tryCatcher (/home/vagrant/src/on-taskgraph/node_modules/on-core/node_modules/bluebird/js/main/util.js:26:23)
    at Promise._settlePromiseFromHandler (/home/vagrant/src/on-taskgraph/node_modules/on-core/node_modules/bluebird/js/main/promise.js:507:31)
    at Promise._settlePromiseAt (/home/vagrant/src/on-taskgraph/node_modules/on-core/node_modules/bluebird/js/main/promise.js:581:18)
    at Async._drainQueue (/home/vagrant/src/on-taskgraph/node_modules/on-core/node_modules/bluebird/js/main/async.js:128:12)
    at Async._drainQueues (/home/vagrant/src/on-taskgraph/node_modules/on-core/node_modules/bluebird/js/main/async.js:133:10)
    at Immediate.Async.drainQueues [as _onImmediate] (/home/vagrant/src/on-taskgraph/node_modules/on-core/node_modules/bluebird/js/main/async.js:15:14)
    at processImmediate [as _immediateCallback] (timers.js:383:17)",
            "friendlyName": "EMC Compose System",
            "ignoreFailure": false,
            "implementsTask": "Task.Base.Emc.Compose.System",
            "injectableName": "Task.Emc.Compose.System",
            "instanceId": "d3fd9b6c-a435-4b4c-86a7-3c989daedcdf",
            "label": "emc-compose-system",
            "name": "Task.Emc.Compose.System",
            "options": {
                "_taskTimeout": 86400000,
                "action": "recompose",
                "endpoints": [
                    "ComputeElement0",
                    "StorageElement3"
                ],
                "name": "newSystem"
            },
            "properties": {},
            "runJob": "Job.Emc.Compose.System",
            "state": "failed",
            "taskEndTime": "2016-08-30T10:19:32.719Z",
            "taskStartTime": "2016-08-30T10:19:32.629Z",
            "terminalOnStates": [
                "timeout",
                "cancelled",
                "failed"
            ],
            "waitingOn": {}
        }
    },
    "graph_name": "Graph.Emc.Compose.System",
    "route_id": "b170c270-e4a8-4bf6-88be-007e143aee62",
    "status": "failed",
    "target": "57c55dacaf50a1290859f369"
}
amqp: DEBUG: Closed channel #1
modules.worker: INFO: stopping subtask for 57c55dacaf50a1290859f369
--------------------- >> end captured logging << ---------------------
Stack Trace:   File "/usr/lib/python2.7/unittest/case.py", line 331, in run
    testMethod()
  File "/usr/lib/python2.7/unittest/case.py", line 1043, in runTest
    self._testFunc()
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/case.py", line 296, in testng_method_mistake_capture_func
    compatability.capture_type_error(s_func)
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/compatability/exceptions_2_6.py", line 27, in capture_type_error
    func()
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/case.py", line 350, in func
    func(test_case.state.get_state())
  File "/home/jenkins/workspace/on-tasks/RackHD/test/tests/api/v1_1/redfish_endpoint_tests.py", line 244, in redfish_emc_recompose_test
    self.__post_node_workflow([id], 'Graph.Emc.Compose.System', body)
  File "/home/jenkins/workspace/on-tasks/RackHD/test/tests/api/v1_1/redfish_endpoint_tests.py", line 55, in __post_node_workflow
    workflow.post_workflows(graph_name, nodes=nodes, tasks=tasks, data=body, callback=callback)
  File "/home/jenkins/workspace/on-tasks/RackHD/test/tests/api/v1_1/workflows_tests.py", line 174, in post_workflows
    self.run_workflow_tasks(self.__tasks, timeout_sec)
  File "/home/jenkins/workspace/on-tasks/RackHD/test/tests/api/v1_1/workflows_tests.py", line 205, in run_workflow_tasks
    fail('Failure running {0}'.format(self.__graph_name))
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/asserts.py", line 220, in fail
    raise ASSERTION_ERROR(message)
'Failure running Graph.Emc.Compose.System\n-------------------- >> begin captured logging << --------------------\ntests.api.v1_1.workflows_tests: INFO: Starting AMQP listener for node 57c55dacaf50a1290859f369\namqp: DEBUG: Start from server, version: 0.9, properties: {u\'information\': u\'Licensed under the MPL.  See http://www.rabbitmq.com/\', u\'product\': u\'RabbitMQ\', u\'copyright\': u\'Copyright (C) 2007-2013 GoPivotal, Inc.\', u\'capabilities\': {u\'exchange_exchange_bindings\': True, u\'connection.blocked\': True, u\'authentication_failure_close\': True, u\'basic.nack\': True, u\'consumer_priorities\': True, u\'consumer_cancel_notify\': True, u\'publisher_confirms\': True}, u\'platform\': u\'Erlang/OTP\', u\'version\': u\'3.2.4\'}, mechanisms: [u\'AMQPLAIN\', u\'PLAIN\'], locales: [u\'en_US\']\namqp: DEBUG: Open OK!\nurllib3.connectionpool: WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None)) after connection broken by \'ProtocolError(\'Connection aborted.\', BadStatusLine("\'\'",))\': /api/1.1/nodes/57c55dacaf50a1290859f369/workflows/active\nurllib3.connectionpool: INFO: Starting new HTTP connection (25): localhost\nkombu: INFO: Starting AMQP worker <unbound Queue graph.finished -> <unbound Exchange on.events(topic)> -> graph.finished.*>\namqp: DEBUG: Start from server, version: 0.9, properties: {u\'information\': u\'Licensed under the MPL.  See http://www.rabbitmq.com/\', u\'product\': u\'RabbitMQ\', u\'copyright\': u\'Copyright (C) 2007-2013 GoPivotal, Inc.\', u\'capabilities\': {u\'exchange_exchange_bindings\': True, u\'connection.blocked\': True, u\'authentication_failure_close\': True, u\'basic.nack\': True, u\'consumer_priorities\': True, u\'consumer_cancel_notify\': True, u\'publisher_confirms\': True}, u\'platform\': u\'Erlang/OTP\', u\'version\': u\'3.2.4\'}, mechanisms: [u\'AMQPLAIN\', u\'PLAIN\'], locales: [u\'en_US\']\namqp: DEBUG: Open OK!\nkombu.mixins: INFO: Connected to amqp://guest:**@<IP_ADDRESS>:9091//\namqp: DEBUG: using channel_id: 1\namqp: DEBUG: Channel open\nkombu: INFO: Stopping AMQP worker <unbound Queue graph.finished -> <unbound Exchange on.events(topic)> -> graph.finished.*>\ntests.api.v1_1.workflows_tests: ERROR: {\n    "active_task": {\n        "11b8efbd-b247-4d58-8986-af03de3e2a76": {\n            "friendlyName": "Create Default Pollers",\n            "ignoreFailure": false,\n            "implementsTask": "Task.Base.Pollers.Redfish.CreateDefault",\n            "injectableName": "Task.Inline.Pollers.Redfish.CreateDefault",\n            "instanceId": "11b8efbd-b247-4d58-8986-af03de3e2a76",\n            "label": "create-redfish-pollers",\n            "name": "Task.Inline.Pollers.Redfish.CreateDefault",\n            "options": {\n                "_taskTimeout": 86400000,\n                "pollers": [\n                    {\n                        "config": {\n                            "command": "systems.logservices"\n                        },\n                        "pollInterval": 10000,\n                        "type": "redfish"\n                    }\n                ]\n            },\n            "properties": {},\n            "runJob": "Job.Pollers.CreateDefault",\n            "state": "failed",\n            "taskEndTime": "2016-08-30T10:19:32.718Z",\n            "terminalOnStates": [\n                "succeeded",\n                "timeout",\n                "cancelled",\n                "failed"\n            ],\n            "waitingOn": {\n                "d3fd9b6c-a435-4b4c-86a7-3c989daedcdf": "succeeded"\n            }\n        },\n        "d3fd9b6c-a435-4b4c-86a7-3c989daedcdf": {\n            "error": "Error: Unknown Error\n    at /home/vagrant/src/on-taskgraph/node_modules/on-tasks/lib/utils/job-utils/redfish-tool.js:87:23\n    at tryCatcher (/home/vagrant/src/on-taskgraph/node_modules/on-core/node_modules/bluebird/js/main/util.js:26:23)\n    at Promise._settlePromiseFromHandler (/home/vagrant/src/on-taskgraph/node_modules/on-core/node_modules/bluebird/js/main/promise.js:507:31)\n    at Promise._settlePromiseAt (/home/vagrant/src/on-taskgraph/node_modules/on-core/node_modules/bluebird/js/main/promise.js:581:18)\n    at Async._drainQueue (/home/vagrant/src/on-taskgraph/node_modules/on-core/node_modules/bluebird/js/main/async.js:128:12)\n    at Async._drainQueues (/home/vagrant/src/on-taskgraph/node_modules/on-core/node_modules/bluebird/js/main/async.js:133:10)\n    at Immediate.Async.drainQueues [as _onImmediate] (/home/vagrant/src/on-taskgraph/node_modules/on-core/node_modules/bluebird/js/main/async.js:15:14)\n    at processImmediate [as _immediateCallback] (timers.js:383:17)",\n            "friendlyName": "EMC Compose System",\n            "ignoreFailure": false,\n            "implementsTask": "Task.Base.Emc.Compose.System",\n            "injectableName": "Task.Emc.Compose.System",\n            "instanceId": "d3fd9b6c-a435-4b4c-86a7-3c989daedcdf",\n            "label": "emc-compose-system",\n            "name": "Task.Emc.Compose.System",\n            "options": {\n                "_taskTimeout": 86400000,\n                "action": "recompose",\n                "endpoints": [\n                    "ComputeElement0",\n                    "StorageElement3"\n                ],\n                "name": "newSystem"\n            },\n            "properties": {},\n            "runJob": "Job.Emc.Compose.System",\n            "state": "failed",\n            "taskEndTime": "2016-08-30T10:19:32.719Z",\n            "taskStartTime": "2016-08-30T10:19:32.629Z",\n            "terminalOnStates": [\n                "timeout",\n                "cancelled",\n                "failed"\n            ],\n            "waitingOn": {}\n        }\n    },\n    "graph_name": "Graph.Emc.Compose.System",\n    "route_id": "b170c270-e4a8-4bf6-88be-007e143aee62",\n    "status": "failed",\n    "target": "57c55dacaf50a1290859f369"\n}\namqp: DEBUG: Closed channel #1\nmodules.worker: INFO: stopping subtask for 57c55dacaf50a1290859f369\n--------------------- >> end captured logging << ---------------------'

Test Name: test_node_catalogs
Error Details: Node catalog is empty!
Stack Trace: Traceback (most recent call last):
  File "/usr/lib/python2.7/unittest/case.py", line 331, in run
    testMethod()
  File "/usr/lib/python2.7/unittest/case.py", line 1043, in runTest
    self._testFunc()
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/case.py", line 296, in testng_method_mistake_capture_func
    compatability.capture_type_error(s_func)
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/compatability/exceptions_2_6.py", line 27, in capture_type_error
    func()
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/case.py", line 350, in func
    func(test_case.state.get_state())
  File "/home/jenkins/workspace/on-tasks/RackHD/test/tests/api/v2_0/nodes_tests.py", line 248, in test_node_catalogs
    assert_not_equal(0, len(resp), message='Node catalog is empty!')
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/asserts.py", line 151, in assert_not_equal
    raise ASSERTION_ERROR(message)
AssertionError: Node catalog is empty!

Test Name: test_tag_create
Error Details: (404)
Reason: Not Found
HTTP response headers: HTTPHeaderDict({'Content-Length': '110', 'X-Powered-By': 'Express', 'Connection': 'keep-alive', 'ETag': 'W/"6e-26mJ9mWcRBFgxoB71Nb5ZQ"', 'Date': 'Tue, 30 Aug 2016 10:19:46 GMT', 'Access-Control-Allow-Origin': '*', 'Content-Type': 'application/json; charset=utf-8'})
HTTP response body: {"message":"No Catalogs Found for Source (dmi).","status":"404","UUID":"21e28122-fb19-41d0-9d42-d3cdd937e42f"}

-------------------- >> begin captured logging << --------------------
tests.api.v2_0.tags_tests: INFO: {'rules': [{'path': 'dmi.System Information.Manufacturer', 'equals': u'Quanta Computer Inc'}], 'name': u'57c55c731b31142e081dbe55'}
tests.api.v2_0.tags_tests: INFO: {'rules': [{'path': 'dmi.System Information.Manufacturer', 'equals': u'EMC'}], 'name': u'57c55c771b31142e081dbe5c'}
tests.api.v2_0.tags_tests: INFO: {'rules': [{'path': 'dmi.System Information.Manufacturer', 'equals': u'EMC'}], 'name': u'57c55c7c1b31142e081dbe63'}
--------------------- >> end captured logging << ---------------------
Stack Trace:   File "/usr/lib/python2.7/unittest/case.py", line 331, in run
    testMethod()
  File "/usr/lib/python2.7/unittest/case.py", line 1043, in runTest
    self._testFunc()
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/case.py", line 296, in testng_method_mistake_capture_func
    compatability.capture_type_error(s_func)
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/compatability/exceptions_2_6.py", line 27, in capture_type_error
    func()
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/case.py", line 350, in func
    func(test_case.state.get_state())
  File "/home/jenkins/workspace/on-tasks/RackHD/test/tests/api/v2_0/tags_tests.py", line 45, in test_tag_create
    tagsWithRules = self.__create_tag_rule(n.get('id'))
  File "/home/jenkins/workspace/on-tasks/RackHD/test/tests/api/v2_0/tags_tests.py", line 26, in __create_tag_rule
    Api().nodes_get_catalog_source_by_id(identifier=id,source='dmi')
  File "/tmp/.venv/local/lib/python2.7/site-packages/on_http_api2_0/apis/api_api.py", line 2087, in nodes_get_catalog_source_by_id
    callback=params.get('callback'))
  File "/tmp/.venv/local/lib/python2.7/site-packages/on_http_api2_0/api_client.py", line 322, in call_api
    response_type, auth_settings, callback)
  File "/tmp/.venv/local/lib/python2.7/site-packages/on_http_api2_0/api_client.py", line 149, in __call_api
    post_params=post_params, body=body)
  File "/tmp/.venv/local/lib/python2.7/site-packages/on_http_api2_0/api_client.py", line 342, in request
    headers=headers)
  File "/tmp/.venv/local/lib/python2.7/site-packages/on_http_api2_0/rest.py", line 184, in GET
    query_params=query_params)
  File "/tmp/.venv/local/lib/python2.7/site-packages/on_http_api2_0/rest.py", line 177, in request
    raise ApiException(http_resp=r)
'(404)\nReason: Not Found\nHTTP response headers: HTTPHeaderDict({\'Content-Length\': \'110\', \'X-Powered-By\': \'Express\', \'Connection\': \'keep-alive\', \'ETag\': \'W/"6e-26mJ9mWcRBFgxoB71Nb5ZQ"\', \'Date\': \'Tue, 30 Aug 2016 10:19:46 GMT\', \'Access-Control-Allow-Origin\': \'*\', \'Content-Type\': \'application/json; charset=utf-8\'})\nHTTP response body: {"message":"No Catalogs Found for Source (dmi).","status":"404","UUID":"21e28122-fb19-41d0-9d42-d3cdd937e42f"}\n\n-------------------- >> begin captured logging << --------------------\ntests.api.v2_0.tags_tests: INFO: {\'rules\': [{\'path\': \'dmi.System Information.Manufacturer\', \'equals\': u\'Quanta Computer Inc\'}], \'name\': u\'57c55c731b31142e081dbe55\'}\ntests.api.v2_0.tags_tests: INFO: {\'rules\': [{\'path\': \'dmi.System Information.Manufacturer\', \'equals\': u\'EMC\'}], \'name\': u\'57c55c771b31142e081dbe5c\'}\ntests.api.v2_0.tags_tests: INFO: {\'rules\': [{\'path\': \'dmi.System Information.Manufacturer\', \'equals\': u\'EMC\'}], \'name\': u\'57c55c7c1b31142e081dbe63\'}\n--------------------- >> end captured logging << ---------------------'

Test Name: get_sku_nodes
Error Details: (404)
Reason: Not Found
HTTP response headers: HTTPHeaderDict({'Content-Length': '110', 'X-Powered-By': 'Express', 'Connection': 'keep-alive', 'ETag': 'W/"6e-xzkTqfeE2PYpA+MvauM03g"', 'Date': 'Tue, 30 Aug 2016 10:19:46 GMT', 'Access-Control-Allow-Origin': '*', 'Content-Type': 'application/json; charset=utf-8'})
HTTP response body: {"message":"No Catalogs Found for Source (dmi).","status":"404","UUID":"e296de98-d6a7-47fb-a432-55dda66c57a9"}

Stack Trace: Traceback (most recent call last):
  File "/usr/lib/python2.7/unittest/case.py", line 331, in run
    testMethod()
  File "/usr/lib/python2.7/unittest/case.py", line 1043, in runTest
    self._testFunc()
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/case.py", line 296, in testng_method_mistake_capture_func
    compatability.capture_type_error(s_func)
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/compatability/exceptions_2_6.py", line 27, in capture_type_error
    func()
  File "/tmp/.venv/local/lib/python2.7/site-packages/proboscis/case.py", line 350, in func
    func(test_case.state.get_state())
  File "/home/jenkins/workspace/on-tasks/RackHD/test/tests/api/v2_0/skupack_tests.py", line 148, in get_sku_nodes
    Api().nodes_get_catalog_source_by_id(identifier=node_id,source='dmi')
  File "/tmp/.venv/local/lib/python2.7/site-packages/on_http_api2_0/apis/api_api.py", line 2087, in nodes_get_catalog_source_by_id
    callback=params.get('callback'))
  File "/tmp/.venv/local/lib/python2.7/site-packages/on_http_api2_0/api_client.py", line 322, in call_api
    response_type, auth_settings, callback)
  File "/tmp/.venv/local/lib/python2.7/site-packages/on_http_api2_0/api_client.py", line 149, in __call_api
    post_params=post_params, body=body)
  File "/tmp/.venv/local/lib/python2.7/site-packages/on_http_api2_0/api_client.py", line 342, in request
    headers=headers)
  File "/tmp/.venv/local/lib/python2.7/site-packages/on_http_api2_0/rest.py", line 184, in GET
    query_params=query_params)
  File "/tmp/.venv/local/lib/python2.7/site-packages/on_http_api2_0/rest.py", line 177, in request
    raise ApiException(http_resp=r)
ApiException: (404)
Reason: Not Found
HTTP response headers: HTTPHeaderDict({'Content-Length': '110', 'X-Powered-By': 'Express', 'Connection': 'keep-alive', 'ETag': 'W/"6e-xzkTqfeE2PYpA+MvauM03g"', 'Date': 'Tue, 30 Aug 2016 10:19:46 GMT', 'Access-Control-Allow-Origin': '*', 'Content-Type': 'application/json; charset=utf-8'})
HTTP response body: {"message":"No Catalogs Found for Source (dmi).","status":"404","UUID":"e296de98-d6a7-47fb-a432-55dda66c57a9"}

comment by test Jenkins, you can ignore this error
*** BUILD #130 ***

test this please


Split Path Constuctor Into variants

 Split the Path constructor into its eight variants
(which will yield Polygon, ThickPolygon, ClosedCurve,
ThickClosedCurve, Polyline, ThickPolyline,
 Curve, and ThickCurve).

Looks like this is done.  If you're familiar enough, it might be okay to just take on the rest all at once.  Otherwise, we can look them over and plan a few more specific constructors to try.

Up to the task with either approach.


Only import cortex-m when needed

This allows this crate to be used as a true shim crate if not on thumbv6 and else it will start pulling in dependencies when on thumbv6.
It makes it easier in crates above to include this and not get the cortex-m dependency unless when needed, eg heapless which targets more than only ARM targets.

Nice idea, thanks!


Layout problem with long text

Hi, after the new 150 character limit is now changeable, I did find a slightly problematic behaviour for text which does have any newlines. Here are two exmaples with lorem ipsum 50 words and 100 words https://imgur.com/a/5JJT6BW. As long as the text isn't too long before the next newline character, its fine, but otherwise the shown behaviour happens. You can also not scroll the the right, so its a breaking problem if the text gets any longer than the examples. Maybe something like a forced wrap would be a possible solution.

Hi @Jisagi, can you try with pulling the latest master branch? I've seen this issue yesterday and it "should" now be fixed!

Thanks for the very fast response. It does indeed work now, awesome work man!
I'm not sure if I like the new font, but that part is debateable ;D

Yeah I'm not sure about the font either to be honest... 😄
I though because Shhh is mostly used to share passphrases, snippets and/or certs it would be more appropriate to use a monospace font to write and display them (so users can easily distinguish characters like 0 and O etc). I used Hack as this is a widely used font in programming and it had an OFL license. I might experiment with other monospace fonts that would better. Feel free to share any that you think would look great :)

Haha, yeah I get what the idea was and I can agree on that part. The readability def increases for many coding things. The only location I was confused about it (at first), was the two dropdown boxes where it looked like the font didn't load. I wasn't sure if it was me, because I was fiddling with basic auth in apache and forgot allow /static/ for the fonts and such so I first thought it was me breaking it.
Maybe both the text input (not the password input) as well as the displayed secret message on the $HOST/r/... page could use the hack font and the rest the old one for better readabe "normal" text/numbers. That is just an diea though, I personally don't really care as mucha bout a font, as long as its not wingdings ;D


References as Links

Is there a way to format the references of a vulnerability in the report to clickable links?
Since the references are being saved as blank text and not rich text, from what I see, it was not possible for me to convert them to links in the report.
Any ideas?

yes, that's exactly how we are using it, but with a bullet point:
{#references}
•	{.}
{/references}

But it's not clickable in the word document.


'Temporary failure in name resolution' when attempting to run workflows from an Azure ML compute instance

My organisation has set up a compute instance on Azure ML Studio, and the quickstart guide was followed to set up Farmvibes on it.
When attempting to run any workflows (including the example helloworld workflow), the run fails.
Upon inspecting the failure, the attached error appears.
The error persists after restarting the instance and after restarting the farmvibes cluster.
{'hello': RunDetails(start_time=datetime.datetime(2022, 11, 15, 4, 41, 35, 737941), end_time=datetime.datetime(2022, 11, 15, 4, 42, 35, 895460), reason='RuntimeError: status=<OpStatusType.failed: \'failed\'> ename="<class \'RuntimeError\'>" evalue=\'Traceback (most recent call last):
  File "/opt/conda/lib/python3.8/urllib/request.py", line 1354, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "/opt/conda/lib/python3.8/http/client.py", line 1256, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/opt/conda/lib/python3.8/http/client.py", line 1302, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/opt/conda/lib/python3.8/http/client.py", line 1251, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/opt/conda/lib/python3.8/http/client.py", line 1011, in _send_output
    self.send(msg)
  File "/opt/conda/lib/python3.8/http/client.py", line 951, in send
    self.connect()
  File "/opt/conda/lib/python3.8/http/client.py", line 1418, in connect
    super().connect()
  File "/opt/conda/lib/python3.8/http/client.py", line 922, in connect
    self.sock = self._create_connection(
  File "/opt/conda/lib/python3.8/socket.py", line 787, in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
  File "/opt/conda/lib/python3.8/socket.py", line 918, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Temporary failure in name resolution

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/conda/lib/python3.8/site-packages/vibe_agent/worker.py", line 129, in run_op
    return factory.build(spec).run(input)
  File "/opt/conda/lib/python3.8/site-packages/vibe_agent/ops.py", line 221, in run
    items_out = self.storage.store(self.name, run_id, stac_results, cache_info)
  File "/opt/conda/lib/python3.8/site-packages/vibe_agent/storage/local_storage.py", line 137, in store
    self._catalog_cleanup(catalog)
  File "/opt/conda/lib/python3.8/site-packages/vibe_agent/storage/local_storage.py", line 113, in _catalog_cleanup
    catalog.validate_all()
  File "/opt/conda/lib/python3.8/site-packages/pystac/catalog.py", line 874, in validate_all
    self.validate()
  File "/opt/conda/lib/python3.8/site-packages/pystac/stac_object.py", line 54, in validate
    return pystac.validation.validate(self)
  File "/opt/conda/lib/python3.8/site-packages/pystac/validation/__init__.py", line 31, in validate
    return validate_dict(
  File "/opt/conda/lib/python3.8/site-packages/pystac/validation/__init__.py", line 102, in validate_dict
    return RegisteredValidator.get_validator().validate(
  File "/opt/conda/lib/python3.8/site-packages/pystac/validation/stac_validator.py", line 101, in validate
    core_result = self.validate_core(
  File "/opt/conda/lib/python3.8/site-packages/pystac/validation/stac_validator.py", line 217, in validate_core
    self._validate_from_uri(stac_dict, schema_uri)
  File "/opt/conda/lib/python3.8/site-packages/pystac/validation/stac_validator.py", line 162, in _validate_from_uri
    schema, resolver = self.get_schema_from_uri(schema_uri)
  File "/opt/conda/lib/python3.8/site-packages/pystac/validation/stac_validator.py", line 150, in get_schema_from_uri
    s = json.loads(pystac.StacIO.default().read_text(schema_uri))
  File "/opt/conda/lib/python3.8/site-packages/pystac/stac_io.py", line 275, in read_text
    return self.read_text_from_href(href)
  File "/opt/conda/lib/python3.8/site-packages/pystac/stac_io.py", line 292, in read_text_from_href
    with urlopen(href) as f:
  File "/opt/conda/lib/python3.8/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/opt/conda/lib/python3.8/urllib/request.py", line 525, in open
    response = self._open(req, data)
  File "/opt/conda/lib/python3.8/urllib/request.py", line 542, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/opt/conda/lib/python3.8/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/opt/conda/lib/python3.8/urllib/request.py", line 1397, in https_open
    return self.do_open(http.client.HTTPSConnection, req,
  File "/opt/conda/lib/python3.8/urllib/request.py", line 1357, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [Errno -3] Temporary failure in name resolution>
\' traceback=[\'  File "/opt/conda/lib/python3.8/site-packages/vibe_agent/worker.py", line 246, in run
    output = self.run_op_output_handler(content, run_id)
\', \'  File "/opt/conda/lib/python3.8/site-packages/vibe_agent/worker.py", line 278, in run_op_output_handler
    return self.run_op(content, run_id)
\', \'  File "/opt/conda/lib/python3.8/site-packages/vibe_agent/worker.py", line 273, in run_op
    raise RuntimeError("".join(ret.format()))
\']', status='failed')}

Hello @NicholasBerryman, we do validation of the STAC documents we create within FarmVibes.AI workflows.
It looks like your cluster isn't resolving names correctly. Can the host machine resolve "schemas.stacspec.org"?
What is the output of the command below?
~/.config/farmvibes-ai/kubectl exec -it deployment/terravibes-worker -- sh -c "pip install --user stac-validator ; /tmp/.local/bin/stac-validator https://raw.githubusercontent.com/stac-extensions/projection/main/examples/item.json"

If networking in your cluster is working OK, you should see output similar to
...

Thanks for using STAC version 1.0.0!

[
    {
        "version": "1.0.0",
        "path": "https://raw.githubusercontent.com/stac-extensions/projection/main/examples/item.json",
        "schema": [
            "https://stac-extensions.github.io/projection/v1.0.0/schema.json",
            "https://schemas.stacspec.org/v1.0.0/item-spec/json-schema/item.json"
        ],
        "valid_stac": true,
        "asset_type": "ITEM",
        "validation_method": "default"
    }
]

Running that command gives another 'temporary failure in name resolution' (attached).
Interestingly, running a CURL to that url works fine from the host context. It seems it's just an issue with the cluster.

Seems to be an issue with docker networking. Do you have any custom firewall rules that might be interfering with the network?
Was the AML Compute Instance added to an existing virtual network with custom networking policies?
I'm spinning up an AML instance do some debugging...

@NicholasBerryman, what is the output of running docker exec -it farmvibes-ai cat /etc/resolv.conf? In the AML CI I just tested, I get
search az1hnem5gzcelllfkly3wu2y5g.xx.internal.cloudapp.net
nameserver <IP_ADDRESS>
options ndots:0

Where <IP_ADDRESS> is the host VM's IP address.
What happens if you run docker exec -it farmvibes-ai sh -c "echo nameserver <IP_ADDRESS> > /etc/resolv.conf" to change the kubernetes cluster's host DNS to point to <IP_ADDRESS>?
Does STAC validation work now?
Does running docker exec -it farmvibes-ai curl https://stacspec.org/ show any output now?

Running docker exec -it farmvibes-ai curl https://stacspec.org/ seems to work regardless of DNS server (<IP_ADDRESS> or <IP_ADDRESS>), but the STAC validation command produces the same error as above with both DNS servers.
The steps I followed in the setup look identical to yours.
I'll also have a chat to the relevant people in my organisation to see if there could be any firewall issues that I've not been made aware of.

We're working on an update to the images that will not run validation for catalogs created by us.
It'd be nice to know whether your firewall is blocking any types of outbound connections, though.

Hi @NicholasBerryman, were you able to chat with your network admins?

Not yet, unfortunately. It's a bit of a busy time right now (harvest well is underway here), so it might take a little while.
I'll make sure to update this issue when I find out what firewall settings might've been interfering.

I was thinking about this for a while, what happens if you try to rewrite DNS requests from the containers?
Something like the following should work?
sudo iptables -t nat -A PREROUTING -p udp -d <IP_ADDRESS>  --dport 53 -j DNAT --to <your DNS server IP>

If you are using systemd-resolved, you should be able to see your actual DNS server with resolvectl status | grep Current DNS. Otherwise, your DNS server should be listed on /etc/resolv.conf. On my system, I get this:
$ resolvectl status | grep "Current DNS"
  Current DNS Server: <IP_ADDRESS>

So, on my system, that iptables line would read
sudo iptables -t nat -A PREROUTING -p udp -d <IP_ADDRESS>  --dport 53 -j DNAT --to <IP_ADDRESS>

BTW, we are changing our kubernetes implementation backend and we are implementing some DNS fixes that might help in cases such as this.

Looks like some combination of the most recent updates here and some changes in my organisations firewall settings have solved this.
Thanks for helping troubleshoot!
Feel free to close this issue.


:buildMetadata Exception in thread "main" java.lang.IllegalArgumentException

When I add the plugin and build the my project (tns run android), I get the following error message:
:buildMetadata
Exception in thread "main" java.lang.IllegalArgumentException: Class com.squareup.picasso.ContentStreamRequestHandler conflict: ~/.gradle/caches/modules-2/files-2.1/com.squareup.picasso/picasso/2.5.2/7446d06ec8d4f7ffcc53f1da37c95f200dcb9387/picasso-2.5.2.jar and ~/git/nativeTest/spotwild-app/node_modules/nativescript-image-cache-it/platforms/android/picasso-2.5.2.jar
	at com.telerik.metadata.ClassRepo.cacheJarFile(ClassRepo.java:21)
	at com.telerik.metadata.Builder.build(Builder.java:39)
	at com.telerik.metadata.Generator.main(Generator.java:44)
:buildMetadata FAILED

It tried almost everything:

tns platform remove android -> tns platform add android
remove folder ~/.gradle/caches
remove folder platforms/android/build
tns platform android clean
installed different versions of android apks and tried the build with them

When I remove the local picasso-2.5.2.jar (after a failed build) it's working fine, but it seems there are missing resource values, which are there without the plugin like the "com.google.android.geo.API_KEY".
It looks like it's some kind of strange caching problem.
My current setup:
Nativescript 2.3
Android SDK 23
Android Build-Tools 23.0.3
Android Platform Tools 25
Android SDK Tools 25.2.2
Android Support Repository 39
Google Play Services 37
Google Repository 38
Any ideas, any thoughts? thanks in advance

Can confirm the exceptions on VanillaJS {N} 2.5 Android..The plugin is not working at all.


[improve] [client] PIP-344 support feature flag supportsGetPartitionedMetadataWithoutAutoCreation

Motivation & Modifications
PIP-344 Correct the behavior of the public API pulsarClient.getPartitionsForTopic(topicName)
Section Backward & Forward Compatibility

Old version client and New version Broker: The client will call the old API.

New version client and Old version Broker: The feature flag supports_binary_api_get_partitioned_meta_with_param_created_false will be false. The client will get a not-support error if the param createIfAutoCreationEnabled is false.

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository: x

/pulsarbot rerun-failure-checks

/pulsarbot rerun-failure-checks


feat: Enhancing Lighthouse Score for Improved Website Performance

Description of the new feature.
Currently, our website's Lighthouse score falls short of the desired standards, which can affect its accessibility, speed, and overall usability.
Describe briefly how you would implement this new feature.
Some steps to implement this enhancement-
1. Enhancing performance metrics
2. Addressing accessibility issues such as color contrast, semantic markup, and screen reader compatibility
3. Optimizing layouts, images
4. Implementing search engine optimization (SEO) techniques

Screenshots Example (if applicable)
No response
Additional information
No response
Contributor terms

[X] I agree to follow the Contributing Instructions

Please assign me this issue so that I can work on this issue under GSSOC'23.


Publish documentation

API docs should be built and published on release.

Release v.0.16 gets us most of the way there, publishing to https://bobkerns.github.io/physics-math/docs/v0.1.16/api/index.html.
I'll open separate tickets for the individual issues remaining.


Use MessagePack encoding for communications

We should switch to the MessagePack encoding for communications between the manager and agents.
This will allow greater flexibility and remove the need to JSON-encode data with arbitrary structure, as well as improve performance when handling binary data.
The main downside of MessagePack is the lack of schema enforcement, but this shouldn't be much of a problem. Perhaps we can substitute Pydantic models for schema validation.

In fact, we should conform at least mostly to asynchronous msgpack-rpc.


Allow for custom sink file-based configuration

Less of an issue and more a small feature request:
Currently custom sinks have to be configured via DSL
loggingConfiguration(append = true) {
    sink("SINKNAME", MySink())
}

Which divides the configuration into a json-file and this DSL appendix, at least in my case.
Therefore, a simple registry, where we could register Sink types based on an identifier, would be a great addition.
Cheers,

Good start ;)
I would suggest going all the way, though:
"sinks": {
  "XRender": {
    "render": "com.example.render.XRender",
    "sender": "STDOUT"
  },
  "OTSink": {
    "render": "com.example.render.OpenTelemetryLogRecord",
    "sender": "com.example.render.OpenTelemetryEventSender"
  }
}

How about that?

I have created some code for named renderer and sender classes. You can try them in the latest 0.6.0-SNAPSHOT release of Klogging.
I haven’t written docs yet but you need classes like these:
package com.example.logging

import io.klogging.rendering.Renderer
import io.klogging.rendering.RenderString
import io.klogging.sending.Sender
import io.klogging.sending.StringSender

class MessageOnlyRenderer : Renderer {
    override fun renderString() : RenderString = { event ->
        event.message
    }
}

class RabbitHoleSender : Sender {
    override fun sendString() : StringSender = { str ->
        downTheRabbitHole(str)
    }
}

These classes are loaded using no-argument constructors, which might prove limiting if you need them to have access to state. At this stage they are experimental.
Let me know what you think.

Looks great, I'll have a go with it. Thank you

This change and bugfix #218 are in release 0.5.8.

Hi again, so I tried it out.
Unfortunately we talked cross purposes, I actually need an EventSender, handling LogEvents.
In this context, is it possible to open up the LogEvent class, currently I have to workaround inserting internal properties in the items map.
May I suggest expanding this to include EventSender classes: (never worked with Gradle, so I dont trust myself to create a fork)
public data class FileSinkConfiguration(
    val renderWith: String? = null,
    val sendTo: String? = null,
    val seqServer: String? = null,
    val apiKey: String? = null,
    val checkCertificate: Boolean? = null,
    val splunkServer: SplunkEndpoint? = null,
    val renderHec: RenderHec? = null,
    val eventSender: String? = null,
) {
    internal fun toSinkConfiguration(): SinkConfiguration? {
        val renderer = builtInRenderers[renderWith]
            ?: loadRendererByName(renderWith)
            ?: renderHec?.renderer
        if(eventSender != null){
            when(val eventSender = loadEventSenderByName(eventSender)){
                null -> warn("File Configuration", "EventSender $eventSender not found in classpath!", null)
                else -> return SinkConfiguration(eventSender = eventSender)
            }
        }
        if (splunkServer != null) {
            return SinkConfiguration(eventSender = splunkHec(splunkServer.evalEnv(), renderer ?: renderHec()))
        }
        if (seqServer != null) {
            return seq(
                evalEnv(seqServer),
                apiKey?.let { evalEnv(it) },
                checkCertificate ?: true,
                renderer ?: RENDER_CLEF,
            )
        }
        val sender = builtInSenders[sendTo]
            ?: loadSenderByName(sendTo)
        return if (renderer != null && sender != null) {
            SinkConfiguration(renderer, sender)
        } else {
            null
        }
    }

Hi @chile12
The latest snapshot builds of Klogging specify an interface called EventSender that can be implemented by a class on the classpath.
public interface EventSender {
    public operator fun invoke(batch: List<LogEvent>)
    public operator fun invoke(event: LogEvent) {
        invoke(listOf(event))
    }
}

Name the class in JSON, for example:
"sinks": {
  "custom": {
    "eventSender": "com.example.CustomEventSender"
  }
}

Here is a silly example I created, to prove that it works:
class Mirror : EventSender {
    override fun invoke(batch: List<LogEvent>) {
        batch.forEach { println("${it.message}<==>${it.message.reversed()}") }
    }
}

Looks great, I assume this will crop up in the next tag release?
Also what do you think about opening data class LogEvent ?
Sorry for all the suggestions ;)

Yes, and I am going to refactor both RenderString and SendString to be interfaces with operator fun invoke() functions to get consistency. The recent Renderer and Sender interfaces will go away. Sorry for the inconvenience (I assume that only you would be using those interfaces at this stage).
What is your use case for opening up LogEvent? What do you want to add to it?

Well in my specific use case I have to pass along the Open Telemetry context (which changes with every service call):
        context (CoroutineScope)
        suspend fun traceableLogEvent(event: LogEvent): LogEvent {
            val scope = this@CoroutineScope
            return LogEvent(
                    getId(event.logger),
                    event.timestamp,
                    event.host,
                    event.logger,
                    getContext(scope),
                    event.level,
                    event.template,
                    formatMessage(event.message, event.items),
                    event.stackTrace,
                    // extend items with the current Context as a workaround -> needs to be removed before emitting to Sink
                    event.items.plus(OpenTelemetryContextKey to scope.coroutineContext.getOpenTelemetryContext())
            )
        }

Klogging can map information from other coroutine contexts. Would that do what you want?
It can also add items from any other source.

@mjstrasser While I think that is a step in the right direction, decoupling the sink from the context chain is the main issue. Otherwise, I could just reuse the context within my Sink and pass along anything I'd please.
This is the location in the Sink class where a new Context is created (and not reused)
    private val sinkChannel: Channel<LogEvent> by lazy {
        debug("Sink", "Starting sink $name")
        val channel: Channel<LogEvent> = Channel(sinkChannelCapacity)
        launch(CoroutineName("sink-$name")) {

@chile12 I am not sure what you are trying to achieve and maybe you misunderstand the role of sinks.
By the time a log event is emitted, it should have all the information it needs, including context at the time it occurred. It should not need any context from sinks.
Sinks only exist to move log events to some destination. They create channels to decouple event dispatching from sending. Maybe this diagram on Klogging internal process makes this a bit clearer:

I understand, I do actually need the context within the sink, but this is not an issue of Klogging.
I will continue propagating in within the items map, which works just fine.
Thank you, the eventsender mechanic is great though; I'm closing this issue.


feat: [CHAOS-3378]: Adding service discovery as part of platform

Can you share the repository link for SDM helm charts.

Can you share the repository link for SDM helm charts.

Here is the sdm charts: https://github.com/wings-software/service-discovery/tree/release/0.8.x/chart

Can you share the repository link for SDM helm charts.

https://console.cloud.google.com/artifacts/docker/gcr-prod/us-west1/harness-helm-artifacts/service-discovery-manager
us-west1-docker.pkg.dev/gcr-prod/harness-helm-artifacts/service-discovery-manager:0.1.2


Update the simple server example code for py3 modern syntax

This updates the code for py3 modern syntax
This is just a copy from https://github.com/twisted/twisted.github.io/issues/20#issuecomment-1224167394

Note that I have created this PR as an example of how you can contribute to the twisted web page.
I will let others suggest "the right(tm)" examples and do the review.

@adiroiban I actually copy pasted the snippet to make sure it worked, and found a few bugs, I also ran it through isort and black

We can use just jinja to include external python file ... or HTML <object> tag https://developer.mozilla.org/en-US/docs/Web/HTML/Element/object


Templates: Use JPEG images instead of PNG where appropriate

Feature Description

I noticed quite a few templates use PNG files for photos, where JPEG would make much more sense and bring down file size.
Affected templates noticed so far:

summer-adventure-guide
summer-fashion-collection
sustainability-tips
technology-advice
tips-for-throwing-an-outdoor-luau
tv-show-recap
ultimate-comparison
ways-to-eat-avocado

Potentially more!
We should:

Convert all the applicable PNG files to JPEG in the https://github.com/GoogleForCreators/wp.stories.google repo
Submit a PR there to update the files. Make sure the files are tracked with LFS.
Update the template files in a PR in this repo here to change the file extension accordingly

Alternatives Considered

Note: WebP would be best but we don't use that just yet due to browser support.
Additional Context

From the looks of it there are around 588 png references in the templates. That is a a lot files to change. Should this be automated. What settings should be used? Quality / color profile etc.
I am also unable to see where these image files are stored.

They are stored in the https://github.com/GoogleForCreators/wp.stories.google repo mentioned above.
There's also detailed documentation on (templates) image storage:
https://github.com/google/web-stories-wp/blob/main/docs/cdn.md
https://github.com/google/web-stories-wp/blob/main/docs/external-template-creation.md
We need to be careful. Not all PNG files need to be changed per se. If the resulting JPEG is bigger than the PNG file or has worse quality it obviously doesn't make sense.
And yes, this can definitely be automated to some degree, e.g. by using ImageMagick. Quality level 90 should be reasonable.
Suggestion:

Go through all the templates in this folder: https://github.com/GoogleForCreators/wp.stories.google/tree/main/public/static/main/images/templates
Convert all PNG images in a folder to JPEG using magick mogrify -format jpg -quality 90 *.png
If the JPEG files are smaller than the PNG files with same quality, keep them and delete the PNG files. Otherwise delete the JPEG files again.
Submit a PR on the GoogleForCreators/wp.stories.google repo to update the image files. Make sure the files are tracked with Git LFS (see documentation above).
Update the image URLs in the template files in a PR in this repo here to change the file extension accordingly

If you have any questions or concerns or would want me to do that instead, just let me know.

I just tried to push from wp.stories.google, but either from my own fork. it doesn't work. I was unable to setup lfs. I think someone with access to the repo will need to push this change. :(
I can push change to our repo through.

Here is the script I ran locally.
for dir in /Users/jonny/workspace/wp.stories.google/public/static/main/images/templates/*
do
  magick mogrify -format jpg -quality 90  ${dir}/*.png;
done

Tested against https://stories-qa-wordpress-amp.pantheonsite.io/wp-admin/, using PR #10104.
Opened the templates below, inspecting elements, and images are saved as .JPEG.
Used https://github.com/google/web-stories-wp/pull/10104/files to identify images that should be updated.

summer-adventure-guide
summer-fashion-collection
sustainability-tips
technology-advice
tips-for-throwing-an-outdoor-luau
tv-show-recap
ultimate-comparison
ways-to-eat-avocado


fix: Clippy warnings is fixed

Fix clippy warnings
Enable clippy in CI

@folkertdev well, it's great. It would be better cherry-pick commits to save author or ping my... Anyway thank you.


Attention Maps visualization

Hi,
I am trying to visualize the self attention maps on my input image trying to extract them from the model, unfortunately I am not succeeding in this task. Could you give me a hint on how to do it?
I share you the part of the code in which I am trying to do this task.
attention_maps = []
for module in model.modules():
    if hasattr(module,'attention_patches'):
        print(module.attention_patches.shape)
        if module.attention_patches.numel() == 224*224:
           attention_maps.append(module.attention_patches)

for attention_map in attention_maps:
    attention_map = attention_map.reshape(224, 224, 1)
    plt.imshow(sample['image'].permute(1, 2, 0), interpolation='nearest')
    plt.imshow(attention_map, alpha=0.7, cmap=plt.cm.Greys)
    plt.show()

Hi. I am also trying to do this for my 3D Swin Network. @imanuelroz  have you managed to solve the issue? Or has anybody else got any solutions that could help? Thanks!


Dockerize script

Make script run in Docker container.

Will not be implemented. Integration is no longer supported.


Documentation does not explain importResolver

In the LG In Action section, it uses some sample code that uses an importResolver.
Nowhere in these docs does it define what this resolver is, or how it should be used.
You can make a function that fulfill's the signature for the delegate, but this doesn't communicate to a developer what they're supposed to write to make this code work or adequately parse the file correctly.
I'm currently going to console writeline what the parameters passed in are, otherwise I'm stuck and don't know how I should proceed.

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

ID: 59573a90-7a7a-418c-f661-90f53a00e47d
Version Independent ID: cec084c0-0823-0c68-887c-bc660ac109cc
Content: Language Generation - Bot Service
Content Source: articles/v4sdk/bot-builder-concept-language-generation.md
Service: bot-service
GitHub Login: @Kamrani
Microsoft Alias: kamrani

Thanks for letting us know about the incorrect information @JPalmerDev. I updated the snippets in https://github.com/MicrosoftDocs/bot-docs-pr/pull/2440, the changes should go live.

Closing now that the changes are live.


Always enable time and bool synopses

This changes the catalog to always build time and bool synopses. These are really compact, so there is no downside to having them always enabled.

What about a min-max sketch for durations?

What about a min-max sketch for durations?

We don't have that in the code base right now and it's not in scope for this PR. Adding that is a bit more work.

We don't have that in the code base right now and it's not in scope for this PR

I don't follow. If we have it for time, we necessarily have it for duration because time is just a duration with an epoch.

@mavam I opened #3641 to implement that separately. It's hard to test right now, and while I've empirically verified it I'm not sure we should rely on the old synopsis infrastructure too much. Its serialization is a mysterious blackbox. It seems to work from some basic tests, but we should test that PR carefully in larger setup to verify its backwards compatibility.


tiny project

Is there a tiny project like a blog system or something else that can easily hands on?

Hi, you can see the design of the scheduling center 2.0
The address is: FSchedule2

Take a look at this demo library too


Add testing for Tumbleweed via OS_VERSION=tumbleweed

I would however really like to add a Tumbleweed job to the CI, otherwise the tests will silently break next week.

its not yet passing, there are some unsolved issues. I would still like to merge this state when its good and evolve it until a CI job will be going green.


ci: remove explicit required variables - no longer needed

Description
IBM Cloud catalog will now mark any variable as required if it has no default value, so we no longer need to explicitly mark them as required in ibm_catalog.json
Types of changes in this PR
Changes that affect the core Terraform module or submodules

[ ] Bug fix
[ ] New feature
[ ] Dependency update

Changes that don't affect the core Terraform module or submodules

[ ] Examples or tests (addition or updates of examples or tests)
[ ] Documentation update
[x] CI-related update (pipeline, etc.)
[ ] Other

Release required?
Identify the type of release. For information about the changes in a semantic versioning release, see Release versioning.

[x] No release
[ ] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content
If a release is required, replace this text with information that users need to know about the release. Write the release notes to help users understand the changes, and include information about how to update from the previous version.
Your notes help the merger write the commit message for the PR that is published in the release notes for the module.
Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

Merge actions for mergers

Use a relevant conventional commit message that is based on the PR contents and any release notes provided by the PR author. The commit message determines whether a new version of the module is needed, and if so, which semver increment to use (major, minor, or patch).
Merge by using "Squash and merge".

/run pipeline

:tada: This PR is included in version 4.1.0 :tada:
The release is available on:

GitHub release
v4.1.0

Your semantic-release bot :package::rocket:


Drop redundant  in reference/command-line-tools-reference/kubelet.md

Signed-off-by: Guangwen Feng<EMAIL_ADDRESS>

Thanks for spotting this.
I'm assuming that this was wrong because of a colspan handling bug in the code generator that produced f7da06a
The fix here should be an update to the code generator (and then, once that's done, make a PR against the Kubernetes docs).
@fenggw-fnst would you be willing to report that you've found a bug - see https://github.com/kubernetes/website/issues/new/choose?

👋 @fenggw-fnst . Thanks for your contribution. I agree that an issue should be opened to fix the generator.
Are you able to log an issue? Thanks.

Preview:
https://deploy-preview-35013--kubernetes-io-main-staging.netlify.app/docs/reference/command-line-tools-reference/kubelet/#synopsis

Thanks for the review, I have opened issue #35043 to report the bug.
But it seems that currently this page is manually maintained, see https://github.com/kubernetes/website/pull/33985#issuecomment-1140347560, and the redundant '' is not generated by the code generator, so I suppose we can just merge this PR to fix it.
Please correct me if I am wrong.

Thanks for the review, I have opened issue #35043 to report the bug.
But it seems that currently this page is manually maintained, see #33985 (comment), and the redundant </td> is not generated by the code generator, so I suppose we can just merge this PR to fix it.
Please correct me if I am wrong.

Hi @fenggw-fnst . I think you are correct. The kubelet page is not auto-generated.
/lgtm

/kind cleanup

/approve


rust-analyzer.completion.snippets is formatted badly in the manual

Seems like to be a limitation of adoc. It breaks on multiline defaults. Should we display the default in the description with the doc, maybe like this https://github.com/weirane/rust-analyzer/blob/ac3d44ea6a8/docs/user/generated_config.adoc#user-content-rust-analyzer.completion.snippets ?

I'd put the default below, but that looks nice.


[Concurrency] Propagate Darwin vouchers across async tasks.

Darwin OSes support vouchers, which are key/value sets that can be adopted on a thread to influence its execution, or sent to another process. APIs like Dispatch propagate vouchers to worker threads when running async code. This change makes Swift Concurrency do the same.
The change consists of a few different parts:

A set of shims (in VoucherShims.h) which provides declarations for the necessary calls when they're not available from the SDK, and stub implementations for non-Darwin platforms.
One of Job's reserved fields is now used to store the voucher associated with a job.
Jobs grab the current thread's voucher when they're created.
A VoucherManager class manages adoption of vouchers when running a Job, and replacing vouchers in suspended tasks.
A VoucherManager instance is maintained in ExecutionTrackingInfo, and is updated as necessary throughout a Job/Task's lifecycle.

rdar://76080222

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - c04c5870a7116b490b4ac274ea3bd98b9388d5eb

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - c6c3dc675c4d8b845ebc887b51d5fcb3cf366bb6

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - c55c85b84de9f0dd7b2c3d666a83a030faf30a5d

@swift-ci please test

@swift-ci please test


Remove outdated know issues and cleanup storage README

Having a huge "KNOWN ISSUES" header is a pretty good way to scare people off and this issue is pretty outdated by now. Also, I'm requesting a merge into version-1.2.0-dev so this issue will be even more outdated by the time it disappears from the README. @samtstern What do you think?

Yep I believe this is fixed.


Set replyPostProcessor default value from the message container factory

Expected Behavior
Use default value (bean name or class) for @RabbitListener annotation's attribute replyPostProcessor using message container factory like we do for AfterReceivePostProcessors and BeforeSendReplyPostProcessors.
Current Behavior
We can set replyPostProcessor value only from @RabbitListener annotation.
Example :
@RabbitListener(queues = "test.header", group = "testGroup", replyPostProcessor = "echoCustomHeader")
public String capitalizeWithHeader(String in) {
    return in.toUpperCase();
}

@Bean
public ReplyPostProcessor echoCustomHeader() {
    return (req, resp) -> {
        resp.getMessageProperties().setHeader("myHeader", req.getMessageProperties().getHeader("myHeader"));
        return resp;
    };
}

Context
Currently we need to add a custom header (that we get from inbound request) to our responses, and we can't do that using AfterReceivePostProcessors or BeforeSendReplyPostProcessors because MessagePostProcessor.postProcessMessage give only the current message as parameter.
The best solution for this probleme is to use replyPostProcessor, but we can't change all @RabbitListener annotations to add this attribute.
That's why I suggest to add new method to the container factory to make changing default replyPostProcessor value possible. (like for setAfterReceivePostProcessors and setBeforeSendReplyPostProcessors)

Agreed.
This is really a valid requirement.
We have a logic like this already:
JavaUtils.INSTANCE // NOSONAR
					.acceptIfNotNull(this.beforeSendReplyPostProcessors,
							messageListener::setBeforeSendReplyPostProcessors)

where the mentioned replyPostProcessor is really a property of the same messageListener.
So, that BaseRabbitListenerContainerFactory can really have such a new replyPostProcessor option exposed.
Feel free to come back to us with a contribution: https://github.com/spring-projects/spring-amqp/blob/main/CONTRIBUTING.adoc
Thank you!

It's actually this code that sets the RPP...
https://github.com/spring-projects/spring-amqp/blob/a3aedc67072bdfc01850dec7f87195cd8bf86381/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/config/BaseRabbitListenerContainerFactory.java#L124-L125
Not the setBeforeSendReplyPostProcessors.
In the meantime, you can use this...
@Bean
public ReplyPostProcessor echoCustomHeader(AbstractRabbitListenerContainerFactory<?> factory) {
	ReplyPostProcessor rpp = (req, resp) -> {
		resp.getMessageProperties().setHeader("myHeader", req.getMessageProperties().getHeader("myHeader"));
		return resp;
	};
	factory.setContainerCustomizer(container -> {
		MessagingMessageListenerAdapter listener = ((MessagingMessageListenerAdapter) container
				.getMessageListener());
		listener.setReplyPostProcessor(rpp);
	});
	return rpp;
}

Yes, but it also could be done by the BaseRabbitListenerContainerFactory as a common place for such a property.
The @RabbitListener one can override, of course.

Original SO question: https://stackoverflow.com/questions/71149751/configure-spring-amqp-to-use-default-bean-for-rabblitlisteners-replypostproces/71159878#71159878


ffmpeg/decode: fix autoscale usage break

The -autoscale 0 option no longer works and causes pipeline to error/abort.
The correct usage, apparently, is to use -noautoscale.
Since FFMpeg commit 25c98566e8a45b50415c80ca6450282f2ec0657a
Author: Anton Khirnov<EMAIL_ADDRESS>Date:   Fri Dec 15 02:31:03 2023 +0100

    fftools/ffmpeg_opt: drop HAS_ARG from auto{scale,rotate}

cc: @wenqingx

Emergency merge after pre-check since all ffmpeg dec/enc tests are broken without this.


Error while trying to add scrap

Hello guys ive been fiddling with this for hours now and cant figure this out. Ive modified the simpleuserhandler script to put in a scrap every time a item that isnt a scrap is added(just for testing purposes) But it crashes with the following error:
[-=VC=- VenomBot 2015-01-27 22:16:03] WARN: Unknown error occurred: System.Argum
entNullException: Value cannot be null.
Parameter name: source
at System.Linq.Enumerable.Where[TSource](IEnumerable1 source, Func2 predica
te)
at SteamTrade.Inventory.GetItemsByDefindex(Int32 defindex) in m:\SteamBot-mas
ter\SteamTrade\Inventory.cs:line 79
at SteamTrade.Trade.AddItemByDefindex(Int32 defindex) in m:\SteamBot-master\S
teamTrade\Trade.cs:line 331
at SteamBot.SimpleUserHandler.OnTradeAddItem(Item schemaItem, Item inventoryI
tem) in m:\SteamBot-master\SteamBot\SimpleUserHandler.cs:line 80
at SteamTrade.Trade.FireOnUserAddItem(TradeUserAssets asset) in m:\SteamBot-m
aster\SteamTrade\Trade.cs:line 729
at SteamTrade.Trade.HandleTradeVersionChange(TradeStatus status) in m:\SteamB
ot-master\SteamTrade\Trade.cs:line 703
at SteamTrade.Trade.HandleTradeOngoing(TradeStatus status) in m:\SteamBot-mas
ter\SteamTrade\Trade.cs:line 599
at SteamTrade.Trade.Poll() in m:\SteamBot-master\SteamTrade\Trade.cs:line 572
at SteamTrade.TradeManager.<>c__DisplayClass6.b__5() in m:
SteamBot-master\SteamTrade\TradeManager.cs:line 264
The Code for simpleuserhandler can be found at [ http://pastebin.com/CpLsFasz ]
thanks guys!

#427 #527

My guess: your bots inventory is private or friends only. If so, make it public and try again in ~10 minutes (backpack API is cached).

Jesse, I believe this was reopened as a legitimate bug according to the
thread above?
On 28 Jan 2015 19:25, "Jesse Cardone"<EMAIL_ADDRESS>wrote:

Closed #701 https://github.com/Jessecar96/SteamBot/issues/701.
—
Reply to this email directly or view it on GitHub
https://github.com/Jessecar96/SteamBot/issues/701#event-226317155.

What I mean is, regardless of the backpack state, this still shouldn't
error in this way.
On 28 Jan 2015 19:26, "James Botting"<EMAIL_ADDRESS>wrote:

Jesse, I believe this was reopened as a legitimate bug according to the
thread above?
On 28 Jan 2015 19:25, "Jesse Cardone"<EMAIL_ADDRESS>wrote:

Closed #701 https://github.com/Jessecar96/SteamBot/issues/701.
—
Reply to this email directly or view it on GitHub
https://github.com/Jessecar96/SteamBot/issues/701#event-226317155.

So how do i fix it?

Your bots inventory is private. You need to set it to public or friends
only and that should fix your issue. We just need to tidy up this error
message.
On 30 Jan 2015 02:56, "ElementalVenom"<EMAIL_ADDRESS>wrote:

So how do i fix it?
—
Reply to this email directly or view it on GitHub
https://github.com/Jessecar96/SteamBot/issues/701#issuecomment-72146199.


add a dependency; fix deprecation warning

getting rid of this warning:
https://github.com/ros-controls/ros2_control/blob/master/controller_manager/src/controller_manager.cpp#L160C1-L167
and joint_state_publisher_gui wasn't installed when running view_robot.launch.py inside docker.

@mergifyio backport humble

I realized now that this change was not released yet with ros2_control -> our demos do not work with a ros2_control binary installation at the moment.

@mergifyio backport humble


base64编码字符串不正确的时候，try/catch没有捕获到error

客户端
let buff = fs.readFileSync(fileName)
let base64Str = buff.toString('base64')
base64Str = base64Str.substring(0, base64Str.length - 100) （base64Str.length > 100)
服务端
try {
let buffer = Buffer.from(base64Str, 'base64')
let img = sharp(buffer)
await img.metadata()
sharp(buffer).resize(width, height)
} catch (error) {
}
有输出
Uncaught Error: VipsJpeg: Premature end of JPEG file
VipsJpeg: out of order read at line 1008
但是我没有在catch里面捕获到error，请问下是什么原因？

Does the following change, to await a call to toBuffer, ensure the error is caught?
- sharp(buffer).resize(width, height)
+ await sharp(buffer).resize(width, height).toBuffer()

If not, please provide a complete, standalone code sample and image that allows someone else to reproduce this problem.

Does the following change, to await a call to toBuffer, ensure the error is caught?
- sharp(buffer).resize(width, height)
+ await sharp(buffer).resize(width, height).toBuffer()

If not, please provide a complete, standalone code sample and image that allows someone else to reproduce this problem.

谢谢，这样是可以的。
之前，我是想用sharp(buffer).resize(width, height)返回stream，然后上传到Aliyun OSS，而不用转成buffer；
这样有办法吗？

谢谢，这样是可以的。
之前，我是想用sharp(buffer).resize(width, height)返回stream，然后上传到Aliyun OSS，而不用转成buffer；
这样有办法吗？

The use of Stream-based output means you can no longer "catch" errors, instead you'll need to listen for the error event.
- sharp(buffer).resize(width, height)
+ sharp(buffer).resize(width, height).on('error', err => { ... })

(This is a Node.js concept rather than being specific to sharp.)

明白了，谢谢


Kulfy: Watch astrosakha.com

Kulfy requests the watch of the watch_keyword astrosakha\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

astrosakha\.com has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Approved by tripleee in Charcoal HQ


Update links in README

Removing the Bluemix links and replacing them with IBM Cloud seems useful. Anyone working on it...?

Removing the Bluemix links and replacing them with IBM Cloud seems useful. Anyone working on it...?


Fix pilot 504ing on build submission for review on testflight

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context

We're running into a 504 error that seems related in some way to #11828 when trying to upload and submit a build to our nightly testers group. When the build is submitted for review, the call times out with a 504 but the build manages to get in an approved state. However, because an error is thrown, execution is stopped and pilot never tries to add groups to the build, requiring manual input from a team member to make it happen.
Additional context:
Changing the version and submitting a new build for review seems to work fine, only subsequent builds for the same version are hitting the 504.
The 504 doesn't always happen, but it's unpredictable.
Description

This change is a workaround around the iTunesConnect issue until it gets resolved. I just wanted to put this up for review so that we could discuss if that's a fix that could be made available widely within Fastlane, or to see if we should instead rely on other means such as:

Checking our CI logs for such 504 and then triggering lanes meant to only distribute the build to a group (instead of restarting the whole upload process)
Using that fork internally until the timeout gets fixed and regularly rebasing on the tip of fastlane's master.

"Clean" options on this issue seem somewhat limited so if you have other ideas I'd love to hear them.
If this change seems reasonable, I can add test coverage!

Workaround the 504 seems reasonable here. Please include a test if possible, especially with the 504 response included as a fixture.

@snatchev, I tried adding basic tests and I don't think they necessarily required a fixture for the 504 response, let me know if you think otherwise! Also, I have close to zero experience writing tests in ruby / rspec so let me know if there are shortcuts I could have taken or if the outputs I'm expecting should be better :)
Thanks!

The reason I was asking about the fixture is because I think it could be valuable to have a copy of what a 504 response looks like and is reproducible in test. Especially on intermittent or hard-to-reproduce errors.
I am also a little nervous pinning the entire behavior on the exception string containing the character sequence "504". Is there anything additional we could add? For example checking the exception type?
If you can capture and add a response fixture, I would be happy to help with the spec for it.

@snatchev Sorry for the late reply, was busy and will be for the next week as I'll be travelling. I'll get back to this PR after that.
re: the 504 response though, I'm not sure it gives much, especially as it's basically just giving us "response.status == 504".
I did briefly think about introducing a new transient error type in handle_response that would not be "InternalServerError" but something else specific for this request. I think the logic might be too disrupted by that, so I'd be onboard to just specify the error type we're looking for that contains the 504 string!
Also, the worst case scenario of detecting 504 is checking to see if the build's managed to switch states before re-raising the exception if needed, so nothing major there!

Thanks @snatchev! What's the next step to get this PR merged?

Thanks for the ping @thibaudrobelain!  This PR is getting 🚢'd.


NVD database or any other Database sync

Is there any functionality to get the latest updates from NVD for all CVEs present in the findings or is there any way to create our own finding template with a specific section for external references that are automatically fetched from the public vulnerability database

There is no such functionality in DefectDojo


Navigation timeout of 30000 ms exceeded

How to deal with this overtime problem

await page.setDefaultNavigationTimeout(0); in your it. and run mocha with argument --timeout <time in seconds>


Owner fields missing in PushPayload in Repository struct

All the payload structs have all the owner fields but the PushPayload has only name and email.
Were they specifically not added ?

Not to my knowledge, if there are missing fields that you need by all means submit a PR and we can get the rectified :)


TestAdapter uses wrong type for template parameter in constructor

The constructor for TestAdapter asks for a ConversationReference template, but merges this with a value that is type Partial<Activity>.
This does not affect tests written in JavaScript, but for tests written in TypeScript, it is a compile error.
Incompatible types makes it impossible (without assigning to any) to overwrite the default Activity test values for from, recipient, etc., in unit tests.

Thanks... Just took the PR


Storybook props table does no appear on provided design-system example

What version of Turborepo are you using?
1.4.3
What package manager are you using / does the bug impact?
npm, Yarn v1
What operating system are you using?
Mac
Describe the Bug
Storybook props table does not load on the provided examples/design-system.

Expected Behavior
The props table should appear.
To Reproduce

Clone and run the examples/design-system folder
npm run dev
Navigate to the Docs

I've found that running the following works:
turbo run dev --filter=docs

@vimtor did you have an example Button component or was is the default repo version?

@vimtor did you have an example Button component or was is the default repo version?

It was the default repo version

Interesting even when I update all storybook deps I get nothing, no error just got this "as-is".
However, if you move this storybook away from docs and load storybook into the UI library it works fine.

Also running into this issue.

@erickreutz I use the webpack5 builder and have the same issue.

Digging into this further this morning. I found two issues preventing the args table from working.  I suspected that react-docgen-typescript wasn't picking up the .ts outside of the docs repo. Adding "../../packages/**/*.{ts,tsx}" as an include to the reactDocgenTypescriptOptions in main.js fixed this issue. The second issue is that Button defines a single prop of children. Looking at the docs for react-docgen-typescript the option skipChildrenPropWithoutDoc defaults to true. In order for children to show up, I needed to set that to false.

  typescript: {
    reactDocgen: "react-docgen-typescript",
    reactDocgenTypescriptOptions: {
      shouldExtractLiteralValuesFromEnum: true,
      skipChildrenPropWithoutDoc: false,
      propFilter: (prop) =>
        prop.parent ? !/node_modules/.test(prop.parent.fileName) : true,
      include: ["../../packages/**/*.{ts,tsx}"],
    },
  },

Thank you, it kind of works (showing the name and control of the props) but the description of the props and and the description of the component itself is still missing.:/

So for anyone interested, I've figured out a solution that is worked as intended. Hope it helps 👍
I'm using pnpm v7, my stories are within a directory called "stories", co-located where my component are living.
main.ts
const config = {
  "stories": [
    "../node_modules/@acme/core/src/**/stories/*.stories.@(ts|tsx|mdx)"
  ],
  "addons": [
    "@storybook/addon-links",
    "@storybook/addon-essentials",
    "@storybook/addon-interactions",
  ],
  "framework": {
    "name": "@storybook/react-vite",
    "options": {}
  },
  "core": {
    "disableTelemetry": true,
  },
  "typescript": {
    reactDocgenTypescriptOptions: {
      include: ["../core/**/*.{ts,tsx}"]
    },
    "skipBabel": true,
    "check": false,
  },
  "docs": {
    "autodocs": true // "tag"
  }
};

export default config;

package.json
{
  "name": "docs",
  "private": true,
  "version": "0.0.0",
  "type": "module",
  "scripts": {
    "storybook": "storybook dev -p 6006",
    "build": "storybook build",
    "clean": "rm -rf .turbo && rm -rf node_modules",
    "build-storybook": "storybook build"
  },
  "dependencies": {
    "@acme/core": "workspace:*",
    "react": "^18.2.0",
    "react-dom": "^18.2.0"
  },
  "devDependencies": {
    "@storybook/addon-essentials": "^7.0.0-beta.44",
    "@storybook/addon-interactions": "^7.0.0-beta.44",
    "@storybook/addon-links": "^7.0.0-beta.44",
    "@storybook/blocks": "^7.0.0-beta.44",
    "@storybook/react": "^7.0.0-beta.44",
    "@storybook/react-vite": "^7.0.0-beta.44",
    "@storybook/testing-library": "^0.0.14-next.1",
    "@types/react": "^18.0.27",
    "@types/react-dom": "^18.0.10",
    "storybook": "^7.0.0-beta.44",
    "typescript": "^4.9.3"
  }
}


Polling model?

Is there a project that's like this, but runs as a server that offers a single "current list of services" HTTP resource? Possibly with headers / links that let a client of the resource subscribe to future updates? The reason I'd like this is so the swarm listener doesn't have to be configured ahead of time with knowledge of what servers to contact, and so the swarm listener service can scale to multiple containers easily. Also, dependent services wouldn't need to bind mount the Docker socket or speak Docker's protocol to get the current list of services.

If you publish DFSL port 8080, you can get the list of all services using the endpoint /v1/docker-flow-swarm-listener/get-services.

The reason I'd like this is so the swarm listener doesn't have to be configured ahead of time with knowledge of what servers to contact, and so the swarm listener service can scale to multiple containers easily. Also, dependent services wouldn't need to bind mount the Docker socket or speak Docker's protocol to get the current list of services.

I'm not sure I understood this fully. Can you provide an example?

I've confused myself entirely 😄
At the time of opening this issue, I thought:

Docker provided a gRPC API, instead of an HTTP API. Not sure how I got this notion.
Docker's API could only be exposed over a local socket. But I've discovered there is an option to access it over HTTPS.

So I was hoping for something like DFSL that I could use as a bridge between my services and Docker. But that's entirely unnecessary and I can just use the Docker engine API directly.


Changed config to user 'folder'/'files' collections types

Pre-Flight checklist

[x] Screenshots
[x] Testing

[x] Code is tested
[x] Changes have been manually tested

What are the relevant tickets?
Closes #148
Closes #155
What's this PR do?

Changes site config so that the only top level items allowed have a "folder" or a "files" key ("files" key points to a list of config items with a "file" key)
Changes UI for "files"-type configs so that each individual file is displayed on its own line within the listing page, with an "Add" or "Edit" link depending on whether or not the user has created a record for that item
Adds an option to our pagination class to return all records instead of a limited set

How should this be manually tested?

Update your local config via mgmt command
Temporarily add an extra element to "files" in the "metadata" collections item (something like this: {"file":"data/metadata.json","name":"othermetadata","label":"Other Metadata","fields":[{"name":"title","label":"Course Title","widget":"text","required":true},{"help":"A description of the course that will be shown on the course site home page.","name":"description","label":"Course Description","widget":"markdown","minimal":true}]}],"label":"Metadata","category":"Settings"}]})

You should be able to add/edit any one of the individual "files" items in the Metadata section. If you've already added one, there should be an Edit link that opens the sidebar. Otherwise you should see an Add link which sends you to the "add" form. Both forms should save correctly. Also, each item in that Metadata section should be presented in the order that it was defined in the site config
Any background context you want to provide?

I added an option to our pagination class so it could return all records. This seemed appropriate for "files"-type collections items since there can only be 1 for each item in the config. It's very unlikely that a config will define so many items that the API result count will be problematic

Screenshots (if appropriate)

Codecov Report

Merging #172 (789f0d9) into master (73477bc) will decrease coverage by 0.13%.
The diff coverage is 84.84%.

@@            Coverage Diff             @@
##           master     #172      +/-   ##
==========================================
- Coverage   81.95%   81.81%   -0.14%
==========================================
  Files          44       44
  Lines        1308     1320      +12
  Branches      148      150       +2
==========================================
+ Hits         1072     1080       +8
- Misses        219      222       +3
- Partials       17       18       +1

Impacted Files
Coverage Δ

websites/constants.py
100.00% <ø> (ø)

websites/models.py
86.15% <50.00%> (+0.21%)
:arrow_up:

websites/views.py
98.43% <50.00%> (-1.57%)
:arrow_down:

websites/admin.py
82.14% <80.00%> (-1.20%)
:arrow_down:

main/views.py
100.00% <100.00%> (ø)

websites/factories.py
100.00% <100.00%> (ø)

websites/serializers.py
100.00% <100.00%> (ø)

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 73477bc...789f0d9. Read the comment docs.

This looks a little strange to me. Do we have a mockup for this yet? If not I'm fine with adjusting this in a separate PR
Singleton:

Collection:

@noisecapella No mockup for this yet. If we had a similarly-styled "Add" button for the site metadata in your screenshot, it would need to be inline with the title. Our example config only has a single item in that "files" config section, so there's only one line, but remember that it can have multiple items defined, and they would all be rendered in that listing. If we had a fully-styled "Add" button on each of those lines, and those were mixed in with plain text "Edit" links, I'd argue that would be less consistent and less desirable. Consistency was my main goal with this UI
@Ferdi any thoughts on George's comment above?

If the collection is of type "files" and there is only one file in that collection , it should show the form for that file

Every other file shows as an extra tab

@Ferdi I'll add a new issue for those UI changes. This PR is pretty huge and we'd benefit from having it merged sooner rather than later

@noisecapella Ready for review again

@Ferdi Sorry, this comment was way too brief and completely lacked context. I'm thinking that it would be best to merge this with the current UI and implement those suggestions in a separate PR mostly because this introduces a fundamental change in the config structure, and it's a big PR that touches a lot of the codebase so we risk merge conflicts the longer it stays open.
Re: those suggestions, there are some implementation details we need to sort out:

If the collection is of type "files" and there is only one file in that collection , it should show the form for that file

The wrinkle with this is that have a dedicated page for adding a new item, and a sidebar for editing an item. If we wanted to keep this same approach, we would need the "Site Metadata" link in our sidebar to either link to a new page or open the editing UI directly. To support this, we'd need to add an API call to fetch WebsiteContent records at the point when we're building the sidebar menu. We haven't had to do that up to this point. We just build the sidebar menu from the config.

Every other file shows as an extra tab

Since a "files" config item can include an unlimited number of items, we may run into horizontal spacing issues if we use tabs.

Just a thought, in a couple of those lines the condition tests for limit, but limit is always either 0 or undefined. Is the intention to test if limit !== undefined || limit !== null instead? I don't think we are sending limit=0 to the server

@noisecapella Great catch, you're absolutely right. I forgot about if (0). Still works but we could run into issues with more than 1 page of results

@noisecapella Just pushed a pretty big update to this PR and removed a bunch of the changes it introduced. I updated the PR description to reflect what this PR is doing now. Biggest change is that I removed the "subtype" field and there's no more setting the "limit" param in the API calls. This UI just lists the titles/labels for "file"-type items with no add/edit links, and you can't use the Add form for those item types either. That's just temporary and will be resolved in #192.
Make sure you migrate down before pulling these changes (manage.py migrate websites 0016). This is ready for review again now. Sorry for the late pivot!

FYI, more rebases incoming

@noisecapella Should be ready now


Project proposal applying to move Aries Askar to OWF

A project proposal applying to move a component of Hyperledger Aries to OWF.
Askar is an open-source, secure storage and key management service implemented in Rust (with wrappers for Python and JavaScript/TypeScript), designed to support the needs of decentralized trust systems within and beyond the Aries ecosystem. It is a critical component that securely manages cryptographic keys, credentials, and other sensitive data used in decentralized identity frameworks. Askar is the secure storage/key management solution for Credo-TS, ACA-Py, Identus, Aries VCX, and other decentralized trust projects.
@andrewwhitehead, @TelegramSam, @tkuhrt
This PR is associated with #42.

Updated to reflect the changed maturity level of "Growth".


feat(network): allow fulfilling requests with custom status text

Teach request.respond() to accept custom status text. It is necessary
when responding with non-standard HTTP status codes.
Fix #4454

Closing this in favor of https://github.com/GoogleChrome/puppeteer/pull/4566


feat: port NumberTheory.Basic

FYI, set_option maxHeartbeats 450000 makes this work.
set_option trace.Meta.isDefEq true
and set_option profiler true reveal that what takes so long in here are DefEq comparisons between Semiring.toNonAssocSemiring and NonAssocRing.toNonAssocSemiring, which often has come up together with issue 2074. Maybe this is another example of this?

FYI, set_option maxHeartbeats 450000 makes this work. set_option trace.Meta.isDefEq true and set_option profiler true reveal that what takes so long in here are DefEq comparisons between Semiring.toNonAssocSemiring and NonAssocRing.toNonAssocSemiring, which often has come up together with issue 2074. Maybe this is another example of this?

The proper way is to use type ascriptions. Pinging @j-loreaux for this.

Could you try disabling the two instances mentioned by Lukas? If you search for "2074" in mathlib4 you will find a lot of examples of how this is done.

Could you try disabling the two instances mentioned by Lukas? If you search for "2074" in mathlib4 you will find a lot of examples of how this is done.

What two instances?

bors merge


Nov_2015 release missing default value for portalURL

Running download causes app to crash with console error message
TypeError: Cannot read property 'replace' of undefined at h.Portal.h.init

verified


Add

Can u add toggle button for esp

GetAsyncKeystate Button
Static bool
Then you Can make your own switch.
Hint: Static bool is for it not flickering to much. Sry for my english im tried.


[shared_preferences] How to obtain the size of the space occupied by the cache

How to obtain the size of the space occupied by the cache？

Hi @realkimmy
I don't think this is currently possible. Will leave this open as proposal.
Thank you

This isn't something we plan to implement.
shared_preference is not designed to store large amounts of data. Consider using other alternatives if you want to store large amounts of data.
I'm going to close it.


Valid variable name shown as invalid

I am not sure if these valid variable name scenarios have been raised before

Thanks for bringing it up. That's another parser bug, which is tracked by this issue in the brs project. Once it gets fixed in brs we should get the fix for free by upgrading.

Adding one more scenario though the issue linked in brs has the expressions, variables link that you have added

Thanks, these are being tracked here: https://github.com/sjbarag/brs/issues/162

This should be fixed now. Let me know if it's still an issue.


CJK letters on first column in table gets collapsed by letter

check the result below to see the problem.
https://codepen.io/takahiroyte/pen/deVGRE
I want my table to be shown like one on the right with「項目１」lined up horizontally, but bootstrap's default appearance is one on the left.  As a work around, I placed 2byte space 「　」in the header to adjust the length,  and it works on Chrome and Firefox but not in IE or Edge.
Is there any utility to be added? or should I customize my CSS and set fixed pixels to use?
thanks for the great CSS framework.

Add the text-nowrap class
https://getbootstrap.com/docs/4.0/utilities/text/#text-wrapping-and-overflow
https://codepen.io/MartijnCuppens/pen/VxMzmN

thank you for your rapid help.
helped me alot!


Rethink labels

We have some labels can be removed or means same thing.
I think we can apply some scoped labeling similar to README labels.
My suggestion {area}/{type} where type is one of feature, improvement, bug, docs and type is one of exercises, config, readme, ci, etc.
Additionally, we can have 2 more dimensions: easy, medium, hard for difficulty, and special flags like nextercism, hacktoberfest, etc.
What do you think ?

I think that's a good idea, @robphoenix started doing that a while ago and it did make things clearer. The only thing is we need to keep universal labels like "good first issue" because they are used by GitHub for things like auto-discovery.

Making sure I understand how it might look....
So, for an issue like #922 it might have label enhancement/exercises ? or feature/exercises ?

2 more dimensions: easy, medium, ...

Are these suffixes added on too? Like enhancement/exercises/medium

Perhaps difficulty would be their own labels difficulty/medium or some such, that way they can be searched/selected separately from the topic label.
Seems like area would be the overall section of the track concern (exercises, config, readme, ci,) while type would be the cross-cutting concern (feature, improvement, bug, docs)?
So like it has now an inadequate section of the README could be labeled readme/inadequate and difficulty/easy? Or @ferhatelmas were you thinking the reverse? inadequate/readme?

If we are write readme/inadequate or inadequate/readme, I think we are mixing area and type. For example, I was thinking like area/readme, type/enchancement and difficulty/easy.

However, this wasn't what I had thought at first so I might be confusing at first. Let me know if it's clearer now.

Ah gotcha. That makes sense too.


Replace base_resolution with width/height fields

CogVideoX-Fun claims it can do videos at any resolution, so it didn't sit right with me that this wrapper forced you into a few obscure "base resolution" selections. In my fork, I've replaced the picker with just simple width/height fields which makes the node more flexible. Here is the pull request if you choose to do the same!

Works good! Example above is getting width/height from the image (I converted them to inputs, they default as widgets).

The base resolution stuff comes from their original code, I don't really know how important it is, but they spent quite a bit of code to make sure the resolution matches their predefined ones.

The base resolution stuff comes from their original code, I don't really know how important it is, but they spent quite a bit of code to make sure the resolution matches their predefined ones.

I was really struggling when my videos were being downsized unexpectedly, but the next bump up was too slow to generate... With this change, I have more control over the resolution and have gotten better results at acceptable speeds. I consider it a significant improvement but understand if you want to keep things from their original code.

@kijai just a heads up: I added LCM and UniPC schedulers to the CogVideoXFun sampler, and LCM so far seems pretty solid at lower steps, but I haven't tested much. UniPC works too, but LCM seemed better. You can cherry pick this commit if you want to bring it in:
https://github.com/kijai/ComfyUI-CogVideoXWrapper/pull/71/commits/df3f21028700c5a3e3f768958d8660d341efb1a1

Yeah thanks, should test those more, SASolverScheduler also seems to work well.


Update URLs in project metadata

I stumbled across this project in PyPI and noticed the URLs in the project metadata weren't actually pointing to the Github page, and it's such a simple thing to fix I decided to just go ahead and submit a PR. I hope this is helpful!

It is helpful, thank you! :)