Please consider fixing issues detected by repository checker

Notification from ioBroker Check and Service Bot
Dear adapter developer,
I'm the ioBroker Check and Service Bot. I'm an automated tool processing routine tasks for the ioBroker infrastructure. I have recently checked the repository for your adapter netatmo-energy for common errors and appropiate suggestions to keep this adapter up to date.
Please see the result of the check below.
ioBroker.netatmo-energy
   -

ERRORS:

[ ] :heavy_exclamation_mark: [E033] @iobroker/adapter-core 3.0.4 specified. 3.1.4 is required as minimum, 3.1.6 is recommended. Please update dependencies at package.json
[ ] :heavy_exclamation_mark: [E036] @iobroker/testing 4.1.0 specified. 4.1.3 is required as minimum,  4.1.3 is recommended. Please update devDependencies at package.json
[ ] :heavy_exclamation_mark: [E162] js-controller 3.0.0 listed as dependency but 4.0.24 is required as minimum, 5.0.19 is recommended. Please update dependency at io-package.json.

WARNINGS:

[ ] :eyes: [W028] Minimum node.js version 18 recommended. Please adapt "{'engines' : { 'node' >= '16.0.0' } }" at package.json.
[ ] :eyes: [W040] "keywords" within package.json should contain "ioBroker"
[ ] :eyes: [W130] Many "common.news" found in io-package.json. Repositorybuilder will truncate at 7 news. Please remove old news.
[ ] :eyes: [W181] "common.license" in io-package.json is deprecated. Please define object "common.licenseInformation"
[ ] :eyes: [W184] "common.main" is deprecated and ignored. Please remove from io-package.json. Use "main" at package.json instead.
[ ] :eyes: [W184] "common.materialize" is deprecated for admin >= 5 at io-package.json. Please use property "adminUI".
[ ] :eyes: [W184] "common.materializeTab" is deprecated for admin >= 5 at io-package.json. Please use property "adminUI".
[ ] :eyes: [W519] Consider adding plugin "@alcalzone/release-script-plugin-manual-review".
[ ] :eyes: [W853] .npmignore found - consider using package.json object "files" instead.

Please review issues reported and consider fixing them as soon as appropiate.
Errors reported by repository checker should be fixed as soon as possible. Some of them require a new release to be considered as fixed. Please note that errors reported by checker might be considered as blocking point for future updates at stable repository.
Warnings reported by repository checker should be reviewed. While some warnings can be considered as a suggestion and be ignored due to good reasons or a dedicated decision of the developer, most warnings should be fixed as soon as appropiate.
Feel free to contact me (@iobroker-bot) if you have any questions or feel that an issue is incorrectly flagged.
And THANKS A LOT for maintaining this adapter from me and all users.
Let's work together for the best user experience.
your
ioBroker Check and Service Bot
@mcm1957 for evidence

This issue has been replaced by new isse #21
This issue can be closed.
your
ioBroker Check and Service Bot


ensure data for teams is correct

[x] community team - @ashleygwilliams
[x] compiler/languages team - @nikomatsakis
[x] devtools team - @nrc
[x] documentation team - @steveklabnik
[x] library team - @alexcrichton
[ ] operations team - @Mark-Simulacrum @aidanhs
[x] moderation team - @Manishearth
[x] alumni - @aturon
[x] core team - @ashleygwilliams

Having merged https://github.com/rust-lang/beta.rust-lang.org/pull/406 I believe release team membership is as up to date as it can be -- membership is not very strict currently -- so I'm closing this.


Browser Support

This says on chai website this supports the browser but it actually does not.
Is there any plans for browser support in the future?

This package is not under active development, but I'm happy to review PRs and bug reports. It is implemented as plain old ES5 JavaScript, so there is no particular reason I know of that would prevent it from working in a browser. If there is a particular problem you are having, please provide some information like an error or stack trace, along with the browser and os you're using as well as the test runner.
Cheers!


Fix lossing ssh_options

Fix #111

@Unitech, can you check?

@Unitech any updates?

@vmarchaud any updates?


feat(container): update oliver006/redis_exporter (v1.58.0 → v1.66.0)

Update Request | Renovate Bot
This PR contains the following updates:

Package
Update
Change

oliver006/redis_exporter
minor
v1.58.0 -> v1.66.0

Release Notes

oliver006/redis_exporter (oliver006/redis_exporter)
v1.66.0
Compare Source

PR #962 - Change type of search_total_cycles/search_total_ms_run metrics (thx @nantiferov )
PR #960 - Bump github.com/prometheus/client_golang from 1.20.4 to 1.20.5

v1.65.0
Compare Source

PR #959 - Support valkey:// and valkeys:// scheme

This release uses a new config for the docker images.
Please open an issue if you encounter problems.
v1.64.1
Compare Source

PR #958 - Fix search_total_indexing_time metric type (thx @nantiferov )

v1.64.0
Compare Source

PR #944 - Support exporting configured_hz from info server (thx @justinmir )
PR #951 - Add Replication Traffic To Exported Metrics (thx @fluetm)
PR #953 - Feature: Add redis search module metrics (thx @nantiferov )
PR #957 - Add new Redis 7.x info metrics and other useful ones. (thx @mindw )

BREAKING CHANGE

PR #950 - Re-implement client details to have deterministic cardinality (thx @mindw )

v1.63.0
Compare Source

PR #924 - Add add label master_replid to metricinstance_info (thx @wilkice)
PR #933 - Export client-output-buffer-limit (thx @jdheyburn)
Updated dependencies: Golang 1.23, prometheus/client_golang 1.20.2,

v1.62.0
Compare Source

PR #917 - fix stream entry id metric for Redis 6 (thx @gitsang )
PR #921 - Bump alpine to use latest 3.20 image (thx @neiljain )

v1.61.0
Compare Source

PR #915 - Add flag to skip CONFIG call
PR #912 - Bump alpine base image to 3.20 (thx @neiljain )

v1.60.0
Compare Source

PR #913 - Add option to exclude collecting latency histogram metrics (thx @nantiferov )
PR #910 - Add collection of mem_total_replication_buffers  (thx @nantiferov )
PR #906 - Add option to exclude consumer from streaming metrics (thx @nantiferov )
PR #903 - Bump github.com/prometheus/client_golang from 1.19.0 to 1.19.1

v1.59.0
Compare Source
Dependency updates

Bump github.com/prometheus/client_model to 0.6.1
Bump prometheus/client_golang to v1.19.0
Bump github.com/gomodule/redigo from 1.8.9 to 1.9.2

and

Support Docker Compose V2 in Makefile (thx @bjosv )

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: undefined
Command failed: ./hack/bump-chart-version.sh 'keydb' '' 'true' ''
sed: 1: "charts/keydb/Chart.yaml": command c expects \ followed by text


Mentions manually configuring routeTable without mentioned setting outboundType

Document mentions custom routeTable configuration and includes several CLI samples for cluster creation, none of which include any mention of the setting "--outboundType userDefinedRouting" (as described here https://docs.microsoft.com/en-us/azure/aks/egress-outboundtype). This is setting customers up for trouble, as they should follow the "egress-outboundType" doc and set the UDR flag when creating clusters for which they intend to manually add entries to the associated route table.

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

ID: 719f4010-810f-b3c7-d807-222b39b20e20
Version Independent ID: 82ac8cfa-b0a2-c77a-408a-ab9aa2b6bce4
Content: Configure kubenet networking in Azure Kubernetes Service (AKS) - Azure Kubernetes Service
Content Source: articles/aks/configure-kubenet.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: mlearned

@davidkydd
Thanks for the feedback! I have assigned the issue to content author to check and update the document as appropriate.

@zr-msft @mlearned
Can you please check and add your comments on this doc update request as applicable.

#reassign:schaffererin
Hi, @davidkydd, thank you for your feedback. I apologize for the delay in receiving a response. I updated the doc and included links to other AKS articles describing customizing UDR and outbound types, which you can see in this PR. The changes will be live in the AKS documentation soon. Thanks again!


feat: ignore hubs below minimum version for sync

Motivation
followup to expire hubs
Change Summary
Ignore outdated hubs when syncing
Merge Checklist
Choose all relevant options below by adding an x now or at any time before submitting for review

[x] PR title adheres to the conventional commits standard
[x] PR has a changeset
[x] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore)
[x] PR does not require changes to the protocol

Additional Context
If this is a relatively large or complex change, provide more details here that will help reviewers

Good question, I'll handle that as part of this ticket. We're planning to remove the peer from the address book if it's not reachable. We can also remove it if the version is older than the min version.


chore(deps): update dependency ansible to v4.10.0

This PR contains the following updates:

Package
Type
Update
Change

ansible
packages
minor
==4.4.0 -> ==4.10.0

Configuration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: Pipfile.lock
Command failed: pipenv lock
Warning: Python 3.9 was not found on your system...
Neither 'pyenv' nor 'asdf' could be found to install Python.
You can specify specific versions of Python with:
$ pipenv --python path/to/python


Fix delete a directory failed because of rename

What changes are proposed in this pull request?

Submit the request for canceling the Persist task when rename is executed

Persist to delete the created directory if the persist task fails

Why are the changes needed?
Fix deleting a directory failed because of rename.
Transmission gate: #18667
Does this PR introduce any user facing changes?

No changes to the user-facing api

@YichuanSun Could you please help core review it

I'm not familiar with 2.x, but I will try.

OK, I will try when I have time.


Add syntax lookup mod operator

It looks like mod doesn't support infix syntax at the moment, but presumably it's fine to treat it as an operator for now? What do you think?

Yes it is fine to treat it as an operator. There will be a dedicated doc for custom infix operators soon, but the implementation will follow a little later.
For now it looks fine

Yes it is fine to treat it as an operator. There will be a dedicated doc for custom infix operators soon, but the implementation will follow a little later.
For now it looks fine


Remote SSH Connection Fails during Server Installation on Remote

Does this issue occur when all extensions are disabled?: N/A

VS Code Version: 1.71 (August 2022)
OS Version: Windows 10 Version	10.0.19044 Build 19044

Steps to Reproduce:

Update VSCode to August 2022 version.
Attempt to connect to Remote SSH host.

