Uninitialized constant: Redcarpet::Render::StripDown

I get this error using 2.1.1.  I check the gem and it has /lib/redcarpet/render_strip.rb.  In the same (helper) file where I get this error I am able to call Redcarpet::Render::HTML.new without any error.  At the top of the file is:
require 'redcarpet'
require 'nokogiri'

I guess I don't know enough about how gems work to know how this can be, but it seems like an error in the gem.

i have this in one of my controllers
def show
@achievement = Achievement.find(params[:id])
<EMAIL_ADDRESS>end
when i go to the show page i get 'uninitialized constant AchievementsController::Redcarpet' error

@cesswairimu Normally restart the server will solve this issue. That is my case.
There is a thread about this on the Stackoverflow that we can see on this link.

Stumbled upon this in rails 6
  > uninitialized constant Redcarpet::Render::StripDown

            app/views/group_user_mailer/user_enrolled_in_group.text.erb, line 1
            -------------------------------------------------------------------

            ``` ruby
            >   1   <% renderer = Redcarpet::Render::StripDown.new %>
                2   <% markdown = Redcarpet::Markdown.new(renderer, autolink: true) %>
                3   <%= markdown.render(@email_content).text %>
            ```

Restarting the server is not working. Restarting spring also. In the tests the is also this error.
It works perfectly fine with Redcarpet::Render::HTML.new as a rendered


Update free-courses-ar.md

added 4 python courses in arabic
data structure in python
FastApi
python Full Projects [beginner to advanced]
python Desktop Apps with Pyqt5
What does this PR do?
Add resource(s) | Remove resource(s) | Add info | Improve repo
For resources
Description
Why is this valuable (or not)?
How do we know it's really free?
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[ ] Read our contributing guidelines.
[ ] Search for duplicates.
[ ] Include author(s) and platform where appropriate.
[ ] Put lists in alphabetical order, correct spacing.
[ ] Add needed indications (PDF, access notes, under construction).
[ ] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

the arabic sorting can be confusing. It should be in unicode order, whatever that is.


SearchPager should use CorkedEmitter too

CorkedEmitter introduced in #610 solves a lot of issues. Sadly when using paged search, SearchPager's childEmitter is still a "normal" EventEmitter and not one with a Cork. This results in concurrency issues for paged searches.

I'm happy to provide a patch/pr of course. Any ideas if this would need a test as well?

PRs are most certainly welcome. Any PR should include test coverage for the included code.

Fixed in v2.3.0 by #723

⚠ This issue has been locked due to age. If you have encountered a recent
problem that seems to be covered by this issue, please open a new issue.
Please include a minimal reproducible example
when opening a new issue.


Heads up: resque-scheduler 4.9+ on redis-rb 4.x inadvertently breaks loner locks

Due to https://github.com/resque/resque-scheduler/pull/767, resque-scheduler 4.9+ now wraps all enqueues within a Redis transaction. This means that Redis commands in before_enqueue hooks (inadvertently) no longer run synchronously under redis 4.x, which breaks gems like resque-lock-timeout (since it uses before_enqueue hooks for loner lock checks).
Repro:
require 'bundler/inline'

gemfile do
  source 'https://rubygems.org'
  gem 'resque', '~> 2.6'
  gem 'resque-scheduler', '~> 4.9'
  gem 'redis', '~> 4.0'
  gem 'resque-lock-timeout'
end

Redis.silence_deprecations = true # some unrelated deprecations due to resque-scheduler issues
Resque.redis = Redis.new

class Job
  extend Resque::Plugins::LockTimeout

  @queue = 'jobs'
  @loner = true

  def self.perform
    puts 'ok'
  end
end

Resque.redis.redis.flushdb # to ensure we start with a blank slate
2.times { Resque.enqueue_in(1, Job) }
sleep(1)
Resque::Scheduler.handle_delayed_items

$ ruby repro.rb
resque-scheduler: [INFO] 2024-01-10T16:41:38-08:00: Processing Delayed Items
resque-scheduler: [ERROR] 2024-01-10T16:41:38-08:00: NoMethodError: undefined method `nil?' for <Redis::Future [:get, "resque:lock:Job:"]>:Redis::Future ["/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-lock-timeout-0.4.1/lib/resque/plugins/lock_timeout.rb:119:in `locked?'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-lock-timeout-0.4.1/lib/resque/plugins/lock_timeout.rb:150:in `before_enqueue_lock'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-2.6.0/lib/resque.rb:447:in `block in enqueue_to'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-2.6.0/lib/resque.rb:446:in `collect'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-2.6.0/lib/resque.rb:446:in `enqueue_to'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:344:in `enqueue_from_config'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:286:in `enqueue'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:258:in `block (3 levels) in enqueue_items_in_batch_for_timestamp'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:254:in `each'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:254:in `block (2 levels) in enqueue_items_in_batch_for_timestamp'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-namespace-1.11.0/lib/redis/namespace.rb:587:in `block in namespaced_block'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-4.8.1/lib/redis.rb:227:in `block in multi'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-4.8.1/lib/redis.rb:265:in `block in synchronize'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-4.8.1/lib/redis.rb:265:in `synchronize'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-4.8.1/lib/redis.rb:265:in `synchronize'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-4.8.1/lib/redis.rb:222:in `multi'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-namespace-1.11.0/lib/redis/namespace.rb:564:in `wrapped_send'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-namespace-1.11.0/lib/redis/namespace.rb:588:in `namespaced_block'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-namespace-1.11.0/lib/redis/namespace.rb:311:in `multi'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-2.6.0/lib/resque/data_store.rb:65:in `method_missing'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:253:in `block in enqueue_items_in_batch_for_timestamp'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-4.8.1/lib/redis/commands/transactions.rb:89:in `block in watch'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-4.8.1/lib/redis.rb:265:in `block in synchronize'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-4.8.1/lib/redis.rb:265:in `synchronize'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-4.8.1/lib/redis.rb:265:in `synchronize'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-4.8.1/lib/redis/commands/transactions.rb:84:in `watch'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-namespace-1.11.0/lib/redis/namespace.rb:564:in `wrapped_send'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-namespace-1.11.0/lib/redis/namespace.rb:521:in `call_with_namespace'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-namespace-1.11.0/lib/redis/namespace.rb:395:in `block (2 levels) in <class:Namespace>'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-2.6.0/lib/resque/data_store.rb:65:in `method_missing'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:252:in `enqueue_items_in_batch_for_timestamp'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:219:in `block (2 levels) in enqueue_delayed_items_for_timestamp'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:293:in `handle_shutdown'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:216:in `block in enqueue_delayed_items_for_timestamp'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:215:in `loop'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:215:in `enqueue_delayed_items_for_timestamp'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:190:in `handle_delayed_items'", "repro.rb:28:in `<main>'"]
resque-scheduler: [ERROR] 2024-01-10T16:41:38-08:00: NoMethodError: undefined method `nil?' for <Redis::Future [:get, "resque:lock:Job:"]>:Redis::Future ["/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-lock-timeout-0.4.1/lib/resque/plugins/lock_timeout.rb:119:in `locked?'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-lock-timeout-0.4.1/lib/resque/plugins/lock_timeout.rb:150:in `before_enqueue_lock'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-2.6.0/lib/resque.rb:447:in `block in enqueue_to'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-2.6.0/lib/resque.rb:446:in `collect'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-2.6.0/lib/resque.rb:446:in `enqueue_to'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:344:in `enqueue_from_config'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:286:in `enqueue'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:258:in `block (3 levels) in enqueue_items_in_batch_for_timestamp'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:254:in `each'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:254:in `block (2 levels) in enqueue_items_in_batch_for_timestamp'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-namespace-1.11.0/lib/redis/namespace.rb:587:in `block in namespaced_block'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-4.8.1/lib/redis.rb:227:in `block in multi'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-4.8.1/lib/redis.rb:265:in `block in synchronize'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-4.8.1/lib/redis.rb:265:in `synchronize'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-4.8.1/lib/redis.rb:265:in `synchronize'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-4.8.1/lib/redis.rb:222:in `multi'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-namespace-1.11.0/lib/redis/namespace.rb:564:in `wrapped_send'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-namespace-1.11.0/lib/redis/namespace.rb:588:in `namespaced_block'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-namespace-1.11.0/lib/redis/namespace.rb:311:in `multi'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-2.6.0/lib/resque/data_store.rb:65:in `method_missing'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:253:in `block in enqueue_items_in_batch_for_timestamp'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-4.8.1/lib/redis/commands/transactions.rb:89:in `block in watch'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-4.8.1/lib/redis.rb:265:in `block in synchronize'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-4.8.1/lib/redis.rb:265:in `synchronize'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-4.8.1/lib/redis.rb:265:in `synchronize'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-4.8.1/lib/redis/commands/transactions.rb:84:in `watch'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-namespace-1.11.0/lib/redis/namespace.rb:564:in `wrapped_send'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-namespace-1.11.0/lib/redis/namespace.rb:521:in `call_with_namespace'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-namespace-1.11.0/lib/redis/namespace.rb:395:in `block (2 levels) in <class:Namespace>'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-2.6.0/lib/resque/data_store.rb:65:in `method_missing'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:252:in `enqueue_items_in_batch_for_timestamp'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:219:in `block (2 levels) in enqueue_delayed_items_for_timestamp'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:293:in `handle_shutdown'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:216:in `block in enqueue_delayed_items_for_timestamp'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:215:in `loop'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:215:in `enqueue_delayed_items_for_timestamp'", "/Users/alex.vondrak/.local/share/rtx/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/resque-scheduler-4.10.2/lib/resque/scheduler.rb:190:in `handle_delayed_items'", "repro.rb:28:in `<main>'"]

This seems to not be an issue on Redis 5.x, although there are other problems with resque-scheduler's transactions there, since some commands inadvertently "spill out" of the ongoing transaction (cf. https://github.com/resque/resque-scheduler/issues/787).
I think this is more a bug for resque-scheduler to fix (specifically https://github.com/resque/resque-scheduler/issues/779), but it affects this gem. So, heads up.
Further reading:

https://github.com/resque/resque-scheduler/issues/787
https://github.com/resque/resque-scheduler/issues/779
https://github.com/resque/resque-scheduler/issues/773

No forks I'm afraid, but the mitigations I see:

Lock to earlier versions resque-scheduler or redis so that you don't get this unfavorable interaction. Not ideal, but it's where I'm at now. 😅
resque-scheduler could revert https://github.com/resque/resque-scheduler/pull/767 (or you could do so in a fork) since it causes a bunch of issues, as linked above. But then you lose out at the attempted batching functionality, fwiw.
The "proper" fix would be to patch the resque + resque-scheduler gems to pass around the Redis pipeline object, but it's a hairy enough change that I haven't seen anyone attempt it. The code would have to straddle both gems, iirc.

Nice. Hugops and will be curious to see to any other tweaks you have lying around. :)
Now that I'm spooling context back up on option 3 (credit to this comment), I think even that refactor still wouldn't resolve https://github.com/resque/resque-scheduler/issues/779 since enqueue hooks would still be executed in the middle of an open transaction so...option 2 seems like honestly the most feasible thing anyway.


