Testing with MBP laptop plugged into monitor leads to framerate drop

Maybe it's too much for my little lappy top to handle. But I noticed when I plug my MBP into my monitor and try to run Proxx, it eventually starts spinning up the fans and the framerate starts to drop.

I’d expect some fans, I would not expect frame rate drops.
 Is the external screen retina?

I believe this screen is retina. I was playing with animations. Basically just opened the site for the first time and as I was playing I noticed it starting to get jerky.

I'll try that at my monitor tomorrow. I'd be surprised tho 🤔 which size was your board? Normal? Hard?

normal I think. Whatever the default settings are.
On Mon, Apr 29, 2019 at 4:22 PM Surma<EMAIL_ADDRESS>wrote:

I'll try that at my monitor tomorrow. I'd be surprised tho 🤔 which size
was your board? Normal? Hard?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/GoogleChromeLabs/proxx/issues/322#issuecomment-487777216,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAIEKDNUWU3RV2GEQVBHSX3PS57LXANCNFSM4HJHMBLA
.

Mariko tried it. We could reproduce the fans (kinda expected for the animated mode), but we didn’t see any framedrops :(


Fix #583: NSUserdefaults synchronize

NSUserdefaults synchronize must be called after app settings have changed.
Added boolean to NSUSerDefaults WOCCatalog page

:clock1:

@bbowman is added to the review. #Closed

:clock1:

textField.textAlignment = UITextAlignmentRight;

Unrelated to this change, but this layout causes this page to be unusable on phone.  Can you make the text field left aligned?

Refers to: samples/WOCCatalog/WOCCatalog/UserDefaultsViewController.m:49 in a37872a. [](commit_id = a37872a2d97035c48efb8527320124d8da4f5164, deletion_comment = False)

textField.backgroundColor = [UIColor blueColor];

can we just use the defaults instead?

Refers to: samples/WOCCatalog/WOCCatalog/UserDefaultsViewController.m:43 in a37872a. [](commit_id = a37872a2d97035c48efb8527320124d8da4f5164, deletion_comment = False)

:clock1:

:clock1:

In CI build.


feat: Show hints for turbo

Test only after merging https://github.com/snapshot-labs/snapshot-hub/pull/925
Summary
Closes: https://github.com/snapshot-labs/workflow/issues/134

Show a message when someone tries to post a proposal over the limit
Show a message when someone tries to add more than the choices limit
Show a message when someone tries to add more than the body chars limit
Fix in apps/ui/src/helpers/validation.ts - Throws an error if we try to add more choices than the limit while keeping all choices empty

How to test

Update limits in apps/ui/src/helpers/turbo.ts
for example:

diff --git a/apps/ui/src/helpers/turbo.ts b/apps/ui/src/helpers/turbo.ts
index 18869ff9..57f3753f 100644
--- a/apps/ui/src/helpers/turbo.ts
+++ b/apps/ui/src/helpers/turbo.ts
@@ -1,15 +1,15 @@
 export const MAX_BODY_LENGTH = {
-  default: 10000,
+  default: 1,
   turbo: 40000
 };

 export const MAX_CHOICES = {
-  default: 500,
+  default: 5,
   turbo: 1000
 };

 export const MAX_1D_PROPOSALS = {
-  default: 20,
+  default: 1,
   turbo: 40
 };

When body chars limit is reached:

When proposals limit is reached:

When choices limit is reached:

Text and the left fire icon do not seem to be aligned

Beside the few UI issues raised above, everything's working well for me
Daily proposal limit on unverified spaces should be on another PR I think, since not related to turbo
There's also the issue about choices count above limit not showing any error message, but not related to this PR

If proposal limit is reached and If space is not verified:

If proposal limit is reached and If space is not turbo but verified:

If choice limit is reached and If space is not turbo:

if chars limit is reached and If space is not turbo: (char limit is 1 here, just to get screenshot)

We're currently showing this hint for onchain spaces, where proposal body is too long (> 10K).
Do not make sense since turbo is not supported yet for onchain spaces

Sorry I'm changing the design, I played a bit with it locally and figured out that the error and the turbo hint are saying something too similar that it doesn't worth making it separate, instead I propose something more light like this:

Others comments:
A: Spacing between the "Add choice" and error message should be 2.
B: It should use leading-6 as line-height
C: We should show formated number with ,
For space proposal limit you can do like this:

Continued in https://github.com/snapshot-labs/sx-monorepo/pull/803


Add more compact bundle protocol and IMU frame (rot+acc)

@ImUrX I think we could adopt SlimeVR protocol instead of introducing our own. But we would need to add some features.
There is a higher chance that a smaller UDP will be delivered than a larger one. Also, we need to reduce the overall amount of data we send because iOS can kill our application if it consumes too many resources (battery, network, CPU, etc.).
Please, if possible, add #997 and #998 with this MR into the upcoming release v0.12.

Bundle protocol exists as a bypass for old hardware that doesn't implement frame aggregation in their networking implementation (ESP8266).
I can see that the optimization of this implementation is only having a subset of packets being supported (as maximum package type is 255u and length is also 255u). But there is no firmware development which verifies that this actually is useful by some benchmarks and a mobile device wouldn't really be taking advantage of it because it already does via frame aggregation

@ImUrX What is the frame aggregation you are talking about?

It's used in Wi-Fi protocols https://en.wikipedia.org/wiki/Frame_aggregation
Bundling was implemented in SlimeVR as ESP8266 doesn't implement frame aggregation.

OK, I see. However, the main point is to reduce the amount of data transferred over the air. This PR reduces it more than three times.
That isn't beneficial for slimes because they have relatively large batteries and don't need to aggregate data from dozens of sensors.
On the other hand, the volume of data transmitted over the air is a critical factor for mobile phones, primarily due to power consumption concerns. For instance, iOS has a policy to terminate any background app that consumes some energy. Therefore, if an iPhone is required to act as a proxy, the data transfer needs to be carefully managed.
The same thing happens for some Android vendors as well.
Mocopi example can't be used here because they have only six sensors and a lower frame rate.

Please split your PR into two, having the IMU packet in another PR and the simplified bundle protocol in another then.

@ImUrX The new packed is here #1001 now

OK, CI passes, please merge it :)

Sorry but we are releasing 0.12 without this PR, we have a release candidate system and it's been almost a month since we released the first one.
We don't really want to do another release candidate because of this.

Can you update the PR?

Do you mean an update from the main? Done.


Update configure-spring-data-gremlin-java-app-with-cosmos-db.md

Fixing ms.author metadata as per email thread with Brendan Mitchell.

#sign-off

Using private repo instead. https://github.com/MicrosoftDocs/azure-dev-docs-pr/pull/76


Whats the point of using ids for genres, themes, platforms?

Wouldn't it be better to just return strings instead when searching for a game?
Or even allow the ability to give the entire list of themes/platforms/genres, so a dev can cache them/store them someplace?
Having to make 3-4 requests to find all the information about 1 game, seems like a redundant thing to do.

Just saw the expand stuff. problem answered!


Why can't one read and write both csv's?

I see in the help that writing to csv isn't allowed if reading from one (when using as a script). What is the reason for this? This is exactly what I was hoping to do. :)
I think I could facilitate this on my own by writing a python script to read my data first, use tzwhere internally, and then writing a csv. But I'm guessing that I'm missing something here otherwise you'd have implemented this.

The import/export options of the script are mainly there to convert between different types of input files if you want to do that, so it doesn't make a lot of sense to go from CSV to CSV file. The script options are not particularly useful from an end-user perspective, but they make it relatively painless to ship with the most up-to-date version of the timezone map (which reminds me that I have to update that), and see whether you broke anything before you commit.
I am not a 100% sure I understand what you exactly want to do, but if you could elaborate a bit that would be great. I feel like I am now the one that is missing something obvious :)
You don't want to export polygons with timezone information by any chance?