Issue happens while VSCode is trying to install the server on the remote.
Reminder: You may only use this software with Visual Studio family products,
> * as described in the license (https://go.microsoft.com/fwlink/?linkid=2077057)
> *
>
[14:24:21.211] >
> Server did not start successfully. Full server log at /home/andeloth/.vscode-ser
> ver/.784b0177c56c607789f9638da7b6bf3230d47a8c.log >>>
> node:internal/modules/cjs/loader:936
>   throw err;
>   ^
>
> Error: Cannot find module '../product.json'
> Require stack:
> - /home/andeloth/.vscode-server/bin/784b0177c56c607789f9638da7b6bf3230d47a8c/out
> /server-main.js
>     at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15
> )
>     at Function.Module._load (node:internal/modules/cjs/loader:778:27)
>     at Module.require (node:internal/modules/cjs/loader:1005:19)
>     at require (node:internal/modules/cjs/helpers:102:18)
>     at Object.<anonymous> (/home/andeloth/.vscode-server/bin/784b0177c56c607789f
> 9638da7b6bf3230d47a8c/out/server-main.js:1:106)
>     at Module._compile (node:internal/modules/cjs/loader:1103:14)
>     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1157:10)
>     at Module.load (node:internal/modules/cjs/loader:981:32)
>     at Function.Module._load (node:internal/modules/cjs/loader:822:12)
>     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_ma
> in:77:12) {
>   code: 'MODULE_NOT_FOUND',
>   requireStack: [
>     '/home/andeloth/.vscode-server/bin/784b0177c56c607789f9638da7b6bf3230d47a8c/
> out/server-main.js'
[14:24:21.220] >
>   ]
> }
> <<< End of server log
> e1c4fd8b3cc5: start
> exitCode==32==
> listeningOn====
> osReleaseId==rhel==
> arch==x86_64==
> tmpDir==/tmp==
> platform==linux==
> unpackResult====
> didLocalDownload==0==
> downloadTime====
> installTime====
> extInstallTime====
[14:24:21.226] >
> serverStartTime==14630==
> e1c4fd8b3cc5: end
[14:24:21.227] Received install output:
exitCode==32==
listeningOn====
osReleaseId==rhel==
arch==x86_64==
tmpDir==/tmp==
platform==linux==
unpackResult====
didLocalDownload==0==
downloadTime====
installTime====
extInstallTime====
serverStartTime==14630==

[14:24:21.228] Cannot find module '../product.json'

[14:24:21.229] Resolver error: Error: Cannot find module '../product.json'

	at g.ServerInstallError (c:\Users\benji\.vscode\extensions\ms-vscode-remote.remote-ssh-0.84.0\out\extension.js:1:585156)
	at h (c:\Users\benji\.vscode\extensions\ms-vscode-remote.remote-ssh-0.84.0\out\extension.js:1:578423)
	at t.handleInstallOutput (c:\Users\benji\.vscode\extensions\ms-vscode-remote.remote-ssh-0.84.0\out\extension.js:1:582403)
	at t.tryInstall (c:\Users\benji\.vscode\extensions\ms-vscode-remote.remote-ssh-0.84.0\out\extension.js:1:681023)
	at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
	at async c:\Users\benji\.vscode\extensions\ms-vscode-remote.remote-ssh-0.84.0\out\extension.js:1:643908
	at async t.withShowDetailsEvent (c:\Users\benji\.vscode\extensions\ms-vscode-remote.remote-ssh-0.84.0\out\extension.js:1:647224)
	at async t.resolve (c:\Users\benji\.vscode\extensions\ms-vscode-remote.remote-ssh-0.84.0\out\extension.js:1:644958)
	at async c:\Users\benji\.vscode\extensions\ms-vscode-remote.remote-ssh-0.84.0\out\extension.js:1:727082
[14:24:21.239] ------

[14:24:21.479] SSH Resolver called for "ssh-remote+ssh.rc.byu.edu", attempt 2, (Reconnection)
[14:24:21.483] SSH Resolver called for host: ssh.rc.byu.edu
[14:24:21.483] Setting up SSH remote "ssh.rc.byu.edu"
[14:24:21.490] Using commit id "784b0177c56c607789f9638da7b6bf3230d47a8c" and quality "stable" for server
[14:24:21.500] Install and start server if needed
[14:24:21.508] Running script with connection command: ssh -T -D 64677 "ssh.rc.byu.edu" bash
[14:24:21.512] Terminal shell path: C:\WINDOWS\System32\cmd.exe
[14:24:21.964] > ]0;C:\WINDOWS\System32\cmd.exe
[14:24:21.964] Got some output, clearing connection timeout
[14:24:22.009] > getsockname failed: Bad file descriptor
> channel_send_open: channel 2: unexpected internal error
> The process tried to write to a nonexistent pipe.
>
[14:24:22.504] "install" terminal command done
[14:24:22.506] Install terminal quit with output:
[14:24:23.281] "install" terminal command done
[14:24:23.281] Install terminal quit with output:
[14:24:23.282] Received install output:
[14:24:23.283] Resolver error: Error:
	at g.Create (c:\Users\benji\.vscode\extensions\ms-vscode-remote.remote-ssh-0.84.0\out\extension.js:1:585222)
	at c:\Users\benji\.vscode\extensions\ms-vscode-remote.remote-ssh-0.84.0\out\extension.js:1:583101
	at t.handleInstallOutput (c:\Users\benji\.vscode\extensions\ms-vscode-remote.remote-ssh-0.84.0\out\extension.js:1:583796)
	at t.tryInstall (c:\Users\benji\.vscode\extensions\ms-vscode-remote.remote-ssh-0.84.0\out\extension.js:1:681023)
	at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
	at async c:\Users\benji\.vscode\extensions\ms-vscode-remote.remote-ssh-0.84.0\out\extension.js:1:643908
	at async t.withShowDetailsEvent (c:\Users\benji\.vscode\extensions\ms-vscode-remote.remote-ssh-0.84.0\out\extension.js:1:647224)
	at async t.resolve (c:\Users\benji\.vscode\extensions\ms-vscode-remote.remote-ssh-0.84.0\out\extension.js:1:644958)
	at async c:\Users\benji\.vscode\extensions\ms-vscode-remote.remote-ssh-0.84.0\out\extension.js:1:727082
[14:24:23.286] ------

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.71.0. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!


Upgraded styling related packages

#108  --> Upgraded styling related packages and validated the following after upgrade -

dm-sans font is loaded correctly
headless/react components used are working correctly - menu, dropdown, button
tooltip shown correctly
SVGs shown correctly both in light and dark mode
No breakage in styling of the app

@MrRobz  Fixed the merge conflict. Please review.


Add nerd-fonts symbols

This PR adds the symbols from nerd-fonts. The symbols are generated from scripts pulled from nerd-fonts repository.

sorry for the really late response.
Thanks :)


fix installer to write registry keys for add/remove software

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 99.73%. Comparing base (5ce5a52) to head (dc63f80).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #44   +/-   ##
=======================================
  Coverage   99.73%   99.73%
=======================================
  Files          25       25
  Lines        1504     1507    +3
=======================================
+ Hits         1500     1503    +3
  Misses          4        4

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


cupSODA multi-GPU and chunk support

Add multi-GPU support and chunk support to cupSODA. Chunking allows the user to specify the maximum number of simulations per GPU per run. Larger numbers of simulations are split into chunks. This is useful for overcoming GPU RAM limitations.

Coverage decreased (-1.0%) to 78.3% when pulling d9befeae2afff7a4d1d849dfbad6395ae157740e on alubbock:cupsoda_multigpu into 470945e9c9f27a5c7b8c24cc4204d7e0533f3266 on pysb:master.


[WIP] Asynchronous rbd handler

These set of changes aims to conver RBD handlers read/write/flush operation asynchronous by making use of asynchronous librbd APIs. This involves changes to generic_handle_cmd() to handle TCMU_ASYNC_HANDLED return value by store callout methods. Furthermore, compare_and_write has been added as a store callout method though keeping the implementation same (read + write as of now, but rbd would make use of cmpext OSD op when ready).

@vshankar I have a feeling this won't be thread-safe since there are no locks between the command processing thread [1] and and the librbd aio callback [2]. Also note that you really only want to invoke tcmulib_processing_complete when idle since this is what wakes up the kernel.
One possible solution to this would be to follow the fio-style approach and keep a list of in-flight librbd aio completions via the new rbd_aio_cb structure, add a way to wakeup the main thread's poll [3], and a new callout for completing commands that the main thread would invoke as part of its loop so that it can determine if tcmulib_processing_complete should be invoked.
[1] https://github.com/open-iscsi/tcmu-runner/blob/d0f347022f87936da10f9fea47c568075ef793d4/main.c#L354
[2] https://github.com/open-iscsi/tcmu-runner/pull/89/commits/f341398a8d564dca8ed90f4476c3fd4e8d7640d2#diff-612499a21226d10f78f40c2c58a896f2R272
[3] https://github.com/open-iscsi/tcmu-runner/blob/d0f347022f87936da10f9fea47c568075ef793d4/main.c#L368

@vshankar I have a feeling this won't be thread-safe since there are no locks between the command processing thread [1] and and the librbd aio callback [2].

[Ignore the close/reopen PR; some magic keybinding that closed the PR]

@vshankar I have a feeling this won't be thread-safe since there are no locks between the command processing thread [1] and and the librbd aio callback [2]. Also note that you really only want to invoke tcmulib_processing_complete when idle since this is what wakes up the kernel.

async versions of read/write/flush return TCMU_ASYNC_HANDLED with the callbacks completing the request by calling tcmulib_{command,processing}_complete(). The command processing thread does not complete/finish the request in this case.

One possible solution to this would be to follow the fio-style approach and keep a list of in-flight librbd aio completions via the new rbd_aio_cb structure, add a way to wakeup the main thread's poll [3], and a new callout for completing commands that the main thread would invoke as part of its loop so that it can determine if tcmulib_processing_complete should be invoked.

I will think more about this. Wanted to get a working version which can be used to run some tests.

@vshankar

async versions of read/write/flush return TCMU_ASYNC_HANDLED with the callbacks completing the request by calling tcmulib_{command,processing}_complete(). The command processing thread does not complete/finish the request in this case.

Correct, the event thread won't process this command -- but it might concurrently process another event that is not async and race w/ the completion (or two AIO callbacks might race each other). There is currently no thread protection within tcmulib_command_complete so you will most likely corrupt the contents of the ring buffer.

Correct, the event thread won't process this command -- but it might concurrently process another event that is not async and race w/ the completion (or two AIO callbacks might race each other). There is currently no thread protection within tcmulib_command_complete so you will most likely corrupt the contents of the ring buffer.

Ah! didn't realize that command completion is not thread-safe, will fix that too. Thanks!

There is no need to touch compare_and_write if ceph is not ready.  As per #78 ,  it's better for us to provide a passthrough mechanism instead because not all backends are SCSI aware. I don't think it is good idea to make TCMU too much ceph centric. And compare_and_write should be another pr, in this pr, you'd better concentrate on the AIO support.
As for AIO support, I don't think it is good idea to combine async and sync semantics in a single function. I guess it would be better to add aio_{read, write, flush} instead and allow upper layer (generic_cmd_handling) to be not confused with what mode(async or sync) {read, write, flush} is.

