text:
[REF] Added example-responses fixture

Changes proposed in this pull request:

In an effort to make updating of mocked responses easier

mocked responses were moved to example-responses.js fixture
tests were updated

Checklist

[x] PR has an interpretable title with a prefix ([ENH], [FIX], [REF], [TST], [CI], [MNT], [INF], [MODEL], [DOC]) (see https://neurobagel.org/contributing/pull_requests for more info)
[ ] PR links to GitHub issue with mention Closes #XXXX
[x] Tests pass
[x] Checks pass

For new features:

[ ] Tests have been added

For bug fixes:

[ ] There is at least one test that would fail under the original bug conditions.

@rmanaem this looks like it includes a lot of things from https://github.com/neurobagel/query-tool/pull/286. Could you check that? We can also just wait with the review until #286 is merged

authors: rmanaem surchs

repo: neurobagel/query-tool


text:
Refactoring of the main classes

Description
What is this PR

[x] Bug fix
[x] Addition of a new feature
[x] Other

Why is this PR needed?
Refactor the main analysis code.
What does this PR do?
Legend:
❌: removes
💭: changes
➕: adds

❌ Removes a lot of modules that were useful in the exploration stages;
❌ Removes contrast enhancement (see: #11 ) from the pipeline and related methods;
❌ Removes "adjust increment" (1) boolean as I think I should not give the user this flexibility, increments should be always corrected to achieve a full 360 rotation, as this improves the overall derotation;
💭 Renames a few methods;
💭 Replaces np.nonzero with np.where (just personal preference, they seem equivalent for my use-case);
💭 Changes handling of number of rotations. Now it is estimated from the rotation signal;
➕ Adds automated creation of folders for saving purposes;
➕ Adds a few comments to separate the methods in groups (signal processing, derotation, saving);
💭 Improve usage of pandas syntax
➕ Overwrites the method check_rotation_number_after_interpolation in the IncrementalPipeline class

I can provide some datasets to test the pipeline locally.
Explanations
(1) : with "increments" I refer to the angle resolution of the motor, i.e. the smallest increment in angles that motor is able to report. 0.2 deg in our case.
How has this PR been tested?
Tested locally with tests that were made before.
Is this a breaking change?
No
Does this PR require an update to the documentation?
Not for now.
Checklist:

[x] The code has been tested locally
[ ] Tests have been added to cover all new functionality
[ ] The documentation has been updated to reflect any changes
[x] The code has been formatted with pre-commit

(derotation-ev) C:\Users\Joe\work\git-repos\derotation>python examples/derotate.py
2024-07-25 14:42:50 PM INFO     2024-07-25 14:42:50 PM - INFO - MainProcess fancylog.py:326 - Starting logging                                                                                fancylog.py:326
                       INFO     2024-07-25 14:42:50 PM - INFO - MainProcess fancylog.py:327 - Not logging multiple processes                                                                                fancylog.py:327
                       INFO     2024-07-25 14:42:50 PM - INFO - MainProcess full_rotation_pipeline.py:122 - Loading data...                                                                               full_rotation_pipeline.py:122
(derotation-ev) C:\Users\Joe\work\git-repos\derotation>python examples/derotate.py
2024-07-25 14:42:58 PM INFO     2024-07-25 14:42:58 PM - INFO - MainProcess fancylog.py:326 - Starting logging                                                                                fancylog.py:326
                       INFO     2024-07-25 14:42:58 PM - INFO - MainProcess fancylog.py:327 - Not logging multiple processes                                                                                fancylog.py:327
                       INFO     2024-07-25 14:42:58 PM - INFO - MainProcess full_rotation_pipeline.py:122 - Loading data...                                                                               full_rotation_pipeline.py:122
2024-07-25 14:42:59 PM WARNING  2024-07-25 14:42:59 PM - WARNING - MainProcess tifffile.py:4539 - <tifffile.TiffFile 'rotation_00001.tif'> <asarray> failed to reshape (8258, 256, 256) to (8500, 256, 256), raised    tifffile.py:4539
                                ValueError('cannot reshape array of size 541196288 into shape (8500,256,256)')
Traceback (most recent call last):
  File "C:\Users\Joe\work\git-repos\derotation\examples\derotate.py", line 3, in <module>
    derotate = FullPipeline("full_rotation")
  File "C:\Users\Joe\work\git-repos\derotation\derotation\analysis\full_rotation_pipeline.py", line 46, in __init__
    self.load_data()
  File "C:\Users\Joe\work\git-repos\derotation\derotation\analysis\full_rotation_pipeline.py", line 144, in load_data
    ) = get_analog_signals(
  File "C:\Users\Joe\work\git-repos\derotation\derotation\load_data\custom_data_loaders.py", line 72, in get_analog_signals
    data = convert_to_volts(data)
  File "C:\Users\Joe\work\git-repos\derotation\derotation\load_data\custom_data_loaders.py", line 49, in convert_to_volts
    data = -10 + 20 * (data + 2**15) / 2**16
OverflowError: Python integer 32768 out of bounds for int16

Thank you Joe, it seems that this issue might be related to a newer version of numpy. I just upgraded it and found the same exception.

Otherwise was working okay on numpy 1.23.1, will try on 2.0 after the fix. I had a couple of warnings I will dump here in case they are relevant:
2024-07-25 16:18:18 PM INFO     2024-07-25 16:18:18 PM - INFO - MainProcess fancylog.py:326 - Starting logging                                                                                fancylog.py:326
                       INFO     2024-07-25 16:18:18 PM - INFO - MainProcess fancylog.py:327 - Not logging multiple processes                                                                                fancylog.py:327
                       INFO     2024-07-25 16:18:18 PM - INFO - MainProcess full_rotation_pipeline.py:121 - Loading data...                                                                               full_rotation_pipeline.py:121
                       WARNING  2024-07-25 16:18:18 PM - WARNING - MainProcess tifffile.py:4539 - <tifffile.TiffFile 'rotation_00001.tif'> <asarray> failed to reshape (8258, 256, 256) to (8500, 256, 256), raised    tifffile.py:4539
                                ValueError('cannot reshape array of size 541196288 into shape (8500,256,256)')
2024-07-25 16:18:20 PM INFO     2024-07-25 16:18:20 PM - INFO - MainProcess full_rotation_pipeline.py:170 - Dataset rotation_00001 loaded                                                                 full_rotation_pipeline.py:170
                       INFO     2024-07-25 16:18:20 PM - INFO - MainProcess full_rotation_pipeline.py:171 - Filename: derotated_image_stack                                                               full_rotation_pipeline.py:171
                       INFO     2024-07-25 16:18:20 PM - INFO - MainProcess full_rotation_pipeline.py:249 - Finding rotation ticks peaks...                                                               full_rotation_pipeline.py:249
2024-07-25 16:18:22 PM INFO     2024-07-25 16:18:22 PM - INFO - MainProcess full_rotation_pipeline.py:324 - Cleaning start and end rotation signal...                                                     full_rotation_pipeline.py:324
                       INFO     2024-07-25 16:18:22 PM - INFO - MainProcess full_rotation_pipeline.py:349 - Creating signed rotation array...                                                             full_rotation_pipeline.py:349
                       INFO     2024-07-25 16:18:22 PM - INFO - MainProcess full_rotation_pipeline.py:371 - Dropping ticks outside of the rotation period...                                              full_rotation_pipeline.py:371
2024-07-25 16:18:25 PM INFO     2024-07-25 16:18:25 PM - INFO - MainProcess full_rotation_pipeline.py:407 - Ticks dropped: 8.                                                                             full_rotation_pipeline.py:407
                                Ticks remaining: 137958
                       INFO     2024-07-25 16:18:25 PM - INFO - MainProcess full_rotation_pipeline.py:436 - Number of rotations is as expected                                                            full_rotation_pipeline.py:436
                       WARNING  2024-07-25 16:18:25 PM - WARNING - MainProcess full_rotation_pipeline.py:457 - Number of ticks is not as expected: 137958.                                                full_rotation_pipeline.py:457
                                Expected ticks: 144000.0
                                Delta: -6042.0
                       INFO     2024-07-25 16:18:25 PM - INFO - MainProcess full_rotation_pipeline.py:509 - New increment example: 0.209                                                                  full_rotation_pipeline.py:509
                       INFO     2024-07-25 16:18:25 PM - INFO - MainProcess full_rotation_pipeline.py:522 - Interpolating angles...                                                                       full_rotation_pipeline.py:522
2024-07-25 16:18:27 PM INFO     2024-07-25 16:18:27 PM - INFO - MainProcess full_rotation_pipeline.py:562 - Cleaning interpolated angles...                                                               full_rotation_pipeline.py:562
2024-07-25 16:18:29 PM INFO     2024-07-25 16:18:29 PM - INFO - MainProcess full_rotation_pipeline.py:616 - Calculating angles by line and frame...                                                       full_rotation_pipeline.py:616
                       INFO     2024-07-25 16:18:29 PM - INFO - MainProcess full_rotation_pipeline.py:688 - Plotting rotation ticks and rotation on signal...                                             full_rotation_pipeline.py:688
2024-07-25 16:18:34 PM INFO     2024-07-25 16:18:34 PM - INFO - MainProcess full_rotation_pipeline.py:732 - Plotting rotation angles...                                                                   full_rotation_pipeline.py:732
2024-07-25 16:18:35 PM INFO     2024-07-25 16:18:35 PM - INFO - MainProcess full_rotation_pipeline.py:236 - ✨ Analog signals processed ✨                                                                full_rotation_pipeline.py:236
                       INFO     2024-07-25 16:18:35 PM - INFO - MainProcess full_rotation_pipeline.py:822 - Starting derotation by line...                                                                full_rotation_pipeline.py:822
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2114195/2114195 [10:20<00:00, 3408.86it/s]
2024-07-25 16:28:55 PM INFO     2024-07-25 16:28:55 PM - INFO - MainProcess full_rotation_pipeline.py:832 - ✨ Image stack rotated ✨                                                                     full_rotation_pipeline.py:832
2024-07-25 16:28:57 PM INFO     2024-07-25 16:28:57 PM - INFO - MainProcess full_rotation_pipeline.py:941 - Masked image saved in                                                                         full_rotation_pipeline.py:941
                                C:/Users/Joe/work/git-repos/derotation/joe-example-data/output/data_folder/

source: gharchive/pull-request

authors: JoeZiminski lauraporta

repo: neuroinformatics-unit/derotation

license_type: permissive

license_source: github-api


text:
NoneType error for no group_categories

Summary

When using nimare.meta.cbmr.CBMREstimator with group_categories=None, TypeError: 'NoneType' object is not iterable happens at a later stage if callingCBMRInference().fit(results)
Additional details
Traceback (most recent call last):
  File "/gpfs3/well/nichols/users/pra123/profiling/profile_cbmr.py", line 104, in <module>
    inference.fit(result=results)
  File "/well/nichols/users/pra123/anaconda3/lib/python3.11/site-packages/nimare/meta/cbmr.py", line 480, in fit
    self.create_regular_expressions()
  File "/well/nichols/users/pra123/anaconda3/lib/python3.11/site-packages/nimare/meta/cbmr.py", line 516, in create_regular_expressions
    first_group, second_group = [
                                ^
  File "/well/nichols/users/pra123/anaconda3/lib/python3.11/site-packages/nimare/meta/cbmr.py", line 517, in <listcomp>
    f"(?P<{order}>{'|'.join([re.escape(g) for g in groups])})"

TypeError: 'NoneType' object is not iterable

NiMARE version: 0.1.1

It's fixed after this change #821

source: gharchive/issue

repo: neurostuff/NiMARE

license: MIT


text:
remove treasury contract

This PR removes treasury-related tests, sets DAO core instead of the treasury, and adapts tests for that.
Related PRs:
Neutron: https://github.com/neutron-org/neutron/pull/228
DAO: https://github.com/neutron-org/neutron-dao/pull/57
Tests: https://github.com/neutron-org/neutron-integration-tests/pull/148

https://github.com/neutron-org/neutron-tests/actions/runs/4845475548

repo: neutron-org/neutron-integration-tests


text:
etcd-raft node

我粗略看了一下，请问etcd-raft的node还没有实现吗？没有找到。

对，只有 raw_node 的实现，c++ 比较难实现 node

node里面的channel就用queue做啊，为什么难？

你可以衡量工程量和收益，有兴趣可以再给 yaraft 提 PR

可能是我看的不仔细，你的Raft和RawNode都是无锁的，怎么保证安全的？

单线程运行一个 raw node 状态机，保证无 contention，这样就是无锁的

IO同步的？

不管同步异步都会把 raw node 固定在一个线程上

嗯，你的“把一个异步IO事件投递到指定worker线程”的那部分代码是哪里呢？

所以这个项目只做了状态机, etcd/raft 也只做了状态机

👌

authors: neverchanje wgtdkp

repo: neverchanje/yaraft

license_source: bigquery


text:
refector e2e for removing dependency of ARO Client.

Which issue this PR addresses:

Fixes
What this PR does / why we need it:

Test plan for issue:

Test plan for issue:

Create cluster,
export CLUSTER=$CLSUTERNAME; go test ./test/e2e -tags e2e,codec.safe -c -ldflags "-X github.com/Azure/ARO-RP/pkg/util/version.GitCommit=7cc9e51" -o e2e.test
./e2e.test

repo: newera-begins/ARO-RP


text:
Revert "Convert dashboard templates to new format and add validations"

This reverts commit aeea037b8b725192522c972ad80290313f8351c7.
We need to revert these changes while troubleshooting an issue where only the last widget of a dashboard is shown.

fixed it in other magical ways.

authors: IreneMLC naxhh


text:
s/parameter/parameters

Tweak json for parsing parameters from builds.
@imakewebthings @mikesol314 @johannespetzold

👍

authors: imakewebthings msneeden

repo: newrelic-forks/golang-jenkins


text:
Support gatsby 4

Acceptance Criteria

[ ] Review PR and approve
[ ] creating an alpha release of this package on NPM
[ ] provide that to @herecydev for testing purposes
[ ] If testing passes, then publish this version to NPM as a new version release.

 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.

It's been a month and literally no movement on this? @devfreddy

@herecydev sorry for the delay, let me review this out for you.

@herecydev have you validated this change to plugin solves your problem reported in the linked issue? It's a very simple change but I'm curious how to best test it with your site to ensure this will all that is required to enable the plugin to support Gatsby 4.

I haven't, I did check against what's changed and couldn't find anything relevant. However if you did want to push an alpha out I would happily confirm that it solves the issues and continues to function. I know that it still works because I do already use this against Gatsby 4. It just throws warnings..

@herecydev much of our team is on holiday leave at the moment so we were going to look at creating an alpha package on NPM in early January for the plugin, would that work for you?

For context I added some Acceptance Criteria so the team knows the next steps on this PR @zstix

@jpvajda yer that's fine for me

I've reached out to @devfreddy on the process to release an alpha version of this package on NPM.

closing this in favor of this PR https://github.com/newrelic/gatsby-plugin-newrelic/pull/45

authors: CLAassistant herecydev jpvajda

repo: newrelic/gatsby-plugin-newrelic


text:
CI: Update Jruby multiverse CI jobs to ubuntu 22.04

Our jruby multiverse suites are still running on 18.04. All of our other test jobs are running on 20.04, so it would be great to get jruby updated to also run on 20.04. And now that 22.04 is out, we may as well upgrade all the way to that version. Our ci_cron workflow was running it on 20.04 and there are some odd failures that cannot be reproduced locally, or in ubuntu 18.04.
All typhoeus suite are failing with 11 failed tests. Most tests are failing with the same errors, so I've only included examples of the 3 different failures.
  2) Failure:
TyphoeusTest#test_crossapp_metrics_allow_valid_utf8_characters [/home/runner/work/newrelic-ruby-agent/newrelic-ruby-agent/test/new_relic/http_client_test_cases.rb:381]:
Expected [:uri] to include :transaction_guid.

  4) Failure:
TyphoeusTest#test_get_with_host_header_lowercase [/home/runner/work/newrelic-ruby-agent/newrelic-ruby-agent/test/new_relic/http_client_test_cases.rb:141]:
Expected # encoding: ASCII-8BIT
"" to match //i.

  8) Failure:
