I/O test failed

Problem
motr[15124]:  47c0  ERROR  [io_req.c:1551:device_check]  <! rc=-5 [0x23724c0] too many failures: nodes=0 + svcs=0 + devs=2, allowed: nodes=0 or svcs=0 or devs=0
[a lot of lines like this]
Expected behavior
no error messsages?
How to reproduce
Followed this section in the user guide:
https://github.com/kimika88/cortx-hare/blob/patch-1/README.md#hare-we-go
Deployment information
[root@ssc-vm-g4-rhev4-1317 cortx-motr]# fi_info --version
fi_info: 1.11.2
libfabric: 1.11.2
libfabric api: 1.11
[root@ssc-vm-g4-rhev4-1317 cortx-motr]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
Additional information
hare_ssc-vm-g4-rhev4-1317.colo.seagate.com.tar.gz

For the convenience of the Seagate development team, this issue has been mirrored in a private Seagate Jira Server: https://jts.seagate.com/browse/CORTX-33119. Note that community members will not be able to access that Jira server but that is not a problem since all activity in that Jira mirror will be copied into this GitHub issue.

SARANG SAWANT commented in Jira Server:

[~931950] and I were able to reproduce this issue.
Attachment io_logs.txt has all the details of the io test over code pulled from current main of cortx-hare and few days older motr code( build from main).

SARANG SAWANT commented in Jira Server:

Discussed this issue in a teams call with Motr team ([~934754] , [~934272] ) , [~931950], [~534380] .
If IOsize and block size are same then the following commands succeeds without following error message.
"motr[14694]: d9d0 ERROR [io_req_fop.c:364:io_bottom_half] ioo=0x7f65cc001c70 off=3145728 from=inet:tcp:<IP_ADDRESS>@21003 rc=-5 ti_rc=-5 @<4300000176849cda:67addce96ec8dc5e>
motr[14694]: d7c0 ERROR [io_req.c:1551:device_check] <! rc=-5 [0x7f65cc001c70] too many failures: nodes=0 + svcs=0 + devs=1, allowed: nodes=0 or svcs=0 or devs=0"

cortx-motr/motr/m0crate/m0crate -S /tmp/m0crate-io.yaml
Assigning to Motr team for further debugging.


KFC Memory is running high, we need to know when the pods are restarting in pepr-system

Describe what should be investigated or refactored
We need to get the age of the pods in Pepr system each reporting interval in the soak test.
Links to any relevant code
soak.yaml
Additional context
Add any other context or screenshots about the technical debt here.

This should be fixed in https://github.com/defenseunicorns/kubernetes-fluent-client/pull/399


Where clause not working in deleting records selected with subquery

