make_psfmasks.py issue on windows

`Traceback (most recent call last):
File "C:\Users\becca\spaceKLIP\spaceKLIP\make_psfmasks.py", line 123, in
hdul.writeto('resources/transmissions/' + fitsfile, output_verify='fix', overwrite=True)
File "C:\Users\becca\anaconda3\lib\site-packages\astropy\io\fits\hdu\hdulist.py", line 1010, in writeto
fileobj = _File(fileobj, mode=mode, overwrite=overwrite)
File "C:\Users\becca\anaconda3\lib\site-packages\astropy\io\fits\file.py", line 217, in init
self._open_filename(fileobj, mode, overwrite)
File "C:\Users\becca\anaconda3\lib\site-packages\astropy\io\fits\file.py", line 615, in _open_filename
self._overwrite_existing(overwrite, None, True)
File "C:\Users\becca\anaconda3\lib\site-packages\astropy\io\fits\file.py", line 496, in _overwrite_existing
os.remove(self.name)
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'resources/transmissions/JWST_MIRI_F1065C_transmission_webbpsf-ext_v2.fits'`

Hi Becca, what was the outcome of you trying to get spaceKLIP working on a Windows machine? I remember that we realised that the jwst pipeline does not support Windows, so curious what your next steps were / are. Thanks!

Hi Aarynn,
In all honesty, I've been using our lab computer here at Smith for
spaceKLIP and haven't pursued running it on my Windows machine yet. I'm
considering running a virtual Mac machine on my laptop but have yet to do
some research on how to do that!
Becca
On Tue, Apr 16, 2024 at 12:02 PM Aarynn Carter @.***>
wrote:

Hi Becca, what was the outcome of you trying to get spaceKLIP working on a
Windows machine? I remember that we realised that the jwst pipeline does
not support Windows, so curious what your next steps were / are. Thanks!
—
Reply to this email directly, view it on GitHub
https://github.com/kammerje/spaceKLIP/issues/154#issuecomment-2059439131,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BAKGIRN3O4LZYSGEX2T3JPDY5VDRVAVCNFSM6AAAAABFAESIHOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANJZGQZTSMJTGE
.
You are receiving this because you authored the thread.Message ID:
@.***>

Okay no worries, in that case I will close this, and assume that spaceKLIP similarly does not support Windows at this time. Thanks :)


Mouse position delta never zeroed out

If a Drawable implements IRequireHighFrequencyMousePosition it will get an InputState which always has mouse delta != 0, since it is never cleared.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Dupe of https://github.com/ppy/osu-framework/issues/1917


RNN: tensorflow.python.framework.errors.InvalidArgumentError: indices[15,0] = 10535 is not in [0, 10000)

Hey. I adapted the example file (https://github.com/tensorflow/tensorflow/blob/master/tensorflow/models/rnn/ptb/ptb_word_lm.py) to work on my training data. Unfortunately as soon as the training data exceeds a certain size I'm getting an error: http://pastebin.com/JkV7MCQk What could be the issue? How can I debug this?
Might it be an issue with the training data? (http://s000.tinyupload.com/index.php?file_id=02347215266721316111)

Hey. Just saw that the vocabulary size is a parameter you have to define manually? Seems not very intuitive for me as it can be computed automatically.

Hello! How do you get rid of these error? It seems I run into the same problem. Maybe you can share your experience ?

@hauluk  from the above comment we can see that we must calculate size of vocabulary explicitly and then supply it as parameter, then we will not get this error. :).

The problem was the trained model can't find the word in the embedding matrix. That means I used a different vocabulary for training and prediction. Because of the fixed vocabulary I needed the same vocabulary for train and new data.

+1 for anyone using labels originated in another language (like Lua, R) that count or index starting with 1

I got the same problem,and I have get the right answer.Thank you!

@yufengzhixing
I got the same problem, but I haven't solved the problem. Could you share your solution? Thank you!

Hi!
I didn't used the same data set for predicting and training. That was my
solution.
Hope i could help you.
Am 25.07.2017 3:24 vorm. schrieb "shijial"<EMAIL_ADDRESS>
@yufengzhixing https://github.com/yufengzhixing
I got the same problem, but I haven't solved the problem. Could you share
your solution? Thank you!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/2734#issuecomment-317600816,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJQ96YSnN7aEHoS9YIMBmStav9UfFPesks5sRUPAgaJpZM4IxLIN
.

Why not calculate vocab_size automatically? Are there any reasons?

It's also worth noting that I get a similar error if the vocab.tags.txt doesn't contain "O", even if the training doesn't use "O".

for ngram model this will yield tremendous headaches exception for ngram-map was store in the model parameter, you cannot even delete the related tuples.


Split #[enum_derive]

Make derives included in #[enum_derive] available without depending on auto_enums.
For the moment there are no plans to make auto_enums depend on these crates.

iterator-enum

[x] [std|core]::iter
[x] rayon::{ParallelIterator, IndexedParallelIterator, ParallelExtend}

futures-enum

[x] [std|core]::future
[x] futures(v0.3)

io-enum

[x] std::io

std::error; #14 (EDIT: see https://github.com/taiki-e/auto_enums/issues/14#issuecomment-483672675)

Done.
However, maintaining these is cumbersome and may be merged into this repo as subcrates.


NEI not showing up in 1.11

Tested with just 1.11.2, AdvRocketry, LibVulpes, JEI, NEI, and ChickenCore installed. No AdvRocketry machine support appears in NEI/JEI, just crafting table recipes.

I confirm this bug as well on my modpack. No JEI support but it was supported in 1.10.2 :)

Still working on it, planning on adding NEI support back in as well and is taking a bit of time.  There'll likely be a build with JEI support on the Jenkins within the next few hours

Should be fixed in this build http://<IP_ADDRESS>:8080/job/Advanced Rocketry/job/AdvancedRocketry/job/MC1.11/3/

Dude, you are amazing, you work so fast :O


Fixup scraping

This patchset fixes issue on scraping.

Avoid stall on scraping
Avoid chracter corruption of scraping some Japanese site

Sincrely,
Taku Izumi

I will need some more time to look into using content vs text. Meanwhile it would be great if you could explain why using
content is more appropriate, and provide some example URLs where you noticed the character encoding issues.

Sample URL is "https://www.mizuhobank.co.jp/retail/products/direct/index.html" (Sorry for Japanese site)
I googleed why character corruption occurs and found that the following link: (sorry for Japanese site too)

https://www.lifewithpython.com/2015/07/python-requests-response-body-encoding.html
My understanding is:
it's encoding problem. When scraping site's charaset is not unicode encoded, character corruption happens.
request.text manipulates data as "unicode encoded data", while request.content does data as string[].
So, we can avoid by using requests.content().

From reading the API docs for the request package, it seems using Response.text will try to use the encoding from the response headers, and if that is not defined, it will try to determine one using the charset_normalizer package. Response.content will simply return the bytes - here I guess that the content will always be read as unicode / the default charset. It seems the problem is that several sites specify an incorrect response encoding, leading Response.text to decode the content incorrectly.
I modified the solution to use the charset_normalizer package directly, instead of going through Response.text. That means that the encoding that is specified in the response is not respected, and that linkding will always try to determine an encoding that returns useful content, however charset_normalizer determines that. That fixes the issue with some Japansese sites and also solves the issue raised in #148 . We'll have to see if other issues come up with the new solution.


Raise explicit error for pending message send fail

If there's still pending messages after max retries have failed, raise
an explicit error instead of a generic RuntimeError.

CC @bpot

:+1: This would be nice.


When trying to update user profile with empty "about" page, exception is thrown and not handled

Steps to reproduce:

Log in with connected user (FB, Google) which has an empty about field
Go to profile editing
Submit

Expected results:
User would be notified that he needs to provide an about page, or, even better, about page would already be enforced on registration.
Actual results:
br.com.caelum.vraptor.validator.validationexception  exception is thrown, no reason given
There are two problems here as I see it:

the issue should have been caught before user is allowed to submit the form
in case he manages to still submit the form, gracefull error reporting should be done

I found that this interceptor is causing this issue: https://github.com/caelum/mamute/blob/master/src/main/java/org/mamute/interceptors/ConversionErrorsInterceptor.java
When I remove it, the validations errors are handled as usual. I'm not sure why this interceptor even exists, any ideas, @leocwolter?
Anyway, since the user can create his account without providing all this info, he should be able to edit it as well... So I guess that the "About you" field should be optional. What do you think?

Maybe at the time we implemented this VRaptor wasn't handling conversion errors. If it works will without it feel free to remove :)

Fixed with https://github.com/caelum/mamute/pull/136


drivers: modem: Add support for quectel bg95

Adding support for Quectel BG95 Modem offloaded driver to zephyr.
The driver currently implements only the client side functions of the "socket_op_vtable", and so cannot be used for cases where Zephyr acts as a server. Moreover the driver only supports TCP for now.
Looking through the guides, the same driver should be usable for BG96 (and other modems) except for the modem boot-up sequence. Hence its named as "bg9x" instead of "bg95".
Tested extensively with Zephyr acting as MQTT endpoint and publishing / subscribing data to / from an MQTT broker.
Signed-off-by: Bilal Wasim<EMAIL_ADDRESS>

Just wondering if these bg9x modems supports PPP mode instead of offloaded one, any idea?

Just wondering if these bg9x modems supports PPP mode instead of offloaded one, any idea?

