text:
[Tidy] Return empty data frame from AgGrid, Table and Figure build methods

Description
References:

PR link that introduced returning the entire data_frame from the AgGrid/Table build method -> #439
Reasons behind the mentioned PR:

https://github.com/McK-Internal/vizro-internal/issues/670
https://github.com/McK-Internal/vizro-internal/issues/660
https://github.com/McK-Internal/vizro-internal/issues/747

Why are we rethinking the AgGrid/Table build method?
Short reminder:
There are two phases that happen when the page is loaded:

build phase -> renders all page components by returning the content made inside the components build method.
on_page_load phase -> triggers a process that calculates the final appearance of all targeted figures based on the selected filters/parameters/filter_interactions.

Even when the big data is handled and showed with different figures, the build phase has to be completed quickly, so Vizro users don't stuck with the "blank white page". Since the calculation for the final figures look could take a lot of time (e.g. if the data loading process is slow or if big data has to be transported through the network), we should return some light-weight placeholder components that will be replaced with the real components afterwards.
After the build phase, the on_page_load mechanism is triggered which immediately puts all the targeted figures in the "loading state" and after some time it returns and renders filtered & parametrised figures to the UI.
How it works now?
Currently the vm.Graph.build method works as expected. It returns a placeholder graph from the build phase which is later replaced with the actual (filtered and parametrised) Graph object (result of the on_page_load mechanism) later.
However, the vm.AgGrid.build and the vm.Table.build methods returns objects made of entire (non-filtered) data_frame and original parameters from the build phase which becomes replaced with the actual AgGrid/Table objects (result of the on_page_load mechanism).
(We decided to return entire data_frames for ag_grid/tables just to quick fix the bugs mentioned at the beginning of this description.)
What do we want to achieve?
We want to optimise the AgGrid and Table build methods so they do not return an entire data_frame in build phase. Except the response time optimisation (which is the most important I guess), we also want to align them with the Graph build method that also does not return an entire data_frame from the build method. In this process we shouldn't recreate any of the persistence (or similar) bugs we solved with the #439.
Vizro UX will hugely benefit from this "relieving the initial page loading" process, and this step is crucial for all the upcoming backend changes.

Task acceptance criteria:

Relieve the page.build phase:

Ideally by returning a hardcoded placeholder component from the AgGrid/Table build methods (similarly like it's done for the vm.Graph)
OR by returning a real (fully configured) AgGrid/Table object but with an empty data_frame. (see in the table below why this is not optimal solution. This option is described within the "self.call(data_frame=pd.DataFrame())" column) .

Do not introduce any persistence (or similar) inconsistencies like:

Reseting AG grid resets column widths when reloading the screen (if the columnSize="autoSize"),
Column filter persistence,
Not sending an empty data_frame into figure functions,
Make the pagination and selectedRows to work smoothly (together with all other possible arguments).

Optimise the number of figure function calls. Ideally it should be called only once from the on_page_load phase, with the filtered data_frame and parameterised function arguments.

The table below shows how different objects returned from the vm.AgGrid build method (columns) match different acceptance criteria (rows):
Returned objects like dag.AgGrid() / html.Div() are not considered at all as they raise the following error (even with suppress_callback_exceptions=True set) -> "A nonexistent object was used in an State of a Dash callback...".

dag.AgGrid(id=self._input_component_id)
self.call(data_frame=pd.DataFrame())
self.call()
html.Div(id=self._input_component_id)

Returns a light-weigh component from the build phase
✅
✅
❌
✅

Keeps column widths on page refresh
❌
❌
*❌ (we thought we fixed it)
✅

Keeps column widths on page nav
❌
❌
*❌ (we thought we fixed it)
✅

Keeps column widths on filter changes
❌
❌
❌
*❌ (probably internal dash-ag-grid bug)

"Column filter" persistence
✅
❌
✅
✅

"pagination" persistence
❌
✅
✅
✅

"selectedRows" persistence
✅
❌
❌
✅

Not sending an empty data_frame into figure functions
✅
❌
✅
✅

number of figure function calls - build phase
0 - ✅
2 - ❌
2 - ❌
0 - ✅

number of figure function calls - on_page_load phase
1 - ✅
2 - ❌
2 - ❌
1 - ✅

Legend:

*❌ (we thought we fixed it) - points out that the https://github.com/McK-Internal/vizro-internal/issues/670 is not actually fully solved. To prove it, run the scratch_dev example, select filter [1, 3], and refresh the page.
*❌ (probably internal dash-ag-grid bug) - See the issue https://github.com/plotly/dash-ag-grid/issues/318

Conclusions:
Based on all the knowledge gathered so far (which is mainly presented in the table above), we will go with the returned object html.Div(id=self._input_component_id) option from the vm.AgGrid/vm.Table build methods.

Notice

[x] I acknowledge and agree that, by checking this box and clicking "Submit Pull Request":

I submit this contribution under the Apache 2.0 license and represent that I am entitled to do so on behalf of myself, my employer, or relevant third parties, as applicable.
I certify that (a) this contribution is my original creation and / or (b) to the extent it is not my original creation, I am authorized to submit this contribution on behalf of the original creator(s) or their licensees.
I certify that the use of this contribution as authorized by the Apache 2.0 license does not violate the intellectual property rights of anyone else.
I have not referenced individuals, products or companies in any commits, directly or indirectly.
I have not added data or restricted code in any commits, directly or indirectly.

@antonymilne

I'm slightly sad that that the more we work on this, the less "useful content" is in AgGrid and similar models and the more it just becomes the same as Figure + the "action info" type stuff

Just to say that absence of custom code across different models makes me really happy. This enhances the genericity of the codebase, making it more maintainable, easier to understand and easier to customise from the users' side.
The "actions_info" is an idea I got earlier this year while documenting ActionsV2 process and is placed on the Miro board as the first ticket on the AV2 Timeline.

@antonymilne

I would love to get to the bottom of the question I had about why this doesn't trigger the filter_interaction since as you know it influences other things like the dynamic controls. But if it all works then happy to merge this without fully understanding it!

After the on_page_load action returns figures on the page, the trigger_to_global_store is triggered. This client-side callback is triggered as expected according to -> https://dash.plotly.com/advanced-callbacks#prevent-callback-execution-upon-initial-component-render, because the callback Input is generated by the on_page_load and its Output is a global local store (that already exists in the client side of the app).
This should cause the gateway client-side callback to be triggered as well, since the trigger_to_global_store Output is the Input of the gateway callback (which would cause filter_interaction to be triggered). 🤔 However, I didn't succeed to figure out why the gateway callback is not triggered (as it should be), and wasn't able to trigger the gateway callback even when I removed all the prevent_initial_call=True parameters.

After the on_page_load action returns figures on the page, the trigger_to_global_store is triggered. This client-side callback is triggered as expected according to -> https://dash.plotly.com/advanced-callbacks#prevent-callback-execution-upon-initial-component-render, because the callback Input is generated by the on_page_load and its Output is a global local store (that already exists in the client side of the app).
This should cause the gateway client-side callback to be triggered as well, since the trigger_to_global_store Output is the Input of the gateway callback (which would cause filter_interaction to be triggered). 🤔 However, I didn't succeed to figure out why the gateway callback is not triggered (as it should be), and wasn't able to trigger the gateway callback even when I removed all the prevent_initial_call=True parameters.

Thanks for looking into it. I wonder if it's related to this issue? https://github.com/McK-Internal/vizro-internal/issues/1105#issue-2378867831
No need to solve it now, but let's make a note of it so we don't lose track of it.

I wonder if it's related to this issue?

Great point! It seems like we're dealing with a similar scenario here.
My main goal is to prevent any action from triggering another implicitly (which seems like it's the case right now). Instead, all actions should be explicitly defined using action chains. Given that, I wouldn't suggest altering the current behaviour. However, I'd like to dedicate more time to investigating this further and making the action loop more robust. We can address this in a separate PR when we find more time.

authors: antonymilne petar-qb

repo: mckinsey/vizro


text:
added option to submit report to variable endpoints

You can run the unit test to see how the processExtension function now looks through the other resources in the bundle and uses any Endpoint resource it finds to add to the "receiver addresses" property of the KA, to be retrieved later in SubmitReport.  I left the config-file-based submission endpoint setting in tact to preserve the original behavior of the app.
The endpoint search only works with local references, could be updated to use canonical uri as well.

closing this as "already merged into pilot branch"

source: gharchive/pull-request

authors: KeeyanGhoreshi dehall

repo: mcode/eCRNow

license_type: permissive

license_source: github-api


text:
Bidi content when pasted during Bidi-Mode

Essentially, pipe register contents through fribidi() before inserting the text into the buffer.
Would it make more sense to assign a specific register to this or apply to all registers?

I think I'll assign this functionality to all registers,
but rather than piping the register contents through fribidi(),
pasting will temporarily disable Bidi-Mode, insert contents, then re-enable Bidi-Mode.
That way padding for ML and MR base directions can be applied.
Unfortunately, there is no autocmd event for pasting,
so I think I will make a custom function and command that pastes from a specified register.
The user command (BidiPaste, which will only run when Bidi-Mode is enabled) should take the register name as input.
Perhaps the function (paste()) can detect the next keypress/letter (with option to ) to determine the register to paste from.
The user command can then simulate this keypress from the input.

I think I will also use this functionality to correct lines/text that are bidi'd incorrectly.

Added in 8fc5741f3015f2e7d9510426e52273044223afe0

source: gharchive/issue

license: MIT


text:
TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/73189

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/78496

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/87258

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/87310

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/87494

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/97028

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/97086


text:
Pass a dict/object rather than username

In the original https://blog.danslimmon.com/2019/07/15/do-nothing-scripting-the-key-to-gradual-automation/
the object/dict "context" is passed to each step. In your examples you pass a simple variable username.
Although the example only defines the "username" key in the context object/dict the role of
context can't be replaced by a simple "username" variable.
The purpose of context as I see it is to pass information between the stages. So stage one can add:
context["stage1key"] = "xrvzymbloq"

Then stage2 can use this stage1key when doing its stage 2 things.
A simple variable depending on how it's passed (reference, value) to a stage doesn't allow
the stage to make a change to the variable that is available to other stages. Also the choice
of the name "username" isn't valid once the value is changes to something like a key.
There is value in seeing this model written in other languages, but I suggest you implement it
with the original functionality that supports stages modifying and passing context between
stages.

Hey, I thought about this, and have removed the context purposefully. I think the way my script is currently setup is better. The context variable ultimately is just a god object, and I didn't want this.
I'll leave the issue open, and if it gains traction and this is a more popular opinion, then I can support it. But if not, I'll leave it as is.

I see your point of not wanting a 'god' object. However, your slog could be much more complex than creating a user account and require several bits of information, that's where having a context with many parts to pass around may come in handy.
I vote for @rouilj

authors: mdave16 pfarikrispy rouilj


text:
Error: when start the Exporter

Here below is my version details:
Redis:
C:\Users>redis-cli -v
redis-cli 3.0.504
Python :
C:\Users>python
Python 3.10.0 (tags/v3.10.0:b494f59, Oct  4 2021, 19:00:18) [MSC v.1929 64 bit (AMD64)] on win32
How I am starting in my windows environment:
Step 1: C:\Users>pip install rq-exporter
Requirement already satisfied: rq-exporter in c:\program files\python310\lib\site-packages (1.9.0)
Requirement already satisfied: redis>=3.5.3 in c:\program files\python310\lib\site-packages (from rq-exporter) (4.0.1)
Requirement already satisfied: rq>=1.8.0 in c:\program files\python310\lib\site-packages (from rq-exporter) (1.10.0)
Requirement already satisfied: prometheus-client>=0.8.0 in c:\program files\python310\lib\site-packages (from rq-exporter) (0.12.0)
Requirement already satisfied: deprecated in c:\program files\python310\lib\site-packages (from redis>=3.5.3->rq-exporter) (1.2.13)
Requirement already satisfied: click>=5.0.0 in c:\program files\python310\lib\site-packages (from rq>=1.8.0->rq-exporter) (8.0.3)
Requirement already satisfied: colorama in c:\program files\python310\lib\site-packages (from click>=5.0.0->rq>=1.8.0->rq-exporter) (0.4.4)
Requirement already satisfied: wrapt<2,>=1.10 in c:\program files\python310\lib\site-packages (from deprecated->redis>=3.5.3->rq-exporter) (1.13.3)
Step 2: Starting the exporter:
C:\Users>rq-exporter
C:\Program Files\Python310\lib\site-packages\redis\connection.py:72: UserWarning: redis-py works best with hiredis. Please consider installing
warnings.warn(msg)
[2021-11-19 15:01:26] [rq_exporter] [ERROR]: Incorrect RQ class location
Traceback (most recent call last):
File "C:\Program Files\Python310\lib\site-packages\rq_exporter_main_.py", line 241, in main
REGISTRY.register(RQCollector(connection, worker_class, queue_class))
File "C:\Program Files\Python310\lib\site-packages\prometheus_client\registry.py", line 26, in register
names = self._get_names(collector)
File "C:\Program Files\Python310\lib\site-packages\prometheus_client\registry.py", line 66, in _get_names
for metric in desc_func():
File "C:\Program Files\Python310\lib\site-packages\rq_exporter\collector.py", line 55, in collect
for worker in get_workers_stats(self.worker_class):
File "C:\Program Files\Python310\lib\site-packages\rq_exporter\utils.py", line 70, in get_workers_stats
workers = worker_class.all()
File "C:\Program Files\Python310\lib\site-packages\rq\worker.py", line 123, in all
worker_keys = get_keys(queue=queue, connection=connection)
File "C:\Program Files\Python310\lib\site-packages\rq\worker_registration.py", line 47, in get_keys
return {as_text(key) for key in redis.smembers(redis_key)}
File "C:\Program Files\Python310\lib\site-packages\redis\commands\core.py", line 1769, in smembers
return self.execute_command('SMEMBERS', name)
File "C:\Program Files\Python310\lib\site-packages\redis\client.py", line 1067, in execute_command
conn = self.connection or pool.get_connection(command_name, **options)
File "C:\Program Files\Python310\lib\site-packages\redis\connection.py", line 1177, in get_connection
connection.connect()
File "C:\Program Files\Python310\lib\site-packages\redis\sentinel.py", line 45, in connect
self.connect_to(self.connection_pool.get_master_address())
File "C:\Program Files\Python310\lib\site-packages\redis\sentinel.py", line 113, in get_master_address
master_address = self.sentinel_manager.discover_master(
File "C:\Program Files\Python310\lib\site-packages\redis\sentinel.py", line 234, in discover_master
masters = sentinel.sentinel_masters()
AttributeError: 'Redis' object has no attribute 'sentinel_masters'
This is the error I am facing. Guide me where I did wrong or any pre-requisite thing I need to incomplete?

Hi,
Sorry about this, it seems that we have introduced a bug in the last version v1.9.0, please use the latest version v1.9.1 that was just published.
Please feel free to re-open this issue if you still have problems after trying the latest version.
Thank you.

@mdawar It's working fine on my windows machine.  Thank you for the response.
But, I am unable to install the RQ-exporter python package in my AWS-EC2 Linux box.
ubuntu@ip-xxx-xx-xx-xxx:/$ pip install rq-exporter==1.9.1
Collecting rq-exporter==1.9.1
Could not find a version that satisfies the requirement rq-exporter==1.9.1 (from versions: )
No matching distribution found for rq-exporter==1.9.1
ubuntu@ip-xxx-xx-xx-xxx:/$ python --version
Python 2.7.17
ubuntu@ip-xxx-xx-xx-xxx:/$ python3 --version
Python 3.6.9
ubuntu@ip-xxx-xx-xx-xxx:/$

@mdawar It's working fine on my windows machine. Thank you for the response.
But, I am unable to install the RQ-exporter python package in my AWS-EC2 Linux box.
ubuntu@ip-xxx-xx-xx-xxx:/$ pip install rq-exporter==1.9.1 Collecting rq-exporter==1.9.1 Could not find a version that satisfies the requirement rq-exporter==1.9.1 (from versions: ) No matching distribution found for rq-exporter==1.9.1
ubuntu@ip-xxx-xx-xx-xxx:/$ python --version Python 2.7.17
ubuntu@ip-xxx-xx-xx-xxx:/$ python3 --version Python 3.6.9
ubuntu@ip-xxx-xx-xx-xxx:/$

This problem could be related to caching.
Can you please try installing using a direct link to the wheel file:
pip install https://files.pythonhosted.org/packages/c1/73/d17738ae5fa7f1197736eee30537411ce5c64a80b118545b4ecdfa231c50/rq_exporter-1.9.1-py3-none-any.whl

If you're wondering, I got the link from the Download Files tab on Pypi.
This is temporary of course, when you try later it should be working fine.

@mdawar
Hi, I am getting a different error this time.
ubuntu@ip-xxx-xx-xx-xxx:/$ pip install https://files.pythonhosted.org/packages/c1/73/d17738ae5fa7f1197736eee30537411ce5c64a80b118545b4ecdfa231c50/rq_exporter-1.9.1-py3-none-any.whl
rq_exporter-1.9.1-py3-none-any.whl is not a supported wheel on this platform.

@mdawar
Hi, I am getting a different error this time.
ubuntu@ip-xxx-xx-xx-xxx:/$ pip install https://files.pythonhosted.org/packages/c1/73/d17738ae5fa7f1197736eee30537411ce5c64a80b118545b4ecdfa231c50/rq_exporter-1.9.1-py3-none-any.whl rq_exporter-1.9.1-py3-none-any.whl is not a supported wheel on this platform.

I have resolved this issue. In my Linux box, the default python version is 2.7 so that's why RQ-exporter is not installed with pip.
so I have changed the python version to 3.7. then it got worked with the previous command "pip install rq-exporter"
Thanks for your patience @mdawar. Really appreciated.

@mdawar Now my exporter is working fine.
But on the collected metrics page, worker metrics and jobs metrics are not showing.  What do I need to get those metrics well?
I have one running queue in my Redis?
Kindly help me. I am new to the Redis things and Prometheus monitoring...

@OjerDev Did you enqueue any jobs?
Please check out the Development section on the README, there's a full example of the exporter with scripts that enqueue jobs and workers that process them, also you can find the full Prometheus and Grafana dashboard setup, take a look at the docker-compose.yml file and the docker-compose directory.
You can start a full local development environment with docker-compose up.

@mdawar  Currently, I am not enqueueing any job.. And i have been told not to use docker developmenmt for this whole setup. so from the start, i am running this package manually.
And another thing, i have one custom queue running in my Redis and i need that queue stats only.  i have only the queue name and nothing more.
To achieve this one i need your guidance please..
Adding that, i have done the setup of prometheus and grafana. its working correctly.

@OjerDev As I remember, you need to enqueue jobs to start seeing the metrics, and in this setup you cannot get the historical queue stats, you only get the current queue metrics only and that's due to how rq provides this data.
It doesn't matter if you're using Docker or not, I was telling you to check the docker-compose setup just to see how things are configured, you can still use all of these configurations without Docker.
Also if you want realtime and accurate stats about the job queue, then this not the right tool for the job, Prometheus scrapes the exporter depending on the configured interval, so anything happening between those scrapes will be missed.

@mdawar Thanks for clarifying my doubt. Getting the current queue metrics is fine for me.  I have checked the custom scripts file in the path and I can see how you are configured and used the custom scripts in the docker-compose.yml file.
Are there any usage instructions for how to use these custom scripts in our exporter?

@mdawar Thanks for clarifying my doubt. Getting the current queue metrics is fine for me. I have checked the custom scripts file in the path and I can see how you are configured and used the custom scripts in the docker-compose.yml file.
Are there any usage instructions for how to use these custom scripts in our exporter?

Actually you don't use any of these scripts.
Let me clarify a couple of things, you don't need to add any extra code to be able to use this exporter, this exporter must be configured to connect to the Redis instance you're using for rq, that's it.
So you just use rq as you would without this exporter, this exporter runs as a separate service to provide the job/queue metrics for Prometheus to collect them, that's the only purpose of this exporter, and then it's up to you how you use these metrics and display them or create alerts or whatever.
I have provided an example Grafana dashboard to display these metrics but it's in no means a complete solution, it's just provided as an example.

authors: OjerDev mdawar

repo: mdawar/rq-exporter


text:
PermissionError when trying to start addon

Restored home assistant from full backup (moved from Raspberry Pi 3 to Raspberry Pi 4). AMR2MQTT fails with the error below. I have tried restarting home assistant multiple times and the addon multiple times.
Traceback (most recent call last):
  File "/amr2mqtt/amr2mqtt.py", line 18, in <module>
    import settings
  File "/amr2mqtt/settings.py", line 19, in <module>
    with open("/data/options.json", encoding="utf-8") as config_options:
PermissionError: [Errno 13] Permission denied: '/data/options.json'

Full log:
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
cont-init: info: running /etc/cont-init.d/00-banner.sh

-----------------------------------------------------------
 Add-on: AMR2MQTT
 AMR2MQTT for Home Assistant
-----------------------------------------------------------
 Add-on version: 2.1.2
 You are running the latest version of this add-on.
 System: Home Assistant OS 11.4  (aarch64 / raspberrypi4-64)
 Home Assistant Core: 2024.1.6
 Home Assistant Supervisor: 2023.12.1
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
cont-init: info: /etc/cont-init.d/00-banner.sh exited 0
cont-init: info: running /etc/cont-init.d/01-log-level.sh
cont-init: info: /etc/cont-init.d/01-log-level.sh exited 0
cont-init: info: running /etc/cont-init.d/02-set-timezone.sh
[17:29:56] INFO: Configuring timezone
cont-init: info: /etc/cont-init.d/02-set-timezone.sh exited 0
cont-init: info: running /etc/cont-init.d/30-config.sh
[17:29:58] INFO: Ensure MQTT broker is reachable at core-mosquitto:1883 (60s timeout)
cont-init: info: /etc/cont-init.d/30-config.sh exited 0
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
services-up: info: copying legacy longrun amr2mqtt (no readiness notification)
services-up: info: copying legacy longrun rtl_tcp (no readiness notification)
s6-rc: info: service legacy-services successfully started
[17:29:58] INFO: Starting rtl_tcp daemon...
Found 1 device(s):
  0:  Realtek, RTL2838UHIDIR, SN: 00000001

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
Tuned to 100000000 Hz.
[17:30:00] INFO: Log level set to INFO
[17:30:00] INFO: Waiting for rtl_tcp...
Allocating 15 zero-copy buffers
[17:30:00] INFO: Handing over control to AMR2MQTT...
Signal caught, exiting!
Signal caught, exiting!
Traceback (most recent call last):
  File "/amr2mqtt/amr2mqtt.py", line 18, in <module>
    import settings
  File "/amr2mqtt/settings.py", line 19, in <module>
    with open("/data/options.json", encoding="utf-8") as config_options:
PermissionError: [Errno 13] Permission denied: '/data/options.json'
[17:30:01] WARNING: Halt add-on with exit code 1
s6-rc: info: service legacy-services: stopping
[17:30:01] INFO: Service restart after closing
[17:30:01] INFO: Service restart after closing
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped
Signal caught, exiting!

Add-on version: 2.1.2
System: Home Assistant OS 11.4  (aarch64 / raspberrypi4-64)
Home Assistant Core: 2024.1.6
Home Assistant Supervisor: 2023.12.1
Appears to be the same issue as #104

I feel as though I too am having this issue but I am a new user and trying to install this for the first time, my log looks identical though


text:
[FR] Support YAML Arrays

Good Evening @mdelobelle
I hope you are well
I noticed that the plugin supports regarding the array only the syntax:
key1: [value1,value2,value3,value4,value5]

But it does not support the syntax:
key1:
  - value1
  - value2
  - value3
  - value4
  - value5

Would it be possible to make the plugin also compatible with this second syntax?
I am waiting to hear from you

Hi it would be possible with a future release of obsidian that will include api for better frontmatter management

Good Afternoon @mdelobelle
I hope you are well
Regarding this excerpt:

Hi it would be possible with a future release of obsidian that will include api for better frontmatter management

Glad to hear, this will allow the entire YAML workflow to be covered.
Have a wonderful day

Hi it would be possible with a future release of obsidian that will include api for better frontmatter management

What sort of frontmatter management would be required for this? Do you know if there is an ongoing feature request for what would be needed?

Hi you can test it in 0.4.11

I close this issue. don't hesitate to open a new one in case you have specific needs regarding the recent yaml improvements

authors: HyperEpsilon mdelobelle yurijserrano

repo: mdelobelle/metadatamenu


text:
Error filtering class org.apache.commons.compress.harmony.pack200.Segment || While launching Jmeter

Hi Team,
I built the 4.8.1 version jar file and moved to lib/ext.  However, I get the below error while launching JMeter.  Any assistance is much appreciated.
2022-06-21 09:41:03,093 ERROR o.a.j.r.ClassFinder: Error filtering class org.apache.commons.compress.harmony.pack200.Segment, it will be ignored
java.lang.IncompatibleClassChangeError: class org.apache.commons.compress.harmony.pack200.Segment can not implement org.objectweb.asm.ClassVisitor, because it is not an interface (org.objectweb.asm.ClassVisitor is in unnamed module of loader org.apache.jmeter.DynamicClassLoader @2aaf7cc2)
at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
at java.lang.ClassLoader.defineClass(ClassLoader.java:1016) ~[?:?]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) ~[?:?]
at java.net.URLClassLoader.defineClass(URLClassLoader.java:555) ~[?:?]
at java.net.URLClassLoader$1.run(URLClassLoader.java:458) ~[?:?]
at java.net.URLClassLoader$1.run(URLClassLoader.java:452) ~[?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at java.net.URLClassLoader.findClass(URLClassLoader.java:451) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:588) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?]
at java.lang.Class.forName0(Native Method) ~[?:?]
at java.lang.Class.forName(Class.java:398) ~[?:?]
at org.apache.jorphan.reflect.ClassFinder$ExtendsClassFilter.isChildOf(ClassFinder.java:100) ~[jorphan.jar:5.4.3]
at org.apache.jorphan.reflect.ClassFinder$ExtendsClassFilter.accept(ClassFinder.java:86) ~[jorphan.jar:5.4.3]
at org.apache.jorphan.reflect.ClassFinder.applyFiltering(ClassFinder.java:404) ~[jorphan.jar:5.4.3]
at org.apache.jorphan.reflect.ClassFinder.lambda$findClassesInOnePath$2(ClassFinder.java:364) ~[jorphan.jar:5.4.3]
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[?:?]
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) ~[?:?]
at java.util.zip.ZipFile$EntrySpliterator.tryAdvance(ZipFile.java:581) ~[?:?]
at java.util.Spliterator.forEachRemaining(Spliterator.java:326) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) ~[?:?]
at org.apache.jorphan.reflect.ClassFinder.findClassesInOnePath(ClassFinder.java:362) ~[jorphan.jar:5.4.3]
at org.apache.jorphan.reflect.ClassFinder.findClasses(ClassFinder.java:326) ~[jorphan.jar:5.4.3]
at org.apache.jorphan.reflect.ClassFinder.findClassesThatExtend(ClassFinder.java:299) ~[jorphan.jar:5.4.3]
at org.apache.jorphan.reflect.ClassFinder.findClassesThatExtend(ClassFinder.java:231) ~[jorphan.jar:5.4.3]
at org.apache.jorphan.reflect.ClassFinder.findClassesThatExtend(ClassFinder.java:213) ~[jorphan.jar:5.4.3]
at org.apache.jorphan.reflect.ClassFinder.findClassesThatExtend(ClassFinder.java:182) ~[jorphan.jar:5.4.3]
at org.apache.jmeter.gui.util.MenuFactory.initializeMenus(MenuFactory.java:128) ~[ApacheJMeter_core.jar:5.4.3]
at org.apache.jmeter.gui.util.MenuFactory.(MenuFactory.java:107) ~[ApacheJMeter_core.jar:5.4.3]
at org.apache.jmeter.control.gui.TestPlanGui.createPopupMenu(TestPlanGui.java:94) ~[ApacheJMeter_core.jar:5.4.3]
at org.apache.jmeter.gui.tree.JMeterTreeNode.createPopupMenu(JMeterTreeNode.java:184) ~[ApacheJMeter_core.jar:5.4.3]
at org.apache.jmeter.gui.action.EditCommand.doAction(EditCommand.java:46) ~[ApacheJMeter_core.jar:5.4.3]
at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:87) ~[ApacheJMeter_core.jar:5.4.3]
at org.apache.jmeter.gui.action.ActionRouter.lambda$actionPerformed$0(ActionRouter.java:69) ~[ApacheJMeter_core.jar:5.4.3]
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) ~[?:?]
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770) ~[?:?]
at java.awt.EventQueue$4.run(EventQueue.java:721) ~[?:?]
at java.awt.EventQueue$4.run(EventQueue.java:715) ~[?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) ~[?:?]
at java.awt.EventQueue.dispatchEvent(EventQueue.java:740) ~[?:?]
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) ~[?:?]
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) ~[?:?]
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117) ~[?:?]
at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190) ~[?:?]
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235) ~[?:?]
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233) ~[?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233) ~[?:?]
at java.awt.Dialog.show(Dialog.java:1070) ~[?:?]
at java.awt.Component.show(Component.java:1716) ~[?:?]
at java.awt.Component.setVisible(Component.java:1663) ~[?:?]
at java.awt.Window.setVisible(Window.java:1031) ~[?:?]
at java.awt.Dialog.setVisible(Dialog.java:1005) ~[?:?]
at org.apache.jmeter.SplashScreen.lambda$showScreen$0(SplashScreen.java:95) ~[ApacheJMeter_core.jar:5.4.3]
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) [?:?]
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770) [?:?]
at java.awt.EventQueue$4.run(EventQueue.java:721) [?:?]
at java.awt.EventQueue$4.run(EventQueue.java:715) [?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) [?:?]
at java.awt.EventQueue.dispatchEvent(EventQueue.java:740) [?:?]
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) [?:?]
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) [?:?]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) [?:?]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) [?:?]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:?]
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) [?:?]