Tests JLABP

Refactored tests for pdfminer/rijndael.py and pdfminer/runlength.py

Me and Erik approves, but please look at the comments


how to draw picture with ground truth bounding boxes and prediction bounding boxes in Inspector tab?

Is your feature request related to a problem? Please describe.
Please describe the problem or motivation behind your feature request. For example, "I find it difficult to [...]"
Describe the solution you'd like
Provide a clear and concise description of the feature or enhancement you would like to see implemented.
Describe alternatives you've considered
Discuss any alternative solutions or features you have considered, explaining the pros and cons of each.
Additional context
Include any additional context, examples, or screenshots that can help illustrate your feature request.
This can assist in providing a better understanding of your proposal.

Hi @achen1959, I'm not quite sure what is your problem exactly without context, but let's start with the basics.
Here is a minimal example of dataset with bounding boxes:
import pandas as pd
from renumics import spotlight

image = (
    "https://spotlightpublic.blob.core.windows.net/internal-test-data/nature-360p.jpg"
)
df = pd.DataFrame(
    {
        "image": [image, image, image],
        "bbox": [[0.1, 0.1, 0.9, 0.3], [0.1, 0.3, 0.9, 0.6], [0.2, 0.6, 0.7, 0.7]],
        "category": ["sky", "mountains", "water"],
    }
)
df["category"] = df["category"].astype("category")

From now on, you can show your dataset (spotlight.show(df)). You can setup BB lens manually by adding a new lens in the inspector settings at bottom right. In the dropdown, select image and bouding box (and optionally category) columns and click on Add View.
To setup BB lens programmatically, add the following code to the example above:
from renumics.spotlight import layout, layouts
from renumics.spotlight.layout import lenses

default_layout = layouts.default()
default_layout.children[1].children[0] = layout.inspector(
    lenses=[lenses.bounding_box("image", "bbox", "category")]
)
spotlight.show(df, layout=default_layout)

Regarding your mentioning of GT BBs and predition BBs in inspector, Spotlight cannot display multiple BB columns in the same BB lens at the same time, but you can:

create 2 BB lenses and display image + GT BBs in one of them and image + predition BBs in another one;
or,  if you need to see both types of BBs in the same lens, you can merge your GT and prediction BBs together into one single list of BBs per row and distinguish them by generating lists with labels of the same length.

@achen1959  In order to show GT and prediction BBs together, you can do the following.

Let's imagine you have the following dataset:

image = (
    "https://spotlightpublic.blob.core.windows.net/internal-test-data/nature-360p.jpg"
)
df = pd.DataFrame(
    {
        "image": [image, image, image],
        "bbox_gt": [[0.1, 0.1, 0.9, 0.3], [0.1, 0.3, 0.9, 0.6], [0.2, 0.6, 0.7, 0.7]],
        "label_gt": ["sky", "mountains", "water"],
        "bbox_pred": [
            [0.15, 0.05, 0.7, 0.25],
            [0.1, 0.4, 0.9, 0.7],
            [0.3, 0.6, 0.8, 0.7],
        ],
        "label_pred": ["water", "hills", "water"],
    }
)

Here you have a single prediction (bbox_pred and label_pred) and a respective GT (bbox_gt and label_gt) per dataset row.
If you setup the Spotlight layout programmatically, and show the dataset:
df["label_gt"] = df["label_gt"].astype("category")
df["label_pred"] = df["label_pred"].astype("category")

default_layout = layouts.default()
default_layout.children[1].children[0] = layout.inspector(
    lenses=[
        lenses.bounding_box("image", "bbox_gt", "label_gt"),
        lenses.bounding_box("image", "bbox_pred", "label_pred"),
    ]
)
spotlight.show(df, layout=default_layout)

You will get the following appearance (be aware that the colors are picked up independently for each column, so both GT sky and prediction water are green by accident):

Now if you want to show both GT and prediction BBs together in the same image, add their BBs and labels to lists with two elements per row:

df["bboxes"] = df.apply(lambda row: [row["bbox_gt"], row["bbox_pred"]], axis=1)
df["labels"] = df.apply(
    lambda row: [row["label_gt"] + "(GT)", row["label_pred"] + "(pred)"], axis=1
)
default_layout = layouts.default()
default_layout.children[1].children[0] = layout.inspector(
    lenses=[lenses.bounding_box("image", "bboxes", "labels")]
)
spotlight.show(df, layout=default_layout)

You will get the following appearance (colors are now gone since labels is not a category column anymore):

Finally, if you want to show all GT and prediction BBs per image or you don't have 1 to 1 connection between GTs and predictions, you cant group the dataset by image (default_layout is the same as in case 2):

df = (
    df.groupby("image")
    .agg({"bboxes": lambda x: sum(x, []), "labels": lambda x: sum(x, [])})
    .reset_index(drop=False)
)
spotlight.show(df, layout=default_layout)

You will get the following appearance, though it can be too messy for many BBs per image:

Closed as solved, reported by @achen1959


defaultLanguage not work

Describe the bug
When I set defaultLanguage and start a new browser, I find that the default language is always en

I think you want to disable browser language detection. This is an issue tracker, not a help forum.

no .. defaultLanguage set "zh_TW" not work for me

I got same problem, even I disable browser language detection!

What headers is your browser sending? Do you have server language detection set to look for headers?
Please post on StackOverflow or similar.


test: add translator golden tests for gateway API L4 routes

What this PR does / why we need it:
add golden test for UDPRoute, TCPRoute, TLSRoute

Which issue this PR fixes:
fixes #3092
Special notes for your reviewer:
copy from UDPRoute docs, TCPRoute docs
PR Readiness Checklist:
Complete these before marking the PR as ready to review:

[ ] the CHANGELOG.md release notes have been updated to reflect any significant (and particularly user-facing) changes introduced by this PR

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Error when evaluating 'timeout-minutes' for job 'passed'. .github/workflows/checks.yaml (Line: 137, Col: 22): Error parsing fromJson,.github/workflows/checks.yaml (Line: 137, Col: 22): Error reading JToken from JsonReader. Path '', line 0, position 0.,.github/workflows/checks.yaml (Line: 137, Col: 22): Unexpected value ''
need help

@forsaken628 please update your PR with the newest main of KIC repo


Updates Dataflow Python containers to 20200423

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

R: @aaltay @tvalentyn @Hannah-Jiang

Run Python PostCommit

Run Python PreCommit

Run Python PreCommit

PreCommit is pretty flaky due to https://issues.apache.org/jira/browse/BEAM-9832
Trying again.

Run Python PreCommit

This test affects precommit IT tests, and looking at the console logs all 4 precommit IT tests [Py2, Py3] x [Batch, Streaming] have passed.


Update releases script

When releasing old stable versions, e.g. 0.43 for Microsoft, I found it to update the latest tag because we are technically on the stable branch.
This PR modifies this logic so that latest is not set if we are on an older than latest branch.
I will test this code when releasing new version of React Native in few days.

Looks good. Do you want to hold off until you've used this for the next release before merging?

Yeah, sounds good! I'll experiment few times and report back :)
On Thu, 27 Jul 2017 at 23:05 Héctor Ramos<EMAIL_ADDRESS>wrote:

Looks good. Do you want to hold off until you've used this for the next
release before merging?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/facebook/react-native/pull/15231#issuecomment-318485985,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACWcxvKX_GajuY8kfDqSB41qrDJhESLfks5sSPuOgaJpZM4OlLLf
.


Sample doesn't build against latest OpenVR SDK

An undocumented change to the IVRVirtualDisplay happened in OpenVR SDK 1.14, and now it is no longer possible to build this sample driver. Please fix!

Same problem here, one thing is that some names changed I guess, but couldn't make it work.


Allow for deterministic yaml-to-dhall parsing

The yaml-to-dhall tool does not permit for deterministic parsing into a
union where the alternatives have the same type. See:
https://github.com/dhall-lang/dhall-haskell/issues/1905
This commit replaces the unions with records whose alternatives do not
hold a type, so that they will be parsed into with yaml-to-dhall in a
deterministic way.

Decided to string-type the service feature params to side-step needing to change this library


Fixed order of arguments in px4_task_spawn_cmd.

Fixes #5601
See also forum post http://discuss.px4.io/t/order-of-arguments-of-px4-task-spawn-cmd/1373.

Thanks!


Font fingerprinting is unreliable on first page load on Firefox

Steps to reproduce:

clear cache
open a fresh browser
go to https://thumbmarkjs.com
log the fingerprint
refresh page

expected outcome:

the same fingerprint as first time

actual outcome

a different fingerprint

The logging for this is still a little bad, since with these first-time loads the actual shown fingerprint on the logging page might differ from the component JSON file. And it's connected to this issue that Firefox also has.
But digging a little deeper, it looks like the found fonts change a little during the first few moments of the first page load. Some fonts are first not found, and then they are.
I haven't found a good way to ensure all fonts are loaded properly. I'm working in a separate branch still on this.
If you have any ideas on how to do this, please let me know.
I would like to use the font detection in the canvas element, since it provides a lot more precision on the font widths. And unlike other fingerprinting methods that simply check the boolean availability of the font, mine also checks how they render. This is a decent source of entropy and is reliable as long as the font is loaded.
With Firefox though, I could just ignore font fingerprinting for Firefox, if I can't find another solution. I don't like that, but it's only a sub 4% market share so doesn't affect the big picture too much.

For now, this is circumvented by ignoring font fingerprinting on Firefox.
I'll see if I can find a better solution later to this.


Add Searx Search tool

This PR adds support for searching from Searx instances. Set the SEARX_INSTANCE_URL environment variable to the URL of your instance.
Note that this relies on the JSON output format being enabled in the instance, which it is not by default.
This can be enabled in the settings.yml by adding the JSON key:
https://github.com/searxng/searxng/blob/934249dd05142cde3461c8c4aae2c6d5804b0409/searx/settings.yml#L63
This resolves #2.

