Add support for Laravel 11

While trying to add Laravel 11 to graphql-laravel, I ran into this package missing support for it as a first.
Summary

[x] Added automated tests
[x] Documented for all relevant versions
[x] Updated the changelog

Changes

Laravel 11 requires phpunit 10

phpunit 10 throws a warning for non-static dataproviders
Fixing them wasn't as straightforward, as they're calling non-static methods also into the framework; therefore I left this for now as it's only warning (needs to be fixed for phpunit 11)
phpstan complained for the same reason, that's why I added them to ignore for now

orchestra/testbench has no 9.x release yet, so I left in for the final release and added 9.x-dev, to be removed once its out
Also run tests against PHP 8.3

php-cs-fixer
This one deserves special mention.
I didn't touch anything when it pushed this change onto the PR at first:
-public function __construct(string $message, \Throwable $previous = null, int $code = 0, array $headers = [])
+public function __construct(string $message, ?\Throwable $previous = null, int $code = 0, array $headers = [])

That's when I realized it applies code changes based on the PHP version it runs; but this package supports PHP 7.2+, that's why after that I changed it's runtime.
It still pushed a change, but one which is not an issue with PHP version or compat problems.
Breaking changes
none

Thank you, nicely done.


Library name change request

Library repository URL
https://github.com/Acrome-Smart-Motor-Driver/SMD-Arduino-Library

Hi @beratcomputer. I am confirming your request.
Unlike submissions, this type of request is still handled manually. The Library Manager index maintainer occasionally comes through to clear all the outstanding requests. They will close this issue when it is done. You will get a notification from GitHub at that time.
After that, you can monitor the indexing of the library via its dedicated logs web page.
Information about that here:
https://github.com/arduino/library-registry/blob/main/FAQ.md#can-i-check-on-library-releases-being-added-to-library-manager

Hi @beratcomputer. I don't have any specific timeline for when the index maintainer will be able to accommodate your request. It might take a couple of weeks. Please be patient.

Done:
2023/11/22 16:43:40 Loaded 6390 libraries from DB
Removing Acrome SMD - Arduino Library
Success!


sqlmi/pg instance creation from wizard shows blank controller context

Issue Type: Bug
Repro Steps:

Invoke the "New Deployment" wizard from servers viewlet
Pick SQLMI / PG create
Data controller should be populated from current context and/or shown here

See attached screenshots for current behavior. There is no way for user to proceed further.
Azure Data Studio version: azuredatastudio-rc1 1.22.0-rc1 (fb28b69bb0897660e38b85ffabdff79c345a8043, 2020-09-16T19:25:06.133Z)
OS version: Windows_NT x64 10.0.20215

Duplicate of https://github.com/microsoft/azuredatastudio/issues/12344


Reproducible Data

We need to modify the link to the dataset test/training splits so that it is accessible by anyone using this Git. We also need more clear explanation of how to use the data, so that our code and results are fully reproducible.

Yeah, the current link in README file requires additional access. So, Muaz's code for downloading data would be pulled from his branch to the main branch in a minute.

I've also updated README file to explain how our files can be used with more details.

I've added comments what the other folders (such as results and reports) contain in our repository.


chore(master): release 0.1.0

:robot: I have created a release beep boop
0.1.0 (2024-11-26)
⚠ BREAKING CHANGES

Removed get_heartbeat method. This method was never intended to retrieve information. Use get_heartbeats or get_important_heartbeats instead.
Uptime Kuma versions < 1.21.3 are not supported in uptime-kuma-api 1.x.x
changed return values of get_heartbeats, get_important_heartbeats, avg_ping, uptime, get_heartbeat, cert_info
Removed the wait_timeout parameter. Use the new timeout parameter instead. The timeout parameter specifies how many seconds the client should wait for the connection, an expected event or a server response.
maintenance parameter timezone renamed to timezoneOption
monitor status type changed from bool to MonitorStatus
Python 3.7+ required
Python 3.7+ required

Features