TyphoeusTest#test_doesnt_affect_the_request_if_an_exception_is_raised_while_finishing_tracing [/home/runner/work/newrelic-ruby-agent/newrelic-ruby-agent/test/new_relic/http_client_test_cases.rb:429]:
--- expected
+++ actual
@@ -1 +1,2 @@
-"<title>FakeExternalServer status</title>The FakeExternalServer is rockin'"
+# encoding: ASCII-8BIT
+""

One failure from the Rails suite
Failure:
ErrorsWithoutSSCTest#test_captured_errors_should_not_include_custom_params_if_config_says_no [/home/runner/work/newrelic-ruby-agent/newrelic-ruby-agent/test/new_relic/multiverse_helpers.rb:201]:
Expected: 1
  Actual: 2

We'll need to complete this before 2022-12-01, when GHA drops support for 18.04.

New PR #1327 is failing for different reasons it appears...

Going from Ubuntu 18 to 22 produces fewer errors than going to 20, so perhaps we should focus on 22. See #1330

This issue has been updated to reflect a desire to migrate to Ubuntu 22. There are only 2 suite failures for that version and going there now saves us from having to migrate again when 20 reaches EOL.

With the jruby:9.3.7.0-jre8 Docker image, all tests pass.
With the following Ubuntu 22.04 Dockerfile, all tests pass:
FROM ubuntu:22.04

ARG DEBIAN_FRONTEND=noninteractive
ENV TZ Etc/UTC