They do - I actually did try PPP on this and was able to get the modem booted, but PPP failed at the network layer protocol stage, and eventually the link got terminated. Didn't look too deep into it, but I was using CAT-M1 SIM and it "seemed" that Zephyr PPP only supported GSM.

Didn't look too deep into it, but I was using CAT-M1 SIM and it "seemed" that Zephyr PPP only supported GSM.

Yes, it would be great if we could improve the ppp support in the gsm driver. I have not used CAT-M1 SIM so do not know what kind of changes would be needed there.
Anyway, thanks for the info.

I used PPP with BG96 and it worked really well. The thing is that I didn't use gsm_ppp layer so far, but some custom AT command layer instead. I have also access to project with BG77, which is also a Cat M1, and there was no issues either. It is only a matter of fine tuning AT commands.

It is only a matter of fine tuning AT commands.

This is what I suspected, it seems that each modem manufacturer wants to have slightly different way of doing things.

Can you add this to tests/drivers/build_all.
You can see following commit for patterrn:
commit dc0466f8a168553954052c299b383cf95555b849
Author: Kumar Gala<EMAIL_ADDRESS>Date:   Thu Oct 15 03:23:06 2020 -0500
tests: drivers: build_all: Rework modem test to be more generic

Also I couldn't compile the driver,
zephyr/drivers/modem/quectel-bg9x.c: In function 'modem_init':
zephyr/drivers/modem/quectel-bg9x.c:1067:18: error: 'struct modem_iface_uart_data' has no member named 'isr_buf'
 1067 |  mdata.iface_data.isr_buf       = &mdata.iface_isr_buf[0];
      |                  ^
zephyr/drivers/modem/quectel-bg9x.c:1068:19: error: 'struct modem_iface_uart_data' has no member named 'isr_buf_len'; did you mean 'rx_rb_buf_len'?
 1068 |  mdata.iface_data.isr_buf_len   = sizeof(mdata.iface_isr_buf);
      |                   ^~~~~~~~~~~
      |                   rx_rb_buf_len
[107/163] Building C object zephyr/subsys/net/ip/CMakeFiles/subsys__net__ip.dir/net_context.c.obj
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: /usr/bin/cmake --build zephyr/build

Please check 763bd27c7599c78ed9b77867dab29553e0781ddf

Also I couldn't compile the driver,
zephyr/drivers/modem/quectel-bg9x.c: In function 'modem_init':
zephyr/drivers/modem/quectel-bg9x.c:1067:18: error: 'struct modem_iface_uart_data' has no member named 'isr_buf'
 1067 |  mdata.iface_data.isr_buf       = &mdata.iface_isr_buf[0];
      |                  ^
zephyr/drivers/modem/quectel-bg9x.c:1068:19: error: 'struct modem_iface_uart_data' has no member named 'isr_buf_len'; did you mean 'rx_rb_buf_len'?
 1068 |  mdata.iface_data.isr_buf_len   = sizeof(mdata.iface_isr_buf);
      |                   ^~~~~~~~~~~
      |                   rx_rb_buf_len
[107/163] Building C object zephyr/subsys/net/ip/CMakeFiles/subsys__net__ip.dir/net_context.c.obj
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: /usr/bin/cmake --build zephyr/build

Please check 763bd27

Thanks for pointing this out, Will fix. To date, this driver has been tested only with Zephyr v2.4.0 and hence this got missed.

I used PPP with BG96 and it worked really well. The thing is that I didn't use gsm_ppp layer so far, but some custom AT command layer instead. I have also access to project with BG77, which is also a Cat M1, and there was no issues either. It is only a matter of fine tuning AT commands.

Can you share how you did this and the "fine tuned AT Commands" that you used to make the PPP function correctly. It would be much appricated.
Billy..

@mike-scott / @jukkar / @galak , Can you kindly review this pull request ? Thanks..

Seeing strange CI failures which have nothing to do with the PR itself..
HEAD is now at c39888f Update unsupported commands test to handle command status response
--
  | Previous HEAD position was 83c964e CMakeLists.txt: Rearrange library creation to be more flexible
  | HEAD is now at 6edaaaa CMakeLists.txt: Build TF-M based on new Kconfig options
  | ERROR: update failed for project ci-tools
  | touch: cannot touch 'sanity-out/sanitycheck.xml': No such file or directory
  | 🚨 Error: The command exited with status 1

Closing / Pre-opening to re-trigger CI.

ping !
@jukkar @galak @mike-scott @parthitce

Looks good. Can you check whether the #30149 would require changes here as this PR is somewhat related to ublox-sara modem driver.

Thanks, I will constify the required stuff in the driver.


[Feature Request] Add a way to copy/share an album

While there is an option to link/share a song, Spot seems to lack a way to link an entire album, which is something I do fairly often.
A solution could be adding a button next to the "add to library" button in the album view, which would copy the album link into the clipboard.

Yep, another feature to add.  just because an application is "lightweight" doesn't mean it shouldn't have features hidden behind gestures and context-menus.  bloated UI is when there hundreds of buttons sitting on the "idle" interface.

I will start working on this!
I will implement the option to copy the link of an album through a dot menu in the album-header. The "add to library button" could also be moved into the dot menu, if the goal is to achieve a clean UI, but I will not do this for now.
I prefer adding a dot menu instead of a dedicated copy-button to make it possible to add more features for albums in the future.

thank you @SarahRemus !


Configuration file location

Hi,
Can I move app/config/gearman/dev.yml into my customed bundle configuration directory
like MyBundle/Resources/config/gearman.yml, or move it into sf2 configuration file like app/config_dev.yml, app/config_prod.yml?
Would GearmanBundle support this function?
Thanks.

Hi Nakashiman.
You want to changle GearmanBundle config location, or your Independence injection config file?
You can change both, but second one should be placed where actually is ( Dependence injection should not be different in each environment ). If you want to change it's location, go to DependencyInjection/MmoreramerinoGearmanExtension.php and change the parametter of FileLocator.
First one, you can take the GearmanSettings class in Services Folder and change the method getFilePath().


Website error

Error: Http response at 400 or 500 level
The above error occurred in task selectNetwork
created by takeEvery(network/selectNetwork, selectNetwork)
created by networkSaga
Tasks cancelled due to error:
takeEvery(network/selectNetwork, selectNetwork)
E@https://wallet.oasisprotocol.org/static/js/2.4b9d1ee8.chunk.js:94905:17
Y@https://wallet.oasisprotocol.org/static/js/2.4b9d1ee8.chunk.js:96430:38
@https://wallet.oasisprotocol.org/static/js/2.4b9d1ee8.chunk.js:96404:26
Ib@https://wallet.oasisprotocol.org/static/js/2.4b9d1ee8.chunk.js:95551:26
O@https://wallet.oasisprotocol.org/static/js/2.4b9d1ee8.chunk.js:95537:5
wc@https://wallet.oasisprotocol.org/static/js/2.4b9d1ee8.chunk.js:96058:22
yc@https://wallet.oasisprotocol.org/static/js/2.4b9d1ee8.chunk.js:96125:11
@https://wallet.oasisprotocol.org/static/js/2.4b9d1ee8.chunk.js:96070:5
@https://wallet.oasisprotocol.org/static/js/2.4b9d1ee8.chunk.js:96066:60
@[native code]

Thank you for reporting this issue. We have updated our Oasis Wallet with bug fixes and new features which should also solve mentioned issue above.
If you still encounter same or similar issue, please check our FAQ or send an email to our support team at<EMAIL_ADDRESS>


Paper on singularity? how to cite Singularity?

Hey there!
We are doing some research on DNS Rebinding and want to cite Singularity. Do you have paper on singularity to cite or we should cite your github ?
Thanks!

Hi, citing github is fine, thank you for asking. Looking forward to read the results of your research!


Bug: The chat is not working

I noticed in recent versions of Fedora a weird bug, after injecting it and joining any server, I can't see messages from server members and the messages I send are invisible.
Currently I'm using an old version of Fedora so I can chat!
Please take a look and thanks!

Type this into console:
cl_mute_all_comms 0

I'll try it rn :)

i've tried the command but the chat is still invisible :(

i've tried the command but the chat is still invisible :(

I think i have an potential fix for this. Will push later

Thank you!

Omg this a huge update! i'll definitely test it as soon the pull request is accepted! good job man o7

^facts!


Selector config to accept CSS selector string. Entrance animation for scroll track. Relative scrolling method.

Hello, I have implemented your scrollbar and it is awesome!!
I have 3 suggestions.
A first suggestion in case someone needs to implement multiple scrollbars on the page and can't set individual IDs to be known beforehand will be to update the following lines:
[37] this.selector = options.selector || defaults.selector;
[271] let selectorElement = document.querySelector(this.selector);

as this enables developer to initialize the scroller by CSS selector string and not only by the ID, I have modified the file on my project and it works as a charm.

Second suggestion: maybe adding an entrance animation to the .lms_scroll_track will help prevent some unwanted flickering when initially the scrollbar is display: none, something simple like:
.lms_scroll_track{
    animation: appear .5s ease forwards;
}
@keyframes appear { from{ opacity: 0; } to{ opacity: 1; } }

Third suggestion is to add a new method or second parameter (boolean) on the .scrollTo method for the scrolling amount to be relative to the current scroll position.
var scrollEl = instance.mainElement.querySelector('.lms_content_wrapper');
instance.scrollTo(scrollEl.scrollTop + 150);