Hi @mderevyankoaqa
I am using JMeter 4.5.3 and JDK 11 versions.  Seems I have to use JMeter 5.5 as per your comment.  Thanks for the response.

@SreeCoder, you are right you need to use the JMeter 5.5 and the latest release of the plugin.
BR,
Mike

authors: SreeCoder mderevyankoaqa


text:
errors when attempting to use uTorrentPostProcess.py

Hi,
I have followed the installation guide and setup for uTorrent to launch the uTorrentPostProcess.py as described.  I have checked the uTorrent logs and the commands are being sent to the script, though nothing is happening - I took the command line from the logs and launched it manually to observe what is happening and it is failing with errors.  Also, no log is being produced in the automator directory.
OS LUbuntu 16.10 (fully patched and up-to-date)
Command line: /home/user/mp4_automator/uTorrentPostProcess.py tv http://open.nyaatorrents.info:6544/announce /home/user/torrents/complete/tv single [HorribleSubs] Akiba's Trip The Animation - 01 [720p].mkv 44FF40C8DC7C75FB36DE77858595C5B4ADB397DC [HorribleSubs] Akiba's Trip The Animation - 01 [720p].mkv
Error output in terminal:
import: unable to open image os': Permission denied @ error/blob.c/OpenBlob/2712. import: unable to open image re': Permission denied @ error/blob.c/OpenBlob/2712.
import: unable to open image sys': Permission denied @ error/blob.c/OpenBlob/2712. import: unable to open image shutil': Permission denied @ error/blob.c/OpenBlob/2712.
from: too many arguments
from: too many arguments
from: too many arguments
import: unable to open image logging': Permission denied @ error/blob.c/OpenBlob/2712. from: too many arguments /home/plex/mp4_automator/uTorrentPostProcess.py: line 11: syntax error near unexpected token os.path.join'
/home/plex/mp4_automator/uTorrentPostProcess.py: line 11: `fileConfig(os.path.join(os.path.dirname(sys.argv[0]), 'logging.ini'), defaults={'logfilename': os.path.join(os.path.dirname(sys.argv[0]), 'info.log').replace("\", "/")})'

Hi Michael,
I have given up on attempting to use any of the post process scripts now after 2 weeks of testing all of the integration - they are mostly hit and miss and will work with a custom script and utilise the manual processing script in conjunction with my custom script. Thanks for your time on this.


text:
Nzbget Processing

I have nzbget processing my files and it is working and sonarr is moving them but when the file moves it shows up in activity as unable to import.
Import failed, path does not exist or is not accessible by Sonarr: /downloads/nzbs/nzbget/completed/sonarr/The.King.of.Queens.S07E22.720p.BluRay.x264-GECKOS
Yes the file was moved and is there. What logs should I be chasing down to find out what is happening.

Might want to check your permissions and make sure whichever user/group that's running Sonarr has permission to access

But the file is converted and moved. Just sits in Sonarr in yellow. Both are running in docker and sonarr can access the path cause it moves it after conversion.

Hm that's weird. Anything in the Sonarr logs?
What docker containers are you using?

I do have my own docket containers that are published if you have any desire to give them a shot. I can confirm they work
Sent from my iPhone

On Oct 12, 2018, at 8:24 AM, sbcrumb notifications@github.com wrote:
My nzbget docker is this one miguel1993/docker-nzbget-mp4_automator:latest
my sonarr is hotio/suitarr:sonarr
I am going to download and get some logs.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Please link me if you have sonarr/radarr with it backed in I would love it try it.

I do have my own docket containers that are published if you have any desire to give them a shot. I can confirm they work
…
Sent from my iPhone
On Oct 12, 2018, at 8:24 AM, sbcrumb @.***> wrote: My nzbget docker is this one miguel1993/docker-nzbget-mp4_automator:latest my sonarr is hotio/suitarr:sonarr I am going to download and get some logs. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

I tried your radar version but after download nothing happens. And the log is empty, nothing more in radarr then it was passed to nzbget to download.
Script is pointing to /scripts/sickbeard_mp4_automator/postRadarr.py but nothing.

I do have my own docket containers that are published if you have any desire to give them a shot. I can confirm they work
…
Sent from my iPhone
On Oct 12, 2018, at 8:24 AM, sbcrumb @.***> wrote: My nzbget docker is this one miguel1993/docker-nzbget-mp4_automator:latest my sonarr is hotio/suitarr:sonarr I am going to download and get some logs. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

OK maybe this will make it easier. So I was able to get it to work with nzbget(which is cool) it is slow on some files larger 4k ones. But I can manually run this command and do a 50gb 4k file in 20 mins or less. This is my goal so I am curious what settings I would apply in my config to produce the same results.
ffmpeg -i "input.mkv" \ -map 0:0 -map 0:1 -map 0:1 \ -c:v copy \ -c:a:0 aac -b:a:0 192k -ac 2 \ -c:a:1 copy \ "output.conv.mkv"
This works and honestly it works well. I am able to direct stream this 4k file on my devices no issues. If I could get your script to do this on nzbget processing like would be good.

https://github.com/mdhiggins/sickbeard_mp4_automator/issues/412
That issue contains my docker-compose file and configuration information
It may be that things aren't configured appropriately to interact with each other but I can assure you that docker configuration works as its my own personal configuration.
I'm not 100% clear exactly where you're getting stuck in the process though.
Radarr/Sonarr initiate the download ok, NZBGet downloads and completes, does the file get passed back and moved to its final destination and just no encoding takes place? Is that an accurate description?
Or is the file not being passed back to Radarr/Sonarr after NZBGet finishes the download?

https://hub.docker.com/r/mdhiggins/

#412
That issue contains my docker-compose file and configuration information
It may be that things aren't configured appropriately to interact with each other but I can assure you that docker configuration works as its my own personal configuration.
I'm not 100% clear exactly where you're getting stuck in the process though.
Radarr/Sonarr initiate the download ok, NZBGet downloads and completes, does the file get passed back and moved to its final destination and just no encoding takes place? Is that an accurate description?
Or is the file not being passed back to Radarr/Sonarr after NZBGet finishes the download?

NZBGET downloads it and it sits after that nothing happens, no encoding is started.
Let me look at that issue see if it helps.

Do you have completed download handling turned on? The docker scripts use that instead of NZBGetPostprocess

Do you have completed download handling turned on? The docker scripts use that instead of NZBGetPostprocess

No complete handling is off just like the document says. I think my issue is that script path and arguments based on the readme versus the issue you posted I am not doing it right. so I think that could be part of it. Anyway you can also help me convert this command to work wiht your autoProcess.ini
ffmpeg -i "input.mkv" \ -map 0:0 -map 0:1 -map 0:1 \ -c:v copy \ -c:a:0 aac -b:a:0 192k -ac 2 \ -c:a:1 copy \ "output.conv.mkv"

I mean that's a standard command that will be generated with iOS audio enabled. You just need to get the script to actually execute. But for the docker images I would just use completed download handling, sync up your paths, and not use NZBGetPostProcess unless you need conversion immediately after downloading before the file goes back to Sonarr/Radarr

I mean that's a standard command that will be generated with iOS audio enabled. You just need to get the script to actually execute. But for the docker images I would just use completed download handling, sync up your paths, and not use NZBGetPostProcess unless you need conversion immediately after downloading before the file goes back to Sonarr/Radarr

Ok that is good to know. I am going to mess withe settings when I get home mentioned in isssue #412 and see if that doesn't solve some of them Ideally I want to run it in sonarr/Radarr, so NZBget can keep downloading. Running it NZBget is a last resort since that works, it just holds up the processing que while each file converts. is all.

I mean that's a standard command that will be generated with iOS audio enabled. You just need to get the script to actually execute. But for the docker images I would just use completed download handling, sync up your paths, and not use NZBGetPostProcess unless you need conversion immediately after downloading before the file goes back to Sonarr/Radarr

Finally got it to work .. However what I can't get is the conversion right.
[MP4] ffmpeg = /usr/bin/ffmpeg ffprobe = /usr/bin/ffprobe threads = 0 output_directory =  copy_to =   move_to =  output_extension = mkv output_format = mkv delete_original = False relocate_moov = True video-codec = h264, h265, hevc video-bitrate =  video-crf =  video-max-width =  video-profile =  h264-max-level =  use-qsv-decoder-with-encoder = False use-hevc-qsv-decoder = False enable_dxva2_gpu_decode = False ios-audio = True ios-first-track-only = False ios-audio-filter =  ios-move-last = False max-audio-channels =  audio-codec = aac,ac3 audio-language = eng audio-default-language = eng  audio-channel-bitrate =  audio-filter =  audio-copy-original = True audio-first-track-of-language = False subtitle-codec = mov_text subtitle-language = eng subtitle-default-language =  subtitle-encoding =  fullpathguess = True convert-mp4 = False tagfile = True tag-language = en download-artwork = Poster download-subs = False embed-subs = True embed-only-internal-subs = False sub-providers = addic7ed,podnapisi,thesubdb,opensubtitles permissions = 0777 post-process = False pix-fmt =  aac_adtstoasc = False postopts =  preopts =
Above is my config file, I would like to find the settings that equal this command I have used at the command line in the past.
ffmpeg -i "input.mkv" \ -map 0:0 -map 0:1 -map 0:1 \ -c:v copy \ -c:a:0 aac -b:a:0 192k -ac 2 \ -c:a:1 copy \ "output.conv.mkv"

The options and command line generated will vary depending on your input material but your current options look like it should give you something relatively close to what you've got there
What command are you getting? and can you post the FFPROBE info for one of your source files that isn't giving you the desired output?

The options and command line generated will vary depending on your input material but your current options look like it should give you something relatively close to what you've got there
What command are you getting? and can you post the FFPROBE info for one of your source files that isn't giving you the desired output?

So if I run the command on a file manually the one I posted the conversion takes 5 to 8 mins on a 5GB file. Below are details of the file I am testing on.
ffprobe version 3.4.4-0ubuntu0.18.04.1 Copyright (c) 2007-2018 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
  configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Input #0, matroska,webm, from 'aa4f867cc3f8483a94e0a0ecda2e77cd.mkv':
  Metadata:
    title           : The Walking Dead 09x02 (The Bridge) - release by messafan for CasStudio
    encoder         : libebml v1.3.0 + libmatroska v1.4.1
    creation_time   : 2018-10-15T07:14:37.000000Z
  Duration: 00:45:06.78, start: 0.000000, bitrate: 14271 kb/s
    Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
    Stream #0:1(eng): Audio: eac3, 48000 Hz, 5.1(side), fltp, 640 kb/s (default)
    Stream #0:2(eng): Subtitle: subrip
    Stream #0:3(eng): Subtitle: subrip
    Metadata:
      title           : SDH

Now if I let it process or if I run it manually it takes around 23 mins.

When yo usay you run the command manually do you mean the exact same command generated by the script or the command you posted above? Because depending on if its transcoding vs remuxing times will be vastly different.
Also if you're using python 2.7 with 32 bit you may see some performance bottlenecks and upgrading to python3 with 64 bit can improve performance significantly

I mean when I run my command manually versus the script or the manual.py.
All my pythons are 64bit.

So your 'my command' isn't dynamic, its static, so you need to post what command manual.py is generated for me to tell you why its taking longer, or at least post the output from manual.py because the commands generated are dynamic based on the input source. If you want a static command that doesn't adapt to the input material then you don't need anything as complicated as this script, you could just make a shell command and blanket process everything.
And are you using python 2 or 3?

Manual processor started.
/usr/bin/python
Audio bitrate was invalid, defaulting to 256 per channel.
64bit Python.
Enter path to file:
#: /mnt/local/downloads/nzbs/nzbget/completed/software/Daddys.Home.2.(2017)/
Processing file /mnt/local/downloads/nzbs/nzbget/completed/software/Daddys.Home.2.(2017)/Daddys.Home.2.2017.2160p.BluRay.x265-WHITERHINO.mkv
Matched movie title as: Daddy's Home 2 2017-11-09
Proceed using guessed identification from filename?
[y/n]: y
Processing Daddy's Home 2
Reading video stream.
Video codec detected: hevc.
Pix Fmt: yuv420p10le.
Profile: Main 10.
Reading audio streams.
Audio detected for stream #1: truehd [eng].
MP4 containers do not support truehd audio, and converting it is inconsistent due to video/audio sync issues. Skipping stream 1 as typically the 2nd audio track is the AC3 core of the truehd stream.
Audio detected for stream #2: ac3 [und].
Creating audio stream 0 from source audio stream 2 [iOS-audio].
Audio track is number 0 setting disposition to default
Creating audio stream 1 from source stream 2.
Audio Track is number 2 setting disposition to none
Reading subtitle streams.
Subtitle detected for stream #3: hdmv_pgs_subtitle [eng].
Subtitle detected for stream #4: hdmv_pgs_subtitle [eng].
No valid subtitle language specified, cannot download subtitles.
{
"preopts": [],
"subtitle": {},
"format": "mp4",
"postopts": [
"-threads",
"0"
],
"video": {
"profile": null,
"map": 0,
"level": null,
"codec": "h264",
"bitrate": 33293.729,
"pix_fmt": null
},
"audio": {
"0": {
"map": 2,
"language": "eng",
"channels": 2,
"codec": "aac",
"disposition": "default",
"bitrate": 256,
"filter": null
},
"1": {
"map": 2,
"language": "eng",
"channels": 6,
"codec": "copy",
"disposition": "none",
"bitrate": 1536,
"filter": null
}
}
}
Starting conversion.
[          ] 1%
Python 3 I believe. Both are installed.
But I think what is taking so long is TrueHD files.

Anything I can do to speed it up. I really just want to add a 2.0 Stereo track for my 4k tv that I don't have a full surround sound on.

You gotta add hevc and h265 to your approved video codecs so that it just copies the video stream and doesn't convert it

Thanks I will try that tomorrow

I did that but still takes an hour on my i7-7700K with 32GB of ram with a 4k 75GB file. is that the normal process time?

Can you post the output like you did before? I'm curious if its still converting the video or not. It shouldn't take an hour

Looks like its copying the video which is the desired behavior.
This one is probably taking a while because your source video has 7 different audio tracks, 6 of which are being converted to new a format, 1 copied

My goal is to get the original copied and then a 2.0 added as the first track. So say the movie with 7.1 5.1 or whatever. I don't need the commentary crap. how do I drop the others and only keep the 2?

ios-first-track-only = True
audio-first-track-of-language = True

ok let me try that now. Thanks for all your help.

authors: mdhiggins sbcrumb


text:
Write stream

Hello,
Thanks for providing this library.
I am trying to 'reverse' the extract operation of the msiinfo example: write a binary stream to a package, like so:
let mut fin = File::open(&args.name).expect("open file");
let mut stream = package.write_stream(&args.name).expect("write stream");
io::copy(&mut fin, &mut stream).expect("insert");

where args.name is a String with a value from the streams list.
This fails on the write_stream in the call to create_stream_with_path of the cfb crate with "Bad file descriptor".
Any advice would be appreciated.

Did you open the file in writable mode?  File::open opens in read-only mode.

Thanks for your response.
I am only reading from the file, so RO should be fine.
But I did not open the package RW, so when I changed msi::open to msi::open_rw, the error went away.
I should have seen that, thanks. But the error message from cfb could be clearer...

Would it make sense to have Package::write_stream fail if the package has been open RO?
I would be willing to prepare a PR and looked if there would be an easy way to check the file permissions of a package, but could not find any, other than adding a rw: bool field to the Package struct.

authors: mdsteele otech-nl

repo: mdsteele/rust-msi

license: mit

license_source: bigquery


text:
Missing depends_on in NeXus objects

Description
When converting a McStasScript object to NeXus, the positions and orientations of instrument components are determined as one or more linked affine transformations relative to the sample position.
The transformation(s) are then added to NX* base class as a NXtransformations group called 'transforms'.
Compared to the description of depends_on in the NeXus Design documentation, the eniius implementation is missing a depends_on value in the base class, which in this case should be 'transforms/{outermost-transformation-name}'.
Quoting from the linked source:

For example, consider an eulerian cradle as used on a four-circle diffractometer. Such a cradle has a dependency chain of phi:chi:rotation_angle. Then the depends_on field in NXsample would have the value phi.

With a useful diagram:
    transforms:NXtransformations
      rotation_angle
        @transformation_type=rotation
        @vector=0,1,0
        @offset=0,0,0
        @depends_on=.
      chi
        @transformation_type=rotation
        @vector=0,0,1
        @offset=0,0,0
        @depends_on=rotation_angle
      phi
        @transformation_type=rotation
        @vector=0,1,0
        @offset=0,0,0
        @depends_on=chi
    depends_on
      transforms/phi

Why this is a problem
Without the depends_on field, components represented as NX* base class objects can not be positioned correctly in the instrument without extrernal knowledge. Therefore, external libraries like nexus-constructor can not be used with eniius output.

Commit https://github.com/g5t/eniius/commit/9e526a165bc3b2ded5f4d4eb69af5572814bb2bc, part of #10, adds relative depends_on children to NX* objects during translation from McStas component-form. This (seems to) conform to the NeXus standard, but is not understood by, e.g., nexus-constructor.

The merged #10 includes optional absolute depends_on resolution; so this issue has been resolved.

repo: mducle/eniius


text:
Explicitly remove all launched containers from the default Docker bridge network

By default, Docker connects all launched containers to the default Docker bridge network. This is bad for us, since although the container can't use Docker DNS to resolve the IPs of other containers, it can still communicate with them directly by IP, which it could just enumerate.
If you override this by setting NetworkMode to none, then the container can't connect to anything ever. The solution is to explicitly disconnect every container from the default Docker bridge network (by name — it's just called "bridge") on launching.
This should be pretty simple; we just need to add an extra step in the container launch Promise chain to disconnect it.

We need this on the branch backupPlan too ideally. The default bridge (docker0) lets all containers have internet by default. Otherwise they're isolated.

repo: me-box/databox


text:
Docs out of date

Docs need updating for 0.4.0 specifically:

timeseries blob client needs documenting

requirements of value field in time series write needs documenting

need to document that time series write json supports at most 1 tag field with a string

need to document where to get reqEndpoint from (both as a driver and for datasources in apps)

need to document that process.env["DATASOURCE_XXX"] returns the meta data for that datasource required to connect to the store and make a client

and perhaps a hint to where to get the password from for the dashboard in case someone is not terminal friendly.

Had a go at updating the docs here https://github.com/me-box/lib-node-databox/tree/update-docs feedback welcome.

Updated in https://github.com/me-box/lib-node-databox/pull/40

authors: Toshbrown haddadi jcolley

repo: me-box/lib-node-databox


text:
Reboot if WiFi was run before

I was thinking something like this, but it turns out there's a bigger problem, and reboots into WiFi mode aren't working on PicoW at all (including the usual case of switching from other modes).
Traceback (most recent call last):
  File "code.py", line 371, in <module>
  File "code.py", line 189, in run_wifi
  File "/lib/wificom/wifi_picow.py", line 35, in connect
ConnectionError: Unknown failure 205

Worked for @mechawrench , and working for me now. Intermittent fault? But this is still an improvement so we decided to merge it.

repo: mechawrench/wificom-lib


text:
Controller Movement Visualization: Test with Whack-A-Mole dashboard

Clone the repository from here:
https://github.com/med-material/Whack_A_Mole_RShiny

I am missing the 'credentials.csv' file, I cannot launch the program.

@aldsanms just comment out the code that asks for that, it's for the database connection, the rest of the dashboard will still work.

authors: aldsanms bastianilso


text:
7.3.1 maven 依赖为什么es 版本是7.0.0？

7.3.1 maven 依赖为什么es 版本是7.0.0？ 插件打包后 es 报错！

老哥，我知道你很难过，但是 不要下源码用Maven 编译，拿他编译好的。版本 就正确。

老哥，我知道你很难过，但是 不要下源码用Maven 编译，拿他编译好的。版本 就正确。

repo: medcl/elasticsearch-analysis-ik


text:
Disallow invalid literals

Hey there, here's another spec adherence proposal.
It seems that the parts of the template which are supposed to be copied over (literals) are not allowed to have a character in a specific set of disallowed characters.
This change throws an error during the parse if it finds one of these characters in a literal string.
From https://tools.ietf.org/html/rfc6570#section-2.1 :
     literals      =  %x21 / %x23-24 / %x26 / %x28-3B / %x3D / %x3F-5B
                   /  %x5D / %x5F / %x61-7A / %x7E / ucschar / iprivate
                   /  pct-encoded
                        ; any Unicode character except: CTL, SP,
                        ;  DQUOTE, "'", "%" (aside from pct-encoded),
                        ;  "<", ">", "\", "^", "`", "{", "|", "}"

