Completions for aur/aur-bin and man pages for aur releases.

Nice that you generate them as files, nicer still if we can get them added to the package!

I think this PR is causing the following error in rtx-bin:
==> Entering fakeroot environment...
==> Starting package()...
install: cannot stat 'rtx/completions/rtx.bash': No such file or directory
==> ERROR: A failure occurred in package().
    Aborting...
error: failed to build 'rtx-bin-1.30.6-1':
error: packages failed to build: rtx-bin-1.30.6-1

Which is because https://github.com/jdxcode/rtx/releases/download/v1.30.6/rtx-v1.30.6-linux-x64.tar.gz doesn't contain the shell completion files. So is it only the source file releases that contain the completion files?

ok I'll revert this for now until I can test this properly

Give me a few minutes and I'll have a look. Sorry.
On Fri, 2 Jun 2023, 14:19 Jeff Dickey, @.***> wrote:

ok I'll revert this for now until I can test this properly with included
shell files
—
Reply to this email directly, view it on GitHub
https://github.com/jdxcode/rtx/pull/581#issuecomment-1573723723, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAUJMHN5JH5V3LJ72ZLNT6LXJHR53ANCNFSM6AAAAAAYRL3744
.
You are receiving this because you authored the thread.Message ID:
@.***>


asyncio in concurrent rate_limit tests

Abandon threads, replace it with pure asyncio.

comparing to #194 this MR is faster (40 vs. 70 minutes for running testsuite/tests/apicast/policy/rate_limit)


fix rjrodger/seneca-mem-store#2

if #2 appears to be a bug, then it fix it

@maxired Awesome stuff, @rjrodger can you confirm if #2 is a bug or intended?

Merged since @rjrodger confirmed #2 was a bug


Azure not collecting data from subscription

Hi,
I followed the steps which are clear and simple but my zabbix server 3.2 is not collecting data..
Any suggestions what could be wrong or how to test the templates to find the break point ?
Thanks !

@angelzamora
The origin template was generated on zabbix 2.2, and I just verified it can work well with zabbix 3.2 .
I've uploaded a troubleshoot guide to wiki page. You can have a look and see whether certain steps works from your side.
If you would like to do future debugging, you can go though the source code directly.
Basically the logic under lib is responsible for communicating with Azure, bin & conf are for talking to zabbix.
The diagnostic data would map to zabbix items via discovery prototype.
conf/azure_monitoring_agentd.conf defines the custom keys, and files under bin/ are for discovering and reporting.
Related doc in zabbix: Custom key , Discovery

Closing this due to no information update for long. Please feel free to reopen it if there is some update.


Adding vulnerability check in README.md

Codecov Report

Merging #32 (650bafc) into main (d1c02d4) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main       #32   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            2         2
  Lines           17        17
=========================================
  Hits            17        17

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 d1c02d4...650bafc. Read the comment docs.


Fix All subscriptions resource status if Helm releases present

https://github.com/open-cluster-management/backlog/issues/13955
Signed-off-by: Kevin Cormier<EMAIL_ADDRESS>

/test e2e-cluster

/test e2e-cluster

/test e2e-cluster


Minor CRM Maintenance Works

Good Evening.
We're currently undertaking some minor maintenance works to the CRM.
This should not impact the service.
Thank You. - MPM

Maintenance is now complete.
Thank You. - MPM


faster pop_tz_offset_from_string, 2x faster dateparser.parse if date has no timezone info

When most strings don't have tz offset, this is massively faster, as we avoid a loop over all timezones (around 800 of them).
But it's possible to improve this.
TODO:

[ ] benchmark results
[ ] improve case when we do find a match

Tests run quite a bit faster after this change (e.g. tests/test_date_parser.py went from 1.7s to 1.5s, tests/test_search.py went from 2.2s to 1.9s), also I wrote a little benchmark specifically for this PR:
$ cat t.py
import time
import random
import dateparser

def main():
    inputs_no_tz = []
    inputs_tz = []
    random.seed(42)
    for _ in range(1000):
        day = random.randint(10, 31)
        year = random.randint(1970, 2030)
        hour = random.randint(12, 23)
        date = f'{year}.12.{day} {hour}:45:00'
        inputs_no_tz.append(date)
        inputs_tz.append(date + ' EST')

    t0 = time.perf_counter()
    for x in inputs_tz:
        assert dateparser.parse(x)
    t_tz = (time.perf_counter() - t0) / len(inputs_tz)

    t0 = time.perf_counter()
    for x in inputs_no_tz:
        assert dateparser.parse(x)
    t_no_tz = (time.perf_counter() - t0) / len(inputs_no_tz)

    print(f'Time with tz: {t_tz:.6f} s, t_no_tz: {t_no_tz:.6f} s')

if __name__ == '__main__':
    main()

And here are results (on branch first):
$ python t.py
Time with tz: 0.001375 s, t_no_tz: 0.000579 s
$ python t.py
Time with tz: 0.001363 s, t_no_tz: 0.000578 s
$ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
$ python t.py
Time with tz: 0.001353 s, t_no_tz: 0.001223 s
$ python t.py
Time with tz: 0.001344 s, t_no_tz: 0.001216 s

so parsing without TZ is more than 2x faster, while with TZ it's a tiny bit smaller. It should also be possible to bring the time of TZ parsing down.

@asadurski do you think it's fine to merge this PR as it is now (big speedup for dates without TZ, small slowdown for dates with TZ), or it's better to improve the case with TZ as well? It should be possible to eliminate the loop from pop_tz_offset_from_string entirely, but it would be a bit more changes than now.

Thank you @asadurski 👍

And I'll look some more into performance benchmark options with Travis.

I think even a benchmark suite which can be run locally to compare with master would be very useful, and there are plenty of nice cases in the tests which could be used as benchmark input.


feat: inspect allows creating recovery user/token

Closes #12051

[x] Well-formatted commit messages
[x] Rebased/mergeable
[x] Tests pass

Another thought I had: I've previously wished for an influxd setup command that would do the same thing as influx setup/influxd upgrade. If that command supported something like a --force or --ignore-existing flag, would implementing that be another way to achieve this functionality? Having it could help us simplify a piece of our DockerHub build's entrypoint script.

I thought about just calling the same code we use for setup, but that seemed more complicated for users since then they need to know whether they want to recreate buckets and orgs, or just re-add an operator token to an existing user.
I feel like 'add/list user' and 'add operator token' being separate would be a great idea though - then if the user remembers their username they can just add a new token and they're up and running (they can use the new operator token to reset their password). If they're really sunk they can list users or even add a new one.
Maybe @russorat should comment?


[CELEBORN-567] Timeout workers/app need consider long leader election period

What changes were proposed in this pull request?
increase timeout deadline when leader changed to avoid app/worker status unexpected changes.
Why are the changes needed?
Consider the situation in ha mode，if master election period exceeds the workerHeartbeatTimeout or appHeartbeatTimeout, all workers/apps may timeout immediately when new leader elected。And This will also cause every shuffle of the apps timeout, every register/every change partition fail and all data would be lost in worker. For Flink same system, It's  also bad as the resource of Flink dataset would be timeout while even Flink app retry to connect the master. (Flink support long time retry strategy for one job, then this job would fail because of shuffle expired in Celeborn Cluster)
Does this PR introduce any user-facing change?
No
How was this patch tested?
Would test in k8s environment.

cc @AngersZhuuuu


Does not display advanced color prompt, troubleshooting section did not help

Hi,
I have two machines, one is macOS and the other is Linux. They share the same .tmux.conf and .tmux.conf.local - I have a slightly customized .tmux.conf.local, but tried with your version too.
Linux:
$ echo $TERM
xterm-color
$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
$ tmux -V
tmux 3.1b

macOS has the same locale, same tmux version, same config.
Linux prompt looks like this:

macOS prompt looks like this:

The terminal is exactly the same, I ssh to the Linux machine from the same terminal. Patched fonts are correct.

Seems to work again, I don't know why though :(

In your Linux screenshot, you can see it's the 21st session being created. Likely a stray tmux server process was still running.


Dracula for Marp

New Theme: Marp
Repo: https://github.com/dgisolfi/marp

Hey @dgisolfi!
I just sent you an invitation to join the Dracula org. Once you accept the invite, you can transfer the repository.
Let me know if you have any other questions.

It's live @dgisolfi! https://draculatheme.com/marp :D
Feel free to share with the Marp community!


Received Input Validation Errors while running whatif.ipynb notebook for carbon sequestration.

Dear Farmvibes Team,
While running whatif.ipynb notebook I received input validation errors:
1) The scenario must contain at least 2 crop year
2) Input requires at least one simulation scenario (not named 'Current' or 'Baseline').The input parser found 0.
Because of this "farm_ai/carbon_local/carbon_whatif" workflow execution got failed.
Alternate method I tried:
When I add one more year(2021) in scenario.json the workflow executed successfully and I get the value of carbon sequestration as an output.
I have attached modified scenario.json that makes workflow to execute successfully.
I would appreciate your feedback on whether my approach is correct ?
{
    "id": "9a69ef8b-2823-4e5a-b9a9-d3a1eea8dc32",
    "farmId": "d9ceb3b1-1461-4957-b3d1-b5b3af0fd5da",
    "name": "Grape_Table_2022",
    "history": {
        "2022": {
            "crops": [
                {
                    "name": "Alfalfa",
                    "plantedDate": "2022/03/12",
                    "type": "annual crop",
                    "fertilizer": [
                        {
                            "id": "8424a859-8326-4e6b-b0f1-6c482c6df6d8",
                            "date": "2022/03/03",
                            "eep": {
                                "id": 1902,
                                "name": "Slow Release"
                            },
                            "fertilizerType": {
                                "id": 1557,
                                "name": "Calcium Ammonium Nitrate"
                            },
                            "totalFertilizerApplied": "0",
                            "totalNitrogenApplied": "1.0"
                        }
                    ],
                    "harvest": [
                        {
                            "id": "4a40d027-717f-436b-9316-46a32516c798",
                            "gfsrt": "True",
                            "harvestDate": "2022/02/15",
                            "sshrr": "10",
                            "yield": "39"
                        }
                    ],
                    "tillage": [
                        {
                            "id": "63c9e567-2d4a-4d42-8b87-f9c30c40dff4",
                            "date": "2022/04/05",
                            "implement": {
                                "id": 1951,
                                "name": "Intensive Tillage"
                            }
                        }
                    ],
                    "omad": [
                        {
                            "id": "b53c3ba3-c409-4505-b226-2a62547e17c1",
                            "date": "2022/03/03",
                            "type": "Soybean Meal",
                            "amount": "100",
                            "percentN": "0",
                            "CNratio": "1.3"
                        }
                    ]
                }
            ],
            "selected": true
        },
        "2021": {
            "crops": [
                {
                    "name": "Alfalfa",
                    "plantedDate": "2021/06/30",
                    "type": "annual crop",
                    "fertilizer": [
                        {
                            "id": "8424a859-8326-4e6b-b0f1-6c482c6df6d8",
                            "date": "2021/06/30",
                            "eep": {
                                "id": 1902,
                                "name": "Slow Release"
                            },
                            "fertilizerType": {
                                "id": 1557,
                                "name": "Calcium Ammonium Nitrate"
                            },
                            "totalFertilizerApplied": "0",
                            "totalNitrogenApplied": "1.0"
                        }
                    ],
                    "harvest": [
                        {
                            "id": "4a40d027-717f-436b-9316-46a32516c798",
                            "gfsrt": "True",
                            "harvestDate": "2021/09/20",
                            "sshrr": "10",
                            "yield": "39"
                        }
                    ],
                    "tillage": [
                        {
                            "id": "63c9e567-2d4a-4d42-8b87-f9c30c40dff4",
                            "date": "2021/06/15",
                            "implement": {
                                "id": 1951,
                                "name": "Intensive Tillage"
                            }
                        }
                    ],
                    "omad": []
                }
            ],
            "selected": true
        }

    },
    "container": "farm"
}