BTW, could you please give a performance number about async and sync ceph path?

There is no need to touch compare_and_write if ceph is not ready. As per #78 , it's better for us to provide a passthrough mechanism instead because not all backends are SCSI aware. I don't think it is good idea to make TCMU too much ceph centric. And compare_and_write should be another pr, in this pr, you'd better concentrate on the AIO support.

I'll remove comapre_and_write from this PR. Also, to not make tcmu ceph centric, generic_handle_cmd can invoke handler specific methods for registered commands (such as compare_and_write) if available or emulate it as it does now. Is this what you mean by having plugin based command set (mentioned in PR #78)?

As for AIO support, I don't think it is good idea to combine async and sync semantics in a single function. I guess it would be better to add aio_{read, write, flush} instead and allow upper layer (generic_cmd_handling) to be not confused with what mode(async or sync) {read, write, flush} is.

That's was one of the options when starting this out, but the changes to have a single function support sync/async semantics looked pretty neat to me especially when the command processing thread1 does care (via return value) if the command is handled  [a]synchronously.

I'll remove comapre_and_write from this PR. Also, to not make tcmu ceph centric, generic_handle_cmd can invoke handler specific methods for registered commands (such as compare_and_write) if available or emulate it as it does now. Is this what you mean by having plugin based command set (mentioned in PR #78)?

I'm going to make a pr about 'command passthru' and let code explain :)

That's was one of the options when starting this out, but the changes to have a single function support sync/async semantics looked pretty neat to me especially when the command processing thread1 does care (via return value) if the command is handled [a]synchronously.

Yes, there are many options and very hard to decide which one is the best until we have a full picture. That is the very reason I didn't include async APIs in #78 . The problem is that, some commands like compare_and_write might need sync read & write. There might be more of this kind command in the future. So not so ture of that you mentioned.
Building sync APIs on top of async ones is a common practice. So the store engine might only provide async ones and sync APIs can emulated in the upper generic layer if needed.

@vshankar I've make a pr #91 With passthru support, we can handle any portion of the command set without adding more and more non-storage handlers in the structure.

Updating the PR with some enhancements -- probably not ready for full review as comments by @liuy needs to be addressed.

Yes, there are many options and very hard to decide which one is the best until we have a full picture. That is the very reason I didn't include async APIs in #78 . The problem is that, some commands like compare_and_write might need sync read & write. There might be more of this kind command in the future. So not so ture of that you mentioned.
Building sync APIs on top of async ones is a common practice. So the store engine might only provide async ones and sync APIs can emulated in the upper generic layer if needed.

This seems to be a nice way forward. What do others have to think about it? @agrover @mikechristie @dillaman

I prefer the async based approach.
We have 3 handler types right now:

tcmulib_handler - This type does whatever it wants because it handles all processing. We do not worry about this type.

tcmur_handler - handle_cmd based.

tcmur_handler - callout per operation (read/write/flush) type based.

We are saying #2 and #3 should be async now right? We can then remove some if/elses and worry about only one code path type. If the handler does not have a native async API, tcmu-runner should provide the threading helpers so we stop duplicating that type of code in the handlers.
Do we need sync based APIs? For compare and write and write verify, it seems like it would be simple to kick off the second part of the command from the completion handler of the first.

We are saying #2 and #3 should be async now right? We can then remove some if/elses and worry about only one code path type. If the handler does not have a native async API, tcmu-runner should provide the threading helpers so we stop duplicating that type of code in the handlers.

Yeh -- store handlers could hint if its capable of performing asynchronous IO. Sync handlers can be kicked off via worker threads (> 1)?

Do we need sync based APIs? For compare and write and write verify, it seems like it would be simple to kick off the second part of the command from the completion handler of the first.

sync at the tcmulib level -- seems not. We can emulate async behavior even even if the handlers are synchronous.

Would depend on #98

This is not rebased with #98 yet as it might be helpful for some performance runs.

For function naming prefixes let's do the following:

If a function is exported to a handler, add at least a "tcmu_" prefix. For example, errno_to_sam_status should be tcmu_errno_to_sam_status. I think probably you meant to name tcmu_command_passthrough something like call_store_passthrough.
If a function is used by handler that does its own event loop then the function gets the tcmulib_ prefix. tcmulib_track_aio_request_start would just be track_aio_request_start. None of the code you are modifying/adding in these patches is this type of handler.

@mikechristie addressed comments in PR #98 and this pr is rebased over that.

Thanks Venky.


Better help

Use a tool like shepherd or tourist for an interactive tour of the app.

This is done. However, I still want some more. I'm thinking:
Problem that still exists
When a user presses ?, the information with which they are presented is very dense. Not friendly.
I tried to solve this initially with the tour. The tour isn't actually that helpful, it just states the obvious, for the most part. Everything it says can be inferred from a quick glance at the UI.
Alternative
I think it'd work well to have a window that displayed helpful animations. I could put together a series of GIFs that demonstrated how to interact with the network. The whole thing could be displayed in a sort of carousel / slider, which lives in a popover. I envision this as being dark gray with a transparent background. It would take up the full viewport on mobile, but would float in the middle on desktop.

Google Hangouts has a nice example of what I'm thinking of.

I'd probably have animations on the slides.

Current (slightly revised) plan: Imitiate the Hangouts tour above closely. Then:

The "take a tour" button will launch the sliding tour, like the above picture.

The tour should be swipeable, etc. A slider library might be appropriate if it comes with dots, sliding, touch support, and buttons, and can be non-infinite. slick looks good, but it might need jQuery.

The Shepherd tour should be kept, but only two steps for #22.

Currently planning to use Flickity. It's a Vanilla JS library with everything I need.

The Shepherd tour has been updated to be much clearer, and now has a GIF animation as well. In addition, the “help” button now reopens the tour even if the user has already gotten started. Everything is pretty clear now.


Docker Scripts to startup HDFS, Yarn, Hive services locally

The scripts are taken from : https://github.com/big-data-europe
Use the following commands:
cd $HUDI_WS
mvn clean install -DskipTests
cd packaging/hoodie-workspace-bundle
Below command tars compiled code of hoodie and installs in docker/hoodie/hadoop/base/ws directory
mvn assembly:assembly
cd ../docker/hoodie/hadoop/
Build Docker Images locally
pushd base && docker build . -t hoodie-hadoop-base_2.8.4 && popd
pushd namenode && docker build . -t hoodie-hadoop-namenode_2.8.4 && popd
pushd secondary_namenode && docker build . -t hoodie-hadoop-secondarynamenode_2.8.4 && popd
pushd data_node && docker build . -t hoodie-hadoop-datanode_2.8.4 && popd
pushd history_server && docker build . -t hoodie-hadoop-history_2.8.4 && popd
pushd resource_manager && docker build . -t hoodie-hadoop-resourcemanager_2.8.4 && popd
pushd node_manager && docker build . -t hoodie-hadoop-nodemanager_2.8.4 && popd
pushd hive_base && docker build . -t hoodie-hadoop-hive_2.8.4_2.3.2 && popd
Run Compose script to start the services
cd ../
docker-compose up
Status:
Currently there are some connectivity issues causing errors in nodemanagers and others.

Closing this in favor of https://github.com/vinothchandar/hoodie/pull/4


Add "index" file first explorer sorting option

This PR addresses one of the issues from https://github.com/microsoft/vscode/issues/27286 and fixes https://github.com/microsoft/vscode/issues/128834
This PR adds an explorer.sortOrder option indexFirst (default file sorting, but sorts files matching **/index.* first.)

Duplicate of https://github.com/microsoft/vscode/pull/73930.

Thanks for this PR. However it is usually great to first start a discussion before imlpementing the whole PR.
We will not accept this since this is very javascript specific and not a lot of users requested for this.


feat(UI): add FormLabel component

Notes for Reviewers
This PR adds missing FormLabel component
Signed commits

[x] Yes, I signed my commits.

Did you export FormLabel in the main index.tsx?
https://github.com/SAHU-01/sistent/blob/FormLabel/src/base/index.tsx

No I haven't I'll do it right way, thanks.

Great feedback!


Upstreaming Windows patches

Currently we are carrying a few patches that are needed for Windows builds. Curious whether these can be upstreamed
https://github.com/conda-forge/graphviz-feedstock/blob/ef22cacde0dfd559ed0d64aed89fc56d50b60c92/recipe/meta.yaml#L10-L13

The third patch is on my TODO list, unless someone beats me to it 😉
I need to revisit the other two patches, sometime in the near future.

Any update on this? It seems that the patches are causing build failures on other platforms also, cf.:

https://github.com/conda-forge/graphviz-feedstock/pull/135


Formatting all the code

Looks like we'll need to do at least a few changes in that repo, so let's reformat it all, to make our life easier.
Git history be lost...

Any chance that there will be upstream changes we'll want to incorporate? If so it's probably a simpler move to just adjust your IDE to support a code style specific to this project.

LGTM

@swankjesse that ship has sailed. The first fork of MAT was done in 2010, and I couldn't find which commit it had derived from. If we want to rebase on upstream, we need to throw all this and rebuild a clean headless version of MAT. That's an effort I'm not willing to do any time soon.

Which is also why I'm going crazy on format here: so that subsequent changes are clear.

 The less I do here, the better I feel.


[X] WSL 2
[ ] WSL 1

Kernel Version
No response
Distro Version
Ubuntu 22.04
Other Software
No response
Repro Steps
Trying to update wsl to version 2.2.4:

C:\Windows\System32>wsl --update
Downloading: Windows Subsystem for Linux 2.2.4
Installing: Windows Subsystem for Linux 2.2.4
Catastrophic failure

Expected Behavior
It should update WSL2 to version 2.2.4
Actual Behavior
Catastrophic failure
Diagnostic Logs
WslLogs-2024-07-31_14-18-54.zip

I Fixed the issue by removing the WSL package in Power Shell and installed it with msixbundle.

Remove-AppxPackage MicrosoftCorporationII.WindowsSubsystemForLinux_<IP_ADDRESS>_x64__8wekyb3d8bbwe
Download msixbundle from here and install it

closed


Where can I get firmware 1.6.104075014 bin file

Where can I get firmware 1.6.104075014 bin file？There is no such file in the result of source code compilation.

Hi,
you can find the fimware file in this Nuget package. Version 1.4.0-alpha.0.
Just extract it, and you can find the neded file in the firmware folder.