Besides that your code is splendid and also great job for reserving the native scrolling.

Hey,
Thank you for all the sugestions, it makes sense.

Please, submit a pull request with the modifications you sugested so you will be in the Contributors!


Always fail Test when CollectionName exceed 15 letters

Description
xRDSessionCollectionConfiguration and xRDRemoteApp resources always failed TEST when Collection Name exceeds 15 letters.
Reproduce
Following Configuration will always run SET for xRDSessionCollectionConfiguration and xRDRemoteApp
Configuration InstallRemoteDesktopSessionHost
{
    Import-DscResource -ModuleName PSDesiredStateConfiguration;
    Import-DscResource -ModuleName xRemoteDesktopSessionHost;

    Node "localhost"
    {
        LocalConfigurationManager
        {
            RebootNodeIfNeeded = $true
        }

        WindowsFeature Remote-Desktop-Services
        {
            Ensure = "Present"
            Name = "Remote-Desktop-Services"
        }

        WindowsFeature RDS-RD-Server
        {
            Ensure = "Present"
            Name = "RDS-RD-Server"
        }

        WindowsFeature Desktop-Experience
        {
            Ensure = "Absent"
            Name = "Desktop-Experience"
        }

        WindowsFeature RSAT-RDS-Tools
        {
            Ensure = "Present"
            Name = "RSAT-RDS-Tools"
            IncludeAllSubFeature = $true
        }

        WindowsFeature RDS-Connection-Broker
        {
            Ensure = "Present"
            Name = "RDS-Connection-Broker"
        }

        WindowsFeature RDS-Web-Access
        {
            Ensure = "Present"
            Name = "RDS-Web-Access"
        }

        WindowsFeature RDS-Licensing
        {
            Ensure = "Present"
            Name = "RDS-Licensing"
        }

        WindowsFeature RDS-Gateway
        {
            Ensure = "Present"
            Name = "RDS-Gateway"
        }

        xRDSessionDeployment Deployment
        {
            SessionHost = $Node.FQDN
            ConnectionBroker = $Node.FQDN
            WebAccessServer = $Node.FQDN
            DependsOn = "[WindowsFeature]Remote-Desktop-Services", "[WindowsFeature]RDS-RD-Server"
        }

        xRDSessionCollection Collection
        {
            CollectionName = $Node.CollectionName
            CollectionDescription = $Node.CollectionDescription
            SessionHost = $Node.FQDN
            ConnectionBroker = $Node.FQDN
            DependsOn = "[xRDSessionDeployment]Deployment"
        }

        xRDSessionCollectionConfiguration CollectionConfiguration
        {
            CollectionName = $Node.CollectionName
            CollectionDescription = $Node.CollectionDescription
            ConnectionBroker = $Node.FQDN
            TemporaryFoldersDeletedOnExit = $false
            SecurityLayer = "SSL"
            DependsOn = "[xRDSessionCollection]Collection"
        }

        xRDRemoteApp Calc
        {
            CollectionName = $Node.CollectionName
            DisplayName = "Calculator"
            FilePath = "C:\Windows\System32\calc.exe"
            Alias = "calc"
            DependsOn = "[xRDSessionCollection]Collection"
        }

        xRDRemoteApp Mstsc
        {
            CollectionName = $Node.CollectionName
            DisplayName = "Remote Desktop"
            FilePath = "C:\Windows\System32\mstsc.exe"
            Alias = "mstsc"
            DependsOn = "[xRDSessionCollection]Collection"
        }
    }
}

$data = @{
    AllNodes = @(
        @{
            NodeName = "*"
            FQDN = [System.Net.Dns]::GetHostEntry("localhost").HostName
            CollectionName = "ABCDE FGHIJ KLMNO" #17 letters
            CollectionDescription = "A collection of SAMPLE Servers"
        },
        @{
            NodeName = "localhost"
        }
    )
}

InstallRemoteDesktopSessionHost -ConfigurationData $data
Set-DscLocalConfigurationManager -Path .\InstallRemoteDesktopSessionHost -Force
Start-DscConfiguration -Path .\InstallRemoteDesktopSessionHost -Wait -Force -Verbose

You can avoid this issue with less than 15 character for CollectionName.
Suggestion
Add Length Validation to CollectionName Property would be much appreciated.

Submitting pull request today that adds validation of 1-15 character length on the CollectionName property in the three resources that use it in this module.


Fix green dot disappears with a delay in LHN when task is completed

Details

Completing a task doesn't remove the green dot immediately. This PR fix it.
Fixed Issues

$ https://github.com/Expensify/App/issues/44087
PROPOSAL: https://github.com/Expensify/App/issues/44087#issuecomment-2181989366
Tests

Same as QA Steps

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

Offline tests

Same as QA Steps
QA Steps

Open any chat
Create a new task
Open the task report and assign it to yourself
Complete the task
Verify the green dot immediately disappears