RUN apt-get update && apt-get install -y ca-certificates libc6-dev git curl autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev default-jre tzdata --no-install-recommends && rm -rf /var/lib/apt/lists/*

ENV JRUBY_VERSION 9.3.7.0
ENV JRUBY_SHA256 94a7a8b3beeac2253a8876e73adfac6bececb2b54d2ddfa68f245dc81967d0c1
RUN mkdir /opt/jruby \
  && curl -fSL https://repo1.maven.org/maven2/org/jruby/jruby-dist/${JRUBY_VERSION}/jruby-dist-${JRUBY_VERSION}-bin.tar.gz -o /tmp/jruby.tar.gz \
  && echo "$JRUBY_SHA256 /tmp/jruby.tar.gz" | sha256sum -c - \
  && tar -zx --strip-components=1 -f /tmp/jruby.tar.gz -C /opt/jruby \
  && rm /tmp/jruby.tar.gz \
  && update-alternatives --install /usr/local/bin/ruby ruby /opt/jruby/bin/jruby 1

ENV PATH /opt/jruby/bin:$PATH
ENV SERIALIZE 1

RUN mkdir -p /opt/jruby/etc \
	&& { \
		echo 'install: --no-document'; \
		echo 'update: --no-document'; \
	} >> /opt/jruby/etc/gemrc

CMD ["irb"]

So whatever issues we're seeing in CI appear to be related to one of these:

GHA containers
The setup-ruby action

and not one of these:

Ubuntu 22.04
Our code
JRuby

Perhaps we can special case CRuby 2.2 and JRuby to bypass one or both of the aforementioned suspects.

Using a GHA Ubuntu 22 image with JRuby installed manually via Maven instead of using setup-ruby produces the same test failures that only happen with GHA.
So we can't reproduce the issue with Ubuntu 22 outside of GitHub, and within GitHub, the use of setup-ruby doesn't appear to be a factor.
Perhaps a GHA Ubuntu 20 or a non-GHA Ubuntu 22 could be used.

Addressed by #1173

authors: fallwith tannalynn

repo: newrelic/newrelic-ruby-agent


text:
Allow to ignore certain middleware, e.g. Rack::Cors

Is your feature request related to a problem? Please describe.
We would like to ignore events coming from CORS requests that are handled in our Rails app via Rack::Cors. They are polluting our statistics in NewRelic and they also generate higher cost expenses as the number of transactions is massive!
Feature Description
We would like to be able to explicitly ignore this middleware or this type of request transactions.
Describe Alternatives
Alternatively, we would like to know how the same could be achieved with the existing ruby agent and a special type of configuration or initialization.
Priority
Please help us better understand this feature request by choosing a priority from the following options:
Must Have

Thanks for submitting this feature request. We saw a similar request a few years ago, so it’s helpful to know community interest level. We don’t have a perfect solution for disabling specific middleware. You can:

Disable ALL Rack instrumentation
Ignore specific transactions
Inject Cors middleware after agent initialization

Please let us know if you have questions. We will keep this issue as a feature request and I've added it as a Jira ticket (if you have a New Relic customer Jira account, you'll be able to view it).

authors: fjaeger hannahramadan


text:
run_tests: support partial filenames

The run_tests script now supports partial filename matches, allowing us to run tests from a single file by providing a partial match for that file's name.
For example, instead of:
bert test/new_relic/noticed_error_test.rb

we can now simply do:
bert noticed_error

I ran bert event thinking I'd get all unit tests with "event" in the name, and got the following:
25 runs, 66 assertions, 0 failures, 0 errors, 0 skips
➜  newrelic-ruby-agent git:(grassregrows) bert event
Testing against file 'test/multiverse/suites/agent_only/event_data_collection_test.rb'...
** [NewRelic] FATAL : Failed ERB processing configuration file. This is typically caused by a Ruby error in <% %> templating blocks in your newrelic.yml file.
** [NewRelic] FATAL : undefined local variable or method `app_name' for #<NewRelic::Agent::Configuration::YamlSource:2260 {}>
/Users/kreopelle/dev/newrelic-ruby-agent/test/multiverse/suites/agent_only/event_data_collection_test.rb:7:in `<top (required)>': uninitialized constant Minitest (NameError)

class EventDataCollectionTest < Minitest::Test
                                ^^^^^^^^
        from /Users/kreopelle/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/rake-12.3.3/lib/rake/rake_test_loader.rb:17:in `require'
        from /Users/kreopelle/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/rake-12.3.3/lib/rake/rake_test_loader.rb:17:in `block in <main>'
        from /Users/kreopelle/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/rake-12.3.3/lib/rake/rake_test_loader.rb:5:in `select'
        from /Users/kreopelle/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/rake-12.3.3/lib/rake/rake_test_loader.rb:5:in `<main>'
rake aborted!
Command failed with status (1)
/Users/kreopelle/.rbenv/versions/3.1.2/bin/bundle:25:in `load'
/Users/kreopelle/.rbenv/versions/3.1.2/bin/bundle:25:in `<main>'
Tasks: TOP => test => test:newrelic
(See full trace by running task with --trace)

Could you exclude multiverse files from the files searched?

Could you exclude multiverse files from the files searched?

Great call. Seeing as I only enhanced the unit tests part of the script and not the env or multiverse ones, only the test/new_relic directory should be searched for now.
Addressed with 14bfda3

authors: fallwith kaylareopelle


text:
Enqueue fails with "Invalid URL: ''"

Newsboat version (copy from newsboat -v): 2.10.2
Steps to reproduce the issue:
Replaced newsbeuter with newsboat.
Now I cannot enqueue video podcasts from feeds where it worked in newsbeuter previously; it fails with
Invalid URL: ''
My config:
`
auto-reload yes
reload-time 15
reload-threads 50
keep-articles-days 4
mark-as-read-on-hover yes
bind-key j down
bind-key k up
bind-key J next-feed
bind-key K prev-feed
browser "firefox %u"
notify-program /usr/local/bin/notify-send
notify-format "[FEEDS] new: %n in %f (total: %d in %D)"
color background green black
color listnormal white black
color listnormal_unread red black bold
color listfocus black color249 bold
color listfocus_unread color21 color249 bold
color info color50 black
color article color250 black
download-path "/storage/scratch/podcasts/%h/%n"
max-downloads 10
player "mpv"
articlelist-format "%4i  %D  %t %?T?[%T]"
`
Feed URL in question:
https://feeds.feedburner.com/BsdNowHd videos podcasts IT BSD

I reproduced this, but haven't yet looked into what might be causing it; will work on it later.

Thanks to a prod from @noctux, I finally looked into this and found that the issue was caused by my over-restrictive approach to what MIME types Newsboat enqueues. This has already been fixed in the master branch, and will be released at the end of March as part of Newsboat 2.10.3. Thank you for the report, and sorry for the regression!

authors: Minoru yggdr

repo: newsboat/newsboat


text:
Unknown distro errors should be more explicit

We want to support and id many distros. For now if we cannot recognize one we get this:
Error during scanpipe/pipelines/root_filesystems.py execution:

'NoneType' object has no attribute 'to_dict'

Traceback:
  File "/home/work/scancode.io/scanpipe/pipelines/__init__.py", line 75, in execute
    step(self)
  File "/home/work/scancode.io/scanpipe/pipelines/root_filesystems.py", line 50, in collect_rootfs_information
    rootfs_data["distro"] = rfs.distro.to_dict()

We should instead provide at least a better error message:

outline the checks that were made (e.g. searching for specific files that were not found)
provide a link to doc and request to report a bug

This may be something to implement in https://github.com/nexB/container-inspector/blob/develop/src/container_inspector/distro.py partially

Fixed in https://github.com/nexB/scancode.io/commit/eb970db09801740783c9c211df92106b7fe27e93

authors: pombredanne tdruez


text:
Deploy on public server

[x] Decide on a DNS domain name and acquire name
[x] Provision server (Philippe), possibly with GCP credits at least for the initial DB creation
[x] create deploy and backup scripts
[x] deploy proper

@edoardolanzini ping, FYI

The temp domain for now would be  https://vulnerablecode.aboutcode.org

@sbs2001 I registered for now vulnerabilitydb.org which is simple and generic

and I provisioned a dedicated server

This has been deployed (with a simple PW until final release 30.0.0 is tagged) at https://public.vulnerablecode.io/ :tada:

@sschuberth there is a new release coming up and we added API doc and self registration for an API key
This is may be released this week.

self registration for an API key

Would you be OK with exposing an API key for ORT in a public example ORT pipeline that leverages VulnerableCode, @pombredanne?

And this is now live at https://public.vulnerablecode.io/

Would you be OK with exposing an API key for ORT in a public example ORT pipeline that leverages VulnerableCode,

Your call. An API key is like a password... and API calls should be throttled. Getting an API key should be easy enough

And this is now live at https://public.vulnerablecode.io/

This is what I get when requesting an API key:

@sschuberth This is now fixed! Sorry for the noise!

I've got my API key now, but unfortunately I'm getting "Authentication credentials were not provided." for any API call that I tried so far despite an "Authorization" header with my token being present.

despite an "Authorization" header with my token being present.

Ah, the value of that header field needs to start with the literal word "Token" before the token's value!
Could you fix the cURL code generated at https://public.vulnerablecode.io/api/docs/ to include that?

Let me reopen this issue
In the OpenAPI at https://public.vulnerablecode.io/api/docs/ if I click on Authorize, the popup states:
Available authorizations

tokenAuth (apiKey)

Token-based authentication with required prefix "Token"

Name: Authorization

In: header
Value:

Where do you think we could make this more obvious?

Thanks @sschuberth , closing this!

repo: nexB/vulnerablecode


text:
[성능 진단하기] 2단계&3단계 - 부하 테스트

테스트 해보는데 감이 잘 오진 않네요. 공부 더 해보고 피드백 주시면 개선해보겠습니다!!

duration 의 의미가 각 VU 마다 하나인지 혹은 Group 에 주어진 시간인지 잘 모르겠습니다.

일단 각 Duration 이 Each VUser 에게 주어진 시간이라 계산하고 로그인의 경우 평균적으로 10s 안에는 응답을 줘야 한다. 의 느낌으로 테스트를 작성해보았습니다.

역 조회 같은 경우 메인 서비스라고 생각하여 평균 3초이상 응답을 원했으나, 스트레스 테스트에서는 최대 15ms 까지 가는 모습을 확인했습니다.

동규님 제가 이번주 부터는 우아한 스터디랑 겹쳐서 일요일 9:30 분 수업에 참여가 힘들거 같아요.
그래서 따로 남겨주신 녹화영상으로 듣고 수업과 과제 열심히 진행해보도록 하겠습니다!

repo: next-step/infra-subway-monitoring


text:
Step1 - 화면 응답 개선하기

안녕하세요!
인프라 마지막 미션을 함께 하게 되서 반갑습니다👏
이번 1단계 미션 중 애플리케이션에 캐시를 적용할 때
dto가 아닌 엔티티에 캐시를 적용하면 직렬화 시 순환참조가 발생하는 문제가 생겨서 캐시 대상에서 제외했습니다😂
캐시를 적용하면서 느낀 점은
캐시 대상 객체가 여러 객체와 의존 관계를 갖기 때문에
의존객체의 상태가 변경될 때 마다 자신을 참조하고 있는 모든 캐시를 제거해 주어야 한다는 점이 굉장히 복잡했습니다.🤔
이런 복잡함을 어떻게 해결하고 계신 지 궁금합니다😀
그럼 이번 미션 잘 부탁드립니다!🙇🏻♂

질문 주신 내용은 따로 코멘트 할게요!
복잡함을 느끼고 계신 부분은, 현재 캐싱이 되고 있는 정보의 범위가 너무 넓어서 그런 것 같아요!
Response를 분산시켜서 각 도메인에 해당되는 Response만 따로 캐싱 되도록 해서 서로 연관관계를 끊도록 하고
현재 반환하는 Response로 합쳐주는 책임을 가지는 기능을 따로 만들면 어떨까요 ?

authors: geunhwanlee shared-moon

repo: next-step/infra-subway-performance


text:
조회 성능 개선하기

* 미션 진행 후에 아래 질문의 답을 Comment로 남겨주세요

인덱스 적용해보기 실습을 진행해본 과정을 공유해주세요

페이징 쿼리를 적용한 API endpoint를 알려주세요

인덱스 적용해보기 실습을 진행해본 과정을 공유해주세요

Coding as a Hobby 와 같은 결과를 반환하세요.
Query
SELECT 	hobby,
	count(1) / sub.count * 100 AS 'percentage'
FROM programmer
CROSS JOIN (
	SELECT COUNT(1) AS count
	FROM programmer
) sub
GROUP BY hobby, sub.count;

1.889 sec

PK 및 UNIQUE 건 후

0.147 sec

인덱스 재처리

Hobby 와 Student 가 복합 인덱스 처리되어 있어 이를 삭제하고 Hobby만 재 인덱싱

0.047 sec

프로그래머별로 해당하는 병원 이름을 반환하세요. (covid.id, hospital.name)
SELECT	C.id,
	H.name
FROM covid AS C
JOIN hospital AS H
ON C.hospital_code = H.code;

0.0049 sec

PK 및 UNIQUE 건 후

0.0035 sec

프로그래밍이 취미인 학생 혹은 주니어(0-2년)들이 다닌 병원 이름을 반환하고 user.id 기준으로 정렬하세요.
SELECT 	P.id AS id,
	H.name AS name
FROM (
	SELECT id
	FROM programmer
	WHERE	hobby = 'Yes'
	AND	(student LIKE 'Yes%' OR yearsCoding = '0-2 years')
) AS P
JOIN (
	SELECT	covid.id AS id,
		hospital.name AS name
	FROM covid
	JOIN hospital
	ON covid.hospital_code = hospital.code
) AS H
ON P.id = H.id;

0.014 sec
이미 인덱스가 다 걸려 있어서 추가적인 작업은 하지 않았음

서울대병원에 다닌 20대 India 환자들을 병원에 머문 기간별로 집계하세요.
SELECT stay, COUNT(*)
FROM (
	SELECT id
	FROM member
	WHERE age BETWEEN 20 AND 29
) AS M
JOIN (
	SELECT id
	FROM programmer
	WHERE country = 'India'
) AS P
ON M.id = P.id
JOIN (
	SELECT  id,
	stay,
	hospital_code
	FROM covid AS C
	JOIN (
		SELECT code
		FROM hospital
		WHERE name = '서울대병원'
	) AS H
	ON C.hospital_code = H.code
) AS CH
ON M.id = CH.id
GROUP BY stay;

0.947 sec

인덱스 처리
member 쪽에서 풀스캔이 발생하여 인덱스 추가

이후 programmer 를 풀스캔하여 country에 인덱스 추가

0.045 sec

서울대병원에 다닌 30대 환자들을 운동 횟수별로 집계하세요.
SELECT exercise, COUNT(1)
FROM (
	SELECT id
	FROM member
	WHERE age BETWEEN 30 AND 39
) AS M
JOIN (
	SELECT	id,
		hospital_code
	FROM covid
) AS C
ON M.id = C.id
JOIN (
	SELECT  id,
		exercise
	FROM programmer
) AS P
ON C.id = P.id
JOIN (
	SELECT code
	FROM hospital
	WHERE name = '서울대병원'
) AS H
ON C.hospital_code = H.code
GROUP BY P.exercise;

0.057 sec
효율적인 쿼리 짜는데 오래걸리긴 했지만 별다른 인덱싱 처리 없이 해결 가능

페이징 쿼리를 적용한 API endpoint를 알려주세요

https://nokchax.kro.kr/favorites/pages/${pageNo}

로그인 및 즐겨찾기 추가한 뒤에 요청 헤더에 Authorization 값을 추가하여 테스트 해주세요

https://www.notion.so/mrvan/Nextstep-index-1d02c4eb019c44728e1dd4ea928e5ad4

https://github.com/mindock/infra-subway/issues/4
http://mindock-subway.kro.kr/favorites?page=${page}

관련 커밋: 240a2789d8065f407d95d563ecdff9ad55ca6058

https://www.notion.so/20b7c6391910434598f40f40fc502d71
https://nextstep-oeeen.p-e.kr/favorites

https://github.com/oeeen/infra-subway/commit/b68ae832c1d2f6c634da68344b4088c9a0f6f951

쿼리짜는게 쉽지 않네요.. ㅎㅎ 감사합니다.

인덱스 적용해보기 실습을 진행해본 과정을 공유해주세요
Coding as a Hobby 와 같은 결과를 반환하세요.
# Hobby 컬럼에 인덱싱 적용, COUNT 대상 컬럼을 Hobby 로 설정
SELECT COUNT(Hobby) / (SELECT COUNT(Hobby) FROM programmer) AS 'HobbyCount'
FROM programmer
GROUP BY Hobby;

63ms

프로그래머별로 해당하는 병원 이름을 반환하세요. (covid.id, hospital.name)
# covid 테이블에 id에 unique index 추가, 결과값은 1000 row
SELECT c.id, h.name
FROM covid c
         JOIN hospital h ON c.Hospital_code = h.code;

78ms

프로그래밍이 취미인 학생 혹은 주니어(0-2년)들이 다닌 병원 이름을 반환하고 user.id 기준으로 정렬하세요.
# covid 테이블에 id에 unique index 추가, 결과값은 1000 row
SELECT c.id, h.name
FROM covid c
         JOIN hospital h ON c.Hospital_code = h.code
         JOIN (
    SELECT id
    FROM programmer
    WHERE Hobby = 'Yes'
      AND (Student LIKE 'Yes%' OR Yearscoding = '0-2 years')
) p ON c.id = p.id;

15ms

서울대병원에 다닌 20대 India 환자들을 병원에 머문 기간별로 집계하세요.
# member 테이블 age 컬럼, programmer 테이블 country 컬럼에 인덱스, hospital 테이블 name 컬럼에 유니크 인덱스, hospital_code 컬럼에 인덱스
SELECT s.Stay, COUNT(p.id)
FROM (
         SELECT id
         FROM programmer
         WHERE Country = 'India'
     ) p
         JOIN (
    SELECT id
    FROM member
    WHERE age >= 20
      AND age <= 29
) m ON p.id = m.id
         JOIN (
    SELECT id, stay
    FROM covid c
             JOIN (SELECT code FROM hospital WHERE name = '서울대병원') h ON h.code = c.Hospital_code
) s ON p.id = s.id
GROUP BY Stay;

78ms

서울대병원에 다닌 30대 환자들을 운동 횟수별로 집계하세요.
# 이전에 적용한 인덱스 활용
SELECT Exercise, COUNT(Exercise)
FROM covid c
JOIN (SELECT code
      FROM hospital
      WHERE name = '서울대병원') h ON c.Hospital_code = h.code
JOIN (SELECT id
      FROM member
      WHERE age >= 30 AND age <= 39) m ON c.id = m.id
JOIN (
    SELECT id, Exercise
    FROM programmer
    ) p ON c.id = p.id
GROUP BY Exercise;

31ms

페이징 쿼리를 적용한 API endpoint를 알려주세요
https://yh-line.o-r.kr/stations
https://github.com/wooyongha/infra-subway/commit/c1e8b1d825946abbf4d3fc6b4c94d30c4be38955

https://github.com/fistkim101/infra-subway/issues/7
https://fistkim.kro.kr/favorites

감사합니다 :D

@wooyongha pagable을 사용하신다면, 강의자료에도 나와있지만, JPQL을 활용해서 구현하셔야 성능상 이점이 있어요.
그냥 pagable 객체를 사용하는건 후반부로 갈수록 탐색 비용이 증가해서 성능 저하가 있어요

https://edu.nextstep.camp/s/IpGaKSMq/ls/uHKHvXXO

참고로, PK를 설정하지 않으면 InnoDB를 사용하는 경우, MySQL 서버가 UNIQUE, NOT NULL 칼럼을 PK로 지정하고,
지정할 게 없을 경우 별도로 PK를 생성합니다. (다만, 이 경우 키가 효율적이지 않아 PK는 반드시 설정해주는게 좋습니다. )

https://dev.mysql.com/doc/refman/5.7/en/innodb-index-types.html

인덱스 적용해보기 실습을 진행해본 과정을 공유해주세요
https://github.com/sk1737030/infra-subway/issues/10
워크벤치의 visual explain 스샷 찍어놓은게 샤르륵 날라가버렸네요
페이징 쿼리를 적용한 API endpoint를 알려주세요
https://dongguri.kro.kr/favorites
https://github.com/sk1737030/infra-subway/commit/ceca1c26087bd51b730ee5b94bb9f7b973237185

repo: next-step/infra-subway


text:
Verify PHP version before proposing an update

for nextcloud/updater#53
[x] check version
[x] tests

I squashed all commits into one - ready for review :)

Rebased to resolve conflict.

authors: LukasReschke MorrisJobke


text:
Use camelCase for validation parameters

The validation plugin uses the parameters:

show_hidden_params
fail_unrecognised_params
lenient_mode

Considering Nextflow follows the camelCase pattern for parameters instead of underscore separation, it would be nicer to use camelCase also for those.
As related notes, it may be convenient to prefix those params with a common prefix e.g. validationParams to prevent potential conflicts with the pipeline parameters

Is the Nextflow camelCase pattern common knowledge / documented? I think that this is the first I've heard of it.
In nf-core we have the convention for snake_case: https://nf-co.re/docs/contributing/modules#naming-conventions (for shared modules at least, but generally as well)

All parameter names MUST follow the snake_case convention.
All function names MUST follow the camelCase convention.
Channel names MUST follow snake_case convention and be all lower case.

Shame it's not hyphens, then Nextflow would give us both for free 😅  (https://github.com/nextflow-io/nextflow/issues/2061)
To be clear: happy to change here, whatever is easiest / best.
Might even make sense to set these as defaults but allow the functions to take custom parameter names? Or is that overkill...?

I made a proposal in #11
I used only validation as a prefix because these parameter names are getting quite long and difficult to type, I hope it's not too confusing.

authors: ewels mirpedrol pditommaso

repo: nextflow-io/nf-validation


text:
Fix typos

These corrections are only in comments, but I ran typos-cli on the repository because of Tresholds ("thresholds").
https://github.com/nextmv-io/sdk/blob/9fe2ea13d7097c873057a36dba00372b72606c94/golden/config.go#L115-L132
I figured since that'd be a breaking change I wouldn't include it in this PR, but at least I'd point it out.

No problem! Would you be interested in a PR to fix Tresholds?

No problem! Would you be interested in a PR to fix Tresholds?

Yeah, it would be nice to fix it. Something that bugs me as well, now that you pointed it out. :blush:
It being breaking shouldn't be a problem. We only use it internally and upgrading it is a deliberate choice (go get ...).

authors: cnpryer merschformann

repo: nextmv-io/sdk


text:
Junior reply to my emails, be a man!

NextUI Version
2
Describe the bug
Don’t be a pussy and reply to my emails @jrgarciadev or give me my money back.
How dare you? How you can be a CEO of something if you even don’t reply to your paying customers?
Your Example Website or App
No response
Steps to Reproduce the Bug or Issue
Go to gmail and open emails
Expected behavior
Money refund
Screenshots or Videos
No response
Operating System Version
Nextui
Browser
Chrome

You are banned because you were re-selling NextUI Pro (not just us actually) on Reddit which is forbidden by the license. Even though you've deleted all the messages on Reddit and personal info for us to track you down, it was too late.
P.S. I'm that fake buyer.

You are banned because you were re-selling NextUI Pro (not just us actually) on Reddit which is forbidden by the license. Even though you've deleted all the messages on Reddit and personal info for us to track you down, it was too late.
P.S. I'm that fake buyer.

i sold you something?? no! then give me back money or account... so simple

You are banned because you were re-selling NextUI Pro (not just us actually) on Reddit which is forbidden by the license. Even though you've deleted all the messages on Reddit and personal info for us to track you down, it was too late.
P.S. I'm that fake buyer.

Read pls carefully here... @wingkwong
Also you are NOT located in United States and your license doesn't make any sense, you are from Argentina.

I deleted all posts, of course! I spent 250$ for some components that have still bugs an no one solves them! How you will answer that??
So I'd say for latest time, money back or it will end in another way 🙂
Have a nice day all of you.
PS. @jrgarciadev your turn to reply.... at least here

authors: vitalijalbu wingkwong

repo: nextui-org/nextui


text:
vsearch in dependencies, but usearch called

At startup, I got a vsearch missing error, and installed that tool. Turns out however that ClusterSets.py still uses usearch.
I would suggest that either the tools are converted to vsearch (possibly the best option?), or that a usearch version check is performed at the beginning.

Hi @fabio-t ,
thanks for using bcellmagic. Could you share the command how you are running the pipeline?
The pipeline comes with the option to run using both docker containers and singularity containers, which have all of the tools already installed that are needed for the analysis.
Running the pipeline tests with docker would be for example like this:
nextflow run nf-core/bcellmagic -profile test,docker

For your other analysis, you can run the pipeline using:
nextflow run nf-core/bcellmagic -profile docker <add any further parameters here>

Hi,
I'm currently running it like this:
nextflow run nf-core/bcellmagic --metadata metadata.csv --vprimers cprimers.fasta --cprimers vprimers.fasta --umi_position R1 --umi-length 12 --max_memory 8.GB --max_cpus 4

Note how I've had to invert vprimers and cprimers, because in our data, R1 contains the UMI and the V-primer, while R2 contains the C-primer (and down to the CDR3 and rest of v region).
I've solved the vsearch issue by making a symlink, no big deal but ClusterSets.py should be updated to use vsearch instead of usearch :)

Hi Fabio,
it is highly recommended to run the pipeline with containers, to ensure that your results will be reproducible and will not depend on the versions of the tools that you install locally. Therefore you can run the pipeline like this after installing docker.
nextflow run nf-core/bcellmagic -profile docker --metadata metadata.csv --vprimers cprimers.fasta --cprimers vprimers.fasta --umi_position R1 --umi-length 12 --max_memory 8.GB --max_cpus 4

Additionally, this memory setting should be fine to run small datasets but to run a full analysis you'll have higher memory requirements.
I'll add your problem with R1 /R2 and the primers as another issue, thanks for the feedback!
Do not hesitate to ask if you have any other questions when running the pipeline. You can also join us on the nf-core slack https://nfcore.slack.com/archives/bcellmagic for further questions on getting the pipeline to run for your data.

Ah related to the original problem of usearch versus vsearch, It's true that ClustersSets.py should be updated. This is part of the pRESTO toolset, so it is an issue of that tool. In bcellmagic, the docker container has a symlink of usearch to vsearch to circumvent the problem just as you did locally.

I see, thanks!

I'll close this issue then, please reopen or open a new issue if you have other issues!

authors: fabio-t ggabernet

repo: nf-core/bcellmagic


text:
Events - video transcripts underneath embed

The event page now automatically creates a YouTube video embed which is great, but now that we have transcripts it would make more sense to put them underneath (and not be hidden in a <details> tab).
Ideas:

Use a HTML comment in the markdown as a placeholder for the embed and use that if found
Use some other marker for the embed - eg. a horizontal rule with --- or something?
Do what WordPress does and look for YouTube URLs by themselves on a line with blank lines above and below, and convert that into an embed. 💯

I think that the last one is my favourite..
Note that we will still need the yaml frontmatter embed tag so that they show up on the homepage and stuff. So we'll potentially be repeating the YouTube URL quite a lot of times:

YAML youtube_embed
YAML location
In the text as a bullet / blockquote etc
In the text as an embed

But I'm not sure that I can really see an easy way around this without losing flexibility.

Tangentally related: https://github.com/nf-core/nf-co.re/issues/673

Implemented in #774

authors: ewels mashehu


text:
Cutadapt version missing from MultiQC report

The MultiQC report is missing the software version number for Cutadapt.
See for example any of the reports on the nf-core website:

This should be reported when we finalise the multiple software version reporting for each module and roll it out across nf-core/modules and within pipelines. Prototype here https://github.com/nf-core/modules/pull/665

Will be fixed in https://github.com/nf-core/rnaseq/pull/704

authors: drpatelh ewels

repo: nf-core/rnaseq


text:
Installing on de Raspberry Pi Zero W

I keep getting stuck at Install Homebridge and dependencies i installed
I have used Node.js binaries install method.
pi@raspberrypi:/opt/node/lib/node_modules/hap-nodejs/node_modules/mdns $ sudo node-gyp BUILDTYPE=Release rebuild
sudo: node-gyp: command not found

Which node version? From what source? Do you have gcc installed? See Wiki pages for Raspberry install!

I Have followed the wiki page and used this example
wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-armv6l.tar.xz
tar xJvf node-v6.9.5-linux-armv6l.tar.xz
sudo mkdir -p /opt/node
sudo mv node-v6.9.5-linux-armv6l/* /opt/node/
sudo update-alternatives --install "/usr/bin/node" "node" "/opt/node/bin/node" 1
sudo update-alternatives --install "/usr/bin/npm" "npm" "/opt/node/bin/npm" 1
Op 6 mrt. 2017 om 20:01 heeft Raoul <notifications@github.commailto:notifications@github.com> het volgende geschreven:
Which node version? From what source? Do you have gcc installed? See Wiki pages for Raspberry install!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/nfarina/homebridge/issues/1183#issuecomment-284496774, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AXGjy_xXeCP94cw3aGAgnGlynxhJgXmCks5rjFgAgaJpZM4MUiqU.

GCC is default already installed

Is the node-gyp package installed? It seams not to find it. According to
https://github.com/nfarina/homebridge/wiki/Running-HomeBridge-on-a-Raspberry-Pi#install-homebridge-and-dependencies
...you should have installed node-gyp along with the other packages.

sudo npm install -g --unsafe-perm homebridge hap-nodejs node-gyp
cd /opt/node/lib/node_modules/homebridge/
sudo npm install --unsafe-perm bignum
cd /opt/node/lib/node_modules/hap-nodejs/node_modules/mdns
sudo node-gyp BUILDTYPE=Release rebuild

@snowdd1 i used the code as described above so i have installed node-gyp right ?

Should be so. With my old Pi1b it worked back then.
Why do you build mdns by hand? That should be taken care of by npm install of hap-nodejs

Hi, Im having the exact same issue,     sudo node-gyp BUILDTYPE=Release rebuild  returns command not found and followed all the steps
Node binaries installed same as gielk's 2nd post to for ARMV6.
I did have this error thrown up as someone else was trying to help me trouble shoot if and where npm or node has been installed.
npm ERR! extraneous: bignum@0.12.5 /opt/node/lib/node_modules/homebridge/node_modules/bignum

I just found out I used the older installation instructions before @nrobinson2000 added that change: https://github.com/nfarina/homebridge/wiki/Running-HomeBridge-on-a-Raspberry-Pi/_compare/993ccfb9f1f7a1091f1bb4e441c0e5738377dc54
I didn't need that.  But I do not know why. Worked without re-building mdns manually.

Did you managed to get it working? I am stuck with the same error. sudo node-gyp BUILDTYPE=Release rebuild doesn't seem to be working. Followed the guide to the letter, but still doesn't work. I am on a Raspi Zero with Jessie Lite.

I used the Node.js manual install method
http://blog.wia.io/installing-node-js-v4-0-0-on-a-raspberry-pi/
and was able to sudo node-gyp BUILDTYPE=Release rebuild
but now when i start homebridge there is no plugin found. I have installed some plugins... what to do ?

authors: Pltnorwich gielk mediaj snowdd1

repo: nfarina/homebridge


text:
[BUG] ARCCommander ARC does not open in ARCitect

Describe the bug
I created an ARC quite some time ago (24.01.2023) with the ARCCommander and am unable to open it with the ARCitect.
To Reproduce
Steps to reproduce the behavior:

Download ARC
a using ARCCommander : arc get - r https://git.nfdi4plants.org/micwij/cmqtl_val1_arc.git OR
b using ARCitect: download 'cmQTL_val1_arc'  --> Click on 'close' of download window
Click on 'Open ARC' and select ARC
ARCitect will keep loading

Expected behavior
I would expect the ARC to open with ARCitect.
OS and framework information (please complete the following information):

OS: Edition: Windows 11 Enterprise
Version: 23H2
OS build: 22631.3527
Arcitect version: 0.0.37
ARCCommander version: 1.0.2

Additional context
This might be a specific problem only for this ARC, because it was created some time ago (probably with ARCCommander v0.4.0). I would be really grateful for any help in fixing this issue.
The main reason I was actually trying to open it in ARCitect, is because I wanted to fix a mis-annotation in an isa.assay.xlsx and thought I could use Swate from within ARCitect.

Hey @micwij, just looked into this and can't open it with the current 2.0 version I'm currentyl working on (#241).
Will then probably be fixed both for ARCitect and ARCCommander with the fixing of https://github.com/nfdi4plants/ARCtrl/issues/414.

Thanks for checking! I will try again once this is fixed then.

authors: HLWeil micwij


text:
Adding ArcAssay/ArcStudy API

Hit >300 unit tests 🎉 ✅
JS tests not yet run ❌

@HLWeil please have a look!

Renamed "Set" CRUD api functions to "Updated"; SetColumn --> UpdateColumn
Renamed UpdateTableAt functions on ArcAssay and ArcStudy to MapTableAt
member this.MapTableAt(index: int, updateFun: ArcTable -> unit) = ArcTables(this.Tables).MapTableAt(index, updateFun)

Great work!
I will merge this, so I can start using these functions in the FsSpreadsheet IO. If we decide on additional changes feel free to open up a new PR.

authors: Freymaurer HLWeil


text:
Preparation for possible {arrow} removal on CRAN

It is highly likely that the R package {arrow} will be (temporarily) archived on CRAN.
This has impact on all nflverse releases that include .parquet files as the corresponding workflows install arrow through CRAN.
The least invasive solution is to add the arrow r-universe repo to the list of repos when setting up R on the runner to allow the installation of a binary. We can find the suggested repo here. The yaml should look like this
 - uses: r-lib/actions/setup-r@v2
   with:
      extra-repositories: 'https://apache.r-universe.dev/'

Affected tags in nflverse-data
I am not 100% sure if there are releases in other repos that require arrow to save parquet files. In nflverse-data, we can list all affected tags using this code
all_assets <- piggyback::pb_list("nflverse/nflverse-data")

all_assets |>
  dplyr::filter(
    stringr::str_detect(file_name, ".parquet")
  ) |>
  dplyr::distinct(tag)

which outputs the following list

[ ] ftn_charting
[ ] espn_data
[ ] weekly_rosters
[ ] players_components
[ ] players
[ ] pbp_participation
[ ] officials
[ ] misc
[ ] draft_picks
[ ] contracts
[ ] snap_counts
[ ] rosters
[ ] player_stats
[ ] pfr_advstats
[ ] pbp
[ ] nextgen_stats
[ ] injuries
[ ] depth_charts
[ ] combine

For future reference:
I checked docs and can confirm that the r-universe repo hosts linux binaries for r-release on ubuntu:latest which is perfectly fine for our gh workflows
https://github.com/r-universe-org/help?tab=readme-ov-file#does-r-universe-have-linux-binaries

Arrow has been updated on CRAN so we close this (at least for now).

repo: nflverse/nflverse-data


text:
Getting "TypeError: Cannot read property 'toLowerCase' of undefined"

Hi there,
I have quite basic issue:
Installed gulp, slush, slush-ng-next globally.
When type slush ng-next, I have got the error below:
var username = string.toLowerCase();
                     ^
TypeError: Cannot read property 'toLowerCase' of undefined
    at format (/usr/lib/node_modules/slush-ng-next/slushfile.js:20:26)
    at /usr/lib/node_modules/slush-ng-next/slushfile.js:35:19
    at Object.<anonymous> (/usr/lib/node_modules/slush-ng-next/slushfile.js:38:3)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Liftoff.handleArguments (/usr/lib/node_modules/slush/bin/slush.js:90:3)

Environment - npm 3.3.10, node 0.12.7

sorry, this slush generator isn't implemented yet. I will leave this issue open until I have something that's working.

repo: ng-next/slush-ng-next

license: mit


text:
Replacing dashboard dials on overview

The dashboard dials have some issues.
A) they look a little dorky.
B) they query Mesos as a "whole", which can become confusing and less meaningful if more that one framework is running on the mesos cluster.
C) Moreover, they do not indicate how much "as-tasked" specifically by the Scale instance you're viewing.
D) Nodes "paused" by Scale (for whatever reason) are still counted, even though they are not "taskable" by Scale; this misrepresents the resource utilization metrics... which aren't being captured anywhere.
To fix I suggest:
New graphical display... (something other than speedometer style dials) (pie charts?  side by side bar charts?  tracking line charts (if we have hysteresis) ...
Display three metrics for each CPU, RAM and Disk : mesos-used, mesos-free, and resources used by (this) scale.
A poor man's "estimate to empty" the queue would be nice too.  Even if it's only a current jobs per hour/size of queue adjusted for current rate new jobs are coming in.

This is OBE due to the upcoming new Scale UI.

authors: cshamis dfaller

repo: ngageoint/scale


text:
Update issue templates

Sample issue templates to encourage better bug report / features submissions internally and externally.

Adding in more contextual examples to bug report:

DCOS Version
Marathon LB version
Deployment environment (AWS / On-premise / etc.)
External services (RDS / SQS / etc.)


text:
Issue 252 - Fixed a bug with calculating aggregate values across all records.

Updated the aggregate plot calculation to use different logic for min, max, and avg.

LGTM

I'm going to go ahead and merge to get this in by end of sprint.

authors: dfaller wardcr


text:
Neo Shell extension model

The first version of the neoshell extension mode.

Note, PR is failing to pack. The path to the package logo is specified in src\Directory.Build.props, but because I asked to move the NEP11 extension down a level in the folder hierarchy, that project can't locate the logo.

Great work on the code review feedback. Once ypu get the build fixed and the refactor/cleanup issue filed, I think we're ready to merge

Note, PR is failing to pack. The path to the package logo is specified in src\Directory.Build.props, but because I asked to move the NEP11 extension down a level in the folder hierarchy, that project can't locate the logo.

Hmm, do we have to refer to the logo conditionally? It's

Does it mean for shell-ext/nft we will have to go two levels up?

authors: devhawk ngdentdev

repo: ngdenterprise/neo-worknet


text:
cant get up, basic example fails

basic example fails
event the most basic example from the examples folder fails
nginx-gateway    cluster0-nginx-gateway-fabric   0/1     1            0           7s

i tried including the privileged annotation aswell.
did and it failed aswell.
tried

installation via manifest.
installation via helm
privileged namespace
basic example
gateway with an application, including httproute

status message
nginx-gateway:
...
  Ready: False
  http-get http://:health/readyz delay=3s timeout=1s period=1s #success=1 #failure=3
...
nginx:
  Ready: true
...
Readiness probe failed: HTTP probe failed with statuscode: 500

only error message i could find
"level":"error","ts":"2023-11-23T22:30:13Z","logger":"eventLoop.eventHandler","msg":"Failed to update NGINX configuration","batchID":1,"error":"failed to reload NGINX: open /proc/22/task/22/children: no such file or directory","stacktrace":"github.com/nginxinc/nginx-gateway-fabric/internal/mode/static.(*eventHandlerImpl).HandleEventBatch\n\t/home/runner/work/nginx-gateway-fabric/nginx-gateway-fabric/internal/mode/static/handler.go:116\ngithub.com/nginxinc/nginx-gateway-fabric/internal/framework/events.(*EventLoop).Start.func1.1\n\t/home/runner/work/nginx-gateway-fabric/nginx-gateway-fabric/internal/framework/events/loop.go:74"

reproduce:

follow installation via manifest or chartInflator as below

...
# helm.yaml
helmCharts:
- name: nginx-gateway-fabric
  releaseName: cluster0
  namespace: nginx-gateway
  includeCRDs: true
  valuesInline:
  repo: oci://ghcr.io/nginxinc/charts

patches:
  - path: values.yaml
    target:
      kind: HelmRelease
...
# kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
  - ./resources/namespace.yaml
  - https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.0.0/standard-install.yaml
  - ./helm

needless to say that the values.yaml is empty
# kubectl version
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short.  Use --output=yaml|json to get the full version.
Client Version: version.Info{Major:"1", Minor:"27", GitVersion:"v1.27.3", GitCommit:"25b4e43193bcda6c7328a6d147b1fb73a33f1598", GitTreeState:"clean", BuildDate:"2023-06-14T09:53:42Z", GoVersion:"go1.20.5", Compiler:"gc", Platform:"darwin/amd64"}
Kustomize Version: v5.0.1
Server Version: version.Info{Major:"1", Minor:"27", GitVersion:"v1.27.3", GitCommit:"25b4e43193bcda6c7328a6d147b1fb73a33f1598", GitTreeState:"clean", BuildDate:"2023-06-14T09:47:40Z", GoVersion:"go1.20.5", Compiler:"gc", Platform:"linux/amd64"}

i might have misinterpreted the package.
i though of gateways as a dynamic definition within a gateway "operator" and not to represent a static object gateway themselves.
in my case each application would define a gateway themselves and determine the listeners dynamically.
is there a way to add listeners dynamically. its hard to predefine which ports are used, id like to keep the configuration in its place as well.
love to stand corrected though.

event the most basic example from the examples folder fails
nginx-gateway    cluster0-nginx-gateway-fabric   0/1     1            0           7s

any input on how to further debug this welcome

@wibed You saw this issue when following the steps outlined in the installation guide?

i am using version 1.0.0

I don't know if this would actually have anything to do with your issue, but we have a mistake in our installation docs. NGINX Gateway Fabric v1.0.0 doesn't yet support the Gateway API version 1.0.0, so you actually need to install v0.8.1 of the API crds first (kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v0.8.1/standard-install.yaml). I have a feeling this won't fix your problem, but worth a try.

i dont know what i am supposed to see. and confused at what i do.
now i get a namespace system gateway-system are the implementations different?
i get a many crd's which werent there before.

The gateway-system namespace runs a webhook that does validation on the Gateway resources. In v1.0.0 of the Gateway API, they removed this webhook and namespace. The CRDs in Gateway API v0.8.1 and v1.0.0 are the same, though, so you shouldn't see anything new (gatewayclasses, gateways, httproutes, etc).

These instructions for installing are the more accurate ones.

First install the Gateway API crds v0.8.1
Install NGF crds v1.0.0
Install NGF v1.0.0

tough luck, i tried it several times. yet no luck. deployment stays down.

What's the kubernetes environment you're trying to install in? Would you be able to try a kind cluster and see if it works there? (kind create cluster) (kind reference if needed

its a talos cluster, i would not, i would first try it on rancher desktop though.

I would also be curious if you see any error logs in the nginx container in the Pod.

nope rancher desktop does fail aswell:
nginx-gateway    nginx-gateway                  0/1     1            0           76s
gateway-system   gateway-api-admission-server   1/1     1            1           113s

same as before
# kubectl logs <PODID> -n nginx-gateway | grep error
{"level":"error","ts":"2023-11-24T19:28:15Z","logger":"eventLoop.eventHandler","msg":"Setting GatewayStatusAddress to Pod IP Address","batchID":1,"error":"error finding Service for Gateway: Service \"nginx-gateway\" not found","stacktrace":"github.com/nginxinc/nginx-gateway-fabric/internal/mode/static.(*eventHandlerImpl).HandleEventBatch\n\t/home/runner/work/nginx-gateway-fabric/nginx-gateway-fabric/internal/mode/static/handler.go:130\ngithub.com/nginxinc/nginx-gateway-fabric/internal/framework/events.(*EventLoop).Start.func1.1\n\t/home/runner/work/nginx-gateway-fabric/nginx-gateway-fabric/internal/framework/events/loop.go:74"}

Those are the logs from the nginx-gateway container. You can run kubectl logs <PODID> -n nginx-gateway -c nginx.

And actually, that error log you provided was different from the one from earlier.

i didn't know that is possible.
here are the logs from the second container
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: /etc/nginx/conf.d/default.conf is not a file or does not exist
/docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2023/11/24 18:28:35 [notice] 22#22: using the "epoll" event method
2023/11/24 18:28:35 [notice] 22#22: nginx/1.25.2
2023/11/24 18:28:35 [notice] 22#22: built by gcc 12.2.1 20220924 (Alpine 12.2.1_git20220924-r10)
2023/11/24 18:28:35 [notice] 22#22: OS: Linux 6.1.58-talos
2023/11/24 18:28:35 [notice] 22#22: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2023/11/24 18:28:35 [notice] 22#22: start worker processes
2023/11/24 18:28:35 [notice] 22#22: start worker process 41
2023/11/24 18:28:35 [notice] 22#22: start worker process 42
2023/11/24 18:28:35 [notice] 22#22: start worker process 43
2023/11/24 18:28:35 [notice] 22#22: start worker process 44

using edge version did not help either

Hmm, the logs all look good to me. When you say you have listeners defined, are you referring to the fact that you've created a Gateway resource? Do you have Gateway and HTTPRoute resources configured at all? If so, I'd be curious if there are any bad statuses on those resources (found using kubectl describe on those resources).
I'm also wondering if there's just some issue with the health check. If you removed the health check from the deployment manifest, and then tried creating your resources and sending traffic, if it works.

And you're still seeing the original error where the file is missing?

yes

Hi @wibed
I'm trying to reproduce this issue locally and I cannot - everything seems to be working ok. Here's what I have done:

Created a Talos cluster using talosctl cluster create
Installed the Gateway API CRDs using kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v0.8.1/standard-install.yaml
Installed v1.0.0 of NGF using Helm helm install my-release oci://ghcr.io/nginxinc/charts/nginx-gateway-fabric --create-namespace --set service.type=NodePort --wait -n nginx-gateway
Deployed the cafe-example: kubectl apply -f examples/cafe-example
Exposed my NGF pod so I could access my application: kubectl port-forward $GW_POD -n nginx-gateway 8080:80 &
Confirmed I could pass traffic: curl --resolve cafe.example.com:8080:127.0.0.1 http://cafe.example.com:8080/coffee

My kubectl version info:
 kubectl version --output=yaml
clientVersion:
  buildDate: "2023-11-15T16:48:52Z"
  compiler: gc
  gitCommit: bae2c62678db2b5053817bc97181fcc2e8388103
  gitTreeState: clean
  gitVersion: v1.28.4
  goVersion: go1.20.11
  major: "1"
  minor: "28"
  platform: darwin/arm64
kustomizeVersion: v5.0.4-0.20230601165947-6ce0bf390ce3
serverVersion:
  buildDate: "2023-10-18T11:33:18Z"
  compiler: gc
  gitCommit: a8a1abc25cad87333840cd7d54be2efaf31a3177
  gitTreeState: clean
  gitVersion: v1.28.3
  goVersion: go1.20.10
  major: "1"
  minor: "28"
  platform: linux/arm64

One thing I do notice is I get the following warning when I am deploying NGF, but it is not blocking anything:
W1128 10:44:03.164592   56734 warnings.go:70] would violate PodSecurity "restricted:latest": allowPrivilegeEscalation != false (container "nginx" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "nginx-gateway" must not include "KILL" in securityContext.capabilities.add), seccompProfile (pod or containers "nginx-gateway", "nginx" must set securityContext.seccompProfile.type to "RuntimeDefault" or "Localhost")

Am I missing anything in my setup that is present in yours?

Could it be related to the architecture of the host machine that NGF is being deployed on?

once i issuer the following command:
kubectl logs deployment/cluster0-nginx-gateway-fabric -n nginx-gateway

i do receive another error than reported above
failed to start control loop: failed to prepare the first batch: failed to get API group resources: unable to retrieve the complete list of server APIs: gateway.networking.k8s.io/v1: the server could not find the requested resource

isntalled manually it works like you point it out.
yet using the helmchart inflator from kustomize following your instructions
i do receive another error than reported above
once i issuer the following command:
kubectl logs deployment/cluster0-nginx-gateway-fabric -n nginx-gateway

failed to start control loop: failed to prepare the first batch: failed to get API group resources: unable to retrieve the complete list of server APIs: gateway.networking.k8s.io/v1: the server could not find the requested resource

k

That command isn't working for me either, but I suspect it's something to do with the kustomize.yaml file. The errors I am receiving (based on the snippets provided in your description and last comment) show that 1. The namespace isn't being created (I created /resources/namespace.yaml as per your snippet) and 2. The CRDs were not being deployed. When I manually created those things, the command worked successfully and NGF was deployed. I found this SO issue that seems to relate to what I've seen:

Kustomize does not, yet, have a way to control order of object creation. If you are piping straight into kubectl then you have to either separate the CRDs into their own app so that you apply CRDs, wait for them to finished and then apply the resources that depend on them. Or you run the apply twice.

I think this could be the source of the problem - NGF is dependant on the Gateway API CRDs being present in order to deploy. If the order of deployment cannot be guaranteed, than this method of deployment is unlikely to work.

you have to add a chartGlobals for the helm charts to get stored to.
heres the full reproduction files, directories have to be created:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
  - ./resources/namespace.yaml
  - https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.0.0/standard-install.yaml
  - ./helm
---
apiVersion: v1
kind: Namespace
metadata:
  labels:
    kubernetes.io/metadata.name: nginx-gateway
    pod-security.kubernetes.io/enforce: privileged
  name: nginx-gateway
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

helmGlobals:
  chartHome: ../../../../base/nginx-gateway

helmCharts:
- name: nginx-gateway-fabric
  releaseName: cluster0
  namespace: nginx-gateway
  includeCRDs: true
  valuesInline:

  repo: oci://ghcr.io/nginxinc/charts

patches:
  - path: values.yaml
    target:
      kind: HelmRelease
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
  name: nginx-gateway
  namespace: nginx-gateway
spec:
  chart:
    spec:
      version: "1.0.0"
---

One thing I notice in the above snippet is that you have a mismatch in the Gateway API CRDs and the NGF deployment. As stated in a previous comment, v1.0.0 of NGF is compatible with v0.8.1 of the Gateway API CRDs, not v1.0.0. So, you should replace the first section of the above snippet with
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
  - ./resources/namespace.yaml
  - https://github.com/kubernetes-sigs/gateway-api/releases/download/v0.8.1/standard-install.yaml
  - ./helm
---

id like to add, that i tried both.
and it does work as long as the the service is set to NodePort
yet i do require a LoadBalancer

I'm having the same issue with my Talos Cluster which is set up across multiple Networks. When creating a local cluster it works fine for me too, but did you manage to set it up on Talos with multiple control-plane nodes @wibed ?

Created a Talos cluster using talosctl cluster create
Installed the Gateway API CRDs using kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v0.8.1/standard-install.yaml
Installed v1.0.0 of NGF using Helm helm install my-release oci://ghcr.io/nginxinc/charts/nginx-gateway-fabric --create-namespace --set service.type=NodePort --wait -n nginx-gateway
Deployed the cafe-example: kubectl apply -f examples/cafe-example
Exposed my NGF pod so I could access my application: kubectl port-forward $GW_POD -n nginx-gateway 8080:80 &
Confirmed I could pass traffic: curl --resolve cafe.example.com:8080:127.0.0.1 http://cafe.example.com:8080/coffee

Another thing I saw is that you used $GW_POD @ciarams87 . Do I need to set this Env Variable and maybe others too?

@TheZomb The variables such as GW_POD and GW_PORT are just for convenience when sending requests so you don't have to update the requests if those values ever change. They are just the IP address and port of the NGF service or pod you are sending traffic to.

There's a lot going on in this thread, but I think I found the root cause of the original error as well as an explanation of why it can't be reproduced on a local, Docker based deployment.
The error message "failed to reload NGINX: open /proc/22/task/22/children: no such file or directory" is nginx-gateway trying to find the main nginx process's worker children. The /proc/.../task/.../children files don't exist in the proc tree unless the kernel is compiled with the CONFIG_PROC_CHILDREN option. Talos Linux's amd64 kernel does not enable that option.
This problem won't likely be reproducible by running Talos in Docker because the proc tree will be populated from the host's kernel, which likely has that option enabled.

@jdmarble Thanks for finding this! It looks like there was PR merged to fix that issue.
@wibed or @TheZomb are you able to verify the fix in talos?

Version 1.7.6 of Talos has been released with CONFIG_PROC_CHILDREN enabled. After I upgraded I no longer get the error when deploying nginx-gateway-fabric.

Closing this issue, as it seems to be resolved.

authors: TheZomb ciarams87 jdmarble sjberman wibed

repo: nginxinc/nginx-gateway-fabric


text:
GRPCRouteFilter Request HTTPHeaderFilter for GRPCRouteRule

As a user of NGF with applications that require GRPC traffic
I want NGF to support a GRPCRouteRule that can handle a request HTTPHeaderFilter
So that I can append specific headers required by my applications.
Acceptance

A user can specify a GRPCRouteFilter in their GRPC routes.
The GRPCRouteFilter can be of type "RequestHeaderModifier" or "ResponseHeaderModifier" as defined here.
A user can specify a request HTTPHeaderFilter in their GRPCRouteFilter which works as specified here.

Can we leverage the existing HTTPHeaderFilter for HTTPRouteFilters here?

@mpstefan I'm going to address requestHeaderModifier only as part of this ticket, as support for responseHeaderModifier for HTTPRoute (which 95% covers the support for GRPCRoute) is already covered in #1397. I think that ticket can probably be used to track responseHeaderModifier filter support for both Route types (or maybe another ticket would be better, but if so, #1397 should still go first).

Sounds good! Glad we can reuse #1397 here.


text:
Show example output of functions in docs

Description
It would be good to have an example output for each function example
/**
 * Generate a random rgb.
 *
 * @category colors
 *
 * @example
 *
 * randRgb()
 * // rgb(69, 254, 28)
 *
 * @example
 *
 * randRgb({ alpha: true })
 * // rgba(159, 167, 129, 0.74)
 *
 * @example
 *
 * randRgb({ length: 3 })
 * // [ 'rgb(158, 13, 22)', 'rgb(58, 214, 87)', 'rgb(43, 193, 36)' ]
 *
 */