Hi, @click2cloud-sagarB . Thank you for raising this issue.
COMET has recently started requesting two years of data for estimating the amount of carbon sequestrated.
For running the notebook with the example json files provided in the repo, replicating the year in scenario.json will allow the workflow to be executed successfully. In practice, these scenarios should cover farming and cultivation practices considered by the farmer in their analysis.
In the next release, we will alter the contents of the example files provided in the notebook (in particular, scenario.json) to include an additional year of data.
Thank you and the team for raising the issue.

Marking this as closed by the fix in PR #44 .
Let us know if you still find any issues while running.


Better profit calc and added metrics for submits

closes #202
Between restarts it migrates the transaction costs in the db
For the profit calculations it now uses ethClient.SuggestGasPrice()
Also added metrics for submits -  success, fail, profit
Signed-off-by: Krasi Georgiev<EMAIL_ADDRESS>

Pull Request Test Coverage Report for Build 454674506

0 of 55 (0.0%)  changed or added relevant lines in 1 file are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.3%) to 35.548%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/ops/miningManager.go
0
55
0.0%

Files with Coverage Reduction
New Missed Lines
%

pkg/ops/miningManager.go
2
0%

Totals

Change from base Build 453021484:
-0.3%

Covered Lines:
1455

Relevant Lines:
4093

💛  - Coveralls


Added ETL to compute legs

Codecov Report
Attention: 33 lines in your changes are missing coverage. Please review.

Comparison is base (50cb605) 73.62% compared to head (2d526ab) 72.46%.

Files
Patch %
Lines

src/fs_s3.rs
0.00%
27 Missing :warning:

src/fs.rs
0.00%
3 Missing :warning:

src/trace_month.rs
76.92%
3 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #42      +/-   ##
==========================================
- Coverage   73.62%   72.46%   -1.16%
==========================================
  Files          15       15
  Lines         891      908      +17
==========================================
+ Hits          656      658       +2
- Misses        235      250      +15

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


Mixin conflicts with Immersive Portals

https://github.com/OnyxStudios/Cardinal-Components-API/blob/master/cardinal-components-block/src/main/java/dev/onyxstudios/cca/mixin/block/common/MixinThreadedAnvilChunkStorage.java
and
https://github.com/OnyxStudios/Cardinal-Components-API/blob/master/cardinal-components-chunk/src/main/java/dev/onyxstudios/cca/mixin/chunk/common/MixinThreadedAnvilChunkStorage.java
have mixin conflicts with
https://github.com/qouteall/ImmersivePortalsMod/blob/1.16/imm_ptl_core/src/main/java/com/qouteall/immersive_portals/mixin/common/chunk_sync/MixinThreadedAnvilChunkStorage_C.java#L120
Solution: Mixin allows injecting into an overwritten method. I am going to change my mixin's priority to higher and ensure that vanilla calls of sendChunkDataPackets won't get intercepted. Cardinal components need to change cardinal-components-block/MixinThreadedAnvilStorage's injection point to RETURN

Ah, I already had a fix for this - fc0971e767a66450d1e68ea968282e2172d20df9


⚠ Bofrost.be has degraded performance

In 357b344, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1813 ms

Resolved: Bofrost.be performance has improved in ed573c9.


The group membership request notification uses off-center, large logo

It seems like the icon should be in the middle of the circle.
007.zip

Bigger fish to fry.


Create task for disabling admin mode

https://docs.microsoft.com/en-us/powershell/module/microsoft.xrm.onlinemanagementapi/disable-crmadminmode?view=dynamics365ce-ps

Thx. Would be good to allow disabling and enabling too.

Ok Implemented and uploaded to market place 8.3.0


Destroy streams created in rejected Promise.all()

Closes #482. See the commit message of the second commit for additional notes.
What has been done to verify that this works as intended?
I deployed this PR to the QA server and followed the reproduction steps in #482. As today and as expected, 9/10 concurrent requests were successful. However, unlike today, there was no database connection leak after the 10 responses.
We're not sure yet that we're going to ship this PR (see the next section). If we decide to, then I'll write unit tests of allWithStreams().
Why is this the best possible solution? Were any other approaches considered?
We want to add stream timeout functionality along the lines of #599/#604. However, we also want some way to destroy streams as soon as we know they can be. https://github.com/getodk/central-backend/pull/604#issuecomment-1244913740 mentions two options along those lines. This PR represents option 1, while #608 represents option 2.
I first tried running with option 2. However, when @alxndrsn ran the benchmarker against #608, the results were lackluster. I've pushed this PR in part so that @alxndrsn can run the benchmarker against it. If the PR is more performant than #608 (as I think we expect), then we'll probably want to ship it (as part of either v1.5.3 or v2022.3).
How does this change affect users? Describe intentional changes to behavior and behavior that could have accidentally been affected by code changes. In other words, what are the regression risks?
The hope is that this PR fixes connection leak issues. However, there's a risk of regression with each of the three streaming endpoints that the PR modifies. I think that if the results from the benchmarker are good, that should help us gain confidence in the PR.
Does this change require updates to the API documentation? If so, please update docs/api.md as part of this PR.
No changes needed.
Before submitting this PR, please make sure you have:

[x] run make test-full and confirmed all checks still pass OR confirm CircleCI build passes
[x] verified that any code from external sources are properly credited in comments

In #604, I ran the benchmarker against this PR (among other commits). This was surprising to me, but the results were decidedly lackluster.
@alxndrsn actually noticed that Backend crashed when he ran the benchmarker against this PR locally. @alxndrsn wrote on Slack:

i'm guessing it's cleaning up slightly too enthusiastically.  that, or something isn't getting told that the stream is shut down... so that might indicate a bug in slonik / my slonik patch

In 3/4 of the CircleCI builds that https://github.com/getodk/central-backend/pull/604#issuecomment-1249812357 links to, the following error message can be seen:

request to http://localhost:8383/v1/projects/1/forms/250_questions/submissions.csv.zip?splitSelectMultiples=true&groupPaths=true&deletedFields=true failed, reason: connect ECONNREFUSED <IP_ADDRESS>:8383

I think that's a sign that Backend is crashing. In the one build without that error, the benchmarker results were quite good. Hopefully there's a way for us to prevent Backend from crashing! Among all the commits tested, only this PR resulted in that error message, so I do think there's something in this PR specifically that's going wrong.