Expected behavior and actual behavior
I try to delete record selected with subquery, but 'WHERE' clause not working, it's ignores, all records removes instead:
delete from (select expand(accounts) from #30:0) where type = 'test2' - removes all accounts from #30:0,
However same with select: where working
select from (select expand(accounts) from #30:0) where type = 'test2'
Steps to reproduce the problem
CREATE CLASS Account
CREATE CLASS Profile
CREATE PROPERTY Profile.accounts LINKLIST
Insert into Account set type = 'test1'
Insert into Account set type = 'test2'
Insert into Account set type = 'test3'
Insert into Profile set accounts = [#29:0,#29:1]   //29 - account cluster, change yours

delete from (select expand(accounts) from #30:0) where type = 'test2'  //30 - profile cluster, change yours
select from Account  // #29:0  and #29:1 not exist
select from Profile // accounts is [null,"#29:1"] in studio

Important Questions
Runninng Mode

[x] Remote

OrientDB Version

[x ] v2.1.x - Please specify last number: 2.1.17

Operating System

[ x] Linux ubuntu 14

Java Version

[ x] 8

missprint, sorry: 2.1.17

Just pushed a fix on 2.1.x, the fix will be available in 2.1.18.
Now I'm porting it to 2.2
Thanks
Luigi

Pushed on 2.2 as well, the fix will be released with 2.2.1 hotfix
Closing, thanks
Luigi


Docs

While we have docs, they could definitely do a better job of explaining the different features provided for the module.

I am trying to use this module through nuget and razor implementation. I have enabled profile from features and I can use the profile content type. But I have no idea on how to access the other user info(Image,bio)  of the user that i have created.I could use some documentation or example on how to use it. I am so idealess.

@jubilate I assume you've added them as fields, so I'd suggest checking out the Orchard Core docs for how to access values within fields - https://docs.orchardcore.net/en/dev/docs/reference/modules/ContentFields/

Are there any possible examples on how to use this module.


Disable scrolling from users?

Thank you for this awesome library.
I was wondering if there is way to disable scrolling from users so my app is the only one that can scroll to a certain position upon user's interactions.
Any advice would be much appreciated.

@njovy Thranks, I don't understand the effect you want.
You want the card to scroll automatically to the specified position when ACTION_UP
Or
This card can scroll when scrolling in the specified area

@adgvcxz I want a card to be scrolled to a specified position only by an app not by users. When it is scrolled, users can't touch or interfere


Desktop report is blank

Using Feb 2024 Power BI desktop.  Two reports open.  ALM toolkit v 5.0.44
Dropdowns for Power BI Desktop are blank.

Sorry I missed this. The Desktop dropdown is only enabled if there is a currently active Desktop instance running in the background


Non-eject customization

Currently, to set up API hooks, you need to create a custom jest config.
Here's a strawman API for adding the API hooks that doesn't require ejecting:
// .storybook/test-runner.js
module.exports = {
  hooks: {
    preRender: (page, context) => { ... },
    postRender: (page, context) => { ... }
  },
}

Notes:

This allows us to change the test runner more easily in the future
This uses the .storybook directory, and maybe we should consider that for the jest config also

// jest-config.js
try {
  const { hooks } = require('.storybook/test-runner');
  ..
} catch(err) {}

implemented a slightly different design in #53


Laravel 5

Do you have plans to release a Laravel 5 compatible version ? thanks

Personally I don't. But pull requests welcome.

Apparently it's done: #23.


How Can I build for android on my Mac？version1.77.0

This is the kind of question that is best answered on the boost-users mailing list<EMAIL_ADDRESS>

Thank you


Added in entry for updating Sentry to the latest version

Can you rename the file with a.yaml extension instead of .yml?

Done.

Thanks @chartjes! \o


[6.4.x] GUVNOR-2364: Invalid enumeration is validated without error

See https://issues.jboss.org/browse/GUVNOR-2364
This PR is for 6.4.x (cherry picked from commit f15cad5a3ac00202edf2cc1c8cd96cec9ce835a8)

Part of an ensemble:-
https://github.com/droolsjbpm/kie-wb-common/pull/247
https://github.com/droolsjbpm/drools-wb/pull/123

6.4.x: cf44fd32998ef39b7b8d8f98168234ca5db920e9


Build Tool: Allow omitting certain code from final build

Summary
This is a follow-up to #1234.
For releases that we publish, we know 100% that the required files exist. There's no reason to include the code checks for those. So why not remove it in that case?
Relevant Technical Choices

Adds // WEB-STORIES-DEV-CODE. markers to include/namespace.php. Anything between those markers will be removed when running npm run workflow:build-plugin.
Updates the build tool so that this change (and other changes to PHP files) is only applied to the actual build (i.e. build/web-stories/include/namespace.php) and not the source file.

To-do
N/A
User-facing changes
N/A
Testing Instructions

Run npm run workflow:build-plugin -- --composer --cdn --zip.
Verify that source files stay unchanged (i.e. no changes to be committed).
Verify that DEV code in build/web-stories/include/namespace.php is removed.
Verify that WEBSTORIES_ASSETS_URL in build/web-stories/web-stories.php has been updated.
Install ZIP file on website and verify that the plugin still works.

See #1234

Instead of removing code, why not have a constant? Something like JETPACK_DEV_DEBUG. We could have it default to true and then on build / deploy to wp.org repo set to false.
The doc block in question would become
if (
         defined( 'WEBSTORIES_DEV_DEBUG' ) &&
         WEBSTORIES_DEV_DEBUG &&
	 (   ! class_exists( '\Google\Web_Stories\Plugin' ) || ! file_exists( WEBSTORIES_PLUGIN_DIR_PATH . '/assets/js/edit-story.js' ) )
) {

Remove code is a weird pattern here and I don't like the local dev and wp.org may have different code in them. Feel like it is opening

To perhaps give some context on why I made this PR: file_exists can return stale results, because PHP caches those results.
That means users could see this admin notice even though we know the file exists. This is something we've learned from the AMP plugin.
Your suggestion with the constant is interesting though, it might also help solve this. Let me give it a try 👍

file_exists can return stale results, because PHP caches those results.
There isn't much we can do about that. You hope that devs would clear this caches locally. But the same could be said of any cache, things do show up if page caching is enabled etc. This message is only really designed to work locally, as the message says to build the code, something you can not of a remote server for the most part.

I like the idea of a DEV mode, we can load debug tools etc that are not included in the wp.org repo.


groupcache: enable H2C + add benchmarks

Add h2c benchmarks. Somehow h2c is slowed than regular HTTP locally for
me. Probably because these aren't real life benchmarks i.e. establishing
TCP connections locally has no cost. And if there is only one operation
happening at any time then h2 has to do more work hence more CPU usage.
With 500 parallel requests going on at the same time, h2 becomes faster
than (or is at the same level as) h1 while using a minimal number of TCP
connections. Thus, it will work much faster in real life situations. So,
let's enable it.
name                                                               time/op
GroupcacheRetrieval/h2c/seq-16                                      227µs ± 1%
GroupcacheRetrieval/h2c/parallel=500-16                            54.8µs ±20%
GroupcacheRetrieval/h1,_max_one_TCP_connection/seq-16               150µs ± 2%
GroupcacheRetrieval/h1,_max_one_TCP_connection/parallel=500-16      146µs ± 1%
GroupcacheRetrieval/h1,_unlimited_TCP_connections/seq-16            145µs ± 3%
GroupcacheRetrieval/h1,_unlimited_TCP_connections/parallel=500-16  52.8µs ± 9%

name                                                               alloc/op
GroupcacheRetrieval/h2c/seq-16                                      183kB ± 0%
GroupcacheRetrieval/h2c/parallel=500-16                             143kB ± 1%
GroupcacheRetrieval/h1,_max_one_TCP_connection/seq-16               161kB ± 0%
GroupcacheRetrieval/h1,_max_one_TCP_connection/parallel=500-16      162kB ± 0%
GroupcacheRetrieval/h1,_unlimited_TCP_connections/seq-16            161kB ± 0%
GroupcacheRetrieval/h1,_unlimited_TCP_connections/parallel=500-16   116kB ± 2%

name                                                               allocs/op
GroupcacheRetrieval/h2c/seq-16                                        283 ± 0%
GroupcacheRetrieval/h2c/parallel=500-16                               256 ± 1%
GroupcacheRetrieval/h1,_max_one_TCP_connection/seq-16                 260 ± 0%
GroupcacheRetrieval/h1,_max_one_TCP_connection/parallel=500-16        262 ± 0%
GroupcacheRetrieval/h1,_unlimited_TCP_connections/seq-16              260 ± 0%
GroupcacheRetrieval/h1,_unlimited_TCP_connections/parallel=500-16     279 ± 1%

Signed-off-by: Giedrius Statkevičius<EMAIL_ADDRESS>

cc @akanshat @onprem


Broken posters don't obey the laws of physics

Description

They basically float around when destroyed
Reproduction

Screenshots

Additional context

anyone ever gonna get to this

On it


Show name of RSS feed (under title)

I just discovered this Firefox extension and start testing it. It seems nice, but I would like to ask if is possible to add name of feed (channel) somewhere near the title of an article. When I read all feeds I would like to know at the first sight which title belongs to which feed.
I use Smart RSS 2.8.1 on Firefox 73.0.1

Do you mean somewhere on the content pane?

Well,  it would be nice to have it on content pane, but I guess it is more important on that middle pane, where the titles are. I can see the names of authors there and personally I would prefer to have there channel name instead of authors. But some people may prefer author's names, so I guess it would be best make options in settings...

I see, you mean when multiple sources are selected
that's duplicate of #66 then so I'm closing it, l'll post updates and questions (if any) in that issue


Create a new data connector for processing the biomedical literature

Create a data connector that:

fetches PDF files from PMC Open Access Subset.
stores the files locally (at least temporarily for processing), and runs them through unstructured.partition.auto.

See Adding Data Connectors for details on how to get started. Make sure to include a link to this issue when submitting a PR.
Definition of Done

The checklist has been completed.
The connector is able to process all files from the PMC Open Access Subset FTP directory.
The connector is able to process a document using the Individual article download.
The connector is able to process a document using the PDF download.
The connector can accept any credentials, if necessary.
The connector should be able of processing the PDF documents through unstructured.partition.auto.

LGTM!


[Bug]: VLLM - Getting a 500 Internal Error when calling /v1/chat/completions with an image_url

Your current environment

The output of `python collect_env.py`
I'm not able to collect environment as I'm using the official docker image 0.6.4

Model Input Dumps
No response
🐛 Describe the bug
When I'm doing a POST /v1/chat/completions with the following body
{
    "model": "meta-llama/Llama-3.3-70B-Instruct",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "What is in this image?"
                },
                {
                    "type": "image_url",
                    "image_url": {"url": "data:image/jpeg;base64,<<<< base64 encoded image file >>>>"}
                }
            ]
        }
    ]
}

I'm getting a "500 Internal Server Error"
I've got the same result with several model supporting Vision.
Here are the logs of the container:
INFO:     <IP_ADDRESS>:0 - "POST /v1/chat/completions HTTP/1.1" 500 Internal Server Error
ERROR:    Exception in ASGI application
  + Exception Group Traceback (most recent call last):
  |   File "/usr/local/lib/python3.12/dist-packages/starlette/_utils.py", line 76, in collapse_excgroups
  |     yield
  |   File "/usr/local/lib/python3.12/dist-packages/starlette/middleware/base.py", line 186, in __call__
  |     async with anyio.create_task_group() as task_group:
  |                ^^^^^^^^^^^^^^^^^^^^^^^^^
  |   File "/usr/local/lib/python3.12/dist-packages/anyio/_backends/_asyncio.py", line 763, in __aexit__
  |     raise BaseExceptionGroup(
  | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
  +-+---------------- 1 ----------------
    | Traceback (most recent call last):
    |   File "/usr/local/lib/python3.12/dist-packages/uvicorn/protocols/http/httptools_impl.py", line 401, in run_asgi
    |     result = await app(  # type: ignore[func-returns-value]
    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/local/lib/python3.12/dist-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__
    |     return await self.app(scope, receive, send)
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/local/lib/python3.12/dist-packages/fastapi/applications.py", line 1054, in __call__
    |     await super().__call__(scope, receive, send)
    |   File "/usr/local/lib/python3.12/dist-packages/starlette/applications.py", line 113, in __call__
    |     await self.middleware_stack(scope, receive, send)
    |   File "/usr/local/lib/python3.12/dist-packages/starlette/middleware/errors.py", line 187, in __call__
    |     raise exc
    |   File "/usr/local/lib/python3.12/dist-packages/starlette/middleware/errors.py", line 165, in __call__
    |     await self.app(scope, receive, _send)
    |   File "/usr/local/lib/python3.12/dist-packages/starlette/middleware/base.py", line 185, in __call__
    |     with collapse_excgroups():
    |          ^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/lib/python3.12/contextlib.py", line 158, in __exit__
    |     self.gen.throw(value)
    |   File "/usr/local/lib/python3.12/dist-packages/starlette/_utils.py", line 82, in collapse_excgroups
    |     raise exc
    |   File "/usr/local/lib/python3.12/dist-packages/starlette/middleware/base.py", line 187, in __call__
    |     response = await self.dispatch_func(request, call_next)
    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/openai/api_server.py", line 490, in add_request_id
    |     response = await call_next(request)
    |                ^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/local/lib/python3.12/dist-packages/starlette/middleware/base.py", line 163, in call_next
    |     raise app_exc
    |   File "/usr/local/lib/python3.12/dist-packages/starlette/middleware/base.py", line 149, in coro
    |     await self.app(scope, receive_or_disconnect, send_no_error)
    |   File "/usr/local/lib/python3.12/dist-packages/starlette/middleware/base.py", line 185, in __call__
    |     with collapse_excgroups():
    |          ^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/lib/python3.12/contextlib.py", line 158, in __exit__
    |     self.gen.throw(value)
    |   File "/usr/local/lib/python3.12/dist-packages/starlette/_utils.py", line 82, in collapse_excgroups
    |     raise exc
    |   File "/usr/local/lib/python3.12/dist-packages/starlette/middleware/base.py", line 187, in __call__
    |     response = await self.dispatch_func(request, call_next)
    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/openai/api_server.py", line 485, in authentication
    |     return await call_next(request)
    |            ^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/local/lib/python3.12/dist-packages/starlette/middleware/base.py", line 163, in call_next
    |     raise app_exc
    |   File "/usr/local/lib/python3.12/dist-packages/starlette/middleware/base.py", line 149, in coro
    |     await self.app(scope, receive_or_disconnect, send_no_error)
    |   File "/usr/local/lib/python3.12/dist-packages/starlette/middleware/cors.py", line 85, in __call__
    |     await self.app(scope, receive, send)
    |   File "/usr/local/lib/python3.12/dist-packages/starlette/middleware/exceptions.py", line 62, in __call__
    |     await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
    |   File "/usr/local/lib/python3.12/dist-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    |     raise exc
    |   File "/usr/local/lib/python3.12/dist-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    |     await app(scope, receive, sender)
    |   File "/usr/local/lib/python3.12/dist-packages/starlette/routing.py", line 715, in __call__
    |     await self.middleware_stack(scope, receive, send)
    |   File "/usr/local/lib/python3.12/dist-packages/starlette/routing.py", line 735, in app
    |     await route.handle(scope, receive, send)
    |   File "/usr/local/lib/python3.12/dist-packages/starlette/routing.py", line 288, in handle
    |     await self.app(scope, receive, send)
    |   File "/usr/local/lib/python3.12/dist-packages/starlette/routing.py", line 76, in app
    |     await wrap_app_handling_exceptions(app, request)(scope, receive, send)
    |   File "/usr/local/lib/python3.12/dist-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    |     raise exc
    |   File "/usr/local/lib/python3.12/dist-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    |     await app(scope, receive, sender)
    |   File "/usr/local/lib/python3.12/dist-packages/starlette/routing.py", line 73, in app
    |     response = await f(request)
    |                ^^^^^^^^^^^^^^^^
    |   File "/usr/local/lib/python3.12/dist-packages/fastapi/routing.py", line 301, in app
    |     raw_response = await run_endpoint_function(
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/local/lib/python3.12/dist-packages/fastapi/routing.py", line 212, in run_endpoint_function
    |     return await dependant.call(**values)
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/openai/api_server.py", line 347, in create_chat_completion
    |     generator = await handler.create_chat_completion(request, raw_request)
    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/openai/serving_chat.py", line 155, in create_chat_completion
    |     ) = await self._preprocess_chat(
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/openai/serving_engine.py", line 440, in _preprocess_chat
    |     conversation, mm_data_future = parse_chat_messages_futures(
    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/chat_utils.py", line 714, in parse_chat_messages_futures
    |     sub_messages = _parse_chat_message_content(
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/chat_utils.py", line 644, in _parse_chat_message_content
    |     result = _parse_chat_message_content_parts(
    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/chat_utils.py", line 559, in _parse_chat_message_content_parts
    |     parse_res = _parse_chat_message_content_part(
    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/chat_utils.py", line 610, in _parse_chat_message_content_part
    |     mm_parser.parse_image(content)
    |   File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/chat_utils.py", line 371, in parse_image
    |     placeholder = self._tracker.add("image", image_coro)
    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/chat_utils.py", line 272, in add
    |     return self._placeholder_str(modality, current_count)
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/chat_utils.py", line 221, in _placeholder_str
    |     raise TypeError(f"Unknown {modality} model type: {model_type}")
    | TypeError: Unknown image model type: llama
    +------------------------------------

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.12/dist-packages/uvicorn/protocols/http/httptools_impl.py", line 401, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/fastapi/applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "/usr/local/lib/python3.12/dist-packages/starlette/applications.py", line 113, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/usr/local/lib/python3.12/dist-packages/starlette/middleware/errors.py", line 187, in __call__
    raise exc
  File "/usr/local/lib/python3.12/dist-packages/starlette/middleware/errors.py", line 165, in __call__
    await self.app(scope, receive, _send)
  File "/usr/local/lib/python3.12/dist-packages/starlette/middleware/base.py", line 185, in __call__
    with collapse_excgroups():
         ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/contextlib.py", line 158, in __exit__
    self.gen.throw(value)
  File "/usr/local/lib/python3.12/dist-packages/starlette/_utils.py", line 82, in collapse_excgroups
    raise exc
  File "/usr/local/lib/python3.12/dist-packages/starlette/middleware/base.py", line 187, in __call__
    response = await self.dispatch_func(request, call_next)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/openai/api_server.py", line 490, in add_request_id
    response = await call_next(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/starlette/middleware/base.py", line 163, in call_next
    raise app_exc
  File "/usr/local/lib/python3.12/dist-packages/starlette/middleware/base.py", line 149, in coro
    await self.app(scope, receive_or_disconnect, send_no_error)
  File "/usr/local/lib/python3.12/dist-packages/starlette/middleware/base.py", line 185, in __call__
    with collapse_excgroups():
         ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/contextlib.py", line 158, in __exit__
    self.gen.throw(value)
  File "/usr/local/lib/python3.12/dist-packages/starlette/_utils.py", line 82, in collapse_excgroups
    raise exc
  File "/usr/local/lib/python3.12/dist-packages/starlette/middleware/base.py", line 187, in __call__
    response = await self.dispatch_func(request, call_next)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/openai/api_server.py", line 485, in authentication
    return await call_next(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/starlette/middleware/base.py", line 163, in call_next
    raise app_exc
  File "/usr/local/lib/python3.12/dist-packages/starlette/middleware/base.py", line 149, in coro
    await self.app(scope, receive_or_disconnect, send_no_error)
  File "/usr/local/lib/python3.12/dist-packages/starlette/middleware/cors.py", line 85, in __call__
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.12/dist-packages/starlette/middleware/exceptions.py", line 62, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/usr/local/lib/python3.12/dist-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/usr/local/lib/python3.12/dist-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/usr/local/lib/python3.12/dist-packages/starlette/routing.py", line 715, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/usr/local/lib/python3.12/dist-packages/starlette/routing.py", line 735, in app
    await route.handle(scope, receive, send)
  File "/usr/local/lib/python3.12/dist-packages/starlette/routing.py", line 288, in handle
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.12/dist-packages/starlette/routing.py", line 76, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/usr/local/lib/python3.12/dist-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/usr/local/lib/python3.12/dist-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/usr/local/lib/python3.12/dist-packages/starlette/routing.py", line 73, in app
    response = await f(request)
               ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/fastapi/routing.py", line 301, in app
    raw_response = await run_endpoint_function(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/fastapi/routing.py", line 212, in run_endpoint_function
    return await dependant.call(**values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/openai/api_server.py", line 347, in create_chat_completion
    generator = await handler.create_chat_completion(request, raw_request)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/openai/serving_chat.py", line 155, in create_chat_completion
    ) = await self._preprocess_chat(
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/openai/serving_engine.py", line 440, in _preprocess_chat
    conversation, mm_data_future = parse_chat_messages_futures(
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/chat_utils.py", line 714, in parse_chat_messages_futures
    sub_messages = _parse_chat_message_content(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/chat_utils.py", line 644, in _parse_chat_message_content
    result = _parse_chat_message_content_parts(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/chat_utils.py", line 559, in _parse_chat_message_content_parts
    parse_res = _parse_chat_message_content_part(
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/chat_utils.py", line 610, in _parse_chat_message_content_part
    mm_parser.parse_image(content)
  File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/chat_utils.py", line 371, in parse_image
    placeholder = self._tracker.add("image", image_coro)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/chat_utils.py", line 272, in add
    return self._placeholder_str(modality, current_count)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/chat_utils.py", line 221, in _placeholder_str
    raise TypeError(f"Unknown {modality} model type: {model_type}")
TypeError: Unknown image model type: llama

Before submitting a new issue...

[X] Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.

Closing as this is not a bug.


Web Weather Forecast to Homebridge Temperature

Hi all,
I'm looking for a plugin that will connect to something like Yahoo Weather, and be able to present the temperature and humidity back to Homebridge, as an outdoor temperature sensor. I guess this would work a bit like the Eve Weather sensor, and could be used for triggers, without spending £40 on a piece of plastic that tells me what I can already get off the internet.
I've seen some HTTP plugins, but they're only expecting a particular JSON input.

I have seen a wunderground plugin, would that work for you? Just check npm for homebridge-plugin.

I use the WUnderground plugin for just that and it works great! Highly recommended.

Perfect, Thanks!


FilePath Plugin - plugin_not_installed

Everything was working fine since suddenly today I got this 2 warnings. I will add them below.
I tried:
ionic cordova plugin add cordova-plugin-filepath
npm install @ionic-native/file-path
I added FilePath to app.module.ts inside providers.
But still it shows the plugin not installed.
1.Native: tried calling FilePath.resolveNativePath, but the FilePath plugin is not installed.
2.Install the FilePath plugin: 'ionic cordova plugin add cordova-plugin-filepath'
And then the error: plugin_not_installed.
core.js:15724 ERROR Error: Uncaught (in promise): plugin_not_installed
at resolvePromise (zone.js:831)
at zone.js:896
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:423)
at Object.onInvokeTask (core.js:17290)
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:422)
at Zone.push../node_modules/zone.js/dist/zone.js.Zone.runTask (zone.js:195)
at drainMicroTaskQueue (zone.js:601)

Also I check my package.json and I have filepath version 1.5.7 here.

It's been 2 days and I haven't received an answer from anyone. Is this plugin dead?

Hi, I haven't been maintaining this plugin for a while now (as I don't use Cordova anymore) so am not sure what the cause might be. There haven't been any recent changes to the plugin itself so it's either something that has changed in Cordova that is making the plugin out-of-date or it's some local installation issue on your end.


[Documentation] update misleading breakpoints example

Reviewing changelog and solved issues on stitches 1.2.6, I'm not sure to understand stitches example regarding breakpoints configuration: this example makes no sense for common usage of breakpoints.
It describes breakpoints that do overlap, which might in the end bring issues with variants inside components for unexperienced developers.
I don't have any use case for breakpoints which do overlap, but maybe I'm wrong.
In scenarii with device sizes, I think we always want to make sure breakpoints don't overlap, because by design, devices have size limits.
https://codesandbox.io/s/stitches-ci-cra-forked-fdrgb?file=/src/App.tsx
I think this example fooled people, as we can notice in https://github.com/modulz/stitches/issues/725
In this issue, I also noticed recommendations to use range syntax from media-queries level4 spec, but I fear it is still widely unsupported (https://developer.mozilla.org/en-US/docs/Web/CSS/@media#browser_compatibility). (Topic likely out of scope, sorry)
Describe the solution you'd like
I think simply giving an example with min/max media values for each breakpoint would make usage clearer for beginners or diagonal-readers (:sweat_smile: )
Before

Proposal

WDYT?
If anyone confirms that my proposal makes sense, I might try to push a PR myself. Else, please correct me.

NB: It seems range syntax for media queries is still unsupported on the majority of browsers. I guess the previous syntax would be enough already.

this example makes no sense for common usage of breakpoints

I don't have any use case for breakpoints which do overlap, but maybe I'm wrong.

I'm not sure I follow, "overlapping" breakpoints is how most mobile-first CSS frameworks are designed. See, for instance, https://github.com/twbs/bootstrap/blob/a3f27c67e8e3041858e18ac201a384332be14303/scss/_variables.scss#L279-L293 and https://github.com/tailwindlabs/tailwindcss/blob/ec911c73f08c81b7088246484379f2efce97a667/stubs/defaultConfig.stub.js#L6-L12.

@knpwrs Thanks for being the first one to answer :pray:

It takes some getting used to, but essentially you need to embrace the cascade in CSS. The idea is that you design for "mobile first" (with no media queries) and then as the browser grows to certain widths you apply overrides. Since the larger-width overrides are inside of media queries, the rules there have higher specificity, so they get applied overriding the non-media query styles. The larger min-width styles should also override the smaller min-width styles, and order shouldn't matter as far as I'm aware.

It takes some getting used to, but essentially you need to embrace the cascade in CSS. The idea is that you design for "mobile first" (with no media queries) and then as the browser grows to certain widths you apply overrides. Since the larger-width overrides are inside of media queries, the rules there have higher specificity, so they get applied overriding the non-media query styles. The larger min-width styles should also override the smaller min-width styles, and order shouldn't matter as far as I'm aware.
Tools like sizzy are useful to have as well: https://sizzy.co/

Totally agree with you, that's what I had in mind. I just think using a library which still doesn't reliably behave with such rules makes the whole task clunky :sweat_smile:

Closing in favor of https://github.com/modulz/stitches/issues/917


Svcplugin cleanup

Changes done:

Added support to cleanup skydns state during network delete and tenant delete
Removed code dependency on go-dockerclient
Added check to create public/private networks for only default tenant
Added support to retry pulling skydns image if pull-image failed

Will reopen the Pull request after including some additional fixes


Alignment issue upon export as pdf

After export on pdf, the alignment of all section become centralized making it look messy and doesn't look like it is on the app builder (left-aligned).

Duplicate of #387, although your title is better, maybe I should change the title on #387

Fixed now, as of 2.3.3: https://github.com/AmruthPillai/Reactive-Resume/issues/387#issuecomment-741533829


Build failure: Obsidian

Steps To Reproduce
Steps to reproduce the behavior:

build Obsidian

Build log
error: hash mismatch in fixed-output derivation '/nix/store/3h85946vxpk5npnaqwd9fhcnl3dx3qbf-obsidian-1.6.3.tar.gz.drv':
         specified: sha256-Eq2cUXjp0XdVeR4t3oG2DUtsKOp3e3nPMMhznUc4BmE=
            got:    sha256-ho8E2Iq+s/w8NjmxzZo/y5aj3MNgbyvIGjk3nSKPLDw=
error: 1 dependencies of derivation '/nix/store/mw3s597jmh5vj246zv4a5j5ryd0js647-obsidian-1.6.3.drv' failed to build
error: 1 dependencies of derivation '/nix/store/0hrzz3ysa17pzrbr02h7gv5f86cq1g97-system-path.drv' failed to build
error: 1 dependencies of derivation '/nix/store/2z273dbkpwlzcckbbxfjlrf7zv6m474w-nixos-system-nixos-24.11.20240609.c7b821b.drv' failed to build

Additional context
On nixpkgs unstable. Firstly encountered ten minutes ago or something.
Notify maintainers

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
 - system: `"x86_64-linux"`
 - host os: `Linux 6.9.3, NixOS, 24.11 (Vicuña), 24.11.20240607.051f920`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.2`
 - nixpkgs: `/nix/store/3dr5pyja36lvvrszhzffww1jwyrx6i09-source`

Add a :+1: reaction to issues you find important.

Until this is fixed, currently using this for my home-manager configuration. Translate as needed for system-level installs.
{ config, pkgs, lib, ... }:
let
  nixpkgs_24_05_stable = import (fetchTarball {
    name = "nixpkgs-24.05-stable";
    url = "https://github.com/NixOS/nixpkgs/archive/refs/tags/24.05.tar.gz";
    sha256 = "1lr1h35prqkd1mkmzriwlpvxcb34kmhc9dnr48gkm8hh089hifmx";
  }) {
    # If necessary
    config.allowUnfreePredicate = pkg:
      builtins.elem (lib.getName pkg) [
        "obsidian"
      ];
  };
in
{
  home.packages = with pkgs; [
    # ...
    nixpkgs_24_05_stable.obsidian
    # ...
  ];
}

should be fixed by #318699

Until this is fixed, currently using this for my home-manager configuration. Translate as needed for system-level installs.
{ config, pkgs, lib, ... }:
let
  nixpkgs_24_05_stable = import (fetchTarball {
    name = "nixpkgs-24.05-stable";
    url = "https://github.com/NixOS/nixpkgs/archive/refs/tags/24.05.tar.gz";
    sha256 = "1lr1h35prqkd1mkmzriwlpvxcb34kmhc9dnr48gkm8hh089hifmx";
  }) {
    # If necessary
    config.allowUnfreePredicate = pkg:
      builtins.elem (lib.getName pkg) [
        "obsidian"
      ];
  };
in
{
  home.packages = with pkgs; [
    # ...
    nixpkgs_24_05_stable.obsidia
    # ...
  ];
}

Bless you I am very new to NixOS and programming this would have taken me ages to figure out on my own. I am not using home-manager I am on a fairly vanilla NixOS install with nixos-unstable enabled I had to define lib to get it to work in configuration.nix for some reason?
{ config, pkgs, ... }:

let
  # Import 32-bit packages
  i686Pkgs = import <nixpkgs> { system = "i686-linux"; };

  #temp obsidian workaround for nixos-unstable https://github.com/NixOS/nixpkgs/issues/319068
  nixpkgs_24_05_stable = import (fetchTarball {
    name = "nixpkgs-24.05-stable";
    url = "https://github.com/NixOS/nixpkgs/archive/refs/tags/24.05.tar.gz";
    sha256 = "1lr1h35prqkd1mkmzriwlpvxcb34kmhc9dnr48gkm8hh089hifmx";
  }) {
        #if needed
    config.allowUnfreePredicate = pkg:
      builtins.elem (lib.getName pkg) [
        "obsidian"
     ];
  };
  lib = nixpkgs_24_05_stable.lib;

in
{

    environment.systemPackages = with pkgs; [
        #other programs
        nixpkgs_24_05_stable.obsidian
        #other packages
];

Thanks again I really appreciate this you saved me a lot of time.

A quick search didn't reveal an explanation, so I've asked on their forum.

A quick search didn't reveal an explanation, so I've asked on their forum.
Does anyone have the original https://github.com/obsidianmd/obsidian-releases/releases/download/v1.6.3/obsidian-1.6.3.asar.gz for comparison?

I think they just changed the one line https://github.com/NixOS/nixpkgs/pull/318699/commits/2265a2fb24739a0c693da3ca16898c17ca855c5e
If I understand correctly they removed hash = if stdenv.isDarwin then "sha256-o5ELpG82mJgcd9Pil6A99BPK6Hoa0OKJJkYpyfGJR9I=" else "sha256-Eq2cUXjp0XdVeR4t3oG2DUtsKOp3e3nPMMhznUc4BmE=";
and changed it to     hash = if stdenv.isDarwin then "sha256-o5ELpG82mJgcd9Pil6A99BPK6Hoa0OKJJkYpyfGJR9I=" else "sha256-ho8E2Iq+s/w8NjmxzZo/y5aj3MNgbyvIGjk3nSKPLDw=";
which (again if I understand correctly) works on stable but isn't in unstable yet (w_ifchen posted how to check https://nixpk.gs/pr-tracker.html?pr=318699

I think they just changed the one line 2265a2f

No, I meant why 1.6.3 changed upstream.

Looks like upstream just rereleased 1.6.3 to "deal with build problems related to electron." Honestly, they should just use a patch release for that — Semver exists for a reason...

A quick search didn't reveal an explanation, so I've asked on their forum.
Does anyone have the original https://github.com/obsidianmd/obsidian-releases/releases/download/v1.6.3/obsidian-1.6.3.asar.gz for comparison?

i probably still have it in my nix store somewhere

im still new to nix so sorry if its silly, can i exclude something from being built? i need to rebuild but obsidian is stopping everything from being built

@s2514 regarding your first question about lib: note the first line { config, pkgs, lib, ... }: this is a function head and therefore declares its arguments, here we have one argument which is a set that has to contain the entries config, pkgs and lib (the ... means there may be be more entries in the set that will be passed as an argument to the function, but those are ignored) since your first line is missing the lib in the argument set, you didn't have lib in scope your let-in-block works, as you are now extracting the lib from you nixpkgs_24_05_stable binding. this is fine here, but you might want to add lib to the arguments so that you don't have to concern yourself with where you get it from as nix will then automatically take care of that for you
regarding your second message (and a bit more): you are correct in your assessment about what changed! obsidian released version 1.6.3 (this was updated in #318054) and since it's closed-source, we use their release tarballs when packaging it. The cause of a bit of confusion and this issue is the fact that due to build issues, the tarball has been changed which caused its hash to be different (this is exactly what hash functions are supposed to do, you can read up on the basics of them here, they are an important thing in computer science, generally speaking. since nix values reproducibility a lot, we use a hash that is not solely based on the tarball itself (it's a bit more complicated) to determine whether a build input has changed. since this is the case here, the hash had to be updated, which happened in #318699. to be precise, it happened in commit 2265a2f which you correctly deduced, this commit was requested to be merged into master with the accompanying pull request (this can be seen at the top). however, most users of nix don't target the master branch. doing so would mean that you'd have to build every program from source which you don't want to do. the nix foundation offers a service called hydra which periodically builds all packages. the status can be observed here, but it's very confusing due to its complexity, this is why tools such as https://nixpk.gs exist, where you can simply check how the status of a given pull request is. if a pull request has made it into nixos-unstable, that means that whatever it changed it is available from the nixos foundation binary cache so that you don't have to build it yourself. once the pr has made it into nixos-unstable, you'll simply have to update your channel and if you then rebuild your system, you'll have an updated and working version of obsidian!
i hope this explanation was helpful, of course there is way more to pretty much every part of this, but i've tried to connect the important bits to your questions and to give a baseline understanding of the things that have happened here. if there are any questions left, feel free to ask. we're always happy about new people being interested in this amazing project, no matter how immensely complex everything may seem at a first glance. i sincerely hope you were able to learn something from this admittedly lengthy text, that you'll have a good time learning nix and that you have a nice day ❤

Thank you for taking the time to explain this!  I didn't notice that lib wasn't declared in my config that makes more sense.
For the hash, can you explain and/or direct me to a resource for understanding how nix generates the hash? I thought it used a has of the tarball but now I think my understanding there is incomplete.
As for what happened I want to check my understanding. Are you saying that the reason it broke was because a change was made to obsidian 1.6.3 which changed the hash, you created this pr with the updated hash about an hour later (thanks for that too btw that was fast as hell), and now people on every branch besides nixos-unstable are able to get it because the binaries haven't been compiled for the new hash yet on nixos-unstable?

For understanding how nix hashes things, the place to start is probably here.

As for what happened I want to check my understanding. Are you saying that the reason it broke was because a change was made to obsidian 1.6.3 which changed the hash, you created this pr with the updated hash about an hour later

exactly; normally people wouldn't push an updated copy of something over an existing version (as opposed to bumping the version number to go with it).
and, well, I wasn't deliberately fast, I just happened to pick that time to bump my machine up to nixpkgs master, and then ran into the hash mismatch error, and started digging from there; wrong place at the right time 😛

and now people on every branch besides nixos-unstable are able to get it (because the binaries haven't been compiled for the new hash yet on nixos-unstable?)

Someone earlier had linked https://nixpk.gs/pr-tracker.html?pr=318699 which shows the unstable branches, but there's also the branches and associated channels for, eg, non-unstable nixos, which I think are typically updated separately (if they're updated at all, rather than waiting for the next nixos version).

and now people on every branch besides nixos-unstable are able to get it (because the binaries haven't been compiled for the new hash yet on nixos-unstable?)

the other branches are still working because the versions there are older, the unstable branches are the most up-to-date branches that are built by hydra.
1.6.3 is currently only available on unstable since it has not been backported into a stable release

fix is now in nixos-unstable


Give code review

In this projected, I implemented the following:

Added Home page
Added About page
Added Login Page
To-do-list-page where users can add, edit and delete tasks.
Linters error-free

kindly set up your README.md file

Sure,I have done it. Thank you!


Unable to get crypt.py to work

On installation I get this error:
F7DDEF7C3DE6/tmp/pycrypto-2.6.1.tar.gz (446240 bytes)
446240  [100.00%]
Extracting archive file ...
Archive extracted.
Running setup file ...
TypeError('can only concatenate list (not "OmniClass") to list',)
Failed to run setup.py
Fall back to directory guessing ...
Error: Cannot locate packages. Manual installation required.

Pycrpto has C extension code and cannot be installed using stash pip. It only works for Pure Python packages.

@ywangd i think he meant the crypt command ($STASH_ROOT/bin/crypt.py), which tries to install simplecrypto using _stash("pip install simplecrypto"). crypt worked some time ago, but probably stopped working due to changes in simplecrypto. Maybe we can fix this by specifying the simplecrypto version to install?

@bennr01 my bad. I thought it was pycrypto. In this case, yes we could fix it by specifying the working version. However, I looked through simplecrypto's setup file and the pycrypto dependency was added 3 years ago. So maybe it was not due to any recent changes of simplecypto but rather changes to stash pip. Earlier version of stash pip does not try execute setup.py file but simply extract the guessed source code folder into site-packages.

Other parts of Stash work on my ipad but not this one -- crypt.
I get the same error in Pythonista 2 and 3.


Consider drawing on existing efforts

There are further-advanced efforts for enabling more elegant C++ code on the device-side.
One example is nVIDIA's Thrust libraries, which has a device-side vector class (although I'm not that much of a big fan; have you read about the span class as a more lightweight abstraction?).
Another example is part of my CUDA API wrappers. Specifically, compare your Grid.h with my launch_configuration_t class (doxygen, source code. The use cases are not identical, but their functionality mostly overlaps.
There's a lot more if you peek into my libgiddy's src/cuda folder. Actually, I've made some improvements to that utility code since; if you're interested, write me. I'll eventually update Giddy when I finish with some feature implementations.

Hi Eyal,
I'm aware of Thrust and your library. The goal of my repository currently
is to provide an illustration to the use of C++ in kernel code. Actually I
started my first blog post with a reference to your library:
https://migocpp.wordpress.com/2018/03/07/cuda/ :) BTW, I've been at your
talk on the recent GTC Europe conference in Munich, a nice one indeed!
The Grid header file that you refer to is for the "indexing" post:
https://migocpp.wordpress.com/2018/03/11/cuda-indexing/.
My impression from your "cuda-api-wrappers" library was that it wraps host
APIs, but does not go into the kernel code too much - pls correct me if I
missed something here. I didn't know about the "libgiddy", will definitely
take a look on it. At least the title suggests that this is a functional
library for decompression, and not a utility library like the 1st one.
Anyway, if you find it interesting, we can maybe work on integrating these
concepts to your "wrappers" library, I think it makes perfect sense to
cover device code in it as well.
Michael
On Sun, Mar 11, 2018 at 3:57 AM, Eyal Rozenberg<EMAIL_ADDRESS>wrote:

There are further-advanced efforts for enabling more elegant C++ code on
the device-side.
One example is nVIDIA's Thrust libraries
https://developer.nvidia.com/thrust, which has a device-side vector
class (although I'm not that much of a big fan; have you read about the
span https://stackoverflow.com/q/45723819/1593077 class as a more
lightweight abstraction?).
Another example is part of my CUDA API wrappers. Specifically, compare
your Grid.h
https://github.com/mgopshtein/cudacpp/blob/master/include/cudacpp/Grid.h
with my launch_configuration_t class (doxygen
https://codedocs.xyz/eyalroz/cuda-api-wrappers/structcuda_1_1launch__configuration__t.html,
source code
https://github.com/eyalroz/cuda-api-wrappers/blob/master/src/cuda/api/types.h#L151.
The use cases are not identical, but their functionality mostly overlaps.
There's a lot more if you peek into my libgiddy
https://github.com/eyalroz/libgiddy/'s src/cuda folder
https://github.com/eyalroz/libgiddy/tree/master/src/cuda. Actually,
I've made some improvements to that utility code since; if you're
interested, write me. I'll eventually update Giddy when I finish with some
feature implementations.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/mgopshtein/cudacpp/issues/2, or mute the thread
https://github.com/notifications/unsubscribe-auth/ARQwYdPvnJ8AuQQBVdF8BMUIkjDPKE43ks5tdIR7gaJpZM4SlhgY
.

Hello Michael,
I'd continue this conversation via email rather than on this issue page...
So, the cuda-api-wrappers library is actually something split originally split off from my work on a DBMS-related kernel testing harness (and actual kernels). I've written quite a bit of "utility" code both for both the host and the device side, and some of the host-side code made it into the library. However, all of the fundamental types are shared, and they're very usable for kernel code as well. My libgiddy link illustrates this. On the other hand, I had little use for the dimensionality templates, since my work is on 1D kernels essentially exclusive; also, on the host side, I stuck to nVIDIA's abstractions mostly, so there's not fundamental  difference between my launch_configuration_t and their  {dim3, dim3, unsigned int} of information.


⚠ Bofrost.be has degraded performance

In 6caf11a, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1618 ms

Resolved: Bofrost.be performance has improved in afb8d53 after 10 minutes.


getcwd(NULL, size) is a glibc-extension

I don't know if this is known, and accepted as a requirement on top of the standard for toybox, or not.
This issue is for either making sure the former is the case, or if not, an actual issue to be solved.
EDIT: specifically, the extension is having getcwd allocate sufficient memory to fit the working directory by giving NULL as the buffer argument.

A solution could just be using a statically allocated char buf[PATH_MAX], and erroring if that isn't sufficient because the directory shouldn't exceed PATH_MAX.

it's not just a glibc extension --- Android, BSD, iOS, macOS, ... is there anything that doesn't support this?
or, as rob will doubtless say later "what problem are you trying to solve here?" :-)

Sorry I didn't mean to imply that this wasn't supported outside of glibc, I was just using it to indicate that it's an extension that I was assuming originates from glibc, because extensions often seem to, and because the glibc man page says this
As an extension to the POSIX.1-2001 standard, glibc's getcwd() allocates the buffer dynamically
using malloc(3) if buf is NULL

yes, but "what problem are you trying to solve here?". are you trying to build & run toybox on a system that doesn't support this?

The man page on this https://man7.org/linux/man-pages/man2/getcwd.2.html was last UPDATED to mention posix-2001 (19 years ago, I.E. SUSv2), and the current posix spec explicitly says "If buf is a null pointer, the behavior of getcwd() is unspecified" because they know everybody's implemented auto-allocation here for many years but they're too bureaucratically paralyzed to document reality.
If an actual failure happens (which should be a pretty obvious segfault on whatever system doesn't do it) we can move the existing xgetcwd() wrapper to portability.c (or poke whoever it is to fix their libc). But until then, I officially do not care. It must auto-size these days because PATH_MAX is not a thing anymore and hasn't been for quite some time.


Once again, UNBELIEVABLE data.  Iowa, in the United States, again!!!! Seriously???

Once again, you have screwed up the data for Iowa in the United States.  Your data shows more new cases in the state than there are residents.
Is ANYONE in your group going to actually decide to bounds check your data before you publish it???
Please!!! Fix your data, and for God's sake, check it before you post. Your site is unreliable and cannot be trusted.
Dave Shema

As explained before, the site is run on automatic updates and relies on the data that is pulled from various sources. The reporting pattern in Iowa recently changed in unpredictable ways which threw the model. For more detail, please consult the Methods section on the web site, and especially the limitations noted there.
Whilst constructive criticism is very much welcomed (and needed), the tone of these comments is not. Please study our code of conduct before making any further contributions.


Port of fallout and satadj to GPU

This was what I saw for fallout:
Before port:
fallout  :        5.26    1.12%
After port:
 fallout  :        2.47    0.54%
I ended up on a busy node for the satadj port for my numbers might not reflect accurate performance.

Bummer that is not the speedup I was  hoping for.  At least that is an improvement over the CPU resident version.  What about satadj?

I ended up on a busy node so I'm not sure I trust these timings, but here's what I saw for satadj:
Before port:
satadj   : 3.91    0.97%
After port:
satadj   : 1.50    0.33%


Sonoff touch t1 2c

Hello.
I just added this device to ewelink but it does not recognize it homebridge.
Could you help me find out what the problem is?
Thank you.
iphone, romversion and appversion incorrect
[eWeLink] A total of [0] accessories were loaded from the local cache
[1/15/2019, 11:47:50 PM] [eWeLink] Sending login request with user credentials: {"email":"xxxxxxxx@gmail","password":"xxxxxxxxx","version":"6","ts":"xxxxxxxx","nonce":"xxxxxxxxxxxxxxxx","appid":"xxxxxxxxxxxxxxxxxxxxxxx","imei":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxx","os":"iOS","model":"iPhone10,6","romVersion":"11.1.2","appVersion":"3.5.3"}
[1/15/2019, 11:47:50 PM] [eWeLink] Login signature: xxxxxxxxxxxxxxxxxxxxxxxxxx
[eWeLink] Server did not response with an authentication token. Response was [{"error":400,"info":"msg is not complete"}]
[1/15/2019, 11:47:51 PM] [eWeLink] Requesting a list of devices from eWeLink HTTPS API at [https://us-api.coolkit.cc:8080]
[1/15/2019, 11:47:51 PM] [eWeLink] An error was encountered while requesting a list of devices. Response was [{"error":401}]

Closing due to inactivity.


Never failed if no matching ICE pair

If the ICE candidates of the the client and server does not match then the agent never go into the state FAILED or TERMINATED. It is for ever in the state RUNNING. There are endless log entries with will skip a check beat. See the sample log entries.
Is this a bug? Can I set any timeout? Does I must check this self after the last candidate from client? If yes, how can I check this?
I use version: 3.0-68-gd289f12
[CoWork ice4j,DEBUG ,5/29 7:06:34,#05739] Created a new Agent: ICE Agent (stream-count=0 ice-pwd:7t1q2ahueo3ocr2rvrnv45ecjj ice-ufrag:dkshb1hv1io31j tie-breaker:5008347248423258042):
[CoWork ice4j,DEBUG ,5/29 7:06:34,#05739]  with ICE controlling role = true
[CoWork ice4j,DEBUG ,5/29 7:06:35,#05970] Create media stream for stream
[CoWork ice4j,INFO  ,5/29 7:06:35,#05970] Gathering candidates for component stream.RTP.
[CoWork ice4j,DEBUG ,5/29 7:06:35,#05970] Candidate count in first harvest: 1
[CoWork ice4j,INFO  ,5/29 7:06:35,#05970] Start ICE connectivity establishment.
[CoWork ice4j,INFO  ,5/29 7:06:35,#05970] Init checklist for stream stream
[CoWork ice4j,DEBUG ,5/29 7:06:35,#05970] Checklist initialized.
[CoWork ice4j,INFO  ,5/29 7:06:35,#05970] ICE state changed from Waiting to Running.
[CoWork ice4j,INFO  ,5/29 7:06:35,#05970] Start connectivity checks.
[CoWork ice4j,INFO  ,5/29 7:06:35,#05523] Update remote candidate for stream.RTP: <IP_ADDRESS>:60177/udp
[CoWork ice4j,INFO  ,5/29 7:06:35,#05523] new Pair added: <IP_ADDRESS>:7002/udp/host -> <IP_ADDRESS>:60177/udp/host (stream.RTP).
[CoWork ice4j,DEBUG ,5/29 7:06:35,#05188] start check for <IP_ADDRESS>:7002/udp/host -> <IP_ADDRESS>:60177/udp/host (stream.RTP) tid 0xB70C2CC38F01321C3F986EDD
[CoWork ice4j,DEBUG ,5/29 7:06:35,#05188] sending STUN  tid 0xB70C2CC38F01321C3F986EDD from <IP_ADDRESS>:7002/udp to <IP_ADDRESS>:60177/udp
[CoWork ice4j,INFO  ,5/29 7:06:35,#05188] Could not start connectivity check: No socket found for <IP_ADDRESS>:7002/udp-><IP_ADDRESS>:60177/udp
[CoWork ice4j,DEBUG ,5/29 7:06:35,#05188] will skip a check beat.
[CoWork ice4j,INFO  ,5/29 7:06:35,#05739] Update remote candidate for stream.RTP: <IP_ADDRESS>:60178/udp
[CoWork ice4j,INFO  ,5/29 7:06:35,#05739] new Pair added: <IP_ADDRESS>:7002/udp/host -> <IP_ADDRESS>:60178/udp/host (stream.RTP).
[CoWork ice4j,INFO  ,5/29 7:06:35,#05885] Update remote candidate for stream.RTP: <IP_ADDRESS>:60179/udp
[CoWork ice4j,INFO  ,5/29 7:06:35,#05885] new Pair added: <IP_ADDRESS>:7002/udp/host -> <IP_ADDRESS>:60179/udp/host (stream.RTP).
[CoWork ice4j,INFO  ,5/29 7:06:35,#05885] Update remote candidate for stream.RTP: <IP_ADDRESS>:60180/udp
[CoWork ice4j,INFO  ,5/29 7:06:35,#05885] new Pair added: <IP_ADDRESS>:7002/udp/host -> <IP_ADDRESS>:60180/udp/host (stream.RTP).
[CoWork ice4j,DEBUG ,5/29 7:06:35,#05188] start check for <IP_ADDRESS>:7002/udp/host -> <IP_ADDRESS>:60178/udp/host (stream.RTP) tid 0xE20C2CC38F01CFE672C8BE08
[CoWork ice4j,DEBUG ,5/29 7:06:35,#05188] sending STUN  tid 0xE20C2CC38F01CFE672C8BE08 from <IP_ADDRESS>:7002/udp to <IP_ADDRESS>:60178/udp
[CoWork ice4j,INFO  ,5/29 7:06:35,#05188] Could not start connectivity check: No socket found for <IP_ADDRESS>:7002/udp-><IP_ADDRESS>:60178/udp
[CoWork ice4j,INFO  ,5/29 7:06:35,#05523] Update remote candidate for stream.RTP: <IP_ADDRESS>:60179/udp
[CoWork ice4j,INFO  ,5/29 7:06:35,#05523] new Pair added: <IP_ADDRESS>:7002/udp/host -> <IP_ADDRESS>:60179/udp/srflx (stream.RTP).
[CoWork ice4j,DEBUG ,5/29 7:06:35,#05188] start check for <IP_ADDRESS>:7002/udp/host -> <IP_ADDRESS>:60179/udp/host (stream.RTP) tid 0xF80C2CC38F01C98ED2230BDA
[CoWork ice4j,DEBUG ,5/29 7:06:35,#05188] sending STUN  tid 0xF80C2CC38F01C98ED2230BDA from <IP_ADDRESS>:7002/udp to <IP_ADDRESS>:60179/udp
[CoWork ice4j,INFO  ,5/29 7:06:35,#05188] Could not start connectivity check: No socket found for <IP_ADDRESS>:7002/udp-><IP_ADDRESS>:60179/udp
[CoWork ice4j,DEBUG ,5/29 7:06:35,#05188] start check for <IP_ADDRESS>:7002/udp/host -> <IP_ADDRESS>:60180/udp/host (stream.RTP) tid 0x0E0D2CC38F015D22AE33DE51
[CoWork ice4j,DEBUG ,5/29 7:06:35,#05188] sending STUN  tid 0x0E0D2CC38F015D22AE33DE51 from <IP_ADDRESS>:7002/udp to <IP_ADDRESS>:60180/udp
[CoWork ice4j,INFO  ,5/29 7:06:35,#05188] Could not start connectivity check: No socket found for <IP_ADDRESS>:7002/udp-><IP_ADDRESS>:60180/udp
[CoWork ice4j,DEBUG ,5/29 7:06:35,#05188] start check for <IP_ADDRESS>:7002/udp/host -> <IP_ADDRESS>:60179/udp/srflx (stream.RTP) tid 0x230D2CC38F01121249B7430A
[CoWork ice4j,DEBUG ,5/29 7:06:35,#05188] sending STUN  tid 0x230D2CC38F01121249B7430A from <IP_ADDRESS>:7002/udp to <IP_ADDRESS>:60179/udp
[CoWork ice4j,INFO  ,5/29 7:06:35,#05188] Could not start connectivity check: No socket found for <IP_ADDRESS>:7002/udp-><IP_ADDRESS>:60179/udp
[CoWork ice4j,DEBUG ,5/29 7:06:35,#05188] will skip a check beat.
[CoWork ice4j,DEBUG ,5/29 7:06:35,#05188] will skip a check beat.
[CoWork ice4j,DEBUG ,5/29 7:06:35,#05188] will skip a check beat.
[CoWork ice4j,DEBUG ,5/29 7:06:35,#05188] will skip a check beat.
[CoWork ice4j,DEBUG ,5/29 7:06:35,#05188] will skip a check beat.
[CoWork ice4j,DEBUG ,5/29 7:06:35,#05188] will skip a check beat.
[CoWork ice4j,DEBUG ,5/29 7:06:35,#05188] will skip a check beat.
[CoWork ice4j,DEBUG ,5/29 7:06:35,#05188] will skip a check beat.
[CoWork ice4j,DEBUG ,5/29 7:06:35,#05188] will skip a check beat.
[CoWork ice4j,DEBUG ,5/29 7:06:35,#05188] will skip a check beat.
[CoWork ice4j,DEBUG ,5/29 7:06:35,#05188] will skip a check beat.

I'm pretty sure the case of no pairs is handled correctly since in jitsi-videobridge we don't even signal remote candidates. From the logs it looks like there were matching ICE pairs, but starting their checks failed with No socket found. I suspect this error should result in the pair failing, but doesn't.
Is this using HostCandidateHarvester? Can you check if reverting #260 makes a difference?

I have try the version 3.0-57-gdec3a87 which is before #260. I see also ICE state change to FAILED. This is the log output:
[CoWork ice4j,DEBUG ,5/30 6:42:59,#04828] Created a new Agent: ICE Agent (stream-count=0 ice-pwd:4rj9c1iic55eallcgrfmd896i3 ice-ufrag:5fvup1hv43pja0 tie-breaker:4523964991461041769):
[CoWork ice4j,DEBUG ,5/30 6:42:59,#04828]  with ICE controlling role = true
[CoWork ice4j,DEBUG ,5/30 6:42:59,#04836] Create media stream for stream
[CoWork ice4j,INFO  ,5/30 6:42:59,#04836] Gathering candidates for component stream.RTP.
[CoWork ice4j,DEBUG ,5/30 6:42:59,#04836] Candidate count in first harvest: 1
[CoWork ice4j,INFO  ,5/30 6:42:59,#04836] Start ICE connectivity establishment.
[CoWork ice4j,INFO  ,5/30 6:42:59,#04836] Init checklist for stream stream
[CoWork ice4j,DEBUG ,5/30 6:42:59,#04836] Checklist initialized.
[CoWork ice4j,INFO  ,5/30 6:42:59,#04836] ICE state changed from Waiting to Running.
[CoWork ice4j,INFO  ,5/30 6:42:59,#04836] Start connectivity checks.
[CoWork ice4j,INFO  ,5/30 6:42:59,#04882] Update remote candidate for stream.RTP: <IP_ADDRESS>:60131/udp
[CoWork ice4j,INFO  ,5/30 6:42:59,#04882] new Pair added: <IP_ADDRESS>:7002/udp/host -> <IP_ADDRESS>:60131/udp/host (stream.RTP).
[CoWork ice4j,INFO  ,5/30 6:42:59,#04828] Update remote candidate for stream.RTP: <IP_ADDRESS>:60132/udp
[CoWork ice4j,INFO  ,5/30 6:42:59,#04828] new Pair added: <IP_ADDRESS>:7002/udp/host -> <IP_ADDRESS>:60132/udp/host (stream.RTP).
[CoWork ice4j,INFO  ,5/30 6:42:59,#04882] Update remote candidate for stream.RTP: <IP_ADDRESS>:60133/udp
[CoWork ice4j,INFO  ,5/30 6:42:59,#04882] new Pair added: <IP_ADDRESS>:7002/udp/host -> <IP_ADDRESS>:60133/udp/host (stream.RTP).
[CoWork ice4j,INFO  ,5/30 6:42:59,#04828] Update remote candidate for stream.RTP: <IP_ADDRESS>:60134/udp
[CoWork ice4j,INFO  ,5/30 6:42:59,#04828] new Pair added: <IP_ADDRESS>:7002/udp/host -> <IP_ADDRESS>:60134/udp/host (stream.RTP).
[CoWork ice4j,DEBUG ,5/30 6:42:59,#03973] start check for <IP_ADDRESS>:7002/udp/host -> <IP_ADDRESS>:60131/udp/host (stream.RTP) tid 0x84CD3CC88F014E2E870B5212
[CoWork ice4j,DEBUG ,5/30 6:42:59,#03973] sending STUN  tid 0x84CD3CC88F014E2E870B5212 from <IP_ADDRESS>:7002/udp to <IP_ADDRESS>:60131/udp
[CoWork ice4j,WARN  ,5/30 6:42:59,#03973] Failed to send BINDING-REQUEST(0x1)[attrib.count=6 len=88 tranID=0x84CD3CC88F014E2E870B5212]
[CoWork ice4j,WARN  ,5/30 6:42:59,#03973] java.lang.IllegalArgumentException: No socket found for <IP_ADDRESS>:7002/udp-><IP_ADDRESS>:60131/udp
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.stack.NetAccessManager.sendMessage(NetAccessManager.java:631)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.stack.NetAccessManager.sendMessage(NetAccessManager.java:581)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.stack.StunClientTransaction.sendRequest0(StunClientTransaction.java:267)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.stack.StunClientTransaction.sendRequest(StunClientTransaction.java:245)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.stack.StunStack.sendRequest(StunStack.java:680)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.ice.ConnectivityCheckClient.startCheckForPair(ConnectivityCheckClient.java:333)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.ice.ConnectivityCheckClient.startCheckForPair(ConnectivityCheckClient.java:229)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.ice.ConnectivityCheckClient$PaceMaker.run(ConnectivityCheckClient.java:939)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.util.PeriodicRunnable.executeRun(PeriodicRunnable.java:206)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at java.base/java.lang.Thread.run(Unknown Source)
[CoWork ice4j,INFO  ,5/30 6:42:59,#03973] Pair failed: <IP_ADDRESS>:7002/udp/host -> <IP_ADDRESS>:60131/udp/host (stream.RTP)
[CoWork ice4j,DEBUG ,5/30 6:42:59,#03973] start check for <IP_ADDRESS>:7002/udp/host -> <IP_ADDRESS>:60132/udp/host (stream.RTP) tid 0x9BCD3CC88F01070AB7634930
[CoWork ice4j,DEBUG ,5/30 6:42:59,#03973] sending STUN  tid 0x9BCD3CC88F01070AB7634930 from <IP_ADDRESS>:7002/udp to <IP_ADDRESS>:60132/udp
[CoWork ice4j,WARN  ,5/30 6:42:59,#03973] Failed to send BINDING-REQUEST(0x1)[attrib.count=6 len=88 tranID=0x9BCD3CC88F01070AB7634930]
[CoWork ice4j,WARN  ,5/30 6:42:59,#03973] java.lang.IllegalArgumentException: No socket found for <IP_ADDRESS>:7002/udp-><IP_ADDRESS>:60132/udp
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.stack.NetAccessManager.sendMessage(NetAccessManager.java:631)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.stack.NetAccessManager.sendMessage(NetAccessManager.java:581)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.stack.StunClientTransaction.sendRequest0(StunClientTransaction.java:267)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.stack.StunClientTransaction.sendRequest(StunClientTransaction.java:245)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.stack.StunStack.sendRequest(StunStack.java:680)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.ice.ConnectivityCheckClient.startCheckForPair(ConnectivityCheckClient.java:333)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.ice.ConnectivityCheckClient.startCheckForPair(ConnectivityCheckClient.java:229)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.ice.ConnectivityCheckClient$PaceMaker.run(ConnectivityCheckClient.java:939)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.util.PeriodicRunnable.executeRun(PeriodicRunnable.java:206)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at java.base/java.lang.Thread.run(Unknown Source)
[CoWork ice4j,INFO  ,5/30 6:42:59,#03973] Pair failed: <IP_ADDRESS>:7002/udp/host -> <IP_ADDRESS>:60132/udp/host (stream.RTP)
[CoWork ice4j,INFO  ,5/30 6:42:59,#04828] Update remote candidate for stream.RTP: <IP_ADDRESS>:60132/udp
[CoWork ice4j,INFO  ,5/30 6:42:59,#04828] new Pair added: <IP_ADDRESS>:7002/udp/host -> <IP_ADDRESS>:60132/udp/srflx (stream.RTP).
[CoWork ice4j,DEBUG ,5/30 6:42:59,#03973] start check for <IP_ADDRESS>:7002/udp/host -> <IP_ADDRESS>:60133/udp/host (stream.RTP) tid 0xB0CD3CC88F0177033682A1CC
[CoWork ice4j,DEBUG ,5/30 6:42:59,#03973] sending STUN  tid 0xB0CD3CC88F0177033682A1CC from <IP_ADDRESS>:7002/udp to <IP_ADDRESS>:60133/udp
[CoWork ice4j,WARN  ,5/30 6:42:59,#03973] Failed to send BINDING-REQUEST(0x1)[attrib.count=6 len=88 tranID=0xB0CD3CC88F0177033682A1CC]
[CoWork ice4j,WARN  ,5/30 6:42:59,#03973] java.lang.IllegalArgumentException: No socket found for <IP_ADDRESS>:7002/udp-><IP_ADDRESS>:60133/udp
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.stack.NetAccessManager.sendMessage(NetAccessManager.java:631)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.stack.NetAccessManager.sendMessage(NetAccessManager.java:581)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.stack.StunClientTransaction.sendRequest0(StunClientTransaction.java:267)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.stack.StunClientTransaction.sendRequest(StunClientTransaction.java:245)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.stack.StunStack.sendRequest(StunStack.java:680)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.ice.ConnectivityCheckClient.startCheckForPair(ConnectivityCheckClient.java:333)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.ice.ConnectivityCheckClient.startCheckForPair(ConnectivityCheckClient.java:229)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.ice.ConnectivityCheckClient$PaceMaker.run(ConnectivityCheckClient.java:939)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.util.PeriodicRunnable.executeRun(PeriodicRunnable.java:206)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at java.base/java.lang.Thread.run(Unknown Source)
[CoWork ice4j,INFO  ,5/30 6:42:59,#03973] Pair failed: <IP_ADDRESS>:7002/udp/host -> <IP_ADDRESS>:60133/udp/host (stream.RTP)
[CoWork ice4j,DEBUG ,5/30 6:42:59,#03973] start check for <IP_ADDRESS>:7002/udp/host -> <IP_ADDRESS>:60134/udp/host (stream.RTP) tid 0xC5CD3CC88F01551D1A6A5E51
[CoWork ice4j,DEBUG ,5/30 6:42:59,#03973] sending STUN  tid 0xC5CD3CC88F01551D1A6A5E51 from <IP_ADDRESS>:7002/udp to <IP_ADDRESS>:60134/udp
[CoWork ice4j,WARN  ,5/30 6:42:59,#03973] Failed to send BINDING-REQUEST(0x1)[attrib.count=6 len=88 tranID=0xC5CD3CC88F01551D1A6A5E51]
[CoWork ice4j,WARN  ,5/30 6:42:59,#03973] java.lang.IllegalArgumentException: No socket found for <IP_ADDRESS>:7002/udp-><IP_ADDRESS>:60134/udp
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.stack.NetAccessManager.sendMessage(NetAccessManager.java:631)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.stack.NetAccessManager.sendMessage(NetAccessManager.java:581)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.stack.StunClientTransaction.sendRequest0(StunClientTransaction.java:267)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.stack.StunClientTransaction.sendRequest(StunClientTransaction.java:245)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.stack.StunStack.sendRequest(StunStack.java:680)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.ice.ConnectivityCheckClient.startCheckForPair(ConnectivityCheckClient.java:333)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.ice.ConnectivityCheckClient.startCheckForPair(ConnectivityCheckClient.java:229)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.ice.ConnectivityCheckClient$PaceMaker.run(ConnectivityCheckClient.java:939)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.util.PeriodicRunnable.executeRun(PeriodicRunnable.java:206)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at java.base/java.lang.Thread.run(Unknown Source)
[CoWork ice4j,INFO  ,5/30 6:42:59,#03973] Pair failed: <IP_ADDRESS>:7002/udp/host -> <IP_ADDRESS>:60134/udp/host (stream.RTP)
[CoWork ice4j,DEBUG ,5/30 6:42:59,#03973] start check for <IP_ADDRESS>:7002/udp/host -> <IP_ADDRESS>:60132/udp/srflx (stream.RTP) tid 0xDBCD3CC88F01FC53259D14C4
[CoWork ice4j,DEBUG ,5/30 6:42:59,#03973] sending STUN  tid 0xDBCD3CC88F01FC53259D14C4 from <IP_ADDRESS>:7002/udp to <IP_ADDRESS>:60132/udp
[CoWork ice4j,WARN  ,5/30 6:42:59,#03973] Failed to send BINDING-REQUEST(0x1)[attrib.count=6 len=88 tranID=0xDBCD3CC88F01FC53259D14C4]
[CoWork ice4j,WARN  ,5/30 6:42:59,#03973] java.lang.IllegalArgumentException: No socket found for <IP_ADDRESS>:7002/udp-><IP_ADDRESS>:60132/udp
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.stack.NetAccessManager.sendMessage(NetAccessManager.java:631)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.stack.NetAccessManager.sendMessage(NetAccessManager.java:581)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.stack.StunClientTransaction.sendRequest0(StunClientTransaction.java:267)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.stack.StunClientTransaction.sendRequest(StunClientTransaction.java:245)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.stack.StunStack.sendRequest(StunStack.java:680)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.ice.ConnectivityCheckClient.startCheckForPair(ConnectivityCheckClient.java:333)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.ice.ConnectivityCheckClient.startCheckForPair(ConnectivityCheckClient.java:229)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.ice.ConnectivityCheckClient$PaceMaker.run(ConnectivityCheckClient.java:939)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at org.ice4j.util.PeriodicRunnable.executeRun(PeriodicRunnable.java:206)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
[CoWork ice4j,TRACE ,5/30 6:42:59,#03973] 	at java.base/java.lang.Thread.run(Unknown Source)
[CoWork ice4j,INFO  ,5/30 6:42:59,#03973] Pair failed: <IP_ADDRESS>:7002/udp/host -> <IP_ADDRESS>:60132/udp/srflx (stream.RTP)
[CoWork ice4j,DEBUG ,5/30 6:42:59,#03973] will skip a check beat.
[CoWork ice4j,DEBUG ,5/30 6:42:59,#03973] will skip a check beat.
[CoWork ice4j,DEBUG ,5/30 6:42:59,#03973] will skip a check beat.
[CoWork ice4j,DEBUG ,5/30 6:42:59,#03973] will skip a check beat.
[CoWork ice4j,DEBUG ,5/30 6:42:59,#03973] will skip a check beat.
[CoWork ice4j,DEBUG ,5/30 6:42:59,#03973] will skip a check beat.
[CoWork ice4j,DEBUG ,5/30 6:42:59,#03973] will skip a check beat.
[CoWork ice4j,DEBUG ,5/30 6:42:59,#03973] will skip a check beat.
[CoWork ice4j,DEBUG ,5/30 6:42:59,#03973] will skip a check beat.
[CoWork ice4j,DEBUG ,5/30 6:42:59,#03973] will skip a check beat.
...

Is this using HostCandidateHarvester?

Yes. I use the follow API calls (simplified). The server run inside of a docker container which does not publish the UDP port 7002 to simulate the misconfiguration of a customer. It is impossible for the server to connect to the browser. It should failed.
       List<CandidateHarvester> harvesters = SinglePortUdpHarvester.createHarvesters( 7002 );
       ....
       agent.setControlling( true );
       agent.setTrickling( true );
       IceMediaStream stream = agent.createMediaStream( "stream" );
       agent.addStateChangeListener( evt -> {
           ....
       });
       agent.setUseDynamicPorts( false );
       for( CandidateHarvester harvester : harvesters ) {
            agent.addCandidateHarvester( harvester );
       }
       Component component = agent.createComponent( stream, 0, 0, 0 );
       sendLocalCandidatesToBrowser( component.getLocalCandidates() );
       agent.startCandidateTrickle( iceCandidates -> {
             ....
       } );
       agent.startConnectivityEstablishment();
       ....
       component.addUpdateRemoteCandidates( candidate );
       component.updateRemoteCandidates();

I agree that with all pairs failing the Agent should transition to the FAILED state. I don't understand why it doesn't. Is your trickle callback getting called with null to signal that trickling has completed? Have you tried with no trickle at all?

The stacktrace from the log point me to the catch of NetAccessManager.SocketNotFoundException in ConnectivityCheckClient. It does not set the TransactionID tran to null. It was added with #257. This are two release earlier. I will test release 3.0-55-g32a8aad tomorrow. But I am sure that the method startCheckForPair should return null in an error case.
To answer your questions:

Yes there is a final null in startCandidateTrickle
I have not test without trickle yet because all browser accept this. I can check this also.

I was not able to run the version 3.0-55-g32a8aadin a given time. Seems there was a large difference of the dependencies.

If I return null in the method startCheckForPair after a NetAccessManager.SocketNotFoundException then I see the log output:
[CoWork ice4j,INFO  ,6/3 12:17:09,#00158] Pair failed: .....

like in the old version 3.0-57-gdec3a87. But the agent is not failing. This seems an important part of a possible fix but is not enough.
I can't find any code in the library that checks that all candidates are failing. processResponse and processTimeout is never called. The fireEndOfOrdinaryChecks is a NOP operation because there are no listener registered. Any suggestion where i can set a breakpoint? Can I give any helpful information?

I have create a PR #281 that after 5 Seconds (5000 milliseconds) let failing the agent with a bad configuration.


[Cache] [3.x] Move normalization to the ApolloCacheInterceptor #2861

Fix #2861
The normalization is done today in the ApolloParseInterceptor (line 78) and thus executes while blocking the response callback to the UI.
Since normalization is pretty expensive, moving it to ApolloCacheInterceptor (line ~134) and benefit from the asynchronous dispatcher when passing writeToCacheAsynchronously=true.
The only caveat with this approach is that we can't support the Response.dependentKeys API anymore.

The only caveat with this approach is that we can't support the Response.dependentKeys API anymore.

I think this is perfectly fine to drop this as a public API, this is internal stuff.

The only caveat with this approach is that we can't support the Response.dependentKeys API anymore.

I think this is perfectly fine to drop this as a public API, this is internal stuff.


fix link of callbacks on modules page

Since Callbacks on Modules went to a "Page Not Found".

Thank you!


Compiling starter extension + placing .dll in REAPER/UserPlugins but don't see extension or console message

So I believe I have everything configured + compiled right, tried to fit all the pertinent stuff in this screenshot:

After compiling, I copied the .dll into /REAPER/UserPlugins, and launched REAPER, but didn't see any console message, or find it in the Actions list/Extension menu:

I tried copying all of the files in the target build folder that had the same name as the .dll (maybe the .dll needs these as dependencies?) into UserPlugins too, but still no luck:

Sorry if this is stupid -- I'm not sure I can figure out what I've done wrong

Okay, so because I had no way of telling whether the code was ever even being run, I added code to write a dummy text file to /UserPlugins just to be sure something was happening:
fn write_test_file() {
    fs::write(
        "C:\\Users\\rayga\\AppData\\Roaming\\REAPER\\UserPlugins\\testfile.txt",
        "Rust extension .dll code was executed",
    )
    .expect("Unable to write file");
}

#[reaper_extension_plugin]
fn plugin_main(context: PluginContext) -> Result<(), Box<dyn Error>> {
    let session = ReaperSession::load(context);
    session
        .reaper()
        .show_console_msg("Hello world from reaper-rs medium-level API!");
    write_test_file();
    Ok(())
}

Starting up again, the file was not written. So clearly, this plugin is never even getting initialized 🙁

After investing more, I noticed that almost all of the native plugins, have names beginning with prefix reaper_.
On the wild chance that this might fix it, I tried renaming extension to reaper_my_extension.dll, and running again:

And then...

🤯
Okay, so the extension name has to begin with reaper_ in order for it to be loaded I suppose?
I will submit a PR with a note in the README about this if that is okay?

Okay, so because I had no way of telling whether the code was ever even being run, I added code to write a dummy text file to /UserPlugins just to be sure something was happening:
fn write_test_file() {
    fs::write(
        "C:\\Users\\rayga\\AppData\\Roaming\\REAPER\\UserPlugins\\testfile.txt",
        "Rust extension .dll code was executed",
    )
    .expect("Unable to write file");
}

#[reaper_extension_plugin]
fn plugin_main(context: PluginContext) -> Result<(), Box<dyn Error>> {
    let session = ReaperSession::load(context);
    session
        .reaper()
        .show_console_msg("Hello world from reaper-rs medium-level API!");
    write_test_file();
    Ok(())
}

Starting up again, the file was not written. So clearly, this plugin is never even getting initialized 🙁

After investing more, I noticed that almost all of the native plugins, have names beginning with prefix reaper_.
On the wild chance that this might fix it, I tried renaming extension to reaper_my_extension.dll, and running again:

And then...

🤯
Okay, so the extension name has to begin with reaper_ in order for it to be loaded I suppose?
I will submit a PR with a note in the README about this if that is okay?

Hi! Yes, it needs to start with "reaper_". A README entry is a good idea!

Hi! Yes, it needs to start with "reaper_". A README entry is a good idea!

Hi! Yes, it needs to start with "reaper_". A README entry is a good idea!

Awesome, sent! =D

Hi! Yes, it needs to start with "reaper_". A README entry is a good idea!

Awesome, sent! =D


Feature/callout documentation

Description
Adds basic (missing) documentation for the existing (and three new) callouts under the Patterns section.
When merged this should fix for https://github.com/AusDTO/dto-design-guide/issues/119
That issue holds the bulk of the bg info.
Happy to leave this PR open for Jools to work on, or we could merge and ensure Jools sees it when he comes back — undoubtedly there’s content debt here that we will want to fix…
Additional information
Screenshot:

Definition of Done

[ ] Content/documentation reviewed by Jools or someone in the #content-design team
[ ] UX reviewed by Gary or someone the Design team
[ ] Code reviewed by one of the core developers
[ ] Acceptance Testing

[ ] HTML5 validation (CircleCI)
[ ] Accessibility testing & WCAG2 compliance

[ ] Stakeholder/PO review

maybe we could consider a brighter green for 'success' (eg #008000) in a future release?

maybe we could consider a brighter green for 'success' (eg #008000) in a future release?

@AndrewArch yea, happy to when we revisit colours in 2.x.

Hey @dominikwilkowski and @klepas I don't think this is in the right place. I think what we've got are code and examples for a component called "callouts".
When we provide guidance and examples of how these components are used as part of a service to help the user then that content should go in Patterns. But I don't think we'll get to this until 2.0.
So I'd like to move this content to the Components collection and do some work on the lead-in and examples.

So I'd like to move this content to the Components collection and do some work on the lead-in and examples.

@joolswood I however want to close #119 now, and add a new issue assigned to you if you want to move this within the 1.x documentation site.


Update sbt-typelevel-ci, ... to 0.5.0

About this PR
📦 Updates

org.typelevel:sbt-typelevel-ci
org.typelevel:sbt-typelevel-github
org.typelevel:sbt-typelevel-mergify
org.typelevel:sbt-typelevel-settings
org.typelevel:sbt-typelevel-versioning

from 0.4.22 to 0.5.0
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.typelevel" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.typelevel" }
}]

labels: sbt-plugin-update, early-semver-major, semver-spec-minor, version-scheme:early-semver, commit-count:n:2

Superseded by #80.


We're storing spot locations as int64 (and maybe more) - should be sth smaller

Good point, int32 should be more than enough. Also, according to this https://github.com/scverse/spatialdata/issues/187, int64 are not available in JS, another reason to use int32 (please @ilan-gold confirm this).

@ilan-gold had strong opinions on this in general - and realistically we can probably get away with sth that covers all use cases? Maybe we could automatically do that within spatialdata-io. Wdyt?

@LucaMarconato unbenkownst to me 64 bit integers were available in JS before https://github.com/scverse/spatialdata/issues/187, but not by very long so a lot of software doesn't handle them (yet and still).  I can implement a fix for this specifically in vitessce, no problem.  but in general, i think this should perhaps be checked a bit?  maybe even just warning people? it's double the data for little good reason.  For example, you could provide a global setting to allow people to opt-in (and then switch it to default after a period of time)
I wouldn't say this is a blocker,but more a suggestion/RFC


internal_error when attempting to upload to repository behind cloudflare

Expected Behavior
I would expect uploadArchives to succeed
Current Behavior
uploadArchives fails with Failed to deploy artifacts: Could not transfer artifact org.sosy-lab:java-smt:jar:1.0.2 from/to remote (https://maven.tangentmc.net/repository/victoria): Received fatal alert: internal_error
Context
This issue affects me as i am unable to push code to my nexus instance, and i would like to depend upon this project from somewhere else.
Steps to Reproduce (for bugs)
https://github.com/sanjay900/java-smt-maven
I am attempting to deploy this plugin to a nexus repository proxied behind cloudflare.
Your Environment

Build scan URL:
https://scans.gradle.com/s/nbcf5ejp47ahs#infrastructure

@sanjay900 The problem seems to be caused by an SSL error. Can you explain why you would believe this to be a Gradle issue?

Ive seen some other projects that had similar issues and they were fixed by the developers.

This is unlikely to be a problem in Gradle itself, since the error is coming from the SSL layer. If there is evidence that this is actually a Gradle problem, please don't hesitate to follow up with more details here.


control use of _.Var

This depends on mutable state, and is used without control.
Should instead depend on an implicit NameFactory, which can be locally overridden.
For now there can be an implicit object imported in HoTT, but in the longer run this should be explicitly imported.

The method is used so much that opt in will be more of a pain than it is worth, so for now we stick to using an implicit NameFactory, with options of using a cleaner one. In future code, separate a variable provider from the use of _.Var


Is this software still being actively developed?

The latest version (v2.0.9) was released on March 31, 2017.
Is this software still being actively developed?

Not actively, but I send updates from time to time.

I don't have much time this summer to work on it.


Add new UpdateWithSelector (issue #92)

What : Fix for #92
Fixes :  Added new UpdateWithSelector method for controlling which columns are included in generated update statement.
type Person struct {
		FirstName     string `db:"first_name"`
		LastName     string `db:"last_name"`
		Email     	  string `db:"email"`
		Phone     	  string `db:"phone"`
	}

coll = []string{"first_name", "last_name"}
f := func(cm *gorp.ColumnMap) bool{
	for _, a := range coll {
		if a == cm.ColumnName {
			return true;
		}
	}
	return false
}

count, err := trans.UpdateWithSelector(f, &person)

Anyone still working on this?
If not: since this is something I foresee we'll need: I'll happily pick this up and improve it if one of the maintainers (@GeertJohan?) is interested in seeing this go in.

Fixed in #300


Roll Engine from 867e51b76256 to 45bf4109d01e (3 revisions)

https://github.com/flutter/engine/compare/867e51b76256...45bf4109d01e
2021-02-25<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from Zcy9nP_sY... to kfjppUrzf... (flutter/engine#24607)
2021-02-25<EMAIL_ADDRESS>Roll Dart SDK from 39424b348c44 to b9c5d901eac0 (1 revision) (flutter/engine#24614)
2021-02-25<EMAIL_ADDRESS>Roll Skia from 029851d9513a to 8a43a2889ef8 (3 revisions) (flutter/engine#24613)
Also rolling transitive DEPS:
fuchsia/sdk/core/linux-amd64 from Zcy9nP_sYbd3 to kfjppUrzf7k3
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Commit queue failed; closing this roll.


ImprovedFooterVersion

Related Issue

#383

Proposed Changes

Change 1: Adding little bit padding above the "Reach Us", so that it looks more good.
Change 2: Adding a line above "made with.." to separate it from above part.

Output Screenshots

It's having issues in mobile view, please fetch latest code

It's having issues in mobile view, please fetch latest code

Done

@agamjotsingh18 Please review this out


MHLO select scalar pred support

select allows for scalar predicate support while reference implementation does not.

I am not sure if https://www.tensorflow.org/mlir/hlo_ops#mhloselect_mlirmhloselectop was already available when we implemented the reference implementation. Indeed, pred should be a "tensor of pred (AKA boolean or 1-bit integer) values", but "[..] may also be a scalar in which case it is broadcasted". A testcase can be can be found in the mlir-hlo repo: https://github.com/tensorflow/mlir-hlo/blob/57288f12595a2ee0488806672a42da59b1e56e13/tests/Dialect/mhlo/ops.mlir#L954-L958


LFS-573: Check for label in displayQuestion method

Opening patient or tumor charts results in a blank screen.
Console errors are saved in the attached files.
TumorChartErrors.txt
PatientChartErrors.txt

Some things are fixed, some not:

@sashaandjic Indeed, but fixing everything will take a lot of effort.

@sashaandjic Indeed, but fixing everything will take a lot of effort.

We can merge what we got fixed, and I can log another task for the remaining fixes.


Add Entity Parser plugin docs

Package: https://jsr.io/@qz/telegram-entities-parser
Source: https://github.com/quadratz/telegram-entities-parser/
Deploy preview: https://github.com/grammyjs/website/pull/1121#issuecomment-2338162736

@rojvv is this waiting for anything else?

@MasedMSD fix formatting issues with your translation.

@niusia-ua broken anchor
Missing anchors (1)
Some links were pinned with an anchor. But the linked document doesn't have such an anchor.

 #випадки-коли-краще-не-використовувати-цей-пакет
 possible fix: випадки-коли-краще-не-використовувати-цеи-пакет
    at /home/runner/work/website/website/site/docs/uk/plugins/entity-parser.md:18:73

Hey, should be fixed now.


Added batch modules loading using a wildcard

The change allows using a wildcard to batch load modules that need to be obfuscated.
Usage example:
	<module path="*.dll"                                         >
	    <rule preset="none" pattern="true" inherit="false">
			<protection id="ctrl flow" />
			<protection id="invalid metadata" />
			<protection id="ref proxy" />
			<protection id="rename" />
			<protection id="resources" />
		</rule>
	</module>

@mkaring what do you think?

:white_check_mark: Build ConfuserEx 986 completed (commit https://github.com/mkaring/ConfuserEx/commit/55008ed32d by @)

:white_check_mark: Build ConfuserEx 987 completed (commit https://github.com/mkaring/ConfuserEx/commit/9c41530ab1 by @)