Proposed solution
I'm not sure if these will be pulled from the JS Doc comments automatically, or if we will need to do some extra work to our docusaurus config
Alternatives considered
No response
Do you want to create a pull request?
No

@theryansmee I'm adding an interactive playground see #62, So I think people can try it out there.
@NetanelBasal WDYT?

Yes, it should be resolved in #62. Thanks.

authors: NetanelBasal shaharkazaz theryansmee

repo: ngneat/falso


text:
Wireguard-ui Client issues

Hello, I installed Wireguard-ui, ran it, and succeeded in accessing the WEB UI.
If you create a user, download the conf file, and connect through the Wiregurd Client, there is no external network connection.
However, if you create a Wireguard Client directly on the server and download the conf file, you can connect normally.
What information do I need to get help and what should I do?

As far as I understand an user does not come with a conf file.
These are two sepparate concepts, users are intended to acces the management UI while clients contain the necessary information to establish a remote connection.
Right now admin users can change the server configuration and normal users just can edit clients.
It would be nice to be able to link clients with a certain user but this functionality is currently not in the roadmap as far I understand.

What information do I need to get help and what should I do?

Please show us these client .conf files with the removed PrivateKey and Endpoint fields.

Sorry, first of all, please forget about the Client conf file I mentioned before.
It's a guess, but I think I've found the cause.
When creating a user and applying in the Web UI, the Wiregurd daemon restarts and seems to be unable to read the contents of the /etc/wireguard/wg0.conf file.
If you create a user in the Web UI, apply it, and then run the systemctl restart wg-quick@wg0 command on the server, it seems to work normally.
Is it true that Apply on the Wireguard Clients page restarts the Wireguard daemon on the server backend?
Also add the client's conf file.
[Interface]
PrivateKey = ~~~~
Address = 10.252.1.2/32
DNS = 8.8.8.8
MTU = 1450