How to get the Third party dependencies of newest version in gradle

Now my project apply the third dependency implementation "org.greenrobot:eventbus:3.1.1"，and my project hava a lot of third party dependenies like eventbus(the newest vesion is 3.2.0)，I know the IDE(Android Studio) can prompt us have the newest version，but it's just a prompt，so I can't get the real newest version(I want to print it)。and I can't do like this implementation "org.greenrobot:eventbus:3.+"，because there may be some bug in third dependenies if we always denpend on the newest。I just want to print the newest version,  how should I do that I can get the newest version of third party denpendcies through gradle or gradle plugin and print it (need print the version)?@blindpirate

There is currently no core support for this in core Gradle.
There are however community plugins that provide a similar functionality. Have a look at the versions plugin for example.

Note that you could also leverage dynamic versions (3.+) and dependency locking where the update locks feature can be used to attempt version upgrades.

@ljacomet，thank you very much! great!

Closing as there are no plans to offer this in Gradle core for now.


Rename of checkbox and radio button classes caused focus to fail

Renaming clasees checkbox-sm to checkbox amd radio-sm to radio cause javascript focus to fail.

Fixed.


Define Culture start locations

Define Culture start locations
Its a non-xml thing
SandboxCharacterCreationContent

@AJannik was sent how to automate the culture locations by gnivler

Resolved


Cannot install any ember-bootstrap 1.x version

ember-cli: 2.14.2
node: 8.4.0
os: win32 x64
When I install ember-bootstrap, it always hangs when it gets to fsevents or fs-extra. From what I've gathered, they're not meant to be installed on a windows machine.
I tried installing with --no-optional, but to no avail:
C:\Users\rrush\Documents\GitHub\TuinenDeMeulenaere>npm install --no-optional
[            ......] / extract:fs-extra: sill extract<EMAIL_ADDRESS>When I install any 0.x version, these files are skipped properly and the installation succeeds.
Any suggestions would be appreciated ! :)

1.0.0-rc.1 works for me, but 1.0.0-rc.2 hangs.  When I use npm with verbose to get more info:
npm install<EMAIL_ADDRESS>--verbose --no-optional

it stops here:
npm verb gentlyRm don't care about contents; nuking C:\dev\ember\ssaa-example\node_modules\.staging\fs-extra-5844dc74\node_modules

ember-cli: 2.14.2
node: 6.11.0
npm: 3.10.10
os: win32 x64
Any help will be appreciated.

Another one with the same issue over at SO. I posted this question over there, someone tested it but had the same issue as me (and sfbwalder).
https://stackoverflow.com/questions/45904802/install-of-ember-bootstrap-1-x-hangs

Coming from that thread. I am having either a very similar or the same issue.

Simon is on holiday, and I don't have easy access to a Windows box, so it may take a little to follow up on this.

Same for me? 1.0.0-rc.1 is fine, but 1.0.0-rc.2 hangs

@noahgelman @keanedawg Also Windows?

Yes

Same for me!
It hangs for me with 1.0.0-rc.2 in windows, in mac works.
I have to install 1.0.0-rc.1

I was able to reproduce this on Windows 10 (in a VirtualBox). I don't think the root issue is within ember-bootstrap, rather probably npm itself (some dead locking issue or so), as I was able to "fix" this by downgrading findup-sync (more a workaround, but worked for me). Here is a PR: #435. Took me quite some time...
Could someone who ran into this try to confirm that installing ember-bootstrap using the following command fixes the issue?
npm i --save-dev kaliber5/ember-bootstrap#downgrade-findup

I agree its an npm issue with some dependent package.  The install you asked to be tried worked.  I then uninstalled ember-bootstrap and tried installing 1.0.0-rc.2 direct from github and that worked also.
  "ember-bootstrap": "github:kaliber5/ember-bootstrap#1.0.0-rc.2",

I uninstalled again and tried npm i<EMAIL_ADDRESS>to pull it from npm and it failed.  npm must be doing something different when pulling from github vs. npmjs.com.

npm i --save-dev kaliber5/ember-bootstrap#downgrade-findup
work for me!

Same here. Works like a charm.

@simonihmig : If you'd like, you can add the answer to the SO topic, if you want some rep. If not, is it ok that I copy and link your reply solution/workaround ?

If not, is it ok that I copy and link your reply solution/workaround

@langereissilvio sure


CallbackQueryOriginHandler for different user groups

Hi!
How i can separate CallbackQueryOriginHandler for different ids like per_chat_id_in and per_chat_id_except?
for example:
bot = telepot.aio.DelegatorBot(TOKEN, [
    pave_event_space()(
        per_chat_id_in(s = IdsController.masters), create_open, MasterHandler, timeout=config.sessionTimeout),
    pave_event_space()(
        per_chat_id_except(s = IdsController.mastersAndCandidates), create_open, ChatStarter, timeout=10),
])

I found only per_callback_query_origin and per_callback_query_chat_id

Telepot does not have such a function, but you can always make your own. Let me walk you through my thinking process.
Normally, you would do it like this:
bot = Delegator.Bot(TOKEN, [
    pave_event_space()(
        per_callback_query_origin(), create_open, SubclassOfCallbackQueryOriginHandler, timeout=10),
])

per_callback_query_origin() ensures only one object of SubclassOfCallbackQueryOriginHandler is spawned for each callback query origin, which is the message that gives rise to such callback query. The origin can be an inline message or a regular chat message. Since you are asking to differentiate between chat id, I assume your callback query are originated from regular chat messages.
per_callback_query_origin() fails to satisfy you because it does not differentiate between chat id. To do that, you can add some logic surrounding per_callback_query_origin(), in effect inventing your own seeder function:
from telepot.delegate import per_callback_query_origin, _wrap_none

def per_callback_query_origin_for_chat_id_in(s):
    origin_extractor = per_callback_query_origin()

    def f(msg):
        if msg['message']['chat']['id'] in s:
            # act like per_callback_query_origin() only if chat id satisfy your requirement
            return origin_extractor(msg)
        else:
            return None

    # Not every message has the field ['message']['chat']['id'].
    # Use _wrap_none() to catch KeyError and return None instead.
    return _wrap_none(f)

Then, use it like this:
some_chat_ids = set()

bot = Delegator.Bot(TOKEN, [
    pave_event_space()(
        per_callback_query_origin_for_chat_id_in(some_chat_ids), create_open, SubclassOfCallbackQueryOriginHandler, timeout=10),
])

per_callback_query_origin_for_chat_id_except(set) can be implemented likewise.
I have not tested the above code, but that's how I think about it. Hopefully it's not far off from what you want. Good luck.


(archivers) Export /data folder

Per discussion with Steve and KT, this is being placed on hold pending further discussion about the OODS.


no output after bad command when command-not-found plugin is enabled

Hello !
When the command-not-found plugin is enabled, there is no output after a bad command when no suggestion is available from the plugin.
The screenshot below shows this incorrect behavior: on the left the plugin is disabled and the output is correct, on the right the plugin is enabled and there is no output to inform the user that the command is not found.

Thanks for your feedback!

If you're using Ubuntu, there's an issue with the command-not-found package which makes this fail on newer versions of zsh. See https://github.com/robbyrussell/oh-my-zsh/issues/7130 and https://bugs.launchpad.net/ubuntu/+source/command-not-found/+bug/1766068.

Thanks for your help! I found a temporary fix at #7130.


New version: Maxima v0.1.2

Registering package: Maxima
Repository: https://github.com/nsmith5/Maxima.jl
Created by: @nsmith5
Version: v0.1.2
Commit: 4ea216682db3660b10a22d23efdfdaa1ee0c9122
Reviewed by: @nsmith5
Reference: https://github.com/nsmith5/Maxima.jl/issues/48#issuecomment-554358644

Unfortunately, Maxima.jl depends on an external executable maxima and hasn't set landed support for shipping that binary with the package using BinaryProvider etc. This is why package import fails. Sorry for the need for human review!


Warning: Accessing PropTypes via the main React package is deprecated. Use the prop-types package from npm instead.

I've been getting that warning in my app since I updated react. Tracked it down to this plugin.

+1

This has now been fixed using @cjpete PR.  Version 2.1.4 has been published to NPM.


merge the master into the gh-pages

as the gh-pages will be live once it is checked in, so we will merge personal modification in the master branch and push to gh-pages in batch. this merge is the preparation for new portal to be pushed.

CLA is valid!

this cannot be automatically merged after having the other two PRs merged.
how about having gh-pages being started as a clean branch, and hosts only the html files?

let do a clean up on gh-pages branch. it is just for pushing the pages only


Edition Node Gulp 1.3.3

Addresses #85
Summary of changes:

Added a helper to all globs to resolve any supplied path and then switch the slashes to forward across all platforms per https://github.com/gulpjs/gulp/issues/1842

@eliland I have attempted to patch this proper with https://github.com/pattern-lab/edition-node-gulp/releases/tag/v1.3.4 release

@bmuenzenmeyer Yep, that seems to have solved it. Thanks!


[fix][ml] Fix wrong configuration passed to managed ledger when deleting

Motivation
#21093 Delete the topic policy before the managed ledger configuration building. It will pass the wrong managed ledger configuration to the backend and affect offloading etc.
Modifications

Get managed ledger configuration before deleting topic policies.

Verifying this change

[x] Make sure that the change passes the CI checks.

Documentation

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

I am unsure at first glance. I think the test is challenging to add. I am considering whether it is worth to spend that time. :/
@codelipenghui, do you think this test is necessary? I mean the problem looks pretty straightforward.

I will add the test to avoid regression. :)

topicPoliciesFuture throw exception because race condition occurs in getManagedLedgerConfig.
Need to handle exception for topicPoliciesFuture


Cocoapods update error

Hello,
When running pod install with Cocoapods' new version (1.0.0), GoogleMediaFrameworkDemo build won't work. It seems to complain about wrong -lPods compiler flag.
Best regards,
Leandro

Are you seeing this after adding a target to the Podfile? I'm getting an error about that because we don't currently specify a target, but once I update that everything is running fine.

Exactly. I added target "GoogleMediaFrameworkDemo" do ... just to run the sample app.

I had the same problem. Fixed by removing libPods.a from project folders

Sounds like potentially an XCode caching issue - @lzanol did this resolve the issue for you?

@shawnbuso Actually I gave up going this way, I've created a project from scratch and embedded GMF source together with my code into it.

Ah ok sorry to hear that it didn't work out - if you need anything else from us let us know.

@shawnbuso Ok, thank you so much for the support. Regards.


Update README.md

note about IP allow list
.env option for secrets

@josh-chamberlain Should be good to remove the secret key now


