Samsung s10+ firefox: Misalignment when product doesn't have an image

Environment Details
Spartacus: Release 1.0
Browser: Firefox
Device: samsung s10+
Happens on: https://spartacus.c39j2-walkersde1-d4-public.model-t.cc.commerce.ondemand.com/electronics-spa/de/USD/
Steps to Reproduce
Add a product without an image to cart and checkout.
*Actual Result
On the order review step for eg, the "no image" image is misaligned with the product's name and other info.

Tested on dev10.
It's now fixed. Verified on a desktop, using the dev tools in firefox, and resolution of a S9+.


Profile Attributes: Edit Intents

Goal
Implement a feature on the edit profile page that allows a user to select and de-select their intents so that they can get better matches in the future.
Definition of Done

Users can select and de-select their intents, including whether they are giving or seeking.
Intents can be customized by community.
When users save their intents, the database is updated in the correct location.
The data saved to the database matches the format the offline pipeline expects.

Starter Code
-- Write your styles here
frontend/src/app/attributes/EditIntents.css
-- Implement your component here
frontend/src/app/attributes/EditIntents.tsx
-- Write your test stories here
frontend/src/app/attributes/EditIntents.stories.tsx

Here is a design mock for how the edit intents component should look when it is in the edit profile page. We can change this in the future!

Improvement to edit intents components:

[ ] Split checkboxes into one checkbox per component
[ ] Pass function as property to checkbox to update value
[ ] Dynamically render intents from the community configuration
[ ] Set default intent values from the fetched user data


Engine-related regression in