Thanks for the review, can you please take another look when you have a moment?

Please also make it available in the init. py

All set!


Title: file sharing app using javascript

Is your feature request related to a problem? Please describe.
A file-sharing app allows users to upload, share, and download files easily. The solution involves creating a web application using JavaScript (both frontend and backend) along with supporting technologies and frameworks.
Describe the solution you'd like.
Develop a file-sharing app using JavaScript with a secure, user-friendly interface. Key features include user registration and login with JWT authentication, file upload and storage on AWS S3, and file management capabilities (view, delete, rename). Users can generate secure, shareable links with expiration and access permissions. The app will feature a responsive design using React or Vue.js, ensuring accessibility on all devices. Encryption ensures file security, and HTTPS guarantees secure data transfer. This solution balances functionality, security, and ease of use for a seamless file-sharing experience.
Describe alternatives you've considered.
Third-Party Services: Using third-party file-sharing services like Dropbox or Google Drive APIs to handle file storage and sharing, reducing the need to manage infrastructure.
Full Stack Frameworks: Using full-stack frameworks like Meteor.js or Next.js for a more integrated approach, which can simplify the development process.
Serverless Architecture: Implementing a serverless architecture using AWS Lambda or Google Cloud Functions, which can reduce server management overhead.
Add any other context or screenshots about the feature request here.

@Kushal997-das please assign this to me i am GSSOC'24 contributor


[feature] merge rule and test file

⭐ Suggestion
The current recommended way is to split the rule and test files into two folders: https://ast-grep.github.io/guide/test-rule.html#test-setup , which seems to be a little redundant (id, file name are quite similar)
How about merging them into one file? For example:
id: no-await-in-loop
message: Don't use await inside of loops
severity: warning
language: TypeScript
rule:
  all:
    - inside:
        any:
          - kind: for_in_statement
          - kind: while_statement
    - pattern: await $_

# tests placed here
test:
  valid:
    - for (let a of b) { console.log(a) }
    # .... more valid test cases
  invalid:
    - async function foo() { for (var bar of baz) await bar; }
    # .... more invalid test cases

Thanks for the suggestion!
I have also though about this approach but I decided not to go forward with putting test along with rule.
ast-grep's rule is designed to be sharable among developers. Test cases are usually not what end users need to care about. So including them in the rule makes distribution more cluttered.
Another issue is runtime performance. Having test cases in the rule file will force deserialization to spend CPU cycles and memory on unused objects.  Test cases are typically long with hundreds of rules. The perf overhead may not be negligible for many rules.
Finally, as said before, one test file may have hundreds of test cases.  for example https://github.com/ast-grep/eslint/blob/main/rule-test/array-callback-return-test.yml
Maintaining a rule with test cases will easily surpass 1000+ lines of YAML which is usually bad idea for indentation based languages.

Thanks for the explanation! Fair enough, closing


Information instead of global variables

There currently exist multiple global variables serving the purpose of documentation, and listing available options/properties/etc. for various functions, such as $WolframModelProperties, $SetReplaceMethods, etc.
The better way is to put this data into associations accessible with Information.