Thickness: add all the results to the same row

Also update tests to reflect single row of results
Fixes #132

Cheers!


fixed core.login trigger

In reference to issue #371

It's good practice to include the detail from your issue in the commit message. Could you do that?

Please rebase this against the dev branch. That is where effort is currently going.


[Feature] BD System Badges

Is your feature request related to a problem? Please describe.
No its not related to problem.
Describe the feature you'd like
Feature would be like DB custom badges, like in settings you would have option to enable/disable feature called "Show BetterDiscord Badges" that will turn on/off badge display, badges would be following: Plugin/Theme Creator, Contributor, Support... ect.. Look images bellow.
Additional context
Preview:
User: Click Here
Settings: Click Here
Images:
Staff/Support: Click Here
Verified User: Click Here
Donator: Click Here
Contributor: Click Here
Theme/Plugin Dev: Click Here

Maybe theme/plugins devs can have their own badges. Plugin devs can have a puzzle piece and theme devs can have a paintbrush/paint pallet. Also maybe even Patrons can have their own custom badges. Helpful, Moderators, etc should be split from the staff badge as people would think they are BD developers (which we’re not lol, maybe the current plugin/theme dev badge can use this?)
Other then that this isn’t a bad idea!

Also gotta add, what would be the point of the verified badge?

If i had more assets like these 5 i would split theme and plugin dev, patrons are donators basically.. not the staff badge, "support" badge so all in one, there is no need to point out the individual. BD developers would have "contributor badge" which i mentioned. And verified badge would be some famous people or maybe someone who did something for BD, its on Zerebos.

I really like this idea!


Only break when unhandled?

The Exception settings window has checkboxes for breaking when an exception is thrown. But how do I configure VS to only break if the exception is unhandled?

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

ID: d45057ee-e31b-321c-93e6-3e4516cee1d3
Version Independent ID: 7938c681-a902-c970-5b2b-924ca70d0ed1
Content: Manage exceptions with the debugger - Visual Studio
Content Source: docs/debugger/managing-exceptions-with-the-debugger.md
Product: visual-studio-windows
Technology: vs-ide-debug
GitHub Login: @Mikejo5000
Microsoft Alias: mikejo

@Bartolomeus-649 You are describing the default behavior for all exceptions, to break when unhandled, which opens the Exception Helper. The Exception Settings allows you to break when thrown instead, which also captures handled exceptions.

So how do I configure VS to not break at all?

Well, if there are particular exceptions you are concerned about, use Exception Settings, right-click exceptions you are interested in, and choose "Continue when Unhandled in User Code". You might need to set those individually.

I should probably add that you should be able to override the default behavior with the Exception Settings, but normally users running your app will hit an unhandled exception in user code, so you need to avoid them / get them handled, usually via try/catch. I expect that you already know that.

Just checked the doc. You can configure that for a whole category at a time.

I don't think there's a doc issue here, so closing this.


Sign plain message

Add support for signing a message without the coin header
XSN allows coin staking by creating a TPoS contract. This contract is included into a transaction as an extra OP_RETURN output, it requires a signature from a collateral UTXO (or OutPoint), this signature requires that the header is not present (like Bitcoin Signed Message).

@btchip : could you please take a look at this PR to allow staking on Stakenet from the device ?

We won't be merging this change.

@FabriceDautriat any reason about that? What could we do to get this integrated?

The portion of btchip_apdu_sign_message_internal which was removed in btchip_apdu_sign_plain_message_internal adding the prefix "COINID Signed Message:\n" is there on purpose to prevent arbitrary tx from being signed without proper user approval.

We are aware of that, unfortunately, that's the way TPoS got implemented, if I remember correctly, the appraoch was to display the UTXO that was being signed, then ledger itself signed the hash, preventing to get arbitrary transactions signed.


Provide succinct way to get time object in the observer's time zone

Currently, if I want to get a local time for working with astroplan, I have to write a somewhat verbose bit of code:
# Get times for 00:30 and 02:35 in my timezone on July 28, 2015 that I can use with astroplan
t_start = observer.datetime_to_astropy_time(datetime.datetime(2015, 07, 28, 0, 30, 0))
t_stop = observer.datetime_to_astropy_time(datetime.datetime(2015, 07, 28, 2, 35, 0))

