Add support for Apple watchOS

Now that the Python iOS support libraries support watchOS, Briefcase should also support that platform.
This will involve:

Producing a cookiecutter template project (analogous to Python-iOS-template)
Adding a new command to Briefcase to support tvOS. The implementation of this command will be almost identical to iOS, with names and images changed.

I would like to work on this issue

Awesome! Thanks for offering to help out!
The first step - fire up XCode, and create a new, blank Apple Watch project. Historically, I've called that project "Aaaa Bbbb", with an executable name of XXXXXXXX, from company YYYYYYYY.ZZZZZZZZ - having strings like that in the project make it much easier to build a template later.
You should be able to copy the bootstrap main.m from the iOS/tvOS template, and invoke a simple "hello world" Python script. It won't do anything other than print to the console, but that's enough to get a template going.

@freakboy3742 This is fixed now, correct?

Not really - there are stubs there for most of the pieces, but I haven't seen a "hello world" app running on an Apple Watch (or simulator).

Is this being managed? or may I help?

@Ry10p - sure - especially if you've got access to a physical Apple Watch. I don't, so I haven't been able to test any builds.
So - if you want to look into this, the first step is to build - completely independent of Briefcase - an XCode project that includes and uses Python that will run on an Apple Watch. It doesn't have to do anything - just print "Hello world" - but that will establish what we need to template for the benefit of Briefcase.

@freakboy3742
Sir,
I unfortunately do not have access to an apple watch.
I am more than willing to emulate the "watch os".
If this is OK I would love to help out, if you would rather a REAL apple watch I will work on another issue :).

Oh, sure - you can use the emulator if you want. I figured that it wouldn't be as interesting as a problem unless you actually had a watch to use the end product. If you want to fiddle around with the emulator, that's fine, too.

LOVE IT
Ill start right away!
Thank you!
-Ryan Carl

Update on the Project:
Steps I have taken so far...

fire up XCode, and create a new, blank Apple Watch project

I've called that project "Aaaa Bbbb", with an executable name of XXXXXXXX, from company YYYYYYYY.ZZZZZZZZ.

Forked the Python-iOS-template to create a copy of the bootstrap main.m.

Are the next steps to download the frameworks and create a  "Hello world" app using the frameworks that have found at this location https://github.com/pybee/Python-iOS-template/tree/3.5?

@Ry10p Correct - A Hello World app is the next step.

@Ry10p Have you made any progress on this? I'd be interested in working with you to move this issue forward.

@meichthys
You can for sure take this one, I am attempting to emulate the watchOS but my computer has been not allowing the emulation of the macOS system.  I have been attempting to fix this with VirtualBox.
Fire up XCode, and create a new, blank Apple Watch project
Call that project "Aaaa Bbbb", with an executable name of XXXXXXXX, from company YYYYYYYY.ZZZZZZZZ.
If you have any problems please feel free to ask and I will attempt to help out, I have completed the build on:Android, Linux, my friends macOS, and Windows... So I can help out a little.

@meichthys

@Ry10p Ok. I'll see what I can do and will be in touch if (when) i run into some roadblocks.

@Ry10p  I'm able to build a iOS app with a watchOS target, but i'm not sure where to add the python code.  What are we trying to accomplish here?

I can build a HelloWorld app in Xcode without much problem, but that doesn't seem to help much if we're not using python for the app...

@meichthys
Could you possibly detail your process?
Are you building for tvOS with Beeware Breifcase, then importing the resulting build into Xcode to run?

@Ry10p
I've tried it multiple ways:

Using Briefcase (i don't think this is what we want to do at this point as per @freakboy3742)
a.  Use Briefcase tutorial (https://briefcase.readthedocs.io/en/latest/tutorial/tutorial-1.html)
b.  Package using python setup.py ios -s
c.  Open resulting project in Xcode
i.   Add a WatchOS target (File -> New -> Target... -> Choose WatchOS App
ii.  Run Simulator: iOS app runs as expected with gui from Briefcase tutorial. WatchOS app opens but is blank.

Using Xcode (i believe this is what we're trying to do at this point)
a.    Fire up XCode, and create a new, blank Apple Watch project
i.    Call that project "Aaaa Bbbb", with an executable name of XXXXXXXX, from company YYYYYYYY.ZZZZZZZZ.
b.    Not sure what to do from here. It seems like we should be adding some python code somewhere, but i'm not sure where.

@freakboy3742 @Ry10p
Bump.

@meichthys Im doing some asking around, ill try to figure it out also.
I think I have access to a physical watch tomorrow and will git it a try.
Could you provide a picture of the error or the error code?

@Ry10p Ok, no problem.
I'm not getting an error or error code. I'm able to build the applications fine, I'm just not sure where to put the python code for the watch app.
When you get your AppleWatch and start working on this, let me know, maybe we can chat on Gitter or irc to tag team the issue.

@Ry10p Did you get a chance to play around with the Apple Watch today - just curious.

@Ry10p Just wanted to check in to see if you had a chance to make any progress on this issue.
If I'm being to much of a bother, just let me know and i can buzz off and look for help elsewhere.

Is anyone still working on this?

@glyph I'm not aware of a anyone actively working on this at the moment.

Thanks for the updates! Unfortunately I don't think I have the relevant expertise to start this from scratch :(

@freakboy3742 In your initial comment on this issue you mentioned that:

the Python iOS support libraries support watchOS

Do you know if the 32 bit architecture is supported in those libraries? @paulproteus was helping me take a look at this and it appears that pyconfig-i386.h is missing from the iOS support files (at least the files that are bundled with the iOS xcode project that is generated by briefcase.

@meichthys The watchOS build should have support for i386 and armv7k. pyconfig-i386.h won't be part of the briefcase template, though - it will be part of the watchOS support package (e.g., this one for Python 3.7).
The iOS project doesn't support i386 any more, because the only supported devices using 32-bit platforms are from the iPhone 5s era. iPhone 6 onwards use arm64.

@freakboy3742 Thanks for the link to the WatchOS support package. That's what i was looking for.

@freakboy3742 Thanks for the link to the WatchOS support package. That's what i was looking for.

Any luck with this @meichthys ?

@mobile-appz
I felt like I was making some progress but it was a little over my head. I was never able to get a watchOS app to compile and run python.

@mobile-appz
I felt like I was making some progress but it was a little over my head. I was never able to get a watchOS app to compile and run python.

@meichthys thanks very much for the update. Just in case you haven't seen this already have had a response from @freakboy3742 here too: https://github.com/beeware/Python-Apple-support/issues/87

@mobile-appz, @freakboy3742's response is spot on. The watchOS projects in Xcode are different than iOS. Initially in XCode you could only build a watchOS app as an iOS app 'extension', but recently (i think since watchOS6) it is possible to build standalone watchOS apps which should make integration with beeware\briefcase somewhat more straightforward. My issue was that I had little previous experience with building watchOS apps and am not familiar enough with the structure of XCode projects to figure out where to put things and how to configure the XCode project settings.
If you have some prior experience, keep the ball rolling on this! It would be super cool to see python running on an AppleWatch!

Hi @meichthys pleased to confirm a basic "hello world" app with Python is working on Apple Watch series 3. It simply prints "Hello World" to the console. Please see some more info here about how this was set up in Xcode. The main thing was linking the .a files of the binaries correctly in Xcode, and setting up the header search paths correctly in order that Xcode is able to find python. https://github.com/beeware/Python-Apple-support/issues/87#issuecomment-633051207

Great news! I tried liking the .a files and mapping the headers but I must have missed some! I’d be interested in seeing the Xcode project if there’s a way for you to share it.


Feature request: add toggle or remove automatic padding below heading list.

I was trying to reduce the amount of padding between a stylized heading list and found that the value is programmatically set causing the value to shift as you scroll. I find it a bit distracting and would like to put in a set value.

Using the developer tools, I enabled a "break on attribute change" for the padding value of interest. The line causing the issue is https://github.com/zhouhua/obsidian-sticky-headings/blob/7f103667e684a3b0258ab40c4bc761fd7acd4e48/src/Plugin.ts#L241
I don't know about other users, therefore the least disruptive implementation of a change would be to have a setting for it in the plugin configuration allowing us to disable automatic recalculation. It could be a value capture; when set to 0, people retain the automatic padding. Otherwise, the value is set in pixels.

This is my CSS rule to replicate the above style changes:
.sticky-headings-root {
      transition: height 0.25s ease-in-out;
    background-color: #101818;
    border-radius: 12px;
    width: 40%;
    margin: auto;
    left: 0px;
    right: 0px;
    position: inherit;
    padding-top: 3px;
    padding-bottom: 4px;
}

@jmonroynieto this is an issue in parallel with one I've just created: https://github.com/zhouhua/obsidian-sticky-headings/issues/21
I'm not entirely sure the reasoning for adding the padding, I will investigate when I get some time however. I don't think the elements get removed from the dom by this plugin so I'm not sure immediately why the padding is necessary—plus the sticky container is absolute and not part of the documents flow anyhow.
Updates to come.

I'm not entirely sure the reasoning for adding the padding.

I'm not entirely sure the reasoning for adding the padding

@itsonlyjames Setting a padding-top for the editor that matches the height of .sticky-headings-root is to ensure more accurate calculations when the title is about to scroll out of the visible area.

I'm not entirely sure the reasoning for adding the padding

@itsonlyjames Setting a padding-top for the editor that matches the height of .sticky-headings-root is to ensure more accurate calculations when the title is about to scroll out of the visible area.
In the scenario provided by @jmonroynieto, .sticky-headings-root appears to "float" above the editor (btw, this UI looks great), which is different from our default that .sticky-headings-root overlays the editor. I don't fully understand how you intend to solve this issue yet, but my initial thought is that we might need to add a setting option specifically for this type of UI.

@jmonroynieto this issue is likely to still be apparent and will not be fixed by the scrolling issue due to the document flow. I also noticed this yesterday when I had 5 stacked headers and the search bar was below the heading element and moved around while searching. We will need to come up with a different solution for this. My initial thoughts are overlaying the search on top of the sticky header element, but it may not look the nicest. Do you have any ideas?

I actually think that document-search-container should go right after the titlebar but this is not possible due to being bundled inside the mardowneditor div. This would also impede the "floating" solution that you are suggesting. I am not a JS coder so I am commenting under the assumption that breaking up the large container for all editor divs is not possible.  Beyond pointing to the lines that I found, I have no other insights into possible implementation  implementation.
I don't know if I understand your second point. The CSS styling of the flanks is perfect as it is. The sides are reduced intentionally for "pill" style. The inner element "sticky-headings-container" would not allow this.

Where the search element is it will always be "under" the sticky header, but where it is makes it at the "top" of the document.

Is your theme custom or is it downloadable so I can test it out?

It's just a few css snippets. The only piece pertaining to this issue is the styling for the heading list. I included my current rule above to replicate.
I can also gladly push it into a repo for your tests.

Upcoming changes are tackling the solution to the problems outlined in this issue. While we get a proper look at the plugin's upcoming performance, I'm closing this issue.


virtualenvwrapper: Deactivate only if in virtualenv

If user manually deactivates the virtualenv when using this mode, zsh
will produce following error:
deactivate:12: command not found: virtualenv_deactivate

To avoid this, check that the VIRTUAL_ENV flag is set before trying to
automatically deactivate the virtual environment.
Fixes #2185

This is just a comment to show that 2 testers so far +1'd this PR:

@toxsick +1
@lucn +1

Some testing info from https://github.com/robbyrussell/oh-my-zsh/issues/2185#issuecomment-60320007:

Well, you need to install the virtualenvwrapper. If you run a Linux distribution, they probably have it in a package manager (for Ubuntu and Debian the package is called virtualenvwrapper). If you run something else, like Os X, you need to install it via pip (pip install virtualenvwrapper) and make it available in the $PATH.
After that, make a directory called foo and create a virtualenv called foo with the wrapper (mkvirtualenv foo). After the creation is done, you can disable it by running deactivate. Now, if you cd into foo with the plugin enabled, it should change to virtualenv foo, which is shown on the prompt (depending on the theme I'd guess). Now, run deactivate and change the directory and you'll get the error. With this PR the error is gone.

@nailor: unfortunately, I can't reproduce the error you mention nor the appropriate behavior of virtualenvwrapper. Here's what I did (without this PR checked-out):

Installed virtualenvwrapper package because I use Debian.
Enabled virtualenv and virtualenvwrapper plugins.
Realized mkvirtualenv wasn't available. Saw this :disappointed:
Purged virtualenvwrapper package; installed via pip.
Run md foo; mkvirtualenv foo. (foo) appeared in my prompt without cd-ing into foo directory (using agnoster theme). I rebooted the terminal and entered the foo directory, but no prompt changes.
Only when I run mkvirtualenv the prompt changes, I don't know if the agnoster theme has a bug or there is something else in the virtualenv / virtualenvwrapper plugin.

The same behavior reproduced with your PR checked-out. What theme are you using?

@mcornella This aims to fix the bug when you manually deactivate (run deactivate) and then change the directory outside the project, which causes following error:
deactivate:12: command not found: virtualenv_deactivate

I'm running default theme in my test instance and the problem persists there. The bug can also be seen in the patch: Running deactivate removes virtualenv's bin-directory from the PATH and unsets the VIRTUAL_ENV variable. However, in the upstream code, we don't test if the VIRTUAL_ENV is still set, thus failing the deactivate call when exiting the directory.

Ok, I managed to have a working test, but the error I get is a little different:
workon_cwd:30: command not found: deactivate

I had to also create a .venv file inside the foo/ folder with the content "foo" to get it to work.
I can confirm, too, that your PR solves the error.
/cc @robbyrussell


[Question] Enable/Disable Buttons

Hi, Thnx for this amazing library.
How we can enable/disable options of buttons in java and xml?

I've tried this:
val video = options.getChildAt(3)
video.isEnabled = false

Hello, @TurKurT656. You were on the right track, but instead of isEnabled, use clickable and longClickable like this:
menu.getChildAt(3).setClickable(false);
menu.getChildAt(3).setLongClickable(false);


Update TypeScript 4.3.md

I think you might need to explain why you're requesting these changes

If hypothetically TypeScript tried that approach, it would break the above example in a different way. At the return positions, where the function expects values with the type C, we would instead get a Set and a T[] in each branch, which TypeScript would reject.

This code snippet is used to show what would happen if TypeScript tried that approach.
Also the error 'C' could be instantiated with a different subtype of constraint 'Set<T> | T[]' means the type of return value of this function should be C rather than Set<T> | T[] , It's also weird that the function doesn't has any 'C' while the error log show 'C'


Fix whitespace in test generator

Trailing whitespace was being generated by the template.
Add the appropriate ECR syntax to remove it.
Also, switch template file from 'tt' to 'ecr'

@petertseng @hiljusti @ErikSchierboom - Are the 3 of you the people to request reviews? Based on previous PR discussion, there aren't really "official" reviewers/maintainers for this track anymore. Is that right?

I think @petertseng knows a little bit of Crystal? If not: please correct me.


OSX Python 3.9, cannot play sound, SyntaxError: invalid syntax, python 3 incompatibility

Hi, I tried running playsound on osx 11.5.2 with python 3.9
It looks like the import  from AppKit import NSSound causes another import that has invalid python 2 syntax. So it looks like you can't run the function on python 3 in osx.
  Wait for command to complete.  If
        the exit code was zero then return, otherwise raise
        CalledProcessError.  The CalledProcessError object will have the
        return code in the returncode attribute.

        The arguments are the same as for the call function.  Example:

        check_call(["ls", "-l"])
        """
        retcode = call(*popenargs, **kwargs)
        if retcode:
            cmd = kwargs.get("args")
            if cmd is None:
                cmd = popenargs[0]
>           raise CalledProcessError(retcode, cmd)
E           subprocess.CalledProcessError: Command '['/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python', '/Users/herebo/.local/share/virtualenvs/plyanging-FeKuxqpu/lib/python3.9/site-packages/playsound.py', 'file:///private/var/folders/b0/n6_4ym2j3cn55fzjhnzmtw680000gq/T/pytest-of-herebo/pytest-7/test_play_english_voice0/english_voice_test.mp3']' returned non-zero exit status 1.

/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/subprocess.py:373: CalledProcessError
-------------------------------------------------------------------- Captured stderr call ---------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/herebo/.local/share/virtualenvs/plyanging-FeKuxqpu/lib/python3.9/site-packages/playsound.py", line 261, in <module>
    playsound(argv[1])
  File "/Users/herebo/.local/share/virtualenvs/plyanging-FeKuxqpu/lib/python3.9/site-packages/playsound.py", line 119, in _playsoundOSX
    from AppKit import NSSound
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC/AppKit/__init__.py", line 8, in <module>
    import objc
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC/objc/__init__.py", line 28, in <module>
    from objc._bridgesupport import *
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC/objc/_bridgesupport.py", line 13, in <module>
    import pkg_resources
  File "/Users/donalmee/.local/share/virtualenvs/plyanging-FeKuxqpu/lib/python3.9/site-packages/pkg_resources/__init__.py", line 1367
    raise SyntaxError(e) from e
                            ^
SyntaxError: invalid syntax

Interesting… Travis CI should have caught that but maybe I had the Mac build disabled since it’s the most expensive one…
That line should be easy enough to rewrite to work on both Python 2 and 3.
Sent from my iPhone

On Sep 20, 2021, at 15:01, Donal @.***> wrote:

Hi, I tried running playsound on osx 11.5.2 with python 3.9
It looks like the import from AppKit import NSSound causes another import that has invalid python 2 syntax. So it looks like you can't run the function on python 3 in osx.
PlaySound.py:22: in test
playsound(mp3_path)
../../.local/share/virtualenvs/plyanging-FeKuxqpu/lib/python3.9/site-packages/playsound.py:244: in
playsound = lambda sound, block = True: _playsoundAnotherPython('/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python', sound, block, macOS = True)
../../.local/share/virtualenvs/plyanging-FeKuxqpu/lib/python3.9/site-packages/playsound.py:229: in _playsoundAnotherPython
t.join()
../../.local/share/virtualenvs/plyanging-FeKuxqpu/lib/python3.9/site-packages/playsound.py:218: in join
raise self.exc
../../.local/share/virtualenvs/plyanging-FeKuxqpu/lib/python3.9/site-packages/playsound.py:211: in run
self.ret = self._target(*self._args, **self._kwargs)
../../.local/share/virtualenvs/plyanging-FeKuxqpu/lib/python3.9/site-packages/playsound.py:226: in
t = PropogatingThread(target = lambda: check_call([otherPython, playsoundPath, _handlePathOSX(sound) if macOS else sound]))

popenargs = (['/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python', '/Users/herebo/.local/share/virtualenvs/ply...ers/b0/n6_4ym2j3cn55fzjhnzmtw680000gq/T/pytest-of-herebo/pytest-7/test_play_english_voice0/english_voice_test.mp3'],)
kwargs = {}, retcode = 1
cmd = ['/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python', '/Users/herebo/.local/share/virtualenvs/plya...lders/b0/n6_4ym2j3cn55fzjhnzmtw680000gq/T/pytest-of-herebo/pytest-7/test_play_english_voice0/english_voice_test.mp3']
def check_call(*popenargs, **kwargs):
    """Run command with arguments.  Wait for command to complete.  If
    the exit code was zero then return, otherwise raise
    CalledProcessError.  The CalledProcessError object will have the
    return code in the returncode attribute.

    The arguments are the same as for the call function.  Example:

    check_call(["ls", "-l"])
    """
    retcode = call(*popenargs, **kwargs)
    if retcode:
        cmd = kwargs.get("args")
        if cmd is None:
            cmd = popenargs[0]

      raise CalledProcessError(retcode, cmd)

E           subprocess.CalledProcessError: Command '['/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python', '/Users/herebo/.local/share/virtualenvs/plyanging-FeKuxqpu/lib/python3.9/site-packages/playsound.py', 'file:///private/var/folders/b0/n6_4ym2j3cn55fzjhnzmtw680000gq/T/pytest-of-herebo/pytest-7/test_play_english_voice0/english_voice_test.mp3']' returned non-zero exit status 1.
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/subprocess.py:373: CalledProcessError
-------------------------------------------------------------------- Captured stderr call ---------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/herebo/.local/share/virtualenvs/plyanging-FeKuxqpu/lib/python3.9/site-packages/playsound.py", line 261, in
playsound(argv[1])
File "/Users/herebo/.local/share/virtualenvs/plyanging-FeKuxqpu/lib/python3.9/site-packages/playsound.py", line 119, in _playsoundOSX
from AppKit import NSSound
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC/AppKit/init.py", line 8, in
import objc
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC/objc/init.py", line 28, in
from objc._bridgesupport import *
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC/objc/_bridgesupport.py", line 13, in
import pkg_resources
File "/Users/donalmee/.local/share/virtualenvs/plyanging-FeKuxqpu/lib/python3.9/site-packages/pkg_resources/init.py", line 1367
raise SyntaxError(e) from e
^
SyntaxError: invalid syntax
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

I was just having a read at the source and I wondered whether I installed PyObjC would it get around it.
here https://github.com/TaylorSMarks/playsound/blob/master/playsound.py#L227

Yes, that should get around the error.
I want this project to have no hard dependencies, only optional dependencies that can make it run more efficiently.
Taylor
Sent from my iPhone

On Sep 20, 2021, at 15:14, Donal @.***> wrote:

I was just having a read at the source and I wondered whether I installed PyObjC would it get around it.
here https://github.com/TaylorSMarks/playsound/blob/master/playsound.py#L227
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

Yeah just tried it and it did get around the error. Which is good enough for me because I don't care about the extra dependency.
The other thing is I'm using pipenv to manage my virtualenvs. I don't think that should make a difference to this bug. But I'll mention it just in case.
If you come up with a fix for the no-dependency version, I'll be happy to test it on my osx machine for you.
Thanks for the response,
Donal


CSP-484-GETPartnerMember

Added Queries & Tests
Modified Controller & Test

Tested successfully in Test & PO Review complete


Compileing issue with discord-rpc "Type not found"

Im building a game by grabbing the source code and building it with "lime test windows" in a  command prompt the game's directory. when I try this it greets me with the error:
source/Discord.hx:4: characters 8-30 : Type not found : discord_rpc.DiscordRpc
source/Discord.hx:13: characters 3-13 : Type not found : DiscordRpc
source/Discord.hx:23: characters 4-14 : Type not found : DiscordRpc
source/Discord.hx:28: characters 3-13 : Type not found : DiscordRpc
source/Discord.hx:33: characters 3-13 : Type not found : DiscordRpc
source/Discord.hx:38: characters 3-13 : Type not found : DiscordRpc
source/Discord.hx:74: characters 3-13 : Type not found : DiscordRpc
I have discordRpc downloaded
fyi, in source/discord.hx the line and characters, ex: Discord.hx:4: characters 8-30 (line 4 characters 8-30) say discord_rpc.Discord
sorry if this is scattered and stuff, ive been trying to solve this bug for hours and im not sure what is the problem because I have discord rpc download but it cant find it.

me to

please fixing

Hi, I fixed the problem by installing discord-rpc.py which is the import influence the script causing problems is missing.
just write the following into a command prompt:
pip install discord-rpc.py

Hi, I fixed the problem by installing discord-rpc.py which is the import influence the script causing problems is missing.
just write the following into a command prompt:
pip install discord-rpc.py

pip : The term 'pip' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the
spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1

pip install discord-rpc.py

  + CategoryInfo          : ObjectNotFound: (pip:String) [], CommandNotFoundException
  + FullyQualifiedErrorId : CommandNotFoundException

do i have to download pip, if so where can i download it?

dude really abandoned us

I found out I already have pip but I researched it and found this site on installation. https://pip.pypa.io/en/stable/installing/
It states "pip is already installed if you are using Python 2 >=2.7.9 or Python 3 >=3.4 downloaded from python.org or if you are working in a Virtual Environment created by virtualenv or venv. Just make sure to upgrade pip." go check out the site because there is some more info on testing whether pip is installed.

you need to install python 3.9 in microsoft store.... later you need to use commands pip install discordrpc.py or you just put this command here pip install https://github.com/qwertyquerty/pypresence/archive/master.zip


Translate for PT_BR

Is your feature request related to a problem? Please describe
A clear and concise description of what the problem is.
Ex: I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Ex: As a < role >, I want < some goal > so that < some reason >.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you have considered.
Additional context
Add any other context, screenshots, sketch, code snippet, etc. about the feature request here.

Great ! very good

pt_BR.po.gz

Can you close this @mtesauro ?


Correct structure of e2e shell.go

Since this case wasn't wrapped in It, the test cases are automatically loaded, even if the case is skipped.  I ran into this when running the e2e binary against an openshift instance from a working dir outside the kube directory.
@zmerlynn PTAL

The part that isn't wrapped in It() is the test setup code. Each individual test (of which only the shell test remains) is wrapped in an It().

Since we don't want to add any more shell tests maybe it would be better to just explicitly call that single .sh file out here rather than keeping the looping logic.

@roberthbailey Whoops -- I completely missed the inner It.  I think what I will do is have a single It that calls the services.sh test and skips if that file isn't present.  It's important to be able to run the e2es from an arbitrary location on the filesystem to me since I run it against openshift instances.

That sounds perfectly reasonable to me. Ping the PR when it's ready for a review.

I am bandwidth constrained at the moment -- fully intend to fix this but probably not for a couple days.

Gonna do this another way.


bibtex full name from name parts and capitalisation

Hi,
I am looking into using cff files from some github repos and stumbled onto some issues. The current version is here:
https://github.com/Project-MONAI/MONAI/blob/dev/CITATION.cff
It generates the following bibtex:
@misc{MONAI_Consortium_MONAI_Medical_Open_2020,
author = {MONAI Consortium},
doi = {10.5281/zenodo.4323058},
month = {3},
title = {MONAI: Medical Open Network for AI},
url = {https://github.com/Project-MONAI/MONAI},
year = {2020}
}

which means bibtex can transforms the author name to "M. Consortium"
I tried modifying the CFF file to use an entity rather than a person as an author, which seems authorised by the standard
# YAML 1.2
# Metadata for citation of this software according to the CFF format (https://citation-file-format.github.io/)
#
---
title: "MONAI: Medical Open Network for AI"
abstract: "AI Toolkit for Healthcare Imaging"
authors:
  - name: "MONAI Consortium"
date-released: 2020-03-28
version: "0.6.0"
doi: "10.5281/zenodo.4323058"
license: "Apache-2.0"
repository-code: "https://github.com/Project-MONAI/MONAI"
cff-version: "1.1.0"
message: "If you use this software, please cite it using these metadata."

but this led to the author information being dropped in the bibtex output:
@misc{YourReferenceHere,
author = {},
doi = {10.5281/zenodo.4323058},
month = {3},
title = {MONAI: Medical Open Network for AI},
url = {https://github.com/Project-MONAI/MONAI},
year = {2020}
}

Also, is there a way to force the bibtex output to preserve some capitalisation (MONAI in the above)?
Am I missing a better way of handling this?
For the record, I created a simple notebook to test options here:
https://colab.research.google.com/drive/1dvLB6LmytoUl7ePmBH5a6Un6gqXegRKD?usp=sharing
Note that this doesn't seem to create the bibtex key that github generates so I might be missing something else...

Looking at the code, it looks like the different name parts are simply concatenated in the bibtex output:
https://github.com/citation-file-format/cff-converter-python/blob/f1bfd6830f8b0a362fa0bee49fcb2e99471dcaad/cffconvert/BibtexObject.py#L45-L51
From the bibtex manual, it would already be nicer to use a format along the lines of:
von Last, Jr, First

Not exactly what @tvercaut suggested, but I just added name/capitalization protection when the author is an entity, as opposed to a person.
With these changes, a CITATION.cff file like
# YAML 1.2
# Metadata for citation of this software according to the CFF format (https://citation-file-format.github.io/)
#
---
title: "MONAI: Medical Open Network for AI"
abstract: "AI Toolkit for Healthcare Imaging"
authors:
  - name: "MONAI Consortium"
date-released: 2020-03-28
version: "0.6.0"
doi: "10.5281/zenodo.4323058"
license: "Apache-2.0"
repository-code: "https://github.com/Project-MONAI/MONAI"
cff-version: "1.1.0"
message: "If you use this software, please cite it using these metadata."

yields:
$ cffconvert -f bibtex
@misc{YourReferenceHere,
author = {{MONAI Consortium}},
doi = {10.5281/zenodo.4323058},
month = {3},
title = {MONAI: Medical Open Network for AI},
url = {https://github.com/Project-MONAI/MONAI},
year = {2020}
}

thus avoiding the problem of authors showing up as e.g. "M. Consortium"


yajl: fixed build failure due to lack of -j1

I needed to add -j1 to this to get it to build. There was no reply from the existing maintainer (@alaughlin) on the original issue at kisslinux/community#1627.
Existing package

[ ] I am the maintainer of this package.

I realise that non-maintainers aren't meant to file PRs for packages they don't maintain, so I'm happy to take over considering the maintainer hasn't responded to the original issue in over 2 months.

@Ominitay You can add a whitespace at the end of the version file in this PR for maintainership.

Done!


Fix service endpoint unit test

$subject

Codecov Report

Merging #15619 into master will decrease coverage by <.01%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master   #15619      +/-   ##
============================================
- Coverage      6.25%    6.25%   -0.01%
  Complexity     1579     1579
============================================
  Files          1395     1395
  Lines         71138    71137       -1
  Branches       9188     9188
============================================
- Hits           4453     4452       -1
  Misses        66200    66200
  Partials        485      485

Impacted Files
Coverage Δ
Complexity Δ

...main/java/org/ballerinalang/net/http/HttpUtil.java
31.53% <100%> (-0.1%)
79 <0> (ø)

Continue to review full report at Codecov.

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


Create karazin.txt

added karazin.ua mail domain in favor of deprecated mail.univer.kharkov.ua  (as can be seen from links on www.univer.kharkov.ua)

@dmzio I am sorry for a delay with processing your request. It is now merged. Thank you!


Inconsistent file INSTALL

The references to the string "https://github.com/ARDroneSDK3" should be replaced with the string "https://github.com/Parrot-Developers"

Indeed, we'll change that.
In the meantime, as the repositories were moved from ARDroneSDK3 to Parrot-Developers, it happens that you can still clone them using their old url (just tried to do a git clone http://github.com/ARDroneSDK3/ARSDKBuildUtils and it worked).


Make release script more user-friendly

@MylesBartlett anything else I should add?

No, nothing springs to mind.


Update domain of realvnc

Closes #10742

[x] I have read the Contributing Guide.

/verify

/verify

/verify


confused about lastdesk dispatcher

I would like to cycle back to the last visited virtual desk via Mod+Tab like with hyprland workspaces workspace previous.
I set it up with bind = $mainMod, TAB, vdesk, lastdesk.
So if I change from vdesk 3 to vdesk 8 via the vdesk 3 and vdesk 8 dispatchers Mod+Tab should take me back to vdesk 3. I have three screens set up. But instead it always takes me to workspaces 28/29/30.
I'm not sure what is wrong with my setup.

Hi, lastdesk is its own dispatcher, you don't need to mix it with vdesk.
Change your binding to:
bind = $mainMod, TAB, lastdesk
Let me know if it works, and I'll close this issue

Thank you very much. The documentation is clear enough but I somehow managed to misread it. Closing the issue.


CI-Testing: Test plotting on Travis

It's working! All tests are executed on Travis. I have no idea how to do this on Appveyor (I'm not familiar enough with windows).
@akaszynski, could you set up a codecov account to post the coverage results and then get a badge on the readme?

Excellent!  I’ll have to figure out how to do this on appveyor as well.  Thanks for getting that figured out.  I’ll make a codecov account shortly.


Why is only older releases on the Hypriot blog?

Not sure if I should use the old builds to start play around or if I can use the new shiny releases. I didn't see any notes about releases being stable/unstable either so I don't understand which I should pick.
Thanks!

I had some problems with 1.5.0 and came here to open an issue, when I found lots of new releases! Of course, it's a bit of work to update that blog every time, so I made a pull request to get it up-to-date for now at least.


Session NOT persisting when browser or window is closed. Desktop and iPhone.

Was an issue with Routing. Now fixed.


Not Able to Download the PDF

PDF added in admin side successfully and also in end user front end its showing under attachments but when I click on file name to download its redirecting to http:// base-url /downloadable/download/attachment/id/1/ and then redirecting to product page but No pdf attachment downloaded.

@dilipwk I will try to reproduce it and come back with some questions in case I won't be able to do so.

@dilipwk I need information what is your configuration value for field links_target_new_window and if this file is uploaded as file or url


Improve IsNonEmptyDir - use File.Readdirnames

IsNonEmptyDir() uses ioutil.ReadDir() which collects all the files in
the directory, sorts and obtains FileInfo structs before returning.
File.Readdirnames() fetches only the requested number of children and
returns. No extra calls.

oh totally, yes, much improved. thank you!


[IOTS-221] hardcoded basic token passed to backend services

Following hardcoded transport header is set for each device type API that gets generated. If the header is not needed it would be better to remove it.   <property name="Authorization" expression="fn:concat('Basic ', 'bnVsbDpudWxs')" scope="transport"/>  Reference: https://wso2.org/jira/browse/IOTS-221

Checked on the IoT server 3.1.0 cluster, and above config is not shown.


[Feature Request] Foldable phone, different settings for Folded vs UnFolded

Hi, loving taskbar such a good app, I have one of samsungs foldable phones and replaced the samsung taskbar with this as is alot better.
The problem I have is that using the Start Button and Having the clock when folded gives me loads of space for switching tasks when unfolded using the big screen, but when the phone is folded using the very narrow screen I literally have enough space to see one app button, rendering the taskbar pretty useless.
Having different settings for folded vs unfolded would be a big help,
I hope this is something you can consider, keep up the good work :-)

noice


Contributing document refers to T-shirt sizes but they don't exist

Describe the bug
The contributing document refers to T-shirt sizes:
https://github.com/cloudfoundry-incubator/kubecf/blob/31cc18a3bc5f1fec5ee7f2608cd5eb8b24fdee37/CONTRIBUTING.md#how-do-we-estimate
But we no longer use those.
To Reproduce
Follow the link.
Expected behavior
Document things that are true.
Environment
N/A
Additional context
None.

updated by magic ;)


Write better docstrings

Currently the docstrings are just headings. Expand on that adhering to the docstring guidelines.

Closing, as documentation is now sorted with the SciML documentation framework.


Implement a warning for Bluetooth, so users don't deactivate it

Current Implementation
Currently the app shows the request to activate the iOS (and Google on Android) exposure API, so the app is working.
Suggested Enhancement
Add a warning message for people who deactivate their Bluetooth, to declare, that the app needs it to work properly.
Expected Benefits
Better results because people who are not much into IT will know, that they need to let their Bluetooth activated.

The app does give a warning when Bluetooth is disabled in the settings. Keep in mind that the Bluetooth swtich in iOS control center does not turn off the Bluetooth radio, but just disables pairing to known devices.

Well...thanks for clarification. I didn't had that in my mind while opening the issue. Closed. :)


[Live] With nginx and http2, the "Content-Type" header is stripped in a 204 response

Pre-requisites:

nginx with http2
redirection in a LiveAction
symfony/ux-live-component v2.5.0

Steps:

Any redirection in a controller with a LiveAction
Symfony returns a 204 response with a specific header  Content-Type - \Symfony\UX\LiveComponent\EventListener
Nginx drops the header - https://trac.nginx.org/nginx/ticket/2109
Symfony displays an error because the header is missing - https://github.com/symfony/ux/blob/2.x/src/LiveComponent/assets/dist/live_controller.js#L1520

Technically it is a nginx bug but a 204 response means "no content" so it is confusing to have a content type header when there is none?
Moreover nginx does not seem in a hurry to fix it (2 years and counting) so I think it should be fixed in this package. Maybe simply an other header or another way to detect errors?

Let’s drop the header during the redirect (which is when we have an empty body) and, instead, add a 2nd header - something custom like X-Live-Redirect. Then, in the javascript, only throw the error of the content-type is wrong/missing AND that special header is missing.
I’d welcome a PR of you’re open to it :)

@weaverryan done :)


Plow cart don't work

When the plow is equipped with some tools and is lowered it does not generate changes to the terrain.

Which tools are in the plow?

Tried with hoes and shovels

3.0.1+1.20.1

Does you still have this issue in the version 3.0.2+1.20.1 ?

Yes

This seems to be happening when the plow is at negative height which is why it shows up in your superflat world. It should work if you are at y-level 0 or higher. But I will try to figure out how to fix this.


fix non-slot filter should not be push through aggregate

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

join suffers the same issue.

join suffers the same issue.

fix in another PR


iOS header/overflow fix

This is intended to fix #42 as well as provide a partial fix for #36. With regards to #36, the content in the modal now scrolls, but if you reach the bottom, it begins scrolling the content of the page in the background. I was not able to find a good solution to this, but it's an improvement. #42 is fixed entirely.
Here are some screenshots from iPhone 6/iOS 8 (real device): 0 1 2 3 4
You can check out/test these changes on another device at https://shurelia.github.io/tingle/

Hey @Shurelia,
I'll take a look at this during the week-end (still hoping to find a perfect solution)

Any news?


analysis_server/.../analysis_options_test fails on Windows

The test pkg/analysis_server/test/integration/analysis/analysis_options_test
is failing with a runtime error on Windows. pkg/pkg.status is updated.
The error report is:
FAILED: none-vm-checked debug_ia32 pkg/analysis_server/test/integration/analysis/analysis_options_test
Expected: Pass
Actual: RuntimeError
CommandOutput[vm]:
stdout:
unittest-suite-wait-for-done
FAIL: OptionsIntegrationTest | test_option_warning
Expected: List
Actual:
package:unittest/src/simple_configuration.dart 128:34                          SimpleConfiguration.onExpectFailure
package:unittest/src/simple_configuration.dart 24:13                           _ExpectFailureHandler.fail
package:unittest/src/matcher/expect.dart 121:5                                 DefaultFailureHandler.failMatch
package:unittest/src/matcher/expect.dart 95:20                                 expect
pkg\analysis_server\test\integration\analysis\analysis_options_test.dart 35:5  OptionsIntegrationTest.test_option_warning.
dart:async-patch/async_patch.dart 27                                           _asyncThenWrapperHelper.
dart:async/zone.dart 914                                                       _rootRunUnary
dart:async/zone.dart 810                                                       _CustomZone.runUnary
dart:async/future_impl.dart 502                                                _Future._propagateToListeners.handleValueCallback
dart:async/future_impl.dart 585                                                _Future._propagateToListeners
dart:async/future_impl.dart 376                                                _Future._completeWithValue
dart:async/future_impl.dart 430                                                _Future._asyncComplete.
dart:async/zone.dart 907                                                       _rootRun
dart:async/zone.dart 802                                                       _CustomZone.run
dart:async/zone.dart 708                                                       _CustomZone.runGuarded
dart:async/zone.dart 733                                                       _CustomZone.bindCallback.
dart:async/schedule_microtask.dart 43                                          _microtaskLoop
dart:async/schedule_microtask.dart 52                                          _microtaskLoopEntry
dart:isolate-patch/isolate_patch.dart 96                                       _runPendingImmediateCallback
dart:isolate-patch/isolate_patch.dart 151                                      _RawReceivePortImpl._handleMessage
0 PASSED, 1 FAILED, 0 ERRORS
stderr:
Unhandled exception:
Exception: Some tests failed.
#0      SimpleConfiguration.onDone (package:unittest/src/simple_configuration.dart:197:9)
#1      _completeTests (package:unittest/unittest.dart:368:10)
#2      _runTest (package:unittest/unittest.dart:308:5)
#3      _nextTestCase (package:unittest/unittest.dart:256:3)
#4      Timer._createTimer.<anonymous closure> (dart:async-patch/timer_patch.dart:16)
#5      _Timer._runTimers (dart:isolate-patch/timer_impl.dart:385)
#6      _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:414)
#7      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:150)

Clearing out 1.15 milestone as the last full push to dev has happened. If any changes are required before 1.15 is shipped, please file a merge request

The test now passes. @DanTup @bwilkerson
Removing the line from the status file.

@whesse Thanks! I had created a CL to do this - out of curiosity, how did you notice it passing now if it was skipping?


[gestures] Pinch In and Pinch Out are messy

[x] I tested it on latest raylib version from master branch
[x] I checked there is no similar issue already reported
[x] My code has no errors or misuse of raylib

Issue description
Input Gestures Example failed to recognise Pinch in and Pinch out, in some cases one appear instead of the expected other results, in other cases both are logged even when only one action was performed
Environment
Happened on HTML5, Safari, iPhone X, iOS 14.4
OpenGL ES 2.0

I don't have the required hardware/environment to solve this issue. Feel free to send me the required hardware. Closing for now.

@ubkp thank you very much for taking care of this issue!

@ubkp Thank you a lot!


Failed to use on jar of openjdk11

I have added dependencies according to the instructions here ：https://github.com/wvengen/proguard-maven-plugin/issues/161

${java.home}/jmods/java.base.jmod
${java.home}/jmods/java.datatransfer.jmod
${java.home}/jmods/java.prefs.jmod
${java.home}/jmods/java.xml.jmod
${java.home}/jmods/java.desktop.jmod
${java.home}/jmods/java.rmi.jmod

This is my error message：


Prepare challenge documentation (11 Oct)

[x] Update READMEs in GitHub
[x] Create text for EvalAI tabs
[x] Deploy text into EvalAI tabs
[ ] Create code samples and submission tutorial (see #25 )

Google doc containing text for EvalAI:
https://docs.google.com/document/d/1Y1yP2itim5aB7MPLORHP8kROt4mgNVZ5rStFseTrnmk/edit?usp=sharing

"Deploy text into EvalAI tabs" is now complete as part of #39.

See https://github.com/rangl-labs/netzerotc/pull/39#issuecomment-939641077


Missing Italian translation

Here is the it lang translation zipped
If someone can add it to the package perhaps
admin.zip

Thanks @andrew-m-p merged into develop. Will merge soon


iOS project doesn't build with Xcode 7

iOS version of the project doesn't build with Xcode 7. Problem with Socket.IO and a new Swift version. Need to update included socket.io library.

Fixed in version 1.0.2.


Add Redis Cache

Redis varsa redis kurulumu, yoksa async-cache-dedupe kullanalim
Dockera eklenecek bunlar

Kurulum yapılıp tüm yerlere uygulanacak mıdır ?

Tek docker imajı var

fargate'e redis kurulup erisim bilgilerini paylasirsaniz ekleyeyim ben

Redis tarafini hazirlayan varsa kullanilacak env iletirse docker compose tarafini konfigure edebilirim.

Ben uzerine calisiyorum

@anonrig how is it going? Can I help?

hi @naugtur it would be good if we can replace the in memory caching with redis.

I don't know how this is deployed, but I can add redis to docker-compose and replace cache.js
With Redis flushAll will not make sense.
I saw #111 - after that we can add some more cacheWrite calls and remove flushAll. Is it getting merged soon?

env.example already has a redis key. I think production has redis right now. docker compose is mostly for local development. @izzetemredemir

Ok.
We can go with https://www.npmjs.com/package/@fastify/caching or https://www.npmjs.com/package/@fastify/redis and replace all caching entirely or use redis behind existing interface of #111
Which do you prefer I do?

Don't really have a preference both works fine

Got redis cache working, now need to solve the flush.

https://github.com/acikkaynak/deprem-io-backend/pull/139

@anonrig
Here:
https://github.com/acikkaynak/deprem-io-backend/commit/e8b7bb45b7b8396f3f55f66fda6c9362834cfcd9#diff-574e544af2813d930ff5f28dc8ea94d4e1efcfd8abd35281f03d45ecd5624a9aR94
Use selectifeFlush to avoid flushing individual items. You only need to flush list cache.


Update Keycloak from 2.5.5. to 3.2.1

Motivation
Keycloak version is really outdated.
Modifications
Update Keycloak verstion from 2.5.5 to 3.2.1
Result
New version has fixed a bunch issues so this should imporve security.

[ ] Have you followed the guidelines in our Contributing document?
[ ] Have you created a JIRA and used it in the commit message?
[ ] Have you checked to ensure there aren't other open Pull Requests for the same issue?
[ ] Have you built the project locally prior to submission with mvn clean install?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

@sventorben, thanks for the PR.
Unfortunately this isn't the only change required to update Keycloak in WF Swarm. https://github.com/wildfly-swarm/keycloak-config-api also needs to be updated and released so that this repository can pick up a new version of the Config API for Keycloak.
Could you submit a PR for the change there as well? We can worry about releasing the Config API when merged

@kenfinnigan
Is updating the version there the only thing that needs to be done?
wildfly-swarm/keycloak-config-api#6

Once PR you submitted to config-api is merged and we do a release, then this PR needs to be updated with that released version of keycloak-config-api

I'm thinking about compatibility with Red Hat SSO. AFAIK, the latest version of RHSSO is based on Keycloak 2.5, which is what we currently have. Not sure if 3.2 is compatible or not... Just an idea.


Feature Request | Additional MessageSendModes

Hello!
I think it's a good idea to add additional message send modes, like the ones in litenetlib.
I personally miss the following two in development:

Reliable with order
Reliable sequenced (realiable only last packet)

Reliable with order should prevent situation when packets mess around.
Reliable sequenced is useful for situation when you need to update some values for your game. It is like [Networked] header in mirror or unet.

Reliable with order should prevent situation when packets mess around.

What do you actually need this for? I have yet to run into a situation with my own project where the need for order would be better addressed by the messages being guaranteed to arrive in order (which always comes at the cost of added latency) than by manually ordering or discarding out of order data on the receiving end (depending on what suits the situation).

Reliable sequenced is useful for situation when you need to update some values for your game. It is like [Networked] header in mirror or unet.

You'll have to elaborate on what exactly you mean by "reliable sequenced". I'm not sure I understand how that term specifically relates to "[updating] some values for your game" (as that's usually the purpose of sending any kind of message) or to the [Networked] attributed in other (higher level) solutions.

Reliable with order. What do you actually need this for?

I need this for situation when in your gameplay you need to calculate some things in correct order.
Currently to achieve this kind of behaviour you need to manually add smth like "order id". Write some additional code to handle order and only then do things you need.
Example is worms game where you send player's actions in order in which they should be simulated on other's computers.

You'll have to elaborate on what exactly you mean by "reliable sequenced".

I may have confused the concepts a bit. Reliable sequenced means realiable only last packet. This type of message should check message reliability only until a new message of same type and receiver but with different values appears.
I need this for situation where I need to store only latest state of variable. For example health of player. When your health change rapidly you do not need to have all health messages be reliable. You need only to receive latest health message.

Example is worms game where you send player's actions in order in which they should be simulated on other's computers.

I can't imagine a player's actions are very big (bandwidth-wise), so is there a reason you can't send them all in one message?

I need this for situation where I need to store only latest state of variable. For example health of player.

I recently added a "notify" send mode, which does something similar to what I think you need. It doesn't provide reliability, but it notifies you when the message is lost or delivered (hence the name). It's used a bit differently from the other send modes though—instead of Message.Create() you use Message.CreateNotify(), and there are no message IDs built in. To send the message, you send it directly through the Connection (instead of through the Server/Client) with connection.SendNotify(messageGoesHere), which returns the sequence ID it was sent with. The connection will then invoke either the NotifyDelivered or NotifyLost event, depending on what happened to the message. To receive/handle notify messages, you can subscribe to the connection's NotifyReceived event.
Using the sequence IDs which the SendNotify method and NotifyDelivered and NotifyLost events spit out, you can track what happened to a given message and react accordingly. In your example, you could track the sequence ID of the latest message you've sent which contained the health value, and if it's lost, you simply send the health value again.

Hey there, if i might add a situation in which you would need a message to be in order.
This would be for instance a chat system.
If a player sends a chat message and another straight after, then the player would also expect the first message to be send and arrived first. other wise the second message might be send to other player as the first message instead of the second,

This would be for instance a chat system.

If you timestamp each chat message with the tick it was sent on, and maybe with the tick of the previous chat message, it'd be relatively easy to sort them on the receiving end.
Typically most game data does not need to be received/processed in order, but it does need to be delivered asap, and guaranteeing order adversely impacts delivery speed if the connection has any amount of packet loss, which is why I'm hesitant to add this into the library itself.
That being said since notify mode is now a thing (or rather, will be in the next update), any time sensitive game data could/probably should be sent that way and you could make the case that the reliable send mode should only be used for things which don't require asap delivery, and therefore having it guarantee order would make sense.

Hi,
I also need this feature in my game. The situation is;
Im making a turn based game. So, im sending startGame command and turnChange/gamePlay commands afterwards. if i cant have them in order, i have to cache them in client to wait previous desired command. There are also some movement commands that can be omitted in my game, thats why im using UDP, instead of TCP.

Closing this as I don't see the need for or benefit from adding additional send modes outside of unreliable, reliable, and notify. The one thing I would consider is making reliable mode guarantee order, but this would be a substantial undertaking and require a major overhaul of how the reliable mode currently works.

I've implemented it myself: https://github.com/Per6/Riptide-Queued-Send-Mode
it is simply better than reliable and really doesn't add much latency,
especially when MaxSynchronousQueuedMessages is set high.


Added generic type to validatedObservable

Hi sorry just created this account to make this change, has been bugging me for a while whenever I update off nuget.
Thanks for the definition!

@apathytomorrow thanks mate!


vim-multiple-cursors not work

in plugins_config.vim, I found the multiple cursor plugin configuration like this:
 let g:multi_cursor_next_key="\<C-s>"

what "\<C-s>" is?
I tried ctrl+s, \+ctrl~s, none of these works.

C-s is CTRL+S. And vim-multiple-cursors does work.
if you have any issues please report to https://github.com/terryma/vim-multiple-cursors -- as the version shipped with the vimrc isn't forked or changed.


External objects don't work for @Success {object}?

Describe the bug
Added //Success 200 {object} calendar.Event to an endpoint.
The calendar.Event object exists in the "google.golang.org/api/calendar/v3" package.
I get the error can not parse response comment "200 {object} calendar.Event "event was updated""
To Reproduce
1: Create an endpoint with swagger doc.
2: Set return type for success to "calendar.Event" from "google.golang.org/api/calendar/v3".
2: Run swagger generation
Expected behavior
I expect no error to be thrown, and the calendar.Event object to be described in the swagger.json file.
Your swag version
v1.5.0
Your go version
v1.12.2
Desktop (please complete the following information):

OS: ubuntu 18.10
Browser: N/A
Version: N/A

I also need this feature.
Any hint's on how to tell the ast to parse external packages?

have you tried
import (
   calendar "google.golang.org/api/calendar/v3"
)

//Success 200 {object} calendar.Event
func handler() {

}

Don't forget to do use --parseDependency when you do swag init. And also --parseVendor if you use a vendor folder


ros_control/RosJointStateClient

Need to review, document, and write unit tests.
(There seems to be some issue with build- I can only compile when I comment out tests in the root CMakeLists.)

Coverage remained the same at 85.391% when pulling 72d5a603af08c15e959ebea5f4e66bbec311b57a on RosJointStateClient into 4cd2795dcf7b90e6b295aaae5e83e244161ab10e on master.

Coverage remained the same at 85.208% when pulling 32a9da2a2ec0413ba294bb1cfcad6a5a904c1d33 on RosJointStateClient into a59975f7b726a3ff83fecd3e18510a5ba8eba30c on master.

From talking with @gilwoolee it seems that writing tests for this would involve setting up some more testing infrastructure and looking into rostest. Since I don't have a ton of time to look into this and it seems to be blocking some of our progress, I just added some documentation. Can we merge this?

Coverage increased (+0.02%) to 85.208% when pulling 1c216fd91ebc1a5ec060efb14e2ad8a122260a1f on RosJointStateClient into 9154cc4b5715f731ddc01ec0699818c0ef8e9791 on master.

I think I've addressed the most recent issues raised by @mkoval and implemented the out-of-order message ignoring.
However, I'm actually having the same build issue as Gilwoo. I'm not familiar with why this might be happening -- @jslee02 would you mind looking at this?
I needed to make two changes to allow aikido to compile:

tests/CMakeLists.txt causes an error with add_subdirectory(gtest). Commenting out that line (line 2) causes no errors. The message says

  add_library cannot create target "gtest" because another target with the
  same name already exists.  The existing target is a shared library created
  in source directory "/usr/src/gtest".  See documentation for policy CMP0002
  for more details.

CMakeLists.txt causes an error with add_custom_target(tests DEPENDS ${all_tests}) and add_ custom_target(run_tests COMMAND "${CMAKE_CTEST_COMMAND})"). The messages say

  add_custom_target cannot create target "tests" because another target with
  the same name already exists.  The existing target is a custom target
  created in source directory
  "/home/bhou1/Development/aikido-ws/src/aikido/src/control/ros".  See
  documentation for policy CMP0002 for more details.

  add_custom_target cannot create target "run_tests" because another target
  with the same name already exists.  The existing target is a custom target
  created in source directory
  "/home/bhou1/Development/aikido-ws/src/aikido/src/control/ros".  See
  documentation for policy CMP0002 for more details.

Looking in src/control/ros/CMakeLists.txt doesn't show any obvious suspects, but commenting out those lines (lines 177-178) also allows it to build.
The master branch has all of those lines and builds just fine on my machine.

That is because some of ROS packages's target includes gtest and tests, and they conflicts with the gtest built internally in Aikido. This would a solution.

I see, thanks for clearing that up! In that case, it seems that we should merge #149 before this one?

Coverage decreased (-0.8%) to 84.418% when pulling 0f41b1549b457799b7c64d1eec1bb71e65076dfe on RosJointStateClient into 9154cc4b5715f731ddc01ec0699818c0ef8e9791 on master.

it seems that we should merge #149 before this one?

I believe so, and it seems already in good shape to merge to me. :smiley:

Coverage decreased (-1.2%) to 80.974% when pulling 1ab4edb7f5600608b98b2cee80f84cb5212b6b35 on RosJointStateClient into 1b3fc385edc6ad85189651934615d030760f4850 on master.


More options for indexing

Defines the batch_size arg, so Haystack won't try to index everything in one go.
Adds optional args for the document splitter

Thanks - I read through the parameter docs you've exposed here. For my own comprehension, reading the docs on OpenSearch fuzzy query:

fuzziness | AUTO, 0, or a positive integer

I'm presuming this means: AUTO: OpenSearch will attempt to select a positive integer dependent on query length. 0: off, uses classic Levenshtein 1: max 1 character D-L distance ...
Is that correct? I don't know if it's helpful to document this specifically, I mean we shouldn't try to document haystack in its entireity.

Thanks! Nearly, setting fuzziness to 0 means no fuzziness. By default it uses the D-L distance, whereas to use classic Levenshtein you set transpositions to false (I'm a fan of D-Lev though!).
Ideally I'd be able to see more info on the 'AUTO' setting (maybe it's buried in the source code somewhere), as there are going to be multiple words of multiple lengths being compared and I don't know how exactly it decides what value to use. But it's the default value (I've specified it to make it more obvious that there is a degree of fuzzy matching) and sounds like it's recommended for most use cases.


Cannot add twitter Error: Error: The value of property "raw" is longer than 1500 bytes..

https://mobile.twitter.com/manifest.json

@kenchris good catch. We should change the field type in the datastore.

Fixed, will be deployed in a couple of says.


Live Azure Functions managed identity test

This adds a program that exercises our managed identity implementation by accessing storage accounts, scripts to deploy it to Azure Functions and create the storage accounts, and a test that triggers the Function. All this will run only in our weekly test pipeline, which I reconfigured to run on only one agent because the code under test runs remotely; the platform running the test suite is irrelevant and it isn't interesting to do so more than once. I chose to build the program in a container because the pipeline deploys resources before setting up a Go environment and we need a container to deploy to other platforms we want to test on anyway. Part of #21118

/check-enforcer reset


Docs:Update IoT logging procedures

Type of change

Documentation

Description

Docs:Update IoT logging procedures
Checklist

[ ] Update/write design documentation in ./documentation/design
[ ] Write tests and make sure they pass
[x] Update documentation
[ ] Check RBAC rights for Kubernetes / OpenShift roles
[ ] Try your changes from Pod inside your Kubernetes and OpenShift cluster, not just locally
[ ] Reference relevant issue(s) and close them after merging
[ ] Update CHANGELOG.md

Can one of the admins verify this patch?


Changes to support new resource-graph api version

Updated sdk with the new track2 python package
Added new param management_groups for querying the management groups
Added new param allow_partial_scopes for not failing the query and returning partial results when query overreaches max scopes allowed by server
Added new param skip_token so that users can paginate through the query
Modified max value of top to be 1000 instead of 5000
Changed cmdl output to dictionary format with the fileds 'data' and 'skip_token'

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your PR is merged into master branch, a new PR will be created to update src/index.json automatically.
The precondition is to put your code inside this repo and upgrade the version in the PR but do not modify src/index.json.

resource-graph

@kairu-ms would really appreciate the PR review!

@kairu-ms sorry had a delay to fix your comments because was on-call. Updated the changes, please let me know if you have any questions.

@fenwickt Why your PR contains 2548 files changed?

You should use git rebase master instead of git pull master

BTW, you should create a feature branch instead of master branch on your repo.

This PR is invalid and I will close it. Please create a new PR. Thanks.


Clarify/fix plugin development flow

Currently some developers use vernemq_dev as a dependency when developing plugins. vernemq_dev contains a copy of vmq_topic.erl which is also distributed as part of VerneMQ itself and this can lead to issues like #513 as vernemq_dev contained an old copy of vmq_topic.erl.
This should be fixed somehow as it's not clear to most people out there what is the 'right' way to build plugins.
In general there are two possibilities for building plugins:

Build plugins separetely from VerneMQ without any dependencies or with something like vernemq_dev which contains a minimal & official set of helper functions as well as hook behaviours. The advantages of this approach is easy CI and fast build times. The disadvantages is one is limited to only the functionality exposed via vernemq_dev.

Build plugins 'inside' vernemq (eg. put it into ./apps/pluginname) and build it as part of VerneMQ (and then package up the result as a separate package). This has the benefit that one has access to everything, but as we don't expose a public API it's impossible to developers to know what it's OK to use to avoid breaking changes in the future.

I think we should move to support option 1 officially and document the public functions (not this does not exclude building plugins using option 2). Challenges here are:

Currently vernemq_dev is broken as it contains some of the same files as in VerneMQ itself. I don't see that we can remove a file like vmq_topic.erl from within VerneMQ as that would break plugins relying on vmq_topic:unword/1 from working on future versions of VerneMQ. For a case like that I would keep vmq_topic.erl in VerneMQ and create a new api in vernemq_dev exposing the public API (in the case of unword just calling into vmq_topic).

Changing vernemq_dev by removing vmq_topic and doing other changes may prevent existing plugins from compiling and code would require changes to the plugin code. Note this should not break plugins that already work - they would keep working. This would suck, but I think this would be the long term best solution.

Thanks to @codeadict for surfacing this issue and getting a
discussion started.
Comments? /cc @dergraf @ioolkos

heh mentioned the wrong guy, its all lower @codeadict

My approach would be: keep vernemq_dev updated and separated from the main repo and used as a dependency for both VerneMQ server and people developing plugins. vernemq_dev can be tagged with the same version as VerneMQ and this way the incompatibilities can be avoided.

Well... I'd say we just want the best plugin system. So that the best people can develop the best plugins for the best broker.
With the best programming languages (Elixir, Erlang, Lua). Best of the worlds.
Any objections?

Hard to argue with that goal @ioolkos 🚀

@codeadict the latest release (1.2.1) now depends on the vernemq_dev dependency... I still haven't thought much about tags on vernemq_dev - it is kind if implicit as the dependency is written in the rebar.lock file for any vernemq version... If you have a good (and easy) proposal then I'm all ears :)


Also check current working directory for nlog.config (DNX compatible)

Also check current working directory for nlog.config (DNX compatible)
But don't try twice the same file.
supersedes #1343
fixes #1342

Current coverage is 75.18%

Merging #1356 into master will increase coverage by +0.01% as of 86e6f81

@@            master   #1356   diff @@
======================================
  Files          267     267
  Stmts        15526   15532     +6
  Branches      1631    1632     +1
  Methods          0       0
======================================
+ Hit          11672   11678     +6
  Partial        383     383
  Missed        3471    3471

Review entire Coverage Diff as of 86e6f81

Uncovered Suggestions

+0.09% via ...gingConfiguration.cs#374...387
+0.09% via ...gingConfiguration.cs#340...353
+0.09% via ...argets/FileTarget.cs#1713...1725
See 7 more...

Powered by Codecov. Updated on successful CI builds.

Thanks! I will pull this to double-check if it works for me tomorrow before I merge it.

I think @phenixdotnet is right and this change isn't good :(

I think @phenixdotnet is right and this change isn't good :(

That is a valid point, and unfortunately I don't know of another way to get to the right folder path.
For now, we are loading the config "manually" by constructing the XmlLoggingConfiguration object with the correct path and assigning it to LogManager.Configuration. I suppose "tricky" cases like these are to be handled this way until we can find a way for NLog to find the correct path automatically.

For now, we are loading the config "manually" by constructing the XmlLoggingConfiguration object with the correct path and assigning it to LogManager.Configuration

Well, that is also not a good solution, see https://github.com/NLog/NLog.Extensions.Logging/issues/24

@304NotModified Thanks! I'll look into that.

@304NotModified No ideas here, this thing drive me crazy. Same call (IE PlatformServices.Default.Application.ApplicationBasePath) give you 2 differents behaviors based on app context
I hope it will be fixed in rc2.

Anyway this isn't an improvement


how can i define SENTRY_RELEASE custom

release  use   name@version from pubspec (string) as default value, but how can i define SENTRY_RELEASE custom ， such as<EMAIL_ADDRESS>for ios app building,  or<EMAIL_ADDRESS>for android app building, or some channel as<EMAIL_ADDRESS>as i know ，i can edict yaml  when building APP for each channel. but I want to know is there any more convenient way to do this
version: 6.9.2+692
SENTRY_RELEASE_IOS<EMAIL_ADDRESS>SENTRY_RELEASE_IOS2<EMAIL_ADDRESS>SENTRY_RELEASE<EMAIL_ADDRESS>SENTRY_RELEASE<EMAIL_ADDRESS>

It is convenient to define in code,but using sentry-dart-plugin how can i do this in yaml
options.release =
<EMAIL_ADDRESS>

You probably need this https://github.com/getsentry/sentry-dart-plugin/issues/81
So you can call the plugin and pass the values as parameters
eg dart run sentry_dart_plugin<EMAIL_ADDRESS>but we've not implemented this yet.
Your option is editing the YAML directly or setting the env. var. as an alternative.
You can also do if conditions and set the options.release dynamically depending on if its Android, or iOS.
Closing this in favor of https://github.com/getsentry/sentry-dart-plugin/issues/81

@marandaneto In my codemagic pipline I'm increasing the build number automatically so I need the value of the release to match, are the above solutions works in my case, if so please provide explain a bit how to achieve them

@eb-so I'm no longer part of the Sentry staff. cc @buenaflor


what's next for @bentley/react-scripts ?

Hello,
react-scripts seems to be abandonned since 2 years.
https://www.npmjs.com/package/react-scripts
Also create react app seems to have been removed from the official workflow
https://react.dev/learn/start-a-new-react-project
I wanted to know what would be the future of @bentley/react-scripts ?
Currently having iTwinjs integrated in the frontend of our application, we are kind of dependent on @bentley/react-scripts.
It appears sooner or later we'll need to switch to something else.
Is something being planned for @bentley/react-scripts ?
Thank you
Jiayi

Hi,
As you have noticed the JavaScript (and more specifically the React) Community at large has been moving away from react-scripts. We are looking to switch to Vite.
We have already transitioned the test-apps within the itwinjs-core repo from react-scripts to vite.
We are investigating if we need to make an additional pkg to publish a default itwin vite config, but so far vite has been proven to be successful with our usage.

Thanks @aruniverse for your response.
We are also considering moving to Vite, so good news for us :)
I'll do the move based on the test project.
Regards,
Jiayi


Limitations and unintended side effects of apply Sensitivity Labels on Windows 10 and  other clients.

Hi can you confirm that if sensitivity labels are applied. from Public to Highly Confidential then what is the impact on eDiscovery, co-authoring, search, delve in each case. Obviously, enabling encryption is going influence the list as mentioned but to what degree? We are trying to weigh up site / library permissions against these labels and how they can both work in harmony.

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

ID: 561d91d8-458d-bc0c-45af-c0a9ccacee93
Version Independent ID: 7c1fd8f1-74b6-f7d4-fcb0-0e41a0d6ff42
Content: How Windows Information Protection (WIP) protects files with a sensitivity label (Windows 10)
Content Source: windows/security/information-protection/windows-information-protection/how-wip-works-with-labels.md
Product: w10
GitHub Login: @Justinha
Microsoft Alias: justinha

@westerdaled great question. I'm sharing some replies from our engineering partners and I will look to add these points to the topic to help clarify. Let me know if this does not help answer your question.
WDATP can add WIP protection if the applied label says the file should have it. WIP files are either indexed locally for search or not based on the WIP policy selection for search (we recommend allowing it, since otherwise Outlook can’t search your work mail).
To clarify the difference between WIP and Azure Information Protection (AIP (aka RMS)) encryption:

AIP encryption is applied directly to content, and roams with the content as its moved between locations and cloud services. When an RMS encrypted doc is stored in a cloud service like SharePoint Online, then co-auth, eDiscovery, Search, Delve, and so on are impeded because the content isn't scanned/decrypted. Our engineering teams are working on this problem.
WIP applies to content when its stored directly/locally on a Windows desktop. WIP uses encryption in the background to restrict access and protect content, however the encryption does not roam with the content when its moved off the desktop. Enabling WIP will have no impact on things like co-auth, eDisc, Search, and so on when the content is stored in SharePoint Online.
Note, there is a WIP feature that will AIP encrypt a doc on egress - but that still falls back to #1 above.

Head over to https://aka.ms/managemip for more about labels and how each setting works.


Update aurelia-http-client.js

Small Correction.

Thanks, but the current comment is consistent with the comments in the rest of the library.


expand scope of rethrown gradle errors

Description
Collect the HTTP exceptions into a List, add the exclusive access and zip exception cases that can also occur when downloading.
Add a permission exception check.
Add a exited abnormally check which prints the full message.

Whoops, I didn't know you were already looking at this and I think @blasten was taking a look as well. Sorry for the confusion!

Ahh, no problem if someone else wants to take it over. I was just digging through the crash logs today and a lot of these stood out.


Fix https://github.com/madrugado/Attention-Based-Aspect-Extraction/pull/6#commitcomment-38902609

Thanks!


MedT Direct: Fill in one-second gaps

In 10-20% of cases a scheduled basal starts one second after a temp basal duration ends.
This PR fills in the one-second gap with a one-second temp basal equivalent to the one that preceded it (including suppressed info) so that we can calculate bolus-to-bolus ratio stats correctly.
A unit test is also included.

  Medtronic Alpha Test - Issue Resolution Card [uploader]

A duration of 0 in the CSV just means that the temp basal was cancelled. So what's happening is that the cancelled temp basal gets finished up and pushed on the stack before it gets to the part in the code where it fills in the one-second gap. Good catch, thanks!


Where are the binary files for releases 3.0.*

I'm open to bring them back. But linking a static binary with musl was not optimal anyway.

@yannickbattail musl binary is back

awesome!


High severity vulnerability affecting this repo

Hi there,
We noticed that your repo has a high severity vulnerability:

ReDoS via long string of semicolons
Affected package: tough-cookie<=2.2.2

Here is the test report for this repo.
If you’d like to fix this vulnerability, Snyk lets you generate a pull request that recommends the best upgrade path - there’s a link to fix this vulnerability on the test report.
Stay secure :-)
Ben from the Snyk team

Hi Ben,
Thanks for flagging this up; we have been a little slow on providing
updates to thresher and it's increasingly ancient dependencies.
Cheers,
Tom
On Thu, Nov 17, 2016 at 12:57 PM, benmag1<EMAIL_ADDRESS>wrote:

Hi there,
We noticed that your repo has a high severity vulnerability:

ReDoS via long string of semicolons
https://snyk.io/vuln/npm:tough-cookie:20160722?utm_source=gh_issue
Affected package: shout <=2.2.2

Here is the test report for this repo
https://snyk.io/test/github/ContentMine/quickscrape?utm_source=gh_issue.
If you’d like to fix this vulnerability, Snyk lets you generate a pull
request that recommends the best upgrade path - there’s a link to fix this
vulnerability on the test report.
Stay secure :-)
Ben from the Snyk team
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ContentMine/quickscrape/issues/94, or mute the thread
https://github.com/notifications/unsubscribe-auth/AHA027PIW7RcbjkLCUAAix89mXkZiKyxks5q_E8egaJpZM4K1RiL
.

This vuln really doesn't matter much for quickscrape. It's an issue where malformed user input could crash the program. It's a problem for server software, daemons, stuff like that. For a simple CLI it doesn't matter.


Synology docker

Hi,
Do you have a documentation how to install this docker container to a Synology docker?
Thanks
Simon

Hi,
no, there is no additional documentation. But as it is a docker container you should be able to use it like all other docker containers on the synology. But personally I have never used docker compose on a Synology directly.

Ok, thanks for quick answering.
Scan-to-smb1 have a problem to access the path on the Synology. I try \server... //sever/... smb:// (as in the Synology description) nothing works. Mounting failed.
Can u help me there?
Regards. Simon

It's been years since I used the container myself, so I could not say to much about this. Check your mountpoint, maybe you have permission issues. I guess synology does not let you mount in the root directory for example. The Image uses https://github.com/dperson/samba in the background, so the parameters must be compatible with this image.


Scope and time scheduling of the meeting (issue #357 related)

The goal is to schedule a meeting that covers basic usage of dynamic systems and reporting activities.

Done


WIP: Support Ingenic T31 GLIBC toolchain

Hi @FlyRouter @viktorxda could you please kick off a toolchain workflow to test creation of the T31 GLIB toolchain? Thanks!

Thanks. One thought I had was to break out the naming to include the code library such as $platform_$library_$distro_defconfig 🤷♀


UI switches cloud provider when creating a custom cluster

Setup

Rancher version: v2.7.11-798b3da89d6c71f8a30994c0bd7303a755ae55a8-head
Rancher UI Extensions: -X-
Browser type & version: Chrome Chrome 120.0.6099.199 (Official Build) (arm64)

Describe the bug
In the UI, when the user creates a EC2 RKE2 cluster and first selects a cloud provider other than "Default RKE2 embedded", the cloud provider is switched back to the "Default RKE2 embedded" every time the user changes the Kubernetes version
To Reproduce
From the UI, go to

Clusters Management
Hit Create
Select RKE2/ Amazon EC2
In the Basics session of cluster configuration, select a cloud provider other than the default
Change the kubernetes version
Observe the cloud provider switching back to default

Result
https://github.com/rancher/dashboard/assets/70187881/3cc07df8-32a1-4edc-be6f-7a680d0973e6
Expected Result
The cloud provider must be preserved according to the user selection.

/backport v2.7.patch1

/backport v2.8.next1

Inline comments associated with #9643 lead me to believe that this behavior is intentional
https://github.com/rancher/dashboard/pull/9643/files#diff-6836ab4af70ed1f33db60d2de9a0087b636d7604c3f1cf6bb6525f50f16a69aeR2286-R2297
@nwmac can you confirm that this is the intended behavior? Is there a case that we're missing here where we don't want to revert back to the initial/external when changing the Kubernetes version?

I'm considering if we only want to revert back to the initial cloud provider when modifying the Kubernetes versions only if the currently selected cloud provider is "External".
I'm also noticing that the comment states the intended purpose of switching back to the initial cloud provider is to undo changes made to the cloud provider config

Switch the cloud provider back to the initial value Use changed the Kubernetes version back to a version where the initial cloud provider is valid - so switch back to this one to undo the change to external that we may have made
Note: Cloud Provider can only be changed on edit when the initial provider is no longer supported

I'm seeing that the cloud provider config persists, so we may want to explicitly delete the value along with resetting the cloud provider

Tests pass in
v2.9-4119767ddf14ab591e8e8e38164bc917ed5e7e18-head


android-clt: Add version 6609375

Android Command Line Tools (android-clt, the name can be discussed) is the successor of android-sdk.
If this gets merged we probably want to modify what android-studio suggests too.

Move this PR into Main bucket and request review from someone from ScoopInstaller/maintainers


Add Bearer prefix to Authentication header when using bearer security scheme

What: Add Bearer prefix to the Authorization header when API is using Bearer based authentication.

Why: When setting up an authentication scheme using bearer as scheme the requests made when contract testing should contain a Bearer prefix in the generated Authentication header.
Many frameworks, ktor included, requires the Bearer prefix to be there to correctly delegate to the specified auth handler. Without it ktor automatically rejects the request with a 401 Unauthorized when the Authorization header simply is Authorization: WFPSL.

How: Add a Bearer prefix to the Authorization header.

Checklist:

[ ] Documentation added to the README.md OR link to PR on https://github.com/specmatic/specmatic-documentation
[x] Tests
[ ] Sonar Quality Gate

@androa apologies for the delay, we will look into this at the earliest. cc @jaydeepk @joelrosario

bump


No default values for parameters of initSdk

Input params for initSdk are optional, however they don't have default values and are not checked for null. Omitting either of them results in the below exception. I'm not sure if there are any further repercussions as the result of that exception.
This happens on the latest version of the plugin: 5.2.0+1.
E/flutter (32469): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: Failed assertion: boolean expression must not be null
E/flutter (32469): #0      AppsflyerSdk.initSdk.<anonymous closure> (package:appsflyer_sdk/src/appsflyer_sdk.dart:147:11)
E/flutter (32469): #1      _rootRunUnary (dart:async/zone.dart:1134:38)
E/flutter (32469): #2      _CustomZone.runUnary (dart:async/zone.dart:1031:19)
E/flutter (32469): #3      _FutureListener.handleValue (dart:async/future_impl.dart:140:18)
E/flutter (32469): #4      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:682:45)
E/flutter (32469): #5      Future._propagateToListeners (dart:async/future_impl.dart:711:32)
E/flutter (32469): #6      Future._complete (dart:async/future_impl.dart:516:7)
E/flutter (32469): #7      new Future.delayed.<anonymous closure> (dart:async/future.dart:313:16)
E/flutter (32469): #8      _rootRun (dart:async/zone.dart:1122:38)
E/flutter (32469): #9      _CustomZone.run (dart:async/zone.dart:1023:19)
E/flutter (32469): #10     _CustomZone.runGuarded (dart:async/zone.dart:925:7)
E/flutter (32469): #11     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:965:23)
E/flutter (32469): #12     _rootRun (dart:async/zone.dart:1126:13)
E/flutter (32469): #13     _CustomZone.run (dart:async/zone.dart:1023:19)
E/flutter (32469): #14     _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:949:23)
E/flutter (32469): #15     Timer._createTimer.<anonymous closure> (dart:async-patch/timer_patch.dart:23:15)
E/flutter (32469): #16     _Timer._runTimers (dart:isolate-patch/timer_impl.dart:398:19)
E/flutter (32469): #17     _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:429:5)
E/flutter (32469): #18     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)
E/flutter (32469):

Thank you @minusminuszero we will check it out


Parse error on ! operator

This one seems pretty rudimentary for getting a parse error from, but hlint does error on:
module MyModule where

import qualified Data.Map as M

newtype MyMap k a = MyMap (M.Map k a)

(!) :: Ord k => MyMap k a -> k -> a
(MyMap m) ! k = m M.! k

The issue here is bang patterns, which is an extension HLint turns on by default. If you compile with -XNoBangPatterns then it should compile.

Thanks!  I wan't aware that there were commonly-used extensions that made previously legal syntax illegal.


💡 Feature Request - Price estimate for implementing WARA recommendations

Describe the solution you'd like
My customer recently requested that we include a column detailing the cost of implementing a specific WARA recommendation. This addition would assist them in understanding the financial implications and facilitate internal planning before making any commitments.
Describe alternatives you've considered
Utilizing the Azure Pricing Calculator may not offer the detailed granularity that the customer requires.
Additional context
N/A

Opened with the wrong account. Will reopen it with the Microsoft account.


Refactor RPG Manager to move to a component-based structure

Scope
With the growth of RPG Manager, new components or campaign settings will be updated, and the current version of the plugin supports this only by editing the main repository directly.
To move forward in a correct way, RPG Manager should accept third-party extensions to plug in the main plugin.

This is a long-term goal, to be considered as a core functionality and a complete refactoring of RPG Manager

Current Actions
At the moment, the only way to extend RPG Manager is to edit the main repository directly, which creates a bottleneck
Example
A new component must be added manually to the code and the factories are limited to the components in the main repo
Possible Solutions or Implementations
Every element in the system should follow a standard structure, so that third-party developers could create their own "Plugins for RPG Manager" to extend its functionalities
Example
A component as Campaign should have a defined structure such as
component:
  abstracts:
    ...files...
  data:
    ...files...
  factories:
    ...files...
  interfaces:
    ...files...
  modals:
    ...files...
  models:
    ...files...
  templates:
    ...files...
  views:
    ...files...
  {ComponentName}Component.ts

Where the {ComponentName}Component.ts should extend a specific interface that allows access to its classes and interfaces
Context or Use Case
<As the> maintainer of RPG Manager
<I want to> move the system to an extendable API
<So that> it becomes easier to extend and maintain the plugin and to offer external developers the possibility to write their own extensions
<As the> maintainer of RPG Manager
<I want to> standardise the structure of the components of the system
<So that> it becomes easier to extend and maintain the plugin
<As an> external developer
<I want to> create my own extensions for RPG Manager
<So that> I can extend its functionalities without having to edit the main RPG Manager directly

Duplicate of #218


Check for metered network

On my laptop if I'm tethered or on a limited connection the backup should not run. NetworkManager has a way to check for this. My solution is based upon https://github.com/jdorel/systemd-metered-connection-dependency as I use systemd.
Would you accept a pull request based upon the above?

Discussion continues in PR :)


Bug in phone number validation

The phone number validation doesn't accept good numbers:

I was able to successfully add all three of those phone numbers. I'm thinking this might have something to do with whitespace.

I've fixed this issue, so please test these numbers with the new code to confirm.