The errors may also be bugs in pg, and may not be specific to this branch:
Observed on this branch:
ConnectionError: timeout exceeded when trying to connect
    at Object.createConnection (/odk/backend/node_modules/slonik/dist/src/factories/createConnection.js:54:23)
    at runNextTicks (internal/process/task_queues.js:60:5)
    at listOnTimeout (internal/timers.js:526:9)
    at processTimers (internal/timers.js:500:7)ConnectionError: timeout exceeded when trying to connect
    at Object.createConnection (/odk/backend/node_modules/slonik/dist/src/factories/createConnection.js:54:23)
    at runNextTicks (internal/process/task_queues.js:60:5)
    at listOnTimeout (internal/timers.js:526:9)
    at processTimers (internal/timers.js:500:7)ConnectionError: timeout exceeded when trying to connect
    at Object.createConnection (/odk/backend/node_modules/slonik/dist/src/factories/createConnection.js:54:23)
    at runNextTicks (internal/process/task_queues.js:60:5)
    at listOnTimeout (internal/timers.js:526:9)
    at processTimers (internal/timers.js:500:7)ConnectionError: timeout exceeded when trying to connect
    at Object.createConnection (/odk/backend/node_modules/slonik/dist/src/factories/createConnection.js:54:23)
    at runNextTicks (internal/process/task_queues.js:60:5)
    at listOnTimeout (internal/timers.js:526:9)
    at processTimers (internal/timers.js:500:7)ConnectionError: timeout exceeded when trying to connect
    at Object.createConnection (/odk/backend/node_modules/slonik/dist/src/factories/createConnection.js:54:23)
    at runNextTicks (internal/process/task_queues.js:60:5)
    at listOnTimeout (internal/timers.js:526:9)
    at processTimers (internal/timers.js:500:7)/odk/backend/node_modules/pg/lib/client.js:367
    if (this.activeQuery.name) {
                         ^

TypeError: Cannot read property 'name' of null
    at Client._handleParseComplete (/odk/backend/node_modules/pg/lib/client.js:367:26)
    at Connection.emit (events.js:400:28)
    at Connection.emit (domain.js:470:12)
    at /odk/backend/node_modules/pg/lib/connection.js:115:12
    at Parser.parse (/odk/backend/node_modules/pg-protocol/dist/parser.js:40:17)
    at Socket.<anonymous> (/odk/backend/node_modules/pg-protocol/dist/index.js:10:42)
    at Socket.emit (events.js:400:28)
    at Socket.emit (domain.js:470:12)
    at addChunk (internal/streams/readable.js:290:12)
    at readableAddChunk (internal/streams/readable.js:265:9)
    at Socket.Readable.push (internal/streams/readable.js:204:10)
    at TCP.onStreamRead (internal/stream_base_commons.js:188:23)
make: *** [Makefile:16: run] Error 1

This may be: https://github.com/brianc/node-postgres/issues/2705
I have also seen the following when testing with another branch, while machine was under heavy load:
/odk/backend/node_modules/pg/lib/client.js:360
    this.activeQuery.handleCommandComplete(msg, this.connection)
                     ^

TypeError: Cannot read property 'handleCommandComplete' of null
    at Client._handleCommandComplete (/odk/backend/node_modules/pg/lib/client.js:360:22)
    at Connection.emit (events.js:400:28)
    at Connection.emit (domain.js:470:12)
    at /odk/backend/node_modules/pg/lib/connection.js:115:12
    at Parser.parse (/odk/backend/node_modules/pg-protocol/dist/parser.js:40:17)
    at Socket.<anonymous> (/odk/backend/node_modules/pg-protocol/dist/index.js:10:42)
    at Socket.emit (events.js:400:28)
    at Socket.emit (domain.js:470:12)
    at addChunk (internal/streams/readable.js:290:12)
    at readableAddChunk (internal/streams/readable.js:265:9)
    at Socket.Readable.push (internal/streams/readable.js:204:10)
    at TCP.onStreamRead (internal/stream_base_commons.js:188:23)
make: *** [Makefile:16: run] Error 1

This may be: https://github.com/brianc/node-postgres/issues/1872
And also:
/odk/backend/node_modules/pg/lib/client.js:367
    if (this.activeQuery.name) {
                         ^

TypeError: Cannot read property 'name' of null
    at Client._handleParseComplete (/odk/backend/node_modules/pg/lib/client.js:367:26)
    at Connection.emit (events.js:400:28)
    at Connection.emit (domain.js:470:12)
    at /odk/backend/node_modules/pg/lib/connection.js:115:12
    at Parser.parse (/odk/backend/node_modules/pg-protocol/dist/parser.js:40:17)
    at Socket.<anonymous> (/odk/backend/node_modules/pg-protocol/dist/index.js:10:42)
    at Socket.emit (events.js:400:28)
    at Socket.emit (domain.js:470:12)
    at addChunk (internal/streams/readable.js:290:12)
    at readableAddChunk (internal/streams/readable.js:265:9)
    at Socket.Readable.push (internal/streams/readable.js:204:10)
    at TCP.onStreamRead (internal/stream_base_commons.js:188:23)

I think the next step is to rebase this PR on the master branch. I think I'll wait to do that until we merge #599 or a similar PR. Once I do, it may be useful to:

Check whether Backend is crashing. (I see that #612 checks for that. ✨)
Check pg_stat_activity for a database connection leak at the end of the benchmarker.

Check pg_stat_activity for a database connection leak at the end of the benchmarker.

PR for a script to do this at: https://github.com/getodk/central-backend/pull/622

I've marked this PR as a draft while we finish working on #564.

Closing now that we've decided to close #634.


feat(build): use tikv-jemalloc only on Linux

I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
What's changed and what's your intention?
Exactly as the title said.
Checklist

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Types of user-facing changes

Users can now build this project w/o the tikv-jemalloc compilation failure. /cc https://risingwave-community.slack.com/archives/C02RASFD3MZ/p1672766451385959
However, using RisingWave on non-Linux will still be problematic (see reviews from @fuyufjh)

dep: #7306

Generally LGTM, and remove GlobalMemoryManager on non-production platform seems acceptable to me.
BTW, there are some better solutions:

Find an alternative solution to achieve the global memory usage without the dependency to jemalloc. (hard)
Add a feature jemalloc, and let windows user disable it manually.

Anyway, the PR looks good enough to me, I don’t expect users to run heavy workloads on macOS.

It's up to the moderators to decide if this is good to go 😉

The jemalloc issue only mentions the compilation problem on Windows. Should we also allow jemalloc on macOS?

The jemalloc issue only mentions the compilation problem on Windows. Should we also allow jemalloc on macOS?

Does tikv jemalloc support macOS? Because I'm not sure about that.

The jemalloc issue only mentions the compilation problem on Windows. Should we also allow jemalloc on macOS?

Does tikv jemalloc support macOS? Because I'm not sure about that.

Yes. It works fine on macOS since the first day we add jemalloc.

Okay. I'll make another pr.

Previously I thought there were some new problems on macOS. 😄 RisingWave won't guarantee that it works on a non-Unix system, and risedev requires the bash as well. Please use the cfg(unix) if you think this really matters.

I think I saw a user having macOS tikv-jemalloc issues in a community channel...

jemalloc

Latest try was to spin up a docker container on ubuntu.20.04 and exec into that. There I could set up the dev env needed and build everything BUT  tikv-jemalloc-sys wher I failed on a build script.
error: failed to run custom build command for tikv-jemalloc-sys v0.5.2+5.3.0-patched
Caused by:
process didn't exit successfully: /risingwave/target/debug/build/tikv-jemalloc-sys-c28ff9413adad8ce/build-script-build (exit status: 101)

You mean this? I thought he is having problem compiling on ubuntu..

Yes, I meant this. They mentioned macOS in another message

Add a data point:
According to the experiment with Mac M1, the number observed in Mac M1 seems have some problem: jemalloc much higher than node memory. Switch to ubuntu fix this.
But I'm not sure Mac Intel.
https://github.com/risingwavelabs/risingwave/pull/7180#issuecomment-1371789277


feat(event-handler): allow for cors=None setting

Issue #, if available:
Description of changes:
At the route level we should allow for cors=None which means that cors are enabled for this route when configured globally
Checklist

[X] Meet tenets criteria
[X] Update tests
[X] Update docs
[X] PR title follows conventional commit semantics

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #421 (f4bd418) into develop (d044463) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff            @@
##           develop     #421   +/-   ##
========================================
  Coverage    99.89%   99.89%
========================================
  Files          101      101
  Lines         3990     3994    +4
  Branches       197      198    +1
========================================
+ Hits          3986     3990    +4
  Misses           1        1
  Partials         3        3

Impacted Files
Coverage Δ

aws_lambda_powertools/event_handler/api_gateway.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Notifier failing to send to gcs and emails

We see the sendgrid api quota might be issue with email notification but it also don't sent notification to GCS bucket. is there a dependency with sendgrid api ?
Logs:
[forseti-security][2.7.0] google.cloud.forseti.services.notifier.service(_run_notifier): Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/forseti_security-2.7.0-py2.7.egg/google/cloud/forseti/services/notifier/service.py", line 104, in _run_notifier self.service_config) File "/usr/local/lib/python2.7/dist-packages/forseti_security-2.7.0-py2.7.egg/google/cloud/forseti/notifier/notifier.py", line 151, in run notifier.run() File "/usr/local/lib/python2.7/dist-packages/forseti_security-2.7.0-py2.7.egg/google/cloud/forseti/notifier/notifiers/email_violations.py", line 179, in run self._send(notification=email_notification) File "/usr/local/lib/python2.7/dist-packages/forseti_security-2.7.0-py2.7.egg/google/cloud/forseti/notifier/notifiers/email_violations.py", line 171, in _send attachment=attachment) File "/usr/local/lib/python2.7/dist-packages/forseti_security-2.7.0-py2.7.egg/google/cloud/forseti/common/util/email.py", line 123, in send response = self._execute_send(email) File "build/bdist.linux-x86_64/egg/retrying.py", line 49, in wrapped_f return Retrying(*dargs, **dkw).call(f, *args, **kw) File "build/bdist.linux-x86_64/egg/retrying.py", line 206, in call return attempt.get(self._wrap_exception) File "build/bdist.linux-x86_64/egg/retrying.py", line 247, in get six.reraise(self.value[0], self.value[1], self.value[2]) File "build/bdist.linux-x86_64/egg/retrying.py", line 200, in call attempt = Attempt(fn(*args, **kwargs), attempt_number, False) File "/usr/local/lib/python2.7/dist-packages/forseti_security-2.7.0-py2.7.egg/google/cloud/forseti/common/util/email.py", line 65, in _execute_send return self.sendgrid.client.mail.send.post(request_body=email.get()) File "build/bdist.linux-x86_64/egg/python_http_client/client.py", line 252, in http_request return Response(self._make_request(opener, request, timeout=timeout)) File "build/bdist.linux-x86_64/egg/python_http_client/client.py", line 176, in _make_request raise exc ForbiddenError

@ajayakumar1983 There is no dependency with sendgrid api. Email notification will be sent when you provide the email configuration and you'll see violations in GCS bucket when you provide gcs_path and other details. Either way you need to set the 'should_notify' field to 'true'. Please ensure the gcs_path you provided is correct. Let me know if the issue persists.


Archaius2 Support arbitrary type in SetProperty.

Currently, Archaius2 SetProperty converts everything into String. We need to support the arbitrary object as the property type in SetProperty without converting it.

PR has been merged.


Make flannel aware of node-external-ip parameter

Environmental Info:
K3s Version:

Node(s) CPU architecture, OS, and Version:

Cluster Configuration:

Describe the bug:

When passing the parameter node-external-ip, we expect all traffic to use the external-ip to connect to the cluster resources. This is happening for the control-plane but not for the data-plane. The reason for this is that we need to add the annotation flannel.alpha.coreos.com/public-ip-overwrite to the node, so that flannel can generate the correct networking set-up. Unfortunately, to make this config effective, we need to restart k3s, which is not nice
Steps To Reproduce:

Installed K3s:

Deploy k3s with node-external-ip and try to ping between pods which are in different nodes
Expected behavior:

Ping works
Actual behavior:

Ping does not work unless we manually do:

kubectl annotate node $NODE_NAME flannel.alpha.coreos.com/public-ip-overwrite=$PUBLIC_IP
Restart the node

Additional context / logs:

Validated on commit 027039530d43bc01c9c17cc0be48db583bff943f
Environment Details

Infrastructure

[ ] Cloud
[ ] Hosted

Node(s) CPU architecture, OS, and Version:

$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu

$ k3s -v
k3s version v1.25.2+k3s-02703953 (02703953)
go version go1.19.1

Cluster Configuration:

1 server, 1 worker

Config.yaml:

write-kubeconfig-mode: 644
token: "secret"
node-external-ip: $SERVER_PUBLIC_IP
flannel-backend: wireguard-native

Testing Steps

Create two VMs which do not belong to the same subnet (e.g. in different public clouds). These VMs must have a public IP
Deploy k3s with the following config in one VM:

write-kubeconfig-mode: 644
token: "secret"
node-external-ip: $SERVER_PUBLIC_IP
flannel-backend: wireguard-native

Deploy k3s agent with the following config in another VM:

token: "secret"
server: "https://$SERVER_PUBLIC_IP:6443"
node-external-ip: $AGENT_PUBLIC_IP

Run kubectl get nodes -o yaml. You should see the annotation: flannel.alpha.coreos.com/public-ip: and flannel.alpha.coreos.com/public-ip-overwrite: in both nodes. Both annotations must point at the publicIP of the node (what we passed as node-external-ip).

Deploy a pod in each node/VM and ping between them.

-SECOND NODE
apiVersion: v1
  kind: Node
  metadata:
    annotations:
      flannel.alpha.coreos.com/backend-data: '{"PublicKey":"<REDACTED>="}'
      flannel.alpha.coreos.com/backend-type: wireguard
      flannel.alpha.coreos.com/kube-subnet-manager: "true"
      flannel.alpha.coreos.com/public-ip: <IP_ADDRESS>
      flannel.alpha.coreos.com/public-ip-overwrite: <IP_ADDRESS>
.
.
.

Ping between them

$ kubectl exec -it nginx -- curl <IP_ADDRESS>

It works!

Re testing using new flag.
flannel-external-ip: true

Validated on commit v1.25.3-rc4+k3s1
Environment Details

Infrastructure

[ ] Cloud
[ ] Hosted

Node(s) CPU architecture, OS, and Version:

$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu

$ k3s -v
k3s version v1.25.3-rc4+k3s1 (f2585c16)
go version go1.19.2

Cluster Configuration:

1 server, 1 worker

Config.yaml:

$ cat /etc/rancher/k3s/config.yaml
write-kubeconfig-mode: 644
token: "secret"
node-external-ip: $SERVER_PUBLIC_IP
flannel-backend: wireguard-native
flannel-external-ip: true

Testing Steps

Create two VMs which do not belong to the same subnet (e.g. in different public clouds). These VMs must have a public IP
Deploy k3s with the following config in one VM:

$ cat /etc/rancher/k3s/config.yaml
write-kubeconfig-mode: 644
token: "secret"
node-external-ip: $SERVER_PUBLIC_IP
flannel-backend: wireguard-native
flannel-external-ip: true

Deploy k3s agent with the following config in another VM:

token: "secret"
server: "https://$SERVER_PUBLIC_IP:6443"
node-external-ip: $AGENT_PUBLIC_IP

Run kubectl get nodes -o yaml. You should see the annotation: flannel.alpha.coreos.com/public-ip: and flannel.alpha.coreos.com/public-ip-overwrite: in both nodes. Both annotations must point at the publicIP of the node (what we passed as node-external-ip).

Deploy a pod in each node/VM and ping between them. It should work

Validation Results:

NAME                   STATUS   ROLES                       AGE   VERSION
node/ip-172-31-15-83   Ready    control-plane,etcd,master   43m   v1.25.3-rc4+k3s1
node/ip-172-31-27-88   Ready    <none>                      39m   v1.25.3-rc4+k3s1

NAMESPACE     NAME                                          READY   STATUS      RESTARTS   AGE
default       pod/httpd                                     1/1     Running     0          22m
default       pod/nginx                                     1/1     Running     0          17m
kube-system   pod/coredns-75fc8f8fff-hrtvx                  1/1     Running     0          43m
kube-system   pod/helm-install-traefik-crd-776rq            0/1     Completed   0          43m
kube-system   pod/helm-install-traefik-qv9tn                0/1     Completed   1          43m
kube-system   pod/local-path-provisioner-5b5579c644-lvmq8   1/1     Running     0          43m
kube-system   pod/metrics-server-5c8978b444-gbhk6           1/1     Running     0          43m
kube-system   pod/svclb-traefik-4b0d2370-pnr7l              2/2     Running     0          43m
kube-system   pod/svclb-traefik-4b0d2370-shtch              2/2     Running     0          39m
kube-system   pod/traefik-9c6dc6686-2lnj2                   1/1     Running     0          43m

NAMESPACE     NAME                     TYPE           CLUSTER-IP     EXTERNAL-IP                 PORT(S)                      AGE
default       service/kubernetes       ClusterIP      <IP_ADDRESS>      <none>                      443/TCP                      43m
kube-system   service/kube-dns         ClusterIP      <IP_ADDRESS>     <none>                      53/UDP,53/TCP,9153/TCP       43m
kube-system   service/metrics-server   ClusterIP      <IP_ADDRESS>   <none>                      443/TCP                      43m
kube-system   service/traefik          LoadBalancer   <IP_ADDRESS>   <IP_ADDRESS>,<IP_ADDRESS>   80:30433/TCP,443:31785/TCP   43m

NAMESPACE     NAME                                    DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
kube-system   daemonset.apps/svclb-traefik-4b0d2370   2         2         2       2            2           <none>          43m

NAMESPACE     NAME                                     READY   UP-TO-DATE   AVAILABLE   AGE
kube-system   deployment.apps/coredns                  1/1     1            1           43m
kube-system   deployment.apps/local-path-provisioner   1/1     1            1           43m
kube-system   deployment.apps/metrics-server           1/1     1            1           43m
kube-system   deployment.apps/traefik                  1/1     1            1           43m

NAMESPACE     NAME                                                DESIRED   CURRENT   READY   AGE
kube-system   replicaset.apps/coredns-75fc8f8fff                  1         1         1       43m
kube-system   replicaset.apps/local-path-provisioner-5b5579c644   1         1         1       43m
kube-system   replicaset.apps/metrics-server-5c8978b444           1         1         1       43m
kube-system   replicaset.apps/traefik-9c6dc6686                   1         1         1       43m

NAMESPACE     NAME                                 COMPLETIONS   DURATION   AGE
kube-system   job.batch/helm-install-traefik       1/1           16s        43m
kube-system   job.batch/helm-install-traefik-crd   1/1           15s        43m

flannel.alpha.coreos.com/public-ip: and flannel.alpha.coreos.com/public-ip-overwrite: showed in both nodes

$ kubectl get nodes -o yaml | grep -i "flannel.alpha.coreos.com/public-ip"
      flannel.alpha.coreos.com/public-ip: <IP_ADDRESS>
      flannel.alpha.coreos.com/public-ip-overwrite: <IP_ADDRESS>
      flannel.alpha.coreos.com/public-ip: <IP_ADDRESS>
      flannel.alpha.coreos.com/public-ip-overwrite: <IP_ADDRESS>

- FIRST NODE
$ kubectl get nodes -o yaml
apiVersion: v1
items:
- apiVersion: v1
  kind: Node
  metadata:
    annotations:
      etcd.k3s.cattle.io/node-address: <IP_ADDRESS>
      etcd.k3s.cattle.io/node-name: ip-172-31-15-83-9cfc0c05
      flannel.alpha.coreos.com/backend-data: '{"PublicKey":"<fakeKey>"}'
      flannel.alpha.coreos.com/backend-type: wireguard
      flannel.alpha.coreos.com/kube-subnet-manager: "true"
      flannel.alpha.coreos.com/public-ip: <IP_ADDRESS>
      flannel.alpha.coreos.com/public-ip-overwrite: <IP_ADDRESS>
.
.
.

-SECOND NODE

apiVersion: v1
  kind: Node
  metadata:
    annotations:
      flannel.alpha.coreos.com/backend-data: '{"PublicKey":"GTCGrfDUQIH/GL/vl9XzBW56+a0mtaP6JRYIc/rYm1Y="}'
      flannel.alpha.coreos.com/backend-type: wireguard
      flannel.alpha.coreos.com/kube-subnet-manager: "true"
      flannel.alpha.coreos.com/public-ip: <IP_ADDRESS>
      flannel.alpha.coreos.com/public-ip-overwrite: <IP_ADDRESS>
.
.
.

Ping between them

$ kubectl exec -it nginx -- curl <IP_ADDRESS>

It works!


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target_9a9a349d-ed0b-40ad-94dd-c4253474edc5/pull/1 is merged into live branch.
Auto archive content to https://github.com/opstest2/docs-archive-test-target_9a9a349d-ed0b-40ad-94dd-c4253474edc5.git

Docs Build status updates of commit e5187c9:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error-RuningBuildFailed] Some unexpected errors happened when running build, please open a ticket in https://aka.ms/SiteHelp and include the error report for our team to troubleshoot

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


I am writing a debugger for Go and came across this project via  Dmitri Shuralyov and his use of this which uses go/scanner.
One improvement I'd like to see is more fined-grained control over what gets tagged. Rather than reinvent stuff when not necessary, I consulted Pygments to see what it has.
This is from pygments/formatters/terminal.py;
    Whitespace:         ('lightgray',   'darkgray'),
    Comment:            ('lightgray',   'darkgray'),
    Comment.Preproc:    ('teal',        'turquoise'),
    Keyword:            ('darkblue',    'blue'),
    Keyword.Type:       ('teal',        'turquoise'),
    Operator.Word:      ('purple',      'fuchsia'),
    Name.Builtin:       ('teal',        'turquoise'),
    Name.Function:      ('darkgreen',   'green'),
    Name.Namespace:     ('_teal_',      '_turquoise_'),
    Name.Class:         ('_darkgreen_', '_green_'),
    Name.Exception:     ('teal',        'turquoise'),
    Name.Decorator:     ('darkgray',    'lightgray'),
    Name.Variable:      ('darkred',     'red'),
    Name.Constant:      ('darkred',     'red'),
    Name.Attribute:     ('teal',        'turquoise'),
    Name.Tag:           ('blue',        'blue'),
    String:             ('brown',       'brown'),
    Number:             ('darkblue',    'blue'),

There are some things above that aren't relevant to Go (but you might want to add them for other languages), and there are some things that should be added above for go like Rune, possibly Case label and so on. So here is a list below:

Whitespace
Comment
Keyword
Type name
Built in
Function
Variable
Exported name
Number
Rune

Kind is a uint8 so there is plenty of space to add constants to this.
If you would like me to create a pull request for this, let me know.
Thanks.

For reference, the current list of Kind values is:
const (
    Whitespace Kind = iota
    String
    Keyword
    Comment
    Type
    Literal
    Punctuation
    Plaintext
    Tag
    HTMLTag
    HTMLAttrName
    HTMLAttrValue
    Decimal
)

Which ones do you think are missing?

See https://github.com/sourcegraph/syntaxhighlight/issues/8
Pygments uses "Number" instead of "Decimal" and I think Pygments is right here. Because numbers in hexadecimal would be formatted the same way and even though 010 could be decimal are in fact octal.
If you look at the list in above-cited issue, or the above list you'll see things like Rune, case label built-in function, exported name (capitalized variable).
For the record, I think it wrong to try to reuse one of the above names to mean something else when there is plenty of room for more constants.

Ok, I agree that Number sounds a little better that Decimal. What about the others?
Can you make your proposal a little more formal and concrete by showing suggested new values for Kind? For example, something like this:
 const (
     Whitespace Kind = iota
     String
     Keyword
     Comment
     Type
     Literal
     Punctuation
     Plaintext
     Tag
-    HTMLTag
-    HTMLAttrName
-    HTMLAttrValue
-    Decimal
+    yourSuggestionHere?
+    ???
+    ???
+    Number
)

I think changing those consts can be done without breaking anything (it might require updating some dependent packages), so if what you're proposing is an improvement, it might work, if @sqs agrees. We've made a change to make those const names more idiomatic in the past, see #6.

I'm fine changing them.

Below is a stab at this. But first are comments about the list.
Although I think the 13 constants that are cited above for Kind is a bit too small, I don't think it important to obsess about this to try to get it right to the last detail.  That said, it's probably worth putting a little effort to get it roughly right as I've tried below.
I think it important to try to include examples of what was intended as I've done below. There are just so many things that could mean more than one thing. For example, is "KeywordType" the literal "type" or is it a type name. Are things like C's "static", "extern" Keyword types? Dunno. Below is my guess; please double check with pygments which is where I got this from. (And I chose that simply because it seems to be parallel to this effort and has had to deal with this already).
KeywordType was originally Keyword.Type and I think in pygments the intent is that this a specific kind of Keyword. So, possibly NameType is what should be below. And possibly there are languages where separating the keyword "type" would make visual sense. Again, Dunno. You all discuss and decide.
You'll see I included an alias at the end of the list. As far as I can tell, a Go Rune is exactly the same as a C literal char. (And I think Literal was not intended to be the same as a C literal or Go Rune, but  I don't know).   In those cases like this where at least to me it is clear that Rune in Go means literal  char in C, I do think it helpful to use the same number, because the styling or appearance of a C literal char is probably the same as that of a Go Rune.
I believe when one has an assignment like this, iota is going to still increment. So that's why I put them at the end of the list.
Lastly, I am not against  Decimal,  HTMLTag, HTMLAttrName,  HTMLAttrValue. I just don't know what they are, or how exactly they'd be used.
const (
	Whitespace  Kind = iota

	Comment
	CommentPreproc // e.g. #ifdef, #else in C/C++
	Keyword        // e.g. "if", "for" in many languages
	KeywordType    // the specific keyword "type" ?
	Label          // C/C++ or Perl labels, e.g: loop:
	Literal
	LiteralChar       // 'a' or '\n' in C
	LiteralSymbol   // :foo in Ruby, 'foo in Lisp
	NameBuiltin   // e.g. len() in Go or Python
	NameClass     // Class name in Java, C++, Ruby, Python...
	NameDecorator // @classmethod in Python?
	NameException // e.g. Ruby/Python exception name, e.g. IOError
	NameFunction  // user-defined function or method, e.g gcd in "def gcd(a,b)" in Ruby, Python
	NameConstant  // e.g Ruby or Perl constant, The Pi in Ruby:  Pi=3, or Perl: use constant Pi => 3
	NameType    // e.g. int in C, C++, Go
	NameVariable  // user-defined program variable
	NameNamespace // package *name* in Go, Perl; module name in Python
	Number        // e.g 99, 0xff, 010, possibly 1.0 depending on lexer
	OperatorWord  // +, *, <= in most languages
	Plaintext
	Punctuation
	String

	// From pygments/formatters/terminal.py not totally sure what there are
	NameTag
	GenericDeleted
	GenericInserted
	GenericHeading
	GenericSubheading
	GenericError
	Error
	// Aliases. Need to be at the end
	Rune = LiteralChar // Go 'a' or '\n'
)

Hmm. Maybe NameTag above is the same thing as LiteralSymbol.

Hi @rocky,
Thanks for the proposal. After thinking about it, I'm beginning to think that what you're suggesting falls outside of scope of this library, and may be better suited as a separate standalone library.
My thinking is that this package is for highlighting code; in most practical use cases I've only seen a couple styles. I mean, it's really hard to actually have more than 20 visual styles that are still distinguishable one from another.
Go code as displayed on golang.org website actually only has 2 styles, green text for comments and black text for all other code.
Most other websites that display code that I'm aware of, including github.com, code.google.com, bitbucket.com, sourcegraph.com, gotools.org, have at most 5-10 different styles.
It doesn't seem to me that most users of this package would want to care about such detailed distinctions; it's more of keyword vs literal vs type, etc. So it would be computationally wasteful to get that extra information, and harder to use the API. If you really want such high detail level, perhaps you should be using the go/scanner package directly?
I'd be curious to hear @sqs thoughts on this.

After thinking about it, I'm beginning to think that what you're suggesting falls outside of scope of this library, and may be better suited as a separate standalone library.

I don't mind using another library or modifying this one, but I'm lost here. What is the scope of this library?
The README seems to suggest that JavaScript, Java, Ruby, Python, Go, and C are intended to be used.

My thinking is that this package is for highlighting code; in most practical use cases I've only seen a couple styles. I mean, it's really hard to actually have more than 20 visual styles that are still distinguishable one from another.

Ok. But what does that have to do with say, allowing those few styles decide that they'd like to  distinguish Runes from other things in Go or distinguish decorator symbols in Python from other kinds of variables?
It's not about how many code styles are used, just what is made available to the styles. Whether or not this package uses the distinctions defined in syntaxhighlight.Kind, not having them defined in this package precludes someone else writing a package and using this as a base.

It doesn't seem to me that most users of this package would want to care about such detailed distinctions;

You may be right. I'm going by largely what pygments decided on. You asked for a list, so you got one. You want a smaller list. Okay, change it.

it's more of keyword vs literal vs type, etc. So it would be computationally wasteful to get that extra information, and harder to use the API.

I don't see it as computationally wasteful. I bet if you benchmarked the difference, you'd find the time and space negligible. As Knuth says, premature optimization is the root of evil. That said, if you really do find a big time/space difference I'd be very interested.
The scanner already breaks things out into detailed tokens, so It is just a matter how the case statement that looks at the token classes combines these. Of course, if there is a map that has 20 entries instead of 10,  or a case statement that has 20 clauses instead of 10,
yes that's more space, but probably not much for time. The extra time to index a table of 20 things instead of 10, or select them is negligible.

If you really want such high detail level, perhaps you should be using the go/scanner package directly?

Well, that's what shurcooL/go/highlight_go was using in distinction to this package. The only reason I'm not using that is because of the bug mentioned in that project, where white space attributes come from the token that follows the white space. (And by the way, all of that is really tangential to this discussion).
I never said I wanted such a high level of detail, you asked for a list. But a little more detail would be nice. How about if we start out with making a distinction between a C literal/Go Rune and a character string?

I don't mind using another library or modifying this one, but I'm lost here. What is the scope of this library?
The README seems to suggest that JavaScript, Java, Ruby, Python, Go, and C are intended to be used.

That is correct. This package is for general syntax highlighting of code, including many languages:
// Package syntaxhighlight provides syntax highlighting for code. It currently uses a
// language-independent lexer and performs decently on JavaScript, Java, Ruby, Python,
// Go, and C.

And not just Go.

You may be right. I'm going by largely what pygments decided on. You asked for a list, so you got one. You want a smaller list? Okay, change it.

My goal is not to try to be as thorough and detailed as possible, but rather as simple as possible while offering just enough functionality to be useful in the contexts it will be used.

How about if we start out with making a distinction between a C literal/Go Rune and a character string?

I think that is reasonable. You mean differentiating "some string" vs 'a', right?

You mean differentiating "some string" vs 'a', right?
Yep.

My highlight_go package already does that:
"some string" -> syntaxhighlight.String
'a' -> syntaxhighlight.Decimal
It currently returns syntaxhighlight.Decimal for character literals, as well as numbers. But it's different from string literals.

:+1: to following Pygment's token names since https://github.com/jingweno/ccat can benefit from reusing the same theme from Pygment :smile_cat:


PHP 8.1 compatibility

Questions
Answers

Description?
Since PHP 8.1, nl2br() cannot accept null as its first argument. This PR aims to give an empty string when the configuration is null

Type?
bug fix

BC breaks?
no

Deprecations?
no

Fixed ticket?

How to test?
I really don't think tests are needed here

Wouuuups it's your fork, not PS org 😝

🤦♂


setup.cfg vs. .isort.cfg yield different results

versions: 4.2.5 and 4.2.15
In setup.cfg:
combine_as_imports = true
default_section = THIRDPARTY
include_trailing_comma = false
line_length = 79
multi_line_output = 5
skip = env,node_modules
skip_glob = **/migrations/**
not_skip = __init__.py
known_standard_library=asyncio
known_django=django
known_first_party=
    api
    clients
    core
    demographics
    export
    giveaway
    idb
    igg
    imadb
    image_cache
    influencers
    kpis
    media
    monitoring
    projects
    tracking
    users
sections=FUTURE,STDLIB,DJANGO,THIRDPARTY,FIRSTPARTY,LOCALFOLDER

[pep8]
ignore=W293,W291,E501,E261

max-line-length=120

exclude=
    scripts_timex.py,
    confs/aws.py,
    migrations,
    staticfiles,
    static,
    envvars,
    node_modules,
    idb/datascripts

[flake8]
ignore=W293,W291,E501,E261

max-line-length=120

exclude=
    scripts_timex.py,
    confs/aws.py,
    migrations,
    staticfiles,
    static,
    envvars,
    node_modules,
    idb/datascripts

in .isort.cfg:
[settings]
combine_as_imports = true
default_section = THIRDPARTY
include_trailing_comma = false
line_length = 79
multi_line_output = 5
skip = env,node_modules
skip_glob = **/migrations/**
not_skip = __init__.py
known_standard_library=asyncio
known_django=django
known_first_party=
    api
    clients
    core
    demographics
    export
    giveaway
    idb
    igg
    imadb
    image_cache
    influencers
    kpis
    media
    monitoring
    projects
    tracking
    users
sections=FUTURE,STDLIB,DJANGO,THIRDPARTY,FIRSTPARTY,LOCALFOLDER

Expected:
Imports are correctly sorted, so isort should not fail.
Observed:
When using .isort.cfg, the expected behaviour happens. When using setup.cfg, imports fail with:
(ima) ➜  imadb git:(code-quality-conf) ✗ isort --recursive --check-only --diff .
ERROR: /home/bbt/code/imadb/imadb/tests/test_views.py Imports are incorrectly sorted.
--- /home/bbt/code/imadb/imadb/tests/test_views.py:before	2017-09-15 11:35:58.032665
+++ /home/bbt/code/imadb/imadb/tests/test_views.py:after	2017-09-15 11:38:21.413430
@@ -1,6 +1,5 @@
 from django.conf import settings
 from django.urls import reverse
-

 from django_webtest import WebTest

 from clients.tests.factories import UserClientFactory
ERROR: /home/bbt/code/imadb/imadb/settings/common.py Imports are incorrectly sorted.
--- /home/bbt/code/imadb/imadb/settings/common.py:before	2017-09-15 11:35:58.052665
+++ /home/bbt/code/imadb/imadb/settings/common.py:after	2017-09-15 11:38:21.431162
@@ -9,9 +9,8 @@
 import sys  # noqa
 from logging import Filter

+import environ
 from django.urls import reverse_lazy
-
-import environ

 ROOT_DIR = environ.Path(__file__) - 3  # (/a/b/myfile.py - 3 = /)

environ is a third party app, and adding it to known_third_party doesn't fix it.
Any ideas?

This should be fixed in develop and released in isort 5.0.0.
Thanks!
~Timothy


Garbage collection perhaps needed in case of crashing docker containers

I noticed that upon startup S3 Mock gives me strangely long steam of very fast stdout/err that takes forever to finish and it seemed to get longer every now and then.
I also noticed that my disk space was getting more and more full.
Whenever S3 Mock crashes, it keeps the files in the filesystem, even though same bucket would be created with exactly same files. So the crashing S3 Mock had been creeping my filesystem until I finally noticed it now (60GB).
If the files are kept upon crashes and I as a user should manually destroy the files instead of assuming that they are overriden as they would with normal shut down and rewrite process, I would like to get notified.
I occasionally destroy all docker images and containers and had been saved by this, but lately I had been working on a project where only malfunctioning container had been S3 Mock and I had thought that "one image can not consume that much memory", but it seems that S3 Mock has a kind of parasitic attitude when it crashes and it doesn't clean up the mess or hint the user to check out the mess.
A warning message about this extra garbage upon crashes would be highly appreciated!

@AhtiAhde thanks for reporting this.
I have proposed a change that deletes all files on a regular shutdown.
Unfortunately, there's no way to delete files if the process itself is not shut down in an orderly fashion, for instance if the Docker container crashes.
We also can't print out any warnings, since any shutdown hook we would register (both in the Java process or in Docker) would again need the system to shut down in an orderly fashion.
This is the same for any process by the way, not a limitation of the S3Mock or Docker.

@AhtiAhde you could, however, use a local file system to store the files like it's proposed in #200
Then you would be able to see residual data after crashes.


Error when running "make build serve"

Hi,
I am using WSL2 to try the sample project and hit an error when building the folder. Wondering if anyone hit this before? Thanks!

Thanks for catching this!  spin-kitchensink is, I'm afraid, rather out of date - it dates from before Spin 0.1, and the SDK is now at 0.6 rather than the super-preview version we used for those examples.  I'm not sure why it's failing but those SDK versions would no longer work anyway I think.
For now, I'd suggest creating your own samples from a template (spin new).  We'll try to get this updated but if there are particular samples you're interested in then we can help you with those for sure!


add more encryption algorithms

my ssh server only support the below encryption algorithms, but the library do not support,
could you please add these implementation or give me an example for one of them.
["aes128-cbc", "3des-cbc", "aes192-cbc", "aes256-cbc"]

Will do this ASAP.
BRs.

Hi there,
Pr #73 has already implemented the four algorithms
Note that there are some breaking APIs as the version number is grown up.
BRs

Usage:
https://github.com/1148118271/ssh-rs/blob/fc7a5202c6f60e50fbabd362449a0b307a8be4fe/tests/algorithms.rs#L149-L217


bug?: typescript fails to compile angular services, duplicate exports

What are the steps to reproduce this issue?
Attempting to update a project from<EMAIL_ADDRESS>to latest generated compile errors. Found last working version<EMAIL_ADDRESS>

Using<EMAIL_ADDRESS>or later, typescript fails to compile with a previously working schema.

Using orval.config.ts
output: {
   mode: 'tags-split',
   workspace: 'src/api/sample-api',
   target: './sample-api.ts',
   client: 'angular',
   ...
}

N.B angular client

Run orval --config orval.config.ts to build

What happens?
Duplicate exports in each generated *.service.ts regardless of the the endpoints defined

In a.service.ts
export type GetValuesAllClientResult = NonNullable<void>;
export type PostValuesClientResult = NonNullable<void>;
export type GetValuesClientResult = NonNullable<void>;
export type PutValuesClientResult = NonNullable<void>;
export type DeleteValuesClientResult = NonNullable<void>;

In b.service.ts
export type GetValuesAllClientResult = NonNullable<void>;
export type PostValuesClientResult = NonNullable<void>;
export type GetValuesClientResult = NonNullable<void>;
export type PutValuesClientResult = NonNullable<void>;
export type DeleteValuesClientResult = NonNullable<void>;

What were you expecting to happen?
Compile successfully.
Any logs, error output, etc?
Typescript fails to compile with several similar errors. It appears orval is exporting all
Error: src/api/sample-api/index.ts:3:1 - error TS2308: Module './debug/debug.service' has already exported a member named 'ValuesPutClientResult'. Consider explicitly re-exporting to resolve the ambiguity.

export * from './values/values.service';.

In this case, ./debug/debug.service is just the first service generated.
Any other comments?
Compiles with<EMAIL_ADDRESS>What versions are you using?
Operating System: Windows 11
Package Version: 6.7.1+
Browser Version: N/A

we found out that the culprit is here,    returnTypesToWrite is not cleared in between generations and accumulating the previous ones

Thanks will look into it

thanks @maartencardinaels for finding the root cause

It also seems that based on the mode, the bug behaving differently.
For split mode you get an accumulation of the types (every next service file contains also the previous ones), while for tags-split, you get all the types as duplicates for all service files (line @dennisroche) described above

fixed will be in the next release

Released with 6.9.0


Fix nb launcher test

Skips the nb launcher multi-gpu test, until a better solution can be found. The problem arises from the fact that when doing make test, somewhere along the way a forking issue will rise, causing CUDA to not like the fact we're spawning another process it can't handle (my best guess). If ran alone this test will pass (or with just pytest -sv tests/test_multigpu.py)

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Urgent: 0 uploads shown on fresh install

Is anyone else getting 0 uploads shown if they uninstall the app and install a fresh copy of it (v1.33)? Would appreciate if anyone would help test. If it isn't just my phone that is causing problems, I might need to revert #285 and see if it fixes the issue (since AFAIK no other change in this version affects ContributionsListFragment.java, which displays the list).

I just tried uninstalling and reinstalling again (1.33 from Google Play), and my uploads are shown normally.
You had network enabled?

Thanks! I just tried again and it works for me now. Pretty sure I had network or at least wi-fi enabled since my fresh install was from Google Play and not from my computer - there is no way we can install from Google Play without network/wi-fi, right?
If it was just a momentary error on my phone, that's all good. :)

You can close and reopen if you ever experience this again :-)

Yeah, good idea!


fix disallowed chars matching for colons (:)

Discovered by @netkenny as mentioned in #1104.
Colons (not followed by a space) in the song/artist name causes hangup at conversion since any colon in the filename is not allowed in windows.

Already implemented in #1109

Already implemented in #1109

Hey Peyton, as this is not a very complicated fix, can you open one more (separate) PR targeted at Dev?

Hey Peyton, as this is not a very complicated fix, can you open one more (separate) PR targeted at Dev?

Hey @phcreery , as this is not a very complicated fix, can you open one more (separate) PR targeted at Dev?

just with this fix?

Hey @phcreery , as this is not a very complicated fix, can you open one more (separate) PR targeted at Dev?

just with this fix?

Yep. This fix based off Dev.

Yep. This fix based off Dev.

Yep. This fix based off Dev.

isnt that just a PR from hotfix to dev?

Yep. This fix based off Dev.

isnt that just a PR from hotfix to dev?

This is based of master, merging this into Dev would bring in merge conflicts
in cases of bigger pull request there might be a need of rewriting, this is supposed to be an example, so I am doing the same

This is based of master, merging this into Dev would bring in merge conflicts
in cases of bigger pull request there might be a need of rewriting, this is supposed to be an example, so I am doing the same

Is there a specific reason for making another PR for dev? If not, I wouldn't want to keep opening up 2 PR for every "hotfix" unless it is vital. If I understand correctly, usually hotfixes can wait to be implemented on the dev branch till we merge it into master (revision) and then rebase/update the dev branch (to be even with master)

Is there a specific reason for making another PR for dev? If not, I wouldn't want to keep opening up 2 PR for every "hotfix" unless it is vital. If I understand correctly, usually hotfixes can wait to be implemented on the dev branch till we merge it into master (revision) and then rebase/update the dev branch (to be even with master)


Need . netstandard2.0

https://dotnet.microsoft.com/zh-cn/platform/dotnet-standard#versions
Can you provide. NET Standard  to run in more places.

Why do you need this? Is there a case .NET6 is not sufficient enough?

I understand the need for the .net standard runtime, as the domain where this package is typically used, still relies on .NET Framework 4.x.x heavily.
Please review changes made to the netstandard20 branch. When approved, the nuget package with support for .NET Standard 2.0 will be available soon after merging.

@hqzzzz a netstandard runtime version has been made available in version 1.2.0.
Supported framework versions are listed here
Thank you for reporting this issue.


[QUnit.only] Add support for source-based test filtering (aka exclusive tests)

I think it would be handy to be able to filter tests right in the source code. This feature is essential when Karma is used and the test suite is large.
Mocha and Jasmine already support this feature via '.only' and 'iit' respectively.
What do you guys think?

As on #766 and now I'm bringing the conversation here, I proposed the implementation of QUnit.only
Previous arguments were:

Based on feedback from other developers, I'm proposing QUnit.only to run just a single test block.

QUnit.only implementation would be similar to QUnit.test but when registered to the tests queue, it would be flagged as the only valid test to run.

The behaviour should be like the rerun feature, but instead of using a browser interface, it would allow QUnit to run that single flagged test on other interfaces, like headless browsers (PhantomJS) and Node-like environments.

@JamesMGreene asked a very reasonable question:

What should happen if there is more than 1 instance of QUnit.only?

Run multiple (makes the name only feel a little weird but not unreasonable)
Run the first one but log a special global assertion failure for any additional instances
Don't run any of them and log a special global assertion failure for all instances
Something else?

I believe the best option is to make it work only for the first only call, all the remaining regular tests and only should be ignored in the run. As this is a method to help the development process only, we shouldn't care to trigger any failure in this one.

Would you also make any changes in the HTML reporter? Maybe a badge similar to the one for QUnit.skip?
As for the exclusiveness, would be good to check other implementations like Jasmine and Mocha.

Meanwhile I've got to use Mocha on a project and got quickly annoyed by two implementation details of their only feature: It will only run the first only describe/it, and ignore others, unless they have the same name (probably not intended behaviour, but happend once due to copy-pasta). When I needed it, having it run all onlys would've been much more useful. Its also annoying to have to remember to undo these changes in the code before committing. So far I've ended up with only in master just once...
I can see how CLI-based filter won't mix well with a watcher task, but still feel like this is the wrong solution. I'd like to have a watcher run the test that I just changed first (somewhat similar to QUnit's rerun feature preferring failed tests), then run remaining tests, but without showing the output of passed tests (another annoyance in mocha). That way you don't have to remember to revert source changes, you get fast feedback on the changed test, and you still get feedback from running all tests.

This feature is the biggest thing I miss from Jasmine. As a code base grows, doing a full test run in an Ember app can mean waiting minutes. During this time the Qunit UI is completely unresponsive or continuously moves focus as it builds and tears down acceptance tests.  Having the equivalent of a Qunit.only would mean being able to focus on the task at hand with incredibly fast feedback only to delete that Qunit.only when you're confident in the correctness of your current unit of work.
Currently I use the module selector in the Qunit UI to accomplish something like this, but this can be incredibly clumsy as I need to wait for the full run to complete before the UI is responsive enough to select a specific module. This action also takes me away from the code I'm actually writing.
Please reconsider this feature request, as I think its far more important as SPA Qunit test runs become more and more complex.

QUnit.only is a welcome feature. I'll put this on my schedule, but I would also like any contribution to help implementing it.

@ebenoist could you help implementing QUnit.only?

I'll see if I can carve out sometime next weekend. Can you point out any conventions I should be aware of, potential designs, or similar concepts already in the QUnit codebase?

I think the design, including the display in the html reporter, of QUnit.skip comes closest to what we're looking for here. It should be fairly simple, so I think we can start with a pull request and go from there. No need for more up front design than what's in this issue.

Sounds good, I should be able to put up something soon.

@ebenoist, would you also regard the #528 when doing QUnit.only? that would be a ++

@leobalter I'll take a look. I finally carved out some time for this, I hope to get something up today.

nice! I'm looking forward!

So after looking at this for a bit, the simplest way to accomplish this would probably be to set the filter and clear out the current config.queue:
// Will be exposed as QUnit.only
function only( testName, expected, callback, async ) {
	var newTest;

	if ( arguments.length === 2 ) {
		callback = expected;
		expected = null;
	}

	newTest = new Test({
		testName: testName,
		expected: expected,
		async: async,
        only: true,
		callback: callback
	});

    QUnit.config.queue.length = 0;
    QUnit.config.filter = newTest.module.name + ": " + newTest.testName;

    newTest.queue();
}

For the reporter I can then list the number of tests skipped by doing Test.count - 1. And do some custom styling to show that the test was the only test being ran.
For testing I should be able to make sure that this test module runs first and then clears the filter manually to allow the remaining tests to run as normal.
Something like this:
QUnit.module( "QUnit.only");

QUnit.test( "implicitly skipped test", function( assert ) {
  assert.ok( false, "test should be skipped" );
});

QUnit.only( "only run this test", function( assert ) {
  assert.ok( true, "only this test should run" );
});

QUnit.config.filter = [];

I can modify the reporter to display the test in the following fashion:

This approach should also allow for programatic module filters in the future if needed.
Thoughts on this approach?

That sounds good to me.

The method implementation seems great.
For the tests we can isolate it on a different html file, repeating the failing tests after the only call and in other modules.
Also it is good to include a successive only call with a failing test, this way we make sure only the first registered only will run.

Regarding the module approach: it might be good to discuss it with the nested modules as well. With the callbacks, my wish is to allow a QUnit.only replacing a module and running all the tests inside that module. That requires a further work to make QUnit.module and QUnit.test similar.
cc @gibson042 (about my last paragraph).

Great! I should be able to polish this up over the weekend or by early next week. I'll hold off on any module changes, but I really like the idea of using QUnit.only as a stand-in for a module as well. I think isolating modules is really where this feature begins to really shine. With that said, I'll put a PR up for just the simple case and we can iterate into something more robust.
Thanks for the feedback.

I think isolating modules is really where this feature begins to really shine.

Agreed
The nested modules are already on the master branch, but having a PR for tests only will make it faster for a first release.

@leobalter Sounds exciting! I think the biggest hurdle will be addressing the synchronously-invoked module callback vs. asynchronously-invoked test callback, but that looks tractable to me.

@ebenoist I'm very excited and looking forward to see your implementation. I would love to see your PR.


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-2.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 3019

Questions ?
Please refer to the Backport tool documentation


Array.prototype.find not typing input as possibly undefined

Bug Report
🔎 Search Terms
Array, find, holes, sparse array
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about Array.prototype.find

⏯ Playground Link

Playground link with relevant code
💻 Code

type Foo = {
  bar: number;
};

let arr: Array<Foo> = [];

arr[3] = {
  bar: 1,
};

const foundValue = arr.find((e) => e.bar === 1);

🙁 Actual behavior
TypeScript doesn't indicate that find has unique functionality among the Array.prototype methods in that it does not skip holes in an array. This seems to be intended behavior from what I have seen.
🙂 Expected behavior
TypeScript should mark that e could be of type Foo or undefined.
It doesn't make sense in my opinion to type arr as an Array<Foo | undefined> if it is known that you will never explicitly insert undefined into the array. Other javascript iterator functions like forEach will only go through the single defined element of arr, so the line arr.forEach((e) => e.bar ===1) would not throw a runtime exception. However, typing the array as Array<Foo | undefined> would result in a TypeScript error on that forEach statement.

TypeScript doesn't acknowledge the existence of sparse arrays; this particular function is only one of many which can get you into trouble. e.g. given the arr above, you could write for (const e of [...arr]) { e; } and have the same problem.

Oh, okay! Thank you for informing me.


Berylium UAT phase 3: error flag not reset after an issue and when continuing...

If an error was raised previously the flag to show the message to invite to log an issue is not reset.

To test


Add descriptions to clear and copy_theme.

Adding descriptions to the two remaining functions in Theme!

Thanks!


[Bug]:  Keypad (T8960) not supported

What happened?
Keypad (T8960) shows as a supported device in the supported device list:
https://bropat.github.io/eufy-security-client/#/supported_devices
Please see screenshot below:

Device Type
other (UnSupported)
Plugin Version
v3.0.x (Best Effort)
HomeBridge Version
v1.7.x (Supported)
NodeJS Version
v20 (Supported)
Operating System
Raspbian 10+ (Supported)
Relevant log output
m
02:54:06 PMEufy Security Bridgedebug#########################
02:54:06 PMEufy Security Bridgedebug######### ERROR #########
02:54:06 PMEufy Security Bridgedebug#########################
02:54:06 PMEufy Security BridgedebugYou're not using a guest admin account with this plugin! You must use a guest admin account!
02:54:06 PMEufy Security BridgedebugPlease look here for more details:
02:54:06 PMEufy Security Bridgedebughttps://github.com/homebridge-eufy-security/plugin/wiki/Create-a-dedicated-admin-account-for-Homebridge-Eufy-Security-Plugin
02:54:06 PMEufy Security Bridgedebug#########################
02:54:15 PMEufy Security Bridgedebug[05/10/2024, 19:54:15] [EufySecurity] INFO Front Door is set to handle snapshots with cloud images. Snapshots might be older than they appear.
02:54:15 PMEufy Security Bridgedebug[05/10/2024, 19:54:15] [EufySecurity] ERROR Front Door could not fetch old snapshot: No currentSnapshot
02:54:15 PMEufy Security Bridgedebug[05/10/2024, 19:54:15] [EufySecurity] INFO Registering new accessory: DEVICE_Front Door
02:54:15 PMEufy Security Bridgedebug[05/10/2024, 19:54:15] [EufySecurity] INFO Living Room is set to handle snapshots with cloud images. Snapshots might be older than they appear.
02:54:15 PMEufy Security Bridgedebug[05/10/2024, 19:54:15] [EufySecurity] ERROR Living Room could not fetch old snapshot: No currentSnapshot
02:54:15 PMEufy Security Bridgedebug[05/10/2024, 19:54:15] [EufySecurity] INFO Registering new accessory: DEVICE_Living Room
02:54:16 PMEufy Security Bridgedebug[05/10/2024, 19:54:15] [EufySecurity] INFO Backyard is set to handle snapshots with cloud images. Snapshots might be older than they appear.
02:54:16 PMEufy Security Bridgedebug[05/10/2024, 19:54:15] [EufySecurity] ERROR Backyard could not fetch old snapshot: No currentSnapshot
02:54:16 PMEufy Security Bridgedebug[05/10/2024, 19:54:16] [EufySecurity] INFO Registering new accessory: DEVICE_Backyard
02:54:16 PMEufy Security Bridgedebug[05/10/2024, 19:54:16] [EufySecurity] INFO Driveway is set to handle snapshots with cloud images. Snapshots might be older than they appear.
02:54:16 PMEufy Security Bridgedebug[05/10/2024, 19:54:16] [EufySecurity] ERROR Driveway could not fetch old snapshot: No currentSnapshot
02:54:16 PMEufy Security Bridgedebug[05/10/2024, 19:54:16] [EufySecurity] INFO Registering new accessory: DEVICE_Driveway
02:54:16 PMEufy Security Bridgedebug[05/10/2024, 19:54:16] [EufySecurity] INFO Registering new accessory: DEVICE_Front Door
02:54:16 PMEufy Security Bridgedebug[05/10/2024, 19:54:16] [EufySecurity] INFO Registering new accessory: DEVICE_Garage Door
02:54:16 PMEufy Security Bridgedebug[05/10/2024, 19:54:16] [EufySecurity] INFO Registering new accessory: DEVICE_Back Door
02:54:16 PMEufy Security Bridgedebug[05/10/2024, 19:54:16] [EufySecurity] INFO Registering new accessory: DEVICE_eufy Keypad
02:54:16 PMEufy Security Bridgedebug[05/10/2024, 19:54:16] [EufySecurity] INFO Registering new accessory: DEVICE_Front Door
02:54:39 PMEufy Security Bridgedebug[05/10/2024, 19:54:39] [EufySecurity] INFO Garage Door ON 'ContactSensor / ContactSensorState / open': false
02:55:07 PMEufy Security Bridgedebug[05/10/2024, 19:55:07] [EufySecurity] INFO Front Door ON 'ContactSensor / ContactSensorState / open': true
02:55:13 PMEufy Security Bridgedebug[05/10/2024, 19:55:13] [EufySecurity] INFO Front Door ON 'ContactSensor / ContactSensorState / open': false
02:57:30 PMEufy Security BridgedebugRegistering platform 'homebridge-eufy-security.EufySecurity'
02:57:42 PMEufy Security Bridgedebug[05/10/2024, 19:57:41] [EufySecurity] INFO Finished shutdown!
02:57:42 PMEufy Security Bridgedebug[05/10/2024, 19:57:42] [EufySecurity] ERROR
02:57:42 PMEufy Security Bridgedebug#########################
02:57:42 PMEufy Security Bridgedebug######### ERROR #########
02:57:42 PMEufy Security Bridgedebug#########################
02:57:42 PMEufy Security BridgedebugYou're not using a guest admin account with this plugin! You must use a guest admin account!
02:57:42 PMEufy Security BridgedebugPlease look here for more details:
02:57:42 PMEufy Security Bridgedebughttps://github.com/homebridge-eufy-security/plugin/wiki/Create-a-dedicated-admin-account-for-Homebridge-Eufy-Security-Plugin
02:57:42 PMEufy Security Bridgedebug#########################
02:57:42 PMEufy Security Bridgedebug[05/10/2024, 19:57:42] [EufySecurity] ERROR

config
config set in your custom ui

Looks to me like you haven’t done what the log says to do.
PMEufy Security BridgedebugYou're not using a guest admin account with this plugin! You must use a guest admin account!
02:57:42 PMEufy Security BridgedebugPlease look here for more details:
02:57:42 PMEufy Security Bridgedebughttps://github.com/homebridge-eufy-security/plugin/wiki/Create-a-dedicated-admin-account-for-Homebridge-Eufy-Security-Plugin

On May 10, 2024, at 14:19, Damesworth @.***> wrote:
PMEufy Security BridgedebugYou're not using a guest admin account with this plugin! You must use a guest admin account! 02:57:42 PMEufy Security BridgedebugPlease look here for more details: 02:57:42 PMEufy Security Bridgedebughttps://github.com/homebridge-eufy-security/plugin/wiki/Create-a-dedicated-admin-account-for-Homebridge-Eufy-Security-Plugin

I have now created an admin account. It added the base station but not the keypad singled out like the other devices, but now doesn’t recognize my eufy security lock, although it did before without the admin account.

Hi @Damesworth, when you mention 'keypad not supported,' could you elaborate on what exactly that entails? What functionality were you hoping to achieve with a keypad? In my setup, the keypad primarily triggers the alarm status, which can also be activated directly through HomeKit. In the past, it was labeled as 'not compatible.' In fact enabling keypad or not won't have any effect.
You need to setup likes below :

As for the lock, I assume you'd need to grant administrative rights to the lock through the Eufy app. Locks operate as independent accessories from the Eufy side.


change slider implementation

remove html draggable property and use event listeners for dragging #147

Codecov Report

Merging #150 into development will not change coverage.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           development     #150   +/-   ##
============================================
  Coverage        83.54%   83.54%
============================================
  Files               23       23
  Lines              638      638
============================================
  Hits               533      533
  Misses             105      105

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 0dc115c...2872412. Read the comment docs.


Superstream not working again

Steps to reproduce

Open aniyomi
Scroll to superstream if you have it.
Try to select a show or movie to watch.
Sadness that you can't watch anything.

Expected behavior
It should be showing me shows and movies.
Actual behavior
Instead of opening up to a list of shows and movies it tells me the query failed and this.

Crash logs
No response
Aniyomi version
<IP_ADDRESS>
Android version
Android 13
Device
Galaxy A32 5G SM
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] If this is an issue with an official anime extension, I should be opening an issue in the extensions repository.
[X] If this is an issue with a manga extension, report it to the manga source extension project you added it from.
[X] I have gone through the FAQ and troubleshooting guide.
[X] I have updated the app to version <IP_ADDRESS>.
[X] I have updated all installed extensions.
[X] I will fill out all of the requested information in this form.

please report extensions related issues in the extensions repository.


Support AWS Route53

What(What have you changed?)
Add new DNS provider support, AWS Route53
Why(Why did you change it?)
I use Route53 service.

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 7

Complexity increasing per file
==============================
- sewer/dns_providers/tests/test_route53.py  1
- sewer/dns_providers/route53.py  6

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 7

Complexity increasing per file
==============================
- sewer/dns_providers/tests/test_route53.py  1
- sewer/dns_providers/route53.py  6

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 3

Complexity increasing per file
==============================
- sewer/dns_providers/tests/test_route53.py  1
- sewer/dns_providers/route53.py  6

See the complete overview on Codacy

black --line-length=100 --check . would reformat /Users/lowid/workspace/lowid/sewer/sewer/dns_providers/tests/test_dnspod.py Oh no! 💥 💔 💥
That's wired, I run black locally, my code is ok.
>> black --version
black, version 19.10b0

black --line-length=100 --check . would reformat /Users/lowid/workspace/lowid/sewer/sewer/dns_providers/tests/test_dnspod.py Oh no! 💥 💔 💥
That's wired, I run black locally, my code is ok.
>> black --version
black, version 19.10b0

the contributing docs; https://github.com/komuw/sewer/blob/master/.github/CONTRIBUTING.md say that you should format the code using the command; black --line-length=100 --py36 .

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 4

Complexity increasing per file
==============================
- sewer/dns_providers/tests/test_route53.py  1
- sewer/dns_providers/route53.py  6

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 4

Complexity increasing per file
==============================
- sewer/dns_providers/tests/test_route53.py  1
- sewer/dns_providers/route53.py  6

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 4

Complexity increasing per file
==============================
- sewer/dns_providers/route53.py  6
- sewer/dns_providers/tests/test_route53.py  1

See the complete overview on Codacy


Allow to bypass pkg-config for easier cross compilation

First of all, thank you for this library, it's very useful :) We've been using it on a Raspberry PI, and so far we had no real issues.
However, I'd like to cross compile for the RPi, so I can work on my more beefy laptop with rust-analyzer blazing away :) For that, it would be nice if we can bypass pkg-config so we easily use the library from the RPi.
This PR makes the build script look at environment variables LIBREALSENSE, LIBREALSENSE_INCLUDE_PATH and optionally LIBREALSENSE_LIBRARY_SEARCH_PATH. If LIBREALSENSE is set, pkg-config is not invoked. By overriding the library and include path, I was able to cross-compile for aarch64-linux-unknown-gnu.
The first commit tries to simplify the build script and removes some external dependencies. It also avoids making assumptions about the information given by pkg-config in some places. It might be easiest to review the commits separately.

Correction: I could cross compile this crate, but an executable fails to link. Converted this to a draft until it is fixed.

Correction: I could cross compile this crate, but an executable fails to link. Converted this to a draft until it is fixed.

In the end it is probably better to just add pkg-config files to the sysroot and set PKG_CONFIG_SYSROOT_DIR and PKG_CONFIG_LIBDIR to match the sysroot instead of bypassing pkg-config, so I dropped that part of the PR.
The PR is still needed to cross compile with a custom sysroot, since the current build script ignores the library search paths from pkg-config, and only uses a single include path instead of all include paths from pkg-config. Similarly, with this PR, all libraries listed by pkg-config are linked rather than always linking against realsense2.

In the end it is probably better to just add pkg-config files to the sysroot and set PKG_CONFIG_SYSROOT_DIR and PKG_CONFIG_LIBDIR to match the sysroot instead of bypassing pkg-config, so I dropped that part of the PR.
The PR is still needed to cross compile with a custom sysroot, since the current build script ignores the library search paths from pkg-config, and only uses a single include path instead of all include paths from pkg-config. Similarly, with this PR, all libraries listed by pkg-config are linked rather than always linking against realsense2.

It looks good to me. I like additional env variables to customize building process.
There are pros and cons to have pkg-config. It simplifies build on Linux. On the other hand, I've heard some complains from Windows and MacOSX users. The building logic would eventually to allow users to turn pkg-config off and leave it to user's hands.
Besides, the build.rs reads a bunch of env variables. As the script grows, it's better to organize ad-hoc env variables. I would prefer the serde + envy approach. At least, the PR is a good beginning.


[Style] Changing the Style for the Footer Bar Social Media Icons.

What's the style idea?
We need to improve the style for footer bar icons of various social media apps and links. The existing ones look quite monochromatic.

I would like to propose a change to the color and animation style for the footer icons. I assure you it will look more modular while keeping the colorful vibe of the website overall.
Kindly Assign this project to me.
Thank You,
Shubham Chaudhari
GSSoC'24
Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[ ] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[ ] I am a SWOC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

hey @Rakesh9100 , i would like to work on this issue under GSSoC'24. So please do assign the issue

Hey @Rakesh9100 , i would like to work on this issue under this project for GSSoC'24  , please do assign the issue

hey @Rakesh9100 , i would like to work on this issue under GSSoC'24. Please do assign the issue

Hello @Rakesh9100 , I will love to work on this issue it will be my first PR please assigned me this task. I will do all the improvement needed in this issue
Thank you

Do you have any supporting screenshots @Winter262005

Do you have any supporting screenshots of your idea @Winter262005


Add configurable http timeout for interceptors

Changes to add configurable http timeout for interceptors. If no timeout is specified, default timeout used is 15 seconds. After timing out, the API errors out and not processed further.
https://github.com/rancher/rancher/issues/7833

LGTM


Revert "Create AVL-Tree.cpp"

Reverts Shubham56-droid/DataStruture-and-algroithms-program#40 done

good work bro thanks for participating


Feature/version upgrade

Codecov Report

Merging #6 into main will decrease coverage by 1.05%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main       #6      +/-   ##
==========================================
- Coverage   98.45%   97.40%   -1.06%
==========================================
  Files          70       70
  Lines        2857     2857
  Branches      244      247       +3
==========================================
- Hits         2813     2783      -30
- Misses         27       54      +27
- Partials       17       20       +3

Impacted Files
Coverage Δ

....Interop.Generator/Normalizers/DotNetNormalizer.cs
15.38% <0.00%> (-84.62%)
:arrow_down:

...erop.Generator/Identifiers/ActionTypeIdentifier.cs
28.57% <0.00%> (-71.43%)
:arrow_down:

...pt.Interop.Generator/Identifiers/TypeIdentifier.cs
70.21% <0.00%> (-25.54%)
:arrow_down:

...tor/Identifiers/InterfaceResponseTypeIdentifier.cs
97.82% <0.00%> (+21.73%)
:arrow_up:

Continue to review full report at Codecov.

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


Ability to apply the focal point without cropping

I was wondering if it's possible to apply the focal point set by the user without needing to crop the image. I've had multiple instances where this is the case.
In the past I did this when I was using a picture partial:
{{ if cover }}
    class="object-cover w-full h-full {{ class }}"
    style="object-position: {{ focus | background_position }}"
{{ /if }}

Maybe a cool feature in general for the future could by to add styles?

That's a neat idea! 😃
As it's quite specific, I think for now we will add the possibility to add things to the style attribute (in the same way as with the class attribute), so you can add your custom logic using the focus.


How to use the accept Terms Of Service method for a new account?

I'm trying to build a telegram app but I can't do this method
{
  "@type": "updateAuthorizationState",
  "authorization_state": {
    "@type": "authorizationStateWaitRegistration",
    "terms_of_service": {
      "@type": "termsOfService",
      "text": {
        "@type": "formattedText",
        "text": "By signing up for Telegram, you agree not to:\n\n- Use our service to send spam or scam users.\n- Promote violence on publicly viewable Telegram bots, groups or channels.\n- Post pornographic content on publicly viewable Telegram bots, groups or channels.\n\nWe reserve the right to update these Terms of Service later.",
        "entities": []
      },
      "min_user_age": 0,
      "show_popup": false
    }
  }
}

How to fill this key terms_of_service_id

I tried this method when there was an update and it worked, thank you, sorry I didn't read the docs

This is correct. During registration terms of service are automatically accepted. If show_popup is true, then a blocking popup with terms of service must be shown to the user before registration is continued. acceptTermsOfService needs to be used only to handle updateTermsOfService updates.


fix: should check initContainer field exists first to support upgrades

Bug introduced for not checking from previous revisions if the initContainer.container field exists before checking if the subfield exists.
In addition we should also not require a new field as this will cause problems on upgrades with --reuse-values flag set.

Can we use get instead of and? Using and won't get the result you're looking for with helm versions that were built with go before go1.19

Of course, ill ping you later about the and and versiosn before go1.19, that is very interesting.