I simply need an offline way to append local time to a csv file with
lat/lon/timestamp (UTC). (Actually in my case it's a bunch of csv files at
once so I use glob.) I am doing analysis in R, and so in/out csv means I
can call it from R with 'system(python tzwhere.py)' and then call
'read_csv()" again easily to get the results back in. I've done a quick and
dirty implementation like so:
from tzwhere import tzwhere
import glob
import pandas as pd

def reader(f):
  d = pd.read_csv(f, names=['id', 'latitude', 'longitude', 'timestamp'])
  return d

def main():
  files = glob.glob('*.csv')
  data = pd.concat([reader(f) for f in files], ignore_index=True)
  tz = tzwhere.tzwhere(shapely=True)
  data['local_tz'] = data.apply(lambda row: tz.tzNameAt(row['latitude'],
                                                row['longitude']), axis=1)

  data.to_csv('to_r.csv', index=False)

if __name__ == "__main__":
  main()

---------- Forwarded message ----------
From: cstich<EMAIL_ADDRESS>Date: Tue, Nov 17, 2015 at 6:34 PM
Subject: Re: [pytzwhere] Why can't one read and write both csv's? (#30)
To: pegler/pytzwhere<EMAIL_ADDRESS>Cc: Josie Kressner<EMAIL_ADDRESS>The import/export options of the script are mainly there to convert between
different types of input files if you want to do that, so it doesn't make a
lot of sense to go from CSV to CSV file. The script options are not
particularly useful from an end-user perspective, but they make it
relatively painless to ship with the most up-to-date version of the
timezone map (which reminds me that I have to update that), and see whether
you broke anything before you commit.
I am not a 100% sure I understand what you exactly want to do, but if you
could elaborate a bit that would be great. I feel like I am now the one
that is missing something obvious :)
You don't want to export polygons with timezone information by any chance?
—
Reply to this email directly or view it on GitHub
https://github.com/pegler/pytzwhere/issues/30#issuecomment-157545115.

That makes sense and looks reasonable to me :)

Sure thing. I'll continue to use the script with pandas.


Desktop - Black screen displayed for KYC flow after getting error for SSN

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Issue found when executing PR https://github.com/Expensify/App/pull/14988
Action Performed:
Precondition: User have a personal bank account (PBA) set up with Well Fargo

Have user request money to the user you are testing with
Attempt to pay the money request and verify the KYC wall is triggered
In the additional details form, enter first name Alberta, last name Charleson and SSN as 3333. Enter any data for the other fields.
Click Save & continue
Verify you get an SSN error. Without changing any data, click continue again

Expected Result:
The KBA flow is triggered (flow to verify the identity via questions)
Actual Result:
Black screen displayed for KYC flow after getting error for SSN
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[x] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/219716114-1c730f13-ce8f-487c-97e0-d2697cbeabf6.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

