[Feature Request] - User configurable webhook timeout.

I recently discovered this project and it looks really great!
Context
I was considering an application for which metacontroler would fit perfectly. A concern I have is that as part of my controller, I would need to make a couple REST calls to an external API to resolve certain conditions at run time. I learned from the source code that the hook calls have a hard-coded deadline of 10 seconds, which is quite limiting.
Is there a reason for this particular value (10s)? I assume it shouldn't be a big issue to rise this limit or make it user-defined if the hook calls are being called asynchronously under the hood (and assuming the hook handler is replicated).
Additional question: How would metacontroler handle error conditions on the hook (e.g. return status !200 or timeouts)? Will the call be skipped, retried, etc?
Request:
Add an option for the webhook configuration similar to:
spec:
  hooks:
    sync:
      webhook:
        url: http://hello-controller.hello/sync
        timeout: 60                                         # Timeout in seconds for the webhook

That's a good idea. Thanks for bringing it up!
The hard-coded 10s timeout was put in place back when there was no concurrency in the pre-alpha Metacontroller -- all hooks were in one queue, processed one at a time, so one slow hook would hold up the whole line.
Now, each controller has its own queue with 5 concurrent slots (structured to match kube-controller-manager). So, if one hook call is slow, it only holds up one of the dedicated slots for that controller. If all 5 slots are waiting on slow hooks, then all other syncs for that controller will have to wait until a slot opens up (either by finishing, or by timing out). However, other controllers will not be affected.
Given that this isolation now exists, I like your idea to give controller authors the ability to decide their own timeouts. I've assigned this to myself for now, but if anyone wants to take a stab at it, it should be a fairly straightforward PR. Just comment here so we don't both do it.

Additional question: How would metacontroler handle error conditions on the hook (e.g. return status !200 or timeouts)? Will the call be skipped, retried, etc?

Metacontroller structures the work queue that it hosts for your controller in the same way as built-in controllers like StatefulSet: If something goes wrong while processing an entry in the queue, it will be requeued after a delay; if it fails repeatedly, the delay will increase each time (back-off) until eventually it gives up on that entry.

Well, since it's a pretty small feature I decided to give it a go (pun intended).
As a disclaimer, I'm not experienced in go at all, so hope there's not too many beginner mistakes.
I wasn't able to test it locally, I'm still trying to figure out how to setup the dev environment properly.  If you could shed some light about it I'd be happy to do it. It sounds pretty trivial but unfortunately I ran out of time.


a link error in CommanderMaster.h

When I built it using arduino-esp32 ver 3.0.5, I got a link error in CommanderMaster.h.
https://github.com/simplefoc/Arduino-FOC-drivers/blob/f7a91fac88a1e0396e360b6f398ff88ea1c9d66f/src/comms/CommanderMaster.h#L8-L9
I made the following changes and the link error disappeared.
    CommanderMaster() = default;
    virtual ~CommanderMaster() = default;

Thank you for reporting this! I will look into it.


Issue #825: inline expiry

This PR takes care of the inline expiry in OnHeapStore. It also fixes a number of issues with byte size accounting (see #823).
AbstractOffHeapStore will be handled in a future PR, as well as more general Store tests on this.

Raised a number of questions that will most likely be voided by #866 so closing until that one is resolved.


License

Hello @ffleming,
I'm currently working on an academic project and wanted to use the results obtained by running your honeypot as a part of a paper. I realized that you haven't put a license. I've already cited the repo in the paper but I'm not sure if that is enough. Could you please add a license or could you give me an answer on whether I could use your code?
Thank you

What a silly oversight, sorry about that! The project uses the MIT license. I've added it to the codebase now, thanks for raising the issue! I'd love it if you could send a link to the paper, too, but of course there's no requirement to do so. I just think it'd be cool to read :) Cheers!

Thank you very much for the fast reply.
I'm still in the process of writing it. The deadline for the conference is in a few months so it could take a while. I'll update you on it if everything goes well.


WIP: add keymap/function to fetch/present usage examples.

This PR attempts to introduce new functionality that enables users to
preview usage examples from https://clojuredocs.org (and perhaps down the line
https://janetdocs.com and other similar sites for conjure clients).
How it works:
It downloads a gist/remote file to ~/.cache/conjure, then parses the
content to fnl map/dict. Then, through helper function it further parse
the dict into a markdown string and append to a temp markdown buffer
(e.g. conjure-usage-686895.md). Finally, It offer two options/mappings
to view the buffer, either via a popup or split.
Selling point
View community usage examples/notes and enhance your understanding
of high-level function from within youe editor.
Limitation & Drawbacks
This is list of few things I consider as drawbacks to the
implementation:

It downloads a file to user filesystem.
It downloads it from a gist.
It isn't fully asynchronous, there slight lag/block when parsing json/fnl (help needed).

Things to improve on

Modularity and the ability to easily clients support.
Callbacks.
Skipping reading/parsing client defs files.
Messages.

Todos

[X] get clojuredocs.org data
[x] format markdown buffer.
[x] get a symbol namespace under the cursor.
[x] create split/vsplit and float display function.
[ ] create mappings and commands.
[ ] refactor: use filetype to determine client
[ ] refactor: use conjure.promise  (awaiting @Olical review)
[ ] update docs (awaiting @Olical confirmation on whether to include this feature in conjure)

Won't do in this PR

Enable navigation between symbol docs through See Also section.
Add support for janetdocs.org

Testing
;; Markdown parsing and formating result.
((. (require :conjure.usage) :get-sym-usage)
  :clojure :clojure.core/map
  #(let [path "/tmp/clojure.map.md"]
      (a.spit path $1)
      (vim.cmd (.. "edit " path))))

(get-usage
    {:client :clojure
     :display (or :float :vsplit :split)
     :symbol "map"
     :fill 0.7
     :win {:winblend 0}})

lua require'conjure.usage'['get-sym-usage']("clojure", "clojure.core/map", function(content) require'aniseed.core'.spit("/tmp/clojure.map.md", content); vim.cmd(.. "edit /tmp/clojure.map.md") end)