(this works because the naive datetime is localized with the observer's timezone in datetime_to_astropy_time).
However, it would be extremely convenient to be able to write something like:
t_start = observer.get_local_time(2015, 07, 28, 0, 30, 0)

or even with strings:
observer.get_local_time("2015-07-28 00:30")
observer.get_local_time("07-28 00:30")        # assume current year
observer.get_local_time("19:20")                  # assume current day

I think if astroplan does not provide such a simple function, many users will be forced to write it over and over again.  Basically this applies to anyone who is planning in the timezone of the telescope and not UTC.

@ejeschke you propose porting the time parsing machinery that you used in obsplan i.e. get_date for this task?

Or at least using the idea.  i.e. use datetime.strptime or similar functionality that already knows how to parse date strings.

@eteq @adrn How do astropy folks feel about that? I could see concern that there could be confusion if the astropy.time.Time constructor and the dates that we use parsed different inputs.

I agree with @ejeschke that allowing an easier string  input would be good for local times.  But I do have the exact concern @bmorris3 noted about mixing various forms of constructors.
So here's something that might satisfy both.  Do something like this:
if inputtime.__class__ is not datetime.datetime:
    apytime = astropy.time.Time(inputtime)
    inputtime = apytime.datetime

it's a bit counterintuitive, but that will mean that any sort of string that the Time constructor knows how to interpret will be converted to a UTC Time object, and then into a naive datetime, which you can then pass into the rest of the conversion logic.
So that allows the use of astropy's string-parsing machinery but still treating it as a datetime.  It also makes it easier to allow users to provide lists of strings - the same code above will then yield inputtime as an array of datetime objects, which you can just iterate over.

@astroplanners/astroplanners-contributors Last night, I was remote observing at APO from Seattle, and I used astroplan (!!!) which led me to some ideas about time zones.
For example, I began observing just after sunset, and after my undergrad asked when the sky would be fully dark, I went to use our convenience method:
from astroplan import Observer
from astropy.time import Time
apo = Observer.at_site("APO", timezone="US/Mountain")
twilight = apo.evening_astronomical(Time.now(), which='next')
print(twilight.iso)
# 2015-08-08 03:28:39.205

This is great, but what time is that in my local timezone? Well, I went to use the new methods that I wrote in #52, but I wrote those as converters for strings, so I had to do
twilight_local_dt = apo.iso_utc_to_local_datetime(twilight.iso)
twilight_seattle_dt = twilight_local_dt.astimezone(pytz.timezone('US/Pacific'))
print(twilight_seattle_dt)
# 2015-08-07 20:28:38.725000-07:00

to get the Pacific equivalent of this time. I think this is a little cumbersome and messy.
One thing I'd prefer to write, which breaks some conventions about how we've written Observer so far but I think it makes sense here (think "...practicality beats purity..."). How about a keyword argument for all methods that return times called return_localized_datetime which returns localized date times rather than astropy times? Then all of the above code could be reduced to:
from astroplan import Observer
from astropy.time import Time
apo = Observer.at_site("APO", timezone="US/Mountain")
twilight = apo.evening_astronomical(Time.now(), which='next', return_localized_datetime=True)
print(twilight.astimezone(pytz.timezone('US/Pacific')))
# 2015-08-07 20:28:38.725000-07:00

I don't think it's any less clear what's happening, and it allows us to continue to punt timezone handling to pytz in a transparent way.

I agree that returning time objects that are in astropy time format will be cumbersome for local timezone planning, since you are back to UTC and lost your timezone information.  I think this is why in obsplan everything generally returned datetime objects.
Hmm.  How about a setting in the observer object that would cause times to be returned as datetime timezone aware objects?  Would this complicate the code too much?  Since we are accepting datetime objects everywhere as input, it kind of makes sense that you could get that as output as well.
Wondering how this would affect array processing...is it efficient to convert an array of astropy Time objects to datetime objects?

@bmorris3: If you go with the keyword-in-all-methods approach, could you use a shorter keyword?  Maybe something like local_datetime_out or local_time_out or return_local_time?

@ejeschke I'd be OK with making an Observer.__init__ kwarg like return_local_datetime that toggles the default behavior for all time-returning methods, and also making individual return_local_datetime methods for each time-returning method.
Is this too complicated? I think for the users who care about timezones, this will make their code the cleanest.

@eteq @adrn I'm pinging you here for the text discussion we promised we'd have about the above comment on toggling datetime outputs from our time-computing methods.

Status? Move to 0.2?

@cdeil :+1: for move to 0.2. A discussion still needs to be had about this.

I'm working on an astropy-based solution to this in astropy/astropy#4124.

@ejeschke – a solution to this was merged into astropy via astropy/astropy#4124 which will be released in astropy v1.1. Now you can convert astropy.time.Time objects output by astropy and convert them to localized datetimes like so:
>>> from astropy.time import Time
>>> from astroplan import Observer, FixedTarget
>>> import pytz

>>> vega = FixedTarget.from_name('Vega')
>>> obs = Observer.at_site("APO")
>>> tz = pytz.timezone('US/Mountain')
>>> obs.target_set_time(Time.now(), vega).to_datetime(tz)
datetime.datetime(2015, 10, 9, 2, 34, 55, 811498, tzinfo=<DstTzInfo 'US/Mountain' MDT-1 day, 18:00:00 DST>)

Thanks @bmorris3, it's certainly more succinct than before.   I still like the ideas discussed above (e.g. adding a kwarg preference or (better) adding a flag in the observer to return timezone aware times (ref. your seattle observing experience recounted above and follow on comments).
But maybe this can make it into a future release based on user feedback.

@ejeschke I've been using astroplan for 10 months since the last comment and think the current API is probably as intuitive as it's going to get when it comes to timezones. They're just so tricky. Do you still want to pursue an alternative API trick to manage timezones, or do you think we can close this issue now?

They are tricky.  I think you have to support it everywhere in the input and output API or you don't support it at all and make the user responsible.  That is what pyephem does (everything is assumed UT).  I assume from your comment above that is also the preferred approach for astroplan.
Given that astroplan is just riding on astropy Time objects, this probably makes sense. But it just means that the onus is on the user to manage timezones properly.  This just means that every observer using the package has to reinvent that wheel, with all the attendant complexity.

I agree that it is really annoying for the observer to deal with the time zone complexity. I agree because I am often that observer who is planning transit times using Julian dates, who then needs to propose for observing time in local time. I live in constant fear that I'm going to get it wrong. But every time I've tried writing a "smart" function that should know how to do those conversions, I wind up finding subtleties that lead to bugs bugs in it. Usually they're related to daylight savings time, which makes the problem 2^100 times harder. So I'm inclined to make users deal with that complexity complexly, because that's the only way to be sure that they'll see (and hopefully understand) how the sausage gets made.
Given all of that, I'm closing this issue. But if you can think of a way to make timezones easy @ejeschke, please tell me and you'll be my hero!

@bmorris3 , I noticed in the thread on astropy-dev regarding the "astroobs" package that he claims it properly supports local times and time zones:

Hi Python-Astronomers,
I've been developing Astroobs (https://pypi.python.org/pypi/astroobs/) for my personal needs, and finally put it on "pip".
...
In short, here are some cool features:
...

Proper handling of local times and time-zones, and of observatories at higher latitude than the arctic circles,

Just FYI; I think this will end up being a frequently requested enhancement for astroplan.


Unable to install on mac M1

When I run sudo npm install -g cordova-res --unsafe-perm I get the following error.
npm ERR! code 1
npm ERR! path /usr/local/lib/node_modules/cordova-res/node_modules/sharp
npm ERR! command failed
npm ERR! command sh -c (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
npm ERR! CC(target) Release/obj.target/nothing/../node-addon-api/nothing.o
npm ERR!   LIBTOOL-STATIC Release/nothing.a
npm ERR!   TOUCH Release/obj.target/libvips-cpp.stamp
npm ERR!   CXX(target) Release/obj.target/sharp/src/common.o
npm ERR! info sharp Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.10.5/libvips-8.10.5-darwin-x64.tar.br
npm ERR! internal/fs/utils.js:307
npm ERR!     throw err;
npm ERR!     ^
npm ERR!
npm ERR! Error: EACCES: permission denied, copyfile '/tmp/53567-libvips-8.10.5-darwin-x64.tar.br' -> '/Users/USERNAME/.npm/_libvips/libvips-8.10.5-darwin-x64.tar.br'
npm ERR!     at Object.copyFileSync (fs.js:1991:3)
npm ERR!     at WriteStream. (/usr/local/lib/node_modules/cordova-res/node_modules/sharp/install/libvips.js:133:16)
npm ERR!     at WriteStream.emit (events.js:315:20)
npm ERR!     at emitCloseNT (internal/streams/destroy.js:87:10)
npm ERR!     at processTicksAndRejections (internal/process/task_queues.js:79:21) {
npm ERR!   errno: -13,
npm ERR!   syscall: 'copyfile',
npm ERR!   code: 'EACCES',
npm ERR!   path: '/tmp/53567-libvips-8.10.5-darwin-x64.tar.br',
npm ERR!   dest: '/Users/USERNAME/.npm/_libvips/libvips-8.10.5-darwin-x64.tar.br'
npm ERR! }
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using<EMAIL_ADDRESS>npm ERR! gyp info using<EMAIL_ADDRESS>| darwin | x64
npm ERR! gyp info find Python using Python version 3.9.2 found at<EMAIL_ADDRESS>npm ERR! gyp info spawn<EMAIL_ADDRESS>npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args   '/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
npm ERR! gyp info spawn args   'binding.gyp',
npm ERR! gyp info spawn args   '-f',
npm ERR! gyp info spawn args   'make',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/usr/local/lib/node_modules/cordova-res/node_modules/sharp/build/config.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/Users/USERNAME/Library/Caches/node-gyp/14.16.0/include/node/common.gypi',
npm ERR! gyp info spawn args   '-Dlibrary=shared_library',
npm ERR! gyp info spawn args   '-Dvisibility=default',
npm ERR! gyp info spawn args   '-Dnode_root_dir=/Users/USERNAME/Library/Caches/node-gyp/14.16.0',
npm ERR! gyp info spawn args   '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp',
npm ERR! gyp info spawn args   '-Dnode_lib_file=/Users/USERNAME/Library/Caches/node-gyp/14.16.0/<(target_arch)/node.lib',
npm ERR! gyp info spawn args   '-Dmodule_root_dir=/usr/local/lib/node_modules/cordova-res/node_modules/sharp',
npm ERR! gyp info spawn args   '-Dnode_engine=v8',
npm ERR! gyp info spawn args   '--depth=.',
npm ERR! gyp info spawn args   '--no-parallel',
npm ERR! gyp info spawn args   '--generator-output',
npm ERR! gyp info spawn args   'build',
npm ERR! gyp info spawn args   '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! gyp info spawn make
npm ERR! gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
npm ERR! warning: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: archive library: Release/nothing.a the table of contents is empty (no object file members in the library define global symbols)
npm ERR! In file included from ../src/common.cc:24:
npm ERR! /usr/local/include/vips/vips8:35:10: fatal error: 'glib-object.h' file not found
npm ERR! #include <glib-object.h>
npm ERR!          ^~~~~~~~~~~~~~~
npm ERR! 1 error generated.
npm ERR! make: *** [Release/obj.target/sharp/src/common.o] Error 1
npm ERR! gyp ERR! build error
npm ERR! gyp ERR! stack Error: make failed with exit code: 2
npm ERR! gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
npm ERR! gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)
npm ERR! gyp ERR! System Darwin 20.3.0
npm ERR! gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd /usr/local/lib/node_modules/cordova-res/node_modules/sharp
npm ERR! gyp ERR! node -v v14.16.0
npm ERR! gyp ERR! node-gyp -v v7.1.2
npm ERR! gyp ERR! not ok
Here is my environment info:
Ionic:
Ionic CLI : 6.13.1
Utility:
cordova-res : not installed
native-run  : not installed
System:
NodeJS : v14.16.0
npm    : 7.6.3
OS     : macOS Big Sur

same error.
--
node: 15.11.0
npm: 7.6.0
OS: macOS Bis Sur 11.2.3 (20D91)

I had the same problem. I followed the link @julienmiclo posted and everything worked after i installed the sharp graphics library.
node v15.12.0
npm v7.6.3
darwin v11.2.3

I'm still having issues even after installing Sharp with the --build-from-source flag

@jmkni do you have more info? Node version, etc.

@donhmorris Sure
Node version - v15.12.0
Npm version - v7.6.3
Error:
npm ERR! code 1
npm ERR! path /opt/homebrew/lib/node_modules/cordova-res/node_modules/sharp
npm ERR! command failed
npm ERR! command sh -c (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
npm ERR! CC(target) Release/obj.target/nothing/../node-addon-api/nothing.o
npm ERR!   LIBTOOL-STATIC Release/nothing.a
npm ERR!   TOUCH Release/obj.target/libvips-cpp.stamp
npm ERR!   CXX(target) Release/obj.target/sharp/src/common.o
npm ERR! info sharp Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.10.5/libvips-8.10.5-darwin-arm64v8.tar.br
npm ERR! ERR! sharp Prebuilt libvips 8.10.5 binaries are not yet available for darwin-arm64v8
npm ERR! info sharp Attempting to build from source via node-gyp but this may fail due to the above error
npm ERR! info sharp Please see https://sharp.pixelplumbing.com/install for required dependencies
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using<EMAIL_ADDRESS>npm ERR! gyp info using<EMAIL_ADDRESS>| darwin | arm64
npm ERR! gyp info find Python using Python version 3.9.2 found at<EMAIL_ADDRESS>npm ERR! gyp info spawn<EMAIL_ADDRESS>npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args   '/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
npm ERR! gyp info spawn args   'binding.gyp',
npm ERR! gyp info spawn args   '-f',
npm ERR! gyp info spawn args   'make',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/opt/homebrew/lib/node_modules/cordova-res/node_modules/sharp/build/config.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/Users/johnmckay/Library/Caches/node-gyp/15.12.0/include/node/common.gypi',
npm ERR! gyp info spawn args   '-Dlibrary=shared_library',
npm ERR! gyp info spawn args   '-Dvisibility=default',
npm ERR! gyp info spawn args   '-Dnode_root_dir=/Users/johnmckay/Library/Caches/node-gyp/15.12.0',
npm ERR! gyp info spawn args   '-Dnode_gyp_dir=/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp',
npm ERR! gyp info spawn args   '-Dnode_lib_file=/Users/johnmckay/Library/Caches/node-gyp/15.12.0/<(target_arch)/node.lib',
npm ERR! gyp info spawn args   '-Dmodule_root_dir=/opt/homebrew/lib/node_modules/cordova-res/node_modules/sharp',
npm ERR! gyp info spawn args   '-Dnode_engine=v8',
npm ERR! gyp info spawn args   '--depth=.',
npm ERR! gyp info spawn args   '--no-parallel',
npm ERR! gyp info spawn args   '--generator-output',
npm ERR! gyp info spawn args   'build',
npm ERR! gyp info spawn args   '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! gyp info spawn make
npm ERR! gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
npm ERR! warning: /Library/Developer/CommandLineTools/usr/bin/libtool: archive library: Release/nothing.a the table of contents is empty (no object file members in the library define global symbols)
npm ERR! ../src/common.cc:24:10: fatal error: 'vips/vips8' file not found
npm ERR! #include <vips/vips8>
npm ERR!          ^~~~~~~~~~~~
npm ERR! 1 error generated.
npm ERR! make: *** [Release/obj.target/sharp/src/common.o] Error 1
npm ERR! gyp ERR! build error
npm ERR! gyp ERR! stack Error: `make` failed with exit code: 2
npm ERR! gyp ERR! stack     at ChildProcess.onExit (/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:369:20)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
npm ERR! gyp ERR! System Darwin 20.3.0
npm ERR! gyp ERR! command "/opt/homebrew/Cellar/node/15.12.0/bin/node" "/opt/homebrew/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd /opt/homebrew/lib/node_modules/cordova-res/node_modules/sharp
npm ERR! gyp ERR! node -v v15.12.0
npm ERR! gyp ERR! node-gyp -v v7.1.2
npm ERR! gyp ERR! not ok

npm ERR!      /Users/johnmckay/.npm/_logs/2021-04-01T17_54_05_088Z-debug.log

Let me know if you'd like a copy of that log file.
Thanks

I suggest trying again. it looks like the binaries are out now. Make sure your terminal is not running under rosetta.
npm -g i sharp
npm -g i cordova-res

Still getting the same issue unfortunately @donhmorris , and not running under Rosetta!

I wish i could help more.
I got this to work while trying to build the native (IOS and Android) versions of my app. I did a lot of stuff to get the capacitor build tool to work. One of the thing i had to do was install cocoapods using the -acrh64 flag. Unfortunately its all jumbled together and I can't remember which step fixed what. I do know that I can install and use the cordova-res tool with no problems now.

No worries @donhmorris , appreciate the replies!
I still have my Intel machine so using that in the mean time, so not slowing me down :)
Thanks

sharp has been updated to 0.28.x which has prebuilt packages for Apple M1 devices. cordova-res should update their dependencies to fix this issue.

@donhmorris Even though the new binaries are available, they will only install with 0.28 and up. I tried installing this specific version in my project but the install script still sticks to 0.27.2 even if you do npm i<EMAIL_ADDRESS>I think this will only work correctly if cordova-res updates their dependency to 0.28.X

ok, thanks

@donhmorris there is a PR for this: https://github.com/ionic-team/cordova-res/pull/216
Is there a timeline for the merge & release?

@imhoffd forgot to tag you in the comment above

@imhoffd Please have a look into this PR #216

Any work around to install it until #216 gets merged?

Have to switch back to use React Native for a new project, because this issue is ignored by the maintainer, kinda sad.

I use the following command to install the npm package of the MR:
npm install -g https://github.com/rubenstolk/cordova-res/tarball/patch-1

@fr3fou

many thanks @MaaxGr ! I also need to do
cd /opt/homebrew/lib/node_modules/cordova-res
and npm install to create the dist folder

@MaaxGr thanks for solution and @davidecampello thanks for the clue!
I'm using nvm and I do
cd /Users/monurakkaya/.nvm/versions/node/v14.17.1/lib/node_modules/cordova-res && npm install && npm run build

In my case I also needed to  run npm run build

I'm on a MacBook Air with the M1 chip.
node v16.11.1
npm v8.0.0
I was seeing the exact error mentioned by jmkni.
Running brew install vips fixed the issue for me (install took some time).

Thanks everyone, will make sure to bump the versions of sharp when we release 1.0. Keep in mind Cordova support will be dropped from 1.0 and it will be Capacitor only. Happy to do a patch release before that for older versions if you still need Cordova support.

brew install vips

This worked for me too on M1 Pro chip, though had to also run brew install libheif.

Thank you @hardikdabhi

I'm on a MacBook Air with the M1 chip.
node v16.11.1 npm v8.0.0
I was seeing the exact error mentioned by jmkni. Running brew install vips fixed the issue for me (install took some time).

This works for me on M1 Pro
npm install -g --arch=arm64 --platform=darwin sharp
brew install vips

@mlynch I think it would be quite unwise to drop Cordova support for this library.
Two reasons:

keeping Cordova compatibility should be a trivial affair nowadays, I'm happy to do that work if someone wants to do it
Cordova is not deprecated, it's still an active Apache supported project and has an active community that could use this
While I don't mind migrating to Capacitor from Cordova eventually if that's where things end up, there's little reason to do so right now, and cutting off Cordova users will just cause fragmentation as a fork will likely be fired up

@jpike88 appreciate the feedback. For Cordova users they can still stick with the cordova-res tool that will continue to work, so no problems there. Happy to do a patch release for that version as well for this M1 fix.
Moving forward, we think Capacitor provides a much better developer experience and we're starting to build out a whole ecosystem of functionality around it (for example, the new Capacitor Configure utility we released a few weeks ago). We really want to encourage developers to make the switch to Capacitor because we know they'll be happier and will be better aligned with the rest of the Ionic stack and where we're taking it in the coming years. And, at the end of the day, it has a non-zero cost for us to build Cordova and Capacitor versions of things and we think that energy would be better spent innovating on top of the superior foundation that Capacitor affords us.

https://github.com/ionic-team/capacitor-assets/pull/262 this should fix the issue;
https://github.com/lovell/sharp/issues/2460#issuecomment-811046375

It's fixed

@mlynch maybe you want to close this

Hi guys. I'm here to help you after a lot of trying and searching with all obviously updated recenty.
After I tried all the solutions described in this thread I solved in this way:

open osx terminal;
brew uninstall vips // remove vips
sudo rm -rf /Library/Developer/CommandLineTools // to remove xcode line tools
rm -rf /Users/{username}/.npm/_libvips // to remove libvips dir...
xcode-select --install // to reinstall xcode line tools
brew install vips // to reinstall vips
npm -g i cordova-res // to reinstall cordova-res globally

Tested with brand new Macbook Pro 16 with M1 Pro
Goodluck guys! 💪🚀

There was an update that does need any of this handmade fixes.

There was an update that does need any of this handmade fixes.

Hi, @ikosta In my case also with the update installed caused problems and the last workaround after trying and trying fixed it.
Maybe something damaged by the Xcode Command Line Tools

@mlynch This is marked as 'done' in the project view, make the issue can be closed?
https://github.com/ionic-team/capacitor-assets/projects/1


Error handling and shellcheck additions

Handle logname: no login name error for $USER
Double quote variables and add curly brackets when concatenated (e.g., directories)
Replace tilde with $logged_in_home var
Capture return codes from wget command directly (404 throws custom exit code 8)
Fix code block indentions
Move SC2155 to .shellcheckrc
Add  SC2164 to exclude cd errors
Breakout SC exclusions to multiple lines to toggle them more easily
Remove duplicate SC entries

@moraroy This is primarily for the proton code blocks with some stray fixes elsewhere. Likely will want to add similar logic across the script. I'd recommend refactoring to create functions for common operations like downloading.
Decoupling the nested python script would also pay dividends here. Indentation is stuck at spaces when it should be tabs for bash; matters if you ever use heredocs for instance.
Might also wanna add true semantic versioning as this is a patch/hotfix and not really a minor update (i.e., 2.99.1 vs. 2.100)

@pythoninthegrass gotcha brother thank you, i may just keep the current version to 2.99 for now, until the plugin is offical. i have some features ive been thinking about that  i may want to add in to the script for 3.0 lol


[TASK][EASY] Package Spark SQL engine both Scala 2.12 and 2.13

What's the level of this task?
EASY
Code of Conduct

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

Search before creating

[X] I have searched in the task list and found no similar tasks.

Mentor

[ ] I have sufficient expertise on this task, and I volunteer to be a mentor of this task to guide contributors through the task.

Skill requirements

Shell scripts, Maven packaging
knowledge of how Kyuubi launches Spark applications

Background and Goals
The Kyuubi Spark SQL engine is a version-agnostic jar, which means the kyuubi-spark-sql-engine_2.12-1.9.0.jar built with Spark 3.5 should also work on Spark 3.2 and all supported versions.
Since 1.8, the whole Kyuubi project has supported building with Scala 2.13, so users could create a custom distribution with Scala 2.13. Another idea is, that one Kyuubi tgz ships both kyuubi-spark-sql-engine_2.12-1.9.0.jar and kyuubi-spark-sql-engine_2.13-1.9.0.jar, then it can support Scala 2.12 and 2.13 in same time.
Implementation steps
Kyuubi Server already supports extracting Spark's scala version from $SPARK_HOME/jars/spark-core_*.jar and choosing the right kyuubi-spark-sql-engine_*.jar, so we need to modify dev/dist to make the final binary tarball always(no matter the Kyuubi server compiled with Scala 2.12 or 2.13) ships
externals/engines/spark/kyuubi-spark-sql-engine_2.12-1.10.0-SNAPSHOT.jar
externals/engines/spark/kyuubi-spark-sql-engine_2.13-1.10.0-SNAPSHOT.jar

Additional context
Introduction of 2024H1 Kyuubi Code Contribution Program

Please assign this task to me, I will try to solve it.

@PorterZhang2021 thanks, assigned


PV-RCNN++ trainable on custom dataset but with AP of 0 after 6000 Epochs

I would like to evaluate the performance of PV-RCNN++ on my custom dataset. I tried converting the yaml file from the Waymo dataset unsucessfully and running the train.py on it throws the Error: 'EasyDict' object has no attribute 'FEATURE_MAP_STRIDE'. I then changed the config file to the solution from this issue: https://github.com/open-mmlab/OpenPCDet/issues/829#issuecomment-1065878449, so changing the Dense Head, and can train my network with a decreasing loss function for 6000 Epochs. Sadly after the entire training the AP remains 0 and I cant detect anything
Is there any way to get PV-RCNN++ running on a custom dataset and are any other changes to the config file necessary? I can succesfully train and evaluate PV-RCNN, SECOND, and CenterPoint on the same custom dataset

Possibly discovered my own solution and just documenting it of other people run into the same problem, changing from PV-RCNN++ to PV-RCNN++ (ResNet) works even with CenterHead as Dense Head. I would therefore assume its a problem with the 3D Backbone. I didnt change anything in the config file of  PV-RCNN++ (ResNet) except for the evaluation metric and the obvious changes at the top


Cannot clean-up userdata via Application or Uninstall

My Setup

Operating System: Windows 10

App Version: 2.13.0 (Updated to 2.13.1 and still have the same issue)

Server Version: 0.69.0 (Using Snap container, so it should be staying up to date)

[ X ] I have tested with the latest version

[ X ] I can simulate the issue easily

Description
Today, while chatting with another user, Rocket Chat logged me out in the middle of my conversation.  I cannot log back in.  As soon as I log in, I briefly see the bar on the left, including missed messages, then it kicks me back to the login screen.  I've successfully continued to use a web browser and my Android app without any problems.
Things I've tried to resolve the problem:

Uninstalled Rocketchat from my computer, and ticked the "Remove User Data" option and reinstall.
Incidentally the "Remove User Data" does not remove user data, because after reinstalling, it still took me to the login page for my server.

Reboot the RocketChat server.

Delete the server in the application and uninstall, then reinstall.

Go to Help -> Reset AppData

So far, I am the only user experiencing this problem out of three on the server, and at least one other user is also using the Windows App on their Windows 10 machine.
Finally Figured Out a Solution But It Shows a Couple Bugs:
Turned out the fix was to delete the Rocket.Chat folder under %Appdata% then relaunch the app and sign in.  Therefore I see two bugs.  First there is the issue of whatever state my cache got into where I couldn't log in, in the first place.  Then, more importantly, there is the issue, that all the things I tried above to delete the cache were not sufficient.  All three of which should have resulted in all of the local user data being cleaned up.  Possibly related, I have Rocket.Chat installed for "All Users on the System".  I'm guessing the uninstall and clean-up code is not checking %appdata% for every user on the machine, or even the current running user in that case.
Other relevant information:
I'm using the default authentication within RocketChat (not OpenID/SAML/LDAP or something else).
Current Behavior
See above
Expected Behavior
When I log in with credentials I know are valid, I expect to be logged in, and stay logged in, not immediately get booted back to the auth screen when using the Windows App.

Please test if the problem persists with our latest release. I will be closing the issue but if there is any problem yet, we will open it again.


chore(ButtonDeprecated): Dead Code removal - unused themes [GM-166]

Overview
Just cleaning up some unused CSS from buttons here and getting us in better shape for migration and save a bit on chunk size for buttons while we migrate.
Monolith usage statistics (theme="[^"](.*)"):
const currentUsage = {
  "brand-blue": 42,
  grey: 2,
  "brand-purple": 37,
  "brand-dark-blue": 8,
  white: 31,
  "brand-yellow": 26,
  lantern: 10,
  secondary: 5,
  red: 5,
  platform: 4,
  blue: 1,
  yellow: 1,
  royalblue: 3,
  "brand-white": 1,
  navy: 1,
  hyper: 1,
  "brand-red": 1,
};

Removals:

"brand-pink"
"brand-mind"
"brand-beige"
"brand-orange"
"purple"
"notice"
"error"
"announcement"
"success"
"info"

Mapped:

"royalblue" => "brand-purple"

Removes unused button styles to lower generated CSS (Each theme is around ~1500 characters)
Adds strict theme types to ButtonDeprecated themes to make consolidation going forward easier.
Updates storybook with new variables

PR Checklist

[ ] Related to designs:
[x] Related to JIRA ticket: GM-166
[x] I have run this code to verify it works
[x] This PR includes unit tests for the code change

📬Published Alpha Packages:@codecademy/gamut-kit@0.2.17-alpha.7f1922.0@codecademy/gamut-labs@11.3.1-alpha.7f1922.0@codecademy/gamut@26.4.1-alpha.7f1922.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://604fdd0566c4a3102d10ca9b--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.2.29-alpha.4d6b82.0@codecademy/gamut-labs@13.0.5-alpha.4d6b82.0@codecademy/gamut@29.1.1-alpha.4d6b82.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://60591b503321c700bf9fa399--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.2.31-alpha.5d1845.0@codecademy/gamut-labs@13.1.1-alpha.5d1845.0@codecademy/gamut@29.3.1-alpha.5d1845.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6059ea39c3acce512e13ee30--gamut-preview.netlify.appDeploy Logs


Remove repository's name capitalization

Changes

Avoid capitalizing repository name in the main header after selecting some repo

Context

There was no ticket for this. It was a bit too much to have title dependency for this, so I removed it and leave the original repo name.
Tests

I've checked my work by:

[X] Adding new tests or adjusting existing tests
[ ] Testing manually

There was no ticket for this. It was a bit too much to have title dependency for this, so I removed it and leave the original repo name.

If capitalizing is all the dependency does, it does seem a bit much to have that for this one feature of the dependency.
So we're just using the GitHub repository name now?

So we're just using the GitHub repository name now?

That's right.


Section Due Dates don't work

There seem to be numerous problems with these. I did some testing a few days ago and I don't think they always take effect (perhaps when they're before the global due date).
Also, I think in some places for the students, the global due date is shown/used instead of the section due date.
Just logging this issue for someone to look at more carefully later.