[Peer]
PublicKey = ~~~~
PresharedKey =
AllowedIPs = 0.0.0.0/0
Endpoint = X.X.X.X:51820
PersistentKeepalive = 5

When using docker the WG daemon can be managed by Wireguard-UI. Otherwise you'll need to restart the daemon yourself.

I've already seen the settings, but I inquired just in case.
They say it only works with Docker, so I'll try testing it with Docker.
Thanks for you Support ! :)

Is it true that Apply on the Wireguard Clients page restarts the Wireguard daemon on the server backend?

Nope. It just saves wg0.conf file. But you can add and launch an additional service that monitoring wg0.conf file and reload wg

Currently, openrc is not installed on my server, and even if I want to install the related package, I cannot find it.
The version of my server is ubuntu 22.04, and the results of the apt command are also shared.
Am I the only one who has experienced this?
# cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.3 LTS (Jammy Jellyfish)"

# apt-cache search openrc
openrct2-objects - Object definitions for OpenRCT2
openrct2-title-sequences - Title sequences for OpenRCT2

# apt-get install openrc
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package openrc is not available, but is referred to by another package.
This may mean that the package is missing, has been obsolete, or
is only available from another source

E: Package 'openrc' has no installation candidate

First of all, I made it so that it can be configured without openrc, and it may be an issue with my Linux Server.
Ultimately, it seems to work well even if it is not a Docker environment.
Thank you so much for kindly answering my questions.
Thank you for your support, and I think we can close this issue.