Some key_mgmt changes have broken the gost-engine (see https://github.com/gost-engine/engine/issues/191).
openssl 048fa13e5ef4ccd730561f79a6c91f38365994d1, gost-engine 58a46b2. debian9
(gdb) r
Starting program: bin/test_params
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Test id-GostR3410-2001-CryptoPro-A-ParamSet (cp):

Program received signal SIGSEGV, Segmentation fault.
int_ctx_new (libctx=0x0, pkey=0x55555576ca50, e=0x0, name=0x0, propquery=0x0, id=-1) at crypto/evp/pmeth_lib.c:138
138             name = evp_first_name(pkey->pkeys[0].keymgmt->prov,
(gdb) bt
#0  int_ctx_new (libctx=0x0, pkey=0x55555576ca50, e=0x0, name=0x0, propquery=0x0, id=-1) at crypto/evp/pmeth_lib.c:138
#1  0x00007ffff7765fc0 in EVP_PKEY_CTX_new (pkey=0x55555576ca50, e=0x0) at crypto/evp/pmeth_lib.c:342
#2  0x0000555555556a3c in EC_KEY_create (dst=0x55555576c6b0, param_nid=840, type=979) at gost-engine/test_params.c:966
#3  test_param (t=0x55555575a4e0 <cp_2001_256_a>) at gost-engine/test_params.c:1012
#4  main (argc=<optimized out>, argv=<optimized out>) at gost-engine/test_params.c:1106
(gdb) list
133          */
134         if (pkey != NULL && pkey->pkey.ptr == NULL) {
135             /* If we have an engine, something went wrong somewhere... */
136             if (!ossl_assert(e == NULL))
137                 return NULL;
138             name = evp_first_name(pkey->pkeys[0].keymgmt->prov,
139                                   pkey->pkeys[0].keymgmt->name_id);
140             /*
141              * TODO: I wonder if the EVP_PKEY should have the name and propquery
142              * that were used when building it....  /RL
(gdb) p pkey
$1 = (EVP_PKEY *) 0x55555576ca50
(gdb) p pkey->pkeys
$2 = {{keymgmt = 0x0, provdata = 0x0, domainparams = 0}, {keymgmt = 0x0, provdata = 0x0, domainparams = 0}, {keymgmt = 0x0, provdata = 0x0,
    domainparams = 0}, {keymgmt = 0x0, provdata = 0x0, domainparams = 0}, {keymgmt = 0x0, provdata = 0x0, domainparams = 0}, {keymgmt = 0x0, provdata = 0x0,
    domainparams = 0}, {keymgmt = 0x0, provdata = 0x0, domainparams = 0}, {keymgmt = 0x0, provdata = 0x0, domainparams = 0}, {keymgmt = 0x0, provdata = 0x0,
    domainparams = 0}, {keymgmt = 0x0, provdata = 0x0, domainparams = 0}}
(gdb) p pkey->pkeys[0]
$3 = {keymgmt = 0x0, provdata = 0x0, domainparams = 0}
(gdb) p pkey->pkeys[0].keymgmt
$4 = (EVP_KEYMGMT *) 0x0
(gdb)

@levitte, @mattcaswell, could you please take a look? I'm ready to provide any necessary assistance.

@beldmit I was thinking about this recently: would it be possible to create a new external test set based on GOST? Currently we are missing extended automated testing of the ENGINE API, and I believe it would be better to have it in the battery of tests during this stage of the refactoring rather than having to fix things later on.
(I have no idea about how difficult or time consuming this task could it be though)

It is possible and I think we could even add it to Travis - as we have gost-engine tests running (and sometimes failing) via Travis...

As @beldmit mentioned there is already a gost test which only kicks in if the gost engine is available. I have it setup in my local environment so it automatically gets picked up by my local builds.

We could add a checkout of the fixed state of gost-engine in some travis build.

Currently the travis build against master in gost-engine is disabled.

The debugging output you show tells me that the pkey was created in the provider, i.e. there's nothing legacy in it (pkey->pkey.ptr == NULL)...  also, considering the assertion on line 136, I don't quite understand how that key has anything to do with the GOST engine...

The ENGINE API is strictly legacy, i.e. a pkey created in an engine should have a non-NULL pkey->pkey.ptr.  If not, someone has done some spooky stuff.

The engine code here is stable for a while. We can think it worked by accident, but it anyway is a regression. I presume It's related to separating the EVP_KEYMGMT structure.
I'll take a close look soon.

Ah, of course, it's an EVP_PKEY that hasn't been assigned an actual key yet!...  but it has an ameth assigned.  It becomes obvious by looking at the test_params code:
(gdb) frame 2
#2  0x000055555555752c in EC_KEY_create (dst=0x5555555742f0, param_nid=840,
    type=979) at /home/levitte/gitwrk/github.com/gost-engine/test_params.c:966
966	    T(ctx = EVP_PKEY_CTX_new(pkey, NULL));
(gdb) list
961	{
962	    EVP_PKEY *pkey;
963	    T(pkey = EVP_PKEY_new());
964	    T(EVP_PKEY_set_type(pkey, type));
965	    EVP_PKEY_CTX *ctx;
966	    T(ctx = EVP_PKEY_CTX_new(pkey, NULL));
967	    T(EVP_PKEY_paramgen_init(ctx));

So ok, it seems we need to have a look at pkey->ameth as well to determine if we're dealing with a legacy key or not.

(... or perhaps that rather than pkey->pkey.ptr, even)

Please have a look at #10758 and see if that solves your problem.

Many thanks! Will do tomorrow!

Perfect! Many thanks!

Will merge today.


Make assert configurable via JSON_ASSERT

This PR introduces a macro JSON_ASSERT(x) which defaults to assert(x), but can be replaced by any other implementation.
Closes #2239.

Coverage remained the same at 100.0% when pulling 28ef87370be43ee4ea0d35c33097202c2d71fd2e on issue2239 into efcc826ecb9b55893397f749e5514316ba8629bb on develop.

It seems there is a memory issue - Valgrind and ASAN are complaining about the new test case.

I think any assert still needs to terminate the process somehow, or you're going to have issues with the algorithms not working properly because the preconditions are violated.  That means that you can't really test that an assert fires.

I think any assert still needs to terminate the process somehow, or you're going to have issues with the algorithms not working properly because the preconditions are violated. That means that you can't really test that an assert fires.

I think I chose a bad function to test - one where a non-aborting assertion left a non-void function without return value. I now chose a different function where first an assertion fires and even if it does not abort an exception is thrown.

(The test fails if exceptions are switched off...)

🔖 Release item
This issue/PR will be part of the next release of the library. This template helps preparing the release notes.
Type

[ ] ✨ New Feature
[ ] 🐛 Bug Fix
[ ] ⚡ Improvement
[x] 🔨 Further Change
[ ] 🔥 Deprecated function

Description

Macro JSON_ASSERT(x) can be used to replace assert(x) calls. #2239 #2242


Fix approximate pointrangequery tests

Description
I noticed while backporting #13788 that some of the tests were flaky due to multiple segments being created and the correctness being harder to evaluate. Making small fixes to address the flakiness of the tests.
Related Issues
Resolves #[Issue number to be closed when this PR is merged]

Check List

[ ] Functionality includes testing.
[ ] API changes companion pull request created, if applicable.
[ ] Public documentation issue/PR created, if applicable.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@harshavamsi can you pls help backport this to 2.x

Original PR was backported to 2.x. Adding the backport tag to this one...


Introduce DB_OPTS in mongo and couch clients

Enable ssl validation in couch by default

Coverage decreased (-0.08%) to 93.077% when pulling 01c607e60bc88531514f5ca33efc4dcc3c9fa37f on hsiliev:dbopts into b6a1a3c2e547fcda51ef2437a42dbe64d1c557a1 on cloudfoundry-incubator:master.

Coverage decreased (-0.05%) to 93.106% when pulling dda207da913ff5da00b9a3f52be44b2d2af8d083 on hsiliev:dbopts into b6a1a3c2e547fcda51ef2437a42dbe64d1c557a1 on cloudfoundry-incubator:master.


Auto create Hash partitioned table when Azure Synapse dedicated pool is the sink

I'm auto creating a table in synapse dedicated pool with parquet file as source, and trying to run stored procedure on the created table. My ADF pipeline failed with this message.
Error Message: The query processor could not produce a query plan because the target DML table is not hash partitioned.
ADF creates the table with DISTRIBUTION = ROUND_ROBIN when Auto create table option is chosen for Synapse dedicated pool as sink.
I don't see in the documentation whether there is an option to auto create hash partitioned table in Synapse dedicated pool as sink.
Is it possible to create hash partitioned table when Auto create table option is chosen for Synapse dedicated pool as sink?

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

ID: 5f8f06db-58d4-75b9-f150-9a1b4767cf75
Version Independent ID: 54c26e53-460a-2f6e-b4f2-86f1e8581435
Content: Copy activity in Azure Data Factory - Azure Data Factory
Content Source: articles/data-factory/copy-activity-overview.md
Service: data-factory
GitHub Login: @jianleishen
Microsoft Alias: jianleishen

@nunepalli Thank you for your query . We will investigate and update the thread.

@nunepalli Thanks for the question. Github forum is dedicated for docs related issues. For any technical queries or clarifications, we encourage to utilise Microsoft Q & A platform. Kindly raise your query on Microsoft Q&A Platform.

@ShaikMaheer-MSFT
Its no where mentioned in the documentation about the distribution type of the table created in Synapse when Auto create table option is selected in copy data pipeline.
I want the documentation provide clarity about that.

@nunepalli Thank you for quick response and giving clarity on ask. Included doc-idea tag on this thread. We will revert soon with updates.

@jianleishen Could you please review above feedback and update as appropriate.

Thank you for the feedback, doc has been improved with this info. please help to verify and close. @ShaikMaheer-MSFT
doc link: https://docs.microsoft.com/en-us/azure/data-factory/connector-azure-sql-data-warehouse#supported-capabilities


Working with large dataset on Multi-GPU - Questions about limitations

Since QUASI_RANDOM isn’t currently with distributed=True if I have large dataset on I should have machine that is able to cache whole dataset in memory?
Is it make sense to put ToDevice() method in loading pipeline if I have several GPUs?

Hello @kgonia!
For now yeah if want to train in a distributed fashion it's best if your dataset fits in memory. I hope that we can add support for that soon but I'm currently focusing other more pressing features.
Yeah it makes perfect sense to put the ToDevice if you have multiple GPUs since you should have one pipeline per GPU anyway. (Don't forget to call ch.cuda.set_device). You should take a look at our ImageNet example it uses distributed and should follow all the best practices.
Follow issue #92 to see when we finally add the feature. In the meantime I'm going to close this issue to avoid having duplicates but feel free to reopen it if needed


Polish external reader API/implementation

Things I noticed but didn't address in this PR:

many APIs are missing Javadoc
libraries shouldn't log directly to std out/err (see ExternalReaderProcessImpl)
some ExternalReaderProcessException messages are externalized, others aren't
ExternalReaderProcessException is a checked exception

it's not clear to me what Pkl's policy on unchecked vs. checked exceptions is

new Random().nextLong() is expensive and has poor randomness (Random should be reused or replaced with counter)
deprecation of ModuleKeyFactories.closeQuietly in favor of org.pkl.core.util.Readers.closeQuietly turns package org.pkl.core.util into a public API

private packages keep leaking into public APIs

org.pkl.core.module.ResourceReaders API is (too) tightly coupled to reader protocol via ModuleReaderSpec
ExternalReaderProcess is a leaky abstraction

only partially implements the reader protocol
exposes its MessageTransport
interface name implies that all implementations spawn a process (unnecessary requirement?)

msgpack is now a hard dependency of pkl-core, pkl-config-java, etc.

might be safer to make it an optional dependency

IMHO the external reader API/implementation needs more work.
Changes:

keep implementation classes internal to their packages
make classes final if possible
make namespace classes non-instantiable
throw IllegalStateException instead of ExternalReaderProcessException for use after close

common convention already used by HttpClient etc.
programming errors should be signaled with unchecked exceptions

use private instead of public lock object
polish Javadoc
delete commented out code
don't use star import for importing a single class

A few clarifying questions about your unaddressed observations (inline)

many APIs are missing Javadoc

Aside from what you've addresses in this PR, which specifically? I'm thinking the added methods in ModuleKeyFactories and ResourceReaders at least, are there others?

libraries shouldn't log directly to std out/err (see ExternalReaderProcessImpl)

This mirrors pkl-server behavior today, but I agree that it's not ideal. Probably easy enough to address later on?

some ExternalReaderProcessException messages are externalized, others aren't

This seems easy enough to address, will open a follow-up PR.

ExternalReaderProcessException is a checked exception

it's not clear to me what Pkl's policy on unchecked vs. checked exceptions is

I'd love some core team input here as this is not an area I have much expertise in

new Random().nextLong() is expensive and has poor randomness (Random should be reused or replaced with counter)

Will address this too.

deprecation of ModuleKeyFactories.closeQuietly in favor of org.pkl.core.util.Readers.closeQuietly turns package org.pkl.core.util into a public API

private packages keep leaking into public APIs

Some core team input here as well would be great.

org.pkl.core.module.ResourceReaders API is (too) tightly coupled to reader protocol via ModuleReaderSpec

Not sure what you mean here, can you clarify? (typo?)

ExternalReaderProcess is a leaky abstraction

only partially implements the reader protocol

Same here, can you say more?

exposes its MessageTransport

Ah yeah I agree and I'd really like to fix this before 0.27 releases. Having it vend the resolver instances directly seems like the best course of action.

interface name implies that all implementations spawn a process (unnecessary requirement?)

Agreed, but a little wary of renaming the interface entirely.

msgpack is now a hard dependency of pkl-core, pkl-config-java, etc.

might be safer to make it an optional dependency

I'd prefer to defer to the core team on this.

Re: Readers.closeQuietly: yeah, we should definitely move it out of org.pkl.core.util. Probably fine to just put it into org.pkl.core, although I wonder if there's another place to put that method (Readers is a one-off class that we're not likely to add to)

Re: checked exceptions: generally, we throw checked exceptions for things that are internal to the implementation, that we then want to catch later and surface as PklException in our public APIs. We're not very consistent about applying this policy, though.

Re: msgpack: @translatenix: what are the concerns here? Is it the lack of responsiveness from the msgpack authors?
I think we will eventually want to move BinaryEvaluator into the core evaluator, which means we'll need a msgpack library one way or another. Curious about the MiniPack library that you mentioned earlier.

@HT154

Aside from what you've addresses in this PR, which specifically? I'm thinking the added methods in ModuleKeyFactories and ResourceReaders at least, are there others?

The messaging package is largely undocumented. Is this now a public API?
(Would help tremendously if every package documented whether or not it's public.
Until Pkl adopts JPMS, this could  be done in package-info.java.)

libraries shouldn't log directly to std out/err (see ExternalReaderProcessImpl)

This mirrors pkl-server behavior today, but I agree that it's not ideal. Probably easy enough to address later on?

Not my call. Personally I wouldn't ship a library that logs directly to std out/err.

org.pkl.core.module.ResourceReaders API is (too) tightly coupled to reader protocol via ModuleReaderSpec

Not sure what you mean here, can you clarify? (typo?)

org.pkl.core.resource.ResourceReaders.externalResolver() accepts a org.pkl.core.messaging.ResourceReaderSpec, which models a binary message.
Hence the org.pkl.core.resource package now exports the org.pkl.core.messaging package, and changing a binary message in org.pkl.core.messaging may constitute a breaking API change in org.pkl.core.resource.

ExternalReaderProcess is a leaky abstraction

only partially implements the reader protocol

Same here, can you say more?

ExternalReaderProcess implements two messages and leaves the implementation of the remaining protocol to clients. Can't it implement the entire protocol instead of exposing its transport?

@bioball

Re: msgpack: @translatenix: what are the concerns here? Is it the lack of responsiveness from the msgpack authors?

I'd be worried that users of pkl-config-java etc. may not want a 500 KB msgpack dependency that can also cause version conflicts in their builds. Especially because most users of pkl-config-java etc. won't actually need msgpack.

Yeah, fair. I'll put some more thought into vendoring that library, or making it an optional dependency.

Not my call. Personally I wouldn't ship a library that logs directly to std out/err.

FYI: the writing to stderr there is an internal developer option; it's not documented and not something library users should ever expect to happen. It's a bit ugly that it exists, but it really helps with quality of life for maintainers.


Fixed Comment Display on detail page

description
Fixed the Comment Display on detail page
what I did
The comments were not being retrieved so I made sure they are passed so the actual comments are loop through and displayed.

Awesome job @Brandon-Crosby !
Fixes #8


Implement atomics wrappers

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Probably the tests are failing because they don't have enough cores to run quickly. I'll set some timeouts.


[FEATURE] New Json format

Apalache's current Json output format is a) not well documented, b) fairly ad hoc, and c) incomplete (see #595).
We should implement a more standardized json output format, which mirrors the internal representation.

The idea is to:

use a standard JSON serializers of our IR, e.g., https://circe.github.io/circe/codec.html
By documenting our IR once, we can simply map it to different formats, e.g., JSON, XML, S-expressions, without the need for documenting the format multiple times.

As per discussion in slack, @andrey-kuprianov is OK with this change, and doesn't require any backward compatibility support, even for a limited time. He will just pin to the version they need until they have time to update their handling of the JSON format.


[Bug/Feature]: %b in ZotFile Renaming Rules no longer returns BBT citation key

Debug log ID
DILCEQ73-refs-euc
What happened?
I use ZotFile to rename files when they are imported. The Renaming Rule I have always used without issue is {%b}, which, until today, would return the reference's BBT citation key. Now, instead of being renamed to, e.g., "2005_Li_Macromolecules_6767.pdf", the file will be named "pdf". Please let me know if there is any additional information I can provide.

You'd have to ask the Zotfile developer. If he can diagnose the problem I can see what I can do on my end.

Yeah, as soon as I made the comment I realized I needed to probably go that route, sorry for the premature trouble. I had reached out here first because I saw that BBT had just been updated whereas ZotFile had not been updated since last year, but I think what you suggest still makes the most sense. Thanks!

Ah I see what the problem is -- I've submitted a PR to ZotFile.

I'm seeing the same filename of 'pdf'.  In addition, when I export a collection with "export files" clicked (screenshot 1),   I get an error popup saying it can't export the "selected file," but I have no files selected (screenshot 2).  I believe that was working yesterday or the day before.

@notuntoward the "in addition" is something entirely different than #2597, please open a new issue.


Default dev setup doesn't start out of the box

Hi, thanks for maintaining this project! I was trying to get the local setup to make a small contribution and noticed that the contributing section of the README doesn't seem to work out of the box. The steps to repro are the same as the README:

Clone the project
Start redis server (on macOS I used redis-server and verified that redis was up via redis-cli)
yarn && yarn start:dev

The error encountered is: Error occurred while trying to proxy: localhost:9000/ui. Network tab shows a 504 Gateway Timeout:

This same gateway timeout error occurs when trying to curl directly to populate the queue:

Also, yarn start:dev:docker appears to error because it's trying to use docker-compose instead of docker? I see a Dockerfile but no docker-compose.yml, so running yarn start:dev:docker from the root project directory calls docker-compose up -d, which errors with:

Should this yarn script be updated to just use Docker rather than Compose?
Last issue: should the yarn start messages be updated to mention port 9000 instead of port 3000? There doesn't appear to be anything running on port 3000 when using these yarn scripts.

Hi, thank you for reporting this issue.
Looks like you doesn't have Radis running, therefore, the server doesn't started.
Usually, it opens the ui automatically.
I've updated example.ts & README.md to make it more clear.

Hi, was there something in the logs that made it look like redis wasn't running? I did have it running and verified that I could connect to it via port 6379. Is there any other setup necessary for redis?

I didn't saw any error.
The build should open the app at port 3000.
You don't need nothing except Redis service running.
The local dev is based on example.ts, which has all you need the mimic real world example

Hmm, I was able to use the app on port 9000 for a bit the other day, but now it's running into the same 504 errors again. Redis is definitely running, so this is strange. I'll have to debug some more.

Ah I figured it out -- my mistake! I had a custom SSH setup that forwards port 3000 when running VSCode, which a quick lsof -i tcp:3000  revealed. Simply stopping that other VSCode instance was the solution 🤦


Try to fix pre-commit failure

Looks like you're running pytest as a pre-commit hook. I don't think its a good idea to run unit testing in a reusable workflow...
Looking at the logs you linked to, I see the test hook failed.
tests....................................................................Failed

More specifically, the test hook failed to build a wheel for cpp_linter_hooks
  × Building wheel for cpp_linter_hooks (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [23 lines of output]
      /tmp/pip-build-env-gnanr2jk/overlay/lib/python3.12/site-packages/setuptools_scm/git.py:163: UserWarning: "/home/runner/work/cpp-linter-hooks/cpp-linter-hooks" is shallow and may cause errors
        warnings.warn(f'"{wd.path}" is shallow and may cause errors')
      running bdist_wheel
      running build
      running build_py
      copying cpp_linter_hooks/util.py -> build/lib/cpp_linter_hooks
      copying cpp_linter_hooks/clang_tidy.py -> build/lib/cpp_linter_hooks
      copying cpp_linter_hooks/clang_format.py -> build/lib/cpp_linter_hooks
      copying cpp_linter_hooks/__init__.py -> build/lib/cpp_linter_hooks
      running egg_info
      writing cpp_linter_hooks.egg-info/PKG-INFO
      writing dependency_links to cpp_linter_hooks.egg-info/dependency_links.txt
      writing entry points to cpp_linter_hooks.egg-info/entry_points.txt
      writing requirements to cpp_linter_hooks.egg-info/requires.txt
      writing top-level names to cpp_linter_hooks.egg-info/top_level.txt
      adding license file 'LICENSE'
      writing manifest file 'cpp_linter_hooks.egg-info/SOURCES.txt'
      installing to build/bdist.linux-x86_64/wheel
      running install
      running install_lib
      running install_egg_info
      removing 'build/bdist.linux-x86_64/wheel/cpp_linter_hooks-0.0.post1.dev1-py3.12.egg-info' (and everything under it)
      error: [Errno 2] No such file or directory: 'build/bdist.linux-x86_64/wheel/cpp_linter_hooks-0.0.post1.dev1-py3.12.egg-info'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for cpp_linter_hooks
Failed to build cpp_linter_hooks
ERROR: Could not build wheels for cpp_linter_hooks, which is required to install pyproject.toml-based projects

It looks like setuptools-scm doesn't like the pre-commit workspace (for some reason).
I would suggest you remove the unit testing from pre-commit-config.yml.


Trending Data Issue and Small Anomalous Period affecting Moving Average

I am forecasting fire ellipses, using some angles and area.  I find your system pyaf very interesting and well done in that it is compartmentalized and very module.  Im new to python but not math, statistics and forecasting.
It seems to me that in the angles case the prediction intervals are following no Trend, yet due to one anomalous period in the very beginning, caused larger than needed confidence intervals.
Secondly the area does follow a trend but only the upper confidence interval is close to the expected trend line.
I have used AR, ARIMA, Holt, and Holt-Winters from scikit-learn with some better results.  Is there a way to filter anomalous data, or exponential smoothing with weights that emphasise the more rect data.  It seems your approach may require some adjusting or tuning or my part to get the forecast I am looking for.
Thanks
While issue reports are always welcome, and you are free to use any form to submit these, the following points are to be considered for an easier processing and more productivity:

The issue must be a bug or a feature request.
A description is needed as source code and/or a link to a dataset for which the problem arises (please simplify the code, anonymize the dataset etc).
information on different software versions used (pyaf, numpy, pandas, scikit-learn etc). The output of the following script should be enough : https://github.com/antoinecarme/pyaf/blob/master/tests/basic_checks/platform_info.py

sent data too:
ffe_area_angle2.zip

@pcfierro
Thanks for using PyAF.
PyAF It is an automatic/modular process that can be used to get some mechanical form of forecast.
It is not adjustable to match something someone (even myself) can like using a kind of non-computational quality measure. It is simply not expected nor designed to do that.
I had  a look at the zip file includes two datasets. I don't have access to the details of the training process (horizon etc). Can you please provide with a python script that you use to perform the training process ?
Of course, you can always perform some kind of preprocessing on the signal (remove the two lines with outliers etc) before using PyAF. The more regular the signal, the better.

Sure I can, paste the code in this reply.  the Area is most concerning when it is in TREND, while the angle may have some wind based seasonality from minute to minute but basically holding at a moving average.
ANGLE Measure - AR with seasonality - ExponetialSmoothing function in tsa statsmodels
AREA Measure - Trend without seasonality, in both cases I need a confidence interval
fcstWin = 60 # 3 Hours
df = pd.read_csv(csvAreaFile2, sep=r',', engine='python', skiprows=0);
df.columns = ['fDateO','area']
df['fDate'] = range(df.shape[0]);
print(df.head());
lDateVar = 'fDate'
lSignalVar = 'area'
lEngine = autof.cForecastEngine()
lEngine.train(iInputDS = df , iTime='fDate', iSignal = 'area', iHorizon = fcstWin);
lEngine.getModelInfo() # => relative error 7% (MAPE)
df_forecast = lEngine.forecast(iInputDS = df , iHorizon = fcstWin)
print(df_forecast.columns) #
print(df_forecast['fDate'].tail(7).values)
print(df_forecast['area_Forecast'].tail(7).values)
print(lEngine.mSignalDecomposition.mTrPerfDetails.head());
lEngine.mSignalDecomposition.mBestModel.mTimeInfo.mResolution
lEngine.standardPlots("forecast_area_");
df = pd.read_csv(csvAngleFile2, sep=r',', engine='python', skiprows=0);
df.columns = ['fDateO','angle']
df['fDate'] = range(df.shape[0]);
print(df.head());
lDateVar = 'fDate'
lSignalVar = 'angle'
lEngine = autof.cForecastEngine()
lEngine.train(iInputDS = df , iTime='fDate', iSignal = 'angle', iHorizon = fcstWin);
lEngine.getModelInfo() # => relative error 7% (MAPE)
df_forecast = lEngine.forecast(iInputDS = df , iHorizon = fcstWin)
print(df_forecast.columns) #
print(df_forecast['fDate'].tail(7).values)
print(df_forecast['angle_Forecast'].tail(7).values)
print(lEngine.mSignalDecomposition.mTrPerfDetails.head());
lEngine.mSignalDecomposition.mBestModel.mTimeInfo.mResolution
lEngine.standardPlots("forecast_angle_");
csvAreaFile2 = 'C:\Users\Owner\OneDrive\PROJECTS\Paradise\ShapesDetection\SofVideo\Forecast\ffe_area2.csv'
csvAngleFile2 = 'C:\Users\Owner\OneDrive\PROJECTS\Paradise\ShapesDetection\SofVideo\Forecast\ffe_angle2.csv'
fcstWin = 60 # 3 Hours
df = pd.read_csv(csvAreaFile2, sep=r',', engine='python', skiprows=0);
df.columns = ['fDateO','area']
df['fDate'] = range(df.shape[0]);
print(df.head());
lDateVar = 'fDate'
lSignalVar = 'area'
lEngine = autof.cForecastEngine()
lEngine.train(iInputDS = df , iTime='fDate', iSignal = 'area', iHorizon = fcstWin);
lEngine.getModelInfo() # => relative error 7% (MAPE)
df_forecast = lEngine.forecast(iInputDS = df , iHorizon = fcstWin)
print(df_forecast.columns) #
print(df_forecast['fDate'].tail(7).values)
print(df_forecast['area_Forecast'].tail(7).values)
print(lEngine.mSignalDecomposition.mTrPerfDetails.head());
lEngine.mSignalDecomposition.mBestModel.mTimeInfo.mResolution
lEngine.standardPlots("forecast_area_");
df = pd.read_csv(csvAngleFile2, sep=r',', engine='python', skiprows=0);
df.columns = ['fDateO','angle']
df['fDate'] = range(df.shape[0]);
print(df.head());
lDateVar = 'fDate'
lSignalVar = 'angle'
lEngine = autof.cForecastEngine()
lEngine.train(iInputDS = df , iTime='fDate', iSignal = 'angle', iHorizon = fcstWin);
lEngine.getModelInfo() # => relative error 7% (MAPE)
df_forecast = lEngine.forecast(iInputDS = df , iHorizon = fcstWin)
print(df_forecast.columns) #
print(df_forecast['fDate'].tail(7).values)
print(df_forecast['angle_Forecast'].tail(7).values)
print(lEngine.mSignalDecomposition.mTrPerfDetails.head());
lEngine.mSignalDecomposition.mBestModel.mTimeInfo.mResolution
lEngine.standardPlots("forecast_angle_");

From: CARME Antoine<EMAIL_ADDRESS>Sent: Sunday, January 12, 2020 10:52 AM
To: antoinecarme/pyaf<EMAIL_ADDRESS>Cc: Paul Fierro<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [antoinecarme/pyaf] Trending Data Issue and Small Anomalous Period affecting Moving Average (#118)
@pcfierrohttps://github.com/pcfierro
Thanks for using PyAF.
PyAF It is an automatic/modular process that can be used to get some mechanical form of forecast.
It is not adjustable to match something someone (even myself) can like using a kind of non-computational quality measure. It is simply not expected nor designed to do that.
I had a look at the zip file includes two datasets. I don't have access to the details of the training process (horizon etc). Can you please provide with a python script that you use to perform the training process ?
Of course, you can always perform some kind of preprocessing on the signal (remove the two lines with outliers etc) before using PyAF. The more regular the signal, the better.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/antoinecarme/pyaf/issues/118?email_source=notifications&email_token=AOIGWP5QZ32VDI4I2OHRRN3Q5M4EHA5CNFSM4KFXWYS2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIW5FNY#issuecomment-573428407, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOIGWP2THKUA5MM5XRO34M3Q5M4EHANCNFSM4KFXWYSQ.

Thanks a lot for the scripts. I am playing with those. Some remarks :

The data are strange. You have data starting at  06:15:00 and ending at 09:31:00. A total of three hours, in each of both signals. There is no way to predict the next 3 hours (horizon) when you have too few data !!!! PyAF generates a Lag1 trend model in this case, saying, my best prediction is the last observed value ( => straight horizontal line on the forecast)

INFO:pyaf.std:BEST_DECOMPOSITION  '_area_Lag1Trend_residue_zeroCycle_residue_NoAR' [Lag1Trend + NoCycle + NoAR]
INFO:pyaf.std:TREND_DETAIL '_area_Lag1Trend' [Lag1Trend]
INFO:pyaf.std:CYCLE_DETAIL '_area_Lag1Trend_residue_zeroCycle' [NoCycle]
INFO:pyaf.std:AUTOREG_DETAIL '_area_Lag1Trend_residue_zeroCycle_residue_NoAR' [NoAR]
INFO:pyaf.std:MODEL_MAPE MAPE_Fit=0.0107 MAPE_Forecast=0.0057 MAPE_Test=0.0033
INFO:pyaf.std:MODEL_SMAPE SMAPE_Fit=0.012 SMAPE_Forecast=0.0057 SMAPE_Test=0.0031
INFO:pyaf.std:MODEL_MASE MASE_Fit=0.9986 MASE_Forecast=0.9946 MASE_Test=0.9833
INFO:pyaf.std:MODEL_L1 L1_Fit=129.77122995594152 L1_Forecast=228.7123323566562 L1_Test=151.35940099621064
INFO:pyaf.std:MODEL_L2 L2_Fit=1026.0115073384095 L2_Forecast=723.6191137588673 L2_Test=721.5447573136909

The data are not really a time series. The is a lot of consecutive identical lines like this for the same timestamp. Probably needs some cleanup (remove duplicates).

09:27:00,62.293643951416016
09:27:00,62.293643951416016
09:27:00,62.293643951416016
09:27:00,62.293643951416016
09:27:00,62.293643951416016

An outlier happens at 07:46:00. can be removed.

07:45:00,72.05471801757812
07:46:00,172.352783203125
07:46:00,172.352783203125
07:46:00,172.352783203125
07:46:00,172.352783203125
07:46:00,172.352783203125
07:47:00,50.6080436706543

Some feedback on data ? where do these data come from ?

Can you please cleanup the data and set the horizon to a reasonable value (minutes, not hours) and give me your feedback (new data and scripts welcome ;) ?

Thanks that is better, with those suggestions, seems now the pandas dataframe is not treating the ascii text as numeric time.  I want tio forecast at the minute level.  I aggregated the data to averages over the minutes approximately 12 seconds apart to simplify and that seemed to do better.  Exponential smoothing and/or anomaly removal should help, but the area of the fire ellipse is trying to a balance moving average with a  very important TREND.  I have other methods but this has been a great exercise, any other ideas are welcome.  I think I saw your example of converting date strings to date properly Im assuming I can do something similar with datetime function to convert properly to time.
New zip files may still not be time in my code yet, but aggregated.
ffe_area2.zip

If this can help, I used something like this to remove duplicates and outliers in python code without modifying the csv file
df = pd.read_csv(csvAreaFile2, sep=r',', engine='python', skiprows=0);
# remove duplicates
df = df.drop_duplicates()
# remove outliers
df = df[df['fDate'] != '07:46:00']
df.columns = ['fDateO','area']

You really need more data (days). PyAF is a machine learning procedure, the model is estimated on a part of the dataset (first 2h) and validated on the remaining most recent part. You cannot expect a reliable (confidence interval) with this.

Closing issue after no response for 30 days. Not blocking. Please repoen if needed.


Nikon Webcam Utility

Is there a way to us my Nikon camera via the Nikon Webcam utility?
Because my camera (Webcam Utility) is not showing up, and I saw online that many had similar problems with their Cannon Utilities...
The only Option I found was to use third party apps which take the output from the camera and forward it to Snap Camera (but with a Watermark)
Preferably, I would use NVIDIA Broadcast, but that's also not showing up as an input option.

If the application didn't support it before this, I wouldn't be able to support it. You can use OBS to create a virtual camera that could be imported without a watermark. But presumably, you might be using OBS, so you'd need to run two instances of it.


[Issue]: whenever isubrip finds a subtitles file, python crashes.

Confirmations

[X] I have checked the issues tab, and couldn't find an existing open issue for the issue I want to report.

OS Type
Windows
Python Version
3.11.4
Package Version
2.4.3
Description
whenever I try to download any subtitle to any path that's not the isubrip folder, and isubrip does indeed find a subtitles file, as soon as it does, python crashes.
I've tried debugging this problem, steps included running isubrip on a different computer (on which it worked perfectly). completely uninstalling and purging all libraries and modules, then reinstalling everything (which did not work). downgrading to an older version of python.
nothing seems to work.
when debugging, I came across an error that seemed to indicate that this is a permissions error, and so I tried to run isubrip as admin, but still I keep on getting the same error.
the odd thing is that when I hit "close program" on the "python has crashed" window that gets prompted, isubrip does indeed download the desired subtitle to the folder specified in the config file.
I've been trying to debug this for the past two weeks to no avail, which is why I'm now submitting this report.
just to clarify, I'm using the administrator user of said computer (so there shouldn't be and read/write permission problems), and cmd is running on either admin or system permissions, yet still python crashes on both.
when debugging, this is the error I got:
Unhandled exception at 0x00007FF8EE9CBA44 (python311.dll) in python.exe: 0xC0000005: Access violation reading location 0x0000000000000008.
Output Log
Scraping https://tv.apple.com/il/movie/the-little-mermaid/umc.cmc.gto5t9phvu7dpajarqglrfmh
Found movie: The Little Mermaid (2023)
עברית (he) subtitles were successfully downloaded.
עברית (forced) (he) subtitles were successfully downloaded.

2/2 matching subtitles have been successfully downloaded.

#then after that python crashes, and displays the subtitles in the folder, only after I press "close program", as stated in the description.

Config
[general]
check-for-updates = true

[downloads]
folder = "C:\\Users\\Administrator\\Documents\\ATV-Downloads"
format = "srt"
languages = [
    "he",
    "he-IL",
]
overwrite-existing = true
merge-playlists = false
zip = false

[subtitles]
remove-duplicates = true
convert-to-srt = true

[scrapers]
user-agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36"

https://send.magicode.me/send-file/file/4301488bf52d57b7b3ab374eafde519c317858a9/download
this is the error isubrip is encountering.

Hey,
First off, for next time, please just upload the image to the issue instead of sending a link to a 3rd-party site that starts downloading a file that I have to verify isn't malicious. You can just drag & drop an image file into the comment body. If the image is too large, you can just remove the image tags surrounding the generated link and send it as such:
https://github.com/MichaelYochpaz/iSubRip/assets/8832013/e66b288a-cd4e-4b78-bdc2-dfd69cab8d39
As for the issue - are you running iSubRip from the command line or from another Python script?
The original issue seems to indicate that you are running it normally, but in the screenshot it seems like you're trying to call a specific module (scraper) from the code, which won't work if not done properly.
These seem like two different issues with two different errors.

In the image, I was indeed trying to run it through a different script that calls iSubRip, however, the problem is present both when attempting to call just iSubRip, and when trying to call it through the script.
For the sake of your help, let's just ignore the script part, as that might be a bug on my end, and not on iSubRip's end.
The error I'm getting when debugging the crash of python, is the one sent in the original post, which seems to indicate some sort of permissions problem, which does not make any sense...

Closing, as this issue doesn't reproduce and there aren't any complaints by others for a similar issue.
Probably an issue with the Python installation / packages on your computer.


pgbadger on windows using strawberry perl

Hi,
I am trying to use pgbadger on windows (sorry, nobody's perfect) and I get stuck in a error:
When I type in: perle.exe pgbadger (in pgbadger folder), I got the following errors:
Possible unintended interpolation of @temp_content in string at pgbadger line 17434.
Can't modify division (/) in division (/) at pgbadger line 17430, near "1;"
Global symbol "$object" requires explicit package name at pgbadger line 17434.
Global symbol "$object" requires explicit package name at pgbadger line 17434.
Global symbol "$something" requires explicit package name at pgbadger line 17434.
Global symbol "$new_value" requires explicit package name at pgbadger line 17434.
Global symbol "$new_value" requires explicit package name at pgbadger line 17434.
Global symbol "$new_value" requires explicit package name at pgbadger line 17434.
Global symbol "$i" requires explicit package name at pgbadger line 17434.
Global symbol "@temp_content" requires explicit package name at pgbadger line 17434.
syntax error at pgbadger line 17459, near "my @temp_content = split(/("
pgbadger has too many errors.

Current port to Windows is broken, if you can't use a Linux box pgBadger version 9.x should work if I remember well.

Yep, just checked, v9.2 is working on windows.

Are you planning to get the windows part working again in a new version ? That would be great !

Yes next version will have it.

Great news ! Thanks for you time !


re-run app in the rkt

Hi everyone,
I try re-run app in the rkt. If I set app as exited, that I cannot change status to running.
I attach logs and commands.
coreos-devel ~ # rkt run docker://alpine --interactive --insecure-options=image --exec=/bin/sh
image: using image from file /usr/lib64/rkt/stage1-images/stage1-coreos.aci
image: remote fetching from URL "docker://alpine"
Downloading sha256:4d06f2521e4: [==============================] 2.32 MB/2.32 MB
networking: loading networks from /etc/rkt/net.d
networking: loading network default with type ptp
/ #
/ #
/ #
/ # ps -Af
PID   USER     TIME   COMMAND
    1 root       0:00 /usr/lib/systemd/systemd --default-standard-output=tty --log-target=null --log-level=warning --show-status=0
    2 root       0:00 /usr/lib/systemd/systemd-journald
    4 root       0:00 /bin/sh
    5 root       0:00 ps -Af
/ # exit
coreos-devel ~ # rkt list
UUID            APP     IMAGE NAME                                      STATE   CREATED         STARTED         NETWORKS
f26a2906        alpine  registry-1.docker.io/library/alpine:latest      exited  12 seconds ago  12 seconds ago
coreos-devel ~ # rkt run f26a2906
image: using image from local store for image name coreos.com/rkt/stage1-coreos:1.0.0
image: searching for app image f26a2906
run: Get https://f26a2906?ac-discovery=1: dial tcp: lookup f26a2906: no such host
coreos-devel ~ # rkt run --debug f26a2906
image: using image from local store for image name coreos.com/rkt/stage1-coreos:1.0.0
image: searching for app image f26a2906
image: meta tag 'ac-discovery' not found on f26a2906: Get https://f26a2906?ac-discovery=1: dial tcp: lookup f26a2906: no such host
run:
  └─discovery failed for "f26a2906"
    └─Get https://f26a2906?ac-discovery=1: dial tcp: lookup f26a2906: no such host

Thank you for redirect to documentation for this problem

To date, it is not possible to restart a stopped rkt pod. There is a discussion about this: https://github.com/coreos/rkt/issues/551
The pod lifecycle is described in pod-lifecycle.md, but it is not explicit that a pod cannot be restarted:
https://github.com/coreos/rkt/blob/master/Documentation/devel/pod-lifecycle.md

Thanks you answer. So I cannot run app again if I must restart host right?

You can run the image again (i.e.  rkt run docker://alpine --interactive --insecure-options=image --exec=/bin/sh), but it will generate a new pod with its own filesystem etc.
@alban guess we should add a doc about the ephemeral nature of pods..

Yeah it is a possible, but If I have some data into redis or an app which store data so this data will be lost.

The recommended workflow is to use an external volume to host data with
persistence requirements. Then you can just remount it into the pod every
time you run a rkt command.
On Wed, Mar 16, 2016 at 11:55 AM Wilybald<EMAIL_ADDRESS>wrote:

Yeah it is a possible, but If I have some data into redis or an app which
store data so this data will be lost.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/coreos/rkt/issues/2284#issuecomment-197260283

Ok you have a truth. Thanks I try do it.


Lifecycle method updated() gets called before element with  has completed render

Description
When you use a child element with slotted content, that element is not yet rendered on the first call to the updated() lifecycle method of the parent element. This is problematic when you want to do post-rendering DOM manipulation, because the DOM is not yet in it's final state, so the width of a certain element for example is not yet finalized.
Live Demo
Demo: https://awesome-jet-1.glitch.me/
Source: https://glitch.com/edit/#!/awesome-jet-1?path=index.html
There's an alert() in the updated() method, then you see that the SlotElement hasn't been rendered yet the first time, and the width of #my-div is the width of the page in Firefox and 0 in Chrome. Then after the initial render when you increase the counter, you see the next time in the alert() that the width is 400px.
Steps to Reproduce

Create a custom element with a <slot></slot>
Set some styling in this element so you can see when it gets rendered
Use this element in a parent element
In the parent element, put an alert() in the updated() lifecycle method
See that on the first render, the styling of the child element is not yet rendered

Expected Results
You would assume that everything in the element has been rendered when the updated() lifecycle method is called.
Actual Results
The template of the element width <slot></slot> is not rendered when updated() is called the first time.
Browsers Affected

[x] Chrome
[x] Firefox

Versions

lit-element: v0.6.1
webcomponents: v2.1.3

In general, when a LitElement (host) renders another LitElement (client), the host is updated before the client. When a host needs to wait for a client to update, it can get the element and wait for the updateComplete promise to resolve before taking action.
For tasks like measuring, however, it's typically best to do this in a requestAnimationFrame. Since updates are always processed via microtasks, they are always completed before a requestAnimationFrame (a task) callback is called.
Here's an updated example: https://glitch.com/edit/#!/berry-marten?path=index.html:62:46

Aha, thank you so much for the info! That is very useful to know.

I've run into a similar situation where I have a  element which has it's open attribute set via  a prop on it's parent. If I try to measure the height of the contents without wrapping requestAnimationFrame when open is set to true, I get 0.  Guessing it's the same timing issue.
Glad to see rAF is a standard or suggested work-around for measuring elements.
Another, though more involved workaround might be to try to render a  element with same children, wait for first updated, measure whatever, set a prop like 'isReady' and then re-render w/ the final component template/markup.
Just adding my 2 cents since I found this issue trying to figure out how to manipulate slotted DOM elements before they are actually slotted and generally trying to figure out best time to intervene in the lifecycle.

You can also actually use the slotchange event on <slot> elements. Can be useful in some situations:
https://lit.dev/docs/components/shadow-dom/#accessing-slotted-children


Version Packages

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
<EMAIL_ADDRESS>Patch Changes

#392 d9a6531 Thanks @threepointone! - publish releases on discord

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


Package request: rustywind

Project description
CLI for organizing Tailwind CSS classes
Metadata

homepage URL: https://www.npmjs.com/package/rustywind
source URL: https://github.com/avencera/rustywind
license: Apache License 2.0
platforms: unix, linux, darwin, ...

#237825


Re-enable user workflows

As discussed in Slack, this re-enables the user workflows feature.
This adds back the notification boxes in the user page in case it has pending workflow requests.
Modifies also the "waiting for me" notifications so that the message links back to the user page.
This also introduces a new migration to disable public registrations for those users who are using the old manual approval method. These users need to manually setup the workflows when they upgrade their sites.

Come someone with time and a site that uses user approval review this?

@aembler Do you remember who was the guy who initially had the problem with the upgrade?

I do not, unfortunately. Maybe posting in the slack dev channel?

By the way @aembler, we are using on a live production site this ourselves today, so in case our review is enough, it should be fine.
So far we haven't seen any issues but as I understand the only issues last time were related to the upgrade process of sites that have the public registration enabled since the writing of the migration was omitted. This pull now also introduces that missing migration, so it should fix the problem if I understood it right.


AutoFixture.AutoNSubstitute: SubstituteAttribute does not respect greedy constructor setup

I am using Xunit and NSubstitute with the GreedyEngineParts class for my fixtures, so my AutoNSubstituteDataAttribute looks like this:
 public class AutoNSubstituteDataAttribute : AutoDataAttribute
  {
    public AutoNSubstituteDataAttribute()
        : base(CreateFixture)
    {
    }

    private static IFixture CreateFixture()
    {
      var customization = new AutoNSubstituteCustomization();
      var engineParts = new GreedyEngineParts();
      var fixture = new Fixture(engineParts);
      fixture.Customize(customization);
      return fixture;
    }
  }

Sadly I have also some legacy code to test, so I sometimes have to use the SubstituteAttribute.
Let´s say I have a class like this:
  public class Worker
  {
    private readonly ILogger logger;

    public Worker()
    {
    }

    public Worker(ILogger logger)
    {
      this.logger = logger;
    }

    public virtual string GetConstructorMessage()
    {
      return logger == null ? "constructor0" : "constructor1";
    }
  }

A test written like this will call the greediest constructor:
    [Theory]     [AutoNSubstituteData]     public void Test1(Worker worker)     {     }
But a test written like this will not:
    [Theory]     [AutoNSubstituteData]     public void Test2([Substitute] Worker worker)     {     }

Hi @Ergamon,
Sorry for the late reply. When somebody puts a complicated question without nice easy answer it's very tempting to postpone it 😖
It's a limitation of our existing extensibility architecture. Firstly it worth noticing that substitute activation is controlled by the NSubstitute library rather than by AutoFixture kernel. In our code we just craft arguments and pass them to NSubstitute where the magic happens. Our NSubstitute customization uses its own constructor selector, so the customized Engine Parts are simply ignored.
I don't see a quick nice workaround for that. Also I don't foresee changes in the nearby future which might solve this. I would probably advice creating WorkerFixture type inherited from the Worker and exposing a single constructor only. Later you could use WorkerFixture instead of Worker when required.
If you see better a way - feel free to share them back.
Thanks!

One more solution might be to rewrite the AutoNSubstituteCustomization and use your own NSubstituteGreedyMethodQuery query which will always pick up a constructor with largest amount of arguments.

Dont worry, I am using this library for free, so there is no real expectation from my side to get asap replies ;)
Of course as you write it, I feels logical that these combinations of libraries sometimes have a quite different behavior. Just from a user perspective it felt inconsistent.
As said I only need this for legacy code we inherited. In this old code basically every class has 2 constructors and it is not possible to get rid of these in the near future :(
The main reason I need tests to figure out how the old parts work to replace them over time.
The idea of using a local inherited test class with only one constructor seems indeed an easy workaround.
I will also look into your 2nd idea.
Thx for your help and feedback


Fixing the plural/singular form for reading time minutes

@RashaHussein mind taking a look at this?

I agree with you on making them special cases and omitting the number, but I think it's better to say:
"دقيقتان للقراءة" and "دقيقة للقراءة".
Take a look at this comment:
http://goo.gl/QaoZFn

And @ahmgeek, don't forget to clean your history before submitting the new commit :bowtie: @amrnt 's instructions :joy: :joy:

should it be "22 دقيقة قراءة" or its OK to be "22 دقيقة للقراءة" ?

I would prefer "22 دقيقة للقراءة"
On Fri Jan 09 2015 at 1:47:16 PM Ahmad A.Elghany<EMAIL_ADDRESS>wrote:

should it be "22 دقيقة قراءة" or its OK to be "22 دقيقة للقراءة" ?
—
Reply to this email directly or view it on GitHub
https://github.com/manshar/manshar/pull/134#issuecomment-69404593.

Awesome work @ahmgeek :space_invader:

:see_no_evil: :dancer:


Record from bluetooth device

Do you know if it's possible to use arecord together with bluealsa? I managed to fix the problem from #6 by disabling pulseaudio-bluetooth and can now play music through my bluetooth headset with aplay, but arecord still gives me the same error. Would I have to set different parameters for device input than for output?
Again I try to provide a full log.
My /etc/asound.conf contains:
defaults.bluealsa.interface "hci0"
defaults.bluealsa.device "E4:22:A5:08:7B:FF"
defaults.bluealsa.profile "a2dp"

So let's start from a freshly booted system (# indicates root, ~ indicates user):
# systemctl start bluetooth
# bluealsa

Output so far:
bluealsa: ctl.c:353: Starting controller loop
bluealsa: bluez.c:677: Registering endpoint: 0000110A-0000-1000-8000-00805F9B34FB: /MediaEndpoint/A2DP_MPEG24_Source
bluealsa: bluez.c:677: Registering endpoint: 0000110A-0000-1000-8000-00805F9B34FB: /MediaEndpoint/A2DPSource
bluealsa: bluez.c:677: Registering endpoint: 0000110B-0000-1000-8000-00805F9B34FB: /MediaEndpoint/A2DP_MPEG24_Sink
bluealsa: bluez.c:677: Registering endpoint: 0000110B-0000-1000-8000-00805F9B34FB: /MediaEndpoint/A2DPSink
bluealsa: bluez.c:893: Registering profile: 00001108-0000-1000-8000-00805F9B34FB: /Profile/HSPHeadset
bluealsa: bluez.c:893: Registering profile: 00001112-0000-1000-8000-00805F9B34FB: /Profile/HSPAudioGateway
bluealsa: main.c:202: Starting main dispatching loop

Going on:
# bluetoothctl
> power on
> connect E4:22:A5:08:7B:FF

New output:
bluealsa: bluez.c:846: Profile method call: org.bluez.Profile1.NewConnection()
bluealsa: bluez.c:778: HSP Audio Gateway configured for device E4:22:A5:08:7B:FF
bluealsa: transport.c:399: State transition: 0 -> 2
bluealsa: transport.c:91: Created new IO thread: HSP Audio Gateway
bluealsa: io.c:960: Starting IO loop: HSP Audio Gateway
bluealsa: io.c:994: AT command: +VGS=08
bluealsa: io.c:994: AT command: +VGM=15
bluealsa: bluez.c:482: Endpoint method call: org.bluez.MediaEndpoint1.SelectConfiguration()
bluealsa: bluez.c:482: Endpoint method call: org.bluez.MediaEndpoint1.SetConfiguration()
bluealsa: bluez.c:416: A2DP Source (SBC) configured for device E4:22:A5:08:7B:FF
bluealsa: bluez.c:418: Configuration: channels: 2, sampling: 48000
bluealsa: transport.c:399: State transition: 0 -> 0

Headset tells me "PC connected".
Going on:
~ pactl list | grep Legend

no output, nice.
aplay -D bluealsa applause.wav

Gives the following output and plays the applause in my ear:
bluealsa-pcm.c:101: Getting transport for E4:22:A5:08:7B:FF profile 1
bluealsa-pcm.c:502: Setting constraints
Playing WAVE 'applause.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Warning: rate is not accurate (requested = 44100Hz, got = 48000Hz)
         please, try the plug plugin (-Dplug:bluealsa)
bluealsa-pcm.c:337: Initializing HW
bluealsa-pcm.c:137: Requesting PCM open for E4:22:A5:08:7B:FF
bluealsa-pcm.c:154: Opening PCM FIFO (mode: WR): /var/run/bluealsa/hci0-E4:22:A5:08:7B:FF-1
bluealsa-pcm.c:355: FIFO buffer size: 4096
bluealsa-pcm.c:359: Selected HW buffer: 23 periods x 4096 bytes
bluealsa-pcm.c:390: Prepared
bluealsa-pcm.c:296: Starting
bluealsa-pcm.c:238: Starting IO loop
^CAborted by signal Interrupt...
aplay: pcm_write:2004: write error: Interrupted system call
bluealsa-pcm.c:311: Stopping
bluealsa-pcm.c:366: Freeing HW
bluealsa-pcm.c:182: Closing PCM for E4:22:A5:08:7B:FF
bluealsa-pcm.c:327: Closing plugin

And then:
arecord -d 3 -D bluealsa test.wav

Gives the output:
bluealsa-pcm.c:101: Getting transport for E4:22:A5:08:7B:FF profile 2
ALSA lib bluealsa-pcm.c:619:(_snd_pcm_bluealsa_open) Couldn't get BlueALSA transport: No such device
arecord: main:786: audio open error: No such device

On the bluealsa output we now have the new output (for both aplay and arecord, I forgot to split them...):
bluealsa: ctl.c:411: New client accepted: 8
bluealsa: ctl.c:414: +-+-
bluealsa: ctl.c:414: +-+-
bluealsa: ctl.c:226: PCM requested for E4:22:A5:08:7B:FF profile 1
bluealsa: transport.c:481: New transport: 10 (MTU: R:672 W:672)
bluealsa: ctl.c:414: +-+-
bluealsa: bluez.c:990: Signal: PropertiesChanged: org.bluez.MediaTransport1
bluealsa: transport.c:399: State transition: 1 -> 2
bluealsa: transport.c:91: Created new IO thread: A2DP Source (SBC)
bluealsa: io.c:71: Opening FIFO for reading: /var/run/bluealsa/hci0-E4:22:A5:08:7B:FF-1
bluealsa: io.c:448: Starting IO loop: A2DP Source (SBC)
bluealsa: transport.c:616: Cleaning PCM FIFO: /var/run/bluealsa/hci0-E4:22:A5:08:7B:FF-1
bluealsa: transport.c:623: Closing PCM: 11
bluealsa: transport.c:528: Releasing transport: A2DP Source (SBC)
bluealsa: transport.c:556: Closing BT: 10
bluealsa: io.c:61: Exiting IO thread
bluealsa: ctl.c:414: +-+-
bluealsa: bluez.c:990: Signal: PropertiesChanged: org.bluez.MediaTransport1
bluealsa: transport.c:399: State transition: 0 -> 0
bluealsa: ctl.c:385: Client closed connection: 8
bluealsa: ctl.c:414: +-+-
bluealsa: ctl.c:411: New client accepted: 8
bluealsa: ctl.c:414: +-+-
bluealsa: ctl.c:414: +-+-
bluealsa: ctl.c:385: Client closed connection: 8
bluealsa: ctl.c:414: +-+-

Unfortunately, it is not implemented yet. Recording (from the headset, aka accessing build in microphone) requires HSP/HFP profile support. Like I said in #6, currently I'm trying to make it work. However, it is not trivial with the current bluealsa architecture (my bad) - so I'm doing some refactoring.
The only possible way of recording with the current setup, it is to connect Bluetooth device, which will act as a source in the A2DP profile, e.g. iPhone or Android-powered smartphone.
Current master snapshot has one "glitch" - in the amixer there is a recording device for HSP, so one might think recoding is possible, unfortunately not yet.

I've just pushed prototype implementation of the SCO audio transfer (for HSP), which should provide access to the headset microphone. Try something like this:
arecord -f S16_LE -D bluealsa:HCI=hci0,DEV=XX:XX:XX:XX:XX:XX,PROFILE=sco mic.wav

The crucial thing is the usage of the SCO profile (in the future I might change this profile name, though).
There is one important thing to mention. The behaviour of using A2DP and SCO simultaneously is headset dependent. On my headset it is not possible to listen to audio transferred with A2DP while the SCO connection is opened (recording and/or playing).

Hm, it does not give me an error, but also it does not seem to record anything and it seems arecord also does not start counting the recorder time. It gives me a beep in my headset to tell me that something becomes active (but I am not sure exactly when this occurs, I also heard this some times when playing around before you implemented sco)
Output on the arecord terminal is:
~ $ arecord -f S16_LE -D bluealsa:HCI=hci0,DEV=E4:22:A5:08:7B:FF,PROFILE=sco mic.wav
bluealsa-pcm.c:103: Getting transport for E4:22:A5:08:7B:FF type 2
bluealsa-pcm.c:507: Setting constraints
Recording WAVE 'mic.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Mono
bluealsa-pcm.c:342: Initializing HW
bluealsa-pcm.c:140: Requesting PCM open for E4:22:A5:08:7B:FF
bluealsa-pcm.c:157: Opening PCM FIFO (mode: RO): /var/run/bluealsa/hci0-E4:22:A5:08:7B:FF-2-1
bluealsa-pcm.c:364: Selected HW buffer: 4 periods x 2000 bytes
bluealsa-pcm.c:395: Prepared
bluealsa-pcm.c:301: Starting
^CAborted by signal Interrupt...
arecord: pcm_read:2096: read error: Interrupted system call
bluealsa-pcm.c:316: Stopping
bluealsa-pcm.c:371: Freeing HW
bluealsa-pcm.c:186: Closing PCM for E4:22:A5:08:7B:FF
bluealsa-pcm.c:332: Closing plugin

And on the bluealsa terminal:
# bluealsa
bluealsa: ctl.c:483: Starting controller loop
bluealsa: bluez.c:676: Registering endpoint: 0000110A-0000-1000-8000-00805F9B34FB: /MediaEndpoint/A2DP_MPEG24_Source
bluealsa: bluez.c:676: Registering endpoint: 0000110A-0000-1000-8000-00805F9B34FB: /MediaEndpoint/A2DPSource
bluealsa: bluez.c:676: Registering endpoint: 0000110B-0000-1000-8000-00805F9B34FB: /MediaEndpoint/A2DP_MPEG24_Sink
bluealsa: bluez.c:676: Registering endpoint: 0000110B-0000-1000-8000-00805F9B34FB: /MediaEndpoint/A2DPSink
bluealsa: bluez.c:912: Registering profile: 00001108-0000-1000-8000-00805F9B34FB: /Profile/HSPHeadset
bluealsa: bluez.c:912: Registering profile: 00001112-0000-1000-8000-00805F9B34FB: /Profile/HSPAudioGateway
bluealsa: bluez.c:912: Registering profile: 0000111E-0000-1000-8000-00805F9B34FB: /Profile/HFPHandsFree
bluealsa: bluez.c:912: Registering profile: 0000111F-0000-1000-8000-00805F9B34FB: /Profile/HFPAudioGateway
bluealsa: main.c:201: Starting main dispatching loop
bluealsa: bluez.c:834: Profile method call: org.bluez.Profile1.NewConnection()
bluealsa: transport.c:553: State transition: 0 -> 2
bluealsa: transport.c:94: Created new IO thread: HSP Audio Gateway
bluealsa: bluez.c:773: HSP Audio Gateway configured for device E4:22:A5:08:7B:FF
bluealsa: transport.c:553: State transition: 0 -> 2
bluealsa: io.c:1151: Starting IO loop: HSP Audio Gateway
bluealsa: transport.c:94: Created new IO thread: HSP Audio Gateway
bluealsa: io.c:1009: Starting RFCOMM loop: HSP Audio Gateway
bluealsa: io.c:1064: AT command: +VGS=08
bluealsa: io.c:1064: AT command: +VGM=15
bluealsa: ctl.c:543: New client accepted: 8
bluealsa: ctl.c:546: +-+-
bluealsa: ctl.c:546: +-+-
bluealsa: ctl.c:326: PCM requested for E4:22:A5:08:7B:FF type 2 stream 1
bluealsa: ctl.c:546: +-+-
bluealsa: io.c:72: Opening FIFO for reading: (null)
bluealsa: io.c:93: Opening FIFO for writing: /var/run/bluealsa/hci0-E4:22:A5:08:7B:FF-2-1
bluealsa: transport.c:758: New SCO link: 13 (MTU: R:48 W:48)
bluealsa: ctl.c:401: PCM close for E4:22:A5:08:7B:FF type 2 stream 1
bluealsa: transport.c:791: Cleaning PCM FIFO: /var/run/bluealsa/hci0-E4:22:A5:08:7B:FF-2-1
bluealsa: transport.c:798: Closing PCM: 12
bluealsa: ctl.c:546: +-+-
bluealsa: io.c:72: Opening FIFO for reading: (null)
bluealsa: transport.c:768: Closing SCO: 13
bluealsa: ctl.c:515: Client closed connection: 8
bluealsa: ctl.c:546: +-+-

The file size of mic.wav does not change at all, it's always 44 bytes no matter how long I wait. I also tried to add -d 3 to the arecord command, so it stops after three seconds, but this never gets reached. I have the feeling that arecord is waiting for something to start counting. When I try to play the 44 bytes mic.wav, it returns immediately without playing anything.
On the other hand when I do arecord -f S16_LE -d 3 mic.wav it will stop after 3 seconds with a mic.wav with size 47k, playing for 3 seconds in aplay.

In logs everything looks OK (except one thing, A2DP profile seems not to be connected, which is odd, however is happens with my setup from time to time - try issuing connect (from the bluetoothctl) and see if A2DP will connect).
44 bytes in the WAV file is a header, so there will be no sound :)
So the question is, if your Bluetooth headset is compatible with bluez. I might try to make some adjustments, so you will be able to test it. However, if you are sure that the microphone works (e.g. it works with PulseAudio) you might try to insert few debug statements in the io.c in these places:

https://github.com/Arkq/bluez-alsa/blob/master/src/io.c#L1161
https://github.com/Arkq/bluez-alsa/blob/master/src/io.c#L1185
https://github.com/Arkq/bluez-alsa/blob/master/src/io.c#L1190 <- here is reading from SCO
https://github.com/Arkq/bluez-alsa/blob/master/src/io.c#L1202

Simple fprintf(stderr, "1"); will do. just put different numbers in "" every time, so you will see from where is the print. So when you connect to the SCO profile in the capture mode (arecord), every print except line 1202 should print like crazy - 8kHz mono with 48 bytes per read with sample width 2 bytes, so the iteration should be at exactly 333.(3) prints per second. If there is no output, make sure that your headset is "supported" by your kernel and bluez.

hm, maybe it is a problem with the bluez library and my headset, who knows... With PulseAudio I didn't even manage to play music to my headset. I have the feeling it uses a call protocol and I should answer the call from my headset, but that also did not work.
I'm having the idea that when I want to record through bluez-alsa it might also be recognized as an incoming call somehow. Tried to hit the answer button, this only lead to bluealsa: io.c:1064: AT command: +CKPD=200 in the bluealsa output.
The headset has three options to answer calls:

click button

take headset and put on ear (if not already worn)

say "answer"

and 2. both lead to the signal bluealsa: io.c:1064: AT command: +CKPD=200, saying "answer" did nothing (but who knows if I did it right, never tried this before). So I am pretty positive, that this has something to do with the phone call functionality.

I'm just not sure if you can do it or if bluez guys would have to do it and did not do yet. As said, I tried to play some music with PulseAudio, which also lead to this incoming call beep in my headset. So I pushed the button and nothing happened...

I tried adding debug outputs, but everytime I add some debug code to your code, I get this error message on execution later:
$ arecord -f S16_LE -D bluealsa:HCI=hci0,DEV=E4:22:A5:08:7B:FF,PROFILE=sco mic.wav
bluealsa-pcm.c:102: Getting transport for E4:22:A5:08:7B:FF type 2
ALSA lib bluealsa-pcm.c:636:(_snd_pcm_bluealsa_open) Couldn't get BlueALSA transport: No such device
arecord: main:786: audio open error: No such device

I'm using the arch linux AUR package as basis. At first I try adjusting it inline with sed - worked fine according to the code, but error above.
Then I went as far as downloading the code from git and storing it to a zip file. First time I kept everything in original, makepkg -si. Execution is ok (just no sound recorded). Then I copied one of your debug lines so that it should get executed twice (src/io.c#72). Same procedure, error above. Ok, so I deleted my line again from the code, again makepkg, works.
Confusion completed...

Wow, pretty bit of a struggle you've got there :)
But seriously now.

it might also be recognized as an incoming call somehow,

The 3 beeps sound (I guess) indicates that the audio gateway (e.g. phone) has initialized SCO link - the audio is about to be transferred. Incoming call might be indicated by the special RING message sent to the headset (I'm not supporting it right now), or playing "ring" tone. Please, try using aplay with the SCO profile as follows:
aplay -f S16_LE -D bluealsa:HCI=hci0,DEV=E4:22:A5:08:7B:FF,PROFILE=sco test.wav

but make sure, that the test.wav is a 8000 Hz mono (this should eliminate necessary audio conversion, because the SCO link supports only monophonic sound with 8000 Hz sampling rate). If there is no sound in the earpiece, it is definitely something wrong. Also check hcitop and tcpdump if possible. It should allow to narrow the possible cause of this malfunction.

Number 1. and 2. both lead to the signal bluealsa: io.c:1064: AT command: +CKPD=200, saying "answer" did nothing (but who knows if I did it right, never tried this before).

The debug line showing "+CKPD=200" is a good thing. It is a signal (with a compliance to HSP) transferred from the headset to the audio gateway (in this case bluealsa), which indicates "button pressed". The HSP standard has only this one message (it is not possible to distinguish buttons or any other user actions) available to notify that one wants to answer the call. After this message, audio gateway should start transferring audio, however bluealsa is playing (in the HSP mode) without waiting - which is OK according to the HSP standard. Buuuut, I'm not sure if it is mandatory to transfer the sound from the headset to the audio gateway (in this case, a sound picked up by the microphone) just after the SCO has been established. So, the cause of this "issue" might lay somewhere here.

I assume if there was some transfer of audio when recording, the RX should also be in the area of 20kB/s.

The transfer rate for SCO should be about 15000 bytes/s in both directions - RX/s TX/s. Though, the TX/s should only be "activated" when one is using playback device (arecord ... PROFILE=sco ...). For A2DP with SBC encoding, it is about 30000 bytes/s.
And just one question, are you able to use this earpiece with a smarphone (preferable Android-based) or any other device or OS?
And for testing, it might be better to compile bluealsa from the source code all the way up. Just compile it (without make install) and use created executable. There is no need to modify ALSA modules, so running bluealse from the build/src directory will do. I'm not an Arch user, so I don't know the best practices for debugging on such a distro, but compilation from the source has been always good for me :D.

Hi,
I don't know if you are still using bluez-alsa, but if yes, you might try to use a fresh master snapshot. Recently there was "exterminated" one bug (#22) which might have been related to this issue.

I also need to know how to get arecord working with a bluetooth device.  With the following in .asoundrc, aplay works and arecord starts, but ignores duration and never stops.
pcm.!default {
type asym
capture.pcm "btmic"
playback.pcm "btspeaker"
}
pcm.btspeaker {
type plug
slave.pcm {
type bluealsa
device "88:C6:26:51:73:6E"
profile "a2dp"
}
}
pcm.btmic {
type plug
slave.pcm {
type bluealsa
device "88:C6:26:51:73:6E"
profile "sco"
}
}

@NA-Dev I am facing the same problem. Did you get it resolved?

Please, use oFono backend for HFP profile - #172. Internal HFP support is not "production ready".

After a lot of head scratching, I think I found what was going wrong. I saw some key aspects are missing when bluealsa service is getting started.
By default, the bluealsa service is starting with only with "a2dp-source" profile. This is only for playback of audio. But for recording audio, it needs "a2dp-sink", "hfp-ag", and "hsp-ag" profiles.
Use below command if you are using any raspberry or ubuntu based distributions. "systemctl cat bluealsa" This shows the unit file for "bluealsa" service. it should have the below line for ExecStart. ExecStart=/usr/bin/bluealsa -p a2dp-sink -p a2dp-source -p hfp-ag -p hsp-ag
3.Usually what I have observed is with out any -p options passed to it. change the unit file and restart the service. Note: whenever any systemctl unit files are changed, the below command must be executed to take changes into effect.

"systemctl daemon-reload"
systemctl restart bluealsa
4.Another thing to note is: using profile "sco" in asounrc file.

recording audio should work after these changes! This is what worked for me! after a long ordeal!


Master Volume Fader

I'm trying to implement a Master Fader that would control the overall volume of the mix. I noticed there is a setGain method on App.mix that seems to control overall volume, but am unsure how to tap into the "change:gain" event. I'm able to get an empty fader into the mix. Is there an easy way to attach a fader to that "change" event?
EDIT:
I'm trying to create a "View" for the Mix that uses a separate template. Still working on it. I'll let you know how it goes.

I ended up replacing the Controls template with a mixer channel template and adjusting the Controls View in the library. That did the trick.

Whoops! Turns out, all I did was make all of the faders control the master volume. Any ideas on how to pull this off?

Wow. Somehow I never saw this issue. Sorry about that.
Master fader was just added in 2820b4cd9b0e1f8f5a7d6a79d66371b77a9c09c7


Works but really slow

Hi there!
i5 ThinkPad taking off like 747
It takes around 10s to save a file

What makes you thinking it's caused by this resolver instead of other tools?

@JounQin well, I turn it on === it stutters
turn it off === no stuttering
I will try to reduce the config to trace this issue.

I'm definitely experiencing the same thing described above by the OP. Is there any kind of debug information that would be useful in this case?

Try DEBUG=eslint-import-resolver-typescript eslint . to see the debug info first?

Close due to inactive. Please provide more useful information next time.

May be related to https://github.com/dividab/tsconfig-paths/issues/72

Same here. The lookup takes between 200 and 900 ms per import statement - which can sum to quite an amount of time in larger projects.

May be related to dividab/tsconfig-paths#72

@binarious Check instead


QR Code isn't recognized on Android Motog8

I don't have any other devices to test this on. My iPhone can detect QR codes generated with this package but my motog8 android phone does not recognize QR codes from this package. I've tried playing with the options on https://qr-code-styling.com/ making the simplest/standard QR code and my android cannot read it. Googling QR codes and scanning them with the Android device works.

I had a similae issue on my Android.  Discovered that not using a custom graphic works the best, which kind of defeats the purpose of the package.

Hi @kmahelona @jzombie sorry for missing for so long
Seems like a duplicate of #105 #49
It was fixed in version v1.7.1 and above


gdkpixbuf plugin calls explicitely skcms_Parse(), what if lcms2 is used ?

afaics,  the gdkpixbuf plugin is explicitely calling skcms_Parse()
wouldn't there be a compiler error if lcms2 is used instead of skcms ?

No, since the plugin is always using skcms.
Libjxl itself does not depend on any cms. The compile flag is only for cjxl/djxl/benchmark_xl.
I hope that answers your question, feel free to reopen otherwise.

I guess the ask is to ideally enable the gdkpixbuf plugin to be lcms2-enabled as well so it is included in the same boat as cjxl/djxl w/ the global compile flag, no?


iOS, Photo's orientation gets changed from Portrait to Landscape

Bug Information
Version Number of Plugin: 3.0.1
Device Tested On: iPhone 6
Simulator Tested On:
Version of VS: 2017, 15.3.5
Version of Xamarin: <IP_ADDRESS>
Versions of other things you are using: Xamarin.Forms <IP_ADDRESS>2, Xamarin.iOS <IP_ADDRESS>, XCode 9, iOS SDK 11
Steps to reproduce the Behavior

Pick a portrait photo from the device gallery:
The orientation gets changed to landscape

Expected Behavior
Image's orientation should stay Portrait
Actual Behavior
The photo appears as landscape
Code snippet
MediaFile file = await CrossMedia.Current.PickPhotoAsync();
 <Image Source ="{ Binding PictureSelector.ImageSource }" HorizontalOptions="Center" VerticalOptions="Start" WidthRequest="96" HeightRequest="96" />
Screenshots
Comment
It was working fine with 2.6.2, XCode 8, iOS SDK 10 and Xamarin.iOS 10. Now it works only when I set RotateImage to False:
MediaFile file = await CrossMedia.Current.PickPhotoAsync(new PickMediaOptions() { RotateImage = false });
but I works just for the first time. If I choose the same picture from the gallery again the photo appears as landscape.

Duplicate: https://github.com/jamesmontemagno/MediaPlugin/issues/333


CHANGELOG + liveupdate editable readme

@KristianJerpetjon I changed it to use root as reference instead. Looks pretty good now I think


Record token use for each completion call

And add it to the export
And, just to say a little more on tokens:

There are input (prompt) tokens and output (completion) tokens. Output is 2x the price of input (for GPT-4)
We must send the entire chat history every time--including the system prompt--to get the response from the LLM. This means the input tokens will grow linearly as the conversation goes on.
If we have a safety bot enabled, we will have input and output tokens from that additional call to the safety LLM to account for as well
More advanced features like function calling, which we are using for timers and the IMCI work, will require additional LLM calls like safety bots

Relevant links:
https://python.langchain.com/docs/modules/model_io/models/llms/token_usage_tracking
https://github.com/openai/openai-cookbook/blob/main/examples/How_to_count_tokens_with_tiktoken.ipynb

(copied from #105)
I can imagine wanting it at the experiment/bot level and at the team level. I also think we'll want different input and output tokens (at least for OpenAI) as they are charged at a different rate.

Agreed. I think there'd be a number of different aggregations that could be useful (playground, bots, individual chats, per-user, etc)

Started this here: https://github.com/dimagi/open-chat-studio/pull/511


[Bug] Missing content-type header in gRPC calls

Is this a new bug?
In other words: Is this an error, flaw, failure or fault? Please search Github issues and check our Community Forum to see if someone has already reported the bug you encountered.
If this is a request for help or troubleshooting code in your own Pinecone project, please join the Pinecone Community Forum.

[X] I believe this is a new bug
[X] I have searched the existing Github issues and Community Forum, and I could not find an existing post for this bug

Describe the bug
When upserting vectors, I get the following error:
rpc error: code = Unknown desc = malformed header: missing HTTP content-type

I have tried also adding a content-type header when creating the client with no results. I haven't tried other data plane (gRPC) functionality. I could only find one post on the community forums with the same error, but they're using grpcurl and it has no replies.
Environment

OS Version: MacOS 14.5
Go version: 1.22.3
Go SDK version: 1.1.1

Additional context
I also encountered this error with previous versions of the SDK

Thanks fro reporting! @austin-denoble Can you please take a look?

Hi @fflores97, would you be able to provide any additional details or a code sample of how you're going about upserting vectors, and is this a consistent issue you're running into every time you try and upsert to an index?
We have seen this error before, but normally when trying to upsert to an index that is not in a Ready state. Are you able to verify that your index is ready through the DescribeIndex call?

I'm also seeing this when querying an pod based Index.

This was happening when passing a query vector with wrong dimensions. If this is the real root cause, could it be solved with some validation or an error message that points to it?


Remove type error

Sorry for the unused files - i made a notice before edit. But it's only the typo error changed.


NPE in ShardingContainerPoolBalancer.emitHistogramMetric on start

As discussed on Slack following exception is being seen on startup
```[2019-02-13T12:22:14.970Z] [ERROR] null
java.lang.NullPointerException: null
        at org.apache.openwhisk.core.loadBalancer.ShardingContainerPoolBalancer.emitHistogramMetric(ShardingContainerPoolBalancer.scala:170)
        at org.apache.openwhisk.core.loadBalancer.CommonLoadBalancer.$anonfun$new$1(CommonLoadBalancer.scala:80)
        at akka.actor.Scheduler$$anon$2.run(Scheduler.scala:102)
        at akka.actor.LightArrayRevolverScheduler$$anon$2$$anon$1.run(LightArrayRevolverScheduler.scala:101)
        at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:40)
        at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:44)
        at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
        at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
        at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
        at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)```

This seems to happen because scheduled job to emit metrics is getting invoked very early before the ShardingContainerPoolBalancer object is completely initialized and hence finds  one of the fields to be null. Possible fix

Delay the job by some time to ensure object is initialized
Have an explicit method to trigger scheduler and have sub class call them after initialization is complete

@SugandhaAgrawal would you please take a look?


On Deploy: window is undefined from react-tinacms

Description
I'm getting this error that's failing the build of my gatsby starter. Looks like its coming from use-cms in react-tinacms. I'm confused because it seems like since I set the NODE_ENV to production, use-form should return early and never call use_cms(), but obviously its still being called. Seems like its running during SSR?
To be clear this error isn't referencing the global window obj, its coming from within Tina. Also worth noting this error popped up after upgrading.
failed Building static HTML for pages - 4.683s
3:01:29 PM:   WebpackError: ReferenceError: window is not defined
3:01:29 PM:
3:01:29 PM:   - index.js:1 f
3:01:29 PM:     node_modules/react-tinacms/build/index.js:1:327
3:01:29 PM:
3:01:29 PM:   - index.js:1 r
3:01:29 PM:     node_modules/react-tinacms/build/index.js:1:890
3:01:29 PM:
3:01:29 PM:   - index.js:1
3:01:29 PM:     node_modules/react-tinacms/build/index.js:1:1324

Steps to reproduce
Checkout https://github.com/kendallstrautman/brevifolia-gatsby-tinacms, clone and deploy to Netlify.
Expected result
The site should build.
Actual result
The error above occurs.
Environment

react-tinacms
0.8.0

yarn
1.19.0

node
12.6.0

I get the same error when trying to setup the NextJS example.
https://github.com/Foxhunt/tina-test
I assume the problem problem is caused by<EMAIL_ADDRESS>depending on<EMAIL_ADDRESS>not<EMAIL_ADDRESS>

Yeah its interesting, I have a next.js site working (without this error) with tina running on tinacms@0.6.0...https://github.com/kendallstrautman/brevifolia-next-tinacms - So I figured it was a problem with releases later than that, but I guess not.

The problem is that tinacms is depending on a different version of react-tinacms. This means there are actually two versions of react-tinacms being used.
Why is this a problem? Because global variables are the devil and React Context objects are global variables.
Each installation of react-tinacms has it's own instance of:
export const CMSContext = React.createContext<CMS | null>(null)

gatsby-plugin-tinacms is referencing the instance in<EMAIL_ADDRESS>tinacms is referencing the instance in<EMAIL_ADDRESS>
The CMSContext from gatsby-plugin-tinacms is the one that wraps the app and the one used in tinacms is not. This should break both browser and ssr builds, but the react-tinacms has that handy || window.tinacms that makes it work in the browser. If I remove that line (as I should) it will break for both (as it should).
So I'll fix the dependency issue, remove that line, and hot-fix this to latest.

I pushed out the change and it seems to have resolved this issue.
Could @kendallstrautman and @Foxhunt confirm?

@ncphillips can confirm.
Issue is resolved.


Add ciao-webui support to ciao-down and Single VM

This PR adds ciao-webui support to ciao-down and Single VM.   In short ciao-down installs and configures node and downloads the ciao-webui repo into a directory shared with the host.  Single VM creates a configuration file that contains all the information the webui needs to talk to the Single VM ciao instance.
We also fix a bug which causes a launcher crash when container creation fails due to a network error.

@jorgevgut I need your help with this one.  The ciao-webui is working okay but I cannot build the latest version of the code inside single VM, e.g., make install-dev errors out.  It seems to be complaining about proxy issues but I have set the proxies using npm config.
Perhaps there are other npm configs I need to set, like the prefix.  I'd be grateful if you could take a look.  To test,
git checkout -b markdryan-singlevm-webui master
git pull https://github.com/markdryan/ciao.git singlevm-webui
cd $GOPATH/src/github.com/01org/ciao/testutil/ciao-down
go build
./ciao-down prepare --ui-path
Wait 10 minutes
ciao-down connect
Now you're in the VM.  cd to the ciao-webui directory ( should be the same directory you use on the HOST)
make install-dev
It will fail.  Please help me figure out why.

Coverage decreased (-0.009%) to 66.921% when pulling d45e8030f8a0ff6cc0b63fb39a0a78009f4d5e1c on markdryan:singlevm-webui into 4fe33ae248d6d3967f9180e184a6031c6cfce8a3 on 01org:master.

@jorgevgut I fixed all the proxy and installation issues.  If you follow the instructions above and build with
DESTDIR=/usr/local/nodejs make install-dev
most of the errors are gone.  But I still see some compile errors when building some of the modules,
> browserify build/pages/tenant_detail.js -o build/javascripts/bundle_tenant_detail.js

/home/markus/src/ciao-webui/node_modules/d3-scale/index.js:1
export {
^
ParseError: 'import' and 'export' may appear only with 'sourceType: module'

npm ERR! Linux 4.4.0-47-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "run" "build-detailby-tenant"
npm ERR! node v7.4.0
npm ERR! npm  v4.0.5
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>build-detailby-tenant: `browserify build/pages/tenant_detail.js -o build/javascripts/bundle_tenant_detail.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build-detailby-tenant script 'browserify build/pages/tenant_detail.js -o build/javascripts/bundle_tenant_detail.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the ciao-webui package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     browserify build/pages/tenant_detail.js -o build/javascripts/bundle_tenant_detail.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs ciao-webui
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls ciao-webui
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/markus/src/ciao-webui/npm-debug.log
Makefile:49: recipe for target 'install-dev' failed

@jorgevgut Note you should update your make file to initial DESTDIR using npm config get prefix

Coverage increased (+0.005%) to 66.898% when pulling c812d431faed0c45d8de9ec24b2940c30611589f on markdryan:singlevm-webui into e57e064944e150f99f941517b4873808a092927d on 01org:master.

Coverage increased (+0.005%) to 66.898% when pulling c812d431faed0c45d8de9ec24b2940c30611589f on markdryan:singlevm-webui into e57e064944e150f99f941517b4873808a092927d on 01org:master.

@jorgevgut Okay, the issue seems to be an existing ciao-webui build bug (https://github.com/01org/ciao-webui/issues/129).  What should I do?  Do an
npm install d3-scale
when setting up the VM or will you guys fix this in the web-ui.

@rbradford , @tpepper This should be good to go now.


NEW_TRANSACTION event not triggered when reparsing

fixed here https://github.com/CounterpartyXCP/counterparty-core/pull/1687


chore(readme): fix typo

[Current coverage][cc-pull] is 94.56%

Merging [#105][cc-pull] into [master][cc-base-branch] will not change coverage

@@             master       #105   diff @@
==========================================
  Files             6          6
  Lines          1268       1268
  Methods           0          0
  Messages         69         69
  Branches          0          0
==========================================
  Hits           1199       1199
  Misses           69         69
  Partials          0          0

Powered by Codecov. Last updated by [b3ff271...5c75f57][cc-compare]
[cc-base-branch]: https://codecov.io/gh/azu/JavaScript-Plugin-Architecture/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/azu/JavaScript-Plugin-Architecture/compare/b3ff271d5e02e337c275cf94ff2ba4be606327dd...5c75f57292c0b7c8be3f03da92a46739f3e2dbd5
[cc-pull]: https://codecov.io/gh/azu/JavaScript-Plugin-Architecture/pull/105?src=pr

@y-temp4 Thanks!


iris doesn't change wallpaper on GNOME

Describe the bug
iris doesn't seem to change the wallpaper on a GNOME DE.
To Reproduce
Steps to reproduce the behavior:

Use a GNOME DE.
Install iris, and just call it with the default config.
No stack trace or error, it just doesn't change the wallpaper.

Expected behavior
The wallpaper should've changed.
Desktop:

OS: Linux
Version of iris you are using: v0.2.0
Your iris config.json file: Default.

Additional context
Likely reason: feh doesn't work on GNOME.

fixed by using a forked copy of github.com/m1cr0man/go-wallpaper


Cursor jumps to the end of the MultiLineTextView whenever you start a newline 1) before the final line + 2) after the last character on the line

Everything works fine, except for this one serious issue I noticed.
STEPS TO REPRODUCE:

Type a few lines of text (that include multiple line breaks)
Move cursor to the end of the first line of text
Press the [Return] key

Notice how the cursor doesn't move to a newline but to the end of the text.
If you however moved the cursor to the beginning/middle (just not end) of the first line, then it would behave correctly.

Hey @bardigolriz ! Did you find a solution? Thanks


Feat/add reversal android

Adds the reverse and boomerang abilities to Android

iOS equivalents to follow later today

Thanks for the feedback @shahen94

Added example usage to the README
Removed the options entirely since they are not used
Modified the return promise to be consistent with trim and crop

@JoshM1994 You're awesome. Thanks !


Docker deployment not documented within README

Checklist

[x] I have read the FAQ
[x] I have checked if this issue already exists (both open and closed issues)
[x] I am using the most recent version of pogom from the master branch
[ ] If this is an installation issue, I am posting my OS, OS version, python version, pip version
[ ] I'm posting the complete log
[x] I'm using a descriptive title for this issue

My Issue
Docker version 1.12.0, build 8eab29e
Deployment with docker not defined within README.  Need instructions on how to run the docker container locally and connect to the image.

I've personally used it with docker-compose with a nginx server in front of it. I  put up a gist earlier with the configuration: . The docker build file needs to be tweaked with options to use mysql though.

Yea, i've got it running on my Docker 1.12 Swarm cluster at home with no issues.  Works like a charm.  The Dockerfile needs a few modifications/additions, but by and large works without a hitch.

@Illydth I'de love to see your tweaks to the dockerfile. I was planning to tweak it to add support for passing variables for mysql.

@Illydth could you submit a PR to this existing project with your tweaks?


Added Keyboard Input for User Values in Basic Calculator

Fixes Issue🛠
Closes #258
Description👨💻
Now user can use their keyboard to enter values, and also on pressing 'enter' the expression is evaluated.
Type of change📄

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)

How this has been tested✅
Tested on my local machine, works and looks as intended
Checklist✅

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have added demonstration in the form of GIF/video file
[x] I am an Open Source Contributor

Video Demo 📷
https://github.com/Rakesh9100/CalcDiverse/assets/86418216/d92bf357-123f-48c3-94e3-143e703f2226

When user is clicking on that input box then only keyboard is working but again if user clicks on any button on the screen then again keyboard don't functions without focusing the cursor @SoumyadevSaha

Restrict the alphabets @SoumyadevSaha

Restrict the alphabets @SoumyadevSaha

Fixed @Rakesh9100

Merged 🥳 @SoumyadevSaha


Restore vue router

See #194

Q
A

Bug fix?
yes

New feature?
no

BC breaks?
no

Deprecations?
no

Tickets
fixes #194

License
MIT

Thanks @jmontoyaa!

@jmontoyaa i dont know how.. but if you using the npx still load you the old code instead of your corrected version for vue router... should be something that need to create new version of client-generator ? @dunglas ???

@Mausino I had the same problem ... I did git clone of the repo, install it, then call it like this:
/srv/http/client-generator/lib/index.js http://example/api/ folder --generator vuetify  --resource documents


Request: APRS beacon

As per title, please add option to have beacon for APRS TX.

Thanks for the feedback.
Just to clarify that idea is to add into the menu the Beacon option and have few timing options like:
menu number xx: Beacon |   | OFF, 1min, 3min, 6min, 10min, 20min, 30min
Regardless if GPS exists, we can write the fixed GPS position, radio will transmit APRS position and call sign every xx munites if beacon is enabled.

all right. I tested a few GPS's and bought a very small GPS for $3 on Aliexpress. I'm waiting because it hasn't been delivered for over a month. lol
…
On Fri, Apr 5, 2024 at 3:50 AM sdoros @.> wrote: As per title, please add option to have beacon for APRS TX. — Reply to this email directly, view it on GitHub <#48>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE4DZPARUMG3GAITUQKPHG3Y3WOGRAVCNFSM6AAAAABFX2EWX6VHI2DSMVQWIX3LMV43ASLTON2WKOZSGIZDMMRYGMZDINQ . You are receiving this because you are subscribed to this thread.Message ID: @.>

Interesting feat:
Count on me for coding or adapting the GPS receiver.