From #1702:
If the timezone is changed from the default, two functional tests related to section due dates fail.
See #211 for more information.

@david-yz-liu I'm just looking into this one now and have a couple questions.

How do I change the timezone?

Should the due dates be for the server time or for the users time? (At 3:00pm, I set a due date to be 2:50pm, and there was a pop up saying I was setting it in the past, which makes sense. But then afterwards it seems to be using a server time, which is an hour earlier, so the 2:50pm due date is actually being used as a 3:50pm due date.)

Where are all the different locations that a student can see the due date for an assignment? I've found the following locations:

Home page, in the Assignments Table, Due Date column
Assignment - Student Interface, under Assignment Rules
Although it doesn't actually say the due date, the submission page will say when its past the due date

One problem, I've found so far with Section Due Dates:

Another problem:

Another problem:
When you submit a file after the due date the student normally gets these messages:

But if the section due date has passed, but the global due date has not, they only get these messages:

@alexinman Thanks for the screenshots. Supremely helpful.

On Rails, try changing the time zone with http://stackoverflow.com/questions/6118779/how-to-change-default-timezone-for-active-record-in-rails
I don't think MarkUs does anything sophisticated with timezones - all the dates should be shown in the browser assuming the server's time zone. I thought that was what happened now, but I guess I could be wrong. The datetime picker might be doing something different, now that I think about it.
That's all of them, I think. Students don't have a lot of views.