In what moment OpenRC appears? I use and talk about SystemD services. Ubuntu is using systemd as well. So you just need read instructions from this point and only for SystemD not for OpenRC.

repo: ngoduykhanh/wireguard-ui


text:
Unable to setup up ngrok tunnel

I am not able to setup ngrok tunnel
bellow is the error I am facing
The ngrok process errored on start: Your ngrok-agent version "2.3.41" is too old. The minimum supported agent version for your account is "3.2.0". Please update to a newer version with ngrok update, by downloading from https://ngrok.com/download, or by updating your SDK version. Paid accounts are currently excluded from minimum agent version requirements. To begin handling traffic immediately without updating your agent, upgrade to a paid plan: https://dashboard.ngrok.com/billing/subscription.\r\n\r\nERR_NGROK_121\r\n.
Please let me know if there is any temprory fix
I have tried updating the ngrok version in the pip packge

The issue was fixed by update py-ngrok version

repo: ngrok/ngrok-api-python


text:
Docker Linux installation failure

From the docs: Installation -> Linux -> Install via Apt
# Install ngrok
RUN curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | \
  sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null && \
  echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | \
  sudo tee /etc/apt/sources.list.d/ngrok.list && \
  sudo apt update && sudo apt install ngrok

This was previously working, but is now failing due to
2.419 E: The repository 'https://ngrok-agent.s3.amazonaws.com buster InRelease' is not signed.