If you don't think you can fit the implementation into the client modules (i.e. that design is just not right for this feature) I think it really reinforces the idea that this should be an optional plugin on the side. The fact that it fetches things from outside and writes to disk (something I've deliberately avoided) worries me slightly, mostly only because I have to look after this feature which isn't something I would choose to add personally.
I can help set up the repo (which could just be a fork of Conjure with a bunch deleted I guess) if you want? That way you have full ownership and ability to design and develop it however you want. I can then put it in the install steps for those that are interested (it'd be two lines to paste into your plugin list instead of one which is pretty easy).
The other benefit to making this a 3rd party repository that slots into Conjure easily that you own would be you have full freedom to iterate on it and develop it on your own terms. You can do whatever you see fit, make your ideal UX and design without my ideals getting in the way. I think I am going to end up restricting your vision because I like to keep everything within client modules and the log buffer UX.

https://github.com/tami5/conjure-clojuredocs


Switch sort order for Torznab from Relevance to Published

This PR is to switch the Torznab sort order from 'OrderByQueryStringRank' (Relevance) to 'OrderByPublishedAt' (Published) when defining a search criteria.
The Problem

Relevance sort order does not always give you the latest magnets, it will generally be a mix, i'm not sure how Relevance works but the published date for the magnets is not consistent.
Due to the mix of published date when Relevance is used you quite frequently can end up with magnets with no seeders.

The Solution
Switching the sort order to Published date means you get the very latest magnets as they are discovered, which means newer titles tend to be at the beginning of the search list. Due to the list being sorted by Published date it also means there is a much higher chance of at least 1 seed and thus a higher chance of completion.
Hands up here, I have no experience developing in Go, so this implementation maybe done much better in another way, but for now at least it does do what I intended.
EDIT - Due to my lack of knowledge of Go I have switched this to a Draft PR as it no doubt needs further work before being considered for inclusion in main.

Hi @binhex , sorry for the delay in feedback.
I guess my concern with this is it would surface less relevant results to the top, which might not always be wanted/expected, and would also differ from the behaviour of the main API. Bear in mind when specifying something like a TMDB ID it would go on published date, as there's no concept of "relevance" except for free text search. It's a shame the Torznab spec doesn't seem to support specifying any ordering, and given that I'm inclined to go ahead with this PR.
As for your implementation - the default sort order should already be published at, EXCEPT where a search query string was specified. So it should be enough to simply remove the query.OrderByQueryStringRank() in search.go.

Hi @mgdigital thanks for the reply no worries about the delay. So I get that relevance might be preferred under certain circumstances, would it be possible to set a command line flag for bitmagnet that defines the sort order?, so something like --sort-order=<relevance|published|...> that way the user can decide what they want it to be sorted by, with a default of published or maybe define this option in the classified.yml:-
flags:
  sort_order: published

would it be possible to set a command line flag for bitmagnet that defines the sort order?

I've been thinking something like different "profiles" for torznab, that could do things like restrict the search or customize ordering. That might ultimately be preferable to setting such an option globally.
(BTW classifier.yml is for defining the classifier which doesn't really have anything to do with Torznab).


Shunting unload jobs not spawning

I have 5 flatcars with steel. When i use "refresh jobs", an error appers in console (ArgumentOutOfRangeException: Specified argument was out of the range of valid values).
I want to note that when I brought these сars and handed over the job, the shunting unload job was generated (because max 9 flatcars on L - track can be placed). But if you move away from GF and come back again, or accept and cancel the job, then the SU job will not be generated again if refresh.
Also, the presence of these cars prevents the SL job generation with other cars

I will need a log file from a session in which this occurs (the more isolated, the better) in order to debug this.

Log.zip
I got the log, but it's not for those session (on GF). The last session was similar, but now there are coal wagons on the SM that do not want to be unloaded. :) I do not know why the log file is so large (145 Mb), I zip-archived it.


Install Python and libraries on Raspberry PI

Phase: Project Preparation
Prepare the development environment by installing Python and necessary libraries such as tweepy and python-dotenv on your Raspberry Pi.

Objective
To install Python libraries (tweepy and python-dotenv) for the Jar-Bot project while adhering to the restrictions of an externally-managed Python environment.
Steps Followed

Check and Install Python 3
Verified Python Installation:
bash
Copy code
python3 --version
Installed Python 3 (if needed):
bash
Copy code
sudo apt update
sudo apt install python3
Check and Install Pip
Verified Pip Installation:
bash
Copy code
pip3 --version
Installed Pip (if needed):
bash
Copy code
sudo apt install python3-pip
Encountered Externally-Managed Environment Error
Attempting to install libraries system-wide resulted in the following error:

plaintext
Copy code
error: externally-managed-environment
This restriction ensures the stability of system-managed Python packages. To work around this, we opted to use a Python virtual environment.

Activated the Virtual Environment:
bash
Copy code
source venv/bin/activate
The prompt changed to (venv), indicating the virtual environment was active.
6. Installed Required Libraries
Within the virtual environment, the following libraries were installed:
Tweepy (for Twitter API):
bash
Copy code
pip install tweepy
Python-dotenv (for managing environment variables securely):
bash
Copy code
pip install python-dotenv
7. Verified Library Installation
Checked the installed packages:
bash
Copy code
pip show tweepy
pip show python-dotenv
8. Deactivate Virtual Environment
After completing the setup:
bash
Copy code
deactivate
This exited the virtual environment and returned to the system Python.


Update composer.json

Requirements updates in order to use the package with the version 3 of the framework.

By accepting that PR will be able to work with this package also in ZF3.
Thanks!

Please, anyone can handle that PR?
Thanks!

Hi @mwillbanks, could you kindly handle that pull request?
Thanks

Hi @froschdesign, with the new composer.json / travis file we have new errors:
iconv_set_encoding(): Use of iconv.internal_encoding is deprecated
That's strange because it appears to be already resolved https://github.com/zendframework/zf1/issues/344.
But maybe there's something that I'm missing or I don't know :|
Could you give me some suggestion?
Thank you!

Hi @froschdesign, please let me know what can I do to solve the issue.
Best regards,
tomaso

Hi again, an other updates about the Travis CI fail: locally I could run tests with success (below the result).
vendor/bin/phpunit --color=always
PHPUnit 4.8.36 by Sebastian Bergmann and contributors.
.............................S..
Time: 46 ms, Memory: 6.00MB
OK, but incomplete, skipped, or risky tests!
Tests: 32, Assertions: 108, Skipped: 1.
`
Thank you

Hello, I've found a way to solve the issue by removing the package from requirements, add adding it to the autoload section in composer json file.
That allow me to update zend framework 3 and use it with the Gcm service.
{
    "require": {
        "php": "^5.6|^7.0",
        "zendframework/zendframework": "^3.0",
        "zendframework/zend-i18n": "^2.7",
        "zendframework/zend-mvc-plugin-flashmessenger": "^1.0",
        "zendframework/zendservice-apple-apns": "dev-master"
    },
    "autoload": {
        "psr-4": {
            "ZendService\\Google\\": "libraries/ZendService_Google_Gcm/library/"
        }
    }
}

Best regards.


Work with gift sets instead of gifts

currently gifts are listed as gifts, it should probably be as sets or even as givers

this has been done now


Settings → preview profile → close fails to go back to settings

If you open ⚙ → Personal settings → Profile → Preview profile, the settings modal closes and the profile modal opens. If you then close the profile modal, we have some code that’s supposed to reopen the settings modal:
https://github.com/zulip/zulip/blob/768d7630af63da2cf8c7ae7bf079ab9f032e880c/static/js/settings_account.js#L721-L733
However, this was broken by 7a505e3857bbec1a8dd862da36e89b646dbe0115 (#20194), which migrated the profile modal to Micromodal.
Ideally, we should just open the profile modal on top of the open settings overlay (like we do for other modals like password and language), so there’s no need for that close/reopen dance.
Cc @ganpa3.

#22588


Kotlin version of 'todo-mvp-dagger'

@JoseAlcerreca Can I work on Kotlin version of 'todo-mvp-dagger'?

It'd be more interesting to move todo-mvvm-live-kotlin to dagger actually....
But we're close to pulling the code from the testing codelab and starting again so I'd wait a couple of weeks.

Ok @JoseAlcerreca , Please let me know if any help is required.


Invoker: add support for server-side initiated requests for stateful channels

- Implemented ccm registration of in-channel interfaces
- Added support for "channel" scheme in Native Interface
- Channel comms must be implemented by executor


Support server list, drop group_id from producer

Proposed changes:

Add support for list of Kafka servers, drop group_id from producer

Status (please check what you already did):

[ ] added some tests for the functionality
[ ] updated the documentation
[x] updated the changelog (please check changelog for instructions)
[ ] reformat files using black (please check Readme for instructions)

@b-quachtran does this do the same as your PR?

@b-quachtran what should we do with this PR now? Did the other PR cover this already?

@b-quachtran what should we do with this PR now? Did the other PR cover this already?

@akelad My PR didn't include support for server list and I removed the ready-to-merge status because of some failed CI checks, but that looks resolved now.

@akelad My PR didn't include support for server list and I removed the ready-to-merge status because of some failed CI checks, but that looks resolved now.

is the support server list actually a request from a customer? Because we shouldn't really be merging new features into patch releases

is the support server list actually a request from a customer? Because we shouldn't really be merging new features into patch releases

also the changelog entry needs to be changed, some of the stuff listed in there is not part of this PR

also the changelog entry needs to be changed, some of the stuff listed in there is not part of this PR

@akelad Yeah, a customer specifically asked about adding multiple Kafka server support in 1.10.X

@akelad Yeah, a customer specifically asked about adding multiple Kafka server support in 1.10.X

@b-quachtran will you take care of doing a minor release then?

@b-quachtran will you take care of doing a minor release then?

@akelad Yep, definitely. I'll take care of the release

@akelad Yep, definitely. I'll take care of the release


Server can not be shutdown under the high load

OrientDB Version: 2.2 and I suppose 3.0
Expected behavior
I discovered this issue during the investigation of  https://github.com/orientechnologies/orientdb/issues/7388 .
If you start the test https://slack-files.com/T04EMG7AY-F57929QRW-2ee6e8b0ef and then wait till all databases and their metadata are created and insertion of data is started and then run shutdown script you  will see as a result of execution of shutdown script in the server log:
2017-06-27 21:27:47:628 INFO  Received shutdown command from the remote client /<IP_ADDRESS>:61934 [ONetworkProtocolBinary]
2017-06-27 21:27:47:629 INFO  Remote client /<IP_ADDRESS>:61934 authenticated. Starting shutdown of server... [ONetworkProtocolBinary]
2017-06-27 21:27:47:674 INFO  OrientDB Server is shutting down... [OServer]
2017-06-27 21:27:47:680 INFO  Shutting down listeners: [OServer]
2017-06-27 21:27:47:714 INFO  - ONetworkProtocolBinary /<IP_ADDRESS>:2424: [OServer]
2017-06-27 21:27:47:735 INFO  - ONetworkProtocolHttpDb /<IP_ADDRESS>:2480: [OServer]
2017-06-27 21:27:47:743 INFO  Shutting down protocols [OServer]

but the execution of test will continue it can be seen from the timing of the log on test's side:
pool-202-thread-49][2017-06-27 21:29:02] ************ [tenantdb1_11] Total number of errors: [0] Delete error counter:[0]
[pool-202-thread-49][2017-06-27 21:29:02] **********************************************************************!@#!@#! [tenantdb1_11] Total number of records: [2000]
[pool-202-thread-14][2017-06-27 21:29:02]  [tenantdb1_3] Delete vertex : [7] [Test1Node]
[pool-202-thread-14][2017-06-27 21:29:02] ################# [tenantdb1_3] Records removed after delete vertex  [Test1Node] Error on delete [0]
[pool-202-thread-41][2017-06-27 21:29:03]  [tenantdb1_15] Delete vertex : [8] [Test1Node]
[pool-202-thread-41][2017-06-27 21:29:03] ################# [tenantdb1_15] Records removed after delete vertex  [Test1Node] Error on delete [0]
[pool-202-thread-16][2017-06-27 21:29:03]  [tenantdb1_38] Delete vertex : [7] [Test1Node]

Actual behavior
After successful issue of shutdown command server should reject new commands and gracefully close all databases.

Hi,
This is fixed now the server goes down, closing this.


Refactor code

Seperate the views into different files in the framework
Code clean up and add comments at places
Update relevant documentation

Hi, Tejeshwar, do you know if there's someone still working on this? I would like to try ☺

Hi @jacquealvesb, thank you for the interest.
Yes, this issue is open. Right now, no one is working. The code was updated after the above pr and needs a good amount of refactoring and clean up. Would really appreciate any help
Would you like this to be assigned to you?

Yeah, sure!

If you need anything, I'm always open for a discussion.


Python Alpine and Pyarrow

Describe the bug, including details regarding any error messages, version, and platform.
Does anyone know why pip install pyarrow does not work with python:3.10-alpine docker image?
E.g.  this simple image:
FROM python:3.10-alpine

RUN apk add build-base linux-headers
RUN pip install --no-cache-dir --upgrade pip
RUN pip install cmake
RUN pip install pyarrow

ENTRYPOINT ["tail"]
CMD ["-f","/dev/null"]

Fails with
13.92       copying pyarrow/tests/data/feather/v0.17.0.version.2-compression.lz4.feather -> build/lib.linux-x86_64-cpython-310/pyarrow/tests/data/feather
13.92       running build_ext
13.92       creating /tmp/pip-install-x7hld2to/pyarrow_7d094121e229462db5f571453b46aa62/build/temp.linux-x86_64-cpython-310
13.92       -- Running cmake for PyArrow
13.92       cmake -DCMAKE_INSTALL_PREFIX=/tmp/pip-install-x7hld2to/pyarrow_7d094121e229462db5f571453b46aa62/build/lib.linux-x86_64-cpython-310/pyarrow -DPYTHON_EXECUTABLE=/usr/local/bin/python -DPython3_EXECUTABLE=/usr/local/bin/python -DPYARROW_CXXFLAGS= -DPYARROW_BUNDLE_ARROW_CPP=off -DPYARROW_BUNDLE_CYTHON_CPP=off -DPYARROW_GENERATE_COVERAGE=off -DCMAKE_BUILD_TYPE=release /tmp/pip-install-x7hld2to/pyarrow_7d094121e229462db5f571453b46aa62
13.92       Traceback (most recent call last):
13.92         File "/usr/local/bin/cmake", line 5, in <module>
13.92           from cmake import cmake
13.92       ModuleNotFoundError: No module named 'cmake'
13.92       error: command '/usr/local/bin/cmake' failed with exit code 1
13.92       [end of output]

Component(s)
Developer Tools, Python

Duplicate of #39846.
Please see #18036, we don't publish musl wheels at the moment.
For building from source in docker see #39846.


SAMZA-1100: Exception when using a stream as both bootstrap and broadcast.

When a task input stream is used as both broadcast and bootstrap stream in a samza job, Bootstrappingchooser marks the stream as bootstrapped when a single task finishes consuming all the SystemStreamPartitions(This happens when all the starting offset for each partition in the input stream is of type upcoming). This patch fixes this, by marking a stream as bootstrapped, only when all the systemStreamPartitions in a input stream is consumed by all the expected tasks.
More details here : https://issues.apache.org/jira/browse/SAMZA-1100

Looks like there were build errors with the latest commit. Please resolve.

@jmakes :
Fixed the broken tests.
I've added Map(SystemName -> SystemAdmins) in the classes DefaultChooser and BootstrappingChooser. In tests, those values were not set correctly. Hence the failures.

The failure is due to a Flaky Integration Test : TestStatefulTask. It passes in my local box. It does a kill -9 on a job in the test. Lack of permissions leads to failure.

Added a unit test that contains multiple bootstrappingChooser.register calls for same SSP with different offset(mimicking the same scenario that is the source of this issue)

Merged, and submitted thanks!


No longer returning books, keeps trying to check MusicBrainz

I'm having two oddities that randomly started appearing in my beets-audible workflow.  When attempting to tag a new .m4b file, it keeps trying to check MusicBrainz (even though this value is set to false in the config).  It does not appear to even try checking the Audible metadata.  This just started happening to me this week.  I've pulled the latest version of the docker image, but continue to have the issue.
Error: MusicBrainz not reachable in release search with query {'release': '<<book name>>', 'artist': <<author name>>', 'tracks': '1'}
/untagged/<<author>> - <<book name>> (1 items)
No matching release found for 1 tracks.
For help, see: https://beets.readthedocs.org/en/latest/faq.html#nomatch
[S]kip, Use as-is, as Tracks, Group albums, Enter search, enter Id, aBort?

The setting is disabled in my config.yaml:
musicbrainz:
  enabled: no

Why would it have suddenly started going to MusicBrainz, and no longer checking Audible at all?

Since the only thing that changed was using a new version of Beets, try reverting to the version you used previously?

The problem occurred prior to updating, and did not change after updating.

Does the solution in this comment work for you?
Also, what is the output of the beet --version command? You should see audible in the list of plugins.

Output from beet --version definitely showed some issues:
** error loading plugin copyartifacts:
Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/beets/plugins.py", line 268, in load_plugins
namespace = __import__(modname, None, None)
ModuleNotFoundError: No module named 'beetsplug.copyartifacts'                                                                                ** error loading plugin audible:
Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/beets/plugins.py", line 268, in load_plugins
namespace = __import__(modname, None, None)
File "/plugins/audible/audible.py", line 13, in <module>
from natsort import os_sorted
ModuleNotFoundError: No module named 'natsort'                                                                                beets version 1.6.0
Python version 3.9.16
 plugins: edit, fromfilename, plexupdate, scrub, web

Ok my issue was I was having some DNS server problems.  When updating some packages I kept getting the message:
Temporary failure resolving ‘archive.ubuntu.com’

I fixed the issue by following some guidance here: https://askubuntu.com/questions/91543/apt-get-update-fails-to-fetch-files-temporary-failure-resolving-error
Now the tagging works but I still get some missing package issues.  How can I pull these packages correctly?
** error loading plugin copyartifacts:
Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/beets/plugins.py", line 268, in load_plugins
namespace = __import__(modname, None, None)
ModuleNotFoundError: No module named 'beetsplug.copyartifacts'                                                                                ** error loading plugin audible:
Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/beets/plugins.py", line 268, in load_plugins
namespace = __import__(modname, None, None)
File "/plugins/audible/audible.py", line 13, in <module>
from natsort import os_sorted
ModuleNotFoundError: No module named 'natsort'                                                                                beets version 1.6.0
Python version 3.9.16
 plugins: edit, fromfilename, plexupdate, scrub, web

Fixed natsort  by uninstall and reinstall as mentioned here: https://github.com/Neurrone/beets-audible/issues/31
ModuleNotFoundError: No module named 'beetsplug.copyartifacts'
ModuleNotFoundError: No module named 'beetsplug.audible'
Unsure how to fix the above still though.

I seem to be haviing this same issue: https://github.com/seanap/beets-audible/discussions/8
Unsure how to look at past versions and know which is compatible and which I should pull.

Find the following line in your docker-compose.yml:
      - ./scripts:/config/custom-cont-init.d

and change this to
      - ./scripts:/custom-cont-init.d:ro

There were changes made in the Linuxserver image such that it no longer reads custom scripts from /config/custom-cont-init.d. It now expects them to be in /custom-cont-init.d
I pulled the latest image and this worked to have the plugin installed properly during initialization.
If this works for you, I'll update the readme accordingly.

Is there a way to enable additional verbosity to see what's going on during tagging and why the Audible plugin isn't working?

Ok executed the tagging with the verbose command and this is the output.  It mentioned Audible but is not very helpful:
user configuration: /config/config.yaml
data directory: /config
plugin paths: /plugins/audible
Sending event: pluginload
library database: /config/library.db
library directory: /audiobooks
Sending event: library_opened
Sending event: import_begin
state file could not be read: [Errno 2] No such file or directory: '/config/state.pickle'
Sending event: import_task_created
Sending event: import_task_start
Looking up: /untagged/Soulsmith - Will Wight (M4B)
Tagging Will Wight - Soulsmith : Cradle, Book 2
No album ID found.
Search terms: Will Wight - Soulsmith : Cradle, Book 2
Album might be VA: False
Searching for MusicBrainz releases with: {'release': 'soulsmith : cradle, book 2', 'artist': 'will wight', 'tracks': '1'}
Requesting MusicBrainz release 1726f736-2fc5-4faa-92fe-2a8c3226d43e
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_album_extract
Sending event: albuminfo_received
Candidate: Alyssa Pyper & Alarm Will Sound - cradle (1726f736-2fc5-4faa-92fe-2a8c3226d43e)
Computing track assignment...
...done.
Success. Distance: 0.86
Requesting MusicBrainz release fc131a7f-beab-4a38-9fca-cb7a263af65a
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_album_extract
Sending event: albuminfo_received
Candidate: Wight - Kommz Live (fc131a7f-beab-4a38-9fca-cb7a263af65a)
Computing track assignment...
...done.
Success. Distance: 0.75
Requesting MusicBrainz release 673be6b3-cdf7-499c-b1cb-6105bd280d0e
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_album_extract
Sending event: albuminfo_received
Candidate: Wight - Spank the World (673be6b3-cdf7-499c-b1cb-6105bd280d0e)
Computing track assignment...
...done.
Success.
Success. Distance: 0.84
Requesting MusicBrainz release a0a1f994-470f-4024-ad08-920eec9695b9
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_album_extract
Sending event: albuminfo_received
Candidate: Wight - Atlas (a0a1f994-470f-4024-ad08-920eec9695b9)
Computing track assignment...
...done.
Success. Distance: 0.71
audible: Searching Audible for Soulsmith : Cradle, Book 2 Will Wight
Evaluating 5 candidates.

/untagged/Soulsmith - Will Wight (M4B) (1 items)
Sending event: import_task_before_choice
Sending event: before_choose_candidate
Finding tags for album "Will Wight - Soulsmith : Cradle, Book 2".
Candidates:
1. Wight - Atlas (29.5%) (album, tracks, artist, ...) (Digital Media, 2017, XW)
2. Wight - Kommz Live (24.7%) (missing tracks, album, tracks, ...) (Cassette, 2017, DE, Fat & Holy Records, EYE 020)
3. Wight - Spank the World (17.8%) (missing tracks, album, tracks, ...) (Digital Media, 2020, XW)
4. wight - 瞳の烙淫3 -双眸の洗脳調教- オリジナル・サウンドトラック (16.0%) (missing tracks, album, tracks, ...) (CD, 2013, JP, WitchFlame, WIFS-005)
5. Alyssa Pyper & Alarm Will Sound - cradle (14.4%) (missing tracks, artist, album, ...) (Digital Media, 2022, XW, Cantaloupe Music, CA21180)
# selection (default 1), Skip, Use as-is, as Tracks, Group albums,
Enter search, enter Id, aBort, eDit, edit Candidates?

Ok I'm trying on a completely fresh install of Raspbian (Debian distro) linux OS.  I changed to the specific image you are running, and made the change for the customer-cont-init folder (NOTE: This folder doesn't exist, nor have any contents.... should it?)
After I do docker-compose pull && docker-compose up I get the following:
beets    |
beets    | [custom-init] Files found, executing
beets    | [custom-init] install-deps.sh: executing...
beets    | Installing dependencies...
beets    | WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/beets-audible/
beets    | WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/beets-audible/
beets    | WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/beets-audible/
beets    | WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/beets-audible/
beets    | WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/beets-audible/
beets    | ERROR: Could not find a version that satisfies the requirement beets-audible (from versions: none)
beets    | ERROR: No matching distribution found for beets-audible
beets    | [custom-init] install-deps.sh: exited 1
beets    | ** error loading plugin audible:
beets    | Traceback (most recent call last):
beets    |   File "/usr/lib/python3.10/site-packages/beets/plugins.py", line 268, in load_plugins
beets    |     namespace = __import__(modname, None, None)
beets    | ModuleNotFoundError: No module named 'beetsplug.audible'

Try adding web to the list of plugins. This isn't required by beets-audible, but is used by the startup command for the Beets linuxserver docker image.

Any updates on this, i also have this problem, the web plugin is listed as installed but it still tries to use musicbrainz although i disabled it in the config.

@HabelStefan can you paste the following:

Your full docker-compose file
The output of doing docker-compose up for the first time when creating the container.
The output when you execute the beet --version command
A verbose log when importing something. The verbose flag will provide more info to see what's going on.

Thank you for your reply. Instead of installing it using the DSM (Synology) Docker app, i logged in using ssh, using your compose file and somehow its working now, although the compose file used using the docker app is exactly the same.

--- version: "3" services:   beets:     image: lscr.io/linuxserver/beets:1.6.0-ls167     container_name: beets-audible     environment:       # Update as needed       - PUID=0       - PGID=0       - TZ=ETC/UTC     volumes:       - ./config:/config       - ./scripts:/custom-cont-init.d       - /volume1/Music/Audiobooks:/audiobooks       - /volume1/Musikaufnahme/m4b/temp/untagged/:/input     restart: unless-stopped
2.

Candidate: Roy Black - Ein Hauch von Sinnlichkeit (3490a493-b8e7-4acf-988e-f3b0c5b0b6a2)
Computing track assignment...
...done.
Success. Distance: 0.88
audible: Searching Audible for Outlander - Ein Hauch von Schnee und Asche (Ungekürzte Lesung) Diana Gabaldon
Evaluating 5 candidates.
Sending event: import_task_start
Looking up: /input/taggen/Diana Gabaldon - Outlander - Ferne Ufer (Ungekürzte Lesung)
Tagging Diana Gabaldon - Outlander - Ferne Ufer (Ungekürzte Lesung)
No album ID found.

Success. Distance: 0.97
Requesting MusicBrainz release bdef76a8-6b7c-4e01-83b9-43097b1b4b17
Sending event: mb_track_extract
Sending event: mb_album_extract
Sending event: albuminfo_received
Candidate: Cantus Levitas - Ferne Ufer (bdef76a8-6b7c-4e01-83b9-43097b1b4b17)
Computing track assignment...
...done.
Success.
Success.
Success. Distance: 0.98
Requesting MusicBrainz release dbe9e0ff-c917-44e8-9ef8-e40b844604f9
Sending event: mb_album_extract
Sending event: albuminfo_received
Candidate: Diana Gabaldon - A Breath of Snow and Ashes (dbe9e0ff-c917-44e8-9ef8-e40b844604f9)
No tracks.
audible: Searching Audible for Outlander - Ferne Ufer (Ungekürzte Lesung) Diana Gabaldon
Evaluating 4 candidates.
Sending event: import_task_start
Looking up: /input/taggen/Diana Gabaldon - Outlander - Feuer und Stein (Ungekürzte Lesung)
Tagging Diana Gabaldon - Outlander - Feuer und Stein (Ungekürzte Lesung)
No album ID found.

Success. Distance: 0.94
Requesting MusicBrainz release 57118bee-4d64-4f17-b099-7e20163c8d00
^CAlbum 57118bee-4d64-4f17-b099-7e20163c8d00 has too many tracks
Retrieving tracks starting at 0
Retrieving tracks starting at 100
Correcting tags from:
A.M. Ollikainen - Die Tote im Container - TEAM HELSINKI - Paula Pihlaja-Reihe, Teil 1 (Ungekürzt)
To:
Serenus Zeitblom Oktett - Erster Teil - Zweiter Teil - Dritter Teil
URL:
https://musicbrainz.org/release/3b9c1712-f4fc-491e-8c38-be08e645d6c6
(Similarity: 15.9%) (artist, album, missing tracks, tracks, year) (12" Vinyl, 2017, DE, Hyperdelia, HEX001)

Kapitel 1 - Die Tote im Container - TEAM HELSINKI - Paula Pihlaja-Reihe, Teil 1 (#0) (610:59) -> Dritter Teil (Einklang, Linie A, Linie B, Eins, Ende) (#3) (12:58) (title, length)
Missing tracks (2/3 - 66.7%):
! Erster Teil (Einklang, Fläche A, Fläche B, Wunderwald, Unendlich, Gleichzeitig/Ausklang) (# 1) (16:01)
! Zweiter Teil (Kaleidoskop, Stasis, Null, Stasis #2, Glockenklang)                        (# 2) (9:01)
Apply, More candidates, Skip, Use as-is, as Tracks, Group albums,
Enter search, enter Id, aBort, eDit, edit Candidates?
Success.
Success. Distance: 0.98
Requesting MusicBrainz release dbe9e0ff-c917-44e8-9ef8-e40b844604f9
^CTraceback (most recent call last):
File "/usr/lib/python3.10/site-packages/beets/util/pipeline.py", line 427, in run_parallel
threads[-1].join(1)
File "/usr/lib/python3.10/threading.py", line 1100, in join
self._wait_for_tstate_lock(timeout=max(timeout, 0))
File "/usr/lib/python3.10/threading.py", line 1116, in _wait_for_tstate_lock
if lock.acquire(block, timeout):
KeyboardInterrupt

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.10/site-packages/beets/ui/init.py", line 1285, in main
_raw_main(args)
File "/usr/lib/python3.10/site-packages/beets/ui/init.py", line 1272, in _raw_main
subcommand.func(lib, suboptions, subargs)
File "/usr/lib/python3.10/site-packages/beets/ui/commands.py", line 973, in import_func
import_files(lib, paths, query)
File "/usr/lib/python3.10/site-packages/beets/ui/commands.py", line 943, in import_files
session.run()
File "/usr/lib/python3.10/site-packages/beets/importer.py", line 340, in run
pl.run_parallel(QUEUE_SIZE)
File "/usr/lib/python3.10/site-packages/beets/util/pipeline.py", line 440, in run_parallel
thread.join()
File "/usr/lib/python3.10/threading.py", line 1096, in join
self._wait_for_tstate_lock()
File "/usr/lib/python3.10/threading.py", line 1116, in _wait_for_tstate_lock
if lock.acquire(block, timeout):
KeyboardInterrupt
Sending event: mb_album_extract
Sending event: albuminfo_received
Candidate: Diana Gabaldon - A Breath of Snow and Ashes (dbe9e0ff-c917-44e8-9ef8-e40b844604f9)
No tracks.
Requesting MusicBrainz release 4965610b-7fe9-4e45-a563-fd33bb7f5096
^CException ignored in: <module 'threading' from '/usr/lib/python3.10/threading.py'>
Traceback (most recent call last):
File "/usr/lib/python3.10/threading.py", line 1567, in _shutdown
lock.acquire()

This is the config:
add audible to the list of plugins
copyartifacts is optional but recommended if you're manually specifying metadata via metadata.yml, see the "Importing non-audible content" section
plugins: audible copyartifacts edit fromfilename scrub web
directory: /audiobooks
Place books in their own folders to be compatible with Booksonic and Audiobookshelf servers
paths:
For books that belong to a series
"albumtype:audiobook series_name::.+ series_position::.+": $albumartist/%ifdef{series_name}/%ifdef{series_position} - $album%aunique{}/$track - $title
"albumtype:audiobook series_name::.+": $albumartist/%ifdef{series_name}/$album%aunique{}/$track - $title
Stand-alone books
"albumtype:audiobook": $albumartist/$album%aunique{}/$track - $title
default: $albumartist/$album%aunique{}/$track - $title
singleton: Non-Album/$artist - $title
comp: Compilations/$album%aunique{}/$track - $title
albumtype_soundtrack: Soundtracks/$album/$track $title
disables musicbrainz lookup, as it doesn't help for audiobooks
musicbrainz:
enabled: no
audible:
if the number of files in the book is the same as the number of chapters from Audible,
attempt to match each file to an audible chapter
match_chapters: true
source_weight: 0.0 # disable the source_weight penalty
fetch_art: true # whether to retrieve cover art
include_narrator_in_artists: true # include author and narrator in artist tag. Or just author
keep_series_reference_in_title: true # set to false to remove ", Book X" from end of titles
keep_series_reference_in_subtitle: true # set to false to remove subtitle if it contains the series name and the word book ex. "Book 1 in Great Series", "Great Series, Book 1"
write_description_file: true # output desc.txt
write_reader_file: true # output reader.txt
copyartifacts:
extensions: .yml # so that metadata.yml is copied, see below
scrub:
auto: yes # optional, enabling this is personal preference

The enabled option no longer works. Use the following to disable the lookup in the config file:
musicbrainz:
    # disables musicbrainz lookup, as it doesn't help for audiobooks
    host: localhost:5123

I verified this works to prevent the musicbrainz lookup with the following docker-compose file with the latest release of the docker image.
---
version: "3"
services:
  beets:
    image: lscr.io/linuxserver/beets:1.6.0-ls180
    container_name: beets-audible
    volumes:
      - ./config:/config
      - ./scripts:/custom-cont-init.d
      - ./audiobooks:/music
      - ./input:/downloads
    ports:
      - 8337:8337
    restart: unless-stopped

Thank you for your help. I finally found some time to try it.
It seems to work but there are some problems i discovered.

German mutated vowels obviously breaks the search using audible.
If the track name does contain more the author + title it also breaks (like unabridged reading <-- dont know if you call it this way in englisch :)

Is there any way to overcome these problems?
Best regards,
Stefan

Regarding 2.
Assume your title is not author + booktitle but its e.g. author + booktitle ( unabridged).

Have looked at your code and it seems you are removing  unabridged from the title so i can modify it.
But how so i install the modified to beets? I have no experience with it.


Add Text Alignment

I have made two commits to implement text alignment.
Commit 1 - Text Changes

No longer uses a recursive hell
New alignment option - Jimp#print(font, x, y, text, maxWidth, alignment, cb)

Jimp.ALIGN_FONT_LEFT

Jimp.ALIGN_FONT_CENTER

Jimp.ALIGN_FONT_RIGHT

Added mid-word text wrapping

Commit 2 - Minor Fixes

Documentation
Check if alignment is undefined
Use incremental for loop instead of for of for compatibility

this change is much needed and i am also expecting it in JIMP let see when it will merge :)

This would be a breaking change for those, relying on old signature and using node-style callback parameter, wouldn't it?
image.print(font, x, y, str, maxWidth, function(err, img) {
    /* ... */
});

In this case callback is assigned to alignment and exception "alignment must be a number" is going to be thrown. Attribute reassignment logic should be updated to account for that case.

Also there already are HORIZONTAL_ALIGN_LEFT, HORIZONTAL_ALIGN_CENTER and HORIZONTAL_ALIGN_RIGHT, why not reuse those constants?
Notice how Jimp.AUTO is used in multiple situations (resize, getBuffer, getBase64 methods)

@Iwasawafag can you kindly tell any progress on this?

Sorry that I'm asking again, but is it possible to review this PR and merge it if it is ok?
If the only problem is backward compatibility, you can achieve this simply by something like:
if ("undefined" == typeof cb && "function" == typeof alignment) {
    cb = alignment;
}

Let me tell you this. I'm working on a very important project that requires writing Persian text on image. Persian text are RTL and right-aligned. I somehow managed to do the RTL thing (I can make a PR to add RTL support for texts to JIMP if you are interested) but alignment can't be done from outside of project.
So if it is possible, please add this functionality.
Thanks

It seems like this PR won't be merged soon. So anyone can add this to your package.json file to use this unmerged PR for now:
{
  "dependencies": {
    "jimp": "git+https://github.com/oliver-moran/jimp.git#pull/199/head"
  }
}

Does anyone in this thread want to tell me how this is different than using the current constants?

@hipstersmoothie not sure if any behaviour with the current constants has changed, considering that this PR is 2 years old, but iirc the main difference is text wrapping.

I think you can fix the breaking change by aligning with this syntax
Jimp.loadFont(path).then(function(font) {
    image.print(
        font,
        x,
        y,
        {
            text: 'Hello world!',
            alignmentX: Jimp.HORIZONTAL_ALIGN_CENTER,
            alignmentY: Jimp.VERTICAL_ALIGN_MIDDLE,
        },
        maxWidth,
        maxHeight
    ); // prints 'Hello world!' on an image, middle and center-aligned
});

unless of course the above can get you what you want. Could I see pictures showcasing the differences?


fix(babel-plugin-export-metadata): re-export causes meta error

Description
This PR could fix #794 . @pedronauck
Fix re-export caused error. Following re-export are fixed:
export { default } from './a'

export { a } from './a'

export { default as b } from './a'

export { a as default } from './a'

export { a as b } from './a'

Review

[x] add tests

Real cool dude, thanks a lot 🙏


Improvements to the project based on peer review & Milestone requirements

choose and justify licence: tomorrow

enable ci & cd: done by Oak

Edit README instructions for installing the package with instructions how to create environment file: sandy

Add Usage examples on README: Kun

Documentation link to READThe doc: sandy

Hyperlinks to the Code of Conduct and Contributing Guidelines: Katherine

Add Milestone labels: sandy

Add condition for creating graphs: Kun

Add raise section to doctoring of functions: Katherine

Example Doctoring (change graph in the example to False): KUN

Note why median not 50%: Katherine

Issue: why not add poetry to environment: sandy

Add links to vignettes: sandy

Sandy creates document with changes fixed without mentioning 'Feedback':

Enviornment file
renaming function

Dev installation guide:
Create empty conda with just python:

conda create -n mathdistops python=3.9
conda activate mathdistops
conda install poetry
poetry install


Untyped/gradual dada motivation

Hi,
I think this is a really cool project. I'm curious about the choice of gradual typing and was very surprised to hear nikomatsakis say in #54 I also really want a language that is completely usable without types. The design docs just seem to list support for a dynamic/gradual fragment as a goal, but I would be really interested to know more about the motivation behind it.
Thanks!

@ammkrn My motivation is that I think a certain segment of people learn best by being able to play with and execute programs. I think it'd be really helpful if you could teach dada concepts at first without introducing types, just showing dynamic errors of various kinds -- ideally you'd do the first few projects this way. Once people learn how that works, they can add in the type system and have an intuitive feeling for how the patterns it expresses are useful.
That said, I'm not sure if this will work out, it's an experiment. A second motivation is being able to hack together quick edits while debugging and the like.

Despite the super delayed reply, I really appreciate you sharing your thoughts. Thank you!


Hack vsman file

Adds code to BuildRelease.ps1 to write correct size and sha256 info to the .vsman file

Hi @RyanCavanaugh, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Ryan Cavanaugh). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;


investigate using gradle instead of sbt at some point

Let's open a discussion about it here. What's the reason to move to gradle instead of sbt ? What do we want to gain from doing this ?

We just touched on it briefly in our discussion today. It's more a longer term open question - moving to use mroth's sbt builder image is in our immediate roadmap. We were wondering if it could be helpful since some of our projects use multiple languages and also avoid some of the slowness of sbt. @fforbeck raised Gradle and can maybe add more points here.

As I mentioned in the call it was just an idea that could help us to save some building time. There is a nice post about that from LinkedIn engineering team:

https://engineering.linkedin.com/blog/2018/07/how-we-improved-build-time-by-400-percent

Overall it seems to be faster for building Play java apps of different sizes. The key points they noticed were: Productivity boost, Faster builds, Maintainability, Scalability (they were talking about hundreds of microservices and several daily deployments).
There is a Scala plugin for Gradle, perhaps we could look more into that in the future. It might not be suitable for our needs atm, but just wanted to point that out.

For play apps, we should use that: https://docs.gradle.org/current/userguide/play_plugin.html
I like the idea of investigating different building tools and see which one suits us the best.
I've heard of bazel too but not sure if it fits our needs either


[FEATURE] Extend supported versions to 2024.3

Description
Jetbrains has released version 2024.3 EAP of their IDEs but the plugin doesn't support it.
Suggested Solution
Indicate support for 2024.3.
Alternatives
No response
Additional Context
No response

It seems the JetBrains docs are incomplete: I only now learned that an undefined latest IDE version defaults to 2024.2 in our case, as opposed to 'all the IDEs since'.

fixed with 1.1.1

Awesome. Thanks 🙂
Let me know once the new version is published.

@hakimio You're welcome. So, it's out now, please let me know how it behaves.

Thank you, Tim. I can confirm that the updated plugin works great with 2024.3 EAP.


CA-112 Fix tfsec warning metadata http-token

https://tfsec.dev/docs/aws/ec2/enforce-http-token-imds/#aws/ec2

@souza-dan It shouldn't be a problem unless we direct curl the metadata API. The CLI and SDK have been updated to handle the tokens. Is there something specific you'd like us to test? I'll spin up a VM and make sure it's all good. You can see more info here

this was done and tested in a different PR by Fede. https://github.com/Datatamer/terraform-aws-tamr-vm/pull/36


Compatibility issue ansible-lint 6.17.0

Issue Type

Bug report

Molecule and Ansible details
ansible --version && molecule --version
ansible [core 2.15.0]
  config file = /home/USERID/.ansible.cfg
  configured module search path = ['/home/USERID/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/USERID/.pyenv/versions/spot311/lib/python3.11/site-packages/ansible
  ansible collection location = /home/USERID/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/USERID/.pyenv/versions/spot311/bin/ansible
  python version = 3.11.2 (main, May  9 2023, 12:34:19) [GCC 11.3.0] (/home/USERID/.pyenv/versions/spot311/bin/python)
  jinja version = 3.1.2
  libyaml = True
molecule 5.0.1 using python 3.11
    ansible:2.15.0
    azure:23.4.1 from molecule_plugins
    containers:23.4.1 from molecule_plugins requiring collections: ansible.posix>=1.3.0 community.docker>=1.9.1 containers.podman>=1.8.1
    delegated:5.0.1 from molecule
    docker:23.4.1 from molecule_plugins requiring collections: community.docker>=3.0.2 ansible.posix>=1.4.0
    ec2:23.4.1 from molecule_plugins
    gce:23.4.1 from molecule_plugins requiring collections: google.cloud>=1.0.2 community.crypto>=1.8.0
    podman:23.4.1 from molecule_plugins requiring collections: containers.podman>=1.7.0 ansible.posix>=1.3.0
    vagrant:23.4.1 from molecule_plugins

Molecule installation method (one of):

pip

Ansible installation method (one of):

pip

Detail any linters or test runners used:
Desired Behavior
I want to update ansible-lint to the latest version (6.17.0):
pip install --upgrade ansible-lint

Actual Behaviour
Updating ansible-lint results in a compatibility error with ansible-compat caused by molecule:
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
molecule 5.0.1 requires ansible-compat<4.0.0,>=2.2.0, but you have ansible-compat 4.1.2 which is incompatible.
Successfully installed ansible-compat-4.1.2

This will be fixed with #3904 and it's probably a related duplicate of #3903.

Fixed by https://github.com/ansible-community/molecule/discussions/3942


Fix compile errors when building with --api=1.1.0 no-deprecated.

Fixes #15963
INSTALL.md uses these exact options as an example so it should work.

Checklist

[ ] documentation is added or updated
[x] tests are added or updated

Tested using
>./Configure -Werror --strict-warnings --api=1.1.0 no-deprecated

@paulidale should we have a Github Action for this? (Probably not really necessary once it works)

I don't think a new run just for this is worthwhile.  If it could be fitted into an existing run then okay.

24 hours has passed since 'approval: done' was set, but as this PR has been updated in that time the label 'approval: ready to merge' is not being automatically set.  Please review the updates and set the label manually.

Merged.


Note about bar plots with log scales

This adds a hint that bars must include an explicit start and end so that the domain doesn't include zero when using log scales.
See #1038.

It's not only about bars—other marks such as rect and area also have an implicit base value = 0.
An alternative would be to write:

A log transform is suitable for comparing orders of magnitude and can only be used when the domain does not include zero—for marks such as areas or bars, which implicitly extend from a zero baseline, this means specifying non-zero start and end values.

On a more philosophical note I'm struggling to know what to recommend in that case, because in general, bar charts typically encode quantities that can be added (and stacked), and addition only works well with a linear scale.
Back to your notebook, I like what you did in the last example with x: {type: 'log', domain: [1e3, 1e7], clamp: true}; using a symlog scale would also work well.
Here are two other approaches I've tried:

transforming the values with a log function:

Plot.plot({
  marks: [
    Plot.barX(data, Plot.mapX(X => X.map(d => Math.log10(d)), {x: "count", y: "letter"}))
  ],
  x: {tickFormat: d => 10**d},
  grid: true
})

using offset to add 1 to every start and end values:

Plot.plot({
  marks: [
    Plot.barX(data, {
      x: "count",
      y: "letter",
      offset: (index, start, end, z) => {
        for (const facet of index) {
          for (const series of facet) {
            for (const i of series) start[i] = 1 + start[i];
          }
        }
      }
    })
  ],
  x: { type: "log" },
  grid: true
})

Note that the offset strategy allows to stack values, but makes it even harder to make sense of the resulting chart, because you basically have to do a reverse mental calculation.

Revising this, an alternative might be to change the bar section, where it has:
"this is the typical configuration for a vertical bar chart with bars aligned at y = 0"
we could add " (note that this supposes that the y scale is linear, or at the very least can represent 0)."
This would be correct in a sense, but alas I'm not sure it would help anyone figure out what they're doing wrong… I'll close the suggestion for now, because I don't see how we can address this properly—maybe it's more something for a tutorial. More suggestions are still welcome!


Support pre-authenticated Access Token in addition to username/password.

@blardo 100% agree, would love to see us get this added.
Ideally Skuid Platform would be able to act as a true OAuth 2.0 provider, with the ability for each site to register OAuth clients, which could be revoked/managed individually, and with support for Refresh Tokens. Then, Skuid CLI could perform a proper OAuth 2.0 login process, where we could open up a browser window to have the user authorize the OAuth client, and then get back a refresh token, which, for local development especially, the Skuid CLI could store locally in a hidden folder, along with access token. Then whenever the Skuid CLI was used, it could attempt to use it's access token, and if it is expired, it could transparently use the refresh token to obtain a new access token --- thereby eliminating the need for the user to ever store their username/password locally.
For CI environments, we could also support the "Resource Owner Password Credentials" or "Client Credentials" grant types so that in CI, Client Id / Client Secret / Username / Password could be provided as ENV variables and we could perform a headless grant.
It would be therapeutic for me to implement this on Skuid Platform sometime in the next 2 months. We'll see how much time I have for "therapy" :)


Add Traffic Monitor gbps calculated stat, for thresholds.

Right now, for bandwidth thresholds, the Monitor has availableBandwidthInKbps and kbps. For multi-gigabit servers, the Parameters end up being like 60000000. Hard to keep track of all those zeros.
It'd be super-easy to add another calculated stat to the Monitor, gbps, so you could use a parameter health.threshold.gbps 4, which is much easier for Ops to visually verify is correct.
I'm submitting a ...

[ ] bug report
[x] new feature / enhancement request
[x] improvement request (usability, performance, tech debt, etc.)
[ ] other

Traffic Control components affected ...

[ ] CDN in a Box
[ ] Documentation
[ ] Grove
[ ] Traffic Control Client
[x] Traffic Monitor
[ ] Traffic Ops
[ ] Traffic Ops ORT
[ ] Traffic Portal
[ ] Traffic Router
[ ] Traffic Stats
[ ] Traffic Vault
[ ] unknown

Current behavior:
Bandwidth thresholds are kbps , which has tons of zeros, hard for Ops to manage and verify correct.
Expected / new behavior:
gbps Calculated Stat exists in the Monitor, so operators can use health.threshold.gbps as a Threshold.
Minimal reproduction of the problem with instructions:
Setting health.threshold.gbps Parameter in TO works as a TM threshold.
Anything else:
Not really.

Should be 2 lines, right here: https://github.com/apache/trafficcontrol/blob/49df3d40f76fc5b8d1ed038bb637010d02a41387/traffic_monitor/cache/cache.go#L154

I would like to try this issue
Thanks


Investigate adding other EVM wallets

Investigate how we could add Wallet Connect.

Rainbowkit is a great tool for react, could try https://github.com/wobsoriano/vagmi which is a vue port of wagmi which is the parent project of rainbowkit

@poplexity could you add more information on the acceptance criteria for adding a new wallet? What is the minimal functionality we should provide?
Which are the known commonly used wallets that would be most easy to implement? It would be just Wallet Connect?


Client Allocation Request for: seoulwalkman

Client Allocation Questions
Core Information

Name: seoulwalkman
Website / Social Media: https://youtube.com/user/bogartha
Region: Asia excl. Greater China
DataCap Requested: 5TiB
Addresses to be Notarized: f3q4zgcmra5rtjficg2742u4qidwk5mwqpcoys4vuvynyzybmsjmhwarypx5ykresumnowawiooxm7it6p6iuq
Notary Requested: neogeweb3

@noelawton Please subscribe to notifications for this Issue to be aware of updates. Notaries may request additional information on the Issue.

Close due to duplicate.


Edit Beacon shows redirected-url not raw value

I guess we added this feature because of our auto-shortening of long urls, but its super confusing if I manually set it to a shortened value and actually want to confirm its set to that.  Every time I set the beacon to goo.gl/... and re-edit to confirm its set properly, I get two wrong value.

We could add a switch to the card to show the original url if it differs from the one we got from the server.

+1 to that.
Or, show both urls?  Show the actual value in the textbox, but what it redirects to as a sub-label?

Or, show both urls?

Yea, that's what I was thinking.

This is something for the Physical Web app (which is meant for devs) but will not go into the final scanning client


add tx_pool unit test

In order to create multiple TxPool instance in unit test, I've changed NewTxPool so that txStats will have a pool name prefix.

Great stuff!

lgtm


Update communication.md

[ ] PR's title includes the challenge's name and language
[x] PR has short and clear description of the challenge
[ ] PR has appropriate labels and milestones for easy identification
[ ] PR it is assigned to the owner
[ ] reviewers are assigned
[ ] the PR contributes only one focused change
[x] the branch is up to date with main/master
[ ] the code works when pulled and run locally
[ ] all conflicts are resolved (if any)
[ ] It is linked to an issue in the appropriate column of the project board
[ ] feedback is addressed (if any, and if it is appropriate feedback.)

README Documentation

[ ] The solution is documented in /src/README.md
[x] The markdown source is formatted
[x] Spelling and grammar is correct in all text
[ ] The markdown looks correct when you preview the file
[ ] All links and images work
[ ] The README documents the solution's behavior, strategy(ies) and implementation(s)
[ ] There are use cases in code blocks to illustrate the function's behavior

Python Files

[ ] There is a module header
[ ] There is a module docstring
[ ] File names are in snake_case
[ ] Test files are named test_<module_name>.py

Function Docstring

[ ] Behavior description
[ ] Parameter description
[ ] Return value description
[ ] Include any assumptions
[ ] Include 3 or more (passing!) doctests
[ ] Include 1-2 use cases (if necessary)

Function Implementation

[ ] The solution is not is not copied from djeada
[ ] The code is auto-formatted
[ ] The code has no (reasonable) linting mistakes
[ ] Variables are named with snake_case
[ ] The function has a clear and helpful name
[ ] The file's name matches the function name
[ ] The code follows the strategy as simply as possible
[ ] Variable names are clear and helpful
[ ] Comments explain the strategy (if necessary)
[ ] There are type annotations
[ ] (challenge) The code includes defensive assertions

Unit Test Suite

[ ] The test class has a helpful name in PascalCase
[ ] The test class has a docstring
Each unit test has

[ ] A helpful name
[ ] A clear docstring
[ ] Only one assertion

[ ] All tests pass
[ ] There are tests for defensive assertions
[ ] There are tests for boundary cases
[ ] Test suite includes black-box and glass-box tests

That's great Volodymyr. We also can add some points on communications, like channels through which our mainstream communications should be done, proper naming of the commits, and clear and concise description of what changes are made in a commit.


Update README.md

Created another PR for this into dev rather than main to align with current development practices. Closing this one now.


The BE disk is not released and will only be released after each restart

Describe the bug
The BE disk is not released and will only be released after each restart.
Below is the restart log：
W0920 17:24:07.175283 75191 data_dir.cpp:728] find invalid rowset:<PHONE_NUMBER>1582b49a415cc3b496d918d48364956230ab99 with tablet id: 29430 tablet uid: fb47fbe07cb4fc35-6533cdb05cbb19af schema hash: 411814181 txn: 5799439 current valid tablet uid: 6c4ad7267bea7f69-4ca12ce0c269a294
W0920 17:24:07.175290 75191 data_dir.cpp:684] could not find tablet id: 20023, schema hash:<PHONE_NUMBER>, for rowset:<PHONE_NUMBER>0fa3c9864e12868c761b100fce122d0a50c7be, skip this rowset
W0920 17:27:03.799171 75311 alpha_rowset.cpp:170] failed to get largest_segment_group. is null: 1. version: 0-17704. tablet: 31455
Version
[Bug] Fix null pointer when replay RollupJob (#4572)

ddl
CREATE TABLE `dwd_live_att_lesson` (
  `courseId` int(11) NOT NULL COMMENT "课程id",
  `lessonId` int(11) NOT NULL COMMENT "课时id",
  `userId` varchar(255) NOT NULL COMMENT "用户id",
  `submitDay` date NOT NULL COMMENT "数据提交日期",
  `liveId` varchar(255) NULL COMMENT "直播id",
  `lessonDuration` bigint(20) NOT NULL COMMENT "单课时直播时长",
  `groupId` int(11) NULL COMMENT "组id",
  `watchedLiveDuration` bigint(20) NOT NULL COMMENT "已观看直播时长",
  `watchedRecordDuration` bigint(20) NOT NULL COMMENT "已观看录播时长",
  `watchedDuration` bigint(20) NOT NULL COMMENT "已观看时长",
  `attendanceRate` double NOT NULL COMMENT "出勤率",
  `syncedAt` bigint(20) NOT NULL COMMENT "同步时间"
) ENGINE=OLAP
UNIQUE KEY(`courseId`, `lessonId`, `userId`)
COMMENT "DWD层_直播出勤课时维度数据"
DISTRIBUTED BY HASH(`courseId`) BUCKETS 10
PROPERTIES (
"replication_num" = "3",
"in_memory" = "false",
"storage_format" = "V2"
);

I use routine load import data

W0920 18:08:09.988773 75846 version_graph.cpp:424] fail to find path in version_graph. spec_version: 4081-4147
W0920 18:08:09.988793 75846 tablet.cpp:483] tablet:47981.1827594702.ea491a916b7ce3d6-07f462b2d7c987a8, version already has been merged. spec_version: [4081-4147]
W0920 18:08:09.988801 75846 tablet.cpp:417] The consistent version check fails, there are bugs. Reconstruct the tracker to recover versions in tablet=47981
W0920 18:08:09.996758 75846 version_graph.cpp:424] fail to find path in version_graph. spec_version: 3747-3813
W0920 18:08:09.996778 75846 tablet.cpp:483] tablet:47987.1827594702.e245897910e47943-4b9250cf732e1bb5, version already has been merged. spec_version: [3747-3813]
W0920 18:08:09.996785 75846 tablet.cpp:417] The consistent version check fails, there are bugs. Reconstruct the tracker to recover versions in tablet=47987
W0920 18:08:10.003489 75846 version_graph.cpp:424] fail to find path in version_graph. spec_version: 3882-3952
W0920 18:08:10.003513 75846 tablet.cpp:483] tablet:48001.1827594702.234faf686b6f1c10-da1acd919a1a68bc, version already has been merged. spec_version: [3882-3952]
W0920 18:08:10.003522 75846 tablet.cpp:417] The consistent version check fails, there are bugs. Reconstruct the tracker to recover versions in tablet=48001
W0920 18:08:10.010356 75846 version_graph.cpp:424] fail to find path in version_graph. spec_version: 3888-3956
W0920 18:08:10.010376 75846 tablet.cpp:483] tablet:48007.1827594702.404d260fd5d12851-1e0c0c3a56edf9aa, version already has been merged. spec_version: [3888-3956]
W0920 18:08:10.010385 75846 tablet.cpp:417] The consistent version check fails, there are bugs. Reconstruct the tracker to recover versions in tablet=48007
W0920 18:08:10.015275 75846 version_graph.cpp:424] fail to find path in version_graph. spec_version: 3964-4029
W0920 18:08:10.015293 75846 tablet.cpp:483] tablet:48034.1652680894.5b4e7e050fc2ad87-553912ebce78baac, version already has been merged. spec_version: [3964-4029]
W0920 18:08:10.015301 75846 tablet.cpp:417] The consistent version check fails, there are bugs. Reconstruct the tracker to recover versions in tablet=48034
W0920 18:08:10.020298 75846 version_graph.cpp:424] fail to find path in version_graph. spec_version: 3968-4045
W0920 18:08:10.020316 75846 tablet.cpp:483] tablet:48040.1652680894.3e400b5ccda5ad30-5e84f119365dbeac, version already has been merged. spec_version: [3968-4045]
W0920 18:08:10.020324 75846 tablet.cpp:417] The consistent version check fails, there are bugs. Reconstruct the tracker to recover versions in tablet=48040
W0920 18:08:10.024533 75846 version_graph.cpp:424] fail to find path in version_graph. spec_version: 4054-4119
W0920 18:08:10.024550 75846 tablet.cpp:483] tablet:48068.1652680894.c5404db3ebb296da-f7aab3b3eb54f296, version already has been merged. spec_version: [4054-4119]
W0920 18:08:10.024559 75846 tablet.cpp:417] The consistent version check fails, there are bugs. Reconstruct the tracker to recover versions in tablet=48068

I have a lot of similar logs in the new version 0.14. Is there any solution

怎么解决的


libdwarf: 20181024 -> 20210528

Description of changes
Changelog: https://www.prevanders.net/dwarf.html#libdwarf-20210528
dwarfdump is kept for backward compatibility
Note that the latest version libdwarf is 0.4.0, but we cannot make 0.4.0 default because it changed the include path and it would break all packages that depend on libdwarf.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review run on x86_64-linux 1

6 packages built:

anbox
apitrace
ctypes_sh
libdwarf (dwarfdump)
elf-dissector
flatpak-builder


Add Charlie importance sampling to cmgen.exe

As discussed offline with @romainguy, this is a proposition of importance sampling based on the Charlie distribution.
Comparing the values of the generated textures in both cases, it looks all good but this might require more in engine testing.
The sampling method as not been put by default to ease the testing without impact: https://github.com/google/filament/compare/google:master...sebavan:master#diff-a4a7927a3d47229762f1933aac649674R993
Do not hesitate to close/modify if not relevant.

I signed it!

Thank you!

You're welcome, that the least I could do :-)


Null event crashes when called

Version
3.0.2
Reproduction link
https://jsfiddle.net/7ntxygdp/
Steps to reproduce
Compiler optimization cacheHandlers changes the behavior of the linked fiddle.
Basically without the optimization you can bind null as an event handler and everything works fine (i.e. nothing happens when event is called).
If you compile with cacheHandlers, the following code is generated:
https://vue-next-template-explorer.netlify.app/#{"src"%3A"<input %40blur%3D\"null\">"%2C"options"%3A{"mode"%3A"module"%2C"prefixIdentifiers"%3Afalse%2C"optimizeImports"%3Afalse%2C"hoistStatic"%3Atrue%2C"cacheHandlers"%3Atrue%2C"scopeId"%3Anull%2C"ssrCssVars"%3A"{ color }"%2C"bindingMetadata"%3A{"TestComponent"%3A"setup"%2C"foo"%3A"setup"%2C"bar"%3A"props"}%2C"optimizeBindings"%3Afalse}}
It's very easy to see that it's calling null(...args) which of course fails at runtime.
What is expected?
Same behavior, no crash
What is actually happening?
Different behavior, crash when optimized.

It's pretty useful when you want to listen to an event sometimes, but not always, or when you're passing through (optional) handlers from outside code.
It can be done by using the @event="member" syntax, :onEvent="member" or easily inside a functional component.
The alternatives would be to coalesce a no-op () => {} function or don't bind the event at all, which are a lot less convenient than passing null.
In any case, the fact that non-optimized and optimized cases do not behave the same is bad.

It seems like there has no non-null assetions when compile v-on directive.

I create a PR to assert if expression is a function by wraping it into a IIFE when the expression is a Instance member, but i think it's not a recommendable way, so you can just ignore the PR above.


cdn subresource integrity

Is there a cdn link available that allows for subresource integrity?

unpkg, which is the only CDN listed on the docs doesn't support SRI (AFAIK) and that can cause an issue (see: https://news.ycombinator.com/item?id=14111499)
I have created a request and a PR with cdnjs to add reactstrap to their CDN, which does support SRI.

great news! thank you
On 28 Jun 2017 6:57 p.m., "Evan Sharp"<EMAIL_ADDRESS>wrote:
unpkg, which is the only CDN listed on the docs doesn't support SRI (AFAIK)
and that can cause an issue (see: https://news.ycombinator.com/
item?id=14111499)
I have created a request and a PR with cdnjs to add reactstrap to their
CDN, which does support SRI.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/reactstrap/reactstrap/issues/476#issuecomment-311722232,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKC35n9mmW9dBJoGRsPSFB-NrHfCa28Sks5sIoX-gaJpZM4OEtns
.

Hi,
I use the current reactstrap npm module with the react/react-dom/react-router-dom library links below.
However, it looks like the reactstrap npm module requires the react-transition-group npm module.
Will the new reactstrap cdn work without the react-transition-group npm module or is there a cdn link for react-transition-group as well?

react-transition-group is needed; it is not included in the umd bundle which is on the cdn. I am not sure if react-transition-group is in cdnjs or not (I cannot easily check at the moment), but if it isn't you can open a request (issue) with them to add it.
Also cdnjs just makes it super easy to use SRI by providing the hash, but you can determine the hash yourself and use any CDN which has CORS support (unpkg.com may have that, I cannot check at the moment). Check out https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity

I have opened a request on cdnjs for react-transition-group.
In the meantime I found that unpkg has a cdn. I am using the unpkg links of
reactrstrap and react-transition-group at the moment. My pages work, except
for those that contain an Alert element.
I get this error: Uncaught TypeError: Cannot read property
'CSSTransitionGroup' of undefined
at zo (Alert.js:71)
In my browser I have React and ReactTransitionGroup objects. How do I get
Alert to use ReactTransitionGroup.CSSTransitionGroup?
On 29 June 2017 at 14:27, Evan Sharp<EMAIL_ADDRESS>wrote:

react-transition-group is needed; it is not included in the umd bundle
which is on the cdn. I am not sure if react-transition-group is in cdnjs or
not (I cannot easily check at the moment), but if it isn't you can open a
request (issue) with them to add it.
Also cdnjs just makes it super easy to use SRI by providing the hash, but
you can determine the hash yourself and use any CDN which has CORS support (
unpkg.com may have that, I cannot check at the moment). Check out
https://developer.mozilla.org/en-US/docs/Web/Security/
Subresource_Integrity
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/reactstrap/reactstrap/issues/476#issuecomment-311951471,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKC35repiYWC7IxxKY1mEAEjpPcwS1F1ks5sI5g7gaJpZM4OEtns
.

@ggerber Reactstrap is now available via cdnjs thanks to @TheSharpieOne.
https://cdnjs.com/libraries/reactstrap
I'll send a PR this weekend which updates the documentation website for the CDN to use CDNJS instead of unpkg (Even though the backends are the same we want end users to use the same frontend for optimal edge caching) as well as add that information in the readme.


Add pip check

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

@conda-forge-admin, please rerender

+ pip check
python-can 4.2.2 requires msgpack, which is not installed.


Click to Pay - Adding missing property for 'payments' call and 'merchantDisplayName' new config

Summary

Added srcCorrelationId property as part of the payload that is submitted in the /payments call
Added new configuration property for Click to Pay named merchantDisplayName , which will be used to display the merchant name within the DCF (in case the DCF pops up during the checkout step)

Tested scenarios

Manual test verifying the new property is sent
Manual test verifying the merchant name shows up inside the DCF pop-up

btw - what is the "DCF"?

@sponglord DCF stands for Digital Card Facilitator - It is the pop-up created by the schemes SDK to enter the CVV


Dynamic Import Callback Handling

Hey, I'd like some sort of way to handle Dynamic Import Callback Handling in Javet
What do I mean by this
I mean a way to compile imports at runtime. import x from 'y'; should let me handle y dynamically through some sort of combat
API suggestions
// This should possibly be able to use some sort of future for delayed imports
v8Runtime.setImportHandler((currentModule, target) -> {
  // Return compiled module?
});

Sure, I'll look into it soon and keep you posted.

That feature was included in this commit. Please feel free to review it and leave you comments. I'll probably release it next week.

That feature was included in this commit. Please feel free to review it and leave you comments. I'll probably release it next week.

Woah that looks really, really promising! Thank you very much for implementing this feature request.


Fix #99 Add email scope since the latest conformance test requires multiple scopes in the new test fapi-rw-id2-ensure-other-scope-order-succeeds

See the following ticket and commit:

https://gitlab.com/openid/conformance-suite/-/issues/767
https://gitlab.com/openid/conformance-suite/-/commit/9857652fad3e8d99c61dada46d877a17b29309a2

I've confirmed that the test fapi-rw-id2-ensure-other-scope-order-succeeds of the latest FAPI-RW Conformance Test passed.


test_get_all_cmip6_variables is slow and always fails

Setup Information

Xclim version: All
Python version: 3.8+
Operating System: Any

Description
One test that never seems to be passing is xclim/testing/tests/test_testing_utils.py::TestCMIP6ControlledVocabulary::test_get_all_cmip6_variables. This test requires an HTTP request to download CV from another project before running, and it seems as though this requesting step takes quite a bit of time (~2 mins), time that a worker is spending idling.
I think if we can't get this test to ever pass, we should disable it (or at least mark it as a slow test).
Steps To Reproduce
$ pytest xclim
Additional context
No response
Contribution

[ ] I would be willing/able to open a Pull Request to address this bug.

Code of Conduct

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

I think this function could also just disappear. I used it to check that xclim was declaring variables that were valid in CMIP6. But it doesn't need to be in the code itself.


proxy: add new request meta flag APIs

req:flag_add("F", token)
If token is nil, just adds "F" to request.
If token is "example", adds "Fexample" to request. returns boolean false if failed (flag exists, request too long)
req:flag_set("F", token)
If token is nil, adds "F" to request.
If token is "example", adds "Fexample" to request. returns boolean false if failed (request too long)
req:flag_replace("F", "N", token)
If token is nil, and "F" exists, replaces "F" with "N" in request.
If token is "example", adds "Nexample" to request. returns boolean false if failed (request too long)
These functions are able to modify the underlying request string without creating lua string garbage. IE:
req:flag_add("F" .. token) would create a new string then pass that into the function, needing to GC it later.
TODO:

[x] Unit tests.

seems good but I want test coverage for the two other functions before merging.

Believe this is done. Going to sit on it for a few hours then review the tests one more time.


Support Asciidoc?

Wondering if you've considered supporting Asciidoc as well?

Hi @jeffjensen
Yeah, I thought about it as I was a heavy Asciidoc user during my university studies. But as I transitioned more to markdown, this is how this was created.
It's still on my list but without any prio.
Sorry


4.0.0-RC2 ResultSetMetaData  data was lost

version 4.0.0-RC2
question
codes
org.apache.shardingsphere.shardingjdbc.jdbc.core.resultset.EncryptResultSetMetaData#getLogicColumn
org.apache.shardingsphere.shardingjdbc.jdbc.core.resultset.ShardingResultSetMetaData#getLogicColumn
 private String getLogicColumn(final String actualColumn) throws SQLException {
        for (Entry<String, String> entry : logicAndActualColumns.entrySet()) {
            if (entry.getValue().contains(actualColumn)) {
                return entry.getKey();
            }
        }
        throw new SQLException(String.format("Can not get logic column by %s.", actualColumn));
    }

entry.getValue().contains(actualColumn)

desc
When there are two fields in a table, one field is the content of another field, such as
address
certificate_address
It is possible to match the columnName of certificate_address when looking up the columnName of the field address again, which results in the loss of the address field in the result set.

I will try to solve the problem

How to understand one field is the content of another field ?

Closed for no response any more.


Historical cost explorer tick values

This change ensures the explorer chart shows every 3rd tick value per our mocks. Should provide more room when displaying a lot of data.
https://issues.redhat.com/browse/COST-915

Codecov Report

Merging #1849 (a3c7feb) into master (454bfd7) will increase coverage by 0.44%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1849      +/-   ##
==========================================
+ Coverage   70.56%   71.01%   +0.44%
==========================================
  Files         347      347
  Lines        5935     6510     +575
  Branches     1071     1399     +328
==========================================
+ Hits         4188     4623     +435
- Misses       1638     1863     +225
+ Partials      109       24      -85

Impacted Files
Coverage Δ

...sync/permissionsComponent/permissionsComponent.tsx
75.00% <0.00%> (-10.72%)
:arrow_down:

...c/pages/costModels/createCostModelWizard/table.tsx
34.28% <0.00%> (-10.16%)
:arrow_down:

src/components/i18n/i18nProvider.tsx
57.14% <0.00%> (-9.53%)
:arrow_down:

src/pages/state/maintenance/maintenanceState.tsx
66.66% <0.00%> (-8.34%)
:arrow_down:

.../pages/costModels/createCostModelWizard/markup.tsx
27.27% <0.00%> (-8.03%)
:arrow_down:

...ges/costModels/costModelsDetails/utils/toolbar.tsx
77.50% <0.00%> (-7.80%)
:arrow_down:

...ostModels/createCostModelWizard/priceListTable.tsx
32.07% <0.00%> (-7.46%)
:arrow_down:

.../costModels/costModelsDetails/bottomPagination.tsx
82.60% <0.00%> (-7.40%)
:arrow_down:

src/store/common.ts
81.81% <0.00%> (-7.08%)
:arrow_down:

...ponents/reports/reportSummary/reportSummaryAlt.tsx
52.94% <0.00%> (-7.06%)
:arrow_down:

... and 119 more

Continue to review full report at Codecov.

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


Fix Issue #449 and Issue #521

At  some point the logic of counting backtics and determining if they
are odd or even was used to parse a row's text into cells.
Unfortunately this approach broke expected code parsing logic in a
table.  We essentially traded one bug for another.  This fixes table
backtick handling and restores sane backtick logic while preserving
existing fixes. (#449)

Travis should checkout aspell-en (#521)

Sorry for the multiple commits.  I had forgotten that inline code is evaluated before escapes.  With squash and merge I might be okay, but if you need a rebase anyways, let me know.

I'd prefer the different things to be in different commits. If you could rebase that would be preferred.

Will do.  I kind of figured, but I was hoping :).

Close for rebase.

New pull requests are:

https://github.com/waylan/Python-Markdown/pull/524
https://github.com/waylan/Python-Markdown/pull/523


Upgrade the libgrape-lite submodule

What do these changes do?

Related issue number

Fixes #issue number

Upgrade to the latest versioned commit: https://github.com/alibaba/libgrape-lite/commit/3826365fd4d8297c18084416a447ab387b163a07


Move TrainerCallbackHookMixin.on_save/load_checkpoint  to CheckpointConnector and rename for clarity

Originally posted by @ananthsub in https://github.com/PyTorchLightning/pytorch-lightning/pull/11148#discussion_r771886148
Proposed refactor

Move TrainerCallbackHookMixin.on_save/load_checkpoint to CheckpointConnector as functions
Rename them to something like call_callbacks_on_save_checkpoint and call_callbacks_on_load_checkpoint

Motivation

We are planning to deprecate TrainerCallbackHookMixin in #11148. However there are still two methods in there that we need to keep: on_save_checkpoint and on_load_checkpoint
CheckpointConnector is a more logical place for these functions, since that is where all of the checkpointing code lives.
Also, the current naming is confusing because it doesn't convey that we are calling the hook on all of the callbacks

Pitch

Move the functions to CheckpointConnector and rename them to call_callbacks_on_save_checkpoint and call_callbacks_on_load_checkpoint
Deprecate the original methods in TrainerCallbackHookMixin as part of #11148

Alternatives
One alternative is to move these functions to the Trainer, with the benefit being we avoid adding another if statement here to check if we are in the specific checkpointing hooks:
https://github.com/PyTorchLightning/pytorch-lightning/blob/7ed3dbf1913351868835ac3c549a0fbf6c612e09/pytorch_lightning/trainer/trainer.py#L1557-L1567
If we move the functions to the CheckpointConnector, we will have to add an if statement here.
cc @justusschock @awaelchli @akihironitta @ananthsub @ninginthecloud

Based on your previous connector reviews, is the CheckpointConnector going to stay long-term?
If yes, then this makes sense to me.

Based on previous connector reviews, the plan for the CheckpointConnector is to convert it to utility functions, so I think this aligns well.

In that case, shouldn't we move it directly to the utility?
And wouldn't this utility function live in trainer.py then?

sorry, I'm a bit confused by both questions.

In that case, shouldn't we move it directly to the utility?

What do you mean by "to the utility"? Do you mean directly create a utility function from on_save/load_checkpoint? If so, yes I agree.

And wouldn't this utility function live in trainer.py then?

Why would it live in trainer.py rather than a separate checkpointing utilities class?

@carmocca I think it makes sense to split this up into 2 stages:

Move the logic to save and load callback states from CallbackHookMixin to CheckpointConnector (this also makes the deprecations around #11148 easier, which is the immediate motivation).

Figure out the refactoring of checkpoint connector separately

For 2), I don't the approach take for the other connectors of removing the trainer reference will work here because the connector needs to have access to all objects that could contribute to the checkpoint struct being saved. Only the trainer has that right now, and it would make sense to then move these methods to the trainer over time. But we should discuss the refactoring of the overall checkpoint connector in a dedicated issue

Do you mean directly create a utility function from on_save/load_checkpoint?

Yes

Why would it live in trainer.py rather than a separate checkpointing utilities class?

Because we expect only the trainer to call it. Same reasoning as https://github.com/PyTorchLightning/pytorch-lightning/pull/11155/files/03969591d2ab2665c3e703eb6e41f0b6ad2d3db8#r771950283
Perhaps not directly in trainer.py but in file in the same directory.

For 2), I don't the approach...

Sounds good.

I agree we should split it up into the two stages @ananthsub described. And @carmocca I also agree it should live in the trainer, so we can avoid a hacky if statement like in https://github.com/PyTorchLightning/pytorch-lightning/blob/08e661ff7266f298a6e904fa04931698e20b2b89/pytorch_lightning/trainer/trainer.py#L1553-L1563

If it's just a question of moving these two methods to the Trainer, that can easily be done as part of #11148

I agree we should split this up into the two stages @ananthsub mentioned. And @carmocca I agree we should just put this directly into the trainer. I think I can just add it into #11148 as it fits logically.

Sorry for all the thrash, I have created #11179 with what I envision, please lmk what you think @carmocca @ananthsub


DiscriminatorMetric based on SVM classifier

Feature that you want to add.
A new DiscriminatorMetric which will internally use the SVM classifier.
Describe the solution you'd like
Implement a SVCMetric, which will be a DiscriminatoryMetric.
Files which are needed to be modified or added
Add code here
Additional context
Ref: SVM

Issue resolved by PR #5 by @harsh020


Autoreview against I/O

I propose to autoreview as "clean" these packages that:

refer only to other reviewed packages
don't use I/O (except of channels, which are OK) and can't produce undefined behavior

This automation will make your unmanageable task to review the entire crates.io manageable.
This automatic mode of review should be optional, there should nevertheless be fully manual mode of review.

don't use I/O (except of channels, which are OK) and can't produce undefined behavior

This one is hard because Rust does not have any facilities to enforce it, or even just track it (like an language level effect system).
First, we would have to parse the code somehow, in a reliable way. Then we have to forbid:

bunch of stdlib APIs
unsafe

and then ultimately there's a problem that if a crate sus uses easy_file_reader (which is reviewed, perfectly fine and trusted) to snoop on files, and reqwest (again, popular, trustworthy crate) to send secrets to some host somewhere, then just because sus doesn't make any directly I/O, it's hard to say how it is using the I/O of it's legitimate and reviewed dependencies it has.
Even worse, a crate sus2 might not have any dependencies, but have API that require injecting to it things that do I/O and that could potentially be used maliciously.
So, while there is some valuable heuristic here, it's definitely not a golden bullet or really reliable. It's might make the job of malicious code a bit harder.
I am hoping that in a decade or two PL research will bring us a Rust-like language but with an addition of side effect control, which would allow language level isolation and security.

So, we need to have two levels of auto-review:

not malicious (sus falls here)
not malicious and doesn't do any I/O (except of harmless one, like creating a /tmp file)

I deliberately do not consider the ability to inject IO (sus2 is still to be considered safe), because we blame the injector of I/O code, not the function where it is injected. (It is because the system of code with injection and injector are together potentially malicious, we need to define only one of them to be potentially malicious. It's better to define to be potentially malicious the injector, because otherwise we would define malicious any code that allows injection what is clearly wrong.)

because we blame the injector of I/O code, not the function where it is injected.

Why?
I'm kind of out of time to debate and explain all the details right now, but I don't believe this is feasible. However if you really think it is, I would encourage you to give it a try, and it will be easier to talk once there is some code to review and try.

Why?

I explained in the parentheses.
I don't have free time to write this free software.


[Select] Fix dispatch touch events when closing

Description
I'm using a similar approach as used in Menu to select an item which uses the onClick event. I couldn't test if it works in safari because I don't have access to one, so if you guys can test it there, thanks :pray:
Fixes #1658

Why don't you merge?

Can this please be looked after? This is pretty important for our project, Thanks! :)

@benoitgrelard @andy-hook Just wanted to ping you both since you're code owners and you're review is required to merge.
This PR fixes a critical issue first reported in September of 2022 (#1658). It's already been approved by @bryanltobing and @eduardofioritokabum. I know you all have a ton on your plate, but could we please get some eyes on this and get it merged? It's a critical app-breaking bug for our team (and it looks like many others).
Many many thanks! My team and I LOVE Radix. It's been a game-changer for us. 🙏🎉
CC @joaom00

@joaom00  It works perfectly, thank you!

@andy-hook @benoitgrelard This PR seems to be a fix for an issue many people has encountered. Could we get it merged?

Chiming in just to reiterate the importance of this in the hopes of someone of import taking a look at it.
Any news about this would be appreciated 🙏

when will merge

@benoitgrelard @andy-hook this one would be greatly appreciated if you can find the time

Would really love if this issue could get resolved. 🙏

when will merge

Hey @joaom00 I oppened Select.tsx on my project and it looks very different to yours.. I opened the one in @/components/ui/. where exactly do I find the source you modified to be able to apply this fix?

wen merge

Hi! I don't think that comments only asking for to merge is helpful. But I think all community and users of Radix will greatly appreciate the status of this library maintenance status. Seems like there's a ton of PRs not being addressed...
How can we help? @benoitgrelard @andy-hook

please merge :)

I have tested it on Safari, and it works. Thx!
For friends who want a temporary patch: https://github.com/radix-ui/primitives/issues/1658#issuecomment-2060197047

Hi! I don't think that comments only asking for it to be merged is helpful... remember, we use this for free!
However I do think all community and users of Radix will greatly appreciate a clear statement of this library maintenance status. Seems like there's a ton of PRs and issues not being addressed... (and new components!). Also, if it's not actively maintained, it helps future folk on making a decision of which headless ui library to go for.
How can we help? @benoitgrelard @andy-hook

why are people downvoting your message LOL. I agree though it seems strange that a PR fix for a bug like this sits in limbo after getting approved


NumPy Compatibility Issues: np.string_ Error with NumPy 2.0 and numpy._core.numeric Missing in Older Versions

Hello,
I'm encountering compatibility issues with NumPy when running BlueSky.
Problem Description:

Using NumPy 2.0.0.dev0:
When I have NumPy version 2.0.0.dev0 installed, running BlueSky results in the following error:
AttributeError: np.string_was removed in the NumPy 2.0 release. Usenp.bytes_ instead.
This error occurs in glnavdata.py at line 123:
npwpids = np.array(wptids, dtype=np.string_)

Using Older NumPy Versions (e.g., 1.21.0):
When I downgrade NumPy to version 1.21.0 or 1.24.0, I receive a different error upon running BlueSky:

Bluesky needs numpy._core.numeric
Install using e.g. pip install numpy._core.numeric
BlueSky normal end.

Environment Information:
Operating System: Windows 11
Python Version: 3.10
BlueSky Version: Installed via pip install bluesky-simulator[full]
NumPy Versions Tried: 2.0.0.dev0, 1.24.0, 1.21.0
Steps to Reproduce:

Install BlueSky and NumPy:

pip install bluesky-simulator[full]
pip install numpy==2.0.0.dev0  # For the first error
# or
pip install numpy==1.21.0      # For the second error

2. Run BlueSky:
bluesky

Observe the respective errors mentioned above.

Questions:

Is there a recommended NumPy version that is fully compatible with BlueSky?
How can I resolve these conflicting errors when using different NumPy versions?

Additional Notes:
Modifying the source code (e.g., replacing np.string_ with np.bytes_) might be a workaround for the first error, but I'm unsure of the implications.
When using older NumPy versions, the module numpy._core.numeric seems to be missing, leading to the second error.
Any guidance on how to resolve these issues would be greatly appreciated.
Thank you!

You can migrate the code to Numpy 2.0 using Ruff.

First install Ruff: pip install ruff
Then run the following command in the root directory of BlueSky to migrate the code to NumPy 2.0: ruff check --preview --fix --select NPY201 .

Hi @yiiiwuuu,
NumPy2 compatibility has been fixed in the master version, but has not made its way yet in packaged BlueSky, because we also need to change the python versions supported (it seems that np2 is not available for older versions)