Fix: Details - Time is not updated in the details page if it's left open

Fix: Details - Time is not updated in the details page if it's left open

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/12651
PROPOSAL: https://github.com/Expensify/App/issues/12651#issuecomment-1328501743
Tests

Open the web, open any Report.
Click on user avatar to open Detail Page keep that open for few minutes.
Verify that time is kept updating.

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

QA Steps

Open the web, open any Report.
Click on user avatar to open Detail Page keep that open for few minutes.
Verify that time is kept updating.

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

PR Review Checklist

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 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 included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] iOS / native
[x] Android / native
[x] iOS / Safari
[x] Android / Chrome
[x] MacOS / Chrome
[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 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 was added in all src/languages/* files
[x] I verified any copy / text that was added to the app is correct English and 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] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] 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)
[x] 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)
[x] All JSX used for rendering exists in the render method
[x] 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

[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 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] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

PR Reviewer Checklist
The reviewer will copy/paste it into a new comment and complete it after the author checklist is completed

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

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] 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)
[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 checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

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

[x] 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
[x] I verified proper code patterns were followed (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 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 was added in all src/languages/* files
[x] I verified any copy / text that was added to the app is correct English and 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 verified that this PR follows the guidelines as stated in the Review Guidelines
[x] 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)
[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] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] 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)
[x] 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)
[x] All JSX used for rendering exists in the render method
[x] 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

[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 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] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots

Web

https://user-images.githubusercontent.com/16502320/204718980-8053f47d-48b3-4579-95b4-0cff56dac64b.mov
Mobile Web - Chrome

https://user-images.githubusercontent.com/16502320/204719114-3d131baa-6a0a-4c01-99c2-960b31a4471c.mov
Mobile Web - Safari

https://user-images.githubusercontent.com/16502320/204719245-c4a8acba-8839-44d4-bfaa-71befaf95507.mov
Desktop

https://user-images.githubusercontent.com/16502320/204719693-07d09425-5c92-4806-ac32-617e7fdf84ab.mov
iOS

https://user-images.githubusercontent.com/16502320/204719841-d20fe33f-4814-4894-ae17-bd65de55ef5b.mov
Android

https://user-images.githubusercontent.com/16502320/204719841-d20fe33f-4814-4894-ae17-bd65de55ef5b.mov

Sorry for the delay, we had a bit of a fire today that kept me distracted from this

@cead22 for a user that doesn't exist on App, should we default to some timezone like GMT? Or show no time at all
As of now on production, we aren't showing any time.

I suggest sticking with the current production behavior and not show anything, I imagine in that case we don't show the local time above the compose box either (shown in screenshot), and if that's the case then not showing on the side pane makes sense to me

@hungvu193 let us know when you make the updates to update the time once a minute instead of once a second, and to not show the local time on the side pane for users that don't exist in app

@cead22 Yeah, I updated the PR.

Thanks @cead22, I updated the PR!

Can you check this comment please https://github.com/Expensify/App/pull/13183#discussion_r1040295477, just to be sure

Responded

@cead22 I updated the PR again.

@rushatgabhane @cead22 Cool, I updated my PR again.

@rushatgabhane the PR looks good to me, can you go over the reviewer checklist please?

@rushatgabhane done

Code looks good. @rushatgabhane please go over the reviewer checklist when you get a chance

I can help with the review and screenshots, but I requested some changes first.

@hungvu193, @aldo-expensify and I raised few comments,  can you please take a look and address them?

@mananjadhav cool, let me take a look

In case this PR is merged and no regression, is there any plan to update the ParticipantLocalTime as well? It's update every seconds now :D

I can see all checks passing. I’ll test it once more and upload the screencasts.

Reviewer Checklist

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

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] 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)
[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 checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

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

[x] 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
[x] I verified proper code patterns were followed (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 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] 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 correct English and 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 verified that this PR follows the guidelines as stated in the Review Guidelines
[x] 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)
[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] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] 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)
[x] 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)
[x] All JSX used for rendering exists in the render method
[x] 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

[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 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 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] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://user-images.githubusercontent.com/3069065/209053850-692e9707-7ad3-4548-a793-86218665730d.mov

Mobile Web - Chrome
https://user-images.githubusercontent.com/3069065/209053873-098cdc12-940a-4d03-9b24-242a6e7262be.mov

Mobile Web - Safari
https://user-images.githubusercontent.com/3069065/209053900-ab19cfde-776e-4b72-91fd-7657de6d35b0.mov

Desktop
https://user-images.githubusercontent.com/3069065/209054003-a64ca494-5cb0-41e5-a5bf-61cdf9abddab.mov

iOS
https://user-images.githubusercontent.com/3069065/209054090-8f419df9-81d4-46b6-9312-e469a0ad77c5.mov

Android
https://user-images.githubusercontent.com/3069065/209054127-e2f9d756-696f-47a3-836d-77d7bf86c4ef.mov

@aldo-expensify @cead22 I am tested and completed the checklist. I was a bit skeptical if we need a description for the file. I've checked it because I feel we don't need a description. Let me know if any of you think otherwise.
Thanks @hungvu193 for all the patience here, and taking it to the finish line.

I was a bit skeptical if we need a description for the file. I've checked it because I feel we don't need a description.

hum, good point 🤔 . I'm divided. @luacmartins what do you think? 🙏

I updated it again

@luacmartins @aldo-expensify This PR is all good here, and ready for merge.

@aldo-expensify Quick bump

: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 @aldo-expensify in version: 1.2.48-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @luacmartins in version: 1.2.48-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @luacmartins in version: 1.2.49-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


⚠ Secret Website 2 has degraded performance

In adb23c2, Secret Website 2 ($SECRET_WEBSITE_2) experienced degraded performance:

HTTP code: 200
Response time: 10754 ms

Resolved: Secret Website 2 performance has improved in a853b75.


swift package generate-xcodeproj fails

Hello,
I can get the swift package manager to fetch Gloss, but I cannot generate the xcode project.  When I run swift package generate-xcode, it fails with "error: package has unsupported layout; found loose source files: /"
Please see below:
Lowells-MacBook-Pro-2:PerfectTemplate lowellduke$ swift package update
Fetching https://github.com/hkellaway/Gloss.git
Updating https://github.com/PerfectlySoft/Perfect-HTTPServer.git
Updating https://github.com/PerfectlySoft/Perfect-CZlib-src.git
Updating https://github.com/PerfectlySoft/Perfect-HTTP.git
Updating https://github.com/PerfectlySoft/Perfect-Net.git
Updating https://github.com/PerfectlySoft/Perfect-Crypto.git
Updating https://github.com/PerfectlySoft/Perfect-Thread.git
Updating https://github.com/PerfectlySoft/PerfectLib.git
Updating https://github.com/PerfectlySoft/Perfect-COpenSSL.git
Cloning https://github.com/hkellaway/Gloss.git
Resolving https://github.com/hkellaway/Gloss.git at 2.0.0
Lowells-MacBook-Pro-2:PerfectTemplate lowellduke$ swift package generate-xcodeproj
'Gloss' /Users/lowellduke/Documents/PerfectTemplate/.build/checkouts/Gloss.git--9087498511083348710: error: package has unsupported layout; found loose source files: /Users/lowellduke/Documents/PerfectTemplate/.build/checkouts/Gloss.git--9087498511083348710/Tests/Comparators.swift, /Users/lowellduke/Documents/PerfectTemplate/.build/checkouts/Gloss.git--9087498511083348710/Tests/DecoderTests.swift, /Users/lowellduke/Documents/PerfectTemplate/.build/checkouts/Gloss.git--9087498511083348710/Tests/EncoderTests.swift, /Users/lowellduke/Documents/PerfectTemplate/.build/checkouts/Gloss.git--9087498511083348710/Tests/FlowObjectCreationTests.swift, /Users/lowellduke/Documents/PerfectTemplate/.build/checkouts/Gloss.git--9087498511083348710/Tests/GlossTests.swift, /Users/lowellduke/Documents/PerfectTemplate/.build/checkouts/Gloss.git--9087498511083348710/Tests/KeyPathTests.swift, /Users/lowellduke/Documents/PerfectTemplate/.build/checkouts/Gloss.git--9087498511083348710/Tests/ObjectToJSONFlowTests.swift, /Users/lowellduke/Documents/PerfectTemplate/.build/checkouts/Gloss.git--9087498511083348710/Tests/OperatorTests.swift

im not currently familiar with Swift Package manage and how it works, so cannot provide a solution for this

Thanks for the response.  I found a workaround.  Your Test folder causes that command to fail. Apparently it doesn't like that layout. If I remove the test folder, Swift Package Manager works fine.
Cheers!

there must be a way to have tests in a project and not have Swift Package manager fail 🤔

@str11ngfello @hkellaway Resolution of SPM issues will be part of Gloss on Linux solution I will be working soon...


how to apply logging.yml change for specific index?

we have done a change on our live production cluster via api:
PUT /advantage/_settings
{
  "index.search.slowlog.threshold.query.debug": "250ms",
  "index.search.slowlog.threshold.query.trace": "1s",
  "index.search.slowlog.threshold.fetch.debug": "250ms",
  "index.search.slowlog.threshold.fetch.trace": "1s",
  "index.indexing.slowlog.threshold.index.debug": "1s",
  "index.indexing.slowlog.threshold.index.trace": "2s"
}

how do I apply via my manifest that invokes your module? I can't find example of this.

Hi,
There is no functionality for this specific option.
You can however put this in an index template to have it applied for every index you create of a specific name.
Otherwise you will have to do this manually indeed.

Closing due to inactivity. If there is still an issue please open a new one. thank you.


Refactor fftviewer around IConnection streaming API

Currently fftviewer is implemented around LMS_StreamBoard API and StreamerNovena API. But it should be generic for any board supporting streaming under IConnection.

In the case of LMS_StreamBoard, IConnection should already support streaming.
In the case of StreamerNovena, these functions belong inside of ConnectionNovenaRF7, some re-factoring is required for ConnectionNovenaRF7 to implement the stream hooks.

Thoughts?

It's pretty straightforward to update fftviewer to use IConnection.
But the Setup/ControlStream implementations have to be reworked, as it now has couple of nuances: threads can't be stopped, SetHardwareTimestamp() must be called prior Setup to create the stream service, otherwise it segfaults... So the fftviewer won't work correctly in current situation.
What should be done:

[ ] Move Rx/Tx threads from StreamerLTE to each IConnection class
[ ] Move FFT calculations thread from StreamerLTE to FFT GUI
[ ] Remove StreamerLTE, without the threads it has no more purpose
[ ] Update Setup/ControlStream functions to work correctly

The way i see it:

SetupStream should fully configure expected samples formats and allocate memory buffers.
ControlStream should start/stop the threads
CloseStream should deallocate memory

Regarding the stream commands, i think there should be only one active command which could be replaced at any time, instead of commands queue.
Also does SoapySDR switch between continuous and burst modes during operation? As it is now if continuous mode fills up Rx buffer and then switch to burst mode, the samples returned from ReadStream() is not guaranteed to contain only the burst samples, there is possibility for leftover samples from continuous mode. I think when stream receives command for burst mode, it should clear all existing samples from buffers.

Move Rx/Tx threads from StreamerLTE to each IConnection class

If you mean ConnectionSTREAM class, then yes. Definitely.

Move FFT calculations thread from StreamerLTE to FFT GUI

Sounds like the right thing as well.

Remove StreamerLTE, without the threads it has no more purpose

Cool. That means more hardware specific classes inside of the connection implementations -- agree

Update Setup/ControlStream functions to work correctly

You are right about the threads. thats how it should work

The current timestamp problem
The main motivation for the active receive thread was to always have a current timestamp. I can see how things would be drastically cleaner if it wasnt for this. We still need a way to get the current timestamp for certain apps, even when streaming is not setup. Can I suggest something hack-ish?
Lets refactor the code the way you suggested. We know the current timestamp whenever the rx thread is running, but we only run the rx thread intentionally after SetupStream(). When the user calls the getHardwareTime hook and there is no thread, lets just do a quick setup + teardown with SetupStream/CloseStream to get the latest time. It should do the trick. And maybe in a future FPGA rev, we can have a readback register for this.

Regarding the stream commands, i think there should be only one active command which could be replaced at any time, instead of commands queue.

Just to be clear, the behaviour that I am trying to emulate is requesting specific rx samples -- this usually means continuous streaming, or multiple bursts, or specific times for continuous or bursts. Ideally the FPGA hardware would support sending only the samples requested and the rx thread would have no such concept of command queue. That way we don't stream extra samples just to throw them away inside of the rx thread.
Since there isnt hardware support, we do need some kind of software handling to wait for a specific timestamp and then enter continuous streaming. -- osmobts needs this for sure. But the queue is not very useful for continuous streaming as we would only ever see a depth of 1. But, I think there is a case for queuing up timed-bursts. Each command is completed before the next one is executed.
Because we need to soft emulate this behaviour, and cross thread boundaries, and because there could be a chain of burst commands -- I think a queue is appropriate.

Also does SoapySDR switch between continuous and burst modes during operation? As it is now if continuous mode fills up Rx buffer and then switch to burst mode, the samples returned from ReadStream() is not guaranteed to contain only the burst samples, there is possibility for leftover samples from continuous mode. I think when stream receives command for burst mode, it should clear all existing samples from buffers.

Technically one could switch between continuous and burst modes with the API. You probably would not see this. But about the leftofver samples -- you do see this even with just starting and stopping the stream. Generally, I have suggested when one stops continuous streaming that they flush the interface by manually calling readSamples() until the call has a timeout.
I often see flushing when the stream is stopped, or at a higher level like in OsmoBTS, or in the gnuradio start() hook for an sdr block. I think it would be acceptable to flush if the stream command changed from a continuous stream to a burst, but I doubt many would even do that in the same stream instance.

@rjonaitis I think we might have a few edge cases, but otherwise its a good plan. I would like to try and firstly take care of the following tasks you mentioned:

Move Rx/Tx threads from StreamerLTE to each IConnection class
Update Setup/ControlStream functions to work correctly

I am still befuddled by the transmit time loopback issue and I think this refactor and simplification will help. I don't want to step on any toes. So let me know if this sounds good. Thanks!

@guruofquality Sure, I actually had started working on this, but currently have other things to take care of. Take a look at 2f80c3c3283e1b9d5, maybe this will be usefull, it's work in progress so some of code is commented out

Initial streaming rework 5ff05abcf work in progress from LMS_API branch
Currently only the ConnectionSTREAM has been updated, but other connections will have the same scheme. Now the samples receiving and transmitting functions are contained within connection object.
Option to generate samples has been added to prevent other software timeouts during chip calibration, also now the threads don't need to be restarted #31.

The current timestamp problem
We still need a way to get the current timestamp for certain apps, even when streaming is not setup

If stream is not running, timestamp can be just reset to 0, or if it has been previously running just return the last received timestamp. Unless the app requires that the timestamp is monotonic and always increasing during whole app lifespan.

Just to be clear, the behaviour that I am trying to emulate is requesting specific rx samples -- this usually means continuous streaming, or multiple bursts, or specific times for continuous or bursts.

The bursts command queue has been removed from the receive thread, I think it can be replaced by the stream reading function, it would just block and continuously pop samples from FIFO until desired timestamp arrives and only then return the requested samples.
StreamSetup has been changed to create single channel FIFOs, so now stream reading functions return only one channel's data per call. FIFO will be updated to always insert newest samples and discard oldest.
@guruofquality thoughts?

Option to generate samples has been added to prevent other software timeouts during chip calibration, also now the threads don't need to be restarted #31.

Cool

If stream is not running, timestamp can be just reset to 0, or if it has been previously running just return the last received timestamp. Unless the app requires that the timestamp is monotonic and always increasing during whole app lifespan.

Basically, as long as the rx stream had been created, then there is a thread running and the latest time can be queried from the API. I think most use cases are going to be able to satisfy this requirement of having called IConnection::SetupStream() before using time.
I have some worries, but maybe we can handle that on a case by case basis. If there is ever an opportunity to add a register-based reback for the current time counter in the FPGA, then we dont have to worry about these edge cases.

The bursts command queue has been removed from the receive thread, I think it can be replaced by the stream reading function, it would just block and continuously pop samples from FIFO until desired timestamp arrives and only then return the requested samples.

I guess the downside is that the thread has to perform the unpacking into the fifo, and then we throw out the samples in the readstream call until IConnection::ControlStream() configures it to receive something.
Just for another data point. I think bladerf runs a single receive thread and the equivalent read stream call reads until it gets the desired timestamp, just like you have suggested. The Soapybladef implements a queue in the readStream layer. The though behind the queue is that a separate control thread can "program" a set of stream request instructions without having to interact with the readStream thread.
In regards to the queue. It could be created in the SoapyLMS7::readStream layer, within the StreamConnection::ReadStream, or removed entirely -- like a queue of length 1 or a single action to perform. I think in practice most apps are going to not need the queue depth > 1, maybe queuing can wait until its needed for a specific use case.

StreamSetup has been changed to create single channel FIFOs, so now stream reading functions return only one channel's data per call. FIFO will be updated to always insert newest samples and discard oldest.

Is that going to hurt the MIMO streaming use case? The multiple channels per stream call was to get MIMO alignment. With separate read stream calls per channel, its possible to recreate alignment using the timestamps, but perhaps not as convenient/efficient?

Is that going to hurt the MIMO streaming use case?

It shouldn't, as long as the CPU is able to keep up with realtime data rate and the FIFOs are not fully filled. Reading multiple channels with the same thread will return aligned timestamps.

Updated SoapyLMS7 wrapper with the new streaming, siggen_test.py and LimeSuiteCalibrate.py appears to be running correctly.

@rjonaitis thanks, I have been working with a user to test this. We ran into an issue that only happens on an arm platform, not PC. It seems that ConnectionSTREAM::ReceivePacketsLoop() is not exiting when ControlStream calls stop, and UpdateThreads(). Its getting stuck in a join. Adding prints to ReceivePacketsLoop can fix the issue, so there is probably some race or similar condition to fix. If you have any suggesting, let me know. We are trying to get to the bottom of this, but otherwise so far so good.

Update, its getting stuck in WaitForReading()

In that case it can only get stuck while locking the transferLock
https://github.com/myriadrf/LimeSuite/blob/IConnection_StreamingRework/src/ConnectionSTREAM/ConnectionSTREAM.cpp#L411
You could try to remove the mutex and conditional variable, and it should work, but it will use more CPU polling the atomic contexts[contextHandle].done.load() variable in a loop.


move api repository to https://github.com/osmose-model/osmose-web-api

@barriern
We would like to move the OSMOSE API repository developed for our bridge project/paper to https://github.com/osmose-model/
For this to happen, we would need @jhpoelen to be one of the owners of the osmose-model GitHub repository.
Could you please make this happen?
Thanks a lot!

@barriern Thanks a lot!
@jhpoelen Could you please do the move? Also, when all the pre-publication steps you had identified have been implemented, could you please send me a list of all the new information I should include in the bridge paper so that we can point the reader to all the most-up-to-date GitHub respoitories, webpages, Zenodo resources, etc.? Many thanks!

The osmose-web-api can be cited using https://doi.org/10.5281/zenodo.1411483 . This automatically points to the most recent version of the osmose-web-api .
The osmose-web-api-js (the javascript library) can be cited using https://doi.org/10.5281/zenodo.1411481 . This also automatically points to the most recent version of the osmose-web-api .

@jhpoelen Wondeful, thanks a lot!


Enhancement: Documentation Updates

Your Environment

Plugin version: 8.4.3
Platform: iOS

Expected Behavior
Location Http Post Object should Mirror the Individual interfaces that make up the location object.
Actual Behavior

location.activity does not match MotionActivityEvent (for Post Schema or Location Interface)

MotionActivityEvent has property activity and confidence
Both HTTP POST Schema and Javascript Callback Schema (typescript location interface) have the properties type and confidence

location.activity.type can be the value of 'unknown'

This is documented in HTTP POST Schema
However it is not obvious that this can be the value of 'unknown', as Motion Activity Object only states that it can be still, walking, on_foot, running, on_bicycle, in_vehicle
This seems to only ever be 'unknown' on iOS devices.

location.battery.level can be the value of -1

This is documented in HTTP POST Schema that the value is a double (which could mean "any" double value)
However it is not obvious that this can be a value of -1 as Battery Level only states that 0.0 = empty; 1.0 = full charge.
This seems to only ever be -1 on iOS devices.

Steps to Reproduce

Setup an endpoint to receive the location http post object
Log some locations with different iOS devices
See that location.activity always has property of type instead of activity to denote the Activity Type
See that sometimes battery is -1
See that sometimes activity type is 'unknown'

Context
Reason I ask for updates to documentation here is that I have validation setup to make sure that the data that is being saved to our system matches the given interfaces the background geolocation plugin exposes.
Debug logs
N/A

Update: location.battery.level can be -21474836 on an Android device, which seems to correlate with Integer.MIN_VALUE but truncated.

@brian-weasner are you able to resolve this issue, I am continuously getting providerChange events from some specific samsung phones and the common pattern is those updates having the location.battery.level = -21474836


Do you have a TPU version?

I am actively working on building a TPU version of UGATIT. By any chance do you already have or plan to work on a TPU implementation? The benefit is that (hopefully) instead of taking days it would take hours to train.

Dont have a TPU, but looking forward to people using this and sharing pretrained weights, lol. Keep at it!

I am actively working on building a TPU version of UGATIT. By any chance do you already have or plan to work on a TPU implementation? The benefit is that (hopefully) instead of taking days it would take hours to train.

How about use PyTorch Lightning to make a multi GPU training Version.


Changes HTMLElement.nonce to be optional

Fixes #28452

This change is

Files from lib folder are generated from src/lib folder. Some files from src/lib are generated from TSJS-lib-generator repository.
Read Contributing lib.d.ts fixes for more info.

Duplicate of #28573 (that has the same problem as this).

@j-oliveras I read through that README yesterday, but somehow failed to parse it properly. Sorry about that, here's hopefully the "correct" PR https://github.com/Microsoft/TSJS-lib-generator/pull/626


Fix the mismatch result issue in TPC-DS Q8

When the length of the string is greater than 12, we store the string in the stringBuffer and save the pointer to the value buffer.

Thanks for your fix!


No urls in BBT

I can't seem to get any urls to export using Better Bibtex.  It seems to work for Biblatex.
I think I have checked all required preferences.
This used to work for me, but this problem seems to have appeared recently.
Thanks, Paul

What do you have set for the "Add URLs to BibTeX export" preference?

I have “in an url field” at present, but have tried the note option.

On 15 Dec 2015, at 10:45, retorquere<EMAIL_ADDRESS>wrote:
What do you have set for the "Add URLs to BibTeX export" preference?
—
Reply to this email directly or view it on GitHub.

Odd. Could you do these things for me:

Export that reference, then right-click it and select "send BBT error". It will give you a debug ID, if you post that here, I'll have that reference and any errors it may have generated during exporting.
If you don't have too big a library, could you go into the BBT prefs, debug pane, and click "Reset cache", and see if you now do get the URL.

Please do 1. before 2. as 2. will skew the test.
One possible reason for the url not showing up could be that you have a fairly big library and you were offered a chance to not drop the cache when upgrading. It's a fairly obnoxious popup, you would remember seeing it. The downside of keeping the cache during upgrade is that newly implemented behavior won't be reflected in the export until the cache for the corresponding entry is dropped; one way is to drop all entries at every upgrade (and that used to be the way things went), the other is to wait for a change to occur on a reference (which still works).

On 15 Dec 2015, at 10:53, retorquere<EMAIL_ADDRESS>wrote:
Odd. Could you do these things for me:
• Export that reference, then right-click it and select "send BBT error". It will give you a debug ID, if you post that here, I'll have that reference and any errors it may have generated during exporting.

2GAZVM56

• If you don't have too big a library, could you go into the BBT prefs, debug pane, and click "Reset cache", and see if you now do get the URL.
Please do 1. before 2. as 2. will skew the test.

Yes, now it works!

One possible reason for the url not showing up could be that you have a fairly big library and you were offered a chance to not drop the cache when upgrading. It's a fairly obnoxious popup, you would remember seeing it. The downside of keeping the cache during upgrade is that newly implemented behavior won't be reflected in the export until the cache for the corresponding entry is dropped; one way is to drop all entries at every upgrade (and that used to be the way things went), the other is to wait for a change to occur on a reference (which still works).

Yes, I remember seeing it, so this was certainly the reason.
Many thanks for your amazing quick help, and this great addon to zotero!
Cheers, Paul

I am reading through the text in the popup now, and I see that the effect you experience hasn't really been laid out clearly. Is there a way I could have worded this that would have explained this better? I'm trying to avoid having a big wall of text (no one reads those) or some obnoxious confirmation method (like 'type "yes" here to...'), but preferably I would be able to disclose what's happening in a way that you as a user would be aware of the effects of the choice.

If you send me the text of the popup I’d be happy to comment - I don’t have it.
If I remember correctly, it seemed to me like the default option would be to not reset the cache.

On 15 Dec 2015, at 12:10, retorquere<EMAIL_ADDRESS>wrote:
I am reading through the text in the popup now, and I see that the effect you experience hasn't really been laid out clearly. Is there a way I could have worded this that would have explained this better? I'm trying to avoid having a big wall of text (no one reads those) or some obnoxious confirmation method (like 'type "yes" here to...'), but preferably I would be able to disclose what's happening in a way that you as a user would be aware of the effects of the choice.
—
Reply to this email directly or view it on GitHub.

The popup reads:

You have upgraded BetterBibTeX. This usually means output generation for Bib(La)TeX has changed.
If you want this change to be applied immediately, you can clear the BibTeX cache. If you have a large library, first (auto)export will be slower than usual
If you are in principle satisfied with the output you had, you can just have Better BibTeX replenish the cache as items are changed or added
Do you want to reset the BibTeX cache now?

The default ought to be "Yes" which would mean the cache would be cleared at that moment.

I guess the issue was that I was “in principle satisfied with the output [I] had”.  Then the problem was the output was not what I had before.  I think it would be good to make it clearer that the default position would be to clear the cache.
How about something like:
You have upgraded BetterBibTeX. This usually means output generation for Bib(La)TeX has changed, and it is recommended to clear the cache in order for these changes to take effect.
If you have a large library, this may lead to a slow first (auto)export, and you may consider skipping this step.
Do you want to reset the BibTeX cache now?

On 15 Dec 2015, at 12:58, retorquere<EMAIL_ADDRESS>wrote:
The popup reads:
You have upgraded BetterBibTeX. This usually means output generation for Bib(La)TeX has changed.
If you want this change to be applied immediately, you can clear the BibTeX cache. If you have a large library, first (auto)export will be slower than usual
If you are in principle satisfied with the output you had, you can just have Better BibTeX replenish the cache as items are changed or added
Do you want to reset the BibTeX cache now?
The default ought to be "Yes" which would mean the cache would be cleared at that moment.
—
Reply to this email directly or view it on GitHub.

OK, I've changed it to:

You have upgraded BetterBibTeX. This usually means output generation for Bib(La)TeX has changed, and it is recommended to clear the cache in order for these changes to take effect.
Since you have a large library, with <N> entries cached, this may lead to a slow first (auto)export as the cache is refilled.
If you don't care about the changes introduced in <release>, and you want to keep your old cache, you may consider skipping this step.
If you opt NOT to clear the cache, and you experience unexpected output at some point in the future, please first clear the cache from the preferences before reporting an issue
Do you want to reset the BibTeX cache now (recommended)?

Ok, that seems very clear now.
Thanks again.
Cheers, Paul

On 15 Dec 2015, at 15:01, retorquere<EMAIL_ADDRESS>wrote:
OK, I've changed it to:
You have upgraded BetterBibTeX. This usually means output generation for Bib(La)TeX has changed, and it is recommended to clear the cache in order for these changes to take effect.
Since you have a large library, with  entries cached, this may lead to a slow first (auto)export as the cache is refilled.
If you don't care about the changes introduced in , and you want to keep your old cache, you may consider skipping this step.
If you opt NOT to clear the cache, and you experience unexpected output at some point in the future, please first clear the cache from the preferences before reporting an issue
Do you want to reset the BibTeX cache now (recommended)?
—
Reply to this email directly or view it on GitHub.

Thanks again for your report and the feedback.


Taproot Infra: Node support

Will have to check the existing nodes for Taproot support. Also, include new nodes(connected to Electrum) that support the Taproot soft fork.

All our nodes are in sync w/ the taproot soft fork.

Closing this issue as discussed with dev.


Remove report_result from http runner

Looks like I did not remove this line. I grepped and we don't have report_result in our code anymore.

+1


Remove the old cookie banner

In preparation for the publication of a new cookie banner component in the Design System, remove the old 'GOV.UK uses cookies to make the site simpler' cookie banner from the Prototype Kit.

Remove the cookie banner from layouts and stylesheets
Remove the server logic and config for the cookie banner, including a dependency on cookie-parser
Update the cookies page to remove references to using cookies to record notifications that the user has seen, the seen_cookie_message cookie, and showing a cookie banner or message.

Closes #859

Verified that if none of the changes are made to the app folder (i.e. if the app folder still includes the partial, stylesheet etc) that this still works as expected – because shouldShowCookieMessage is never set to true, the cookie-banner partial never outputs anything.
(Verified by resetting the app folder to mirror master by running git checkout master app/ and then running the kit)

@36degrees As per style guide advice, can we make the quotes in the issue title single instead of double?

@EoinShaughnessy good call on both. If it's OK with you, suggest we make those changes at the point we update the release notes to add the version number (as part of the release process)

@36degrees Sounds good!


OctoCreateRelease needs example.

OctopusDeployAliases.OctoCreateRelease needs an example.

I have used that command recently so I have added some documentation in a commit in my fork here would this be useful to you?

@Meberem That looks fine :smile:
Would probably want to remove the <packages> part, but other than that it looks good to me.

Ok not a problem, I included it as I forgot/got confused with which package to use but that is not relevant for this part of the documentation.
Shall I remove that and send you a pull request?

Yes. That would be great! :+1:

This has been taken care of here: https://github.com/cake-build/cake/issues/750


MF-571 - Read base URL from env vars

Strategy:

Add separate index.html
Add js interops.
Read env vars via webpack.
Write env vars in interop flags.
Set base URL in Elm app via interop flags.

Codecov Report

Merging #648 into master will increase coverage by 0.16%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #648      +/-   ##
==========================================
+ Coverage   86.56%   86.73%   +0.16%
==========================================
  Files          62       62
  Lines        3692     3625      -67
==========================================
- Hits         3196     3144      -52
+ Misses        339      327      -12
+ Partials      157      154       -3

Impacted Files
Coverage Δ

readers/cassandra/messages.go
88.88% <0%> (-2.78%)
:arrow_down:

readers/mongodb/messages.go
89.18% <0%> (-2.12%)
:arrow_down:

writers/influxdb/messages.go
85.5% <0%> (-0.21%)
:arrow_down:

writers/mongodb/messages.go
100% <0%> (ø)
:arrow_up:

writers/cassandra/init.go
60% <0%> (ø)
:arrow_up:

readers/api/requests.go
100% <0%> (ø)
:arrow_up:

http/api/transport.go
89.7% <0%> (+0.51%)
:arrow_up:

ws/api/transport.go
87.05% <0%> (+0.6%)
:arrow_up:

sdk/go/message.go
40.42% <0%> (+1.82%)
:arrow_up:

readers/api/transport.go
88.88% <0%> (+1.87%)
:arrow_up:

... and 1 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a0ed73d...25c2711. Read the comment docs.


A user privilege elevation vulnerability  in the latest version of gitblit

Hello, I tried to contact the developers of your product but did not get a response, so I decided to raise the vulnerability to you in the issue, hoping that you can fix it as soon as possible to avoid a wider impact of the vulnerability.
Principle of the vulnerability
Gitblit uses file storage to manage user information, passwords, account types, and permissions. When a user with low privileges modifies their information, if they use line breaks and space characters, they can create new users or assign higher
higher privileges.
The relevant code logic is in the write function of com.gitblit.ConfigUserService. The reason for the problem is that gitblit does not do a checksum on the characters entered by the user, and malicious characters are printed directly in the file, causing gitblit to parse the file incorrectly when reading it.
The location where users are saved is in data/users.conf.
The default users.conf is as follows.
[user "admin"]
    password = admin
    role = "#admin"
    role = "#notfederated"

The user name is admin, the password is admin, and the user's permissions are admin permissions, and the file will change as the user logs in. After logging in once the file reads
[user "admin"]
    accountType = LOCAL
    cookie = aad70b95ca5ffe59c88cd567b91999b263acb659
    emailMeOnMyTicketChanges = true
    password = PBKDF2:$0$33c135e0e31a085587920e0981401bc34169cc1460a321d8f748969939383ce76c403eda5015281d2ff3b2203c5c2397154662b3219ba979476d9e7bc47c29f9
    role = "#admin"
    role = "#notfederated"

If there is a new user, a new user will be created below the user, and which will be accompanied by the user's emailAddress information, if the attacker in the modification of their own emailAddress, the emailAddress set to<EMAIL_ADDRESS>= "#admin"\n[user "other"],you can modify the permissions of their own user to admin.
Vulnerability recurrence

The attacker has an account with no privileges, username test, password test1, and privileges None, and the current users.conf is.

[user "admin"]
    accountType = LOCAL
    cookie = aad70b95ca5ffe59c88cd567b91999b263acb659
    emailMeOnMyTicketChanges = true
    password = PBKDF2:$0$33c135e0e31a085587920e0981401bc34169cc1460a321d8f748969939383ce76c403eda5015281d2ff3b2203c5c2397154662b3219ba979476d9e7bc47c29f9
    role = "#admin"
    role = "#notfederated"
[user "test"]
    accountType = LOCAL
    cookie = 513b0430e84cbccad003a3b8e5c614797a311e70
    emailAddress =<EMAIL_ADDRESS>    emailMeOnMyTicketChanges = true
    password = PBKDF2:$0$ec5a6828b39c0ec958c7f70861b0bbc7aa3b74e45ebfe8a0ffc0689923b517e96a8d8039392631369b6cd2d6742771d582f0e4cb24c254cdbdc126c7ebcd88f4
    role = "#none"

After logging in, click on Profile->Preferences in order

Turn on burpsuite's blocking feature, click Save, and block the request with burpsuite.

In burpsuite, make changes to the request.

Modify the value of emailAddress%3Atext to<EMAIL_ADDRESS>= "#admin"\n[user "other"] after url encoding. The[user "other"]at the end of the payload is to avoid the impact of the original role = "#none".
The encoding can be done using burpsuite's Decode function

After modifying the request body and sending the request, users.conf changes to the following state.

You can see that the test user has become admin privileges. Refreshing the page, at this point the test user has full access to gitblit, and can see all Git repositories and manage all users and teams

Excellent. Thank you.
Just for me to know, what ways did you try to contact the developers that were unsuccessful?

Excellent. Thank you. Just for me to know, what ways did you try to contact the developers that were unsuccessful?

I found some contacts on your official website and in the Github Readme at

google group (not used by anyone for a long time)
Official Twitter (not used by anyone for a long time)
A private tweet @jamesmoger (recently updated), but his tweet doesn't allow private messages, so I left a message for his latest tweet, but haven't received a reply yet.

I think you guys could update your latest contact information, preferably using a private email for receiving some of the more private security questions.

@YYHYlh , would you like to review and test the pull request before a release?

@YYHYlh , would you like to review and test the pull request before a release?

I don't think it's needed anymore, because I'm not quite sure how the project compiles. But I can't inject into the config file anymore without using the characters you disabled, and I think that part of the code is already safe. I will test again when your new version is released

I have merged the fix into the master branch, which means it will be built with the next nightly build.
Should you happen to use Docker images, you can use the latest nightly Docker image to test the fix. Otherwise you could use the artefact attached to the last nightly build.

I have merged the fix into the master branch, which means it will be built with the next nightly build. Should you happen to use Docker images, you can use the latest nightly Docker image to test the fix. Otherwise you could use the artefact attached to the last nightly build.

I think the patch has fixed the vulnerability successfully. I will contact you promptly if I find any new vulnerabilities after that.


Mac M1 and Tensorflow

Hello @patlevin ✌🏻
I trying to use fdlite in my MacBook air M1, but I can't...
Your setup.cfg asks for TensorFlow (install_requires = tensorflow>=2.3    Pillow>=8.0), but the module for M1 is like the image bellow...

I've tried downloading and changing the install_require to "tensorflow-mac>=3" and it worked fine...

Thank you for pointing this out.
I will try and create a platform-dependent release in the near future. Since I don't own or use Apple hardware, would you be willing to test this once I've gotten around to it?

Absolutely! Count on me! 🤝🏼🤘🏻

I've added a new branch  with the necessary changes applied.
If that works as expected I will merge the changes and make new release.


fix(hono): safely parse request body

The web UI does not include a request body in most of its requests to the API. Hono's c.req.json() method throws if it cannot parse the body (at least on v4, I noticed bull-board is still on v3). This causes all of the mutations in the UI to fail, except for those that include a body such as adding a job.
This PR is a small change to safely attempt to parse the request body.

Thank you for your contribution 🙏🏼


Card not showing

The card is not showing up anymore in Lovelace
Latest HomeAssistant & LibreELEC versions
I only just noticed, but I assume it has to do with one of the latest updates? I can't find anything in the logs about it

Hi,
I also run HA core-2021.11.2, Kodi 19 (usin Libreelec too) and I have no problem. Are you running kodi-playlist-card v3.2.0 and kodi-media-sensors v3.1.5?
I know some people had to wait about 20min after updating kodi-media-sensors before having data. Probably some cache on HA, but I don't get why...
I'll update HA to core-2021.11.3 and check if still no problem

Hi,
Yes, core-2021.11.2, using LibreELEC 10.0.1, kodi-playlist-card 3.2.0 and kodi-media-sensors 3.1.5
The preview in "select a card" is also blank, which used to be a functional preview.
My Kodi instances are showing up in the integrations list just fine, and when I look at the status, they report the correct status in the integrations from HA, but the card is still not showing.

Hello,
can you check in a browser, using the developer mode (F12 in Firefox) and see if you have an error in the console or if something is not loading in the Network tab? Javascript errors will prompt somewhere here.
You can also send me a screenshot of the content of the sensor so I can have a look and see if I find something unusual.

That's with dev-tools open, refresh.
 The thing is that I don't use mwc-linear-progress. I wonder if it doesn't come from the mini-player?
Can you create a complete new page in HA and add only the kodi-playlist-card? And if you didn't before, maybe a clear of your cache?

I've completely removed the tab, upgraded HA again (as there was an update), reinstalled the card... It's working now.
I have done this two or three times without any luck, but it seems this time it is working again. Closing for now.

Well, that's strange!!!!
But it's good to hear it works again. Thank you for the feedback!


Does not work with Jupyter Notebooks

Hi,
Thanks for the extension.
I am trying to use with jupyter notebooks, unfortunately, it does not work.
Is there anything that can be done?

Hi,
Thanks for the extension.
I am trying to use with jupyter notebooks, unfortunately, it does not work.
Is there anything that can be done?

Hey there, thanks for using it! I think I can help a bit.
Could you please provide more information like what's the language mode(you can find it on the statusbar) of your jupyter notebooks and did you use another extension for that file format? And were you trying to scroll two jupyter notebooks synchronically or with another type of file?

Hi,
Thanks for the extension.
I am trying to use with jupyter notebooks, unfortunately, it does not work.
Is there anything that can be done?

Hey there, thanks for using it! I think I can help a bit.
Could you please provide more information like what's the language mode(you can find it on the statusbar) of your jupyter notebooks and did you use another extension for that file format? And were you trying to scroll two jupyter notebooks synchronically or with another type of file?

Hi @hovo1990 and @dqisme,
I'd also like to use the extension in combination with jupyter notebooks.
To answer your questions:
Typically when working with .ipynb files you'll open them using the Jupyter extension and the Python extension. When using the Jupyter extension a lot of functionalities, appearence and shortcuts of vs code will change.
The language mode that is usually displayed in the bottom right corner isn't shown when opening a .ipynb file.
Also the sync scroll settings that are usually displayed next to the language mode will disappear if one of the editor groups has a .ipynb file open.
Status bar while two text files are opened:

Status bar while one text file and one .ipynb file are opened:

I guess that's not relly news for you, but I thought I'd still share them and ask if jupyter notebook support is planned for the future?

@JanRaber Thanks for providing more information. I will try to reproduce it as you mentioned here for debugging. Meanwhile, I would suggest using the commands "Change Sync Scroll Mode", "Toggle Sync Scroll" in the Show All Commands (or, default shortcut, ⌘ + Shift + P) as a workaround. Hope this can help a bit. :)

would suggest using the commands "Change Sync Scroll Mode", "Toggle Sync Scroll" in the Show All Commands (or, default shortcut, ⌘ + Shift + P) as a workaround.

@dqisme, This work-around does not work. I see the status bar correctly, but there is just no effect in Jupyter Notebooks.
Is this difficult to fix?


BuildStream and BuildGrid clash over use of protobuf

See original issue on GitLab
In GitLab by [Gitlab user @jmacarthur] on Jun 20, 2018, 09:47
Summary
Import statements in BuildStream (in the juerg/googlecas branch) and in BuildGrid (in master) use the Google protobuf Python library incompatible ways. Both will work individually, but my research so far suggests that both may need to be modified to work correctly with each other and any other Python application which uses protobuf. Since it's expected to be a common situation to use the BuildStream artifact cache and BuildGrid remote execution server on the same machine, this is currently delaying development.
Steps to reproduce
Install BuildStream and BuildGrid on the same machine using the instructions given in the README.rst for both projects. I don't believe the order is important.
Attempt a normal build of freedesktop-sdk bootstrap bst build bootstrap and try listing current executable jobs in BuildGrid with bgd execute list.
Observed on BuildStream rev. 8c82f22f2bdbcbb623d24d80d2e72070e03e2080 and BuildGrid rev. 811e7cef961b43f634c1f94d0ef8486e895d8360
What is the current bug behavior?
BuildGrid refuses to accept any commands, for example saying execute is not a valid command when executing bgd execute list. This is because it's catching an ImportError; the underlying error is:
  File "/home/jimmacarthur/bs/buildgrid/buildgrid/server/build_grid_server.py", line 30, in <module>
    from google.devtools.remoteworkers.v1test2 import bots_pb2_grpc
ModuleNotFoundError: No module named 'google.devtools.remoteworkers'

What is the expected correct behavior?
BuildGrid server and BuildStream's artifact cache should coexist on the same machine and work correctly.
Relevant logs and/or screenshots
See attachment protobuf-import-log.
Other relevant information
This is a known bug in protobuf:
https://github.com/google/protobuf/issues/1296
https://github.com/google/protobuf/issues/1296#issuecomment-192750438 suggests a possible fix.
protobuf-import-bug

In GitLab by [Gitlab user @jmacarthur] on Jun 20, 2018, 09:49
changed the description

In GitLab by [Gitlab user @toscalix] on Jun 21, 2018, 07:28

Blocker is a label reserved for Release purposes, as stated in our WIP policy. Removing it.
If this ticket correspond or is related with a BuildGrid ticket, please add such ticket to the Related tickets section (add the link).
Added appropriated metadata.

In GitLab by [Gitlab user @jmacarthur] on Jun 21, 2018, 08:31
marked this issue as related to BuildGrid/buildgrid#21

In GitLab by [Gitlab user @jmacarthur] on Jun 21, 2018, 08:31
marked this issue as related to BuildGrid/buildgrid#21

In GitLab by [Gitlab user @jmacarthur] on Jun 21, 2018, 08:31
removed the relation with BuildGrid/buildgrid#21

In GitLab by [Gitlab user @toscalix] on Jun 24, 2018, 15:16
I add the label ~Urgent to ensure this topic is discussed in the next meeting.

In GitLab by [Gitlab user @toscalix] on Jul 2, 2018, 16:16
assigned to [Gitlab user @tristanvb]

In GitLab by [Gitlab user @jmacarthur] on Jul 9, 2018, 10:42
Jürg has posted new commits to !337 which looks like they might be relevant to this bug. I'm going to review and test these today. See https://gitlab.com/BuildStream/buildstream/merge_requests/337#note_86696912

In GitLab by [Gitlab user @jmacarthur] on Jul 9, 2018, 17:23
Pleased to say this is now fixed with Jürg's update. Retested using a Ubuntu 18.04 Vagrant image; the issue was reproduced with the original commits in the issue and was fixed by switching to the current BuildStream juerg/googlecas branch (ref. 9d69068)

In GitLab by [Gitlab user @jmacarthur] on Jul 9, 2018, 17:23
closed


[Codegen] Support dynamic/scalable sizes when folding insert_slice into xfer_write

This enables further optimizations which are currently missed when targeting scalable vectors.

LGTM, thanks!
@hanhanW , would you like to take a look or shall we land it?

I'll take a look today, sorry for the late review.

New test failures come from #17804, need to wait for #18113.