Perhaps a certificate expired and needs to be udpated?
Full stack trace
  64 |     # Install ngrok
  65 | >>> RUN curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | \
[2024-01-17T19:51:09.261Z]   66 | >>>   sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null && \
  67 | >>>   echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | \
  68 | >>>   sudo tee /etc/apt/sources.list.d/ngrok.list && \
  69 | >>>   sudo apt update && sudo apt install ngrok
  70 |
--------------------
ERROR: failed to solve: process "bash -c curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc |   sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null &&   echo \"deb https://ngrok-agent.s3.amazonaws.com buster main\" |   sudo tee /etc/apt/sources.list.d/ngrok.list &&   sudo apt update && sudo apt install ngrok" did not complete successfully: exit code: 100
[2024-01-17T19:51:09.270Z] Stop (89273 ms): Run: docker buildx build --load --build-arg BUILDKIT_INLINE_CACHE=1 -f /tmp/devcontainercli-REDMOND.mattm/container-features/0.54.1-1705520975616/Dockerfile-with-features -t vsc-projectwillow-811852a0e088c5d93246b1f1483978ff1a356407c84e386db185f5b04071abb7 --target dev_containers_target_stage --no-cache --pull --build-context dev_containers_feature_content_source=/tmp/devcontainercli-REDMOND.mattm/container-features/0.54.1-1705520975616 --build-arg _DEV_CONTAINERS_BASE_IMAGE=dev_container_auto_added_stage_label --build-arg _DEV_CONTAINERS_IMAGE_USER=vscode --build-arg _DEV_CONTAINERS_FEATURE_CONTENT_SOURCE=dev_container_feature_content_temp /home/mattm/ProjectWillow
[2024-01-17T19:51:10.611Z] Error: Command failed: docker buildx build --load --build-arg BUILDKIT_INLINE_CACHE=1 -f /tmp/devcontainercli-REDMOND.mattm/container-features/0.54.1-1705520975616/Dockerfile-with-features -t vsc-projectwillow-811852a0e088c5d93246b1f1483978ff1a356407c84e386db185f5b04071abb7 --target dev_containers_target_stage --no-cache --pull --build-context dev_containers_feature_content_source=/tmp/devcontainercli-REDMOND.mattm/container-features/0.54.1-1705520975616 --build-arg _DEV_CONTAINERS_BASE_IMAGE=dev_container_auto_added_stage_label --build-arg _DEV_CONTAINERS_IMAGE_USER=vscode --build-arg _DEV_CONTAINERS_FEATURE_CONTENT_SOURCE=dev_container_feature_content_temp /home/mattm/ProjectWillow
[2024-01-17T19:51:10.611Z]     at Y$ (/home/mattm/.vscode-remote-containers/dist/dev-containers-cli-0.327.0/dist/spec-node/devContainersSpecCLI.js:463:1860)
[2024-01-17T19:51:10.611Z]     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
[2024-01-17T19:51:10.611Z]     at async Fw (/home/mattm/.vscode-remote-containers/dist/dev-containers-cli-0.327.0/dist/spec-node/devContainersSpecCLI.js:462:1831)
[2024-01-17T19:51:10.611Z]     at async $J (/home/mattm/.vscode-remote-containers/dist/dev-containers-cli-0.327.0/dist/spec-node/devContainersSpecCLI.js:462:608)
[2024-01-17T19:51:10.611Z]     at async tAA (/home/mattm/.vscode-remote-containers/dist/dev-containers-cli-0.327.0/dist/spec-node/devContainersSpecCLI.js:479:3660)
[2024-01-17T19:51:10.611Z]     at async CC (/home/mattm/.vscode-remote-containers/dist/dev-containers-cli-0.327.0/dist/spec-node/devContainersSpecCLI.js:479:4775)
[2024-01-17T19:51:10.611Z]     at async NeA (/home/mattm/.vscode-remote-containers/dist/dev-containers-cli-0.327.0/dist/spec-node/devContainersSpecCLI.js:612:11107)
[2024-01-17T19:51:10.611Z]     at async MeA (/home/mattm/.vscode-remote-containers/dist/dev-containers-cli-0.327.0/dist/spec-node/devContainersSpecCLI.js:612:10848)
[2024-01-17T19:51:10.620Z] Stop (94714 ms): Run: /home/mattm/.vscode-remote-containers/bin/0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2/node /home/mattm/.vscode-remote-containers/dist/dev-containers-cli-0.327.0/dist/spec-node/devContainersSpecCLI.js up --container-session-data-folder /tmp/devcontainers-831e8d1f-1bf4-4f06-b8c6-8dbab5cbc48e1705520971176 --workspace-folder /home/mattm/ProjectWillow --workspace-mount-consistency cached --id-label devcontainer.local_folder=/home/mattm/ProjectWillow --id-label devcontainer.config_file=/home/mattm/ProjectWillow/.devcontainer/devcontainer.json --log-level debug --log-format json --config /home/mattm/ProjectWillow/.devcontainer/devcontainer.json --default-user-env-probe loginInteractiveShell --build-no-cache --remove-existing-container --mount type=volume,source=vscode,target=/vscode,external=true --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root
[2024-01-17T19:51:10.620Z] Exit code 1
[2024-01-17T19:51:10.622Z] Command failed: /home/mattm/.vscode-remote-containers/bin/0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2/node /home/mattm/.vscode-remote-containers/dist/dev-containers-cli-0.327.0/dist/spec-node/devContainersSpecCLI.js up --container-session-data-folder /tmp/devcontainers-831e8d1f-1bf4-4f06-b8c6-8dbab5cbc48e1705520971176 --workspace-folder /home/mattm/ProjectWillow --workspace-mount-consistency cached --id-label devcontainer.local_folder=/home/mattm/ProjectWillow --id-label devcontainer.config_file=/home/mattm/ProjectWillow/.devcontainer/devcontainer.json --log-level debug --log-format json --config /home/mattm/ProjectWillow/.devcontainer/devcontainer.json --default-user-env-probe loginInteractiveShell --build-no-cache --remove-existing-container --mount type=volume,source=vscode,target=/vscode,external=true --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root
[2024-01-17T19:51:10.622Z] Exit code 1

thank you for reporting, sorry for the delay in responding. this has been fixed:
root@8493fba870ed:/# curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | \
  tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null && \
  echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | \
  tee /etc/apt/sources.list.d/ngrok.list && \
  apt update && apt install ngrok