I guess those symbols should be left for backwards compatibility?
Also, what would be the best name for the properties of the object in WolframModel, (as it can't be "Properties"):
WolframModel /: Information`GetInformation[WolframModel] := Sort @ <|
  "ObjectProperties" -> $WolframModelProperties (* ? *)
|>

I suggest to leave it at "WolframModelProperties", i.e., the same name as the constant. It might be overly verbose, but I cannot think of anything better.
Keep in mind that the list of WolframModel properties is different from the list of WolframModelEvolutionObject properties because the former does not support properties with arguments.

I suggest to leave it at "WolframModelProperties", i.e., the same name as the constant. It might be overly verbose, but I cannot think of anything better.
Keep in mind that the list of WolframModel properties is different from the list of WolframModelEvolutionObject properties because the former does not support properties with arguments.


Add visual state of New instance and Delete buttons

The buttons now get disabled when pressed and their text changes to the action being made.
If the action ends (either with success or failure), state is reverted to the normal one.
Fix #58

@akalipetis thx for the contribution. LGTM as a first implementation.
Eventually if we have more buttons and actions it'd be nice to have a directive or something that helps with this to avoid the boilerplate code.

@xetorthio ?

Yeap. Agree. LGTM and iterate.
On Tue, Jan 3, 2017, 12:57 Marcos Nils<EMAIL_ADDRESS>wrote:

@xetorthio https://github.com/xetorthio ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/franela/play-with-docker/pull/75#issuecomment-270147298,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAIhp7fyqtlhpw6FpnLMatFzc5SezrhDks5rOm_2gaJpZM4LZpIj
.

Eventually if we have more buttons and actions it'd be nice to have a directive or something that helps with this to avoid the boilerplate code.

Definitely, my Angular skills are not the best and I know it 😥
I'll rebase and ping 😄

@akalipetis while rebasing, can you try using finally method in the http promise (https://docs.angularjs.org/api/ng/service/$q) service to avoid repetition in the success and error callbacks?

Sure! Thanks for the pointer.
On Tue, Jan 3, 2017, 20:40 Marcos Nils<EMAIL_ADDRESS>wrote:

@akalipetis https://github.com/akalipetis while rebasing, can you try
using finally method in the http promise (
https://docs.angularjs.org/api/ng/service/$q) service to avoid repetition
in the success and error callbacks?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/franela/play-with-docker/pull/75#issuecomment-270189043,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAwHohXHmzNHrdhjr0qrpbyWLb5iJ5ydks5rOpY2gaJpZM4LZpIj
.

Rebased 🎉
Also changed the implementation to use .finally.


Have to delete dupes twice with "undo".

Whenever I try to remove a dupe with the "undo" button, I press it once to delete it, and the dupe phisically disappears, but if I press undo again, it deletes the dupe again, with the same popup on the left side.

Could this have something to do with this commit? https://github.com/wiremod/advdupe2/commit/bf7323eea525e79300a82f5d9bd5f8409b161044

Yeah that caused it.  Will have to see


[T2A4][T14-A1] Advay Pal

Ready for review.

we hope you can appreciate the need for good SLAP after this "inlining" exercise


Can't use mouse to select/edit text

Clicking text while in text-edit mode exits text-edit mode.
I’d want to be able to place the cursor and/or select a substring.

fixed this with https://github.com/thebritican/goat/commit/76a361a05d5f1dff70582ed6bc43d38c799762a2#diff-1eaede071ba25e558e0994b60c999defR922


Users are intermittently receiving onTurnError: " Conversation not found"

SeeNode version: v10.14.1
OS: Microsoft Windows [Version 10.0.14393]
BotBuilder NodeJS SDK v4.8.0
Channel: MSTeams
Good day,
Our Teams users are intermittently experiencing an unhandled error: Conversation not found, when conversing with the Bot, in Production.
Below are examples of 2 users that experienced this problem.
{ timeStamp: 2020-06-02T07:25:32.740Z,
user: '*********',
text: 'cancelled',
channelId: 'msteams',
activityID: 'f:4075660803462768582',
converstationID:
'a:1S7ngmWViRyVMbSJsQ6XeYtpL4_JnWP1XUn9m-krFbRwIN95XPiaVAG1CglU42fudfuHa5HxJFwC689Co1fmmm7r1RcOlhXFmQGyrKmDf7Po2gvUTJKm1tc61BEn0DRp9' }
Running dialog with Message Activity, awaiting user Input
[onTurnError] unhandled error: Error: Conversation not found.
{ timeStamp: 2020-06-02T14:08:49.640Z,
user: '*************',
text: 'submit',
channelId: 'msteams',
activityID: 'f:8576363965336088120',
converstationID:
'a:106e7kZyRYk8zPNWOXF_1GaRKCQhpkXT3LIVCiLxljAjQvp3wL6GZayiACHDFl1cVibxlURqZ-hLimWg59ked6YeYXp5nwHDfDQHiXUXtiwnkWKuohUk0z3jPSsjkAbIx' }
Running dialog with Message Activity, awaiting user Input
[onTurnError] unhandled error: Error: Conversation not found.
I'm unable to reproduce this error when testing in our DEV environment.
Please can I be given some guidance as to how to get around this?

@Wajeed-msft Any thoughts on this one?

@craigcliff Could you please share the Bot id?

@Gousia-MSFT
Hi, the ID is as follows:  203d0b8b-a4a0-43ee-b64e-5100f81d297a

@craigcliff We are checking this internally.

@craigcliff We are checking this internally.

Thanks @Gousia-MSFT

@craigcliff Could you please share the timestamp of when the issue happened?

@Gousia-MSFT
I don't have record of the previous failures timestamps, I have however since then enabled app insights on the webapp.
The most recent failure details are as follows:
Event time | 6/15/2020, 7:18:29 PM (Local time)

Error: Conversation not found., timestamp: Mon Jun 15 2020 17:18:25 GMT+0000 (Greenwich Mean Time), user: ********* *********,  text:
****************************************************
, channelId: msteams, activityID:<PHONE_NUMBER>802, converstationID: a:1bo1nUp9XHwdtSCvV4QU-_5sbBYY2h9M_IwTMdzNYV54gN0nEjS7JeiOpTcC7e5AD2nk4zBZy6lLQpZsVY_uPMAU0NPLtgmvz5qOKqn33QQH6HyHcKrKXmBTgDXpoxyDL

The event before the "conversation not found" error above, reflects the following:

Event time | 6/15/2020, 7:18:28 PM (Local time) |
Dependency type | HTTP |
Result code | 404 |
Dependency call status | false |
Dependency duration | 1.5 s |
Remote dependency name | PUT /emea/v3/conversations/a%3A1bo1nUp9XHwdtSCvV4QU-_5sbBYY2h9M_IwTMdzNYV54gN0nEjS7JeiOpTcC7e5AD2nk4zBZy6lLQpZsVY_uPMAU0NPLtgmvz5qOKqn33QQH6HyHcKrKXmBTgDXpoxyDL/activities/1592223393534

@craigcliff We were able to identify the root cause of the issue. We have raised a bug to track this.

@Gousia-MSFT
Thanks, the bug appears to be happening more frequently.  Yesterday in particular the error occurred 4 times:

Error: Conversation not found., timestamp: Tue Jun 23 2020 10:58:47 GMT+0000 (Greenwich Mean Time), channelId: msteams, activityID: f:1954948730978387901, converstationID: a:1wdYXeZf9DbSHMRn40POzB3eYG2qahLHNDrzo_UDOTVXAXH0YtAe5D90RPDOo45Xc5tlaRg08CPabHwUD45bbbUt7KwODRHxFQdOy5ew0u-8wIsnYFgbYHSiuylLoYM-y

Error: Conversation not found., timestamp: Tue Jun 23 2020 13:50:59 GMT+0000 (Greenwich Mean Time), channelId: msteams, activityID: f:4911821228661420490, converstationID: a:1BQ9Gxz51tiVOA6wFqOTGzLbZnBgfsEOYnLVKr9EESNVWdsZc4YXLDTsBuqMIekeI_qpVrEvv6RmJOLsUF8kdMm3Ivza7CyOGzARt8wtq4P0nICwHLcW4Kda-tgHfwei7

Error: Conversation not found., timestamp: Tue Jun 23 2020 11:53:15 GMT+0000 (Greenwich Mean Time), channelId: msteams, activityID: f:8259692861461285434, converstationID: a:1Nwv5Oj3nXmAGf37bSLKn6rtJzEMMG1_DKbopHbtKnrHBlqBKJcolw40cCL5QE3Q5sO6zxgYV2kYLtnBospJNf9mm9sY6FBEcHwwLmJewQ4DD31VtXafuAgp0OhI7oK4Y

Error: Conversation not found., timestamp: Tue Jun 23 2020 13:08:10 GMT+0000 (Greenwich Mean Time), channelId: msteams, activityID: f:5450212550131137220, converstationID: a:1pLGGj8l8SBoNK9lDz34DZbOKKLlWwhWh7ddkaZufcfqWMCrFD9lPxSivDswgesi2elJlHp9u7cVP97xSw-QVSADPMLezG9YOwyQHe_Vv5_kcDE1LviY2Pcl5gYRm0i33

@craigcliff Thanks for sharing this information. We are actively working on the bug fix.

Internal Tracker: Bug 2187287: SMBA maps all 404 responses to return "Conversation not found" error message

Internal Tracker: Bug 2187287: SMBA maps all 404 responses to return "Conversation not found" error message

Hi,
I'm unable to access the link above - i get an access denied page.
Is there any progress on this issue?  It appears to be happening more frequently of late.

@craigcliff , are you still seeing this issue? There was a bug related to PUT requests which was fixed and deployed WW. At this point the "Conversation not found" should be returned consistently for a given thread/activity if the channel or message was deleted and the bot is trying to update it.

Hi! I'm going to go ahead and close this issue, please let me know if the issue persists.


Added convenience class GRPCUnaryResponseHandler for unary calls

The convenience response handler provides a better experience for users that only make unary calls, so that they don't need to create a separate context class for each call. The handler's signature matches v1 RPC methods' response handler, allowing easier migration from v1 to v2.

Bazel RBE Windows Opt C/C++ - #20519
Basic Tests C# MacOS - #20247


Implement this reference implementation using the gitops-bridge terraform pattern

Use gitops-bridge terraform to allow user to create vpc, eks cluster, addons eks pod identity, and deploy the CNOE

this should all go under the stacks repo when we build it


A few ideas for implementing custom color palettes

Semantic's selectors currently have color values hardcoded, such as .teal and .red.  I do like the readable nature of those color names, but it does locks the library into only supporting a small handful of static colors.
It also makes it rather difficult for a web designer to convert a Semantic UI-powered site to a new color palette.  Below is a first draft idea on how to add color palette support to Semantic UI.
Two things need to be added to support palettes:

Variable color names
Variable color values

Adding support for more color
Colors could be defined in a palette.less file with color definitions like these:
@P1_NAME: e('white');
@P1_COLOR: #ffffff;

@P2_NAME: e('black');
@P2_COLOR: #000000;

@P3_NAME: e('teal');
@P3_COLOR: #008080;

@P4_NAME: e('red');
@P4_COLOR: #ff0000;

palette.less would be modified on a per-site basis to support the desired color palette.
And those colors could be referenced inside selectors across the rest of the library like this:
<EMAIL_ADDRESS>{ color: @P1_COLOR; }
<EMAIL_ADDRESS>{ color: @P2_COLOR; }
<EMAIL_ADDRESS>{ color: @P3_COLOR; }
<EMAIL_ADDRESS>{ color: @P4_COLOR; }

CSS result:
.myclass.white.foo {
  color: #ffffff;
}
.myclass.black.foo {
  color: #000000;
}
.myclass.teal.foo {
  color: #008080;
}
.myclass.red.foo {
  color: #ff0000;
}

These selectors would be not modified on a per-site basis.
Adding support for color permutations
less has an awesome array of color adjustment functions like lighten(), saturate(), and more.  Making use of those removes the need to have dozens of unique color codes littering CSS files.  (Note: contrast() is perfect for .inverted)
Limitations and Trade-offs

Because less does not support loops, a limited number of colors can be added.  I lean toward 8 colors being the max.  Very few people would want more than 8 colors on a page, and 8 wouldn't add many SLOC to each selector.
Spaces cannot be allowed in color names, but less does not provide a way to restrict spaces, or substitute - dashes.
The biggie: custom palettes can not be freely dropped onto an existing Semantic UI site.  With this scheme, adopting a new palette requires markup changes.  That's the price of readability, I suppose.  class="teal" versus class="color1".  The former provides excellent readability, while the former allows for better markup-css separation.

If anyone has suggestions, better ideas, ways to overcome the limitations, or any other feedback please contribute!

Is this feature developed? Where can I find more information relating to custom color palettes?

@rajeshyogeshwar http://semantic-ui.com/usage/theming.html#sitewide-defaults


Definition of vecdot is ambiguous in the complex case.

The function linalg.vecdot is defined as:

Computes the (vector) dot product of two arrays.

It is not clear what this means for complex vectors, as it could be \sum x_i y_i or it could be (as defined for a complex dot product) \sum \conj(x_i) y_i.
I am aware that the API does not cover complex tensors yet, but many of the libraries that are currently implementing this operation do support complex tensors, so it would be great to disambiguate the meaning of this operation now, so that libraries that implement it can safely implement the intended operation for complex tensors.

@Lezcano In https://github.com/pytorch/pytorch/pull/70542, you've implemented the complex dot product as the \sum x_i y_i. Any particular reason for this choice?
As documented in https://github.com/data-apis/array-api/pull/137, NumPy, in its main namespace, has both non-conjugating APIs and a conjugating API (vdot).
In the OP of https://github.com/data-apis/array-api/pull/137, I advocated for complex conjugation in vecdot rather than having a separate API, which has the nicety of ensuring that the inner product of a complex vector with itself is real and positive definite.
For external reference, both Julia and MATLAB conjugate. BLAS has two routines: one conjugating (cdotc) and the other non-conjugating (cdotu).

I just had to choose one and I went for implementing the equivalent of matmul for vectors (as you cannot do this with matmul).
Now, according to the specification, the correct way of implementing this would be as a complex inner product, i.e. x^H y. What the operation that I just implemented means in the complex case is the application of a batch of complex 1-forms on a batch of complex vectors.
In my opinion, given the name, the correct implementation in the complex case should be x^H y. What do you think?

I'm of the same opinion: x^H y. Perhaps others have different opinions?

I just had to choose one and I went for implementing the equivalent of matmul for vectors (as you cannot do this with matmul).

matmul/@ supports 1D array inputs. For higher dimensional arrays you can use mT to align the dimensions for matmul.

You can indeed replicate the this behaviour resizing the inputs adding a dimension of size 1 in both inputs (see https://github.com/pytorch/pytorch/issues/18027) but this seems fairly clunky. There is no easy way to do this at the moment with the API.

This issue was discussed during the most recent consortium meeting (1-6-2021). Consensus there was that the definition of the vector dot product for complex number input should conjugate (i.e., x^H y; similar to NumPy's vdot).
Implementors can begin their complex number vecdot implementations assuming that this will be added to the specification along with more general complex number guidance.


Unsufficient details in logs

Hi there. I've installed the plugin following the manual, it show many green ticks in its "Config check" setings tab, but creating new repositories don't work. I've set "DEBUG" verbosity for logs, but this still isn't sufficient to find out the problem. Here is an excerpt from tail -f redmine/log/git_hosting.log output:
2015-06-29 01:03:26 +0300 [INFO] User 'admin' created a new repository 'test4/test6'
2015-06-29 01:03:26 +0300 [INFO] Accessing gitolite-admin.git at '/tmp/redmine_git_hosting/git/gitolite-admin.git'
2015-06-29 01:03:27 +0300 [INFO] add_repository : repository 'test4/test6' does not exist in Gitolite, create it ...
2015-06-29 01:03:27 +0300 [DEBUG] add_repository : repository path 'repositories/test4/test6.git'
2015-06-29 01:03:27 +0300 [INFO] add_repository : commiting to Gitolite...
2015-06-29 01:03:28 +0300 [INFO] add_repository : let Gitolite create empty repository 'repositories/test4/test6.git'
2015-06-29 01:03:30 +0300 [INFO] Execute Gitolite Plugins
2015-06-29 01:03:30 +0300 [DEBUG] Lookup for git_cache_id with repository path 'repositories/test4/test6.git' ...
2015-06-29 01:03:30 +0300 [DEBUG] git_cache_id found : test4/test6
2015-06-29 01:03:30 +0300 [DEBUG] Lookup for git_cache_id with repository path 'repositories/test4/test6.git' ...
2015-06-29 01:03:30 +0300 [DEBUG] git_cache_id found : test4/test6
2015-06-29 01:03:30 +0300 [ERROR] Git exited with non-zero status : 128

I'd be happy if it shows me the exact commands it tries to launch, but none of that is visible. BTW, what could be wrong here?

Ah, sorry for bothering: I've just forget to configure .gitolite.rc. But logs still may be more verbose.

WIP : https://github.com/jbox-web/redmine_git_hosting/pull/466

Merged!

@n-rodriguez Pretty fast!


The datasets can be downloaded separately here.

The link can't be opened, can you share the URL?

It seems the link works fine for me. Could you double check? Also, the link is on Dropbox, which is not accessible from China, so you may want to try using a VPN if you are from there.

Yes, I am in China, I understand


PyTorchDiscriminator does not load a model from file

Information

Qiskit Aqua version: 0.8.0
Python version: Any
Operating system: Any

What is the current behavior?
When trying to load a model from file to a PyTorchDiscriminator object, nothing happens (the parameters of the object are not modified)
Steps to reproduce the problem
What is the expected behavior?
Suggested solutions
Substitute line 93 of file qiskit-aqua/qiskit/aqua/components/neural_networks/pytorch_discriminator.py /
with the following:
self._discriminator = torch.load(load_dir)

Thanks!


Scalable dividends

Implements scalable pull-based dividends as an internal "library", based on:
[1] http://batog.info/papers/scalable-reward-distribution.pdf
[2] https://solmaz.io/2019/02/24/scalable-reward-changing
Scope
Add a private "accounting" interface that is currently not linked to any ERC20 or eth transfers. Note that both the staked token and the awarded (dividend) token can be any of an ERC20 or eth. This integration will be added in a separate PR.
Eligible Unit
If every staked wei were to count towards accruing dividends, then no distribution would be possible with amounts smaller than the total stake (if there are two stakers, one with 1 eth and one with 1 wei then any amount < 1 eth + 1 wei can not be correctly allocated). Given that in most applications there will be a need to distribute smaller amounts than the total stake then we're introducing an "eligible unit" as is the smallest amount of stake that "matters" for accruing dividends.
This value defaults now to 10**9 which is half the orders of magnitude a typical ERC20 contract would use as decimals. I find this a good compromise between smaller "wasted" reminders of individual deposits (say ELIGIBLE_UNIT=1 eth, anyone depositing smaller amounts would not receive any dividends) and ability to distribute smaller amounts (like in above example).
This default should be revisited in case the staked and the dividend token have largely different circulating supplies. Actually, it depends more on the expected volumes of stake and dividends tokens in the contract, but probably the total circulating supply is a good enough indicator.
Distribution
Accepts any amount as an argument to _distribute even if not all amounts could possibly be distributed (if called with 1 wei there's no way it could be allocated if total stake, in eligible units, is greater than 1). Smaller amounts that can not immediately be distributed are accumulated until distribution is possible, at a future _distribute call.
Currently calls to _distribute are reverted if there is no stake. Alternatively it could accumulate those amounts until at least one user stakes in.
Withdrawal
Stake and dividend can be withdrawn independently.
Gas usage
Currently this implementation stores 3 int256s per address. One of them simply stores stake modulo ELIGIBLE_UNIT and could easily be eliminated at the expense of extra computation per call. Not sure which one is more gas efficient. Also, if this current version will be embedded into an ERC20, the total storage would be of 4 int256 per address. It could be reduced to only 2, if balanceOf, _stake and _stakeReminder are unified. I leave that as a future improvement.

Looks great. I had one question on the events:
I was thinking it might be nice to keep the 'from' value in the DistributionMade event, to track where all the payments come from. Any thoughts on this?

@tspoff I've added back the from value to DistributionMade event. Please have a look at the entire PR.


linker: nxp: adsp: add orphan linker section

Add missing linker section to avoid warning
about orphans when building with host compiler.

is this a bug to fix before LTS?

is this a bug to fix before LTS?

Yes, it will be good to be in 3.7.
The warnings appear when compiling with latest XCC toolchain  - RJ-2024.3.


Update README.md to use TravisCI own badge for build status with the correct branch selected

I signed it!


[solution-import] add more descriptive error message when a solution environment variable is missing

Hi,
I had an issue where my unmanaged solution import failed with the very undescriptive message  "Error: The given key was not present in the dictionary.".
After a lot of testing, I think I have isolated the error to be related to not having defined a deployment setting file, containing the required environment variable for my solution.
Here is my step-config; adding the last two lines resolved the error:
 - name: Import solution as unmanaged to build env
        uses: microsoft/powerplatform-actions/import-solution@v0
        with:
          environment-url: ${{inputs.BUILD_ENVIRONMENT_URL}}
          app-id: ${{inputs.CLIENT_ID}}
          client-secret: ${{ secrets.envSecret }}
          tenant-id: ${{inputs.TENANT_ID}}
          solution-file: ${{ inputs.solution_outbound_folder}}/${{ inputs.solution_name }}.zip
          force-overwrite: true
          publish-changes: true
          run-asynchronously: true
          use-deployment-settings-file: true
          deployment-settings-file: "env.json"

It took me some time to isolate the cause of this error, and I think it would be great to include a more descriptive error message.
The origin of the error message seems to be the target environment itself, so I guess an immediate fix would to be to add some client-side validations on the solution-import action, checking the contents environmentvariabledefinition.xml.

Some additional information: it seems that the issue only occurs when importing an unmanaged solution, in my latter steps, while doing an import of a managed version of this solution, I was able to import without providing environment variables. These were, as expected, requested in the web-ui on make.powerapps.com after the successful import.


Managing new administrators

Codecov Report

Merging #44 into submaster will decrease coverage by 0.29%.
The diff coverage is 18.75%.

@@             Coverage Diff             @@
##           submaster     #44     +/-   ##
===========================================
- Coverage      41.59%   41.3%   -0.3%
===========================================
  Files             60      60
  Lines           1445    1460     +15
  Branches          98     100      +2
===========================================
+ Hits             601     603      +2
- Misses           817     830     +13
  Partials          27      27

Impacted Files
Coverage Δ

.../main/java/com/modesteam/urutau/model/Project.java
38.02% <0%> (-1.11%)
:arrow_down:

.../modesteam/urutau/controller/MemberController.java
70.37% <21.42%> (-17.44%)
:arrow_down:

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 861634d...e5aaf28. Read the comment docs.

Passing without tests. Into issue #43 the tests will suffer hard refactoring.


AttributeError: Can't pickle local object 'FastAPI.setup..openapi' logging SocketHandler

First check

[*] I added a very descriptive title to this issue.
[*] I used the GitHub search to find a similar issue and didn't find it.
[*] I searched the FastAPI documentation, with the integrated search.
[*] I already searched in Google "How to X in FastAPI" and didn't find any information.
[*] I already read and followed all the tutorial in the docs and didn't find an answer.
[*] I already checked if it is not related to FastAPI but to Pydantic.
[*] I already checked if it is not related to FastAPI but to Swagger UI.
[*] I already checked if it is not related to FastAPI but to ReDoc.

Hi, after digging deep in the uvicorn source I have come to the conclusion I can't use log_config kwargs because logging record aren't sent to the master process but handled by the worker itself,
in my case I have 2constraints:
the solutions must be python only / not dependant of the process manager "at the end the system must be independent in terms of logging"
I must setup complexe rotating files and I can't let the workers handle that because each worker will try to rename/delete logs files.
my current solution is send the logs records via TCP but I'm face to an issue:
--- Logging error ---
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/logging/handlers.py", line 631, in emit
    s = self.makePickle(record)
  File "/usr/local/lib/python3.8/logging/handlers.py", line 603, in makePickle
    s = pickle.dumps(d, 1)
AttributeError: Can't pickle local object 'FastAPI.setup.<locals>.openapi'
Call stack:
  File "/usr/local/lib/python3.8/threading.py", line 890, in _bootstrap
    self._bootstrap_inner()
  File "/usr/local/lib/python3.8/threading.py", line 932, in _bootstrap_inner
    self.run()
  File "/usr/local/lib/python3.8/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
Message: '<IP_ADDRESS>:59572 - "GET / HTTP/1.1" 200'
Arguments: None

minimal repro code:
app.py
# coding: utf-8

import logging
import logging.handlers
import queue

from fastapi import FastAPI

root_logger = logging.getLogger()
root_logger.setLevel(logging.DEBUG)

q = queue.Queue()
queue_handler = logging.handlers.QueueHandler(q)

root_logger.addHandler(queue_handler)

socket_handler = logging.handlers.SocketHandler('localhost', logging.handlers.DEFAULT_TCP_LOGGING_PORT)
listener = logging.handlers.QueueListener(q, socket_handler, respect_handler_level=True)
listener.start()

logger = logging.getLogger(__name__)

app = FastAPI()

@app.on_event("shutdown")
def on_shutdown():
    q.join()

logger.info("from app")

@app.get("/")
async def homepage():
    return "Hello world"

main.py
# coding: utf-8

if __name__ == "__main__":

    import socketserver
    import pickle
    import struct
    import threading
    import logging
    import logging.handlers

    import uvicorn

    class LogRecordStreamHandler(socketserver.StreamRequestHandler):
        def handle(self):
            while True:
                chunk = self.connection.recv(4)
                if len(chunk) < 4:
                    break

                slen = struct.unpack(">L", chunk)[0]
                chunk = self.connection.recv(slen)
                while len(chunk) < slen:
                    chunk += self.connection.recv(slen - len(chunk))

                obj = pickle.loads(chunk)
                record = logging.makeLogRecord(obj)
                logger = logging.getLogger(record.name)

                if logger.isEnabledFor(record.levelno):
                    logger.handle(record)

    logging.basicConfig(format="%(name)-15s %(levelname)-8s %(message)s", level=logging.DEBUG)

    TCP_server = socketserver.ThreadingTCPServer(
        ("localhost", logging.handlers.DEFAULT_TCP_LOGGING_PORT), LogRecordStreamHandler
    )

    threading.Thread(target=TCP_server.serve_forever).start()

    workers = 2

    logger = logging.getLogger(__name__)

    logger.info("Running %d workers", workers)
    uvicorn.run("app:app", host="<IP_ADDRESS>", port=8000, log_config={"version": 1, "disable_existing_loggers": False}, workers=workers)
    TCP_server.shutdown()

venv/bin/python src/main.py
go to <IP_ADDRESS>:8000
Do you have any idea ?
If some things are not clear or precise enough ask me
ps: I failed labels assignation 🤦
Environment

OS: linux (debian 10):
FastAPI: 0.55.1
Python version: 3.8.1

I'm dealing with the exact same problem (and have an almost identical setup to yours).
The problem is caused by uvicorn's logger uvicorn.access emitting a log record that contains unpicklable objects:
{
    'name': 'uvicorn.access',
    'msg': '<IP_ADDRESS>:41938 - "GET /docs HTTP/1.1" 200',
    'args': None,
    'levelname': 'INFO',
    'levelno': 20,
    'pathname': '/home/eric/miniconda3/envs/test/lib/python3.7/site-packages/uvicorn/protocols/http/httptools_impl.py',
    'filename': 'httptools_impl.py',
    'module': 'httptools_impl',
    'exc_info': None,
    'exc_text': None,
    'stack_info': None,
    'lineno': 454,
    'funcName': 'send',
    'created':<PHONE_NUMBER>.3735769,
    'msecs':<PHONE_NUMBER>013428,
    'relativeCreated': 9702.853918075562,
    'thread':<PHONE_NUMBER>06272,
    'threadName': 'MainThread',
    'processName': 'MainProcess',
    'process': 28906,
    'status_code': '\x1b[32m200 OK\x1b[0m',
    'scope': {
        'type': 'http',
        'http_version': '1.1',
        'server': ('<IP_ADDRESS>', 8000),
        'client': ('<IP_ADDRESS>', 41938),
        'scheme': 'http',
        'method': 'GET',
        'root_path': '',
        'path': '/docs',
        'raw_path': b'/docs',
        'query_string': b'',
        'headers': [
            (b'host', b'<IP_ADDRESS>:8000'),
            (b'user-agent', b'python-requests/2.24.0'),
            (b'accept-encoding', b'gzip, deflate'),
            (b'accept', b'*/*'),
            (b'connection', b'keep-alive')
        ],
        # These are the trouble makers:
        'fastapi_astack': <contextlib.AsyncExitStack object at 0x7f7eb5d17290>,
        'app': <fastapi.applications.FastAPI object at 0x7f7edbe8c250>,
        'router': <fastapi.routing.APIRouter object at 0x7f7ed8d85b50>,
        'endpoint': <function FastAPI.setup.<locals>.swagger_ui_html at 0x7f7ed8d99200>,
        'path_params': {}
    },
    'method': 'GET',
    'path': '/docs',
    'full_path': '/docs',
    'client_addr': '<IP_ADDRESS>:41938',
    'request$line': '\x1b[1mGET /docs HTTP/1.1\x1b[0m',
    'http_version': '1.1',
    'levelprefix': '\x1b[32mINFO\x1b[0m:    '
}

My stopgap solution just strips out the troublemaking values.

@tiangolo Same problem with
from fastapi import FastAPI
import uvicorn

app = FastAPI()

def test_uvicorn():

    uvicorn.run(app=app, workers=4)


Focus-on-error can cause unexpected behavior in combination with onBlur validation

Describe the bug and the expected behavior
I’m dealing with a form with input validation on blur. Some fields are mandatory and initially empty, so that if you blur by focusing another mandatory and empty field, you will get stuck in a perpetual focus/blur loop:
https://github.com/user-attachments/assets/8699d43a-fa12-475a-b9f7-fb9216d86917
Apart from this, I feel like it’s more user-friendly to not programmatically change the focus on blur, since it is unexpected and counters the user action:
https://github.com/user-attachments/assets/b21557f9-15ac-46d7-b53f-ad4e16dedf86
Suggested solutions:

Don’t focus-on-error when the validation happens onBlur
Add a boolean option to disable the focus-on-error behavior altogether

Are you open to a quick PR that adds a boolean focusOnError to the form options?
Thanks.
Conform version
v1.2.2
Steps to Reproduce the Bug or Issue
See screen recording above. Have two <input type="text" />s that are validated on blur, validation schema should be z.string() for both (which Conform interprets as disallowing ""), initial value should be "", blur one input by focusing the other input.
What browsers are you seeing the problem on?
Chrome, Firefox, Microsoft Edge, Safari, Others
Screenshots or Videos
See above
Additional context
Previously commented on this discussion, but I figured I could open an issue since this is probably unexpected behavior.

I might have misunderstood something. But I don't think we are changing the focus on validation.
Any chance you can provide a repo? You can use our example here: https://stackblitz.com/github/edmundhung/conform/examples/remix

@edmundhung I tried using the StackBlitz link you provided, but it runs into an error on npm run dev. In any case, I think the focus behaviour I’m running into is due to the element.focus() line above

The code you’re referring to will only run during an actual form submission. There’s likely something else triggering a form submission that you might not be aware of.
Not sure why the StackBlitz link isn’t working for you. If you’re not using Chrome, could you try accessing it there?

Thanks, this is helpful.

The code you’re referring to will only run during an actual form submission. There’s likely something else triggering a form submission that you might not be aware of.

This seems to be the crux of the issue: the inputs in my app are autosaving; they are submitted on input (debounced), and on blur. Even if I disable the onBlur event handler, focus will jump back to the invalid input when the debounced onInput autosave gets executed.
I’m not sure if this is a common pattern, but it would be helpful if the autofocus behaviour could be opt-in/opt-out, via some configuration property. Are you open to a quick PR that adds a boolean focusOnError to the form options?

Not sure why the StackBlitz link isn’t working for you. If you’re not using Chrome, could you try accessing it there?

I was using Safari, it works fine in Chrome. If the above explanation is not sufficient, I will look into making a reproduction.
Thanks in advance!


Hi may I ask if this is tested for docker version of hass?

Hi may I ask if this is tested for docker version of hass? Is it possible to use in with dockerized HASS? I have mounted CC2652 and it's connected to the IR01.

Hello, the plugin only reads the last_received_command of the IR01 entity which you specified from the config, and use the set the send_command entity to control the AC. I have never use docker version of HASS but it would work as long as the IR01 entities are recognized by the system

Thank you for your reply. My server is Debian 12 headless. I tested the docker version. Problem is that docker HA is only built in with ZHA, not Z2M, and no addons are allowed (because addons are basically dockers also). In theory it should be possible to just run docker ha, docker mqtt and docker z2m and make the 3 docker containers talk to each other through LAN, but I only got docker ha and docker mqtt up, but I could not find any way to run docker z2m on debian 12.
This easyiot IR remote seems not supporting ZHA command sending. But it works well with Z2M. Please correct my if I am wrong.
So in the end I switched to KVM HA supervised, hosted on my Debian 12, and got ZHA installed. Haven't been able to configure your frontend climate add on but it looks promising.
Could you share more on how you run the HA together with this addon? Does your IR blaster zigbee connect with HA with ZHA or Z2M or something else? Do you run them dockerized or bare metal, or kvm, etc?

I am using the HAOS install. The IR01 should work on Z2M with latest release, you could use any kind of HA installation methods which Z2M supports.

Hi I am able to use the MQTT or Z2M frontend to send command. However I could not find your integration in my 'Integration' page.
What I did:

I made a folder under config, custom_components, and uploaded the folder.
I copied the config to configuration.yaml.

zb-ir01-to-climate:
  - ir01_entity_id: 0xf4b3b1fffe132df2
    climate_id: climate.my_ac
    climate_name: My AC

Rebooted HAOS. Did not show in Integrations.
I tried to change the ir01_entity_id to "sensor.ac_remote_last_received_command" or "text.ac_remote_send_command", both not helping.

I could search it but cannot add. It showed

"You can add this device by adding it to your 'configuration.yaml'. See the documentation for more information."

Here is where I put the files

Did I miss anything? Should I make any other changes?

Your entity id would be “ac_remote”.  After you updated the config and restart HA, you should find the ac entity

You are right. It's working like a charm! Thank you.


Submission Details: "Loading files" message stays when no files found

When no files are associated with a Submission (as is the case where completed Submissions are pre-loaded from NIHMS data), the "Loading files..." message on Submission Details page does not go away.

Using rev. 9792cf64

I think there's some subtlety that's not being detected her

if a submission just got submitted and UI can't pick it up yet, it should say "file is loading"
if a submisison did not originate from PASS (pulled from other source, it should say "no files"


Doesn't recognize img src

Challenge http://freecodecamp.com/challenges/waypoint-make-images-mobile-responsive has an issue. Please describe how to reproduce it, and include links to screenshots if possible.
I create the new image, I get correct checks about having 2 images, and having correct bootstrap tag, but keeps saying that the src is not right; I havre tried copying and pasting it, typing it... Doesn't seem to work. I havre tried also placing the img element in different places... And the image shows up right! So I am actually accessing an image stored in bit.ly.
Thanks,

Hi there @Miguel-Arribas I am unable to replicate this myself. Can you check that you are still unable to pass this challenge and report back? Also what browser are you using?

Problem appears to be both images having the "img-responsive" class.
Fail:
[code]

[/code]
Pass:
[code]

[/code]

@jameskopacz, thanks for the help, that worked for me!

@jameskopacz Thanks, James. (sorry for being so late acknowledging your help).

I get passing marks but none of the images display on the simulated phone display.
images code:

Running Chrome on Win7

I get passing marks but images don't display on Chrome/Windoze7
code for the images:

hmmm

@jameskopacz , thanks for the help, that worked for me.

The solution is not list the period:  correct is https://bit.ly/fcc-running-cats and incorrect is https://bit.ly/fcc-running-cats.


What is the reason for this prompt after login?

The previously deployed business can run up, and today I want to redeploy this problem on another one.

Refreshing or logging out will not work, and it still prompts that you are not logged in.

It may be a bug that the ticket returned in the user module is undefined. The latest version of TarsWeb has fixed this problem. You can try to upgrade TarsWeb to solve this problem.

可能是用户模块中返回的ticket为undefined的bug，最新版的TarsWeb已经修复这个问题，可以尝试升级TarsWeb解决这个问题。


requests.exceptions.SSLError

requests.exceptions.SSLError：此应用遇到错误。原始错误消息已被编辑以防止数据泄漏。完整的错误详细信息已记录在日志中（如果您使用的是 Streamlit Cloud，请单击应用右下方的“管理应用”）。

@onmpen Hey, there. The zlibrary Domain (singlelogin.me) has been seized. However, I have updated it with the currently working Url. It should work now

thank you for your reply. But when I log in and select a book:
requests.exceptions.SSLError: This app has encountered an error. The original error message is redacted to prevent data leaks. Full error details have been recorded in the logs (if you're on Streamlit Cloud, click on 'Manage app' in the lower right of your app).

@onmpen Yes, you are right. It seems that the domain is still unaccessible. I guess the only option left is to create a proxy and connect via tor (onion link).
I will update the app and inform you accordingly.


spanner-jdbc-cleanup - Step 04 - SQL Based Tests

Adds the SQL based unit tests for the JDBC driver.

Going to wait for rebase before reviewing

Going to wait for rebase before reviewing

It has now been rebased.


fix: remove accidental cartesian product of large tables in pending proposal date query

This simple query was taking dozens of seconds after the block_pushes table started getting populated. This optimization brings that down to ~300ms

:tada: This PR is included in version 0.12.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Support for Cloudflare pages

Current cloudflare-go version
0.22.0
Description
Support for Cloudflare pages https://api.cloudflare.com/#pages-project-properties
Use cases
To be able to add/edit/delete cloudflare project pages through terraform
Potential cloudflare-go usage
Not sure to be honest

References

related issue on the provider side https://github.com/cloudflare/terraform-provider-cloudflare/issues/1037

closed in #724


.github/workflows/build: Provide an (optional) way to limit build org

For cases where someone would create pull requests from the main
branch in diferent forks, which could get pushed to their gh-pages.
Disabled by default.
Currently in testing
Review:

Is there any purpose for this?  Is complexity too unnecessary?
It is disabled by default, because of the comment above.

I am not sure I understand the use case after few times reading the description. Can you please rephrase this for me? (sorry)

I am not sure I understand the use case after few times reading the description. Can you please rephrase this for me? (sorry)

Ah. Now I understand the use case.

I am now finally picking it up again and will try to understand and process this now today.

It's say let's merge this and let the future decide. But can you please add a comment or two to the now growing if clauses so that we document why the checks are there.

I am closing this. It conflicts and I am unsure what I will break if I try to resolve and we have been using this now for many months. If the problem comes back, we can revisit.


smart-seq2 stranded

Hi Developers,
Below is an excerpt of logic SmartSeq2:
class SmartSeq2(Logic):
    """SmartSeq2 logic
    """

    def __init__(self) -> None:
        self.name = "SmartSeq2"

    @property
    def layers(self) -> List[str]:  # This should be overridden if a different set of layers is desired
        return ["spliced", "unspliced", "ambiguous", "spanning"]

    @property
    def stranded(self) -> bool:
        return False

I wonder if it true that SmartSeq2 will treat reads as non-stranded, even for stranded data? Thanks.

Yes it will ignore the strand information.

The behaviour will depend on the output of preprocessing and alignment.
Velocyto considers each entry of the bam file as an independent mapping of
a read.
So if the bam file has two entries corresponding to R1 and R2 for each
illumina cluster, then yes they will be counted twice. If you would rather
have another behavior you can change the logic or the bam file itself.

Thanks to your answer. That explains my observation that, when I tried to feed velocyto a bam file with only R1 or R2, I got half number of counts as the entire bam file.
This behavior seems unexpected to me, because mainstream paired-end quantification tools avoid such double counting scheme. Here is an example from HTSeq document (http://htseq.readthedocs.io/en/master/count.html):

For paired-end data, does htseq-count count reads or read pairs?
Read pairs. The script is designed to count “units of evidence” for gene expression. If both mates map to the same gene, this still only shows that one cDNA fragment originated from that gene. Hence, it should be counted only once.

It is a very good point. Is there a standard of how/in which entry to encode this information in the bam file?
I am very happy to bring this in line with the standard in the field. I also think that using both reads jointly can help providing evidence for the existence of a longer fragment that could be more informative in the context calling of exon-intron or exon-exon spanning fragments.
If you have some time to talk about this more in detail and maybe help by checking a test implementation, please don't hesitate to contact me by email.

Thanks again for your confirmation.
Sure. Bam file has read pair (among others) information encoded in "flag" (https://broadinstitute.github.io/picard/explain-flags.html): 0x40 indicates R1 and 0x80 R2. In terms of paired-end quantification logic, there are two widely used packages HTSeq (https://github.com/simon-anders/htseq/tree/master) and FeatureCount (http://subread.sourceforge.net/) you might refer to. Essentially, both package assigns a count to a gene, if one or both mates are aligned.


[WIP] Diff between kni-installer and openshift/installer

This is just a place to see the full diff between kni-installer and openshift/installer, and be able to have a discussion on parts of the code that need changing before opening a real PR to openshift/installer.
The kni branch in this repo is an un-renamed copy of master from https://github.com/openshift-metal3/kni-installer
sed -i 's|openshift-metalkube/kni-installer|openshift/installer|g' $(git grep -l openshift-metalkube/kni-installer | grep '\(cmd\|build.sh\|pkg\|assets_generate.go\)')
sed -i 's|kni-install|openshift-install|g' $(git grep -l kni-install | grep '\(cmd\|build.sh\|pkg\)')
git mv cmd/kni-install cmd/openshift-install

Closing this, as it's not needed anymore. openshift/installer PR was merged a while back.


Logger doesn't work

The logger function incorrectly assumes that you provide additional information and fails since a call to the logger in debug mode doesn't always carry additional information.
/Users/create/work/lambda-sns/node_modules/@vendia/serverless-express/src/logger.js:43         ...additional.map(lazyPrint)                       ^ TypeError: Cannot read properties of undefined (reading 'map')     at Object.debug (/Users/create/work/lambda-sns/node_modules/@vendia/serverless-express/src/logger.js:43:23)     at getFramework (/Users/create/work/lambda-sns/node_modules/@vendia/serverless-express/src/frameworks/index.js:13:9)

I have around 50 APIs built using @vendia/serverless-express and all of them stopped working suddenly after a redeployment. After spending a day troubleshooting, I found out that the logger.js has been changed in the latest version to use "...additional.map(lazyPrint)". This was causing following error when invoking the API:
{
"errorType": "TypeError",
"errorMessage": "Cannot read properties of undefined (reading 'map')",
"stack": [
"TypeError: Cannot read properties of undefined (reading 'map')",
"    at Object.debug (/var/task/node_modules/@vendia/serverless-express/src/logger.js:43:23)",
"    at getFramework (/var/task/node_modules/@vendia/serverless-express/src/frameworks/index.js:13:9)",
"    at configure (/var/task/node_modules/@vendia/serverless-express/src/configure.js:22:35)",
"    at Object. (/var/task/index.js:6:19)",
"    at Module._compile (node:internal/modules/cjs/loader:1196:14)",
"    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1250:10)",
"    at Module.load (node:internal/modules/cjs/loader:1074:32)",
"    at Function.Module._load (node:internal/modules/cjs/loader:909:12)",
"    at Module.require (node:internal/modules/cjs/loader:1098:19)",
"    at require (node:internal/modules/cjs/helpers:108:18)"
]
}
I will revert back to version 4.10.1 for now, but above error is a blocker issue for the latest version.

@create1st  @anishsam  thanks for the report. This should be fixed in 4.10.4 thanks to @H4ad

Thank you


Error when creating episode under show n directus

@fredrikved Can you update the task with details on what we've talked about? That fixing an episode error doesnt work if episode is created under a show?

We didn't get to reproduce the actual error though or?
I only know of the UX challenges, not of errors.

Repro:

Select a show
Open season and create an episode
Add metadata of episode but leave out fields like publish date or production date
Click confirm on episode, season and show level
Get error message on publish date and production date that it is required
Navigate back to the episode and add the missing field
Confirm on episode, season and show level
Get the same error message
Navigate back to the episode and the previous filled info are gone

You can update the task description to address this

Should be fixed.


Add META navigator

Performance is about 2x slower than calling meta or with-meta manually.

But its "transform metadata" functionality is ~15% faster than vary-meta.

Nice work.


Add INCAL

Adding a language

[x] The code displays "Hello World"
[x] I have updated the readme to include the new language
[x] I have incremented the language count in the readme

@Richienb AHH I can't revert it and it already exists


Molecule fails on Fedora 26 docker container - dnf makecache fast doesn't work anymore

molecule version: 1.23.1
molecule file:
---
docker:
  containers:
    - name: fedora26
      image: fedora
      image_version: 26
verifier:
  name: testinfra

Error when creating image:
--> Creating Ansible compatible image of fedora:26 ...
--> Building ansible compatible image...
	Step 1/8 : FROM fedora:26
	 ---> c33114392d5e
	Step 2/8 : RUN /bin/sh -c 'if [ -x "$(command -v apt-get)" ]; then apt-get update && apt-get install -y python sudo bash; fi'
	 ---> Using cache
	 ---> 6ab7733bee52
	Step 3/8 : RUN /bin/sh -c 'if [ -x "$(command -v yum)" ]; then yum makecache fast && yum update -y && yum install -y python sudo yum-plugin-ovl bash && sed -i 's/plugins=0/plugins=1/g' /etc/yum.conf; fi'
	 ---> Running in 100296cdc1f9
	usage: dnf makecache [-c [config file]] [-q] [-v] [--version]
                     [--installroot [path]] [--nodocs] [--noplugins]
                     [--enableplugin [plugin]] [--disableplugin [plugin]]
                     [--releasever RELEASEVER] [--setopt SETOPTS]
                     [--skip-broken] [-h] [--allowerasing] [-b] [-C]
                     [-R [minutes]] [-d [debug level]] [--debugsolver]
                     [--showduplicates] [-e ERRORLEVEL] [--obsoletes]
                     [--rpmverbosity [debug level name]] [-y] [--assumeno]
                     [--enablerepo [repo]] [--disablerepo [repo] | --repo
                     [repo]] [-x [package]] [--disableexcludes [repo]]
                     [--repofrompath [repo,path]] [--nogpgcheck]
                     [--color COLOR] [--refresh] [-4] [-6] [--downloadonly]
                     [--bugfix] [--enhancement] [--newpackage] [--security]
                     [--advisory ADVISORY] [--bzs BUGZILLA] [--cves CVES]
                     [--sec-severity {Critical,Important,Moderate,Low}]
                     [--timer]
dnf makecache: error: argument timer: invalid choice: 'fast' (choose from 'timer')

	The command '/bin/sh -c /bin/sh -c 'if [ -x "$(command -v yum)" ]; then yum makecache fast && yum update -y && yum install -y python sudo yum-plugin-ovl bash && sed -i 's/plugins=0/plugins=1/g' /etc/yum.conf; fi'' returned a non-zero code: 2
ERROR: Build failed for molecule_local/fedora:26.
Creating container fedora26 with base image fedora:26...
Traceback (most recent call last):
  File "/usr/bin/molecule", line 11, in <module>
    sys.exit(main())
  File "/usr/lib/python2.7/site-packages/molecule/cli.py", line 41, in main
    cli(obj={})
  File "/usr/lib/python2.7/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python2.7/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python2.7/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python2.7/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/molecule/command/test.py", line 96, in test
    util.sysexit(t.execute()[0])
  File "/usr/lib/python2.7/site-packages/molecule/command/test.py", line 44, in execute
    status, output = c.execute(exit=False)
  File "/usr/lib/python2.7/site-packages/molecule/command/create.py", line 42, in execute
    self.molecule.driver.up(no_provision=True)
  File "/usr/lib/python2.7/site-packages/molecule/driver/dockerdriver.py", line 172, in up
    hostname=hostname)
  File "/usr/lib/python2.7/site-packages/docker/api/container.py", line 447, in create_container
    return self.create_container_from_config(config, name)
  File "/usr/lib/python2.7/site-packages/docker/api/container.py", line 458, in create_container_from_config
    return self._result(res, True)
  File "/usr/lib/python2.7/site-packages/docker/api/client.py", line 226, in _result
    self._raise_for_status(response)
  File "/usr/lib/python2.7/site-packages/docker/api/client.py", line 222, in _raise_for_status
    raise create_api_error_from_http_exception(e)
  File "/usr/lib/python2.7/site-packages/docker/errors.py", line 31, in create_api_error_from_http_exception
    raise cls(e, response=response, explanation=explanation)
docker.errors.ImageNotFound: 404 Client Error: Not Found ("No such image: molecule_local/fedora:26")

https://github.com/metacloud/molecule/blob/535db906520a9a526a46d2fef74f1bd458bbcabd/molecule/cookiecutter/scenario/driver/docker/{{cookiecutter.molecule_directory}}/{{cookiecutter.scenario_name}}/Dockerfile.j2#L8
I'm not sure dnf makecache fast ever worked and was always equivalent to dnf makecache.  I couldn't find any reference to fast in the dnf codebase.  The fast subcommand works in yum with yum makecache fast on EL6 and EL7 and also didn't fail with dnf 1.1 in Fedora 25 when automatically converted to dnf makecache fast with dnf2yum, but now fails in Fedora 26 (dnf 2.5) as an invalid option.
Thanks,
Giovanni
I would suggest removing the fast subcommand when dnf is used.

@aliusmiles did you happen to run into this issue when refactoring as part of #891?

@retr0h I didn't, and I think I was running Fedora 25 image at the time, since Fedora 26 was released only on Jul 11.
I've run some quick tests, and fedora 26 fails on yum makecache fast as well, since yum command appears to run dnf instead. Will do more testing tomorrow.

@aliusmiles ok cool, let me know your findings so we can correct this.


Fix Deploying to the Heroku

Fix #371 .
Let's use SQLite DB with pre-populated data instead of bootstrapping a new PostgreSQL one:
It works for me: https://symfony-demo.herokuapp.com

@bocharsky-bw thanks for investigating this issue and providing a fix. Let's see if it works for others too. Thanks.

Let's please reopen and revert this. SQLite is not a proper solution on a container based production system like Heroku, as the local file system is reset between deploys or on periodic restarts, and obviously also not shared between instances, so if you scale to more than one web instance, they won't share the same database.


Allow to set key size

Depends on #3

Shouldn't it respect crypto policy (i.e., don't create 2048 bit RSA certs if the crypto policy disallows them)?


Ts summary - polars backend

partially solves #77
Done, tests working. Updated augment_fourier so that it uses this new version.
Part of it depends on the function "get_frequency_summary" so it is the next on my list :) In the meantime I computed this part like this: frequency_summary = pl.from_pandas(get_frequency_summary(date.to_pandas()))

I'm seeing some failed tests on older versions of pandas. https://github.com/business-science/pytimetk/actions/runs/6739223865/job/18320315245?pr=211

Oh I see ! I will have a look

Ok, thanks. Let me know what you find out.

Apparently 2 different errors:

pandas==2.0.0 : dtype error (not reproduced locally with python3.11, need to investigate further)
pandas==1.5.0 : bug in the 1.5.0 version it seems. It has been fixed later on but maybe for this version to work I could think of a workaround (bug reference: https://github.com/pandas-dev/pandas/issues/45725)

Nice work! 1 test to go. Looks like datetime[ns] vs datetime[us]

yay 🎉

Nice work!


Can't install webpack-command as global module

npm i webpack -g
npm i webpack-command -g
webpack -h # Error: Cannot find module 'enhanced-resolve'

Sad panda 🐼 😢  You removed the issue template, so we have to close your issue as invalid. Please don't ignore Issue or Pull Request templates.

it's obvious what the issue is, it fails run there is no reason for close

@pravdomil we hold everyone to the same standard, even maintainers and collaborators. the warnings about the consequences of ignoring the issue template are also obvious. Please do not debate this.

reopen?

Thank you for updating the issue.


Turn off sidebard on second page

Hello,
Great template.
I was wonering if it is (easily) possible to turn off the sidebar on the second page?
Thanks.

Hi, I am glad you liked my template.
Checkout this issue https://github.com/mateuszbaransanok/BubbleCV/issues/10#issuecomment-2140551105 I think that should help you ;)


Fix typo in spelling from "Inniscrone" to "Enniscrone"

Fix typo in spelling from "Inniscrone" to "Enniscrone"

/cc @colmharte

The country / town lists are provided by the CSO and as checkin data is fed back to the CSO we need to keep the naming consistent with their lists.


Google Login Problem

Expected Behavior
Bot work with ptc and google login.
Actual Behavior
ptc working fine, google crashes
Output when issue occurred
Traceback (most recent call last):
File "pokecli.py", line 843, in
main()
File "pokecli.py", line 191, in main
bot = start_bot(bot, config)
File "pokecli.py", line 145, in start_bot
bot.start()
File "/Users/STONE/PokemonGo-Bot/pokemongo_bot/init.py", line 144, in start
self._setup_api()
File "/Users/STONE/PokemonGo-Bot/pokemongo_bot/init.py", line 983, in _setup_api
self.login()
File "/Users/STONE/PokemonGo-Bot/pokemongo_bot/init.py", line 917, in login
str(self.config.password))
File "/Users/STONE/PokemonGo-Bot/pokemongo_bot/api_wrapper.py", line 98, in login
password=password
File "/Users/STONE/PokemonGo-Bot/src/pgoapi/pgoapi/pgoapi.py", line 94, in set_authentication
if not self._auth_provider.user_login(username, password):
File "/Users/STONE/PokemonGo-Bot/src/pgoapi/pgoapi/auth_google.py", line 58, in user_login
user_login = perform_master_login(username, password, self.GOOGLE_LOGIN_ANDROID_ID, proxy=self._proxy)
AttributeError: AuthGoogle instance has no attribute '_proxy'
[2016-09-20 23:22:39] [MainThread] [sentry.errors] [ERROR] Sentry responded with an error: 'ascii' codec can't decode byte 0x9c in position 1: ordinal not in range(128) (url: https://app.getsentry.com/api/90254/store/)
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/raven/transport/threaded.py", line 174, in send_sync
super(ThreadedHTTPTransport, self).send(data, headers)
File "/usr/local/lib/python2.7/site-packages/raven/transport/http.py", line 47, in send
ca_certs=self.ca_certs,
File "/usr/local/lib/python2.7/site-packages/raven/utils/http.py", line 66, in urlopen
return opener.open(url, data, timeout)
File "/usr/local/lib/python2.7/site-packages/future/backports/urllib/request.py", line 494, in open
response = self._open(req, data)
File "/usr/local/lib/python2.7/site-packages/future/backports/urllib/request.py", line 512, in _open
'_open', req)
File "/usr/local/lib/python2.7/site-packages/future/backports/urllib/request.py", line 466, in _call_chain
result = func(*args)
File "/usr/local/lib/python2.7/site-packages/raven/utils/http.py", line 46, in https_open
return self.do_open(ValidHTTPSConnection, req)
File "/usr/local/lib/python2.7/site-packages/future/backports/urllib/request.py", line 1284, in do_open
h.request(req.get_method(), req.selector, req.data, headers)
File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 1057, in request
self._send_request(method, url, body, headers)
File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 1097, in _send_request
self.endheaders(body)
File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 1053, in endheaders
self._send_output(message_body)
File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 895, in _send_output
msg += message_body
UnicodeDecodeError: 'ascii' codec can't decode byte 0x9c in position 1: ordinal not in range(128)
[2016-09-20 23:22:39] [MainThread] [sentry.errors.uncaught] [ERROR] [u"AttributeError: AuthGoogle instance has no attribute '_proxy'", u'  File "pokecli.py", line 843, in ', u'  File "pokecli.py", line 191, in main', u'  File "pokecli.py", line 145, in start_bot', u'  File "pokemongo_bot/init.py", line 144, in start', u'  File "pokemongo_bot/init.py", line 983, in _setup_api', u'  File "pokemongo_bot/init.py", line 917, in login', u'  File "pokemongo_bot/api_wrapper.py", line 98, in login', u'  File "pgoapi/pgoapi.py", line 94, in set_authentication', u'  File "pgoapi/auth_google.py", line 58, in user_login']
Other Information
OS:  Mac OSX
Branch: dev
Git Commit: f4feb098

duplicate #5561

Sorry


*: update mailgun-go to remove dependency on deleted simplehttp pkg

github.com/mbanzon/simplehttp has been deleted from github which mailgun-go depended on. Update mailgun-go to a version which removes this dependency.

Merging on green


feat: introducing CancellationTokenRegistry

What does this PR do?
This PR is adding a very similar CancellationTokenRegistry. I tried to stick as close as possible to the implementation from Podman-Desktop. However here are the differences:

CancellationTokenRegistry implements Disposable interface (when extension is disabled, all token will be cancelled).
The CancellationTokenSource used in PodmanDesktop is a class, where it is provided as an interface in the api. I created a class CancellationTokenSource to replace it, implementing the interface of the api.

Screenshot / video of UI

What issues does this PR fix or reference?
Fixes https://github.com/containers/podman-desktop-extension-ai-lab/issues/724
How to test this PR?

[x] unit tests has been provided

AFAIK CancellationTokenSource should be available from the extension API
(CancellationToken, CancellationTokenSource)

It is available, but as I mention, as an interface not a class, is this what you are pointing out ? It should be available as a class ?

basically CancellationTokenSource should be exposed as a class, not an interface from the Podman Desktop API

Okey, I will open a ticket on the Podman Desktop side, but for our timeframe and the version we support, I guess we cannot rely on the api to handle this for us

Okey, I will open a ticket on the Podman Desktop side, but for our timeframe and the version we support, I guess we cannot rely on the api to handle this for us

I don't know for timeframe, there is a release planned April 2nd (1.9.0 of Podman Desktop)

Okey, I will open a ticket on the Podman Desktop side, but for our timeframe and the version we support, I guess we cannot rely on the api to handle this for us

I don't know for timeframe, there is a release planned April 2nd (1.9.0 of Podman Desktop)

@slemeur do we want to make AI-Lab only compatible with 1.9 ?