Triggered auto assignment to @isabelastisser (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

cc @MariaHCD
I can't reproduce and it's only on Desktop, I don't think we need to hold the deploy for this.
https://user-images.githubusercontent.com/2229301/219783345-ea022c0c-ba46-4d67-aa0d-28b82304787e.mp4

@francoisl, if this can't be reproduced, can I close it?

I'll give this a look to see if I can reproduce the issue

I'm unable to reproduce the issue as well. @kbecciv could you try one more time?

@MariaHCD Checking with team, will update you shorty

Issue is not longer reproduced
https://user-images.githubusercontent.com/93399543/220154767-389beaea-990c-4668-95c0-d76eee6216e7.mp4

Thanks, @kbecciv! I think we can close this out since it's not reproducible 🙏🏼


Colab pytorch3d module not found

Hi,
When running the Google Colab, pytorch3d seems to not be installing well.
Any help will be appreciated

Please refer to this.


MM-31558: Outgoing webhook on incident's creation

Summary
One more automation! This is a bit more fun, as we are talking to the outside world now via a webhook!
Changes in the backstage
There's a new "Send a webhook" entry in the automations group, with a simple text box. The text box validates itself via some cool input attributes (required and pattern) and CSS pseudo-classes (:invalid) I did not know about.

Correct webhook
Misconfigured webhook

Changes in the DB

New columns in IR_Playbook:

CreationWebhookURL, which contains the, ehem, webhook URL.
CreationWebhookEnabled, that stores the on/off state of the setting.

New column in IR_Incident:

CreationWebhookURL, which stores a copy of the data in the playbook's column when the incident is created. If the playbook's CreationWebhookEnabled contains false, the data is not copied, so there's no need to add a CreationWebhookEnabled column to the IR_Incident table.

Changes in the service
When the incident is created, a POST request is sent to the URL with a payload consisting of the incident data plus a couple of absolute URLs: one to the incident's channel, and another one to the incident's details in the backstage. I decided to isolate this work in a goroutine because I did not want to block the incident creation with the response from an external server we know nothing about.
If the response to the request is not in the 2XX range, the bot posts a message in the incident's channel warning about it. There are no retries whatsoever.

Changes in api.yaml
I noticed I had not updated the api.yaml file with any of the automations. I fixed it here! I also learned that we can add "callbacks" to document outgoing requests, which is nice. The only downside is that you need to tie it to one of the paths, so I added it to the playbook creation, which is the one that defines the URL.

Tests
I tested that the webhook is sent and that the payload is correct in service_test.go. I added E2E tests for the overall feature (basically, I'm checking that the error message is not posted if the webhook is correctly configured, and viceversa). I did not add any more E2E tests per our latest discussions on the mindset change!
Ticket Link
https://mattermost.atlassian.net/browse/MM-31563

@justinegeffen, I wanted to know your opinion on the bot's message. And, if you have time, on the changes in the api.yaml file

Sorry for the forced push, this was based on #495 and a simple merge was a bit cumbersome. All good to go now.

/update-branch

@crspeller, ready for re-review!

/update-branch

/update-branch

Skipping QA review because this feature is fairly isolated.


Add additional configuration options for fetching client.pem contents from WIndows Certificate Store

Background
As a followup to https://github.com/chef/chef/issues/10666 we need to offer additional configuration options to allow users to fine-tune how they fetch the client certificate content when running the chef-client binary.

Acceptance Criteria

A configuration option will be added to control the name of the store to look for the certificate in. This defaults to "MY"

I think we can skip this one until folks ask for it


Fix error message overlap on zoom

Details

Here is the explanation of how I came up with minHeight value of 114

IOU Amount takes 52 as lineheight
The error message has max lineHeight of 23
https://github.com/Expensify/App/blob/d8dc3143385bbf78e7f7a1ff7fb8c65e517c8ba0/src/styles/variables.ts#L107-L108
The parent view of the error message has margin top of 8
https://github.com/Expensify/App/blob/d8dc3143385bbf78e7f7a1ff7fb8c65e517c8ba0/src/components/FormHelpMessage.tsx#L38
So now as the amount input will be center of the parent view there will be a space the same as the space where the error message will be displayed on above the amount input the total minHeight = 2 * (23 + 8) + 52 = 114
The only doubt I have is that the error message will be displayed in two lines (when the width is not enought for zoomed font size) so we can increase the lineHeight accordingly. Let me have your thoughts, the only reason I didn't do it is b/c it looked like excess space to me 👍

Fixed Issues

$ https://github.com/Expensify/App/issues/32661
PROPOSAL: https://github.com/Expensify/App/issues/32661#issuecomment-1845686506
Tests

Go to staging.new.expensify.com on mweb Safari
Go to any chat > + > Request money
Click Next without entering the amount
Increase the zoom level to 150%
Verify that the error message doesn't overlap with amount input

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@FitseTLT Please could you add a screenshot for Android Native? Thanks!

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@FitseTLT Please could you add a screenshot for Android Native? Thanks!

I did but it was dropped right in the middle of the comment. Updated Thanks 👍

the space where the error message will be displayed on above the amount input the total minHeight = 2 * (23 + 8) + 52 = 114

@FitseTLT Is there a way we could calculate moneyRequestAmountContainer from the values you mention instead of having it hard-coded?

the space where the error message will be displayed on above the amount input the total minHeight = 2 * (23 + 8) + 52 = 114

@FitseTLT Is there a way we could calculate moneyRequestAmountContainer from the values you mention instead of having it hard-coded?

Even better. Updated 👍

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/flodnv in version: 1.4.15-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.4.15-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


Youtube music not working Play now must be used Start radio

What version of Music Assistant has the issue?
2.0.0b69
The problem
I don't know much English, so I'm adding a video with the problem.
Thank you
https://www.youtube.com/watch?v=-76y9iNj-ho
How to reproduce
I don't know much English, so I'm adding a video with the problem.
Thank you
https://www.youtube.com/watch?v=-76y9iNj-ho
Relevant log output
2023-08-05 09:51:24.761 INFO (MainThread) [music_assistant] Starting Music Assistant Server (d9742c16fb3c42daa204dad872aa84c9) version 2.0.0b69 - uvloop: False
2023-08-05 09:51:24.974 INFO (MainThread) [music_assistant.webserver] Starting server on  <IP_ADDRESS>:8095 - base url: http://<IP_ADDRESS>:8095
2023-08-05 09:51:25.168 INFO (MainThread) [music_assistant.music] Setting up the sync interval to 180 minutes.
2023-08-05 09:51:26.939 INFO (MainThread) [music_assistant.streams] Detected ffmpeg version 5.1.3 with libsoxr support
2023-08-05 09:51:26.939 INFO (MainThread) [music_assistant.streams] Starting server on  <IP_ADDRESS>:8096 - base url: http://<IP_ADDRESS>:8096
2023-08-05 09:51:27.941 INFO (MainThread) [music_assistant] Loaded player provider UPnP/DLNA Player provider
2023-08-05 09:51:27.941 INFO (MainThread) [music_assistant] Loaded metadata provider fanart.tv Metadata provider
2023-08-05 09:51:27.941 INFO (MainThread) [music_assistant] Loaded music provider URL
2023-08-05 09:51:27.943 INFO (MainThread) [music_assistant] Loaded metadata provider MusicBrainz Metadata provider
2023-08-05 09:51:27.943 INFO (MainThread) [music_assistant] Loaded metadata provider TheAudioDB Metadata provider
2023-08-05 09:51:27.943 INFO (MainThread) [music_assistant] Loaded player provider SONOS
2023-08-05 09:51:28.098 INFO (MainThread) [music_assistant] Loaded player provider Universal Group Player
2023-08-05 09:51:28.105 INFO (MainThread) [music_assistant.music] Sync task for URL completed
2023-08-05 09:51:28.113 INFO (MainThread) [music_assistant] Loaded player provider Chromecast
2023-08-05 09:51:28.116 INFO (MainThread) [music_assistant.providers.slimproto] Started SLIMProto server on port 3483
2023-08-05 09:51:28.117 INFO (MainThread) [music_assistant.providers.slimproto.cli] Registering jsonrpc endpoints on the webserver
2023-08-05 09:51:28.122 INFO (MainThread) [music_assistant.providers.slimproto.cli] Starting (telnet) CLI on port 9090
2023-08-05 09:51:28.129 INFO (MainThread) [music_assistant] Loaded player provider Slimproto
2023-08-05 09:51:28.212 INFO (MainThread) [music_assistant.players] Player registered: 57cd4a7d-6af7-b684-bcfb-33a72f38da59/GarĂˇĹľ rĂˇdio
2023-08-05 09:51:28.423 INFO (MainThread) [music_assistant] Loaded music provider RadioBrowser
2023-08-05 09:51:28.424 INFO (MainThread) [music_assistant.music] Sync task for RadioBrowser completed
2023-08-05 09:51:28.945 INFO (MainThread) [music_assistant] Loaded player provider Airplay
2023-08-05 09:51:32.135 INFO (MainThread) [music_assistant] Loaded music provider YouTube Music
2023-08-05 09:51:38.057 INFO (MainThread) [music_assistant.music] Sync task for YouTube Music completed
2023-08-05 09:59:11.412 ERROR (MainThread) [music_assistant.webserver] [140471266292752] Error handling message: CommandMessage(message_id=25, command='players/queue/play_media', args={'queue_id': '57cd4a7d-6af7-b684-bcfb-33a72f38da59', 'media': ['library://playlist/2'], 'option': 'replace'})
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/webserver.py", line 372, in _run_handler
result = await result
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/player_queues.py", line 210, in play_media
await self.mass.music.mark_item_played(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/music.py", line 508, in mark_item_played
await self.database.insert(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 105, in insert
await self.execute(sql_query, values)
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 151, in execute
return await self._db.execute(query, values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 190, in execute
cursor = await self._execute(self._conn.execute, sql, parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 133, in _execute
return await future
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 106, in run
result = function()
^^^^^^^^^^
sqlite3.OperationalError: table playlog has no column named media_type
2023-08-05 09:59:20.850 ERROR (MainThread) [music_assistant.webserver] [140471266292752] Error handling message: CommandMessage(message_id=26, command='players/queue/play_media', args={'queue_id': '57cd4a7d-6af7-b684-bcfb-33a72f38da59', 'media': ['library://playlist/2'], 'option': 'replace'})
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/webserver.py", line 372, in _run_handler
result = await result
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/player_queues.py", line 210, in play_media
await self.mass.music.mark_item_played(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/music.py", line 508, in mark_item_played
await self.database.insert(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 105, in insert
await self.execute(sql_query, values)
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 151, in execute
return await self._db.execute(query, values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 190, in execute
cursor = await self._execute(self._conn.execute, sql, parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 133, in _execute
return await future
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 106, in run
result = function()
^^^^^^^^^^
sqlite3.OperationalError: table playlog has no column named media_type
2023-08-05 09:59:47.275 INFO (MainThread) [music_assistant.players] Player registered: 92e62147-7f8f-6368-0fc9-00226ec5c441/MIBOX4
2023-08-05 09:59:56.966 INFO (ThreadPoolExecutor-0_2) [pychromecast] Quitting current app
2023-08-05 09:59:56.966 INFO (ThreadPoolExecutor-0_2) [pychromecast.controllers] Receiver:Stopping current app 'E8C28D3C'
2023-08-05 09:59:56.978 INFO (ThreadPoolExecutor-0_2) [pychromecast.controllers] Receiver:Launching app CC1AD845
2023-08-05 10:00:04.452 ERROR (MainThread) [music_assistant.webserver] [140471266292752] Error handling message: CommandMessage(message_id=43, command='players/queue/play_media', args={'queue_id': '57cd4a7d-6af7-b684-bcfb-33a72f38da59', 'media': ['library://playlist/2'], 'option': 'replace'})
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/webserver.py", line 372, in _run_handler
result = await result
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/player_queues.py", line 210, in play_media
await self.mass.music.mark_item_played(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/music.py", line 508, in mark_item_played
await self.database.insert(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 105, in insert
await self.execute(sql_query, values)
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 151, in execute
return await self._db.execute(query, values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 190, in execute
cursor = await self._execute(self._conn.execute, sql, parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 133, in _execute
return await future
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 106, in run
result = function()
^^^^^^^^^^
sqlite3.OperationalError: table playlog has no column named media_type
2023-08-05 10:00:10.329 ERROR (MainThread) [music_assistant.webserver] [140471266292752] Error handling message: CommandMessage(message_id=45, command='players/queue/play_media', args={'queue_id': '92e62147-7f8f-6368-0fc9-00226ec5c441', 'media': ['library://playlist/2'], 'option': 'replace'})
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/webserver.py", line 372, in _run_handler
result = await result
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/player_queues.py", line 210, in play_media
await self.mass.music.mark_item_played(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/music.py", line 508, in mark_item_played
await self.database.insert(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 105, in insert
await self.execute(sql_query, values)
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 151, in execute
return await self._db.execute(query, values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 190, in execute
cursor = await self._execute(self._conn.execute, sql, parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 133, in _execute
return await future
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 106, in run
result = function()
^^^^^^^^^^
sqlite3.OperationalError: table playlog has no column named media_type
2023-08-05 10:00:26.813 ERROR (ThreadPoolExecutor-0_1) [asyncio] Task exception was never retrieved
future: <Task finished name='Task-281' coro=<StreamsController.serve_queue_item_stream..read_audio() done, defined at /usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/streams.py:522> exception=OperationalError('table playlog has no column named media_type')>
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/audio.py", line 491, in get_media_stream
raise err
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/audio.py", line 441, in get_media_stream
async for chunk in ffmpeg_proc.iter_chunked(chunk_size):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/process.py", line 71, in iter_chunked
chunk = await self.readexactly(n)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/process.py", line 89, in readexactly
return await self._proc.stdout.readexactly(n)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/streams.py", line 729, in readexactly
await self._wait_for_data('readexactly')
File "/usr/local/lib/python3.11/asyncio/streams.py", line 522, in _wait_for_data
await self._waiter
asyncio.exceptions.CancelledError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/streams.py", line 524, in read_audio
async for chunk in get_media_stream(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/audio.py", line 496, in get_media_stream
await mass.music.mark_item_played(
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 106, in run
result = function()
^^^^^^^^^^
sqlite3.OperationalError: table playlog has no column named media_type
2023-08-05 10:00:38.504 ERROR (MainThread) [music_assistant.webserver] [140471266292752] Error handling message: CommandMessage(message_id=46, command='players/queue/play_media', args={'queue_id': '92e62147-7f8f-6368-0fc9-00226ec5c441', 'media': ['library://playlist/2'], 'option': 'replace'})
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/webserver.py", line 372, in _run_handler
result = await result
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/player_queues.py", line 210, in play_media
await self.mass.music.mark_item_played(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/music.py", line 508, in mark_item_played
await self.database.insert(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 105, in insert
await self.execute(sql_query, values)
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 151, in execute
return await self._db.execute(query, values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 190, in execute
cursor = await self._execute(self._conn.execute, sql, parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 133, in _execute
return await future
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 106, in run
result = function()
^^^^^^^^^^
sqlite3.OperationalError: table playlog has no column named media_type
2023-08-05 10:00:46.719 ERROR (MainThread) [music_assistant.webserver] [140471266292752] Error handling message: CommandMessage(message_id=47, command='players/queue/play_media', args={'queue_id': '57cd4a7d-6af7-b684-bcfb-33a72f38da59', 'media': ['library://playlist/2'], 'option': 'replace_next'})
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/webserver.py", line 372, in _run_handler
result = await result
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/player_queues.py", line 210, in play_media
await self.mass.music.mark_item_played(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/music.py", line 508, in mark_item_played
await self.database.insert(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 105, in insert
await self.execute(sql_query, values)
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 151, in execute
return await self._db.execute(query, values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 190, in execute
cursor = await self._execute(self._conn.execute, sql, parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 133, in _execute
return await future
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 106, in run
result = function()
^^^^^^^^^^
sqlite3.OperationalError: table playlog has no column named media_type
2023-08-05 10:00:50.365 ERROR (MainThread) [music_assistant.webserver] [140471266292752] Error handling message: CommandMessage(message_id=48, command='players/queue/play_media', args={'queue_id': '57cd4a7d-6af7-b684-bcfb-33a72f38da59', 'media': ['library://playlist/2'], 'option': 'add'})
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/webserver.py", line 372, in _run_handler
result = await result
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/player_queues.py", line 210, in play_media
await self.mass.music.mark_item_played(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/music.py", line 508, in mark_item_played
await self.database.insert(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 105, in insert
await self.execute(sql_query, values)
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 151, in execute
return await self._db.execute(query, values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 190, in execute
cursor = await self._execute(self._conn.execute, sql, parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 133, in _execute
return await future
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 106, in run
result = function()
^^^^^^^^^^
sqlite3.OperationalError: table playlog has no column named media_type
2023-08-05 10:01:39.349 INFO (MainThread) [music_assistant.players] Player registered: uuid:b81ad56d-a181-dbee-006c-5c55fa887052/[LG] webOS TV
2023-08-05 10:03:50.869 ERROR (MainThread) [music_assistant.webserver] [140471208142672] Error handling message: CommandMessage(message_id=12, command='players/queue/play_media', args={'queue_id': '57cd4a7d-6af7-b684-bcfb-33a72f38da59', 'media': ['library://playlist/2'], 'option': 'replace'})
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/webserver.py", line 372, in _run_handler
result = await result
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/player_queues.py", line 210, in play_media
await self.mass.music.mark_item_played(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/music.py", line 508, in mark_item_played
await self.database.insert(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 105, in insert
await self.execute(sql_query, values)
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 151, in execute
return await self._db.execute(query, values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 190, in execute
cursor = await self._execute(self._conn.execute, sql, parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 133, in _execute
return await future
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 106, in run
result = function()
^^^^^^^^^^
sqlite3.OperationalError: table playlog has no column named media_type
2023-08-05 10:03:55.522 ERROR (MainThread) [music_assistant.webserver] [140471208142672] Error handling message: CommandMessage(message_id=13, command='players/queue/play_media', args={'queue_id': '57cd4a7d-6af7-b684-bcfb-33a72f38da59', 'media': ['library://playlist/2'], 'option': 'replace'})
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/webserver.py", line 372, in _run_handler
result = await result
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/player_queues.py", line 210, in play_media
await self.mass.music.mark_item_played(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/music.py", line 508, in mark_item_played
await self.database.insert(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 105, in insert
await self.execute(sql_query, values)
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 151, in execute
return await self._db.execute(query, values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 190, in execute
cursor = await self._execute(self._conn.execute, sql, parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 133, in _execute
return await future
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 106, in run
result = function()
^^^^^^^^^^
sqlite3.OperationalError: table playlog has no column named media_type
2023-08-05 10:04:12.451 ERROR (MainThread) [music_assistant.webserver] [140471208142672] Error handling message: CommandMessage(message_id=17, command='players/queue/play_media', args={'queue_id': '57cd4a7d-6af7-b684-bcfb-33a72f38da59', 'media': ['library://playlist/2'], 'option': 'replace'})
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/webserver.py", line 372, in _run_handler
result = await result
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/player_queues.py", line 210, in play_media
await self.mass.music.mark_item_played(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/music.py", line 508, in mark_item_played
await self.database.insert(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 105, in insert
await self.execute(sql_query, values)
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 151, in execute
return await self._db.execute(query, values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 190, in execute
cursor = await self._execute(self._conn.execute, sql, parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 133, in _execute
return await future
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 106, in run
result = function()
^^^^^^^^^^
sqlite3.OperationalError: table playlog has no column named media_type
2023-08-05 10:04:17.647 ERROR (MainThread) [asyncio] Task exception was never retrieved
future: <Task finished name='Task-445' coro=<StreamsController.serve_queue_item_stream..read_audio() done, defined at /usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/streams.py:522> exception=OperationalError('table playlog has no column named media_type')>
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/audio.py", line 491, in get_media_stream
raise err
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/audio.py", line 441, in get_media_stream
async for chunk in ffmpeg_proc.iter_chunked(chunk_size):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/process.py", line 71, in iter_chunked
chunk = await self.readexactly(n)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/process.py", line 89, in readexactly
return await self._proc.stdout.readexactly(n)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/streams.py", line 729, in readexactly
await self._wait_for_data('readexactly')
File "/usr/local/lib/python3.11/asyncio/streams.py", line 522, in _wait_for_data
await self._waiter
asyncio.exceptions.CancelledError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/streams.py", line 524, in read_audio
async for chunk in get_media_stream(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/audio.py", line 496, in get_media_stream
await mass.music.mark_item_played(
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 106, in run
result = function()
^^^^^^^^^^
sqlite3.OperationalError: table playlog has no column named media_type
2023-08-05 10:04:17.649 ERROR (MainThread) [asyncio] Task exception was never retrieved
future: <Task finished name='Task-424' coro=<StreamsController.serve_queue_item_stream..read_audio() done, defined at /usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/streams.py:522> exception=OperationalError('table playlog has no column named media_type')>
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/audio.py", line 491, in get_media_stream
raise err
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/audio.py", line 441, in get_media_stream
async for chunk in ffmpeg_proc.iter_chunked(chunk_size):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/process.py", line 71, in iter_chunked
chunk = await self.readexactly(n)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/process.py", line 89, in readexactly
return await self._proc.stdout.readexactly(n)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/streams.py", line 729, in readexactly
await self._wait_for_data('readexactly')
File "/usr/local/lib/python3.11/asyncio/streams.py", line 522, in _wait_for_data
await self._waiter
asyncio.exceptions.CancelledError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/streams.py", line 524, in read_audio
async for chunk in get_media_stream(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/audio.py", line 496, in get_media_stream
await mass.music.mark_item_played(
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 106, in run
result = function()
^^^^^^^^^^
sqlite3.OperationalError: table playlog has no column named media_type
2023-08-05 10:04:17.712 ERROR (MainThread) [music_assistant.webserver] [140471208142672] Error handling message: CommandMessage(message_id=18, command='players/queue/play_media', args={'queue_id': '57cd4a7d-6af7-b684-bcfb-33a72f38da59', 'media': ['library://playlist/2'], 'option': 'replace'})
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/webserver.py", line 372, in _run_handler
result = await result
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/player_queues.py", line 210, in play_media
await self.mass.music.mark_item_played(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/music.py", line 508, in mark_item_played
await self.database.insert(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 105, in insert
await self.execute(sql_query, values)
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 151, in execute
return await self._db.execute(query, values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 190, in execute
cursor = await self._execute(self._conn.execute, sql, parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 133, in _execute
return await future
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 106, in run
result = function()
^^^^^^^^^^
sqlite3.OperationalError: table playlog has no column named media_type
2023-08-05 10:04:44.341 INFO (MainThread) [music_assistant.metadata] Unable to get musicbrainz ID for artist AleĹˇ Brichta Trio

using lookup-album(s): DĂvka s perlami ve vlasech (Best Of)/Papirovej drak/Divadlo snĹŻ/Legendy 2/AndÄ›l PoslednĂho Soudu/American Bull (New Edition)/HledaÄŤ PokladĹŻ/RĂˇno Ve DveĹ™Ăch ArmĂˇdy SpĂˇsy/RĹŻĹľe Pro Algernon/DĂvka s perlami ve vlasech (Best Of)/Papirovej drak/Divadlo snĹŻ/Legendy 2/AndÄ›l PoslednĂho Soudu/American Bull (New Edition)/HledaÄŤ PokladĹŻ/RĂˇno Ve DveĹ™Ăch ArmĂˇdy SpĂˇsy/RĹŻĹľe Pro Algernon
using lookup-track(s): DĂvka S Perlami Ve Vlasech/Nechte vlajky vlĂˇt/BarĂˇk Na VodstĹ™el/DĂvka s perlami ve vlasech 2000 (GyĂ¶ngyhajĂş lĂˇny)/VĂ˝let Do BĂˇjĂ/AndĂlek/Jednou To PochopĂĹˇ/Lidi Jsou Lidi/Peklo uĹľ ÄŤekĂˇ/Noc kouzel (Poison - Alice Cooper)/V UniformÄ› Lokaje/American Bull/ZemĹ™Ăt Je NepovinnĂ˝/Sirael/RĂˇno Ve DveĹ™Ăch ArmĂˇdy SpĂˇsy/NemĂˇm/PoslednĂ legionĂˇĹ™/BĂlĂˇ PanĂ/Jako Za Mlada (Live)/PlĂˇÄŤ spĂˇlĂ smĂch (Out In The Fields - Thin Lizzy)/TulĂˇk Po HvÄ›zdĂˇch/Spravedlnost BĂ˝vĂˇ SlepĂˇ/DĂky Za KaĹľdej Den/Satanica/DĂˇvno (feat. Blanka Ĺ rĹŻmovĂˇ)

2023-08-05 10:04:46.102 ERROR (MainThread) [music_assistant.webserver] [140471208142672] Error handling message: CommandMessage(message_id=27, command='players/queue/play_media', args={'queue_id': '57cd4a7d-6af7-b684-bcfb-33a72f38da59', 'media': ['library://playlist/2'], 'option': 'replace'})
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/webserver.py", line 372, in _run_handler
result = await result
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/player_queues.py", line 210, in play_media
await self.mass.music.mark_item_played(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/music.py", line 508, in mark_item_played
await self.database.insert(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 105, in insert
await self.execute(sql_query, values)
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 151, in execute
return await self._db.execute(query, values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 190, in execute
cursor = await self._execute(self._conn.execute, sql, parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 133, in _execute
return await future
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 106, in run
result = function()
^^^^^^^^^^
sqlite3.OperationalError: table playlog has no column named media_type
2023-08-05 10:04:57.345 ERROR (MainThread) [music_assistant.webserver] [140471208142672] Error handling message: CommandMessage(message_id=31, command='music/recently_played_items', args={'limit': 20, 'media_types': ['track', 'radio']})
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/webserver.py", line 372, in _run_handler
result = await result
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/music.py", line 301, in recently_played
db_rows = await self.mass.music.database.get_rows_from_query(query, limit=limit)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 54, in get_rows_from_query
return await self._db.execute_fetchall(query, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 209, in execute_fetchall
return await self._execute(self._execute_fetchall, sql, parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 133, in _execute
return await future
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 106, in run
result = function()
^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 85, in _execute_fetchall
cursor = self._conn.execute(sql, parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sqlite3.OperationalError: no such column: media_type
2023-08-05 10:04:57.374 ERROR (MainThread) [music_assistant.webserver] [140471208142672] Error handling message: CommandMessage(message_id=34, command='music/recently_played_items', args={'limit': 10, 'media_types': ['playlist']})
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/webserver.py", line 372, in _run_handler
result = await result
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/music.py", line 301, in recently_played
db_rows = await self.mass.music.database.get_rows_from_query(query, limit=limit)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 54, in get_rows_from_query
return await self._db.execute_fetchall(query, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 209, in execute_fetchall
return await self._execute(self._execute_fetchall, sql, parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 133, in _execute
return await future
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 106, in run
result = function()
^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 85, in _execute_fetchall
cursor = self._conn.execute(sql, parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sqlite3.OperationalError: no such column: media_type
2023-08-05 10:04:57.378 ERROR (MainThread) [music_assistant.webserver] [140471208142672] Error handling message: CommandMessage(message_id=35, command='music/recently_played_items', args={'limit': 10, 'media_types': ['radio']})
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/webserver.py", line 372, in _run_handler
result = await result
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/music.py", line 301, in recently_played
db_rows = await self.mass.music.database.get_rows_from_query(query, limit=limit)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 54, in get_rows_from_query
return await self._db.execute_fetchall(query, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 209, in execute_fetchall
return await self._execute(self._execute_fetchall, sql, parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 133, in _execute
return await future
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 106, in run
result = function()
^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 85, in _execute_fetchall
cursor = self._conn.execute(sql, parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sqlite3.OperationalError: no such column: media_type
2023-08-05 10:04:57.791 WARNING (Thread-6) [music_assistant.providers.chromecast] Load media failed: None - error code: 104
2023-08-05 10:05:16.696 ERROR (MainThread) [music_assistant.webserver] [140471208142672] Error handling message: CommandMessage(message_id=42, command='players/queue/play_media', args={'queue_id': '57cd4a7d-6af7-b684-bcfb-33a72f38da59', 'media': ['library://playlist/2'], 'option': 'replace'})
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/webserver.py", line 372, in _run_handler
result = await result
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/player_queues.py", line 210, in play_media
await self.mass.music.mark_item_played(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/music.py", line 508, in mark_item_played
await self.database.insert(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 105, in insert
await self.execute(sql_query, values)
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 151, in execute
return await self._db.execute(query, values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 190, in execute
cursor = await self._execute(self._conn.execute, sql, parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 133, in _execute
return await future
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 106, in run
result = function()
^^^^^^^^^^
sqlite3.OperationalError: table playlog has no column named media_type
2023-08-05 10:05:23.183 ERROR (MainThread) [music_assistant.webserver] [140471208142672] Error handling message: CommandMessage(message_id=43, command='players/queue/play_media', args={'queue_id': '57cd4a7d-6af7-b684-bcfb-33a72f38da59', 'media': ['library://playlist/2'], 'option': 'replace'})
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/webserver.py", line 372, in _run_handler
result = await result
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/player_queues.py", line 210, in play_media
await self.mass.music.mark_item_played(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/music.py", line 508, in mark_item_played
await self.database.insert(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 105, in insert
await self.execute(sql_query, values)
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/database.py", line 151, in execute
return await self._db.execute(query, values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 190, in execute
cursor = await self._execute(self._conn.execute, sql, parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 133, in _execute
return await future
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 106, in run
result = function()
^^^^^^^^^^
sqlite3.OperationalError: table playlog has no column named media_type
2023-08-05 10:06:57.958 ERROR (MainThread) [asyncio] Task exception was never retrieved
future: <Task finished name='Task-616' coro=<StreamsController.serve_queue_item_stream..read_audio() done, defined at /usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/streams.py:522> exception=OperationalError('table playlog has no column named media_type')>
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/audio.py", line 491, in get_media_stream
raise err
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/audio.py", line 441, in get_media_stream
async for chunk in ffmpeg_proc.iter_chunked(chunk_size):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/process.py", line 71, in iter_chunked
chunk = await self.readexactly(n)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/process.py", line 89, in readexactly
return await self._proc.stdout.readexactly(n)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/streams.py", line 729, in readexactly
await self._wait_for_data('readexactly')
File "/usr/local/lib/python3.11/asyncio/streams.py", line 522, in _wait_for_data
await self._waiter
asyncio.exceptions.CancelledError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/streams.py", line 524, in read_audio
async for chunk in get_media_stream(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/audio.py", line 496, in get_media_stream
await mass.music.mark_item_played(
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 106, in run
result = function()
^^^^^^^^^^
sqlite3.OperationalError: table playlog has no column named media_type
2023-08-05 10:06:57.961 ERROR (MainThread) [asyncio] Task exception was never retrieved
future: <Task finished name='Task-779' coro=<StreamsController.serve_queue_item_stream..read_audio() done, defined at /usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/streams.py:522> exception=OperationalError('table playlog has no column named media_type')>
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/audio.py", line 491, in get_media_stream
raise err
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/audio.py", line 441, in get_media_stream
async for chunk in ffmpeg_proc.iter_chunked(chunk_size):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/process.py", line 71, in iter_chunked
chunk = await self.readexactly(n)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/process.py", line 89, in readexactly
return await self._proc.stdout.readexactly(n)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/streams.py", line 729, in readexactly
await self._wait_for_data('readexactly')
File "/usr/local/lib/python3.11/asyncio/streams.py", line 522, in _wait_for_data
await self._waiter
asyncio.exceptions.CancelledError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/streams.py", line 524, in read_audio
async for chunk in get_media_stream(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/audio.py", line 496, in get_media_stream
await mass.music.mark_item_played(
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 106, in run
result = function()
^^^^^^^^^^
sqlite3.OperationalError: table playlog has no column named media_type
2023-08-05 10:06:57.964 ERROR (MainThread) [asyncio] Task exception was never retrieved
future: <Task finished name='Task-855' coro=<StreamsController.serve_queue_item_stream..read_audio() done, defined at /usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/streams.py:522> exception=OperationalError('table playlog has no column named media_type')>
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/audio.py", line 491, in get_media_stream
raise err
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/audio.py", line 441, in get_media_stream
async for chunk in ffmpeg_proc.iter_chunked(chunk_size):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/process.py", line 71, in iter_chunked
chunk = await self.readexactly(n)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/process.py", line 89, in readexactly
return await self._proc.stdout.readexactly(n)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/streams.py", line 729, in readexactly
await self._wait_for_data('readexactly')
File "/usr/local/lib/python3.11/asyncio/streams.py", line 522, in _wait_for_data
await self._waiter
asyncio.exceptions.CancelledError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/streams.py", line 524, in read_audio
async for chunk in get_media_stream(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/helpers/audio.py", line 496, in get_media_stream
await mass.music.mark_item_played(
File "/usr/local/lib/python3.11/site-packages/aiosqlite/core.py", line 106, in run
result = function()
^^^^^^^^^^
sqlite3.OperationalError: table playlog has no column named media_type
Additional information
No response
What version of Home Assistant Core are your running
2023.8.0
What type of installation are you running?
Home Assistant OS
On what type of hardware are you running?
 Did you restore a partial backup or something ?
Only way to recover from this is complete reinstall of Music Assistant.
So both the HA integration and the add-on.
If you used the HACS integration to install the add-on, the add-on will be removed as well by just removing the integration in HA.


Delete existing CRs when joining

When joining a cluster, we currently try to update existing Submariner
CRs. But this causes problems if the CRD has been updated in a
non-backwards-compatible fashion (which is allowable since it's still
v1alpha1): on conflict, we try to retrieve the current CR, but that
fails because the existing CR doesn't match the CRD and therefore
can't be unmarshalled. The only reason we retrieve the existing CR is
to copy its resource version to the new CR.
With this change, existing CRs are blindly deleted on conflict, which
allows upgrades to proceed.
Signed-off-by: Stephen Kitt<EMAIL_ADDRESS>

Summarizing 3 Failures:

[Fail] [discovery] Test Service Discovery Across Clusters when a pod tries to resolve a service which is present locally and in a remote cluster [It] should resolve the local service
/go/src/github.com/submariner-io/submariner-operator/vendor/github.com/submariner-io/shipyard/test/e2e/framework/framework.go:371

[Fail] [discovery] Test Service Discovery Across Clusters when service export is created before the service [It] should resolve the service
/go/src/github.com/submariner-io/submariner-operator/vendor/github.com/submariner-io/shipyard/test/e2e/framework/framework.go:371

[Fail] [discovery] Test Service Discovery Across Clusters when there are no active pods for a service [It] should not resolve the service
/go/src/github.com/submariner-io/submariner-operator/vendor/github.com/submariner-io/shipyard/test/e2e/framework/framework.go:371

Do we know what's going wrong? Collect logs and retrigger?

Logs: https://pastebin.com/Xs029a10
Retriggering...


Could you offer the best values of the necessary parameters of der?

I didn't see the best values of alpha, beta, learning_rate in the paper of der, but the code need me set these values by myself. Could you offer them or are they in the paper or code?

Man it's all there in the Appendix!


Add the ability to specify '_none' as a target

This change adds the "_none" target, which can be used to tell Alpine Ajax that you don't want to reload the page or modify the DOM, you just want to send the request (likely a POST request), and stay on the page you're already on.
Also added some tests for it.

Hey! Thanks for following up with some examples, that helps me wrap my head around this a little more.
I’m still torn on accepting this: It would push state management back to the frontend which is something I’m not keen on encouraging. But, it could also be useful as a kind of “escape hatch” in some situations.
My rule of thumb so far has been to make the “good” way to do things a part of the HTML API and the more “client-side-state” things available in the JavaScript API.  I wonder if this functionality should instead exist on the JS side of things? Like we could expose a function primitive to issue a requests and another primitive to merge content on the page.

Ok, you convinced me. Thanks for your patience with this!


Happymh could not pass cloudflare

Source information
Happymh 1.4.13
Source language
Chinese
Steps to reproduce

choose webview
Pass webview cloudflare test
Back to chapter
Choose chapter
Back screen and keep loading
Show could not pass cloudflare message

Expected behavior
Should show galleries
Actual behavior
Back screen and keep loading
Mihon/Tachiyomi version
0.15.3
Android version
14
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to version 0.15.3.
[X] I have updated all installed extensions.
[X] I have tried the troubleshooting guide.
[X] If this is an issue with the app itself, I should be opening an issue in the app repository.
[X] I will fill out all of the requested information in this form.

Add a :+1: reaction to issues you find important.

Unfortunately,  any cloudflare issues they will just close the issues

yes，I cannot use it ，either

still facing this


[material-ui][Select] displayEmpty=true renders label over value

The problem in depth
When MenuItem value is empty string, see code below, form control label is rendered over the selected item content.
                <FormControl sx={{ minWidth: 300 }} size={'small'}>
                    <InputLabel id={'calculatorLabel'}>Calculator</InputLabel>
                    <Select
                        labelId={'calculatorLabel'}
                        value={calculator}
                        label={'Calculator'}
                        onChange={(e) => setCalculator(e.target.value)}
                        displayEmpty={true}
                    >
                        <MenuItem value={''}>
                            All
                        </MenuItem>
                        {_.map(calculatorsQuery.data, (c) => (
                            <MenuItem key={c.name} value={c.name}>
                                {c.name}
                            </MenuItem>
                        ))}
                    </Select>
                </FormControl>

Your environment

`npx @mui/envinfo`
  Don't forget to mention which browser you used.
  Output from `npx @mui/envinfo` goes here.

Search keywords: Select displayEmpty
Order ID: 52426
Search keywords:

Hey @rgavrilov i have two suggestions you can try:

provide a Default`<Select
labelId={'calculatorLabel'}
value={calculator || ''}
label={'Calculator'}
onChange={(e) => setCalculator(e.target.value)}
displayEmpty={true}

<MenuItem value={''}>
    All
</MenuItem>
{/* Other MenuItem components */}

`

Hey @rgavrilov i have two suggestions you can try:

You can provide a default non-empty value for the Select component.
`<Select
labelId={'calculatorLabel'}
value={calculator || ''}
label={'Calculator'}
onChange={(e) => setCalculator(e.target.value)}
displayEmpty={true}

<MenuItem value={''}>
    All
</MenuItem>
{/* Other MenuItem components */}

`

Hey @rgavrilov i have two suggestions you can try:
1)You can provide a default non-empty value for the Select component.
2)You can conditionally render the InputLabel based on whether the selected value is empty or not.
See whatever works best for you.

@rgavrilov The positioning of the label depends internally whether the component has a value, and in the current API "" is considered to not have any value, causing it to be rendered in that overlapping state
Like @yamahmed's suggestion 2), you can hack around this using CSS (there could a number of ways but it could get complicated).
It would be much easier if you used another value (e.g. "all") for your "All" option, and possibly replace the value later (e.g. if you are submitting this in a form to a server), would that work for your use-case?

@rgavrilov When you use displayEmpty, you must manually control the InputLabels shrunk state: https://mui.com/material-ui/api/select/#select-prop-displayEmpty
You should also use renderValue to ensure something is rendered when your option with empty value is selected: https://mui.com/material-ui/api/select/#select-prop-renderValue
<FormControl>
  <InputLabel shrink={val || val === ''}>
    Calculator
  </InputLabel>
  <Select
    value={val}
    label="Calculator"
    onChange={(e) => setVal(e.target.value)}
    displayEmpty
    renderValue={(val) => {
      if (val === '') {
        return 'All options';
      }
      return val;
    }}
  >
    <MenuItem value="">
      All
    </MenuItem>
    <MenuItem value="B">
      B
    </MenuItem>
    <MenuItem value="C">
      C
    </MenuItem>
  </Select>
</FormControl>

Here's a working demo: https://stackblitz.com/edit/mcve-react-material-ui-rx1lgs?file=src%2FApp.tsx


Initial Migration after Update from RC2 to RTM throwing error

I previously used RC2 and after installing VS2015.3 I now installes the EF Core 1.0 RTM and get the following error:
The key {'TempId'} contains properties in shadow state and is referenced by a relationship from 'SolidColorBrush' to 'Score.RowColor'. Configure a non-shadow principal key for this relationship.
Funfact: TempId is never used in any of my classes and the entry RowColor in class Score is flagged as [NotMapped]:
[NotMapped]
public SolidColorBrush RowColor { get; set; }

The full error:
Add-Migration migr1
System.InvalidOperationException: The key {'TempId'} contains properties in shadow state and is referenced by a relationship from 'SolidColorBrush' to 'Score.RowColor'. Configure a non-shadow principal key for this relationship.
   at Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.KeyConvention.Apply(InternalModelBuilder modelBuilder)
   at Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.ConventionDispatcher.OnModelBuilt(InternalModelBuilder modelBuilder)
   at Microsoft.EntityFrameworkCore.Metadata.Internal.Model.Validate()
   at Microsoft.EntityFrameworkCore.Metadata.Internal.InternalModelBuilder.Validate()
   at Microsoft.EntityFrameworkCore.Infrastructure.ModelSource.CreateModel(DbContext context, IConventionSetBuilder conventionSetBuilder, IModelValidator validator)
   at Microsoft.EntityFrameworkCore.Infrastructure.ModelSource.<>c__DisplayClass14_0.<GetModel>b__0(Object k)
   at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
   at Microsoft.EntityFrameworkCore.Infrastructure.ModelSource.GetModel(DbContext context, IConventionSetBuilder conventionSetBuilder, IModelValidator validator)
   at Microsoft.EntityFrameworkCore.Internal.DbContextServices.CreateModel()
   at Microsoft.EntityFrameworkCore.Internal.LazyRef`1.get_Value()
   at Microsoft.EntityFrameworkCore.Internal.DbContextServices.get_Model()
   at Microsoft.EntityFrameworkCore.Infrastructure.EntityFrameworkServiceCollectionExtensions.<>c.<AddEntityFramework>b__0_4(IServiceProvider p)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.FactoryService.Invoke(ServiceProvider provider)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.ScopedCallSite.Invoke(ServiceProvider provider)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.<>c__DisplayClass12_0.<RealizeService>b__0(ServiceProvider provider)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService[T](IServiceProvider provider)
   at Microsoft.EntityFrameworkCore.Design.Internal.DesignTimeServicesBuilder.<>c__DisplayClass7_0.<ConfigureContextServices>b__9(IServiceProvider _)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.FactoryService.Invoke(ServiceProvider provider)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.TransientCallSite.Invoke(ServiceProvider provider)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite.Invoke(ServiceProvider provider)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.TransientCallSite.Invoke(ServiceProvider provider)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.<>c__DisplayClass12_0.<RealizeService>b__0(ServiceProvider provider)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
   at Microsoft.EntityFrameworkCore.Design.MigrationsOperations.AddMigration(String name, String outputDir, String contextType)
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigrationImpl(String name, String outputDir, String contextType)
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigration.<>c__DisplayClass0_1.<.ctor>b__0()
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.<>c__DisplayClass3_0`1.<Execute>b__0()
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
The key {'TempId'} contains properties in shadow state and is referenced by a relationship from 'SolidColorBrush' to 'Score.RowColor'. Configure a non-shadow principal key for this relationship.

My project.json:
{
  "dependencies": {
    "LiveSDK": "5.6.3",
    "Microsoft.EntityFrameworkCore.Sqlite": "1.0.0",
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
    "Microsoft.NETCore.UniversalWindowsPlatform": "5.2.0",
    "Microsoft.OneDriveSDK": "1.1.47"
  },
  "frameworks": {
    "uap10.0": {}
  },
  "runtimes": {
    "win10-arm": {},
    "win10-arm-aot": {},
    "win10-x86": {},
    "win10-x86-aot": {},
    "win10-x64": {},
    "win10-x64-aot": {}
  }
}

The two types are probably not the same in the 2 different classes (i had the issue when one was int and the other was long)

@VikSab I'm sorry, I don't quite understand what you mean by that.

Update after removing
[NotMapped]
public SolidColorBrush RowColor { get; set; }

from class Score, I just got the same error message for another class implementing the exact same lines of code above - why does this happen, even they are flagged as [NotMapped]?

I don't know, if this helps, but when I remove the App.config file, that is mentioned here, I get the following error instead:
System.TypeLoadException: Could not load type 'Microsoft.Extensions.DependencyInjection.Extensions.ServiceCollectionExtensions' from assembly 'Microsoft.Extensions.DependencyInjection.Abstractions, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60'.

Hey,
We'll need something that we can run in order to reproduce and debug this one. I tried a simple model with a SolidColorBrush property, which failed with the exception you see when it was mapped, but adding the [NotMapped] attribute resolved the issue.
When filing issues, if possible, try to follow the template we provide - which includes the following section:

Steps to reproduce

Ideally include a complete code listing that we can run to reproduce the issue.
Alternatively, you can provide a project/solution that we can run.
BTW for anyone else looking at this one, SolidColorBrush is from System.Windows.Media in a WPF app.
~Rowan

@rowanmiller I just created a more clear example with better caption and test class here #5945


The mod in its default configuration prevents campaign dialog from triggering after completion of objectives

Two easiest to reproduce situations you can test this in are "Return to your employers' platform" objective in the very first story contract and "Secure the Argo" objective in the Argo story mission - moving all the mechs into the target zones fails to trigger the dialogs continuing the missions if this mod is active.

Agreed, ContractLagFix is likely the culprit.  Will investigate further.

I can confirm that the issue is still present for me, and disabling ContractLagFix solves it.
If this can be of any use for someone else experiencing this issue as well: I noticed that a mission saved with ContractLagFix enabled will work properly when loaded again without ContractLagFix, so no need to restart it.

This issue still exists and very prominent, how this has not been fixed yet is beyond me.  It happens particularly on take base mission, when all objectives are complete, the missions will NOT complete the mission. I have turned everything off that I thought could cause this. PLEASE fix this issue.
BTPF 181 Settings and LOG.zip
output_log.txt
ModTek_runtime_log.txt
harmony_summary.log
ModTek.log

I've never been able to reproduce this, and even after having the verify fix on in the big modpacks for several weeks have not gotten a single report of it firing.
 I'm not going to try to hunt this down based on that.
"It is most likely that lance-def stuff."
I'm not sure what you're referring to?
"It needs to be able to be turned off! OFF!"
Turn it off then. That's why there is a settings.json file.

Ah, that makes sense.  RogueTech disables combat saves, so that's why no reports.
Value is cached in the constructor, which means the load deserializer must not be calling it.
For now, I would just disable the option in the config.

I've just been pointed to this thread. I've had several occurances of this issue while using this mod with the Hyades Rim in the past two years while using BPF.

This really should be pinned or something, I just started the game and installed this on recommendations from the community. Made the first two campaign missions randomly become unfinishable, terrible experience.


Allow override of props validation when merging a mixin

What problem does this feature solve?
Hi,
in a mixin I have specified:
props: {
  value: {
    type: String,
    default: '',
  },
}

Then, in my component, I have tried to override it:
props: {
  value: {
    type: Boolean,
    default: false,
  },
}

However, that results in an error: Invalid prop: type check failed for prop "value". Expected String, got Boolean.
Is this a bug, and if not, do you think it would be a useful feature?
Thanks. I have a case when 90% of my components take a string value, but some need an override (different text inputs all take a string value, but checkboxes are true/false).
What does the proposed API look like?
(keep the same API)

Please provide a repro when reporting a bug

It works as normal according to my test, maybe you need to provide more info

Closing until more info is provided


Remove-AzRoleAssignment -ApplicationID ; No Parameter

Remove-AzRoleAssignment : A parameter cannot be found that matches parameter name 'ApplicationId'.
No applicationID as specified in the section "Manage service principal roles" on this page.
Specify the ObjectID instead of the SPN to target it and remove the particular role.

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

ID: 849d66dd-b611-d87f-ffb4-b4ef4baf0d1c
Version Independent ID: 84b2cbcb-1f11-9a6d-23fd-5c8d76453fa8
Content: Use Azure service principals with Azure PowerShell
Content Source: docs-conceptual/azps-3.0.0/create-azure-service-principal-azureps.md
GitHub Login: @sptramer
Microsoft Alias: sttramer

@LukePWilkins, Thanks for the question! We are taking a look into this and will get back to you soon.

@LukePWilkins Thanks again for bringing this to our attention, I am working with our Product team to get more clarity on current supportability and will adjust the documentation accordingly.
For now, as a work around please check if you can still use below format with the appid you have
Remove-AzRoleAssignment -ServicePrincipalName xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxx -RoleDefinitionName "Reader"
Hope the above information helps and will keep this thread updated as i hear more from our product team on the current supportability. Thank you.

@LukePWilkins Assigning this to our Product PM @dcaro  to further evaluate the command let. Thanks


commits from bitcoin/master

Changes in this merge are from the following merges on Bitcoin in the last 24 hours.
[doc] build-windows: Switch to Artful, since Zesty is EOL
https://github.com/bitcoin/bitcoin/pull/12997
[rpc] Introduced a new fees structure that aggregates all sub-field fee types denominated in BTC
https://github.com/bitcoin/bitcoin/pull/12240
p2wsh and p2sh-p2wsh address in decodescript
https://github.com/bitcoin/bitcoin/pull/12321
Fix for utiltime to compile with msvc.
https://github.com/bitcoin/bitcoin/pull/13031
qa: Add test for orphan handling
https://github.com/bitcoin/bitcoin/pull/13003
Do not treat bare multisig outputs as IsMine unless watched
https://github.com/bitcoin/bitcoin/pull/13002


New Subaward/Direct Payments Entity Type

some info

The following requirement is effective for the April reporting period (for Q1, 2023):
New Subaward/Direct Payments Entity Type – All Subawards/Direct Payments records will be required to have an “entity type” selected before a subaward can be created. This field will capture whether the entity receiving the award or payment is a Subrecipient, Contractor, or Beneficiary. Attempts to create a new subaward for a subrecipient without a populated entity type field will result in an error.
Additionally, existing subawards to subrecipient lacking an entity type are expected to be corrected as part of the April P&E Report and can be done so using bulk revisions. Additional instructions for this be made available in the upcoming User Guide. You can also find the updated Subaward template file for bulk upload here.
We will need to make updates in the following places to support this requirement:

[ ] Input Template - Subawards sheet (add entity type that references the Subrecipient sheet)
[ ] Add validation - if a reference to the Subrecipient sheet is allowed, then this validation is not needed (already exists for subrecipients)
[ ] Update output template - Add the Entity Type to SubawardBulkUpload

I have created v20230305 which now includes the Entity Type field (Entity_Type_2__c) on the Awards > 50000 sheet. It is Column F and all previous columns from F onward have shifted by 1. Also note that this field name is identical to the Entity Type on the Subrecipient sheet, though there could be different values. As I can't attach an .xlsm file here, I'll post in in Slack.
NOTE: I plan on addressing #786 by removing the Agency and dates fields from the Cover sheet, which will generate another version of the Input Template. This version, v20230305, just ensures we have all necessary April 1st requirements in place in case there are unforeseen issues.

@NatHillardUSDR It's probably easier to set up a call to go over things. A walk through of the tool would likely be helpful.

Ideally we would like to deploy by Friday March 17th.


Add manuals specific styling

Cool 👍
The sidebar is still rendering at the bottom for me though, instead of a 2 column layout - https://govuk-nav-prototype-pr-40.herokuapp.com/guidance/2016-key-stage-1-assessment-and-reporting-arrangements-ara
I'm going to go ahead and merge this anyway since it's broken on master.