deb https://ngrok-agent.s3.amazonaws.com buster main
Get:1 https://ngrok-agent.s3.amazonaws.com buster InRelease [20.3 kB]
Hit:2 http://ports.ubuntu.com/ubuntu-ports jammy InRelease
Hit:3 http://ports.ubuntu.com/ubuntu-ports jammy-updates InRelease
Get:4 https://ngrok-agent.s3.amazonaws.com buster/main arm64 Packages [3224 B]
Hit:5 http://ports.ubuntu.com/ubuntu-ports jammy-backports InRelease
Hit:6 http://ports.ubuntu.com/ubuntu-ports jammy-security InRelease
Fetched 23.5 kB in 1s (30.1 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
21 packages can be upgraded. Run 'apt list --upgradable' to see them.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  ngrok
0 upgraded, 1 newly installed, 0 to remove and 21 not upgraded.
Need to get 5744 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 https://ngrok-agent.s3.amazonaws.com buster/main arm64 ngrok arm64 3.5.0 [5744 kB]
Fetched 5744 kB in 1s (7251 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package ngrok.
(Reading database ... 4975 files and directories currently installed.)
Preparing to unpack .../archives/ngrok_3.5.0_arm64.deb ...
Unpacking ngrok (3.5.0) ...
Setting up ngrok (3.5.0) ...```

authors: mattmazzola russorat

repo: ngrok/ngrok-docs


text:
create a builder to build the strapi app inside the nx

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Configure the builder to build the strapi project inside the nx.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

To have the idea about what needs to be included in this builder adding the comment from @ashbrener
https://github.com/ngx-builders/strapi/pull/31#issue-412622140
The gruntfile is create here https://github.com/ashbrener/strapi/blob/ash/strapi-node/apps/strapi-node/Gruntfile.js

repo: ngx-builders/strapi


text:
Avoid empty prefix / suffix elements in Material form fields

Description
The Material form field wrapper will always render prefix and suffix elements even if these are not provided via the template options.
Minimal Reproduction
This can be seen in the DOM on every example at https://formly.dev/ui/material
Your Environment

Angular version: 9.1.2
Formly version: 5.9.3

Additional context
This usually is not a problem, as they are collapsing to 0px width. However, we are using formly in as special setup and the prefix and suffix elements show up. Would be great to be able to use them and not go for custom ones. Furthermore, it would just be nice to avoid these unnecessary DOM elements.

Hi, the fix is now included in the dev version 5.10.0-dev.ad26817d which you may use until the stable release 5.10.0 is available (scheduled for Saturday).

This issue has been fixed and released as part of v5.10.0 release.
Please let us know, in case you are still encountering a similar issue/problem.
Thank you!

authors: aitboudad fynnfeldpausch

repo: ngx-formly/ngx-formly


text:
How to create a custom template with validation primeng calendar

Sorry for my poor english.
I tried to implemented a new template in formly type calendar add code,
app.modeules.ts
FormlyModule.forRoot({ extras: { lazyRender: true },
      types: [
        { name: 'calendario', component: CalendarioComponent },
      ],
    }),
    CalendarModule,

app.calendario.html

    Spanish

app-calendario.ts
export class CalendarioComponent extends FieldType{
  public date2: Date;
  public dateFormControl: FormControl = new FormControl(new Date());

  constructor(private primengConfig: PrimeNGConfig) {
    super();
    this.date2 = new Date();
    this.primengConfig.setTranslation({
      dayNamesShort: ["lun", "mar", "mié", "jue", "vie", "sáb","dom"],
      dayNamesMin: [ "L", "M", "X", "J", "V", "S","D"],
      monthNames: [
        "enero",
        "febrero",
        "marzo",
        "abril",
        "mayo",
        "junio",
        "julio",
        "agosto",
        "septiembre",
        "octubre",
        "noviembre",
        "diciembre"
      ],
      monthNamesShort: [
        "ene",
        "feb",
        "mar",
        "abr",
        "may",
        "jun",
        "jul",
        "ago",
        "sep",
        "oct",
        "nov",
        "dic"
      ],
      today: "Hoy",
      clear: "Borrar",

      //translations
  });

}
}

app.components.ts
fields: FormlyFieldConfig[] = [
    {
      fieldGroupClassName: 'p-grid',
      fieldGroup: [
       .......
        {
          className: 'p-lg-3 p-md-6 p-col-12',
          key: 'Calendario',
          type: 'calendario',
          templateOptions: {
            label: 'fecha',
            placeholder: 'fecha',
            required: true,
          },
          validation:{
            messages:{
              required: 'La fecha es necesaria'
            },
          }

        },
       ......
    }

  ];

I tried to implemented the required but if the field is empty, not show error required, i suppose that i need to implement more characteristics.
Please there are a example that which  wasn't input, new template an follow the steps.Thanks
Sorry for my english.

Hello everybody i am rookie in this issue, but i finally i get make the error show, i have change
app.components.html

    Spanish

    {{field.validation.messages.required }}

if somebody need, i hope helpful them.
Sorry for my english.

You can use form-field wrapper which include label and validation:
FormlyModule.forRoot(
  types: [
    { name: 'calendario', component: CalendarioComponent },
    { name: 'calendario', component: CalendarioComponent, wrappers: ['form-field'] },
  ],
}),

if you don't want to rely on a wrapper then use formly-validation-message component:
<formly-validation-message *ngIf="showError" [field]="field"></formly-validation-message>

You can use form-field wrapper which include label and validation:
FormlyModule.forRoot(
  types: [
-   { name: 'calendario', component: CalendarioComponent },
+   { name: 'calendario', component: CalendarioComponent, wrappers: ['form-field'] },
  ],
}),

if you don't want to rely on a wrapper then use formly-validation-message component:
<formly-validation-message *ngIf="showError" [field]="field"></formly-validation-message>

Apreciate yor example.
A lot of thanks for yout helpful.

authors: aitboudad uldcra


text:
CustomField extending FormArrayType setting formControl wrongly

Description
There is a custom field extending fieldArray of formly , I am overriding onPopulate method as well where I am adding formlyFields. I am using options.build() to rebuild the form on addition and removal of new fields after which onPopulate gets called but the issue is field.formControl object is empty.
Earlier the same logic is working fine for version 5.10.32.
this.field.parent?.parent?.templateOptions?.addGroup(this.index, this.model.fromObject);
It seems like this.field.parent?.parent?.formcontrol is empty in the latest version.
Minimal Reproduction

Your Environment

Angular version: 14
Formly version: 6.1.8

Additional context
Add any other context about the problem here.

Without a reproduction it hard for us to know the issue, please feel free to leave a comment once you've got a reproduction example, thanks!


text:
Change location of Create Measurement Plug-In menu item

Bug Report
Should be at Tools >> Plug-In SDKs >> Measurement >> Create Measurement Plug-In...
Your Environment

OS & Device: Windows
ni-measurement-plugin-sdk-service version 2.0.0.dev2

AB#2791249

✅ Successfully linked to Azure Boards work item(s):

Bug 2791249

authors: dixonjoel ni-vsts-admins

repo: ni/measurement-plugin-labview


text:
Add VIs to save/load class data to persist between tests

[x] This contribution adheres to CONTRIBUTING.md.

What does this Pull Request accomplish?
Add VIs to save/load class data to persist between tests
This is the same implementation as contained in https://github.com/ni/niveristand-aim-milStd1553-custom-device/pull/52
Why should this Pull Request be merged?
Fixes #73
Enable test classes to deploy a VeriStand System Definition once per test class in globalSetUp.vi, then use the WorkspaceManager reference in each test VI.
What testing has been done?
Updated the AIM MIL-STD-1553 Custom Device using these files and executed the Loopback test class.

Is it necessary to pass the class save data file path? Would the user ever need to specify where it is or could it just always go to the same relative location, in which case, that path could be a constant in the VeriStandTestCase class? Maybe useful for debugging?

As we chatted about just now, because the test implementer is responsible for using these VIs and then deleting the file in globalTearDown and because I want to move some of the testing tools stuff to vi.lib, it felt weird to always put the files alongside the testing tools. We'll stick with this implementation.


text:
How to run on Windows ?

Hi,
The project seems very interesting, but I cannot seem to run it.
I dowloaded the 2.6 release and tried to lauch every bat file in the bin folder, they all give me the very same error. "A JNI error has occured, please check you installation and try again."
I hav not seem anything about installation in the documentation and I am not familiar (like at all) with Java. Can you help me ?

Hi,
can you tell me wich version of java do you use ? (in a command line : java -version) .
I suggest to use last version :
https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html
Thanks for your feedback

I have this version:
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) Client VM (build 25.201-b09, mixed mode)

I installd JDK 12.0.1 but nothing changed

i suggest you to remove 1.8 java from your system.
now if you type "java -version" you have "java 12" ?
if the error persist,
you can edit mtgdesktopcompanion.bat file with text editor at line 85 :
change
exec "$JAVACMD" $JAVA_OPTS -XX:+UseStringDeduplication  -Djdk.tls.client.protocols="TLSv1,TLSv1.1,TLSv1.2" \
by
exec "$JAVACMD" $JAVA_OPTS -Djdk.tls.client.protocols="TLSv1,TLSv1.1,TLSv1.2" \

If I remov all Java 8 versions, I get:
Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.

It seems like the Java SDK does not install any java of their own. Plus th highest Java I cold fin on the internet was 1.8.0_211 and not 12.
I also tried to remove the options but it changed nothing

I think you have problems with your java setup, maybe this thread can help you https://stackoverflow.com/questions/6362037/java-error-opening-registry-key

Plus th highest Java I cold fin on the internet was 1.8.0_211 and not 12.
here it is : https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html

I had to add the new path to java into PATH and it worked just fine. Thank you :D


text:
it doesn't work

it can't find c:\XXXX how could I fix this bug?

@zhouji0212 - apologies, that was a temporary commit which used absolute paths from my personal machine while debugging. I will fix shortly and give updated instructions on the README (the project has changed significantly since I last update the docs).
Do you want to create modules that can be consumed by SIMPL or are you trying to create a standalone C# program for a 3-series Crestron processor?

yeah I create 3 processor use vs2008 and I want try new create method

I want create single dll with out sandbox that's cool


text:
Add fuse-nfs?

https://github.com/sahlberg/fuse-nfs/tree/master

See #5233

repo: nicholasdille/docker-setup


text:
Simplify role definition

Move all static role configuration from config data to node configuration
Move all role parameters to role configuration for individual node

Merged role definitions from config data into node configuration

repo: nicholasdille/psdsc


text:
Fix delimiter for mintinline when braces are in it.

If an inline code section contains an unmatched brace, then using braces as the \mintinline delimiter breaks. The inline section will extend to the next matching brace instead.
\mintinline can use any other character for a delimiter, so try to switch to something else when braces are in the text.
This also includes a fix for an invalid escape sequence.

Fwiw, I support this PR. Ran into this issue today.

authors: QuLogic ricopicone

repo: nick-ulle/pandoc-minted

license: isc


text:
Extracting keyframe to increase speed

I would be nice extracting the keyframes instead of any frames. This trick improves by 5x-7x the generation of the previews.
example:
ffmpeg -skip_frame nokey -i file -vf scale=320:-1  -qscale:v 10 out%d.jpeg

-skip_frame nokey to process only the keyframes
-vf scale=320:-1 to scale the frames to be 320px width
-qscale:v 10 quality?, not really necessary because the images are so small

I run a test with a 3h movie:

keyframes
any frames

speed
~90s (114x)
~750s (14.7x)

frames
~2500 (~13MB)
~2100 (~10MB)

fps
1 frame every ~4s
1 frame ever 5s

The keyframe methods is 7.7x faster!
The main drawback is that isn't not possible to specify exactly how many frames create or how many seconds from frame to frame.

references:

https://superuser.com/questions/1421133/extract-i-frames-to-images-quickly
https://superuser.com/questions/135117/how-to-extract-one-frame-of-a-video-every-n-seconds-to-an-image

ffmpeg -skip_frame nokey -i file -frame_pts true -vf scale=320:-1 -qscale:v 10 -vsync 0 -r 1000 kf-%10d.jpg

can produce files which have their timestamp in milliseconds. I suppose that could be used to find frames which are the closest to the prescribed interval. The question becomes how to deal with the gaps, as trickplay formats usually require there to not be holes in the series of images.

I have tested keyframes before when using the BIF format and my problem was that I didn't get nearly as many frames output which led to much less useful trickplay images. Generally, my goal is that if you're hovering over some point on the timeline the image previewed is going to be what you see when you skip there, but with keyframes that's usually not the case (at least from the very limited testing I did).

Is ffmpeg requirement? Because I often use mplayer (http://www.mplayerhq.hu) and it's very fast. I extract 1 frame each 10s in about 50s (same movie of the tests before). ~15x faster of standard and ~2x faster of keyframe only.
The only problem is that I'm not sure how precise mplayer is.:
mplayer $file -ss 1 -nosound -zoom -xy 320 -vo jpeg:outdir=./output -frames $frames -sstep $steps

where:

$steps is 10 (10s)
$frames is duration of movie / $steps

This command generates ~200 same ending frames. I only tried it on Windows and maybe I do the wrong calculation.

repo: nicknsy/jellyscrub