Just did some testing with submitting assignments before/after global/section due dates, and it seems the messages issue I was seeing above is a part of a larger issue of when students submit assignments after the section due date, but before the global due date. The files still get accepted and are able to be graded by the instructor/TA.

@david-yz-liu: Currently the submissions/browse page looks like this:

with the 'Collect All Submissions' link at the top. Is it alright if I move it down to beside the Release/Unrelease marks? It would look something like this:

Doing this makes it more consistent/easier for when I add a drop down when there are separate section due dates, which would look sort of like this:

That's fine, but please insert a divider between that button and the Release/Unrelease buttons.

I like having Collect submissions as a button, but agree with @david-yz-liu that it isn't clear that the dropdown goes with the Collection button.

@alexinman you've made great progress, thanks a lot.
One outstanding issue I noticed: MarkUs allows some students to be assigned a section, and others not to be. This is not taken into account when doing collection. When you have time, please add an "unassigned" option to the section dropdown, which causes the submissions of the students who aren't in a section to be collected.

Yes sure thing. Do you want that before or after I write the tests for section due dates?

After, please.

This can be closed now, right?

@alexinman Somehow I missed this - thanks again for all your hard work last term!

No problem


Added support for JSON serialization and deserialization by other libraries

Description
Support for JSON serialization with ujson library, in addition to the included orjson. This will allow faster serialization in more environments if orjson is not installed.
Type of change

[ ] Documentation (typos, code examples, or any documentation updates)
[ ] Bug fix (a non-breaking change that resolves an issue)
[x] New feature (a non-breaking change that adds functionality)
[ ] Breaking change (a fix or feature that would disrupt existing functionality)
[ ] This change requires a documentation update

Checklist

[x] My code adheres to the style guidelines of this project (scripts/lint.sh shows no errors)
[ ] I have conducted a self-review of my own code
[ ] I have made the necessary changes to the documentation
[x] My changes do not generate any new warnings
[ ] I have added tests to validate the effectiveness of my fix or the functionality of my new feature
[ ] Both new and existing unit tests pass successfully on my local environment by running scripts/test-cov.sh
[x] I have ensured that static analysis tests are passing by running scripts/static-analysis.sh
[ ] I have included code examples to illustrate the modifications

@ulbwa Any reason why msgspec was removed? It would be good to have it back.
msgspec with a pre-defined structs beats all other options - https://jcristharif.com/msgspec/benchmarks.html#structs.

@ulbwa Any reason why msgspec was removed? It would be good to have it back. msgspec with a pre-defined structs beats all other options - https://jcristharif.com/msgspec/benchmarks.html.

In my PR, msgspec was used exclusively for reading JSON. Its performance is comparable to orjson, and I chose it because some projects might not have orjson as a dependency, while msgspec could already be available. However, the project maintainer asked to remove msgspec from the PR since it is planned to be introduced in the future as a validator for models


newsbeuter: patch memory leak

upstream issue: https://github.com/akrennmair/newsbeuter/issues/119
upstream commit: https://github.com/akrennmair/newsbeuter/pull/213/commits

Travis is complaining about a wrong hash for the patch:
trying https://github.com/akrennmair/newsbeuter/commit/cdacfbde9fe3ae2489fc96d35dfb7d263ab03f50.patch

output path ‘/nix/store/7i17b7ds73j4bkay5d4nx425apsbpkwx-cdacfbde9fe3ae2489fc96d35dfb7d263ab03f50.patch’ should have sha256 hash ‘1qi71w893llrknrm0vbxlc1bpvxlqgbs3b23a4cwv53j1vf0qz0x’, instead has ‘1lhvn63cqjpikwsr6zzndb1p5y140vvphlg85fazwx4xpzd856d9’

but it is building fine locally and, nix-prefetch-url give the right hash
nix-prefetch-url https://github.com/akrennmair/newsbeuter/commit/cdacfbde9fe3ae2489fc96d35dfb7d263ab03f50.patch
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2654    0  2654    0     0   2697      0 --:--:-- --:--:-- --:--:--  2697
path is ‘/nix/store/7i17b7ds73j4bkay5d4nx425apsbpkwx-cdacfbde9fe3ae2489fc96d35dfb7d263ab03f50.patch’
1qi71w893llrknrm0vbxlc1bpvxlqgbs3b23a4cwv53j1vf0qz0x

Am I missing something or is it just a Travis problem?

Travis has network issues all the time. I'm getting the same as you, would probably suffice to restart the build.

@jgillich I see, thanks for the information.

I'm getting the same hash as Travis does. Let me guess: you used nix-prefetch-url to get the hash because you didn't know that fetchpatch normalizes its output?

@vcunat Thanks for fixing and yes, didn't know that fetchpatch normalizes its output.
What is the correct way to get the hash of a fetchpatch url?
The derivation was building fine on my machine with 1qi71w..., so I am wondering why it didn't complain about the hash being different. Do you know what is the cause?

There is no easy way except to run fetchpatch.
It didn't complain because it used no network during build. The results of fixed-output are content-addressed – you provided hash of the plainly-fetched file and it was in nix store already because you pre-fetched it.

I see, it make sense.
Thanks for the explanation.


Monthly newsletter for May

It is again time for a monthly newsletter. I put together a draft with the repository activities for the May.

[x] add stdlib updates
[x] add fpm updates
[x] add fortran-lang.org updates
[x] add monthly call link
[ ] add LLVM / classic flang updates (@AlexisPerry)
[ ] add LFortran updates (@certik)
[ ] update contributor data (@LKedward)

As usual, please add your name to the authors list if you add, edit, or review content.

Thank you, @awvwgk!

@certik Can we have LFortran updates in tomorrow or can this newsletter go without? Thank you!

I'll submit the LFortran updates this afternoon.

Thanks a lot everybody. I'm going ahead and merge this.


Dependency needs updating.  CVE-2019-10744 - high severity. Patched version<EMAIL_ADDRESS>

CVE-2019-10744
https://github.com/lodash/lodash/pull/4336
high severity
Vulnerable versions: < 4.6.2
Patched version<EMAIL_ADDRESS>Affected versions of lodash are vulnerable to Prototype Pollution.
The function defaultsDeep could be tricked into adding or modifying properties of Object.prototype using a constructor payload.

Current merge version is 4.3.1, I am not sure the vulnerability existed at this point but I will go on and put up a PR for this.