And later, in the Appendix :
   Scan the template and copy literals to the result string (as in
   Section 3.1) until an expression is indicated by a "{", an error is
   indicated by the presence of a non-literals character other than "{",
   or the template ends.  When it ends, return the result string and its
   current error or non-error state.

looks good, thank you!

Perhaps this is out of scope (and I'm not a URI templates expert), but I'm encountering OData-related problems with this change. OData queries make heavy use of quotes, but quotes are invalid characters in  template literals.
Say I have the following template:
http://services.odata.org/Northwind/Northwind.svc/Customers?$filter=substringof('{+str}', CompanyName)
I would expect an expand call to produce:
http://services.odata.org/Northwind/Northwind.svc/Customers?$filter=substringof('Alfreds', CompanyName)
or
http://services.odata.org/Northwind/Northwind.svc/Customers?$filter=substringof('Alfreds', CompanyName) eq true

The (admittedly, not particularly well done) specification seems clear in this case. That said, I have no idea why this rule exists in the first place. I'm open to suggestions. Unless there's a good reason to throw an error, I'd rather have this rule relaxed.
@keanu-delgado what's your opinion?

(I'm currently on vacation so response time may vary…)

Hm, single quotes ' are allowed in uris (from RFC 3986), so I think it would be good to let those slide as literals.
However, the other characters in that set indicate an invalid uri by all standards, so I would prefer to continue error behavior for those.
@craxal Would allowing single quotes fix the issues with OData? From what I can tell, OData does not use any other type of quote or invalid character - so maybe we can just remove that one?

As far as I know, the single quotes were the only issue characters I encountered. All other characters are agreeably invalid.

allowing ' sounds good to me. @keanu-delgado @craxal is either of you up for a PR?

@craxal thanks to @keanu-delgado the issue has been resolved as of v1.18.6

Excellent! Thanks for the quick response time.

authors: craxal keanu-delgado rodneyrehm


text:
$ stylelint --fix で postcss-sorting の警告がでる

$ stylelint 'src/**/*.scss' --fix
postcss-sorting: order: Every item in the array must be an object with a "type" property, or one of keywords: custom-properties, dollar-variables, declarations, rules, at-rules.

使えるのは下記 keyword らしい…

custom-properties
dollar-variables
declarations
rules
at-rules

https://github.com/mediba-system/stylelint-config/blob/a1918d956016c3a7ceef2fec7766b595ef865337/index.js#L107-L117

fixed https://github.com/mediba-system/stylelint-config/commit/0ea238ca55539b38bd997a03b14604d75b390266

repo: mediba-system/stylelint-config


text:
Fix Codecy Checks with Pylint Disables

https://pylint.pycqa.org/en/latest/user_guide/message-control.html
Using fine grained pylint to disable issues with dynamically created attributes

Sleep changes codecy wanted might be a bit weirder, should allow better understanding of typing but might require the pylint turned off.

Fine grain disable didn't seem to work.

Nah, we can just disable the bits. It doesn't say it's corrected. But it didn't refind the error. So it's sort of lag or something.

I can't tell if codecy managed to disable these things with the pylint calls. Seems like it should have but I don't see them removed as issues.

@Sophist-UK This would need re-approval, then I could merge those changes upstream. It also helps keeping versions like services branch nicely together.

@Sophist-UK I updated the blindalias pr to merge.


text:
LDD-1321 uses different API commands

when metype is equal to 'LDD', a set of commands is added to support LDD queries.
I tried using it with my LDD but the commands aren't compatible. When I use my device with the current command, I get an error that the device return 'unknown parameter'. I tried fixing it locally by changing the command according to the table specified in the following file:
LDD-1321 Communication Protocol 5294A.pdf
I suggest creating another metype called "LDD-1321" and create a separate command table for it. I can also perform the fix if you will give me a green light

Please go ahead. The original contributor and myself are not actively using / developing the driver anymore so we are very open for contributions.

Since the changes have been merged I consider this issue to be resolved.
Feel free to reopen it if you disagree.

authors: dstr951 samirceka timhellwig

repo: meerstetter/pyMeCom


text:
ERROR  Missing "./dist/style.css" specifier in "vue3-lottie" package  - Nuxt 3

Getting the following error when running the dev server or building a nuxt 3 app
ERROR  Missing "./dist/style.css" specifier in "vue3-lottie" package

This is completely blocking as it prevent building outright

If you are on v3 of the package you can remove that import line.
https://vue3-lottie.vercel.app/introduction/v3

Yes apologies, I did't remove it from all locations! Thanks!

authors: MarcusAngel megasanjay


text:
Lorem Ipsum

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

Issue comment


text:
vfdvfd

vfdvdfvdf

commetn on issue


text:
Configurable drop path rate in contrastive models

Make drop_path_rate configurable in ContrastiveEncoder and ContrastiveModule. This value was previously hard-coded to be 0.2 for all models (ConvNeXt and ResNet), while timm's default is 0.0.

Rebased on main (including tokenizing stem).

repo: mehta-lab/VisCy


text:
Show "open" notifications

I'm so appreciative this exists!
As with probably other Github users, I don't really organize my notifications by whether they're unread or not. If I'm done with a notification, I mark it as "done".
As far as I can there's no way in this extension to search for "is:open" notifications. It would be awesome to have:

A way to show "is:open"
A way to show "is:done"
A way to mark a notification as open/done

Thanks so much

A way to show "is:open"

This could be done by implementing a filter that checks if the notification is a PR/issue and then checks if it is still open.
The downside

the information about notifications retrieved from Github does not contain the information about the status of a PR/issue, you would have to make an additional call for each notification, which would cost time
I would love to have color coded notifications

green: open
red: closed
purple: merged

Image example from another extension

Related threads

Get notification list via GraphQL API - 13/Mar/19
Can't get release neither comment using their id via GraphQL API - 7/Oct/19
Notifications GraphQL API - 19/Mar/22

A way to show "is:done"
A way to mark a notification as open/done

GitHub does not provide this functionality through its API
Related thread

Expose notification mark as done functionality through API #15669

Conclusion

Implementing your ideas depends more on GitHub's API.

Filtering notifications for issues/PR and checking if they are still open is worth a try, leaving the ticket open for now.
it could be added as an additional flag, allowing the user to decide if they prefer speed or more details

Thanks so much for the considered response! With the is:open filtering I meant that the notification has not been marked done (not that the associated issue or pr is still open, if applicable).
It's wild that they don't provide access to this in the api but do to lots of other details about notifications.
Anyway, the color coding is still a lovely idea and I so appreciate your work on this

When interacting with the GitHub WebUI, one can see the API calls being made from the Inspect page on the  Querio tab (ref: querio.app). The call to mark notifications as Done is possible, but it does require an additional authenticity_token.

I'm closing the ticket for now, as GitHub does not readily allow the required API calls and no one knows when these undocumented API calls will be made available to the public without using an authenticity_token. Also generating these authenticity_token doesnt seem to be possible, I couldnt find a way to generate them.

as for the other idea:

Filtering notifications for issues/PR and checking if they are still open is worth a try, leaving the ticket open for now.

I tested it, but I quickly got rate limitations when I made many calls with in short succession to check the state of each issue/pr. A GraphQL API for GitHub notifications would be great.

Re:

A way to mark a notification as open/done

GitHub does not provide this functionality through its API

Is that not what this is:
https://docs.github.com/en/rest/activity/notifications?apiVersion=2022-11-28#mark-a-thread-as-done
?

Re:

A way to mark a notification as open/done

GitHub does not provide this functionality through its API

Is that not what this is: https://docs.github.com/en/rest/activity/notifications?apiVersion=2022-11-28#mark-a-thread-as-done ?

This appears to be a recent addition to the REST API. According to the Wayback machine, the
feature to Mark a thread as done was introduced somewhere between June 10, 2023^1 and February
5, 2024^2.
Did you discover the changelog for such updates for the REST API. Although there is a readily
accessible list of updates for the new additions to the GraphQLAPI[^3], I was under the impression
that no such resource existed for the REST API.

I am considering adding a hotkey to mark notifications as DONE, which would equivalent to marking
a notification in your notification inbox on GitHub as DONE. However, the challenge lies in the
fact that the Terminal would continue to display the same list, as the data does not reflect whether
a notification is DONE or not.
For instance, the notification I received from your comment carries the following information. Even
after marking it as DONE, the returned data remains unchanged. Therefore, pressing the hotkey
wouldn't convey any noticeable changes to the Terminal user. They would only become aware of the
change upon logging into their GitHub account and checking their inbox.
{
"id": "6463980195",
"unread": false,
"reason": "state_change",
"updated_at": "2024-03-02T23:54:38Z",
"last_read_at": null,
"subject": {
	"title": "Show \"open\" notifications",
	"url": "https://api.github.com/repos/meiji163/gh-notify/issues/47",
	"latest_comment_url": "https://api.github.com/repos/meiji163/gh-notify/issues/comments/1974945563",
	"type": "Issue"
},
...

I would prefer to wait until Github introduces a new field for conveying the information, with a
done: true/false status.
[^3]: GraphQL API Changelog - GitHub Docs

Thanks for the detailed reply. Yeah, I see your point about not wanting to implement this if we can't distinguish the "done" items. It's quite frustrating that there's no property in the notification's JSON indicating that it was marked done (or saved for that matter) even after adding the "mark as done" API. Not sure why the API doesn't let us pass query=is:done like the web app does.
Side note: I just realized this extension was able to fetch my notifications even though I hadn't granted the notifications scope to my Personal Access Token. Any idea how that worked...?

Why do we need to distinguish is:done entries if they are DELETED with the done action? so they are no appear in the notifications feed. #91 works great for me. See --method DELETE https://github.com/meiji163/gh-notify/pull/91/files#diff-d286f9120037bbf01847f2c1283501f4a44c6943ee65ed1783edf64088f2b584R553.

it seems the status is:read can be distinguished by checking 2 fields in conjunction unread == false && last_read_at == NULL whereas is:done have last_read_at != NULL, like in:
// this is read, but not done
  {
    "id": "11615952375",
    "unread": false,
    "reason": "review_requested",
    "updated_at": "2024-07-23T10:46:01Z",
    "last_read_at": "2024-07-23T13:38:55Z",
    ...
  }

this is done
// this is read, but not done
  {
    "id": "11615952375",
    "unread": false,
    "reason": "review_requested",
    "updated_at": "2024-07-23T10:46:01Z",
    "last_read_at": NULL,
    ...
  }

btw, for git notify -a I think it needs a page limit (not to load everything at once) cuz every reload is painful.

it seems the status is:read can be distinguished by checking 2 fields in conjunction unread == false && last_read_at != NULL whereas is:done have last_read_at == NULL

I'm not seeing the same. I have many notifications that have been marked as "Done" in the web UI which still appear in the API as "unread": false with a non-null last_read_at.
The only time a notification would appear "unread": false with a null last_read_at is if you mark it as done without ever having opened that object. Even if you get a new notification for the same issue/PR/etc that you had previously opened, but you do not open it again, it will still have a non-null last_read_at (both before and after marking it as done without opening it).
So unfortunately, that check won't work for correctly distinguishing "done" notifications.

@rmacklin you are right. I confused that a bit.

I completely agree with the arguments. I wanted to share that I am now using a version from my PR with CTRL+x for done-ning the issues instead of using the main GH UI and its still super convenient even without the ability to list read but undone items.

authors: LangLangBart ajdubovoy rmacklin sitano

license: Unlicense


text:
Add bors to the repository

Adding bors would ease the job of the reviewers.

Sorry, I forgot to update the good-first-issues and I'll close this one as bors is no more freely available and the new GitHub Merge queues looks promising.

repo: meilisearch/heed


text:
facetsDistribution is missing in SearchResult model

facetsDistribution is missing in this file.

[ ] add in the code
[ ] add search test

This is fixed in the PR #54.

authors: curquiza ppamorim

repo: meilisearch/meilisearch-swift


text:
Create custom error types for TaskType, TaskStatus, and IndexUid

Pull Request
What does this PR do?
Fixes #2443 by making the following changes:

Add custom TaskTypeError for TaskType::from_str
Add custom TaskStatusError for TaskStatus::from_str
Add custom IndexUidFormatError for IndexUid::from_str
Implement From<IndexUidFormatError> for IndexResolverError to convert between errors
Replace all usages of IndexUid::new with IndexUid::from_str

NOTE I am relatively new to Rust and I struggled a lot with this final part. This PR ended up with a messy error conversion which does not seem ideal. Please let me know if you have any suggestions for how to make this better and I'll be happy to make any updates!

PR checklist
Please check if your PR fulfills the following requirements:

[x] Does this PR fix an existing issue?
[x] Have you read the contributing guidelines?
[x] Have you made sure that the title is accurate and descriptive of the changes?

Thank you so much for contributing to Meilisearch!

@Kerollmops — just made all the updates you suggested! Let me know what you think!

repo: meilisearch/meilisearch


text:
Be able to sort facet values by alpha or count

This PR introduces a new sortFacetValuesBy settings parameter to expose the facet distribution in either count or lexicographic/alpha order.
Mini Spec of the sortFacetValuesBy Settings Parameter
This parameter can be set in the settings to change how the engine returns the facet values. There are two possible values to this parameter.
Please note that the current behavior changed a bit, and keys are returned in lexicographic order instead of undefined order. The previous order wasn't defined as we were using a HashMap, which returns entries in hash order (undefined), and we are now using an IndexMap, which returns them in insertion order (the order we actually want).
Also, note that there are performance issues when the dataset is enormous. Here are the timings of the engine running on my Macbook Pro M1 (16Go of RAM). The dataset is 40 million songs file, and the database size is about 50GiB. Even if you think 800ms is not that high, don't forget that the API is public, and anybody can ask for multiple facets in a single query.

Search Kind
Get Facets
Max Values per Facet
Time for Alpha
Time for Count
Count but with #3788

Placeholder
genres
default (100)
7ms
187ms
122ms

Placeholder
genres
20
6ms
124ms
75ms

Placeholder
album
default (100)
9ms
808ms
677ms

Placeholder
album
20
8ms
579ms
446ms

Placeholder
artist
default (100)
9ms
462ms
344ms

Placeholder
artist
20
9ms
341ms
246ms

Order Values in Alphanumeric Order
This is the default one. Values will be returned by lexicographic order, ascending from A to Z.
# First, update the settings
curl 'localhost:7700/indexes/movies/settings/facetting' \
  -H "Content-Type: application/json"  \
  -d '{ "sortFacetValuesBy": { "*": "alpha" } }'

# Then, ask for the facet distribution
curl 'localhost:7700/indexes/movies/search?facets=genres'

{
    "hits": [
        /* list of results */
    ],
    "query": "",
    "processingTimeMs": 0,
    "limit": 20,
    "offset": 0,
    "estimatedTotalHits": 1000,
    "facetDistribution": {
        "genres": {
            "Action": 3215,
            "Adventure": 1972,
            "Animation": 1577,
            "Comedy": 5883,
            "Crime": 1808,
            // ...
        }
    },
    "facetStats": {}
}

Order Values in Count Order
Facet values are sorted by decreasing count. The count is the number of records containing this facet value in the query results.
# First, update the settings
curl 'localhost:7700/indexes/movies/settings/facetting' \
  -H "Content-Type: application/json"  \
  -d '{ "sortFacetValuesBy": { "*": "count" } }'

# Then, ask for the facet distribution
curl 'localhost:7700/indexes/movies/search?facets=genres'

{
    "hits": [
        /* list of results */
    ],
    "query": "",
    "processingTimeMs": 0,
    "limit": 20,
    "offset": 0,
    "estimatedTotalHits": 1000,
    "facetDistribution": {
        "genres": {
            "Drama": 7337,
            "Comedy": 5883,
            "Action": 3215,
            "Thriller": 3189,
            "Romance": 2507,
            // ...
        }
    },
    "facetStats": {}
}

Todo List

[x] Add tests
[x] Send analytics when a user change the sortFacetValuesBy
[x] Create a prototype and announce it in https://github.com/meilisearch/product/discussions/519.

bors cancel

authors: Kerollmops dureuill


text:
[1.12.2]TPS and FPS lagspike upon multiblock completion

Upon completing any multiblock it causes far more tps and fps lag than it should.
Forge: 14.23.5.2811
Mekanism: 1.12.2-9.6.3.355(and many older versions had the same issue)

FPS is likely to do with the particles, as for tps lag, profiling evidence would be appreciated

I've experienced this as well, maybe we could add a config to disable particle effect just to see if it is the cause. I doubt it is the only reason but would need to look at the code.

authors: CraftalotReloaded DarkGuardsman thiakil

repo: mekanism-mod/Mekanism


text:
ViewPropTypes will be removed from React native

ERROR  ViewPropTypes will be removed from React Native, along with all other PropTypes. We recommend
that you migrate away from PropTypes and switch to a type system like TypeScript. If you need to continue using ViewPropTypes, migrate to the 'deprecated-react-native-prop-types' package.
Is there any solution to this I'm using typescript in react native expo
Thanks

1- install "deprecated-react-native-prop-types" with npm
"npm install deprecated-react-native-prop-types"
2-Then open react-native folder inside node_modules , There you will have index.js
3-Below comment note "// Deprecated Prop Types" you will see functions like this :
// Deprecated Prop Types
get ColorPropType(): $FlowFixMe {
invariant(
false,
"ColorPropType has been removed from React Native. Migrate to " +
"ColorPropType exported from 'deprecated-react-native-prop-types'.",
);
},
get EdgeInsetsPropType(): $FlowFixMe {
invariant(
false,
"EdgeInsetsPropType has been removed from React Native. Migrate to " +
"EdgeInsetsPropType exported from 'deprecated-react-native-prop-
types'.",
);
},
get PointPropType(): $FlowFixMe {
invariant(
false,
"PointPropType has been removed from React Native. Migrate to " +
"PointPropType exported from 'deprecated-react-native-prop-types'.",
);
},
get ViewPropTypes(): $FlowFixMe {
invariant(
false,
"ViewPropTypes has been removed from React Native. Migrate to " +
"ViewPropTypes exported from 'deprecated-react-native-prop-types'.",
);
},
Replace it with code below :
get ColorPropType(): $FlowFixMe {
return require("deprecated-react-native-prop-types").ColorPropType
},
get EdgeInsetsPropType(): $FlowFixMe {
return require("deprecated-react-native-prop-types").EdgeInsetsPropType
},
get PointPropType(): $FlowFixMe {
return require("deprecated-react-native-prop-types").PointPropType
},
get ViewPropTypes(): $FlowFixMe {
return require("deprecated-react-native-prop-types").ViewPropTypes
},
Then save file and rebuild your project and run It may help

repo: meliorence/react-native-snap-carousel


text:
Create new "See Meltano in action!" video for homepage

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/1861
Originally created by @DouweM on 2020-03-13 18:52:09

View 5 previous comments from the original issue on GitLab

repo: meltano/meltano


text:
Support padding packets

This PR adds support for generation of padding packets to RTP Plugin. This change is required to be able to publish a version of Membrane RTC Engine with automatic variant switching, as it needs to be able to probe the connection using padding packets.
Out of necessity, this PR also fixes Membrane.RTP.Utils.align/2 function - it was incorrectly calculating the size of required padding as a size % align_to instead of align_to - (size % align_to)

The another approach is to add has_padding flag to the RTP.Header struct and rtp metadata map and output RTP packets with padding as they are. Outputting RTP packets with padding, we could easily create padding packets with has_padding flag set to true and feed them into the RTP plugin. This way RTP plugin would stop being responsible for handling paddings and padding packets.

I was thinking about that, but I bumped straight into the align_to option. Because of the way this option works:

make sure that the byte size of the entire packet (including the header) modulo align_to == 0
modify the header to add the padding flag
add the necessary amount of padding
I don't think it can be applied anywhere else without doing something doggy.

But... maybe we could just kick align_to to another function 🤔 We would end up with the following
Packet.serialize(Packet.t())
Packet.align_to(<<_version::2, 0::1, _rest::bits>> = serialized_packet, alignment)

OutboundTrackingSerializer looses align_to option
Packet.align_to is called manually wherever this is necessary
has_padding would be indicated in Packet.Header.t(). I'm still on the fence if it should be a boolean(), or maybe non_neg_integer() - size of the padding. I'm not very fond of the idea of creating even the padding structure outside of RTP Plugin as it would split the responsibility across multiple places, so I think I would gravitate towards the latter.

Assuming we have to keep align_to, separating it from serialize sounds good to me. I would just call it before serialize.
When it comes to the has_padding, I would prefer option where user is responsible for creating padding packets but I don't insist.
Those ideas need @bblaszkow06 approval before implementing as they modify API significantly.

Assuming we have to keep align_to, separating it from serialize sounds good to me. I would just call it before serialize.

Given that align_to has to modify the header, I wouldn't. Unless you add is_padding to RTP.Packet.Header struct, in which case, I agree.

I entirely deleted align_to option as:

it wasn't even exported in SessionBin options. The only way to use it was when someone was spawning PayloaderBin on its own - this means no one was using this option
we don't even know how this option should work. IMO it should align only payload as only payload is encrypted
it makes code more complicated

IMO we should bring it back once we need it

I haven't written tests yet but I think that the approach where we send an event to generate padding packet is very inconvenient.

there is code duplication as we have to handle the event and casual buffers almost in the same way
it's hard to determine where the correctness of the new event should be checked - ignore event if size is > 255

Therefore, I don't see any benefits from using an event for generating padding packet. Creating payload for padding packet can be done in one line <<0::size(zeros_no)-unit(8), zeros_no>> and if there is really someone who wants to generate padding packets, it won't care wheater it has to send an event or a buffer.
In case of SFU, sending an event is worse as in general we operate on RTP packets (munging) but when we want to send a padding packet we have to create event, use event action, have different specs etc.

I also don't like the event option. The level of duplication is severe and the fields of the event feel like a partial typespec of RTP Buffer's metadata. If we kicked the align_to option, I would consider adding has_padding? to RTP metadata and just sending the Buffer with appropriate metadata and only padding in the payload from the SFU.
We could also add the create_padding function in Membrane.RTP to assist in the creation of these buffers 🤔


text:
correct indent

Just correct some bad indent, nothing changed.

Ah... I did that on purpose because the extra indentation made the lines too long.. I need to do the actual right thing and reorg that code into functions.
Thanks for the reminder though. I'll leave this open until it gets cleaned up either way.

:ok_hand:

authors: dormando sidgwick

repo: memcached/memcached


text:
Concave shapes?

I am trying to draw a poly star. I am always seeing a rectangle shape. I turned on  glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); and see that on top of the star appears a quad. Am I doing anything wrong with the API or it doesn't support concave shapes?
Here is how I do it:
      	nvgTranslate(vg, (float)(WIN_W >> 1), (float)(WIN_H >> 1));
	nvgBeginPath(vg);

	nvgMoveTo(vg,start_x,start_y);
	for (i = 0; i <= num_points; i++)
	{
		new_outer_RAD = (i + 1) * RAD_distance;
		half_new_outer_RAD = new_outer_RAD - (RAD_distance / 2.0f);
		auto innerPX = start_x + (glm::cos(half_new_outer_RAD - RAD_half_PI) * inner_radius);
		auto innerPY = start_y + (glm::sin(half_new_outer_RAD - RAD_half_PI) * inner_radius);
		nvgLineTo(vg, innerPX, innerPY);
	 	auto outerPX = start_x + (glm::cos(new_outer_RAD - RAD_half_PI) * outer_radius);
	 	auto outerPY = start_y + (glm::sin(new_outer_RAD - RAD_half_PI) * outer_radius);
	 	nvgLineTo(vg, outerPX, outerPY);
	}
	nvgClosePath(vg);
	nvgFillColor(vg, nvgRGBAf(1.0f,0.0f,0.0f,1.0f));
	nvgFill(vg);
	nvgEndFrame(vg);
	nvgRestore(vg);

NanoVG needs stencil buffer to draw the shapes. You need to initialize the opengl context with stencil buffer, and clear it every frame too.

Hm.. I thought nano does the stencil management for me.  Convex shapes
rendering is working good so far and didn't do anything with stencil
buffer.
On Mar 6, 2018 20:20, "Mikko Mononen" notifications@github.com wrote:

NanoVG needs stencil buffer to draw the shapes. You need to initialize the
opengl context with stencil buffer, and clear it every frame too.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/memononen/nanovg/issues/461#issuecomment-370877544,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAawgJulM2_hMI2pmjkRyQ5lTq0A1V75ks5tbtNSgaJpZM4SfEfp
.

Stencil buffer is needed for holes and concave shapes. You'll need to initialize the OpenGL with proper flags to create stencil buffer. The example shows how to do it with GLFW, if you're using other library then check its' documentation.

Doesn't help. Rendering into offscreen FBO with stencil test on, stencil render buffer attached. Can you see that quad around the star? I am not sure it is supposed to be there. And I don't draw it.

Stencil is used to mask the area to fill, and the quad does the filling. It is problem with stencil setup.
Sent from my iPhone

On 7 Mar 2018, at 10.30, Michael IV notifications@github.com wrote:
Doesn't help. Rendering into offscreen FBO with stencil test on, stencil render buffer attached. Can you see that quad around the star? I am not sure it is supposed to be there. And I don't draw it.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

You were right. I didn't really enable stencil buffer. Works fine. Thanks!

@sasmaster Can you give a minimum working example of how you did it?

authors: JochenJankowai memononen sasmaster

repo: memononen/nanovg

license: Zlib


text:
Making some minor changes.

Hello there!, I hope you have a nice day. I just wanted to contribute in your project and I'm hoping that you accept this pull request.
Changes:

Rewriting readMe.md
Refactoring in index.html
Creating folders for image/s and js files
Fixing indentations

Note: I'll try to contribute more in the near future. Kudos!

Hello, @MiDo-kun. Thank you for contributing!

authors: MiDo-kun menchb

repo: menchb/aq-test


text:
Overview of identity and inventory: split&change

ChangeLog:none
Signed-off-by: Peter Grzybowski peter@northern.tech

This: https://github.com/mendersoftware/mender-docs/pull/1006/files#diff-0a05c886e91ac26894377342c7e88f54
has the wrong name (202). I suggest skipping the renaming here, and simply rebasing on top of #1004
So that the section migration, and the rewriting are two separate things.

yes I mentioned that, 202 was only a place holder.

I rebased on top of master and moved into the target 02.Overview.

FYI, a rendered version if this PR is available here,
http://13.53.78.221:8888/foo/overview/identity
http://13.53.78.221:8888/foo/overview/inventory

FYI, a rendered version if this PR is available here,
http://13.53.78.221:8888/foo/overview/identity
http://13.53.78.221:8888/foo/overview/inventory

sweet!

Looks good, please cleanup git history before merge

authors: merlin-northern mirzak

repo: mendersoftware/mender-docs


text:
Safari private browser

See here:
https://mxforum.mendix.com/questions/8913/Login-form-widget--Safari-private-browsing-mode

Appears to be a problem in the Mendix core occurring on Safari running incognito. Browser shows the default Mendix login page instead of whatever page the user set. All attempts to login return u to that login page.
Will log a ticket for it.

Confirmed this is an issue as well and reported to Mx. Occurs when utilizing Safari browser in incognito mode - issue is immediately resolved when incognito is turned off and browser refreshed.

Related to support ticket 466665, will analyse and see if it can be fixed

This is tested in 6.10.0 and is no longer an issue. Related I added a fix in 3.5.1

authors: JelteMX RoelandSalij edwinmp rickyv3

repo: mendix/LoginForm


text:
7.18.0 retraction

Text as supplied by Nilco

@reinouts Merged manually via email, thanks for sending anyway :)

authors: Adam-Dupaski reinouts

repo: mendix/docs


text:
PHP Notice "Undefined index: barcode" en Payment update() para cancelar pago ticket.

Hice la prueba con varios pagos de pago facil pendientes y tira ese aviso. Se cancela correctamente igual.

Me paso lo mismo!!
Al parecer esperan como status 'canceled' no 'cancelled'
Probe con eso y funcionó.

authors: Agusfn CanuMarcel

repo: mercadopago/dx-php


text:
(Fixed) - Congrats Animation

What have changed?
Unsubscribing one tap vc from animation button notifications when navigation to security code screen in order to avoid multiple animations occurring at the same time.
How to test:
Run the checkout and switch between different payment methods that include a credit card with cvv required.
Prints for layout changes:

Before
After

Extras:

Unit Tests Passed Successfully

lets add this to the changelog

authors: jlainog-meli rgrajalesmeli

repo: mercadopago/px-ios


text:
Add tests to Ryc, move logic to ViewModel

Fix #905 #906
Cambios introducidos :

Se pasa toda la lógica a CheckoutViewModel
Se testean todos los casos de Revisa Y Confirma
Se resuelven bugs en la cantidad de celdas

Revisión

[ ] Todos los textos se encuentran localizables
[ ] No se introducen warnings al proyecto
[ ] Se incluyen cambios de UX ? se verificó que se vean bien tanto en iPhone SE y S6 : NA
[ ] No se agregan logs / prints innecesarios
[ ] No se agregan comentarios basura

Testeo

[ ] Testeado en BETA con emulador
[ ] Testeado en BETA con dispositivo
[ ] Test unitarios OK
[ ] Test funcionales OK
[ ] Documentación actualizada

Codecov Report

Merging #907 into development will increase coverage by 3.04%.
The diff coverage is 98.15%.

@@               Coverage Diff               @@
##           development     #907      +/-   ##
===============================================
+ Coverage        42.66%   45.71%   +3.04%
===============================================
  Files              220      222       +2
  Lines            15102    15499     +397
===============================================
+ Hits              6444     7085     +641
+ Misses            8658     8414     -244

Impacted Files
Coverage Δ

...rcadoPagoSDKTests/CheckoutViewControllerTest.swift
0% <ø> (-94.29%)
:arrow_down:

...agoSDK/MercadoPagoSDK/CheckoutViewController.swift
5.5% <0%> (-8.39%)
:arrow_down:

...DK/MercadoPagoSDKTests/CheckoutViewModelTest.swift
100% <100%> (ø)

...cadoPagoSDK/MercadoPagoSDK/CheckoutViewModel.swift
100% <100%> (ø)

...rcadoPagoSDK/MercadoPagoSDKTests/MockBuilder.swift
66.95% <100%> (+2.14%)
:arrow_up:

MercadoPagoSDK/MercadoPagoSDK/MPCustomCell.swift
50% <33.33%> (+50%)
:arrow_up:

...adoPagoSDK/MercadoPagoSDK/MercadoPagoContext.swift
54.13% <0%> (+1.5%)
:arrow_up:

MercadoPagoSDK/MercadoPagoSDK/PaymentMethod.swift
60.71% <0%> (+1.58%)
:arrow_up:

... and 13 more

authors: codecov-io edentorres


text:
Provide a macro to get NA version

A recent commit changed the prototype of the NA_Mem_register, which we use in MoNA. It would be nice to either have a way of detecting the API version of NA at compile time to use the right form of the function, or to leave the old version of NA_Mem_register for backward compatibility and provide a new function (NA_Mem_register_on_device, NA_Mem_register2, or something else) for the "extended" version of takes a device id.
Alternatively, having the NA version in mercury-config.cmake.in would work as well (at least for MoNA) since cmake could get the version of NA.

I did add the NA versions as part of that last PR, it's in na_config.h now. The NA version was bumped to 3.0.0. There are now separate versions for HG and NA libraries.

When you include na.h, you can now use NA_VERSION_MAJOR macros etc to check for the version.

Ah I missed that, thanks!

authors: mdorier soumagne

repo: mercury-hpc/mercury


text:
IPTT reports: Export to PDF

Depends on level of effort / how much formatting is required
Accessing exports
Add a PDF button, using whatever styling Paul designed for the Excel button.
Formatting of PDF exports
Nice formatting is more important for a PDF export, as is print-friendliness -- meaning, it's relatively straightforward to print the table on Tabloid or A4 size paper. But at a minimum:

[ ] 1. All report headers, columns, and rows are visible.
[ ] 2. Text is set to wrap inside columns, so that all contents are visible.
[ ] 3. Left- and right- alignments are consistent with the web version.
[ ] 4. Nothing from the filter panel is exported, nor are the gear or dot-dot-dot icons.
[ ] 5. The report title and program names are large.
[ ] 6. The header row is differentiated in some way -- bold, shaded, etc.

This idea has not come up for a very long time. If it comes up again, it'll be tracked in the master request log.

repo: mercycorps/TolaActivity


text:
Refactor repo sync status bars

These status bars:

[ ] Every bar should be the same height
[ ] Add a column to the table that's the "mean running time" of the completed syncs shown (maybe only the successful ones?)
[ ] Make the duration in the hover tooltip clearer (add another row?)
[ ] Make each bar clickable (and link to the log output page of that sync run)

This is a duplicate of https://github.com/mergestat/fuse/issues/117

repo: mergestat/fuse


text:
Limit requests per second separately for each DNS

Store each DNS as a future, so it could track requests/second (roughly, by poll() times).
Make timeouts with NotReady

Described above method caused serios CPU overhead standalone and weird pauses combined with buffered  stream.
For now QPS control may be done with setting stream task buffer buffer size in config.

TODO: Try out stream of availible DNS's.


text:
下拉刷新背景颜色怎么修改

下拉刷新部分背景颜色怎么修改

可以通过css修改; 或 更新到 1.2.4版本 新增了 bgColor 和 textColor的配置

authors: lztbwlkj mescroll

repo: mescroll/mescroll