[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 either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[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(theme.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 the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[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

https://github.com/Expensify/App/assets/50919443/9de589c2-b3e9-4ad0-81ad-6089d7890adf

Android: mWeb Chrome

https://github.com/Expensify/App/assets/50919443/6e1e3507-d136-49ac-b35e-14d4d68db35c

iOS: Native

https://github.com/Expensify/App/assets/50919443/4a661d15-f0aa-428f-931f-58553c4fbdac

iOS: mWeb Safari

https://github.com/Expensify/App/assets/50919443/f9aafd4f-cf97-4135-9d3d-361a513f0b37

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/50919443/7c4b6e70-a64e-445d-8fbd-4745f0aa185d

MacOS: Desktop

https://github.com/Expensify/App/assets/50919443/f247c0e5-dc64-4d99-9dd3-8eeba0b68516

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: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb 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 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] 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 either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[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(theme.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 the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

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

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/30054992/fe598136-8baf-44a0-86bd-328f310f05de

Android: mWeb Chrome

https://github.com/Expensify/App/assets/30054992/bec74cc0-0c55-42dd-8cca-b596e776db2a

iOS: Native

https://github.com/Expensify/App/assets/30054992/9840d5fa-1bf5-4b23-8487-d76920b08249

iOS: mWeb Safari

https://github.com/Expensify/App/assets/30054992/12e76916-7c14-4c77-8796-738a0d19024d

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/30054992/3228e8b8-9da2-43a7-8ed7-48f1ac571345

MacOS: Desktop

https://github.com/Expensify/App/assets/30054992/322b5fea-0016-4231-96f9-b89990160829

: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/marcochavezf in version: 9.0.4-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Cherry-picked to staging by https://github.com/tgolen in version: 9.0.4-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by https://github.com/Julesssss in version: 9.0.5-13 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/thienlnam in version: 9.0.6-8 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


v0.6.0 standalone install ends with error: externally-managed-environment on Ubuntu 24.04

Describe the bug
Running curl https://raw.githubusercontent.com/quentintaranpino/nostrcheck-api-ts/0.6.0/scripts/install.sh --output install.sh && chmod +x install.sh && ./install.sh results in error: externally-managed-environment during the Python Packages Install.
To Reproduce
Steps to reproduce the behavior:

Install Ubuntu 24.04 LTS Server
Upgrade everything
Run curl https://raw.githubusercontent.com/quentintaranpino/nostrcheck-api-ts/0.6.0/scripts/install.sh --output install.sh && chmod +x install.sh && ./install.sh
Say YES to everything
See the error during the "🐍 Installing Necessary Python Packages..." step

Expected behavior
Smooth installation... I guess :-)
Screenshots
═══════════════════════════════════════════════════════════════════════════════
                 🐍 Installing Necessary Python Packages...
═══════════════════════════════════════════════════════════════════════════════

🔄 Installing packages from requirements.txt...

error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.

    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.

    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.

    See /usr/share/doc/python3.12/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
❌ Failed to install Python packages from requirements.txt

I'll check it. Thanks for letting me know.

I'm observing the progress from a safe distance, but I had to try it.  Now during the Python step, this error pops up, but it is pretty easy to deal with by just running apt install python3.12-venv.
═══════════════════════════════════════════════════════════════════════════════
        🐍 Creating Python virtual environment and installing packages
═══════════════════════════════════════════════════════════════════════════════

🔄 Creating virtual environment in .venv...
The virtual environment was not created successfully because ensurepip is not
available.  On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.

    apt install python3.12-venv

You may need to use sudo with that command.  After installing the python3-venv
package, recreate your virtual environment.

Failing command: /root/nostrcheck-server/.venv/bin/python3.12

Also, the default Node.js version is 18. So, I think the script needs to add the required version 21+.

Hello, thank you for your comments. Could you try to install it now?
I think I've got something working 😊
Quentin

Thanks for your tests; you have helped me to better prepare the installer for the new version, even before completing it.
I encourage you to join the Telegram group, where we share updates on development and new versions.
https://t.me/nostrcheck
Quentin


refusing to allow a GitHub App to create or update workflow .github/workflows/issue-inactive.yml without workflows permission

When the other files in .github directory changed, the sync action will failed:
Pushing synced data to target branch.
To https://github.com/xxx/yyyy
 ! [remote rejected] dev -> dev (refusing to allow a GitHub App to create or update workflow `.github/workflows/issue-inactive.yml` without `workflows` permission)
error: failed to push some refs to 'https://github.com/xxx/yyyy'
ERROR:  exit 1
Could not push changes to target repo.
Try running in test mode to verify your action input. If that does not help, please open an issue.
Resetting git config to previous settings.

I have the same issue, though obviously on a different workflow file. Seems that a Personal Access Token is required to get around this?

I agree, that does seem similar to #12.
In a nutshell -- if everything else works, but you just can't push at the final step, it's almost certainly permission/credentials related. That has been my experience during development.
Check out the Setup Notes here on the wiki and see if they help. If not, let me know and we can try to dig into the issue a bit.

I'm having the same issue. If a action yaml it's changed upstream the update will fail with that message that workflow permission is required for the app.

I am unable to get the following working, which (if I understand correctly) is using my PAT as a checkout token as mentioned by @josesimoes, but target_repo_token: ${{ secrets.GITHUB_TOKEN }} does not seem to change the result (I am still getting the same error)
name: Upstream Sync

on:
  schedule:
    - cron:  '0 7 * * *'
  workflow_dispatch:

jobs:
  sync_latest_from_upstream:
    runs-on: ubuntu-latest
    name: Sync latest commits from upstream repo

    steps:
    - name: Checkout code
      uses: actions/checkout@v2
      with:
        ref:  upstream
        token: ${{ secrets.GITHUB_TOKEN }}

    - name: Sync upstream changes
      id: sync
      uses<EMAIL_ADDRESS>      with:
        target_sync_branch: upstream
        target_repo_token: ${{ secrets.GITHUB_TOKEN }}
        upstream_sync_branch: master
        upstream_sync_repo: <source_repo>

@m-roberts on the above: I've removed the token on the Fork-Sync-With-Upstream-action action config.
Take a look at how it ended up working for me:
https://github.com/OrgPal/nf-interpreter/blob/orgpal-mesh/.github/workflows/merge-upstream.yml

Sadly I have modified my earlier code to remove the token from the sync action, but I still get an error.

@m-roberts Check if you have 'write' permissions for actions enabled.

check in your repo settings - docs

Check the 'Set up job' step in your workflow logs

If it's all set to 'write', then I wonder if worfklow write permissions are not available on the action token anymore. In that case, try creating a new token with those permissions and using it in the checkout step and the sync step of the workflow.

Did anyone figure this out?

When encountering this error, three things need to be checked:

Warehouse settings Workflow permissions allow write permissions
The TOKEN used has workflows permission
actions/checkout also requires TOKEN with workflows permission

Often, the third point is easily overlooked

Hello everyone I was Having this issue too
it was because I was Using  token: ${{ secrets.GITHUB_TOKEN }} as it not allow to edit in .github/workflow directory
You should made PAT token with privileges to edit in .github/workflow thanks for everyone


Kubernetes native sidecar not supported

What happened?
Since K8S 1.28 the native sidecars feature (https://kubernetes.io/blog/2023/08/25/native-sidecar-containers/) and in Istio this feature can be enabled to start the istio-proxy as init container with the option
restartPolicy: Always
When I enable this feature and try to create a cassandra cluster using the k8ssandra-operator, the Statefulset is failing with the failure:
Warning  FailedCreate      94s (x17 over 7m3s)  statefulset-controller  create Pod cassandra-dc1-default-sts-0 in StatefulSet cassandra-dc1-default-sts failed error: Pod "cassandra-dc1-default-sts-0" is invalid: [spec.initContainers[1].lifecycle: Forbidden: may not be set for init containers without restartPolicy=Always, spec.initContainers[1].readinessProbe: Forbidden: may not be set for init containers without restartPolicy=Always, spec.initContainers[1].startupProbe: Forbidden: may not be set for init containers without restartPolicy=Always]

The same problem is reported in other cases, e.g.:
https://github.com/istio/istio/issues/49221
https://github.com/Azure/azure-workload-identity/issues/1312
https://github.com/istio/istio/issues/49054
The might be related to the fact, that the cass-operator (until version 1.19.0) uses an old k8s.io version.
Maybe it will be resolved in the version 1.19.1 which will be included in the next k8ssandra-operator version.
What did you expect to happen?
init-container sidecars are added by istio
How can we reproduce it (as minimally and precisely as possible)?

Enable "native-sidecars" feature in Kubernetes
Enable "ENABLE_NATIVE_SIDECARS" in istiod
create a cassandra cluster

cass-operator version
v1.19.0
Kubernetes version
v1.28.6
Method of installation
Helm
Anything else we need to know?
Using K8ssandra-Operator v1.14.0

Hi, @burmanm
Thanks for the clarification.
You are right, the mutating webhook of the k8ssandra-operator is causing the problem.
Like described for the otel-operator in https://github.com/istio/istio/issues/49054#issuecomment-1915073586

Istio injects the istio-proxy container to the cassandra pod.
It adds "restartPolicy=Always" into the init container
The K8ssandra webhook injector is also triggered. it takes the JSON, marshals to a v1.Pod, mutates things, then marshals back.
Because it is on old k8s libraries, this round trip is lossy and loses the "restartPolicy=Always"
Kubernetes marks the Pod as broken, as the restartPolicy is missing

So the solution will be, as you suggested to update the k8s version in k8ssandra-operator.
Thanks for the clarification
Andreas

Hi again,
I restarted the tests with the k8ssandra-operator version v1.16.0 (which contains cass-operator 1.20), but the result is the same:
istio                  	istio-system      	1       	2024-05-17 12:14:31.140405187 +0000 UTC	deployed	base-1.22.0                  	1.22.0
istio-cni              	istio-system      	1       	2024-05-17 12:15:00.529044755 +0000 UTC	deployed	cni-1.22.0                   	1.22.0
istio-ingress          	istio-ingress     	1       	2024-05-17 12:15:08.246708008 +0000 UTC	deployed	gateway-1.22.0               	1.22.0
istiod                 	istio-system      	1       	2024-05-17 12:14:35.936156823 +0000 UTC	deployed	istiod-1.22.0                	1.22.0
k8ssandra-operator     	k8ssandra-operator	1       	2024-05-17 12:20:10.460073671 +0000 UTC	deployed	k8ssandra-operator-1.16.0    	1.16.0

cassandra STS:
Events:
  Type     Reason            Age                  From                    Message
  ----     ------            ----                 ----                    -------
  Normal   SuccessfulCreate  7m3s                 statefulset-controller  create Claim server-data-cassandra-dc1-default-sts-0 Pod cassandra-dc1-default-sts-0 in StatefulSet cassandra-dc1-default-sts success
  Warning  FailedCreate      94s (x17 over 7m3s)  statefulset-controller  create Pod cassandra-dc1-default-sts-0 in StatefulSet cassandra-dc1-default-sts failed error: Pod "cassandra-dc1-default-sts-0" is invalid: [spec.initContainers[1].lifecycle: Forbidden: may not be set for init containers without restartPolicy=Always, spec.initContainers[1].readinessProbe: Forbidden: may not be set for init containers without restartPolicy=Always, spec.initContainers[1].startupProbe: Forbidden: may not be set for init containers without restartPolicy=Always]

Oh I see, the k8ssandra-operator was not updated to a new k8s version yet, so it cannot work, I guess:
https://github.com/k8ssandra/k8ssandra-operator/blob/d7f059e51ab80a3a8692ad1db7d12522a79e0d5b/go.mod#L33C1-L36C1
	k8s.io/api v0.26.4
	k8s.io/apimachinery v0.26.4
	k8s.io/client-go v0.26.4

I tested the version v1.17.0 successfully.
Kubernetes "Native Sidecar" is now supported.
Will close the ticket.


Expose stream side data

Hello! I am faced with the following task, there is the video that has side data in one stream:
$ ffprobe video.mp4
...
  Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1920x1080, 3186 kb/s, 30.03 fps, 30 tbr, 19200 tbn (default)
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
    Side data:
      displaymatrix: rotation of -180.00 degrees

...

If you transcode such a video and don't copy the stream side data to the output video, the output video will be rotated relative to the source video.
To properly transcode such a video, you need to be able to copy the stream side data to the output video.

I'm thinking of replacing the function Stream::side_data return type from SideDataIter<'_> to &[PacketSideData]  in this PR. It seems safer this way. What do you think about this?

Thank you again for another PR. Hopefully, I'll get to it sometime next week.


List Virtual Machines

The application shall list virtual machines filtered on the logged in user.

Finished in 0.1.2.


Add metrics for cache_ in tuple-cache

https://github.com/twitter/heron/blob/master/heron/stmgr/src/cpp/util/tuple-cache.h#L96

not really useful


progress bar update error

Progress bar (tqdm) can't be updated with the value 0.
Traceback (most recent call last):
  File "/usr/local/bin/flashair-util", line 206, in <module>
    run()
  File "/usr/local/bin/flashair-util", line 120, in run
    sync_loop(filters, args)
  File "/usr/local/bin/flashair-util", line 153, in sync_loop
    _sync_loop(filters, args)
  File "/usr/local/bin/flashair-util", line 173, in _sync_loop
    _, new = next(new_files)
 File "/usr/local/lib/python3.5/dist-packages/tfatool/sync.py", line 146, in down_by_arrival
    down_by_files(new_arrivals, local_dir)
  File "/usr/local/lib/python3.5/dist-packages/tfatool/sync.py", line 171, in down_by_files
    _sync_remote_file(local_dir, f)
  File "/usr/local/lib/python3.5/dist-packages/tfatool/sync.py", line 211, in _sync_remote_file
    _stream_to_file(local_name, remote_file_info)
  File "/usr/local/lib/python3.5/dist-packages/tfatool/sync.py", line 218, in _stream_to_file
    _write_file_safely(local_name, fileinfo, streaming_file)
  File "/usr/local/lib/python3.5/dist-packages/tfatool/sync.py", line 237, in _write_file_safely
    raise e
  File "/usr/local/lib/python3.5/dist-packages/tfatool/sync.py", line 231, in _write_file_safely
    _write_file(local_path, fileinfo, response)
  File "/usr/local/lib/python3.5/dist-packages/tfatool/sync.py", line 248, in _write_file
    pbar.update(int(progress))
  File "/usr/local/lib/python3.5/dist-packages/tqdm/_tqdm.py", line 534, in update
    raise ValueError("n ({0}) cannot be less than 1".format(n))
ValueError: n (0) cannot be less than 1

Fixed in v2.2.3


Remove deprecated RenameActorReminder methods

The RenameActorReminder methods have been removed in the runtime for Dapr 1.13. The methods need to be removed from the SDK.
See dapr/dapr#6945

In most SDKs, methods shouldn't be outright removed, but should return an error saying the method is not implemented instead, to prevent compile-time errors.

That's correct, the .NET SDK never supported this API.


[netflow] Note on optimisation of ephemeral port rollup mem usage

…torage

What does this PR do?
[netflow] Note on optimisation of ephemeral port rollup mem usage

Motivation
Note for future

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

❓ question
Why is it added to the code, rather than to linked docs ?

converted to doc instead


Fix Readme

Separated installation commands that need sudo privilege from those need not.

Add git as dependency.

Add fix to bower installation problem with git protocol => use https protocol.

That's good.
But you need to merge the latest code to your repo so that git can auto merge your PR.

+1, going to merge.


Adding example commands to build on Ubuntu

More than example commands this is to get all the dependencies, right? Should we move the section under requirements and say something like example commands to get the required dependencies (tested on Ubuntu 16)?


Lyric with chords

In some cases, it can be necessary to have chords with lyrics. Currently, it is only possible to have the lyrics as child of the notes. It would make sense to have the option to have them instaead as child of the chord. See examples and discussion in https://github.com/rism-ch/verovio/issues/267

For the record, I disagree -- I put my reasons in the Verovio thread, so I won't fully re-hash them here, but just to say that a lyric belongs on a note and not on a chord since a voice cannot sing more than one pitch at a time.

I see what you mean. However, having a lyric on a chord is in itself not very logical, so your argument is being more catholic than the Pope. It creates additional issues, including making unclear whereas each lyric has to be rendered or not. Following the same logic as for @dur attributes or artic where the note "inherits" the chord values is clearer.

I've been turning this over for a week now. If there is a valid use case for lyrics on chords (see @donbyrd 's comments on  rism-ch/verovio#267) then just allowing lyrics on chords as a convenience method would seem to mix up the original intent.

What do you mean by mixing up the original intent? Sorry, I do not understand it.

On Don's comment he notes that some composers have specifically written lyrics on chords. If we allow lyrics on chords as a 'convenience' function, then we cannot separate out those cases where the original intent of the composer is a lyric on a chord, or where it's simply been done as a convenience.

I can see two comments from Don (https://github.com/rism-ch/verovio/issues/267#issuecomment-238546270 https://github.com/rism-ch/verovio/issues/267#issuecomment-238546270) but none seems to be mentioning this.
In any case: how can you know what the original intent of the composer is? If there is a lyric attach to a chord, that is what you want to encode: the lyric attached to the chord applies to all notes. That is it.
Also, I find the playability (or "singability") a weird argument to bring up here. You cannot play or sing a note without duration, however notes in chords in MEI usually have no duration. But this is not the main point. The main point is that we often have in music notation things that are not playable. One example: four note chords for solo string instruments. They cannot be played, and musicians will just play the lower notes as arpeggios. (You will probably find unplayable things for every instruments.) So if the playable version has to be encoded, this belongs more to the gestural domain than to the visual one. For the string instruments chords, you might want to add a shorter dur.ges values to the lower notes that are not sustained through out the duration, but you would still encode them as normal chords since it is how their appear visually.

Copy-and-paste @donbyrd 's comment:

I asked Jay Gottlieb, a pianist specializing in contemporary music who's interested in unusual notation, for examples of music with with chords having accent marks or dynamics on individual notes. He said "The 2 emblematic composers who used what you're looking for were Messiaen and Stockhausen. M. first with the 4 Etudes de Rythme (1949-50) and S. with his Klavierstück I (1952) and of course in the others following." In a quick look through parts of the Etudes de Rythme, I didn't see anything, but Klavierstück I has several chords with different dynamics on individual notes. (The copy I was looking at, in the Music Library, had a comment pencilled in next to one of those chords: "I'd like to hear Karlheinz play this." :-) )

Ah, nevermind -- I see that he's changed the title and the direction of the issue. :-/.

A lyric on a chord is ambiguous. 99.9% of the time, if you have two voices and a lyric, it will be written on two layers with stems in opposite directions, and really meant for two performers.
My understanding is that a chord is a device used to indicate two simultaneous pitches on a single instrument. If there are two instruments simultaneously performing, the "best practice" is that they be notated as different voices on the same staff. Are there exceptions?
A chorded lyric makes no sense, since it is obviously for two distinct performers.

On Don's comment he notes that some composers have specifically written lyrics on chords. If we allow lyrics on chords as a 'convenience' function, then we cannot separate out those cases where the original intent of the composer is a lyric on a chord, or where it's simply been done as a convenience.

@ahankinson: Now discuss any analogies or lack of same for chords and articulations:

<measure>
  <staff>
    <layer>
      <chord dur="4">
        <note oct="4" pname="d" accid.ges="n" />
        <note oct="4" pname="b" accid.ges="n" />
        <note oct="5" pname="g" accid.ges="n" />
        <artic artic="stacc"/>
      </chord>
    </layer>
  </staff>
</measure>

Is this not the correct encoding of a staccato on a chord?  All three chord notes share the same articulation, so the articulation is moved out of the individual note elements and placed on the chord level.  Why should lyric syllables be handled different than articulations?  If they are handled differently, then this will increase the cost of implementation and maintenance of software.
Is the following encoding correct and/or well-formed?
<measure>
  <staff>
    <layer>
      <chord dur="4">
        <note oct="4" pname="d" accid.ges="n" artic="stacc" />
        <note oct="4" pname="b" accid.ges="n" artic="stacc" />
        <note oct="5" pname="g" accid.ges="n" artic="stacc" />
      </chord>
    </layer>
  </staff>
</measure>

And what about this encoding:
<measure>
  <staff>
    <layer>
      <chord dur="4">
        <note oct="4" pname="d" accid.ges="n" artic="stacc" />
        <note oct="4" pname="b" accid.ges="n" artic="stacc" />
        <note oct="5" pname="g" accid.ges="n" artic="stacc" />
        <artic artic="stacc"/>
      </chord>
    </layer>
  </staff>
</measure>

As a side note, here is the Guido Music Notation for the same music:
[    \stacc(  {d,b,g2}  )    ]

Notice that there is one staccato which is applied to three notes.  Also, there is a fundamental bug in the Guide Music Notation engine, which has been there for over ten years after I first reported it:

They are mixing up the meaning (a.k.a. gestural) and notational syntaxes.  The encoding uses a notational syntax, but the GMN rendering engine displays with a gestural syntax.
Humdrum encoding of the same example:
**kern
4d' 4b' 4gg'
*-

Humdrum prefers maximally localized information about notes, so it is gesturally biased.  When converting to representations focused on notational syntax, such as MEI, I only read the articulation on the first note listed in the chord (4d').  If you don't think MEI is notationally biased, see the recent discussions on accidentals :-)

My understanding is that a chord is a device used to indicate two simultaneous pitches on a single instrument. If there are two instruments simultaneously performing, the "best practice" is that they be notated as different voices on the same staff. Are there exceptions?

Here are some scores of Beethoven's 5th symphony:
http://imslp.org/wiki/Symphony_No.5,_Op.67_(Beethoven,_Ludwig_van)
Observe the notation of the Clarinets in the opening of
Ludwig van Beethovens Werke, Serie 1: Symphonien, Nr.5
Leipzig: Breitkopf und Härtel, 1862. Plate B.5.
http://javanese.imslp.info/files/imglnks/usimg/0/0c/IMSLP52624-PMLP01586-Beethoven_Werke_Breitkopf_Serie_1_No_5_Op_67.pdf

But on the next page in the clarinet parts, the two parts share the same stem:

There are more verbose orchestral score syntaxes where the stems are not merged, and parts would not share rests (none available in IMSLP).
There are also more compact orchestral score syntaxes, where the parts are merged further, such as the Eulenberg edition:
http://ks.imslp.info/files/imglnks/usimg/0/00/IMSLP09344-Beethoven_-_Symphony_No.5_Mvt.I__ed._Unger_.pdf

However, for lyrical text, the syntax would be more similar to the violins in these scores.  There are multiple violinists which play from a single part.  There may be divisi in the part, where half of the instruments play one note and the other have play another note.  This could be notationally represented in multiple ways depending on editorial styles, but all having the same "meaning".  The divisi notes could share the same stem, or have separate stems.
It seems to me that the chord syntax of MEI is specifically related to the visual display of the notation, not to a more abstract concept related to meaning or intention regarding voices (notice that layers are called <layer>, not <voice>.  The meaning of a <chord> in MEI is that notes share a common stem (or should share a stem if they were not whole notes).  When there are more than two stems occurring at the same time, then these notes must be placed in different layers, one layer for each group of stemmed notes occurring at the same time.  I have not heard any MEI discussions about transforming MEI scores between these different types of scores.   So this might also be a good new point for discussion, as this sort of manipulation seems antithetical to the current capabilities of MEI.  And if you want a <chord> to imply a gestural rather than notational meaning to the music, then the discussion will basically follow the one for accidentals: if you want both, then there will probably have to be an indication in the header as to which should apply in the following musical data.

There's a fair amount of confusion in this discussion, aside from the complexity of the issues.
(1) As Laurent said, I made only two comments on issue #267. Neither even mentions lyrics.
(2) I didn't "change the title and the direction of the issue [#267]"; I changed the title in response to the fact that the direction had already changed. That was an attempt to clarify matters. Laurent also (it seems to me) attempted to clarify things by opening this thread. Based on the current level of confusion, I'd say both our efforts failed completely :-) . One reason is I didn't realize that issue #267 is for Verovio, but this one is on music-encoding. Maybe I'm not the only person with that problem? Anyway, I placed my comment giving an example of notes in a chord with different dynamics in Verovio issue 267, in accord with its expanded scope. Andrew understandably copied it here. So maybe this issue should also be renamed something like "Chords with notational features (lyrics, accents, dynamics, etc.) on individual notes"?

I was just using articulations here as a talking point for how lyric syllables should/might be represented in MEI, so it is somewhat of a coincidence that it maps also to the other thread.  Did you check the  Stockhausen/Messiaen pieces for the articulations on individual notes in chords?  They are pretty rare, but would be an example case where there should be an articulation on individual note(s)s in a chord rather than a shared articulation on a chord containing the notes that should all be played with that articulation.

As for the issues, Craig's response to the comment that "If there are two instruments simultaneously performing, the "best practice" is that they be notated as different voices on the same staff. Are there exceptions?" is excellent. I'd just add that it might be_best_ practice to do that in some sense, but it's standard practice in 19th century and later orchestral scores to show two or three of the same type of wind instrument on a single staff. In that case, when both or all three are in rhythmic unison, the noteheads are usually on a single stem.
Also, w/r/t Laurent's comment that a lot of notation is unplayable, I'd say rather that a lot of notation can't be taken literally, though even that is less clear than one might think. For example, it's true that modern bowed strings can't sound four notes simultaneously, but Baroque instruments, with their flatter bridges, probably could. However, the Ysaye sonatas for solo violin, Op. 27, contain chords with six or seven notes! Anyway, as Laurent says, string players will just arpeggiate chords with lots of notes and sustain as many as they can.

Re Craig's question as to whether I "check[ed] the Stockhausen/Messiaen pieces for the articulations on individual notes in chords?": Yes, I did, and I didn't see any. However, I looked at only part of the Messiaen and only no. 1 of Stockhausen's many Klavierstücke.

Incidentally, there's at least one notational feature that's commonly applied to individual notes of a chord: fingerings.

And how to place them is probably not something that can be done automatically very well:

(Chopin Etude 25/6, Berlin: Bote & Bock, n.d.[1880]. Plate 12282)
I like putting the fingering on a line away from the music for practicing:

I just happen to come across another case where I need lyric syllables attached to chords (or attached to a single note in the chord as might be more appropriate in this case):

In this case the music is for piano, but there is a vocal part which shares the music with the piano (following the top melodic notes of the piano part).
So in this particular case the last three chords need text underneath them, but it will only be the top note of each chord which is associated with the syllable (the other note will be played by the piano alone).
How to interpret the "meaning" of this when encoded in MEI is an interesting topic.  Is there a way to indicate that particular notes in such condensed scores are to be shared between two instruments?  How could a MIDI file with voice & piano parts be extracted from such as MEI encoding?  How should/could the melody of the vocal part be extracted from the condensed score?

You could use @layer, and then assign the notes to both the piano and voice layers.

Here's an interesting common case. The vast majority of the music in my hymnal has four parts, but displayed on two staves, (1) to save space and (2) so a pianist can play along. The result is that almost every page has several two-note chords with lyrics that belong equally to both notes.
And here's an interesting and very unusual case. In Stravinsky's The Flood, God's words are sung by a duet of basses, most if not all of the time in rhythmic unison but at different pitches (IMO, an absolute stroke of genius, but Stravinsky had quite a few of those :-) ). I've never seen the score, but I'd guess God's part is full of two-note chords on a single stem, again with lyrics that belong equally to both notes.

You could use @layer, and then assign the notes to both the piano and voice layers.

As long as it is verovio-compliant :-)
Something like:
   <note layer="1 2">

Are there encoding samples related to this?
Here is another measure where the piano part has two layers, but the voice has one (of course):

(notice the lyrics missing from the first three chords in the measure in Verovio, but "tu" is visible because it is attached to only the top layer note).
So this example would need a way of indicating the voice layer, since assigning it to "2" would not work, since sometimes the piano part needs more layers?

Having a "notational bias" is a feature, not a bug. :-|
Since there is notation where lyrics are assigned to chords, it seems logical to me that MEI follow suit.

@pe-ro does this mean you agree to have lyrics directly as child of a chord?

Yes.

I still think this is a Bad Idea™.

My understanding is that a chord is a device used to indicate two simultaneous pitches on a single instrument. If there are two instruments simultaneously performing, the "best practice" is that they be notated as different voices on the same staff. Are there exceptions?

This is a music notation writing issue. That is, your best practice is about how to notate this. Now if it was written as a chord, our role is to find a way to encode this appropriately, and it seems that a chord with the lyrics in it is the closest we can get.

@ahankinson: I agree that it's not without its pitfalls, but it's a straightforward approach for homophonic settings like hymns.  I don't see a huge harm in it, since the current practice will still be supported.
In my opinion, the following is preferable as it's more explicit and therefore requires less effort to process for non-display purposes (like performance and analysis) --
<staff n="1">
  <layer n="1">
    <note stem.dir="up">
      <lyrics>
        <verse>
          <syl>Do</syl>
        </verse>
      </lyrics>
    </note>
  </layer>
  <layer n="2">
    <note stem.dir="up">
       <lyrics>
         <verse>
          <syl>Do</syl>
        </verse>
      </lyrics>
    </note>
  </layer>
</staff>

But, I also recognize the desire/need for --
<staff n="1">
  <layer n="1">
    <chord stem.dir="up">
      <note/>
      <note/>
      <lyrics>
        <verse>
          <syl>Don't</syl>
        </verse>
      </lyrics>
    </chord>
  </layer>
</staff>

which may be useful in some situations, for example, when converting from systems that allow this in their data model or when the markup is generated by our favorite naive encoder.  It's also in line with the markup of articulation marks, etc. when they're shared by all the notes in a chord.

FWIW, I concur with @lpugin and @pe-ro. W/r/t the idea that 'If there are two instruments simultaneously performing, the "best practice" is that they be notated as different voices on the same staff'. Are there exceptions?':  As I said before, there are a great many orchestral scores that don't notate them as different voices when they're in rhythmic unison. When there are three instruments simultaneously playing and in rhythmic unison, they're very rarely notated as different voices, and I'd say that (writing them as chords) is definitely best practice.

@pe-ro: This encoding seems to be in violation of the current graphical syntax with respect to layers:

Do

Do

```
Here are several graphic interpretations of the above data:

In particular, the third one is the most reasonable graphic interpretation of the encoding.  If two different layers have stems in the same direction, then the stems must be offset to indicate that they are in separate layers.  I don't see how you can do anything but retract the above encoding :-)  Otherwise, there would have to be the invention of a stem floating element which groups notes in separate layers into one shared stem.   And beams would then attach to this stem element rather than to the notes, and etc. as things might start to get messy.   Something of the sort would be useful with application into generating scores and parts from the same digital encoding.  This is in the domain of MuseData (an aspect that was not adopted by MusicXML).   The MuseData printing system has two formats:  one for abstract digital encodings closer to Humdrum, and another "compiled" representation which transforms the abstract form into a visual form closer to SCORE.
For the words, I still don't understand how a renderer would know what to do with such an encoding.  In particular there is one syllable, but you are putting two in the encoding.  Why this redundancy?   Should the syllables overstrike for both notes, should they be placed one above the other, should one syllable be placed above the staff?   If they are supposed to be overstriking, then what would happen if the syllables were not the same?   I see that someone still is a WizeGuy	™, and the problems discussed in the previous paragraph would have to be solved/addressed before an encoding in this direction were to be acceptable.

@craigsapp I believe Perry was being concise for illustrative purposes.
If there are two notes then there are two simultaneous syllables, even if they are the same. This is pretty obvious since:

A syllable can only be realized (sung, performed) by a human, and
A human can only sing one note at a time

How a renderer chooses to display that is separate from how it is encoded. You may want to collapse the two syllables in your software, but I may want to keep them separate.
If the syllables were not the same, we wouldn't be having this discussion since they would need to be encoded at the note level anyway.

How a renderer chooses to display that is separate from how it is encoded. You may want to collapse the two syllables in your software, but I may want to keep them separate.

Where MEI is used to encode what is represented on an existing source (its primary purpose) the encoding should not be ambiguous about the fact that a syllable is appearing twice or is collapsed. This is actually not a rendering issue.
If somebody wrote chords with a single line of lyrics underneath, with a lyric as child of the chord the encoding is crystal clear for analysis, sound rendering and visual rendering. If two syllables are written (maybe both underneath, or one above and one below), then encoding them with the lyrics attached to the note is also perfectly clear for any usage. Why make things more complicated?

A syllable can only be realized (sung, performed) by a human, and
A human can only sing one note at a time

Parrots can sing, and what about leaving open the possibilities of alien lifeforms who have two vocal tracts?
I still fail to see the point.

How a renderer chooses to display that is separate from how it is encoded. You may want to collapse the two syllables in your software, but I may want to keep them separate.

You argue from a Humdrum direction, and @kepper  argues from a SCORE direction.  I will point out that neither of you sufficiently know Humdrum or SCORE.  Both of you please become more familiar with both of these formats, or it is difficult for me to communicate with you.  Both of these formats have much more clearer meanings tied to their representation of music.  Humdrum is concerned with representing the musical meaning of the data (though which computers can be allowed to manipulate and analyze the musical data), while SCORE is more concerned with the graphical expression of the music (though which a composer communicates with performers).  Mapping between these representations is difficult, but they are much more internally self-consistent than MEI currently is.   Inconsistent data cannot be automatically processed.  It seems that MEI can be locally self-consistent for a particular project, but I am wondering how it can be globally consistent across multiple projects.   This is one reason why more examples are necessary for the documentation, along with some sort of best-practices and acceptable-practices guidelines which are easy to navigate.  Lilypond documentation is somewhat along these lines.
In both Humdrum and SCORE, such a case can be encoded in different ways.
Here is how you are mostly wanting to encode the music, as two separate voices with two separate lyric syllables:
**kern	**text	**kern	**text
4c    	Do    	4cc    	Do
*-     	*-     	*-     	*-

This is the most convenient encoding for music analysis.  Since Humdrum data has no explicit graphical representation, this could be displayed in musical notation any way the renderer wants.   For example, a closer representation to the graphical score where I came across this sort of example:
**kern	**text
4c 4cc	Do
*-     	*-

This is what @kepper wants (not that I mean to put words in his mouth :-).  In other words, this is what I see in the score, and I apply a minimal interpretation to derive the digital encoding.   This is also the primary way users of Finale/Sibelius/MuseScore would need to use to get the correct graphical rendering and hence in MusicXML export.
Notice that MEI has a note bias, with the lyrics attached to the notes.  Humdrum does not have this bias, and the text is an independent stream of equal weighting.  I could also represent this example like this:
**kern      	**text
*^             	*
4c	4cc         Do
*v	*v          *
*-             	*-

The above case means that there are two independent sub-streams of notes (one for each divisi part), and there is a single text syllable that they share.    This is a better representation than the one you are suggesting and @pe-ro provided for this case.
You and @pe-ro support this encoding, where there is a single part that splits into two single-note layers, each with a separate lyric syllable:
**kern		**text
*^			*^
4c	4cc		Do	Do
*v	*v		*v	*v
*-			*-

This is mostly because MEI cannot represent the previous example where there is a single syllable shared by two voices (other than attaching the syllable to the chord as I do in the second Humdrum example above.

Since I'm (apparently) not educated enough to participate in this conversation, I won't waste your time any more -- please accept my apologies for presuming to know something about it.
I'm not going to stand in the way of any changes, I just wanted to register and argue my dissatisfaction with it. It's not a particularly important hill to die on, so I won't argue any further.

I am sure we all agree this is not a crucial discussion topic. So if there is no other dissatisfaction than the one of @ahankinson , I would suggest to move on and to allow the lyrics to be child of a chord. I am sorry we do not reached a complete consensus in this, but again, it is a very minor topic. Further more we are not precluding people to encode them as up to now if they feel it is more appropriate in their case.

In the grand scheme of the Universe, none of this stuff is as important as maintaining a good working relationship.  Because we've all known each other and worked together in various capacities for a long time, it's easy to slip into a too-familiar, dismissive tone.  Please remember, a written remark can be perceived very differently from the same remark when spoken, often in a way not intended by the writer.  So, it's crucial that we keep the exchanges here professional and cordial.
I'm not pointing a finger, mostly because I, like everyone else at some point, haven't always lived up to these expectations.  Let's just call this a "miscommunication" between colleagues and friends and move forward.

I'll concede that it's sometimes useful to view MEI as either Humdrum-like, SCORE-like, or something else-like. But one of the things (if not "the" thing) that sets MEI apart from its predecessors, is its intention to accommodate more than one approach simultaneously.  Granted, this makes the software developer's job somewhat more difficult, but because these representations have mostly already been implemented in previous programs, the job isn't impossible.  The task is to work out when MEI is fish-like, when it's fowl-like, and how to tell the difference.

Here is how you are mostly wanting to encode the music, as two separate voices with two separate lyric
syllables:

**kern  **text  **kern  **text
4c      Do      4cc     Do
*-      *-      *-      *-

This is the most convenient encoding for music analysis. Since Humdrum data has no explicit graphical
representation, this could be displayed in musical notation any way the renderer wants.

MEI is no more or less "internally inconsistent" here than Humdrum, since Humdrum itself allows this markup approach.  And I did say in my earlier comment that this kind of encoding is best suited for "non-display purposes (like performance and analysis)".  If it's admissible in Humdrum and can be rendered with "minimal interpretation", I don't think it should be excluded in MEI.  Human intervention (via program parameters or rendering hints in the markup) may be required sometimes, but programmatically reducing it or

**kern      **text
*^          *^
4c  4cc     Do  Do
*v  *v      *v  *v
*-          *-

to

**kern  **text
4c 4cc  Do
*-      *-

or the MEI equivalent shouldn't be overly difficult in most cases.
By the way, while it may not have come up yet in Verovio development and I've left out the details of the association between each syllable of the lyrics and the individual notes, MEI is, in fact, capable of representing two independent streams of notes and a single text syllable that they share --
<measure>
  <staff n="1">
    <layer n="1">
      <note stem.dir="up"/>
    </layer>
    <layer n="2">
      <note stem.dir="up"/>
    </layer>
  </staff>
  <lyrics staff="1" layer="1 2">
    <verse>
      <syl>Do</syl>
    </verse>
  </lyrics>
</measure>

Of course, this encoding requires a certain level of interpretation by the renderer as well, but that's true of any/all representation schemes.


Update to newest Storybook

Just came across your project and really excited about it since I'm new to Storybook. I was wondering if updating to the newest Storybook would break things? Is this something you might do and update the project? Thanks!

Sorry for my late response. I am pretty sure that minor things will break if you migrate from version 4 to version 5. I Am not 100% sure, but version 6 is also coming soon.
I don't have currently any plans to migrate that codebase to storybook v5 or V6. Sorry, my free time is currently too limited to continue that migration. Please check the storybook migration guides
https://medium.com/storybookjs/storybook-5-migration-guide-d804b38c739d
https://medium.com/storybookjs/storybook-6-migration-guide-200346241bb5


⚠ RPC server - Optimism has degraded performance

In 6d0fd2b, RPC server - Optimism ($OPTIMISM_RPC_URL) experienced degraded performance:

HTTP code: 429
Response time: 279 ms

Resolved: RPC server - Optimism performance has improved in f91cfbd after 10 minutes.


Support for phantomjs 2.0.0 and 2.0.1 pre-release with fileupload bugfix

This PR contains:

the changes contained in https://github.com/n1k0/casperjs/pull/1351 to make tests pass for slimerjs
lots of adaptations to the test suites to cater for changes in phantomjs 2.0.0 output (stack traces and syntax errors)
a fix to the patchRequire logic such that it will be applied to phantomjs 2

This closes / supersedes https://github.com/n1k0/casperjs/pull/1310, https://github.com/n1k0/casperjs/pull/1137, https://github.com/n1k0/casperjs/pull/1173, https://github.com/n1k0/casperjs/pull/1291, https://github.com/n1k0/casperjs/pull/1189.

This is the first successful build for phantomjs 2.0.0 support.

@n1k0 @hexid any comments on this?
I would be happy just to merge, as this is something that has been long coming and waited for.

Restarted those two failing tests related to dotNet and PhantomJS 2.0.0 and 2.0.1....

All green! Thank you @istr for the effort!

@istr that's amazing, thanks a bunch for the effort.
@hexid I'd like your opinion on all this, probably a review as well as I'm unlikely to have the appropriate time myself :/

Restarted those two failing tests related to dotNet and PhantomJS 2.0.0 and 2.0.1....

@paazmaya what were the failures? intermittent aren't good...

If you have a closer look at the builds you'll notice that some tests took longer than could be expected; watching them showed that travisCI had even trouble to install some npm modules (took over 3 minutes in some cases). So I guess it was just slow travis infrastructure -- but I will re-check again and maybe it would be a good idea to add some non-functional changes (e.g. to reduce lint warnings) and see a sequence of passing builds w/o intermittent failures.

@n1k0 the failing tests were related to some popup test which could not find nor close the popup.
Once ran them again, they passed...

failing tests were related to some popup test which could not find nor close the popup

Okay, I think I've encountered these a few times already, so that's not introduced by this patch. We should probably file an issue about it though.

It seems that there are other still some tests that are susceptible to timing issues (apart from the popup functionality, see some of the latest failing builds). I will try to tweak / correct these tests and then add commits that fix linting issues to trigger more builds for this PR.

Again two tests failing, both on fill() & fillNames() tests, other one dotNet, other one "regular"...

Again two tests failing, both on fill() & fillNames() tests, other one dotNet, other one "regular"...

Yes, see my comment above. This is closely related to this stale PR wanting to introduce block conditions for then() calls. Currently calling then() immediately after thenClick() might fail due to timing issues in any case.

@n1k0 I'll try to do a full review today, but so far it looks pretty good.
@istr Thanks for all the work you've done to get this ready.

@hexid awesome, thanks.

Thanks for all the work you've done to get this ready.

@hexid Thank you, too. In fact you kicked it off and did at least 50% of the work to get there (see commit log, all the helpful pointers and hints in your issues / PRs, and showing how to properly package travis-ready versions of phantomjs pre-releases).

I commented on a bit of code that may have been left in by mistake, but please correct me if I'm wrong.

Also, the request.abort() tests are still being skipped on the PhantomJS tests.
Just as an example, the results for PhantomJS v1.9.2 Python has the following lines:
Test file: /home/travis/build/n1k0/casperjs/tests/suites/casper/request.coffee
SKIP request.abort() test is broken for slimerjs

The following changes could be made to to fix this:
diff --git a/tests/suites/casper/request.coffee b/tests/suites/casper/request.coffee
index c56f06d..9f463f8 100644
--- a/tests/suites/casper/request.coffee
+++ b/tests/suites/casper/request.coffee
@@ -2,11 +2,8 @@

 utils = require "utils"

-if utils.ltVersion(phantom.version, '1.9.0')
-  casper.test.skip(6, 'PhantomJS version <1.9.0 does not implement request.abort()')
-  casper.test.done()
 # FIXME: abort test does not work for slimerjs, either -- disable
-else if true
+if phantom.casperEngine == 'slimerjs'
   casper.test.skip(6, 'request.abort() test is broken for slimerjs')
   casper.test.done()
 else

This removes the PhantomJS 1.9.0 check since we no longer support any versions of Phantom under 1.9.1.
It also adds a better check for SlimerJS so that we don't skip the check on Phantom

Apart from that, everything looks good. :+1:

@hexid Thanks for your thorough review. I will try to apply your proposed changes, check them locally and commit them later today.

@hexid Applied your proposed changes, improved engine detection in tests/clitests/runtests.py and build passes.

Everything looks good to me now.
@n1k0 @paazmaya I can go ahead and merge this if you guys think it's ready.

This looks terrific, thank you! Some comments I'd really like to see addressed before landing.
Thanks again.

Ok, will add the proposed changes / amendments.

Here is my proposal for an engine specific test skip function in modules/tester.js
/**
 * Skip `nb` test on specific engine(s).
 *
 * A skip specifier is an object of the form:
 * {
 *     name: 'casperjs' | 'phantomjs',
 *     version: {
 *         major: Number,
 *         minor: Number,
 *         patch: String | Number
 *     },
 *     message: String
 * }
 *
 * The version is matched up to given specificity. All parts of the
 * version (including version entry itself) are optional, but you need
 * to specify minor if patch is given and major if minor is given.
 *
 * @param  Integer  nb        Number of tests to skip
 * @param  Mixed    skipSpec  a single skip specifier object or
 *                            an Array of skip specifier objects
 * @return Object
 */
Tester.prototype.skipIfEngine(nb, skipSpec) {
...
}

Here is my proposal for an engine specific test skip function in modules/tester.js

You could also user a min, maxVersion and utils.cmpVersion; sample usage:
test.skipIfEngine(nb, {name: "phantomjs", {min: "*", max: "2.0.1"}})

Hopefully addressed all changes @n1k0 mentioned.
Introduced test.skipIfEngine and utils.matchEngine. Tests for this new functionality are still missing but I would like to address those in a subsequent feature branch to get 2.0.0 support landed.
Please review (build passes).

@istr would you consider possible that CasperJS v1.0.x is supporting only up to PhantomJS v.1.9.x, and CasperJS v2.0.0 starts the support for for PhantomJS >=v2.0.1 (while also keeping v1.9.x supported)?
See discussion #1177

@paazmaya To be honest I don't really care much about versioning policy. From what I gather in the old issues marked milestone 2.0.0 and marked milestone 1.1 and from the discussion threads I read, the current setup is as follows:

2.0 marked issues may contain substantial changes to the API and might break BC
1.1 marked issues do not contain any changes that break 1.0 / current master API and/or basic behavior, try too keep BC as much as possible, but affect support of the underlying engines

That is from my understanding:

1.0.* supports phantomjs up to 1.8.* (< 1.9.0) and is marked obsolete / stable
1.1.* supports phantomjs 1.9.1 and later as well as slimerjs (experimental)
2.0.* will support phantomjs 2 and later and possibly breaks API with 1.* versions

In short: I don't see that the CasperJS jump from major 1.* to major 2.* has to be coupled to phantomjs2 support, but should reflect a major change within CasperJS itself (which phantomjs2 support definitely isn't).
So to not slow down things I would prefer to proceed along these lines:

get 1.1 ready (after some two or more beta cycles for bugfixing only) with complete BC and as much engine support we could currently get (this PR)
schedule, sort and discuss 2.0 feature set (with possible API changes and possibly breaking BC) thereafter

The only thing that matters for me (and possibly most others waiting for phantomjs2 support) is to get out a next publicly available beta ready for testing as fast as possible.

@istr very well argumented. Let's make 1.1!

@paazmaya @hexid Any chance you could do a last review and merge this PR? Even though I could do it on my own now, I would dislike to merge in this large change-set without approval ("four-eyes principle").

@hexid may you do the honour?

It looks like everything @n1k0 mentioned was fixed.
I'm busy at the moment, but I should be able to look it over in about an hour.

Everything looks good to me.
I couldn't find an issue that documents that the SlimerJS clitests are being skipped.
I'll go ahead and create one and then merge this PR.

Merging

:clap: :fireworks:

:grapes: and :wine_glass: !

@hexid Nice, thanks a lot! Will close the issues PRs that are superseded now. Let's see how to proceed with the next beta and what open 1.1 issues to include.

Thanks to everybody involved in achieving this and for the huge help provided. The project owes you many beers.


[WIP][Release 4.9] Bug 2013838 bump library-go version

This is the needed piece bumping library go version with the cert change vendoring for 4.9 branch.
 This is the initial commit of the sha.
When this gets squashed that message will change.
I hope my explanation of these 3 words helps a great deal 👍

/test e2e-gcp-operator-single-node

The commit message initial sha commit is expressing that this is the initial commit, which is of the sha.
This commit message will change upon squash as this is WIP.

The commit message initial sha commit is expressing that this is the initial commit, which is of the sha.
This commit message will change upon squash as this is WIP.

So this PR is not supposed to be reviewed yet? What's it missing - why is it WIP? Perhaps the tag from Sergi confused me to think this is good for review.

Actually.... I think a subsequent library-go bump has remedied the chmod on the certs after inspecting the vendor/. Please see https://github.com/openshift/cluster-kube-apiserver-operator/pull/1268

@s-urbaniak Can you verify please? I think Bug 2013838 is now complete because the library-go change here:
https://github.com/openshift/library-go/pull/1229 has merged and a subsequent bump on  cluster-kube-apiserver-operator  https://github.com/openshift/cluster-kube-apiserver-operator/pull/1268 merged after this change to 4.9. I think this PR is not needed, and the bug can close. Let me know.

yes, this can be closed as library-go is bumped:
https://github.com/openshift/cluster-kube-apiserver-operator/blob/release-4.9/vendor/github.com/openshift/library-go/pkg/operator/staticpod/certsyncpod/certsync_controller.go#L267

Closing, as #1268 has merged


Add information for each schema about doc difference across content groups

https://github.com/vispana/vispana/pull/24


Invalid ClientID 512 - ClientJoinEvent

Hello Guys,
I have a problem. Everytime when a Query join and disconnect quickly. I become a error. Because i try to get the ClientInfo about him. and then do things with the Client Information. Like when the client is admin add him to a listt and send him a message when somebody join a specific channel or Check do other things with the Client information.
-- Query Join

<23:54:45> "Unknown from ...222:43001" loggte sich in Channel "➜Eingangsbereich" ein
<23:54:45> "Unknown from ...222:43001" hat die Verbindung getrennt (disconnecting)
-- ClientJoinEvent
if(!api.getClientInfo(e.getClientId()).isServerQueryClient())
{
if (api.isClientOnline(e.getClientId())) {
addAdmin(api.getClientInfo(e.getClientId()));
doThings(api.getClientInfo(e.getClientId()));
}
}

Hey,
It looks like this is an issue with a chat bot you're building rather than an issue relating to Orianna. If it's about Orianna, can you give some details surrounding what you're doing with it and what issues your having?

Oh sry. That should be in an other Project Issue ^^


Fix safety check job

Note: long-term solution might be to switch to pip-audit

@gdubicki thoughts ?

For my other projects I assumed that Dependabot security alerts are enough.
While there are benefits of using more than 1 solution for this there is a cost like f.e. marking that a given package's vulnerability is not an issue in more than 1 place..

For my other projects I assumed that Dependabot security alerts are enough.

Ok, so let's delete the safety check action completly, then :)