add param wait_events (391e5a3)
add parameter wait_timeout to adjust connection timeout (e0c4207)
add support for uptime kuma 1.18.1 / 1.18.2 (fee0a1d)
add support for uptime kuma 1.18.3 (c8529d6)
add support for uptime kuma 1.19.2 (d01ff6d)
add support for uptime kuma 1.19.3 (982c370)
add support for uptime kuma 1.19.5 (3e56459)
add support for uptime kuma 1.20.0 (14e9f47)
add support for uptime kuma 1.21.0 (42c040f)
add support for uptime kuma 1.21.1 (2773d02)
add support for uptime kuma 1.21.2 (d7f0330)
add support for uptime kuma 1.21.3 (8e841cd)
add support for uptime kuma 1.22.0 and 1.22.1 (06f1173)
add support for uptime kuma 1.23.0 and 1.23.1 (7902213)
added .github folder contents (release please and labeler) and made inital change to api.py (77681ec)
check for required notification arguments (#36) (e7693e6)
drop python 3.6 support (7ef61f8)
drop python 3.6 support (50ff8f1)
drop support for Uptime Kuma versions < 1.21.3 (f0c5f2b)
implement get_monitor_status helper method (a9f2b6d)
implement context manager for UptimeKumaApi class (e42f646)
implement custom socketio headers (e1fd3b7)
implement timeouts for all methods (#34) (9728cfd)
raise exception when deleting an element that does not exist (#37) (1359576)
replace raw return values with enum values (84d4009)
support autoLogin for enabled disableAuth (661c06b)

Bug Fixes

add type to notification provider options (dac368e)
added necessary repo secret and removed uneeded step (83a9245)
adjust get_monitor_status method to previous changes (ce1cc12)
adjust monitor status type to allow all used values (b87eed2)
check only for required notification arguments (8a0ad53)
convert monitor notificationIDList only once (54d221c)
convert monitor notificationIDList return value (314f07c)
convert sendUrl from bool to int (1810784)
do not wait for events that have already arrived (be537a1)
drop first info event without a version (370b7e3), closes #55
generate pushToken on push monitor save (12cd806)
increase event wait time (0821f38)
memory leak (#29) (77630e9)
process the HEARTBEAT event correctly (762dd4a)
remove name from maintenance monitors and status pages (2611b34)
remove tags from monitor input (de38586)
remove required notification provider args check (52d33d8)
rstip url globally (3543f09)
set_settings password is only required if disableAuth is enabled (ebadfb7)
skip condition check for None values (1e4be04)
update event list data after changes (06fa29c)
validate accepted status codes types (0d49e97), closes #42
ValueError if monitor authMethod is None (ce6f25d)

Documentation

add docstrings and sphinx, readthedocs configuration (ce5ba2d)
add return types and exceptions (d68168b)
complete values for uptime kuma 1.19.2 (c1d941a)
fix list type hints (4538901)
replace list[dict] with list type hint and add missing type hints (9e3cbe7)
update notification docstring (24b6d36)
write param and type in the same line and add optional to type (748d2b1)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v0.1.0
:sunflower:


AirCraft dataset samples are organized sequentially, which causes much Worse/biased performance unless Dataloader is shuffled

🐛 Describe the bug
from torchvision.datasets import FGVCAircraft

dataset = FGVCAircraft(root="aircraft_dataset_path"). # pass download=True if want to download
print(dataset._labels)  # output is 'sorted' according to the classes: 0, 0...., 99, 99.

output
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,......
Initially, I thought the solution was to re-organize the samples, but that introduces randomness that is not always wanted. Instead, we can inform the user of the fact that the samples are organized and that it is very encouraged to shuffle the dataset.
Will open a PR for that now.
Versions
Collecting environment information...
PyTorch version: 2.0.1+cu117
Is debug build: False
CUDA used to build PyTorch: 11.7
ROCM used to build PyTorch: N/A
OS: Ubuntu 20.04.6 LTS (x86_64)
GCC version: (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
Clang version: Could not collect
CMake version: version 3.27.0
Libc version: glibc-2.31
Python version: 3.8.17 (default, Jul  5 2023, 21:04:15)  [GCC 11.2.0] (64-bit runtime)
Python platform: Linux-5.4.0-153-generic-x86_64-with-glibc2.17
Is CUDA available: True
CUDA runtime version: 10.1.243
CUDA_MODULE_LOADING set to: LAZY
GPU models and configuration:
GPU 0: NVIDIA GeForce RTX 3090
GPU 1: NVIDIA GeForce RTX 3090
GPU 2: NVIDIA GeForce RTX 3090
GPU 3: NVIDIA GeForce RTX 3090
Nvidia driver version: 525.125.06
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True
CPU:
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   46 bits physical, 57 bits virtual
CPU(s):                          32
On-line CPU(s) list:             0-31
Thread(s) per core:              2
Core(s) per socket:              16
Socket(s):                       1
NUMA node(s):                    1
Vendor ID:                       GenuineIntel
CPU family:                      6
Model:                           106
Model name:                      Intel(R) Xeon(R) Silver 4314 CPU @ 2.40GHz
Stepping:                        6
Frequency boost:                 enabled
CPU MHz:                         800.000
CPU max MHz:                     3400.0000
CPU min MHz:                     800.0000
BogoMIPS:                        4800.00
Virtualization:                  VT-x
L1d cache:                       768 KiB
L1i cache:                       512 KiB
L2 cache:                        20 MiB
L3 cache:                        24 MiB
NUMA node0 CPU(s):               0-31
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Mmio stale data:   Mitigation; Clear CPU buffers; SMT vulnerable
Vulnerability Retbleed:          Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1:        Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:        Mitigation; Enhanced IBRS, IBPB conditional, RSB filling, PBRSB-eIBRS SW sequence
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 invpcid_single ssbd mba ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb intel_pt avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local wbnoinvd dtherm ida arat pln pts avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg tme avx512_vpopcntdq rdpid md_clear pconfig flush_l1d arch_capabilities
Versions of relevant libraries:
[pip3] numpy==1.24.3
[pip3] torch==2.0.1
[pip3] torchaudio==2.0.2
[pip3] torchvision==0.15.2
[pip3] triton==2.0.0
[conda] blas                      1.0                         mkl
[conda] cudatoolkit               10.2.89              hfd86e86_1
[conda] mkl                       2023.1.0         h6d00ec8_46342
[conda] mkl-service               2.4.0            py38h5eee18b_1
[conda] mkl_fft                   1.3.6            py38h417a72b_1
[conda] mkl_random                1.2.2            py38h417a72b_1
[conda] numpy                     1.24.4                   pypi_0    pypi
[conda] numpy-base                1.24.3           py38h060ed82_1
[conda] torch                     2.0.1                    pypi_0    pypi
[conda] torchaudio                2.0.2                    pypi_0    pypi
[conda] torchvision               0.15.2                   pypi_0    pypi
[conda] triton                    2.0.0                    pypi_0    pypi

Opened a PR: link

Thanks for the report @EyalMichaeli.
It is expected that the datasets aren't shuffled by default to preserve the initial authors' structure. Where shuffling matters i.e. during training jobs, the Dataloader should be used and it shuffles by default. I guess it is one of those things that may seem slightly surprising at first, but not worth raising a warning over.


SLC builds on EFR32 do not work on the vscode image

Trying to debug a build failure for CI and looking to reproduce the error via:
scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs ./out/light-app BRD4187C --slc_generate --docker

This fails in 2 separate instances for the vscode docker image:

the path of .environment is hardcoded in gn_silabs_examples.sh, however we should use PW_ENVIRONMENT_ROOT if it is set (it is set for the vscode image)
once the above is fixed, I get FileNotFoundError: [Errno 2] No such file or directory: 'slc'

https://github.com/project-chip/connectedhomeip/pull/35755 fixed the .environment path issue.
The second part is that slc is not in thevscode image. I'll update it


how to import swagger file to kong

This is currently an enterprise only feature

This is currently an enterprise only feature

thanks for your reply， if I will develop plugin for this feature， can you give me some advise?


Error deploying to Cloudflare Pages

$ npx wrangler pages deploy dist/
No project selected. Would you like to create one or use an existing project?
❯ Create a new project
  Use an existing project
✔ Enter the name of your new project: … hwy-123
✔ Enter the production branch name: … production
✨ Successfully created the 'hwy-123' project.
🌎  Uploading... (17/17)

✨ Success! Uploaded 17 files (1.26 sec)

✘ [ERROR] 2 error(s) and 0 warning(s) when compiling Worker.

✘ [ERROR] Could not resolve "node:path"

    ../node_modules/.pnpm/hwy@0.4.1/node_modules/hwy/dist/index.js:2:18:
      2 │ import path2 from "node:path";
        ╵                   ~~~~~~~~~~~

  The package "node:path" wasn't found on the file system but is built into node.
  Add the "nodejs_compat" compatibility flag to your Pages project to enable Node.js compatibility.

✘ [ERROR] Could not resolve "node:process"

    _worker.js:1:20:
      1 │ import process from "node:process";
        ╵                     ~~~~~~~~~~~~~~

  The package "node:process" wasn't found on the file system but is built into node.
  Add the "nodejs_compat" compatibility flag to your Pages project to enable Node.js compatibility.

✘ [ERROR] Build failed with 2 errors:

  ../node_modules/.pnpm/hwy@0.4.1/node_modules/hwy/dist/index.js:2:18: ERROR: Could not resolve
  "node:path"
  _worker.js:1:20: ERROR: Could not resolve "node:process"

Hi there @CodeLPrime,
Thanks for opening this issue.
We should document this better, but you need to use nodejs_compat mode.
You can enable this in your Cloudflare dashboard by:

Going to your Cloudflare Pages project from the Cloudflare dashboard
Go to the Settings tab
Click on Functions in the sidebar
Scroll down to the Compatability flags section
Add nodejs_compat as a flag for both Production and Preview

The end result should look something like this:

Once that's done, go back to your local project and run:
npm run build && npx wrangler pages deploy dist/

Hopefully eventually they allow this via the CLI, but for now you need to use the Cloudflare Pages dashboard.
Can you give this a try and let me know if it works, @CodeLPrime?

Hello, @sjc5.
Cloudflare Pages deployment (preview + production) works after enabling the nodejs_compat compatibility flag.
I appreciate the detailed instructions and the screenshot.
Thank you for all that you do.
Cheers,
L
P.S. I am interested in helping out with documentation. Feel free to email me at username @ Gmail.

Awesome, thanks @CodeLPrime!
Regarding docs, that would be great. Very soon I'm going to re-work the docs project to be much easier to both read and contribute to. I'll try to remember to give you a ping when the structure is in a little better place / more long-term. And of course, PRs welcome any time in the meantime :)


Skip CommandReply sending when Command.on_reply is False

This issue is closely related to https://github.com/Clariteia/minos_microservice_saga/issues/97


⚠ Bofrost.de has degraded performance

In eb99b8a, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1354 ms

Resolved: Bofrost.de performance has improved in 8fbd3e6 after 33 minutes.


Please add handling for newegg error page

Added matching strings to
outOfStock: ['auto notify', 'item is currently out of stock', 'We are truly sorry']
but it still flags as in stock.  Any idea?

Newegg's been loading erroring out frequently and is causing an inordinate amount of false positives.  Hopefully this can be addressed soon.  Thanks.

#207 has a fix for this

Closed in latest commits 136ccf3593b358229ea43c68da482ab66500a5cc 9d666835283510a5a0c0972627c5c6d180a854b3. Sorry @geman220, didn't see you had that there as well.


Update Master 12_12

Just to merge dev and master right? We'll merge as soon as travis ci finishes

yes


Not working with 3060?

The program only uses Intel UHD not 3060 for some reason

The program only uses Intel UHD not 3060 for some reason

I use 3060 mobile, it works.


Cache dirs

Align cache directories.

This change is

These changes are good, but shouldn't we also change
OkHttpClientHelper.execute("scanner", request)

to
OkHttpClientHelper.execute("scanner/http", request)

then, even if there's not yet another cache than "http" for the scanner?

Thinking more about this, I guess I'd prefer a structure like
~/.ort/analyzer/cache/http/
~/.ort/analyzer/cache/remote_artifacts/
~/.ort/scanner/cache/http/

over
~/.ort/cache/analyzer/http/
~/.ort/cache/analyzer/remote_artifacts/
~/.ort/cache/scanner/http/

What about you, @mnonnenmacher?

I also prefer the proposed format, I'll update the PR.

Oh, @mnonnenmacher, could you please adjust the cache entries in .travis.yml and appveyor.yml accordingly, too?

@sschuberth Do we also want to archive the http caches? So far only the remote artifacts are archived.

In the language of Travis and AppVeyor, currently nothing is archived. Travis can only archive to external S3, and for AppVeyor I've disabled archiving in e9a186aa0d6ec18c64841ae5bac909f8b853fa4a. But I guess what you mean is the saving & restoring of cached directories. And yes, I don't think there's anything wrong with also caching the http caches. Maybe these directives support wildcards to easy specifying the different directories?

Done, but I couldn't find anything about wildcards in the docs. I have added the paths to all caches separately for full control.


Switch React.findDOMNode to ReactDOM.findDOMNode

Integrating changes from facebook/react#4702.

Oops, this change will be in React v0.14. I'll reopen this when that happens.


[IOTDB-3227] UDF Management: CREATE FUNCTION

Design doc: https://apache-iotdb.feishu.cn/docs/doccntvb3xCaYpMnjcs5ehjnZhc

Coverage decreased (-0.4%) to 44.866% when pulling 152f4f142bbc052b14a0d2d5e22e8a2b510a9b10 on iotdb-3227 into 20cf75b8cda5c245789b65bf2259fb2fc034eda4 on master.

3 Config Nodes + 3 Data Nodes

This PR has been self-reviewed.


WIP: Skip deleting files that we just deleted

We see this happening with Swift. Because the consistency of swift is eventual, swift sometimes didn't process the deletion of the meta file yet, and so it turns up in the bkt.Iter(). The second deletion then causes a 404 and compaction fails.

[ ] I added CHANGELOG entry for this change.
[ ] Change is not relevant to the end user.

Changes

Verification

{   "caller": "fetcher.go:189",   "component": "block.MetaFetcher",   "level": "debug",   "msg": "download meta",   "name": "01E065XF3TXB1VQ765VJS9QTBT/meta.json",   "ts": "2020-02-25T13:38:12.902114856Z" } {   "blocks": "[data/compact/0@16967372497332894226/01E065XF3TXB1VQ765VJS9QTBT data/compact/0@16967372497332894226/01E067MCXV4G386C5R7SZF9KWM data/compact/0@16967372497332894226/01E069BAQZWB9DYZRDR20RJS6G data/compact/0@16967372497332894226/01E06B28HY6X0FD6M57BFMQHDY]",   "caller": "compact.go:733",   "compactionGroup": "0@16967372497332894226",   "duration": "54.278347188s",   "level": "debug",   "msg": "downloaded and verified blocks",   "ts": "2020-02-25T13:49:02.610198004Z" } {   "caller": "compact.go:441",   "count": 4,   "duration": "1m1.290166319s",   "level": "info",   "maxt":<PHONE_NUMBER>000,   "mint":<PHONE_NUMBER>000,   "msg": "compact blocks",   "sources": "[01E065XF3TXB1VQ765VJS9QTBT 01E067MCXV4G386C5R7SZF9KWM 01E069BAQZWB9DYZRDR20RJS6G 01E06B28HY6X0FD6M57BFMQHDY]",   "ts": "2020-02-25T13:50:03.900468827Z",   "ulid": "01E1Y9QBSJ3NHQMSRAJ6FQXPX1" } {   "blocks": "[data/compact/0@16967372497332894226/01E065XF3TXB1VQ765VJS9QTBT data/compact/0@16967372497332894226/01E067MCXV4G386C5R7SZF9KWM data/compact/0@16967372497332894226/01E069BAQZWB9DYZRDR20RJS6G data/compact/0@16967372497332894226/01E06B28HY6X0FD6M57BFMQHDY]",   "caller": "compact.go:764",   "compactionGroup": "0@16967372497332894226",   "duration": "1m1.33904902s",   "level": "debug",   "msg": "compacted blocks",   "overlapping_blocks": false,   "ts": "2020-02-25T13:50:03.94934599Z" } {   "caller": "compact.go:834",   "compactionGroup": "0@16967372497332894226",   "level": "info",   "msg": "deleting compacted block",   "old_block": "01E065XF3TXB1VQ765VJS9QTBT",   "ts": "2020-02-25T13:50:32.309739616Z" } {   "bucket": "thanos",   "caller": "block.go:140",   "compactionGroup": "0@16967372497332894226",   "file": "01E065XF3TXB1VQ765VJS9QTBT/meta.json",   "level": "debug",   "msg": "deleted file",   "ts": "2020-02-25T13:50:32.907953626Z" } {   "bucket": "thanos",   "caller": "block.go:157",   "compactionGroup": "0@16967372497332894226",   "file": "01E065XF3TXB1VQ765VJS9QTBT/chunks/000001",   "level": "debug",   "msg": "deleted file",   "ts": "2020-02-25T13:50:33.533423488Z" } {   "bucket": "thanos",   "caller": "block.go:157",   "compactionGroup": "0@16967372497332894226",   "file": "01E065XF3TXB1VQ765VJS9QTBT/index",   "level": "debug",   "msg": "deleted file",   "ts": "2020-02-25T13:50:33.655638721Z" } {   "caller": "prober.go:117",   "level": "warn",   "msg": "changing probe status",   "reason": "error executing compaction: compaction failed: compaction failed for group 0@16967372497332894226: delete old block from bucket: delete block 01E065XF3TXB1VQ765VJS9QTBT from bucket: Resource not found",   "status": "not-ready",   "ts": "2020-02-25T13:50:34.386430986Z" } {   "caller": "http.go:78",   "component": "compact",   "err": "error executing compaction: compaction failed: compaction failed for group 0@16967372497332894226: delete old block from bucket: delete block 01E065XF3TXB1VQ765VJS9QTBT from bucket: Resource not found",   "level": "info",   "msg": "internal server shutdown",   "service": "http/server",   "ts": "2020-02-25T13:50:34.38667029Z" } {   "caller": "prober.go:137",   "level": "info",   "msg": "changing probe status",   "reason": "error executing compaction: compaction failed: compaction failed for group 0@16967372497332894226: delete old block from bucket: delete block 01E065XF3TXB1VQ765VJS9QTBT from bucket: Resource not found",   "status": "not-healthy",   "ts": "2020-02-25T13:50:34.386719215Z" } {   "caller": "main.go:194",   "err": "error executing compaction: compaction failed: compaction failed for group 0@16967372497332894226: delete old block from bucket: delete block 01E065XF3TXB1VQ765VJS9QTBT from bucket: Resource not found",   "level": "error",   "msg": "running command failed",   "ts": "2020-02-25T13:50:34.386763391Z" }

Wow, this eventual consistency is really bad... (:
But good to know!
@khyatisoneji do you mind taking a look at this PR, how we can fix this? You have quite good experience with working with eventual consistency systems so far :heart: !
Looks like yet another reason to finish this: https://thanos.io/proposals/201901-read-write-operations-bucket.md/

However still I can't see the problem. Even with inconsistency Iter should not repeat same file :thinking: Is it really the case now?

The swift logs tell us so, I'll ask our cloud team for some logs to add to this PR.

However still I can't see the problem.
Even with inconsistency Iter should not repeat same file 🤔 Is it really the case now?

The problem is the code first starts with deleting metadata.json outside of the iter loop in "Delete()"
Next it lists all items in the bucket (where also the metadata.json is located) and does the iter loop over all files it got from the list.
So if the delete is not fully processed on all nodes with the bucket index you might end up with a list that still contains the metadata.json. Now the iter items will also try to delete it but the original delete actually is processed and the object store will throw an error.
Note that Amazon S3 will have the exact same issue, from the amazon docs here :

A process deletes an existing object and immediately lists keys within its bucket. Until the deletion is fully propagated, Amazon S3 might list the deleted object.

(stripped) logs from swift:
{
  "_index": "logstash-2020.02.25",
  "_type": "doc",
  "_source": {
    "timestamp": "2020-02-25T12:21:33.408687+00:00",
    "data": {
      "_SYSTEMD_UNIT": "openstack-swift-proxy.service",
      "msg": "xx.xx.xx.xx yy.yy.yy.yy 25/Feb/2020/12/21/33 DELETE /v1/xxxxxxxxxxxxx/thanos/01E062FKFT3YMZFGCQGZSTYKVF/meta.json HTTP/1.0 204 - gophercloud/2.0.0",
      "_SOURCE_REALTIME_TIMESTAMP": "1582633293407785"
    },
    "@timestamp": "2020-02-25T12:21:33.409Z",
  }
}

{
  "_index": "logstash-2020.02.25",
  "_type": "doc",
  "_source": {
    "timestamp": "2020-02-25T12:21:34.111697+00:00",
    "data": {
      "_SYSTEMD_UNIT": "openstack-swift-proxy.service",
      "msg": "xx.xx.xx.xx yy.yy.yy.yy 25/Feb/2020/12/21/34 DELETE /v1/xxxxxxxxxxxxx/thanos/01E062FKFT3YMZFGCQGZSTYKVF/meta.json HTTP/1.0 404 - gophercloud/2.0.0",
      "_SOURCE_REALTIME_TIMESTAMP": "1582633294111419",
    },
    "@timestamp": "2020-02-25T12:21:34.112Z",
  }
}

I think having this extra check would be good since we are deleting the meta.json first and then iterating on the files in the folder. There can be cases when the file delete call succeeds, but a GET call still returns the file.

I mean... to me it looks like we want to actually use Delayed Delete always? @khyatisoneji

Just for clarification, by delayed delete do you mean that we don't straightaway delete the block right?
This case is about block.Delete function which first deletes meta.json file inside the block and then iterates over all files in the block. This scenario occurs when even after deletion of meta.json file, we get meta.json file in the bkt.Iter function call.
So this particular concern is not about deleting the blocks after some delay. Even if we delete the block after some delay, this scenario can happen

Just tested this PR in our integration env, and where we had errors almost every hour, they're now gone.


Change over to use Eclipse Jakarta Servlet dependency if possible

Is the plan to repackage it? For now, they don't include a module-info.class, only the Automatic-Module-Name.
We could use Moditect to add a module-info to it and release it as a Piranha dependency or try to get the module-info in the servlet-api repository.
Apart from that, I think we would even pass some tests.

We probably should work with them to get a proper module-info added. @Thihup you willing to spear head that with them?

FYI: https://github.com/eclipse-ee4j/servlet-api/issues/201

We will wait to do this until Jakarta EE 10 which will include Jakarta Servlet 6. See #1793


mark unread: Use more efficient endpoint.

Use the /json/messages/flags instead of /json/messages/flags/narrow when we have fully fetched the current view.
Update messages on the basis of id instead of updating the entire narrow.
If message_lists.current.data.fetch_status.has_found_newest(), then filter all the message ids on the basis of the anchor and only update those messages.
Fixes #28945.

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

The logic looks correct, but can you please extract a few of the repeated blocks as functions that can be called from both code paths? That'd make this PR more readable, but more importantly, it'd make the resulting code more maintainable.

OK so this is a lot cleaner, but there's a couple problems I noticed in review:

We can't access message_lists.current in recursive calls, because the user might have changed the view during the network delay. I think the right answer is to extract another helper function; mark_as_unread_from_here can do the determination as to how to proceed and then call a new do_mark_unread, and the recursive calls would just do do_mark_unread, which doesn't inspect message_lists.current and thus would be safe against that class of race.
It's also probably only faster to do this in the event that the list of message IDs is at most 100; so you probably want to do something like this:

diff --git a/web/src/unread_ops.js b/web/src/unread_ops.js
index 3fa89a26fe..e40fdfb7ce 100644
--- a/web/src/unread_ops.js
+++ b/web/src/unread_ops.js
@@ -216,19 +216,21 @@ export function mark_as_unread_from_here(
         flag: "read",
     };

-    // If we have already fully fetched the current view.
-    // Update messages on the basis of id instead of updating the entire
-    // narrow.
+    // If we have already fully fetched the current view, we can
+    // send the server the set of IDs to update, rather than
+    let message_ids_to_update = undefined;
     if (message_lists.current.data.fetch_status.has_found_newest()) {
-        const message_ids_to_unread = message_lists.current
+        message_ids_to_update = message_lists.current
             .all_messages()
             .filter(
                 (msg) =>
                     (include_anchor && msg.id >= message_id) ||
                     (!include_anchor && msg.id > message_id),
             )
-            .map((msg) => msg.id);
+              .map((msg) => msg.id);
+    }

+    if (message_ids_to_update ?? 0 < 100) {
         channel.post({
             url: "/json/messages/flags",
             data: {messages: JSON.stringify(message_ids_to_unread), op: "remove", flag: "read"},

In order to test the amount of time taken, i had used performance.now(); to log the difference in time between the start time (before the function is called) and end time (after the function is called).

Merged, thanks @kennethnrk! Can you please put up a PR for https://github.com/zulip/zulip/pull/29521#discussion_r1594430934 as soon as it's convenient? Seems like it'd be fast and it'd be nice to check that off while this is fresh.

Merged, thanks @kennethnrk! Can you please put up a PR for https://github.com/zulip/zulip/pull/29521#discussion_r1594430934 as soon as it's convenient? Seems like it'd be fast and it'd be nice to check that off while this is fresh.

Sure, I'm a little busy with college exams and assignments this week, I'll try to get it done on the weekend.


Errors when using fathomnet with python 3.8

My laptop is running Ubuntu 20.04 with python 3.8.10
I installed fathomnet  by:
python -m pip install fathomnet
When I try to use it I get the following errors:
% python
Python 3.8.10 (default, Mar 15 2022, 12:22:08)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

from fathomnet.api import boundingboxes
Traceback (most recent call last):
File "", line 1, in
File "/home/mimi/.local/lib/python3.8/site-packages/fathomnet/api/boundingboxes.py", line 4, in
from .. import models
File "/home/mimi/.local/lib/python3.8/site-packages/fathomnet/models.py", line 3, in
from dataclasses_json import dataclass_json
File "/home/mimi/.local/lib/python3.8/site-packages/dataclasses_json/init.py", line 2, in
from dataclasses_json.api import (DataClassJsonMixin,
File "/home/mimi/.local/lib/python3.8/site-packages/dataclasses_json/api.py", line 7, in
from dataclasses_json.core import (Json, _ExtendedEncoder, _asdict,
File "/home/mimi/.local/lib/python3.8/site-packages/dataclasses_json/core.py", line 17, in
from typing_inspect import is_union_type  # type: ignore
File "/home/mimi/.local/lib/python3.8/site-packages/typing_inspect.py", line 17, in
from typing_extensions import _TypedDictMeta as _TypedDictMeta_TE
ImportError: cannot import name '_TypedDictMeta' from 'typing_extensions' (/usr/lib/python3/dist-packages/typing_extensions.py)

Any ideas on what is going on?
Thank you

If I create a virtual environment with python 3.7, fathomnet works without errors.
Seems to be am issue with python 3.8

Hi @mi2celis, I just tested the python -m pip install fathomnet command on a fresh 3.8.10 environment, and it seems to run okay on all platforms. My guess is that you have an outdated typing-extensions package version installed. I recommend running
pip install --upgrade typing-extensions

to ensure you have the latest version.


Wallet Balance never actually goes up

The correct answer has been mentioned already. A little bit more info copied from Reddit:

Another short Q&A from the chat, taking it here so that others may learn from it as well:
Q] I kinda noticed something weird. If someone were to mine more than one block, their wallet balance won't go up. It will remain stuck at 10. Might wanna check that out.
 It means the network picks up on a competing block that was found around the same time as yours. Bad luck. Though setting up port forwarding helps, because you become better connected and the rest of the network is more likely to see your block first.
If you feel adventurous (more for learning than anything else) you can play around in the REPL or the command line to find out what happened.  When you find a block its hash is printed on screen. You can dig around in the coinstate object to try to find it.
Even easier: just look in the directory "chain", for the height-hash combination printed on screen. At the same height, you'll likely see another block, which tells you you lost the race.


"Enable GGML Interface" is gray

Hi, on my Windows PC the setting "Enable GGML Interface" is gray. Any prerequisites to enable this option? I've downloaded ggml-model-whisper-tiny.bin and put it in C:\Users\<username>\AppData\Local\Buzz\Buzz\Cache.
What should I do next? Thanks.

This should be fixed in an upcoming version. I'll update this thread once it's out.


Use current date/time in draft builds

Not sure if the stale date is intentional.

This PR is probably no longer relevant since the AsciiDoc migration. Suggest closing.


Kotlin: generate coroutine-based service clients

This is the simplest possible coroutine implementation.  It's a thin veneer over the AsyncClientBase code, using suspendCoroutine to get at the raw Continuation object which is passed to the generated MethodCall callbacks.
We can explore more interesting implementations as coroutine I/O is finalized by JetBrains.
Fixes #211

Codecov Report

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

@@            Coverage Diff            @@
##             master     #225   +/-   ##
=========================================
  Coverage     76.26%   76.26%
  Complexity      374      374
=========================================
  Files            29       29
  Lines          1656     1656
  Branches        148      148
=========================================
  Hits           1263     1263
  Misses          294      294
  Partials         99       99

Continue to review full report at Codecov.

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


Recruit round table topic chairs

We need a round table chair for each topic per session. If we do two rounds, that means 2 people per topic unless a person is willing to stay with one table and chair it twice.
Some notes from reflection on last year:

A few chairs also did not share their notes last year. Need to impress we really do need that to help share with others that didn't join that topic.
Be clear on what we want to collect in terms of 'who' - suggestion that we should have chair named, but then for others collect just the company name unless they wish to be involved in any follow on discussion (but summary notes will just list chair + companies present)

This has a dependency on #14
Note we also want to have this locked in before the event this time


WFLY-6249 Upgrade to RESTEasy to 3.0.16.Final

https://issues.jboss.org/browse/WFLY-6249

https://issues.jboss.org/browse/JBEAP-3248

looks like the windows tests finished (http://brontes.lab.eng.brq.redhat.com/viewLog.html?buildId=91241&buildTypeId=WF_PullRequest_Windows) but not according to the above


Update CI URLs to point to new caching infrastructure

Hello there!
This is an automated pull request submitted by @staticfloat to help package authors transition their Julia installation CI setups to the new binary provider URL.  Please take a look at this PR, and if there is a problem or it doesn't download correctly when CI runs, feel free to ping @staticfloat

Codecov Report

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

@@           Coverage Diff           @@
##           master      #59   +/-   ##
=======================================
  Coverage   13.79%   13.79%
=======================================
  Files           8        8
  Lines         116      116
=======================================
  Hits           16       16
  Misses        100      100

Continue to review full report at Codecov.

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


[[Inquery]] Optional and Keyword Arguments?

Basically as the title asks – does Biwa allow for optional and keyword arguments on the Scheme side of things? I know optional arguments are feasible when defining Scheme functions from the JavaScript API (though I don't believe an infinite amount are possible(?) and I don't believe you can do keyword arguments that way).
I'm thinking something along the lines of (this is Guile syntax since that's my usual Scheme go-to):
(define* (opt required1 required2 #:optional opt1 [opt2 "default string for opt2"] opt3)
  (list required1 required2 opt1 opt2 opt3))

(define* (keyword required1 required2 #:key key1 [key2 "default string for key2"] key3)
  (list required1 required2 key1 key2 key3))

(keyword 1 2 #:key1 3 #:key3 4)

Thanks a ton!

Biwa allows vararg(variable length arguments) but there is no support for optional/keyword arguments.

Coolio; thanks a ton for confirming, for me!
For any others who might come across this ticket, I managed to write a macro that could handle keyword arguments:
(define-macro (define* nameAndParameters . body)
  (let* ([parameters  (cdr nameAndParameters)]
         [keyPresent  (member '#:key parameters)]
         [mandatories (if keyPresent
                          (list-head parameters (-
                                                  (length parameters)
                                                  (length keyPresent)))
                        parameters)]
         [keys        (if keyPresent (cdr keyPresent) '())])
    `(define (,(car nameAndParameters) ,@mandatories . rest)
       (let ,(map (lambda (elem)
                    (let ([key (if (list? elem) (car elem) elem)])
                      (list key `(if-let ([var (member
                                                 (quote ,(string->symbol
                                                           (string-append
                                                             "#:"
                                                             (symbol->string key))))
                                                 rest)])
                                     (cadr var)
                                   ,(if (list? elem) (cadr elem) #f))))) keys)
         ,@body))))

Because #: elements don't self-evaluate, you can do something like
(define* (keyword required1 #:key key1 key2)
  <body>)

but you'll have to call it with something like
(keyword 5 '#:key1 "Hello " '#:key2 "World!")

quoting each keyword.
(the macro also makes use of a function and macro I wrote (neither particularly complicated) but, for ease, I'll just provide them at the end, here:
(define-macro (if-let bindings then else)
  (let ([symbols (map (lambda (lst)
                        (if (= (length lst) 2)
                            (car lst)
                          (list (cadr lst) (caddr lst)))) bindings)]
        [binds   (map (lambda (lst)
                        (if (= (length lst) 2)
                            lst
                          (list (car  lst) (caddr lst)))) bindings)])
    `(let ,binds (if (and ,@symbols) ,then ,else))))

(define (list-head lst n)
  (if (zero? n) '() (cons (car lst) (list-head (cdr lst) (1- n)))))

)


Bump pre-commit checks

Includes some changes needed to appease new versions of various checks.
Pull Request Checklist

[x] implement the feature

Adding a must label to pull in fixes for issues pre-commit started complaining today.

All failed tests are unrelated, merging to prevent pre-commit from ruining more PRs.


Blank page running release example in README on Ubuntu 20.04

Hi. Following the instructions on compiling a release build runs successfully.
nim c -d:release --app:gui src/App.nim
When I actually run the program ./src/App.nim it is just a blank screen.

When I use dev mode (nim c -r -d:debug src/App.nim) though it runs fine launched from the browser.
Is it possible there is an issue with inlined.html or possibly something else?

Seems to be an issue with the Svelte example specifically. I ran the Vue example and that worked, although I got some errors in the app during startup before the ui loaded in:
getGlobalToken failed and getRequests failed in dist/index.html with the Vue app.

Hi! Thx for trying out.
This actually is the kind of feedback I was hoping for. I'm not always able to test the latest code on an actual GUI on each platform. I usually just use the Http mode on WSL for testing linux, as it doens't require starting up a VM.
It seems that gtk on linux has some issues with the generated javascript. Didn't expect this, as previous code only had issues with IE on windows.
I'm not able to replicate a complete white page, but I can replicate those errors - and that the svelte and vue examples are not doing what they should do. I hope I can fix those errors soon - maybe on Monday. Maybe earlier if this is something simple. Will keep you up to date.

So - I wasn't really able to replicate the blank screen, but I was able to identify a major timeout issue on the nimview.js npm package which had the result that some js wasn't loaded correctly when running with gtk on linux.
I made a fix and the svelte example is working again in release mode on my VM with Centos 8 and Nim 1.4.8.
Already pushed the change to git and published a new nimview package on npm.
I will just close this issue now.
Please add some feedback if this isn't solving your issue.

Awesome. Thanks for the quick reply and quick resolution. I will check out the new version. I think this is a great project.


Sync published with master

Deploy preview for docsdocker ready!
Built with commit a63b74a05db752c5a8ffa559406145551b49932d
https://deploy-preview-8383--docsdocker.netlify.com


Captive portal: fix sorting by last activity time in status page

Given that the last activity time of each user is not saved in the database, the display code correctly calculates it on the fly when populating the user list. To the contrary the ordering code just sorts the users by the sixth column of the database ('sessionid'), which results in a random order.
Retrieve each user's last activity time when needed and add it to the array, then display the saved values and use them for sorting the list.

I just pushed a second commit that fixes sorting by ip address.

@sbeaver-netgate thank you for pointing me to that! I converted the table to a sortable table and, since the new code sorts the actual contents of the table instead of reading the db every time, the conversion also fixed sorting by last activity without the need to change anything else.

Happy days :) Thank you.


In-place update generated documents in file

Prerequisites
Put an x into the box that applies:

[ ] This issue describes a bug.
[x] This issue describes a feature request.

For more information, see the Contributing Guidelines.
Description
One of the main use-cases of terraform-docs as a tool is to generate Terraform configuration and update README.md file. I've managed to achieve this with a heavily hacked target in Makefile using sed and awk in conjunction of this tool to in-place update the content of README.
This is to open up discussion / brainstorming around the subject to see if it makes sense to include that as a built-in functionality of this tool. Something like --update-file FILE which adds following content:
<!-- Terraform Document Begin -->
...
generated output of terraform-doc [json|markdown|md] ...
...
<!-- Terraform Document End -->

where:

if Begin and End tokens don't exist in FILE, generates above snippet and appends it at the end of FILE
if Begin and End tokens exist in FILE, replace the inner content between the tokens with newly generated document

Version
You can get this information via terraform-docs --version.

Hey @khos2ow! Here's an approach that I think is quite viable: pre-commit is a tool that allows you to install a number of Git pre-commit hooks into your project. These hooks get automatically triggered when you do a git commit. The hook you'll be interested in can be found in this repository: antonbabenko/pre-commit-terraform. Looking that the repository's .pre-commit-config.yaml#L9-L16 shows how you can pass random arguments to the terraform-docs binary. Hope this helps :)

Thank you @metmajer for the response and provided links, they are actually pretty cool. And sorry for my delayed response, I'm technically on vacation! :wink:
Anyways, although using pre-commit will be really cool, but I think it's mutually exclusive of what I'm proposing. Considering terraform_docs.sh#L65-L73 it still depends on external tool, perl in this case, which technically might not be available on one's workstation but terraform-docs is. And in reality those line can be replaced as
terraform-docs $args md --update-file "$text_file" ./ > "$tmp_file"

And besides, it requires installing pre-commit binary in all relevant workstations and pre-commit configs in all relevant repos, which might be slightly inconvenient, but at least way better of sed and awk I'm currently using!


Alluxio 'du' command doesn't properly report the amount of data in Alluxio

Alluxio Version: 1.8.1
Describe the bug
When using the Alluxio du -s -h command, the value for 'In Alluxio' is not correctly reported.
To Reproduce
Write data to a directory with writetype MUST_CACHE
run 'bin/alluxio fs du -s -h /path/to/directory/'
Note that the field for 'In Alluxio' says 0B.
Expected behavior
The value for 'In Alluxio' should show the amount of data stored in Alluxio for the given directory.

Is it right that "'bin/alluxio fs du -s -h /path/to/directory/" is similar to "'bin/alluxio fs ls /path/to/directory/", will alluxio "WRITE" data to store?  if NOT, the field of the command result for 'In Alluxio' says 0B should be expected info?

@ns1123 do you know if this issue gets addressed in 2.0.0?

not sure if it has been resolved or not

I fixed this issue in https://github.com/Alluxio/alluxio/commit/390729e0cee40b27fe6a53c4cae25f496c60791c
Will cherry pick to 1.8.2

This was closed in 2.0.0


[Accessibility] Screen reader does not announce Send failed message information

Copied from Composer#64488.

Version
4.15.1 (or main)
Describe the bug
If screen reader users navigate on Live Chat Box screen and message get failed and message appear send failed and screen reader does not announce this message, then it would be difficult for users to know sent message get failed and need to try again to send the message.
Steps to reproduce

Open Bot Framework Emulator installed on the system.
Bot Framework Emulator Application with Welcome screen opens.
Navigate on the welcome screen and select Open Bot button.
Open A bot Dialog opens, navigate on the dialog and enter inputs in edit fields and select Connect button.
Bot Gets connected and a new Tab "Live Chat "opens, Navigate on the tab.
Verify that screen reader announces send failed message or not.

Expected behavior
Screen reader should be announcing Send failed message information under Live Chat Box.
So that users know send message get failed, it does not deliver to another person.
Additional context
Related to WCAG 2.1 1.3.1 Info and Relationships.
Some texts from designer:
Message failed to send. Go to message to resend.

Your message failed to send: .......... Retry.

[Bug]

Please work with #4322 together.
Action items:

Create a new useFailedActivityKeys(): [string] to list all failing activities

Mind that props.sendTimeout and props.sendTimeoutForAttachment could change at any time
It is okay to say "sendTimeout change will affect next activity, but not any current activities". But it's better if we could make it affect current activities
This hook will trigger re-render when an activity failed to send

Modify all existing code to use the new useFailedActivityKeys hook
Verify when postActivity() return failing Observable, the send status should turn to failed immediately (without waiting for 20 seconds)
In <LiveRegionTranscript>, when a message is added to the useFailedActivityKeys, queue it to live region


Create the "input master" merging input components

In this issue we will merge all input components to make a functional "input master"

Closed: duplicated. https://github.com/Alecell/octopost/issues/66


Add all bits and pieces for absolute axes in uinput and an example

I wasn't really sure where to place UinputAbsSetup struct... perhaps src/uinput.rs?
And listing out all getters for fields of both structs that I added looks like a hack but I couldn't think of a better way.

I think this looks just fine. Thanks for the contribution!


CHICKEN does have syntax-rules

See http://wiki.call-cc.org/man/5/Module scheme#pattern-language

You're right. Thanks!


Update protobuf-java-util to 4.27.1

About this PR
📦 Updates com.google.protobuf:protobuf-java-util from 3.25.3 to 4.27.1 ⚠
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 = "com.google.protobuf", artifactId = "protobuf-java-util" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.google.protobuf", artifactId = "protobuf-java-util" }
}]

labels: library-update, early-semver-major, semver-spec-major, commit-count:1

Superseded by #154.


Combining paths . and ../foo/baz returns correct result

The PR resolved the reported issue #35.
@kylef I've updated changelog, please let me know if that is expected style.

@kylef thanks for merging it, may we expect a new release with that fix?

@Antondomashnev I noticed that CI was failing for macOS on master but not Linux.  I think it is likely a difference in Objective-C foundation vs the OSS Swift Foundation.


Rhino: 2.10 issue with receiving Blocks

receiving blocks do not get generated

No errors in report

FWIW also fails on Rhino for Mac


Sync upstream Prometheus

We've just merged https://github.com/grafana/mimir-prometheus/pull/508 which synced the upstream Prometheus up until 30th June. In this PR I'm synching it again to get https://github.com/prometheus/prometheus/pull/12505, among other changes.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.5 out of 10 committers have signed the CLA.:white_check_mark: roidelapluie:white_check_mark: pracucci:white_check_mark: cuishuang:white_check_mark: marctc:white_check_mark: Logiraptor:x: SuperQ:x: metalmatze:x: fbegyn:x: GiedriusS:x: supertassuYou have signed the CLA already but the status is still pending? Let us recheck it.


Locking mechanism

Hi am using Cross datastore persistence(Mongo and MySQL) using Kundera.Is there any isolation levels possible using kundera.Can any one help me.

Hi @sreekanth9985,
Can you provide some more details about the use case?
We can discuss over gitter chat.
-Dev

Thank you for your replay devender,
I need row level and table level locking on mysql using kundera.How can i do this.Please help me.


Consolidate home landing page

Presently the home landing page has a dropdown with 4 options (Welcome, Quickstart, Resources, Download), all of which are already available on the default home landing page.
We can consolidate this by removing the dropdown and 4 options, thus making the standard home landing page the only option.

@thekevinm I believe this has been completed and can be closed


Add raster type & functions to manage rasters in the spatial extension

This PR adds support to manage rasters (A wrapper of GDALDataset) in the extension.
It provides a new type RASTER, and a set of functions to load, process and save this data type.
Description of this code here.

Hi! Thanks for this PR, it's really cool! Im currently on vacation so I've only skimmed this quickly, but theres two issues I foresee:

Using a POINTER for the RASTER type doesn't seem like it actually stores anything in the database? What happens if I load some rasters into a table and restart DuckDB? IIRC PostGIS has the option to either embed the raster into a blob (which limits you to 4gb in duckdbs case) or store a file path to the raster on disk, reopening it when needed.

The reason why I have been hesitant to add raster support to spatial is that I don't think DuckDB's vectorized execution engine is a good fit for raster processing. DuckDB's vector engine operates on batches of 2048 elements at a time which is great when all elements are small-ish (the full vector fit into memory), but as rasters generally are much bigger this boon quickly becomes a disatvantage, e.g. a single vector of 512x512x4 tiles is already 2GB of ram (external ram held by GDAL in this case, which DuckDB is unaware of and can't buffer manager). Additionally DuckDB vectors need to be immutable, so if you chain a bunch of operations in order every intermediate vector will be held in memory too for the duration of the pipeline. This whole approach is in stark contrast to e.g. GDALs VRT's that are designed to avoid holding anything in RAM at all, or PostGIS/SpatiaLite where only a single row is processed at a time.

A big part of PostGIS raster processing is setting up constraints to make sure mosaics don't have seams, but DuckDB is currently pretty limited when it comes to constraints in general.

GDAL has turned out to be a very difficult dependency to wrangle in practice (I think like a 1/3 of all open issues here are related to GDAL filesystem issues and we still have problems in WASM) and I've been trying to slowly lessen our dependency on it by implementing native readers for common vector formats, but its OK now because we strip a lot of the extra drivers and have a build setup that somewhat works even if its very hacky. I suspect with the PR we would have to add back a lot of the raster drivers (and their dependencies in turn).

That said im not entirely against merging this, I just need some time to look it over once I get back to work. As I mentioned I've been toying with the idea of splitting all the GDAL functionality into a separate extension with additional drivers (and caveats) relying on VCPKG to build the dependencies, in which case I think this would fit in great.

Also, you need to update the DuckDB submodule as the main CI always builds for latest DuckDB main or switch the target brach to v0.10.1 as that has the latest changes (a big documentation rework) and is pinned to DuckDB v0.10.1.

Thanks @Maxxen for your comments,

* Using a POINTER for the RASTER type doesn't seem like it actually stores anything in the database? What happens if I load some rasters into a table and restart DuckDB? IIRC PostGIS has the option to either embed the raster into a blob (which limits you to 4gb in duckdbs case) or store a file path to the raster on disk, reopening it when needed.

Yes, nothing is stored in the database. I am managing POINTERs (temporary objects) to avoid to load in RAM as BLOBs that so big objects such as rasters. I share your concerns. Maybe this implementation does not fit all use cases you are thinking, I see a raster as temporary object, loaded from external data sources, use them in a query and finally save to other external store if it is necesary. Load & save methods from/to BLOB can exist to read/write the database, but I do not know if this is the way to go.

* GDAL has turned out to be a very difficult dependency to wrangle in practice (I think like a 1/3 of all open issues here are related to GDAL filesystem issues and we still have problems in WASM) and I've been trying to slowly lessen our dependency on it by implementing native readers for common vector formats, but its OK now because we strip a lot of the extra drivers and have a build setup that somewhat works even if its very hacky. I suspect with the PR we would have to add back a lot of the raster drivers (and their dependencies in turn).

Yes, you are right, this PR is adding more dependencies to GDAL, but studing PostGIS source code, many operations are implemented using GDAL as well, I thought this was as a valid solution to do not reinvent wheels. Anyway, we could mitigate this dependency separating this raster support in other new extension, the spatial extension could drop its GDAL dependency when it comes possible.
Anyway, of course, feel free about this MR, this is a PoC, and you feel it raises unacceptable issues to fit in the DuckDB engine model, I am comfortable with that.

Alright, let me have another look when I get back.
I think the primary blocker right now is just how to deal with persistence. I agree that it might be a good idea to avoid copying the raster data itself into DuckDB as blobs, but I think there should be some way to "restore" a set of rasters from disk when opening a duckdb database with a raster table (if they are available on disk - otherwise throw an error or return NULL or something, we can see how PostGIS handles it). Maybe by storing a file path or an ID to some other lookup structure instead of the raw pointers.
Regarding GDAL - let's maybe not worry about this too much right now. We already have it as a dependency, and it's probably going to stay for a while. If we just use the built-in raster drivers for now it won't add much complexity to the build.

is merging this on the roadmap?

Hi everyone. I am thinking about this old PR. Maybe is it better to manage a raster as other tabular Dataframe? Something similar how RasterFrames is managing them?
A raster could be serialized as a table of chunks or tiles. A parquet (Rasquet :-)) con several metadata columns (CRS, BBOX width, height, datatype, ...) and 1-N band columns with the binary of each raster band.

Hi everyone. I am thinking about this old PR. Maybe is it better to manage a raster as other tabular Dataframe? Something similar how RasterFrames is managing them?

I really appreciate your effort, and I haven't replied before because it is challenging for me to understand how such a decision would affect how the data would be queried. Could you provide an example?
A common need that I have when dealing with vector/tabular data is to add some information to them based on some rasters, such as DTM. Would the new approach make it radically different? If that is not the case, using a more common/popular way to handle raster might be better, since people would be already familiar with that way of working.
Thanks again for this great PR :) We really need to have a way to connect raster data to duckdb.

Hi, the idea is to split the input raster when loading into a collection of small tiles distributed by overlays, and manage them as a table for rows with several metadata columns (size, crs, pixel_type...) and binary columns for each exiting band in the original raster.
This approach is radically different than using the original input raster as a unique source. Managing rasters as collection of tiles can be better for the internal vector engine that duckdb implements, but I think it makes much difficult to manage the tiles when you want to perform raster algebra on them.
I think the current approach is simpler, knowing that duckdb can not use its vector engine to parallelize the computing of queries from rasters.
Anyway, it would be great a debate about what approach seems better.

Hi, the idea of storing a raster in rows containing tiles seems interesting, it's not clear to me if this would have any strict limitation when it comes to operating with raster files.
Could you provide an example with pseudo-code of how to perform simple raster algebra operations and/or some simple raster-vector operation?
I don't know how it works internally, but Grass is quite good at raster operations/raster-vector operations, maybe could be a source of inspiration too, but I might be totally wrong :D


Helios: RGB Synthetic Data Generation

Introducing the Helios RGB synthetic data generation pipeline for semantic segmentation and object detection.

Includes Helios RGB data generation for all existing canopies, with semantic segmentation/object detection/no annotations.


Step doesn't display after redirect using hash

The first step of my tour is at path "/#/".  If I am at a different location/route in my site (same path,  different hash) and start the tour, the redirect to /#/ works, but the step does not display.  This is because after the redirect, _isJustPathHashDifferent() returns false causing showStepHelper() to just return.  I commented out the check of _isJustPathHashDifferent() and everything seems to work.  I'm not sure what scenario this check is there for though.

@jgolieb Did you ever find a workaround for this?

As I stated, my workaround was to comment out the lines that check the path using _isJustPathHashDifferent().  But I assume that was originally there for some reason, so I'm not really happy with this hack.

@jgolieb Ha, sorry I misread, you DID find a workaround. Yeah, hacks are never welcome even when they appear to solve your problem. I was having weird side-effects with my multi-page tour and ended up switching over to angular-bootstrap-tour instead. It seems to be working ok but loses some of what I liked in the standard bootstrap-tour plugin (a centralized configuration of steps, ability to specify a nested element as the target), and is proving to introduce some challenges of its own.

I found that even with this hack*, I still had to cheat a bit by adding an intermediate 'hidden' dummy step when switching pages in my Angular SPA (note my hash path includes a !, but I think we essentially had the same issue). I set it to orphan=true as to not be skipped if not already visible. The duration wasn't really important, but setting a delay on the next (real) step was. I went a little further and set the dummy step to be invisible to avoid the visual flicker. The delay was trial and error, I imagine on a slow browser you run the risk of the element still not being visible, figured 200ms was unnoticeable yet enough time for it to get rendered:
{
    path: "/#!/",
    element: "#tour-step1Element",
    title: "Step 1",
    content: "Step one's content..."
},
// a dummy step when you are switching to another page and the element isn't yet visible
{
    path: "/#!/page2",
    element: "#tour-dummyElement",
    duration: 1,
    orphan: true,
    template: "

"
},
{
    path: "/#!/page2",
    element: "#tour-step2Element",
    delay: 200,
    title: "Step 2",
    content: "Step 2 content..."
},

* I had originally been using an older release of bootstrap-tour, as I had originally tried the angular-bootstrap-tour library which has a dependency on an older BT release, and didn't see the code you were referring to. When I updated my bower to pull v0.10.2, it actually pulled v0.10.1, even though Bower said it pulled v0.10.2. Weird. Had to manually copy 0.10.2 from the site then commented out lines 312-314 as you did. Thanks again.

This is going off on a tangent from the original issue, but I actually addressed the problem of waiting for a not-yet-loaded element in a more direct way.  I added an additional waitFor property to my steps and set it to the selector of the element that I actually want the popover attached to but that may not be loaded yet.  I set the element property to the selector of an element that will always be immediately loaded (such as "body").  Then, in the default onShown handler, I hide the popover created for element until waitFor gets added to the DOM.  I check for this using setInterval to check for the waitFor element's existence every 100 milliseconds.  Once it is there, I move the popover to the waitFor element and show it.  It would be great if this functionality were built in.

More elegant, I like that it is actually polling for the element's existence rather than just pause-and-pray like my hack. :) This would be a good addition to the library.

Fixed in latest master.


webview, js: Only scroll on resize when !isNearBottom().

So that when unread notice hides, webview doesn't scroll up.
This also seems to work fine when keyboard pops in/out.
Fixes: #3301

Hmm. Can you describe the exact repro where this makes a difference? I just spent some time playing with this, before and after this commit, and couldn't find one.

For testing this I would suggest you to

or to topic/stream narrow which have unread messages, now scroll to down. As messages are marked as read, unread notice will pop out without changing the scroll.

On iPhone 5s 12.1
Before this:

On this PR:

Hmm -- in the "on this PR" screencast, that behavior doesn't look like what we want!
At the very end, just before the banner disappears, we're at the bottom of the message list -- the last message in the narrow, with content "hello", is there at the bottom of the viewport.
Then the banner disappears, and in the next frame that last message is out of view -- we've effectively scrolled up by a bit, and the next-to-last message in the narrow is the one visible at the bottom.
So that sounds a lot like the original problem in #3301.

OK, @jainkuniya tells me he thinks he reversed the two screencasts above.
I do reproduce this problem easily on my iPhone 7 (iOS 12), though still not in emulators running Android 8 or Android 10. And I see how something like this could help.
The commit message and PR description don't agree either with each other or the code.

PR: don't scroll on resize when near bottom
commit message: don't scroll on resize when near bottom and difference > 0
code: don't scroll on resize when near bottom and not difference > 0

I think that's reflective ultimately of confusion in the code. What does difference mean, anyway? What's the significance of it being positive or negative -- probably one of those is when the viewport grows and one when it shrinks, but which is which? It's basically impossible to tell without closely reading the code.
As I think a bit more about this, I'm also wondering: why near the bottom? In fact we already have a closely-related check:
window.addEventListener('resize', event => {
  const difference = viewportHeight - documentBody.clientHeight;
  if (documentBody.scrollHeight !== documentBody.scrollTop + documentBody.clientHeight) {
    window.scrollBy({ left: 0, top: difference });

namely documentBody.scrollHeight !== documentBody.scrollTop + documentBody.clientHeight. The isNearBottom compares the exact same two values, but just asks if they're within 100px rather than if they're equal.
The theory this change is based on is: when we're at the bottom of the message list and the viewport grows by N px, there isn't room for it to show N px more content below, so it doesn't; and so when we get the resize event, we shouldn't scroll N px up to compensate like we normally would.
But on that theory, when that happens, we should be at the very bottom of the message list. Even if we were just near the bottom before the viewport grew, the browser would have first shown all the remaining few px of content at the bottom before showing more above.
So it seems like there's basically some kind of bug here, on iOS only, where the signals are getting crossed.

The theory this change is based on is: when we're at the bottom of the message list and the viewport grows by N px, there isn't room for it to show N px more content below, so it doesn't; and so when we get the resize event, we shouldn't scroll N px up to compensate like we normally would.
But on that theory, when that happens, we should be at the very bottom of the message list. Even if we were just near the bottom before the viewport grew, the browser would have first shown all the remaining few px of content at the bottom before showing more above.

I dug into this some more, and seem to have resolved the mystery. See #4043, which also unpacks that existing code.
Thanks for the testing of this direction!


Artifactory URL conf changes

We're openning this issue following https://github.com/JFrogDev/bower-art-resolver/issues/4
We'd like to make the following change to the resolver.
The resolver will use the first URL defined in the registry.search list as the Artifactory URL.
If the registry.search configuration does not exist, then it will use the registry URL defined.
This means that anyone who wishes to use a public registry will need to define the Artifactory Bower repository URL as the first URL in the search URL.

Changes have been publish.
The changes are backward compatible.


cmake ignore doxygen if not a standalone build

Small change to enable PX4 top level generation.

This change is harmless.


Remove the HTML Imports stuff

I think we can simplify the project removing the HTML Imports stuff

Thanks for the issue. The problem is that we don't have demo helpers that work with Polymer 3. There was an early preview but it wasn't finished, and it needed some dirty hacks to make <script> tags work in templates.
Reworking the whole demo setup is not something we are currently considering.


[3.0] Make the bin/init process only do initialization operations

Do not make this script run the puma server. This way, this command
can be run as an init container, leaving the server execution to the
pod definition.
Fixes: bsc#1091843
(cherry picked from commit 1f3adaa64791b1caf11c95717517616a10fad811)

Rebased on top of #512.

We need superpowers to merge this one. @flavio, @kiall?


Add way to determine if alarm retry limit shouldn't be applied

Same as https://github.com/cloudflare/workerd/pull/74, but not using a branch on my fork.

Same as https://github.com/cloudflare/workerd/pull/74, but not using a branch on my fork.

So the code is the same right? Out of curiosity what's the reason for having to do this, some config we have on this repo?

@bretthoerner I accidentally closed the old one, and now that I have write perms I just made it here

OK, but it's the exact same right?


max depth

Thanks alot for this useful dataset.I would just like to know what is the max depth of the campus-night dataset?

Thanks alot
On Mon, May 16, 2022 at 6:54 PM alexjunholee @.***>
wrote:

I guess it can be presumed by the sensor sheet.
Ouster OS1-64 has 120m range.
—
Reply to this email directly, view it on GitHub
https://github.com/visibilitydataset/visibilitydataset.github.io/issues/1#issuecomment-1127908248,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWHHJGKPA6O3SFAMTREM6STVKJ4UVANCNFSM5WA6QNVQ
.
You are receiving this because you authored the thread.Message ID:
@.***
com>

:)


wsl2 DNS failure

Version
windows 10.0.22621.1
WSL Version

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>
Distro Version
Ubuntu-20.04
Other Software
No response
Repro Steps
Hello, I have today a wsl2 dns failure
$ ping google.com
ping: google.com: Temporary failure in name resolution
ping works in windows,
Lately I had the same dns problem within wsl2 that got resolved from manually editing /etc/resolv.conf and /etc/wsl.conf to prevent wsl2 from overwriting it at boot.
Nevertheless, today, after having some python installation trouble, solved following this page: https://askubuntu.com/questions/1402456/unmet-dependencies-for-python-3-10, and I have been able to install python3.10 . Then did apt full-upgrade and wanted to install some software to mount usb devices in wsl2 following this page: https://devblogs.microsoft.com/commandline/connecting-usb-devices-to-wsl/ . I had  installed in windows usbipd-win usbipd-Win](url). Then I could not get anymore internet connection from wsl2 , I could not execute successfully this command:
sudo apt install linux-tools-5.4.0-77-generic hwdata
I have tried to restore /etc/wsl.conf to enable automatic generation, but that doesn't solve the bug neither. Neither does the action of disabling fully windows firewall.
Would greatly appreciate some help,
Thanks a lot !
Expected Behavior
ping google.com would succeed
Actual Behavior
it doesn't
Diagnostic Logs
No response

/dupe #8365


TWEET IMAGES template?

Hey all,
I have been trying to get TWEET IMAGES to work properly. Here is what it looks like currently:
link
I used the background from a PokemonGO asset repo, and resized it first to same size, 16x9 ratio. Then to 256x144. Model sizes are 120x120. I'm just guessing here. Is there any documentation I can look at or does anyone have the perfect sizes / ratios for the TWEET IMAGES command?
So it looks like this.
And does anyone know where to find Gen II models from GO? Spent some time on google and git and couldn't find anything to match SLCPokemon's models.

I have mine working perfectly.. Background image size is 400 x 240 (I used my own bg images for day and night). My Pokemon image files are 215 x 215. You can see the product live at here

As for where the images were obtained. I downloaded each one from the pokedex at pokemon.com (I downloaded all 1st and 2nd gen images from them and saved them into the monocle\static\monocle-icons\original-icons directory.

@stunnaspinz thanks, working great now.


Deactorify ingest service

Description
Deactorify ingest service so we can serve multiple requests concurrently.
How was this PR tested?
In progress

Can you describe in the commit message a little bit more what problem you are trying to solve?

Can you describe in the commit message a little bit more what problem you are trying to solve?

1

Ok, I'm in for not waiting for memory to become available and returning a 429 immediately instead. Let's handle everything in the rate limiter and modulator.
Then, the ingest service can remain an actor, which simplifies things in terms of handling concurrency. I'm going to revert most of the changes in that PR and just keep the minor code clean-ups that I made.

@imotov also touches this file in his next PR, so I'll push the code clean up post-release.


OAK-11285 - Check if paths used in included/excluded Paths are absolute and fail if they are not

The includedPaths and excludedPaths in an index definition must be absolute. If they are not or if they start with a space, then the indexing job may fail or hang. This PR adds a check to the PathFilter constructor to check that all paths are absolute and fail immediately if they are not.

Should we add a test case where one of the paths start with a space? On another note, I thought we trimmed those string values?

Should we add a test case where one of the paths start with a space? On another note, I thought we trimmed those string values?

One of the tests is already testing paths that start with space. Let me know if you think we should add more tests.

Oh right my eyes must have deceived me. That one space character can be quite subtle, I can understand why someone might miss it


The music bot does not work with 18+ YouTube videos

Hello everyone. The music bot does not work with 18+ YouTube videos. After running the command, silence and error in the console. I think it is not normal. Is there a way to solve this problem?
[17:03:09] [WARN] [ExceptionTools]: Error when extracting data EID: d1968cb1-a644-489e-a348-4bbd811049c0, mainJson: (a lot of code)
[17:03:09] [ERROR] [LocalAudioTrackExecutor]: Error in playback of wk7MxC2kD7U
com.sedmelluq.discord.lavaplayer.tools.FriendlyException: Something broke when playing the track.
at com.sedmelluq.discord.lavaplayer.tools.ExceptionTools.wrapUnfriendlyExceptions(ExceptionTools.java:44)
at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:116)
at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$executeTrack$1(DefaultAudioPlayerManager.java:348)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Suppressed: com.sedmelluq.discord.lavaplayer.tools.exception.EnvironmentInformation:
lavaplayer.version: 1.3.78
os.arch: aarch64
os.name: Linux
os.version: 5.11.0-1016-raspi
java.vendor: Ubuntu
java.version: 11.0.11
java.runtime.version: 11.0.11+9-Ubuntu-0ubuntu2
java.vm.version: 11.0.11+9-Ubuntu-0ubuntu2
Caused by: java.lang.RuntimeException: Error when extracting data EID: d1968cb1-a644-489e-a348-4bbd811049c0, mainJson
at com.sedmelluq.discord.lavaplayer.tools.ExceptionTools.throwWithDebugInfo(ExceptionTools.java:134)
at com.sedmelluq.discord.lavaplayer.source.youtube.DefaultYoutubeTrackDetailsLoader.load(DefaultYoutubeTrackDetailsLoader.java:71)
at com.sedmelluq.discord.lavaplayer.source.youtube.DefaultYoutubeTrackDetailsLoader.loadDetails(DefaultYoutubeTrackDetailsLoader.java:46)
at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioTrack.loadBestFormatWithUrl(YoutubeAudioTrack.java:76)
at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioTrack.process(YoutubeAudioTrack.java:42)
at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:104)
... 4 common frames omitted
Caused by: java.io.IOException: Invalid status code for video info response: 410
at com.sedmelluq.discord.lavaplayer.tools.io.HttpClientTools.assertSuccessWithContent(HttpClientTools.java:155)
at com.sedmelluq.discord.lavaplayer.source.youtube.DefaultYoutubeTrackDetailsLoader.loadTrackArgsFromVideoInfoPage(DefaultYoutubeTrackDetailsLoader.java:227)
at com.sedmelluq.discord.lavaplayer.source.youtube.DefaultYoutubeTrackDetailsLoader.loadBaseResponse(DefaultYoutubeTrackDetailsLoader.java:98)
at com.sedmelluq.discord.lavaplayer.source.youtube.DefaultYoutubeTrackDetailsLoader.load(DefaultYoutubeTrackDetailsLoader.java:60)
... 8 common frames omitted

i imagine there aren't any circumstances where youtube will allow you to access 18+ videos without an account and verified age (although i may be wrong)
So that would mean this bot would need access to your account / an API key connected to your account which seems out of the scope of this bots functionality or it is at least a fairly substantial change to make.

YouTube strictly blocks 18+ videos for users/IPs within the European Economic Area, and are required to sign in with an account, in which they have verified their age (using state documents for example). 18+ Videos may be able to be played outside the EEA.

So that would mean this bot would need access to your account / an API key connected to your account which seems out of the scope of this bots functionality or it is at least a fairly substantial change to make.

API Keys are not planned to be added, so that's indeed not an option.

Would it be possible to support YouTube cookies?

LavaPlayer deals with cookies. Cookies are, in this context, also an authorization/API token. These will, like previously mentioned, not be implemented.

I can recommend https://github.com/yt-dlp/yt-dlp for creating local music files if needed.


Searching Datasets by multiple NOCS only searches for last NOC in list.

Passing BODSClient.get_timetable_datasets() a list of NOCs only returns results containing the last NOC in the list. The code below should return 3 rows:
2 for 'BPTR' and 1 for 'RBTS'.
However it only returns 1 containing 'RBTS'
bods = BODSClient(api_key=api)

params = timetables.TimetableParams(nocs = ['BPTR','RBTS'])

data = bods.get_timetable_datasets(params=params)
j = data.json()
j1 = json.loads(j)
df = pd.json_normalize(j1['results'])

@spencer-b-318 this looks like an issue with the BODS API only accepting list parameters in the format ?noc=BPTR,RBTS and not ?noc=BPTR&noc=RBTS (like some other APIs do). I'll work on a fix but in the meantime there is a work around you can create a one element list with comma separated string containing all the nocs,
params = timetables.TimetableParams(nocs = ['BPTR,RBTS'])

This will return the correct number of timetables.

Fixed in 0.9.1


feat(settings): add ability to change online status

Task: Just like in Core we want to let the User have the ability to change they're online status. This was located at the bottom of the sidebar, if the User clicked they're avatar a menu would appear with the option to log out of the app and also to change the online status to Online , Away , Busy , Offline
Screenshot

I made up some designs for the online status: https://www.figma.com/file/rDRlZgiZb2jOeqWKapkeMH/Settings?type=design&node-id=1036-23415&mode=design&t=zhaSGKTbLrWqcvrI-4