Power/Data splitter is there plans for a USB C power port version?

I really find the current design of the Tiny Pilot power/data splitter annoying because it so close to perfect but its just not quite.   Like I have proper raspberry pi 4 and clone raspberry pi 4 power supplies.   They are USB C plugged non removable cables from brick having to use some form of adaptor to take them down to usb micro to use the splitter seams stupid and just adding to the mess of cables.    Yes having the power going into the splitter USB C and data as micro and the output as USB A would be what you call Sod law protection.   Currently with the two micro usb I see the possibility of screwing up the wiring a lot more.
I have not found plans to the Tiny Pilot power/data splitter circuit.
Also for the production unit tinypilot Voyager  I would suggest looking at the argon one if doing a revision for way of dealing with side ports.   The argon one has a board down the side of the pi that convert the two small Hdmi to large hdmi while rerouting all the ports to one side of the device.(the argon one powers the pi by the gpio header)   In theory that board could be made longer to cover the power in and data lines to bring all ports to setup to one side of the device.  I guess the board down the side would have enough room for the protection circuit.   Less of a wiring nightmare.   Cables going off at 90 degrees to each other in a rack can cause major pain by increase risk of getting hooked.
Yes in a lot of ways I would take side board expanding the ports and exposing otg port over the spitter box.   This is all due to my personal dislike for extra cables in rack.   Yes I would class doing a full side board as a possible new Power/Data spitter.

On Tue, May 11, 2021 at 5:29 AM Michael Lynch @.***>
wrote:

Thanks for reaching out!
I fully agree about the inconvenience of the extra splitter box. I'm
working on a custom HAT that will provide PoE or direct microUSB power
input without the need for the goofy extra box. I was hoping to have it by
now, but the global chip shortage has thrown a bit of a wrench in the
gears, with components I need selling out before I can even design a
prototype.
I'm still moving forward on this, and I'm aiming to have an all-in-one
unit by mid-summer, and a rack-mountable version
https://tinypilotkvm.com/blog/rackmount by end of summer.
I am not just looking at the ip-kvm usage case.     Think doing a stream
deck with a raspberry pi touch screen.   So able to custom macro key all
the keyboard and input devices plugged into pi to another computer.   Or
the raspberry pi being display
https://www.phoronix.com/scan.php?page=news_item&px=Generic-USB-Display-GUD-5.13
Yes GUD the Generic USB Display option.

I see a place for prototyping for some users the spitter box will be
good.    Do note the stream deck usage or the GUD case you would not be
needing the PoE power but you may be wanting external power for stability
of course..
microUSB power input << That a problem.  Take a note of what I said I have
proper raspberry pi 4 power supplies.  So what I am after there is proper
USB C power input so my existing power supplies for raspberry pi 4 plug
straight in.
A side board instead of a hat to bring all the side ports to one side would
be a good thing.   Do look at using vertical full size hdmi for the display
outputs and inputs.  Turning the hdmi ports vertical you can fit 2 in the
space of one.
When I say vertical I mean the following connectors
https://au.element14.com/te-connectivity/2007435-1/receptacle-hdmi-flag-tht/dp/1816577
.    Next you still do need hdmi out with the rack-mountable version.   Do
you really want to have to alter cables around when you are at the rack to
get an in person screen/keyboard connected?.     Next in the rack mountable
I don't understand the fan position? Why is it to the side on the front.
These commonly are at the back of these devices with venting in the front
to draw air over the heat sinks.
If you are having a hat I would have put the micro sd above the raspberry
pi main board if possible to cut down on width.   Question is also how
often the micro sd going to need being replaced.
Do think about width and how many you could place side by into a single 19
inch U.   Its very wasteful of rack space to have a small single item in a
1U.     Yes zip tied down.   Also some small items that open up the
top of case bolt join them to each other to make a complete 1U unit.
https://www.amazon.com.au/Raspberry-Rack-Mount-inch-Units/dp/B085LQT67P
If this is anything to go by you should be able to get at least 3 units to
possible 4 units in a single 19 inch U.   Of course this requires careful
control of space usage.   You don't have that much room on the front
really.  Only really 2 hdmi ports worth extra to the in width.  Stacking
ports will be important.   Yes power not by ethernet is in rack devices is
commonly on the back.
Next problem to consider is most rack cases ATX the keyboard and monitor
ports are on the back.   It is really uncommon to have a front keyboard and
monitor ports.
https://www.aten.com/au/en/products/kvm/rack-kvm-switches/cs18208/
even your common rack KVM switchs have control ports on the back.    So
HDMI in and keyboard out on the front does not make much sense once you are
using it in a rack.    Now even with the HDMI out there is a good question
if one of those should be on the back and if one of the front USB ports of
the pi should be routed to the back as well.
I do understand that the back ports on KVM switch have the habit of being
keyboard and mouse ports only so you want to plug into the front ports with
the USB so you can emulate them but the HDMI port is going to be on the
back.   Do also notice the USB type B plugs for the cables coming from the
computer to the KVM.  This is sod law prevention.
It is more common in audio racks to have the hdmi and keyboard ports at the
front than the back but the back is still common 19 inch audio racks as
well for the HDMI and keyboard ports to be at the back.  General server
racks are almost 100 percent that the keyboard and monitor ports will be at
the back.   So having the input ports at the front are going to cause cable
routing nightmares.
   Basically HDMI in you don't find on the front in common rack
server setups
I hope you don't take offence by all the possible issues with the rack
mountable design I spotted.     I did do server administration and
installation for over 15 years of rack mounted servers..   Sod law
prevention is important, same with thinking where the cables will naturally
be. You don't want to have cables crossing from the front to the back of
the rack any more than you have to.
Peter Dolding

Thanks, Peter!
I agree with your feedback. I'm going to redesign the rack version so that the HDMI capture and emulated keyboard/mouse USB port is in the back.
We wouldn't gain much by putting in two HDMI ports since the Pi has only one CSI bridge, so we're limited to one HDMI input per Pi. I'm not exposing the Pi's HDMI outputs in the initial version because there's not enough utility from them.
I agree about better using the space. I'm going to try to make the mount modular so you can fit 1-3 TinyPilots inside.


Codelens option to start Tests

Abstract:
From my understanding a codelens option is a clickable link in your code, which could enable you to start jest in run or debug mode.

On the first look integrating code-lens looks quite complicated for me. But I have never touched the Visual Studio Code API.
https://code.visualstudio.com/blogs/2017/02/12/code-lens-roundup
https://code.visualstudio.com/api/language-extensions/programmatic-language-features#codelens-show-actionable-context-information-within-source-code
Some example: https://github.com/kisstkondoros/codemetrics


Don't export $PATH

PATH does not need to be exported to be available to the shell. This
change removes instances where PATH is exported in rbenv and
rbenv-init. If a user has elected to export PATH, the changes rbenv
makes to the variable will continue to be reflected in the exported
variable.
Other change:

Remove hard-coded version number in bare invocation test.

So, modified PATH value will be available in sub-processes as well without the export clause? Curious. I always though you need export to make the value propagate down to sub-processes as well.

If a user wants to export the PATH, they will already be exporting it in their shell configuration, further exports aren't needed. Mutating a previously exported variable results in the changes continuing to be reflected for sub-processes.

In my testing it wasn't necessary to export the PATH for it to be passed on to processes, but as it stands rbenv init is taking that decision out of the user's hands.

Thanks for the patch and for your patience, this will be a "wontfix". Most of the changes you made to remove export were internal in rbenv and test code, and those exports don't affect the user in any way and can remain as they are right now.
The only export that affects the user's shell is the one outputted from rbenv init - to be eval'd in an interactive shell. You said that we take the decision to export the PATH variable away from the user, and you have a good point there. But, we want to export PATH after changes, because if the user doesn't do it, then rbenv is going to be mis-configured in sub-processes (the shims directory won't be in PATH) which might lead to hard-to-debug programs.
I think most people typically export PATH in their shell, and won't mind if we follow that practice too. I can't see how this could be a problem for users. The reason I'm reluctant to merge this patch is that I want to release rbenv 1.0 soon and I'm wary that this change could complicate things for some users. I'd rather leave things as they are, unless we are causing some users serious headache.


FAQ question and answer is a little misleading

[The FAQ section has this question and the answer is Yes - Do the the Azure portal cost management tools work for Azure Stack HCI? Yes
On discussion with a GBB colleague I was told that the " Azure Cost management tools don’t integrate with HCI or Hub or on premise resources" So I asked what does the question and answer refer to? his response is the 10$ per core per month charge.
Is this correct? if yes, it does sound misleading? cost when you say Azure Cost management tools, what comes to mind is that Azure Cost Management is talking to the HCI host and is now able to read utilization data of the on premise HCI instance and make recommendations like Azure around Snoozing VMs and right sizing VMs]

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

ID: 6f92859f-7987-76ae-6f0d-8b048298158d
Version Independent ID: 519ebc92-176d-7d46-a0ac-476cc241f45d
Content: Azure Stack HCI billing and payment - Azure Stack HCI
Content Source: azure-stack/hci/concepts/billing.md
Service: azure-stack
Sub-service: azure-stack-hci
GitHub Login: @khdownie
Microsoft Alias: v-kedow

Hi @Rkariyal, thanks for bringing this to our attention. I have assigned the issue to the content author to evaluate and update as appropriate

Hi @Rkariyal - I've reached out to my boss about this issue. Azure Stack HCI is not in GA yet so it's possible that this integration is forthcoming. Nonetheless I agree that we should clarify if it's not yet available. Thanks for pointing this out.

Thanks, my information could be wrong as well, in fact I hope it's wrong, :) cause that would be a great feature!
Look forward to hearing back from you.
Get Outlook for Androidhttps://aka.ms/ghei36

From: Ken Downie<EMAIL_ADDRESS>Sent: Thursday, August 27, 2020 7:33:33 AM
To: MicrosoftDocs/azure-stack-docs<EMAIL_ADDRESS>Cc: Rkariyal<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-stack-docs] FAQ question and answer is a little misleading (#984)
Hi @Rkariyalhttps://github.com/Rkariyal - I've reached out to my boss about this issue. Azure Stack HCI is not in GA yet so it's possible that this integration is forthcoming. Nonetheless I agree that we should clarify if it's not yet available. Thanks for pointing this out.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-stack-docs/issues/984#issuecomment-681176800, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AQXB7ODJ5IPJWC2P4D44U3DSCWLU3ANCNFSM4QJF27AA.


Too many python process when running python/llm/example/GPU/HuggingFace/LLM/codeshell/server.py

Hi,
When running python/llm/example/GPU/HuggingFace/LLM/codeshell/server.py
python server.py --checkpoint-path /home/user/Qwen2-7B-Instruct --device xpu --multi-turn --max-context 1024
40+ python processes would be running,  ps aux | grep "python"

In the code, the uvicorn workers is set to 1, not sure why so many process were running.
uvicorn.run(app, host=args.server_name, port=args.server_port, workers=1)

We have produced this issue and are looking into it. Will keep you updated as soon as possible.

Hi wluo1007，
We have looked into the issue and have confirmed that the multiple process is caused by the  the import of ipex package during the importing ipex-llm, the specific code is located in init.py of ipex-llm, as follows:
if BIGDL_IMPORT_IPEX:
  # Import Intel Extension for PyTorch as ipex if XPU version is installed
  from .utils.ipex_importer import ipex_importer
  # Avoid duplicate import
  if ipex_importer.get_ipex_version() is None:
      ipex_importer.import_ipex()

By commenting out the code here, you can observe that the multi-process disappears，meanwhile, you can use the following example to verify our discovery
import uvicorn
import intel_extension_for_pytorch as ipex
from fastapi import FastAPI

app = FastAPI()

if __name__ == "__main__":
   uvicorn.run(app, workers=1)

By commenting this line:
import intel_extension_for_pytorch as ipex

and using the ps aux | grep "python" command, you can observe the changes in the process.


Autocompletion doesn't seem to work for PyCharm

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the Asyncer documentation, with the integrated search.
[X] I already searched in Google "How to X in Asyncer" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to Asyncer but to AnyIO.
[X] I already checked if it is not related to Asyncer but to Trio.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
from datetime import datetime

from asyncer import asyncify

def foobar(x: int, y: 'str') -> datetime:
    return datetime(int(y), x, 1)

async def main():
    x = await asyncify(foobar)()

Description
asyncer looks awesome yet again. :tada:
Unless I'm missing something(?), I don't seem to get auto-completion help on pycharm.

Might be worth:

putting a note in the docs about "auto-completion on vscode"
thinking about a way to get this to work on pycharm - I assume it would require a plugin?
bugging @pauleveritt about whether pycharm have a plan to add support for stuff like this? - It wouldn't just be for this library, if pycharm could do clever inspection of type hints in decorators, it would open up lots of interesting applications to those of us wedded to pycharm

Operating System
Linux
Operating System Details
Ubuntu 21.04
asyncer Version
0.0.1
Python Version
3.9.5
Additional Context
No response

Pycharm also doesn't recognise the return type as a datetime in my example.

I looked at this earlier today, hoped I could make a video, but found PyCharm couldn't grok it. I'm presuming it is this ticket which is being worked on, but will have to confirm Monday.
Funny enough, I've spent my day fighting and losing at trying to get watchgod and Starlette to play nice.

Ha. I think if you use uvicorn and have watchgod installed, uvicorn uses it in --reload mode.

I'm glad and honored you like it! @samuelcolvin!
Thanks @pauleveritt for chiming in! Great to hear there's a ticket with ongoing work around it!
I imagined having a particular use case for ParamSpec (like this one :sweat_smile:) would probably help to justify allocating internal resources to it, as it's just standard Python anyway and not something particular to this library. :nerd_face:
I'm pretty sure PyCharm will catch up with this particular feature soon (the same way it's leading with other features). I'm not sure about documenting it as if it was a VS Code only thing. :thinking: Also, mypy supports it (in the latest version 0.930 from a couple of weeks ago), and I believe it would show up in PyCharm if the mypy plugin was configured, right?

yes agreed, perhaps something like "on mypy and vscode so far, pycharm support coming soon [link to ticket]"?

FYI, Andrey M has opened a ticket.

I see that the original ticket here https://youtrack.jetbrains.com/issue/PY-50930 says it's fixed, right? :tada:

Sorry for the long delay! 🙈  I wanted to personally address each issue/PR and they piled up through time, but now I'm checking each one in order.


Couldn't find HOME environment -- expanding `~'  on first vagrant up/provision

/var/www/redmine/vendor/bundle/ruby/1.9.1/gems/yard-<IP_ADDRESS>/lib/yard.rb:11:in `expand_path': couldn't find HOME environment -- expanding `~' (ArgumentError)
        from /var/www/redmine/vendor/bundle/ruby/1.9.1/gems/yard-<IP_ADDRESS>/lib/yard.rb:11:in `<module:YARD>'
        from /var/www/redmine/vendor/bundle/ruby/1.9.1/gems/yard-<IP_ADDRESS>/lib/yard.rb:3:in `<top (required)>'
        from /var/lib/gems/1.9.1/gems/bundler-1.10.6/lib/bundler/runtime.rb:76:in `require'
        from /var/lib/gems/1.9.1/gems/bundler-1.10.6/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
        from /var/lib/gems/1.9.1/gems/bundler-1.10.6/lib/bundler/runtime.rb:72:in `each'
        from /var/lib/gems/1.9.1/gems/bundler-1.10.6/lib/bundler/runtime.rb:72:in `block in require'
        from /var/lib/gems/1.9.1/gems/bundler-1.10.6/lib/bundler/runtime.rb:61:in `each'
        from /var/lib/gems/1.9.1/gems/bundler-1.10.6/lib/bundler/runtime.rb:61:in `require'
        from /var/lib/gems/1.9.1/gems/bundler-1.10.6/lib/bundler.rb:134:in `require'
        from /var/www/redmine/config/application.rb:5:in `<top (required)>'
        from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from /var/www/redmine/config/environment.rb:2:in `<top (required)>'
        from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from /var/www/redmine/config.ru:3:in `block in <main>'
        from /var/lib/gems/1.9.1/gems/rack-1.6.4/lib/rack/builder.rb:55:in `instance_eval'
        from /var/lib/gems/1.9.1/gems/rack-1.6.4/lib/rack/builder.rb:55:in `initialize'
        from /var/www/redmine/config.ru:1:in `new'
        from /var/www/redmine/config.ru:1:in `<main>'
        from /var/lib/gems/1.9.1/gems/thin-1.6.3/lib/rack/adapter/loader.rb:33:in `eval'
        from /var/lib/gems/1.9.1/gems/thin-1.6.3/lib/rack/adapter/loader.rb:33:in `load'
        from /var/lib/gems/1.9.1/gems/thin-1.6.3/lib/rack/adapter/loader.rb:42:in `for'
        from /var/lib/gems/1.9.1/gems/thin-1.6.3/lib/thin/controllers/controller.rb:170:in `load_adapter'
        from /var/lib/gems/1.9.1/gems/thin-1.6.3/lib/thin/controllers/controller.rb:74:in `start'
        from /var/lib/gems/1.9.1/gems/thin-1.6.3/lib/thin/runner.rb:200:in `run_command'
        from /var/lib/gems/1.9.1/gems/thin-1.6.3/lib/thin/runner.rb:156:in `run!'
        from /var/lib/gems/1.9.1/gems/thin-1.6.3/bin/thin:6:in `<top (required)>'
        from /usr/local/bin/thin:23:in `load'
        from /usr/local/bin/thin:23:in `<main>'

A temporary fix is to run /etc/init.d/thin restart as root.


Better fallback when you don't want to use Text

#473 this modifies block creation so that if Text doesn't exist, we pick the first from specified blockTypes as the blockType to create first. If this happens, a class gets added to the wrapper which ensures that the replacer always shows.
As an aside to this issue, I also believe I've fixed an issue where replacement doesn't work if you're at your block limit because block removal happens after creation, so counts don't get updated in time.

Actually ignore this, I found a bug.


speakerbot no longer compiles

# github.com/dustinblackman/speakerbot
src/github.com/dustinblackman/speakerbot/pcm.go:25: undefined: discordgo.Voice
src/github.com/dustinblackman/speakerbot/voice.go:71: vi.discord.Voice undefined (type *discordgo.Session has no field or method Voice)
src/github.com/dustinblackman/speakerbot/voice.go:72: vi.discord.Voice undefined (type *discordgo.Session has no field or method Voice)
src/github.com/dustinblackman/speakerbot/voice.go:131: multiple-value vi.discord.ChannelVoiceJoin() in single-value context
src/github.com/dustinblackman/speakerbot/voice.go:139: vi.discord.Voice undefined (type *discordgo.Session has no field or method Voice)
src/github.com/dustinblackman/speakerbot/voice.go:164: vi.discord.Voice undefined (type *discordgo.Session has no field or method Voice)
src/github.com/dustinblackman/speakerbot/voice.go:182: vi.discord.Voice undefined (type *discordgo.Session has no field or method Voice)

Doesn't sound like you used Glide to install dependencies.
https://github.com/dustinblackman/speakerbot/blob/master/Makefile#installation

this was before the makefile was used, during go get ...

go get gets the latest versions of dependencies, which is probably not compatible with. This is why things like glide exist for version management. Do a git pull and use the make file.


fix(datepicker): Add hover effect

:tada: This PR is included in version 1.31.1 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


[google_maps_flutter_web] Circles are overlapping the onTap function of GoogleMap

Hello.
I only have this problem with Flutter Web, on smartphones it is working.
I have an onTap function on my GoogleMap widget, which looks for more profiles when tapping.
However, if there is a circle on the GoogleMap, it is preventing the onTap function, even though I don't use the onTap function on the circle (also tried to set it null). The cursor also change to a pointer inside the circle.
Is there an easy solution?

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


Upgrade chardet to 3.0.4

This is needed in order to avoid a conflict with googlemaps library. It
also needs to be applied to cookbooks repo.

As there's nothing to CR, I'll add this to our Acceptance column.

I added you as reviewer because of 5b3428c6

Not a lot to say about a 3 years old commit :-) At least, it had a test. I'd just test a few simple imports and merge, as soon as CI is 🍏

After talking with systems this is not needed. So I'm closing this for the moment (installed in a virtualenv for builder and not conflicting). But you can take it as tested.


Query with multiple params (eg. ['todo', id]) can't be found

Any attempt to modify query with key with multiple params (such as queryKey: ['todo', 'id-12344']) fails with error "Query not found"
Not sure in which lib the fix should be, I see
https://github.com/LovesWorking/react-query-external-dash/blob/main/src/_components/devtools/QueryActions.tsx#L44
uses toString on the queryKey, while
https://github.com/LovesWorking/react-query-external-sync/blob/main/src/_util/handleCommands.ts#L23
tries to compare the first item of query key with the stringified queryKey, which does not work. There it should probably also call toString on the queryKey.

Great point. When I get some time next week I'll tackle the open issues. Thanks for pointing out the lines that may be causing this.

FWIW this also happens if the second param is an object like queryKey: ['todo', { id: 12344 }]


core-to-plc: learn to lift values to PLC at runtime (CGP-228)

This adds classes for lifting Haskell values to Plutus values at runtime. We use GHC Generics to do this for a wide variety of types.
AFAICT it's not possible to detect recursive types when doing this (Generics says that K R means a recursive type, but it's a lie and it uses it for everything). Sorting this out is tricky - at the moment it will compile an instance for a recursive type but just not terminate if you try and use it. You can hand-roll your own, though, like I've done for List.
The List instance needs another note. As previously discussed, the plugin is using the fixpoints-outside-lambdas approach. However, the stdlib is using the lambdas-outside-fixpoints approach, so we can't use it here if we want interoperability. We would like to change the stdlib, but until the elimination contexts PR lands it won't typecheck. So I've made some copies of the relevant functions for now.
I've added a bunch of tests, including some that combining programs generated by the plugin and programs generated with LiftPlc works and evaluates to the right thing.
In the future I hope to make this share more code with the plugin, but for now I hope this is enough to unblock Jann.

Yes, the documentation is very confusing. They removed any tags other than R some time ago, but the documentation for it still suggests it's used to indicate recursion, when in fact it's used for everything.
For example:
GHCi, version 8.2.2: http://www.haskell.org/ghc/  :? for help
iLoaded GHCi configuration from /home/michael/projects/iohk/plutus/language-plutus-core/.ghci
Prelude> import GHC.Generics
Prelude GHC.Generics> :set -XDeriveGeneric
Prelude GHC.Generics> data Test = Test Int deriving Generic
Prelude GHC.Generics> :i Rep Test
...
type instance Rep Test
  = D1
      ('MetaData "Test" "Ghci1" "interactive" 'False)
      (C1
         ('MetaCons "Test" 'PrefixI 'False)
         (S1
            ('MetaSel
               'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy)
            (Rec0 Int)))
        -- Defined at <interactive>:1:1

👍 👍


Function "Site" not defined

Added theme to hugo site, ran hugo and got
parse failed: template: team/summary.html:4: function "Site" not defined"
In layouts/team/summary.html on line 4, a period is missing in front of "Site"
Plz change {{Site.BaseURL}} to {{.Site.BaseURL}}
Love the theme btw!

I have fixed that typo. Appreciate the bug report mate!


[Doc Improvement][Update respond to task module][1570668]

updated issue #604 content as shared by Tatiana

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/messaging-extensions/how-to/action-commands/respond-to-task-module-submit.md
90
14
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit 1f3833f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/messaging-extensions/how-to/action-commands/respond-to-task-module-submit.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/messaging-extensions/how-to/action-commands/respond-to-task-module-submit.md
90
13
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit 0031b12:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/messaging-extensions/how-to/action-commands/respond-to-task-module-submit.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 2450c87:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/messaging-extensions/how-to/action-commands/respond-to-task-module-submit.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/messaging-extensions/how-to/action-commands/respond-to-task-module-submit.md
90
13
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit 5fb66b6:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/messaging-extensions/how-to/action-commands/respond-to-task-module-submit.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/messaging-extensions/how-to/action-commands/respond-to-task-module-submit.md
90
13
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit 3485e46:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/messaging-extensions/how-to/action-commands/respond-to-task-module-submit.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


1Password performance issues

It takes a long time to open huge vaults or accounts with many vaults in them. Possible solutions:

Don't open all vaults upfront, only list them and let the client choose
Don't decrypt everything upfront, do on demand

Opening a very large account with ~90 vaults and 8600+ items takes 73 seconds.
(cd example/OnePassword && /usr/bin/time dotnet run -f netcoreapp3.0)

DecryptAllKeys takes more than 3 seconds to RSA decrypt all keys (tested on macOS with .NET Core 3.1).
Caching RSACryptoServiceProvider objects doesn't help as it's the decryption part that takes the most time (14 ms).

It's not possible to show the vault name and any other info without first decrypting its key and its attributes.


Removing slides

Hi,
When a slide is removed with
$('#my-slider .mySlide').remove()
$('#my-slider').data('sliderPro').update();

The suppression is not raised to the thumbnail
And the following solution doesn't work too, because the update function re-generate the thumbnail :
$('#my-slider .mySlide').remove()
$('#my-slider .myThumbnail').remove()
$('#my-slider').data('sliderPro').update();

Regards

Ok I've found a way to skirt the problem, I use :
$('#my-slider .myThumbnail').parent().remove()
instead of
$('#my-slider .myThumbnail').remove()
But is it standard ?
Regards

Hi. If you look in Developer Tools or Firebug to see the actual HTML structure of the slider, you will see that the thumbnails have a container. When you want to remove a thumbnail, you need to remove the container as well.
Cheers

In fact the library show it's limits (for now), when trying to dynamically change the elements inside the slider.
For the project i'm working on, i need to toggle the presence of one slide, when toggling the full-screen mode.
For now i think it's impossible to reinsert the slide at his old place (without heavy manipulations), because the associated thumbnail reappear at last position (even if it is reinserted at the good position)
Regards


Add University of Yangon(UY)

University Website link: click

@MinMyatPaing Pull request merged. Thank you!


LookupInto should support time.Duration in int or string form

It would be very convenient if LookupInto could handle time.Duration such that an integer value is interpreted as a nanosecond timestamp and that a string is interpreted in the time.ParseDuration string format (for example "14h52m"). At present this ends with a panic 	panic: reflect: call of reflect.Value.SetString on int64 Value.
The only current work around is to use string fields and post process the looked up result.

I think the problem is that dgo lacks a proper mapping for the time.Duration type. With that in place, Hiera should work OK.

This is fixed by using hiera v1.0.0-rc4 which uses dgo of the same version.


OuiSchemaItem  & OuiSchemaItemList

This component provides solutions for interactive lists of data fields within OpenSearch Dashboard features & applications. These changes support efforts for creating a cohesive visual and interactive experience across Discover, VisBuilder, Observability Logs and Observability Metrics interfaces. The component can be clickable, or used within the OuiDraggable wrapper.
Examples of disjointed interactive data fields list patterns within Dashboards:

Zoning of OUISchemaItem

SchemaActions

Allow a primary action & primary action icon. Primary action is aligned to the right. Primary action should be styled by default using OuiColorPrimary
- An example of a primary action is "Add" - which on click would add the data to a targeted list (this is also a backup option for drag and drop interactions)
- When using keyboard navigation / tabbing , Primary action should be in focus after the panel focus.

Allow a secondary action & secondary action icon (up to 2). Secondary actions align left of the primary actions. Secondary actions should be styled using OuiColor
- An example of a secondary action is "Override default pattern" (as seen in Observability logs) or "Show top 5 values" (as seen in Discover).
- Secondary actions receive tab focus after primary actions, starting from the right

Show button group on hover - boolean (True/false) - default to true. when true, only show actions on hover. when false, always display actions button group. The preferred default is true.

Button groups should be shown on keyboard focus. This interaction can be seen in Discover when tabbing through the data fields list.

OuiPanel

SchemaItem can be displayed with or without OuiPanel background. Display SchemaItem on a panel by default.
Allow builders to choose styled or unstyled panel (padding and panel sizing informed by OuiDraggable)

OuiSchemaItemList
Details to come
Examples:

Love this!
For button-group show -- I'm confused between "onHover, Default Action - False" and "Show button group onHover - False"?
Is there a combination of attributes that switch between showing "this-facet's" action-group and showing "all facets" action-groups when any one of them is hovered?

@pjfitzgibbons we are removing Default Action to simplify focus as we are running into collisions between the draggable and clickable areas. I will have updated mocks shortly that hopefully clarify further.

Here are some other names you can consider:

OuiDataField
OuiFieldItem
OuiField

Their group counterparts can be:

OuiDatagroup
OuiFieldGroup
OuiFieldGroup

Naming :
We started out with OuiFacet, which is a fine, abstract name.   I feel that 'field' and 'data' carry too much meaning for a widget that we intent to have abstract use-case.  'field' is especially specific.  I could be convinced that 'data' is ok, though I have strong opinion, weakly held.
Without the advantage of knowing wider OUI plans and UX Design tenets, I don't see a problem in calling this an extension of OuiFacet ?

Alternately :  IF this is a specific widget, with a specific use-case (Schema type configuration, a-la vis-builder), then the OuiSchemaItem name works just fine.  The widget will be unlikely to be used in any other context with the proposed name OuiSchemaItem.

We have pivoted away from this being an extension of OuiFacet because it was leading to interaction collisions when included in certain wrappers.
@ashwin-pc 'field' is used in all of our form control components - but perhaps we can riff on the 'data' suggestion. I'm OK keeping it 'schema' as well.

@ashwin-pc I've updated the styling approach to include compressed options for both on panel and off panel.

I'm feeling that using within drag/drop disables default-link is an OK compromise.   Might require very specific documentation so an user-developer understands that default-link is disabled in the drag/drop scenario.

@pjfitzgibbons in our latest explorations we have gotten rid of Default Action behavior to avoid these issues further.


Remove unnecessary DisplayVersion from GitHub.GitHubDesktop version 3.3.5

Issue https://www.github.com/microsoft/winget-pkgs/issues/138520 describes scenarios where DisplayVersion should not be used. This PR removes unnecessary DisplayVersion from the manifest file.
Microsoft Reviewers: Open in CodeFlow

URL: https://desktop.githubusercontent.com/releases/3.3.5-76560059/GitHubDesktopSetup-x64.exe
Status Code: 200
(Automated message - build 897)


Update Gruntfile.js comments for PR #2814

In conjunction with #2814, include information for running custom grunt tasks.

@jlphelps thanks!

(@jlphelps would you mind updating this to link to the updated docs related to your PR?)


chore: croc-hunter-jenkinsx to 0.0.64

chore: Promote croc-hunter-jenkinsx to version 0.0.64

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@tmx-bji: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

promotion-build
879eeb9839727d8d94190cf7824cf82e12706b84
link
/test this

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Chunked pages

Store all memory in a single dynamically-sized page represented as a linked list of 1 KB chunks.

Wrong tarrget


Configurable maxChunkSize for embedding providers

Description
Add maxChunkSize to EmbeddingsProvider and makes it configurable via config.json.
An embedding providers id will now also include the maxChunkSize to avoid collisions between indices with different chunck lengths if it is not the default.
Checklist

[x] The base branch of this PR is dev, rather than main
[x] The relevant docs, if any, have been updated or created

Testing
Set maxChunkSize for an embedding provider that does support longer sequences, e.g. :
"embeddingsProvider": {
    "provider": "huggingface-tei",
    "model": "jina-embeddings-v2-base-code",
    "apiBase": "[URL]",
    "maxChunkSize": 1024
  },

Then index a new project.

Great work, thanks for the contribution!


Email added as required in userpool even when not selected in amplify add auth prompt

Hi, email shows as required even though I didn't select it during the amplify add auth flow. More context: no MFA/no required attributes.

@kennandavison Which flow did you go through for amplify add auth - did you go with the default configurations from the CLI?

manual configuration

What was your selection for this response? The email attribute in Cognito was set based on your response for this question in the manual configuration flow.
What attributes are required for signing up?

Yeah, specifically unchecked that and tried a few times

Got it. Yes, I was able to reproduce the issue. The following block always exists in the CloudFormation template by default which shouldn't be present if you unselect email in the sign-up attributes question. I'll take that back to me team. cc @edwardfoyle
     Schema:
        -
          Name: email
          Required: true
          Mutable: true

Any updates on this or suggestions for how to get around it?

Experiencing same issue here :(

The fix for this has been released. Please install the latest version of Amplify to get the fix.

The fix for this has been released. Please install the latest version of Amplify to get the fix.

@edwardfoyle  i'm still getting this issue. is there a temporary workaround?

@edwardfoyle  i'm still getting this issue. is there a temporary workaround?

@kervonryan Sorry, I didn't realize that the above PR was reverted before a release happened. So the fix for this has not been released. The workaround would be to remove the part of the CFN template that @kaustavghosh06 mentioned above.
I'll reopen this untile we can get the fix re-merged and released

@kervonryan Sorry, I didn't realize that the above PR was reverted before a release happened. So the fix for this has not been released. The workaround would be to remove the part of the CFN template that @kaustavghosh06 mentioned above.
I'll reopen this untile we can get the fix re-merged and released

Hello, I'm facing the same issue. Any idea when the fix will be released ?

Hello, I'm facing the same issue. Any idea when the fix will be released ?

The fix for this is merged and this will be a part of our next release!

The fix for this is merged and this will be a part of our next release!


[AIRFLOW-1140] DatabricksSubmitRunOperator should template the "json" field

Dear Airflow maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[x] My PR addresses the following Airflow JIRA issues and references them in the PR title. For example, "[AIRFLOW-XXX] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-XXX

Description

[x] Here are some details about my PR, including screenshots of any UI changes:

For the DatabricksSubmitRunOperator, we'd like to have the JSON parameter be templated.
Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

[x] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Codecov Report

Merging #2255 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #2255   +/-   ##
=======================================
  Coverage   68.88%   68.88%
=======================================
  Files         142      142
  Lines       10927    10927
=======================================
  Hits         7527     7527
  Misses       3400     3400

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 4147d6b...f8c0b19. Read the comment docs.

LGTM. @artwr Could you make a pass?

Looks like it was merged but LGTM +1 for posterity.


Convert to Polymer 3

Converts the client to Polymer 3.
The Polymer components were migrated from legacy HTML to Polymer 3 JS files. The build was updated to no longer use Bower. Instead, the Polymer 3 web component dependencies should now be specified in the package.json.
Note: This PR does not replace Gulp with Webpack (like the Outline Manager) because Gulp is being used to run the Cordova build. It might be a good idea to revisit that at a later time.
Browser

Cordova app (Android)

Electron app (in progress)
TODO: Copy over node_modules

@googlebot I consent.

@googlebot I consent.


When connecting to certain relays, there is a failure in converting to RelayInformationDocument.

Describe
When connected to certain relays,
there is an item in RelayInformation that is not specified in NIP-11 called "id," causing a failure in converting it to Relay.RelayInformationDocument.
Additional context
The relay that is using nostr-rs-relay returns an item called "id" in RelayInformation.
I couldn't determine whether nostr-java or nostr-rs-relay is at fault.
https://github.com/nostr-protocol/nips/blob/master/11.md

Of its not in the nip, then we probably don't have an attribute for it, and it will need to get added.

I am currently adding the optional attribute. Can you please confirm:

The type: String, int, long?
The class name: Relay.RelayInformationDocument?

Thanks.

It looks like a String.For Example wss://relay.snort.social
{
  "id": "wss://relay.snort.social/",
  "name": "Snort Relay",
  "description": "decent nostr relay",
  "pubkey": "63fe6318dc58583cfe16810f86dd09e18bfd76aabc24a0081ce2856f330504ed",
  "contact"<EMAIL_ADDRESS>  "supported_nips": [
    1,
    2,
    9,
    11,
    12,
    15,
    16,
    20,
    22,
    33,
    40,
    42
  ],
  "software": "https://git.sr.ht/~gheartsfield/nostr-rs-relay",
  "version": "0.8.8",
  "limitation": {
    "payment_required": false
  }
}

OK, I have added the missing optional String id and pushed to the branch. Should be fixed now.


8 kHz sampling rate, performance question

Hello,
I am limited by the hardware we have and its samples only at 8KHz.
I have noticed there is a slight reduction in performance compared to my laptop microphone sampled at 16 or 44kHz.
Do you have any numbers on how much that might be?  10-20% less accuracy?
Could I fine tune that sensitivity?
Many thanks

Porcupine is trained to process 16kHz audio. You can upsample 8kHz, but there will be degradation, as you have observed. As to quantifying that, we don't have any benchmarks for 8kHz as the product is not built for that use case.
Please see this related section of the Porcupine FAQ:
https://picovoice.ai/faq/porcupine/#can-i-use-picovoice-software-for-telephony-applications


Custom model

Hello,
I have a custom trained model that started with the yolov5m.yaml configuration. I am lost as to what changes i would need to make to the implementation of the yolomodel. I can provide what ever files anyone needs to help with this.
Thanks

Once your model is in ONNX format, you can use Netron to inspect it and see the input/output.  You use this info to set the values in your inherited model class.
For example, my model has an input that is a float32[1, 3, 640, 640].
That corresponds to the batch size, color depth (I think), height, width
My output is float32[1, 25200, 6].  For this, I am no sure what the '1' is for... but it seems the only number that matters is the last one (6) which is my value for "Dimensions" on the model.  I left everything else as the base model and it worked for me.


Remove unneeded casts

These casts are not needed and can be safely removed

Summary of the Pull Request
Removed casts that did not need to happen because the variable is already the target type.

PR Checklist

[x] Communication: I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected
[X] Tests: Added/updated and all pass
[X] Localization: All end user facing strings can be localized
[X] Dev docs: Added/updated
[x] New binaries: Added on the required places

[x] JSON for signing for new binaries
[x] WXS for installer for new binaries and localization folder
[x] YML for CI pipeline for new test projects
[x] YML for signed pipeline

[X] Documentation updated: If checked, please file a pull request on our docs repo and link it here: #xxx

Detailed Description of the Pull Request / Additional comments

Validation Steps Performed
Tests passed

How are these getting determined unneeded. Trying to see why this hasn’t been done yet

Well, for starters, all casts to object are redundant by definition.

Second, static analysis shows that these casts were superfluous

My feedback is your suggestion changes but not helping explain from a PR stance why.
What tool are you running or is this an existing flag in the build output?
not saying this is a bad thing, trying to understand how these got flagged.
Trust me, I’m all about getting analysis tools built into the pipelines.

@crutkas these were Rosyln (the C# compiler) warnings

@AtariDreams This is larger than casting now.
PRs really need to be scoped

Done!

@crutkas Fixed the PR

These changes were from when changes from different PRs got mixed in.

@cruktas fixed!

my main question of how these are getting flagged is still unanswered.
Is this a warning in the build output?  A screenshot would be massively helpful for helping us cause right now I do not understand why we are removing the casts

Some were found manually. Others were by Roslyn warnings

Once again, I need to understand how we can validate this. We did an aggressive scrub with analyzers a while back and I’m surprised this wasn’t caught as a build warning at a minimum by them

Where are these warnings appear exactly? How can we repro this?

Closing this, as it's not clear why the change is needed. Please re-open if you feel it's still neccessary.


(Fix) Disable Continue button until all assets are saved to MobX storage

Closes #1043

Add observable to check downloadStatus
Refactoring section home and section stepOne to apply observable
Refactoring some constants

Black Duck Security Report
Merging #1063 into 2.0 will not change security risk.
Click here to see full report

Pull Request Test Coverage Report for Build 2718

1 of 12 (8.33%)  changed or added relevant lines in 4 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.007%) to 18.605%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/components/Home/index.js
0
1
0.0%

src/stores/ContractStore.js
0
1
0.0%

src/components/stepOne/index.js
0
9
0.0%

Files with Coverage Reduction
New Missed Lines
%

src/components/stepOne/index.js
1
0.0%

Totals

Change from base Build 2716:
-0.007%

Covered Lines:
745

Relevant Lines:
3357

💛  - Coveralls


Update UGDG and PPP final (not ready to merge)

Pull Request Test Coverage Report for Build 323

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 79.861%

Totals

Change from base Build 322:
0.0%

Covered Lines:
2752

Relevant Lines:
3446

💛  - Coveralls


Pre-Allocated KV-Cache

This is a draft PR to go over a class for KV-Cache Pre-Allocation. It contains an abstract KVCacheUnit class which is implemented as both dynamic and pre-allocated. A few things to consider:

the cache could be implemented using some expandable tensor
still benchmarking

as discussed offline, would like to understand what operation might be expensive that this will optimize, or if this benefits something in compilation. torch.cat itself is pretty cheap relative to the cost of a forward pass.

looks like torch.cat is expensive with large enough inputs.
we also notice that the .clone(memory_format=torch.contiguous_format).detach() is much more expensive than a simple .contiguous(). cc @ani300 for a clearer understanding of the requirement being satisfied with this.
One thought yesterday is that a subclass of tensor that behaved sort of like a java arraylist, preallocating space but not making it visible to the user, would be transparent to the user from an API perspective and only affect performance. Such a tensor class could also be potentially useful outside kv caching.

closing this PR as it is superseded by #85 and #86


Regression in debugger broke setting breakpoints in VS Code PowerShell extension

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
Reproduction steps are in https://github.com/PowerShell/vscode-powershell/issues/4668. The latest preview, preview.4 breaks setting breakpoints in the PowerShell extension for VS Code. I was able to reproduce this with a build from master and then noted it no longer reproduced after reverting the changes introduced by https://github.com/PowerShell/PowerShell/pull/14953.
Expected behavior
The breakpoints set in the extension should actually be set in PowerShell

Actual behavior
The breakpoints are never set (or maybe hit?)

Error details
No response
Environment data
preview.4

Visuals
No response

Can't reproduce on Ubuntu (PowerShell-repo devcontainer), but can on Windows.
@nohwnd @andyleejordan PR replaced a OrdinalIgnoreCase string comparison on script-path with string-key in dictionary.
Works in PS 7.3.6 Windows
> Set-Content file.ps1 "'Hello World'"
# Adding breakpoint with different case
> Set-PSBreakpoint -Script ".\FILE.ps1" -Line 1

  ID Script                      Line Command                     Variable                   Action
  -- ------                      ---- -------                     --------                   ------
   1 FILE.ps1                       1

> .\file.ps1
Hit Line breakpoint on 'C:\Users\Frode\FILE.ps1:1'

At C:\Users\Frode\file.ps1:1 char:1
+ 'Hello World'
+ ~~~~~~~~~~~~~
[DBG]:

Works in PS 7.4.0-preview.4 Windows
> Set-Content file.ps1 "'Hello World'"
# Adding breakpoint with different case
> Set-PSBreakpoint -Script ".\FILE.ps1" -Line 1

  ID Script                      Line Command                     Variable                   Action
  -- ------                      ---- -------                     --------                   ------
   1 FILE.ps1                       1

# Does not trigger
> .\file.ps1
Hello World

# Adding breakpoint with correct case
> Set-PSBreakpoint -Script ".\file.ps1" -Line 1

  ID Script                      Line Command                     Variable                   Action
  -- ------                      ---- -------                     --------                   ------
   2 file.ps1                       1
# Triggers
> .\file.ps1
Entering debug mode. Use h or ? for help.

Hit Line breakpoint on 'C:\Users\Frode\file.ps1:1'

At C:\Users\Frode\file.ps1:1 char:1
+ 'Hello World'
+ ~~~~~~~~~~~~~
[DBG]:

Don't have a Windows dev-machine to build and test, but maybe enough to make it case-insensitive again here?
-_pendingBreakpoints = new ConcurrentDictionary<string, ConcurrentDictionary<int, LineBreakpoint>>();
+_pendingBreakpoints = new ConcurrentDictionary<string, ConcurrentDictionary<int, LineBreakpoint>>(StringComparer.OrdinalIgnoreCase);
_boundBreakpoints = new ConcurrentDictionary<string, Tuple<WeakReference, ConcurrentDictionary<int, LineBreakpoint>>>(StringComparer.OrdinalIgnoreCase);


bpf: lb pmtu discovery support

See commit msg.

test-me-please

test-me-please

test-me-please

(will rebase once ci is through)

(CI green, rebasing)


Add a provider for Edmodo Connect

This PR adds a provider for Edmodo Connect (see https://developers.edmodo.com/edmodo-connect/). It's very simple as it just re-uses the logic from the OAuth2Bearer provider.

@YoranBrondsema this looks great, can you please rebase it into a single commit?

@mixonic Sure, done!


Add JustList: {LGF List}

Checklist

[x] I understand that this is not the place to request a token listing.
[x] I have tested that my JustList is compatible by pasting the URL into the add a list UI at justswap.org.
[x] I understand that filing an issue or adding liquidity does not guarantee addition to the justlists website.

Please provide the following information for your token.
JustList URL must be HTTPS.
JustList URL: https://github.com/Legdndaryfinance/lgf-list.git
JustList Name: LGF list
Link to the official homepage of the JustList manager:https://legendaryfinance.org

Thanks for your application.
Because the Token List addition review is very strict.If timing is a key issue for you,we recommend you join the existing community SUNSWAP list, for example: Tron Alliance List: https://github.com/listtronalliance/tronalliance.
You can submit a new issue at https://github.com/listtronalliance/tronalliance.Don't double submit on this Github
Thanks.

Thanks for your application. Because the Token List addition review is very strict.If timing is a key issue for you,we recommend you join the existing community SUNSWAP list, for example: Tron Alliance List: https://github.com/listtronalliance/tronalliance. You can submit a new issue at https://github.com/listtronalliance/tronalliance. Please don't double submit on this Github Thanks.

Hi jerry,you have telegram account?i need to help.please give me your telegrsm account.


[Epic] Query Pane Redesign

Problem statement
The query pane should follow the new designs themes within Appsmith editor

Moving all issues to #4559  since it's now related to that epic


bug 1421551. Node does not survive upgrade for 2.4.4 ES

Easier version to read of #68 for 2.4.4.  I was unable to cherry-pick straight over
cc @ewolinetz @richm

blocks https://github.com/openshift/origin-aggregated-logging/pull/355

[merge]

merge


error: unexpected element  found in

After adding this plugin I got the following error
error: unexpected element  found in .

Even i am facing the same issue..anybody know how to resolve this..
cordova-android:7.1.0 and cordova version 8.0.0 i s be used

PR #3 fixed this but wasn't released yet. I now released version 1.1.1 which includes the fix.


Documentation for expected property type for input and output annotations is wrong

In Gradle 7.1 documentation the expected property types for input and output annotations needs to be verified.
At least for @SkipWhenEmpty it is not correct.
For that it says File and the footnote explains this as anything that is accepted by Project.file.
But while you can declare a ConfigurableFileCollection as @SkipWhenEmpty just fine, this does not work: project.file(objects.fileCollection()).
I didn't check any of the others, but at least this is not correct and actually more brings confusion while you wonder why you cannot combine @Incremental and @SkipWhenEmpty and try to figure out the exact differences.

@gradle/execution Can you have a look?

@Vampire Thank you for pointing this out. The @SkipWhenEmpty annotation can be added to single files as well as to collection of files. I tried clarifying the problem in https://github.com/gradle/gradle/pull/17642. Can you take a look?


Cancelable send_with_timer

Hi,
It would be very nice to have a way to cancel messages scheduled with send_with_timer.
I also have a question. I need to encrypt the network traffic, do you recommend implementing an adapter for this or just encrypt the content of the messages before sending them?

Hi @balliegojr,
Yeah! it could be a great addition. I think it is easy,  later I will make a PR with this feature.
Regarding encryption, you can do it in both ways with its pros/cons:

Choosing the content to encrypt is probably easier and you could encrypt any transport. But maybe, depending on your encryption, losing a UDP packet, for example, would imply that the receiver could no longer decrypt more messages. Also, some bytes could not be sent encrypted if the transport uses some internal header as FramedTcp that sends the size of the packet for each message.
Choosing the adapter to encrypt inside of it, is probably harder to program but maybe for your needs, you have more control. Also, your encryption state can be easily stored along with the connection, making transparent its usage from the message-io API. (and ever you could do a PR in the future if you want to make public that adapter 😄 ).

Done in https://github.com/lemunozm/message-io/pull/115

Hi @lemunozm,
Wow, that was fast!.
Thank you very much
I will see what to do regarding the encryption thing... still not decided yet


Version 1.1 update

This PR is by World_Languages and joker314.

[x] Redirects to blog after installation
[x] Does not redirect after that
[x] Easter egg works
[x] Crown works in your profile and other's
[x] Can select your status
[x] If you have two tabs open, and you change your status on one, it changes on the other
[x] Even when you are offline, you should be able to see other people's statuses

✅ All tests have passed. This Pull Request is ready to be merged.


Misc updates for Limine 5.x and Zealbooter

Tested the branch locally-- The result BIOS/UEFI isohybrid does not boot the OS in QEMU or Virtualbox, triple-faults after the Limine boot option is selected. Setting TESTING true in build-iso.sh and trying the boot options results in neither UEFI or BIOS mode limine booting working. There does not appear to be any errors logged in the build process. https://pastebin.com/wrE5Fcqy

You're right. I checked if it built, and it seemed to be fine, but I did not realise that the build script never ran the Limine version.
It's likely caused by attempts to use the Limine terminal. Would you prefer integrating Flanterm or some alternative or just dropping logging to screen altogether?

Tested locally, working great! Installing Limine bootloader to HDD from within ZealOS working great, thanks for updating to the latest Limine release


动静态图实现分隔

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.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

已实现同一套代码切换


⚠ Bofrost.at has degraded performance

In 83c4312, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1745 ms

Resolved: Bofrost.at performance has improved in af4de01 after 20 minutes.


Missing builds for elvis.mk

after version 0.2.6 the elvis and elvis.config are missing from the releases.
it would be great if you would provide them in the release process.

Fixed.


Union types

Currently Dart does not support function overloads based on parameter type and this makes it verbose/awkward to clone/wrap Javascript APIs which accept multiple types.
For example, WebSocket.send() can accept a String, a Blob or an ArrayBuffer.
In Dart, this can either be exposed as:
WebSocket.sendString, sendBlob, sendArrayBuffer which is verbose
or:
WebSocket.send(Dynamic data), which is no longer a self-documenting API.
It would be great to have some variant of union types, along the lines of JSDoc:
WebSocket.send(String|Blob|ArrayBuffer data);

Isn't this relevant for the non-nullable proposal? Ceylon does this really nice thing where null es of type Null, so a nullable String is declared as String? which I believe is short hand for the union String | Null.

I find it somewhat strange that this is not higher on the priority list of the dart team. This feature really seems like an essential to me, that should have been in dart 1.0.

@cgarciae was thinking the same thing myself, union types seem like more bang for the buck.  Maybe file a bug against the nullable types DEP?

According to discussion in https://github.com/dart-lang/sdk/issues/20906 union types were (are?) implemented in the old Dart Editor behind a flag. As far as I understand it, they were being inferred by the editor and used for hints and (possibly) code completion. There was not a syntax to declare a value as having an union type, though, which is useful for documentation purposes and it is what this bug is about.

I think a great example of a union type use case is JSON:
JSON = Null | bool | num | String | List<JSON> | Map<String, JSON>

Ah, a recursive union type. No need to make things simple, eh? :)
I think that might just be too "wide" a union to actually be useful. To actually use the type, you have to check against almost every type anyway:
if (x == null) {
  ...
} else if (x is bool) {
  ...
} else if (x is nun)  {
...
} else if (x is String) {
...
} else if (x is List) {  // This should be enough to deduce that x is List<JSON>?
...
} else {  // Here you don't have to write (x is Map), that can be inferred.
...
}

That does expose an advantage to having the union type. I think we should be smart enough to know when an imprecise type test still only allows one type of the union, so:
JSON x = ..;
 if (x is List) {  .. x is known to be List<JSON> here ... }

We can't do that with the current dynamic.
For smaller unions like A = B | C, a negative B test is as good as a positive C test. Classical example:
var result = f(value);  // Inferred type (S|Future<S>).
if (result is Future) {
  // It's Future<S>
} else {
  // It's S.
}

Maybe we can even be cleverer:
var x = something();   // type (List<int>|Set<int>|Map<int,int>).
if (x is Iterable) {
   // x has type (List<int>|Set<int>|(Map<int,int>&Iterable<int>)), not just Iterable<int>.
   if (x.contains(42)) print("Huzzah!");  // valid, all three types expose Iterable.contains.
} else {
   // x has type Map<int,int> - the List and Set parts could not refute the is test.
   if (x.containsKey(42)) print("Yowzer!");
}

If we have union types, I want this program to be warning free! :)
It might not be as simple as it looks, though :(
I'm really doing Boolean algebra on types. A type test creates an intersection of types:
T1 x = ...l
if (x is T2) {
  // we know x is (T1&T2).
}

If T2 is a subtype of T1 then the result is just T2. That's what we currently support.
If T1 is a subtype of T2, the test is a tautolgy and you don't get any smarter. the result is still T1.
If T1 and T2 are unrelated, then you just get an intersection type. That may be an empty type, and you can't generally use it for anything.
Now, if T1 is a union type S1|S2, doing intersection should give us (S1|S2)&T2 which should be equivalent to (S1&T1)|(S2&T1).
The problem is that a positive is test can't refute any type because it's generally possible to implement any two interfaces on the same object. The negative test can refute something - if you are a Map, List or Set, then knowing that you are not an Iterable definitely precludes being a List or Set.
The possibilities are endless :)

If we had union types, Flutter APIs that deal with text get much nicer.
Instead of this: title: new Text('Example title') I could do: title: 'Example title' because we could annotate title named parameter has taking either String or Text.

Another case that might be helped by Union Types:
new Padding(
  padding: new EdgeInsets.all(8.0),
  child: const Card(child: const Text('Hello World!')),
)

Could be:
new Padding(
  padding: 8.0,
  child: const Card(child: 'Hello World!'),
)

So is this still being considered? Dart is a great language, but this is one huge thing that it's missing.

Watch https://www.youtube.com/watch?v=9FA3brRCz2Q and pay attention to FutureOr and whereType. These problems are just begging for union types. Additionally union types are a good way of dealing with null safety.

I've come from 3 years of TypeScript development over to Dart via Flutter. Many things I like about Dart, some things I don't like so much but can deal with. The lack of discriminated union types and non-nullable types are really loathsome. For this reason I much prefer using TypeScript. My code is shorter, more type-safe and more self-documenting. If these features make it to Dart I'd feel so much more comfortable with Flutter.

pay attention to FutureOr and whereType. These problems are just begging for union types

Well, FutureOr has been described many times as a way to check out union types "in a sandbox". However, union types and intersection types in their general forms probably cannot be separated, and there's a huge difference between recursive union types and non-recursive ones, so it's definitely a non-trivial step to leave the sandbox (and it's safe to say that this step is not guaranteed to be taken).

I'm interested in support for algebraic data types, similar to Swift's "enum with associated values" or kotlin's sealed class. Is this the right issue for that type of support? Or should I file a separate issue?

An algebraic data type (say, SML style) could be characterized as a tagged union, but union types as discussed here are untagged. So with the algebraic datatype Data = Int of int | Char of char; you'd need to unwrap a given Data to get to the int resp. char that it contains, but with a union type you'd just have an int or a char at hand already, with no wrapping. This matters in a lot of ways, so I'd consider algebraic data types to be a different topic.
However, since OO objects carry their own (type) tags already, you could claim that we don't want the wrapping, we just want to establish a guarantee that a given type T is sealed (i.e., that T has a finite and statically known set of subtypes, e.g., because they must all be declared in "this file" or something like that). You could then write code that recognizes each of the subtypes of T and does different things with them, similar to pattern matching code with an SML style datatype. I'd think that this would be yet another topic: 'Sealed classes'.  ;-)
(The reason why I don't think it's just the same topic as algebraic data types in disguise is that sealed classes can be used for other purposes as well, e.g., making sure that we can reason about all implementations of a given method, because we know every one of them statically.)

Honestly I'd be happy with just the when keyword from Kotlin to simplify if elseif elseif else

That should certainly be a separate issue (and I don't think we have an existing issue which covers that request).

Created https://github.com/dart-lang/sdk/issues/33079 to cover ADTs

For the improved static checking that union types would give us, it might be useful to take a smaller step in the shape of a lint. See https://github.com/dart-lang/linter/issues/1036 for a request in this direction.

Following.

tl;dr Read the bold text rd;lt
@wkornewald, thanks for a nice description of a notion of union types!
I do think it's worth pointing out a specific distinction:

| for constructing unions [plus properties: can combine types .. from different
modules, A|C <: A|B|C, nullable T is simply T|Null)

These are properties that I'd expect from any proposal about union types, and you should be safe assuming that you'd get them.
However, sealed is a different mechanism with a different set of properties and purposes: It's associated with a specific subgraph S of the type hierarchy, presumably declared in a single library L, and it prevents S from being extended by declaring new subtypes of anything in S anywhere outside L. So if you want to use sealed to emulate union types it's going to be a really weak and restricted emulation.
However, union types won't ever allow the compiler to know that any constraints apply to a specific subgraph of the subtype relation, so union types will never serve to improve the opportunities for inlining and other optimizations that may only be valid if you can establish a (modular!) compile-time guarantee that every possible implementation of a given method is known. Similarly, if a human being or proof system is reasoning about the behavior of a certain interface it may be very helpful to know every possible implementation of the methods under scrutiny. Union types are not just weak when it comes to establishing completeness guarantees ("we've seen them all") which are known at the declaration of a type, they're irrelevant.
You mentioned one more property, and if I understood it correctly then it's actually just one more example of a difference between a sealed set of classes and a union type:

you can define functions that expect just one variant/case instead of the whole union/enum

If you have the sealed set A, B, C with the relations B <: A and C <: A then we can emulate the unions A|B|C, B, and C, but not A,  A|B, A|C, nor B|C. So you don't have to restrict yourself to just the whole sealed set (A|B|C), but you also won't get all subsets. And this just reconfirms that sealedness is not unions.
So we shouldn't consider union types and sealedness as alternatives, they are simply different.
That said, I think your examples provide a nice illustration of how several independent mechanisms can interact constructively (value classes, class declaration sugar, pattern matching). That's an important motivation when each one of them is considered.

Lets take an example, File | Directory.
Often times I dont really know what's so common about the two types I want to be possible as a param, I may not want or view them as common at all. I just happen to want X | Y here. Why should I be required to make a Z? Figuring out what Z could be called is often not trivial, just look at the above.

I mean think about that, I never even had a Z in mind at all. That's a future optimization. In my mind this is a boolean: X or Y. Suddenly the language requires me to step completely out of my thoughts and reason about yet another thing, namely Z that I don't even need yet or maybe never.

Simply adding the union keyword to the language would make this clear (and less verbose than all the | ones)
// this can be scoped inside a class, kept private by amending the _ if needed
union websocketInput { String, Blob, ArrayBuffer }

@mathieudevos Adding to what @jeroen-meijer said: The | syntax allows for simple ad-hoc unions:
bool isAllowed(String | int x) { ...}

With explicit union this becomes unnecessarily verbose and requires defining an extra type:
union AllowedTypes { String, int }
bool isAllowed(AllowedTypes x) {...}

This gets worse quickly if you have many different small unions in your code which all must be given a meaningful name (you surely know how difficult that can sometimes be and how it breaks the train of thought). Also, this would have to be taken into account for autocomplete because a name like AllowedTypes is not helpful when you have to jump to definition for each union to see what is allowed. Even if autocomplete shows the underlying types of the union (which it should, even for the typedef + | solution) you still get to read the name of the union in cases where it doesn't add any value, so the code just appears more complicated than it has to be.

@eernstg I still owe you a reply after this long time. :( Unfortunately, the new discussion came up on a different issue, so I'll just link to it and maybe we can continue discussing there (or here if you prefer): https://github.com/dart-lang/language/issues/83#issuecomment-531315843

Hopefully this becomes a thing, so this wouldn't just be used as documentation on the intended usage.

Is this language still being developed?
Still waiting for options and union types for years now. Like major language features.
As of now, we can't parse our banking API since they return false|object on many items.
🙈

@ollydixon https://github.com/dart-lang/language/projects/1

Hopefully this becomes a thing, so this wouldn't just be used as documentation on the intended usage.

The exact problem i found today, this must be part of the language

@ollydixon You can use dynamic instead and document the return types. Union types are surely not a necessary language feature for functionality.

@creativecreatorormaybenot might as well write JS or Python and introduce thousands of bugs.

@creativecreatorormaybenot that shouldn't be a solution lol - being able to type check at compile time is much more welcomed.

@creativecreatorormaybenot  Nothing is that necessary if your attitude is that everything can be "fixed" with a mountain of boilerplate. May as well go back to assembler.

just a suggestion.
I try to use Object instead of dynamic whenever I can.
Using dynamic you can call a non existent method and have a runtime exception.
Using Object you must cast it to something before calling a method or property.
And with extension methods you can easily and securely cast stuff.
It works even on null as in the example below:
extension UtilExtensions on Object {
  Map<String, Object> get asPair {
    assert(this is! Future);

    if (this != null && this is Map) {
      if (this is Map<String, Object>) {
        return this as Map<String, Object>;
      }

      return (this as Map).cast<String, Object>();
    }

    return null;
  }
}

void main() async {
  Object a;

  print(a.asPair); // prints null and no exception is thrown

  var b = {};

  print(b.runtimeType); // JsLinkedHashMap<dynamic, dynamic>
  print(b.asPair); // {}
  print(b.asPair.runtimeType); // CastMap<dynamic, dynamic, String, Object>
}

I wanted to point out that union types can be worked around currently in Dart and not that union types are not useful.
This means that Dart currently supports a (bad) way to work with union types and that this means that you can build your product in Dart today.

@creativecreatorormaybenot this isn't a thread about workarounds. This shouldn't be a thing and that's all there is to it: https://github.com/dart-lang/sdk/issues/4938#issuecomment-573634221 - you shouldn't need to look at the sdk source to understand the intended use of parameter.

You don't need to look into the sources, it's in the documentation:

A value in the map must be either a string, or an [Iterable] of strings, where the latter corresponds to multiple values for the same key.

Union types can be super expressive (I know them mainly from Python), but it's something that mainstream programming languages lived without for decades, so I understand there isn't much urgency in implementing this. (Why don't we yet have independently developed linter that would interpret comments such as the one in the sdk and typecheck on it? As I say, lack of urgency for this feature, on all involved parties in this discussion.)
Discussions of workarounds certainly belong to issue threads, I have no complaints about that. It's not exactly the sort of updates I am looking forward to here, though :P

but it's something that mainstream programming languages lived without for decades, so I understand there isn't much urgency in implementing this.

With a minute of Google I found an implementation in a algol from 968 :laughing: Hm, radical enhancements have been made even in the last decade, any language that ignores such things will be left behind. Dart and Go are so conservative, I get that a lot of people like this. To me it's kinda boring. I'd like to see a language where you can plug in syntax and semantic extensions through configuration. That would probably give Google nightmares 😂

@jiridanek I completely agree, actually, a linter is all we really need for things like optionals (or non-nullable as the dart team calls it)
Regarding the reason for Union types.
Sometimes they can also work like optionals ("?") with Model|null (Although optionals is coming https://github.com/dart-lang/language/projects/1)
When working with APIs sometimes objects can return different data types. For example, the last banking app we made had an API with properties that returned false|Model2|Model1 on a single property.
Really, most errors we are seeing across our 36 commercial Flutter Apps come from not being able to define optionals and union types on model definitions.
In the professional world being able to define models accurately is a must. It's one of the main ways to avoid unnecessary bugs.

That false|Model1|Model2 return value would be considered a "bad API design" in languages with static typing but without union type support. Even with that is available, the result can be hard to follow. There isn't a natural name for the union (this was discussed in prior comments), so when you think of the subsequent program execution, you have to always think about each of these eventualities separately. The types are not helping you reason about the program that much. Union types don't look to be on the horizont and I won't write my own linter for this, so I'd personally avoid writing such methods, to benefit from the type system I do have already.
The situation with optionals and union types for method arguments is different in my mind. Optionals as return types do work well in practice, and union types for arguments are essentially method overloading in Java, except without having to write extra method for each combination of types. I do miss union types a lot here.

This would make a lot of sense to increase the soundness of Dart. I still find myself resorting to dynamic too much.

Yeah Union types and iterable object would make the dart flauless.

@jiridanek yes I agree it's bad API design but in the real world sometimes you don't have a choice.

but it's something that mainstream programming languages lived without for decades, so I understand there isn't much urgency in implementing this.

With a minute of Google I found an implementation in Algol from 1968 😆 Hm, radical enhancements have been made even in the last decade, any language that ignores such things will be left behind. Dart and Go are so conservative, I get that a lot of people like this. To me it's kinda boring. I'd like to see a language where you can plug in syntax and semantic extensions through configuration. That would probably give Google nightmares 😂

Rarely are languages "left behind" on their own merit. A language is nothing without use-cases. If developing the Dart SDK and Flutter do not need these features, then Dart will not have these features.
Based on your preference as stated, I'd suggest Javascript.

As someone new to Dart and Flutter coming from Typescript and React Native this confused me right off the bat! I just wanted to type a Map<String, String | bool> but found unions missing from the language.
It seems really odd to me that this basic feature is missing from the language. There are (IMO) plenty of extremely common use cases for it. Most commonly as was pointed out previously, JSON as typedef JSON = Null | bool | num | String | List<JSON> | Map<String, JSON>. All sorts of domain specific types will require unions, especially when you have to model an externally imposed type that you don't have control over.
So what are the workarounds? Just use dynamic and manually check for correct types at runtime? That isn't a very good one as it loses type safety at design time for anything that interacts with this interface... Are there any good workarounds? Is there a consensus on and strong reason for why this seemingly common feature is not part of the language?

@AndrewMorsillo was opened 2012, September; don't hold your breath on seeing this :-|

So what are the workarounds? Just use dynamic and manually check for correct types at runtime? (...) Are there any good workarounds? (...)

The common approach in the Dart/Flutter community in 2020 (that I personally see often) is to either use some code-generation libraries to generate union types e.g. freezed or use library like sealed_unions or union.
Example union class in freezed:
@freezed
abstract class Union with _$Union {
  const factory Union(int value) = Data;
  const factory Union.loading() = Loading;
  const factory Union.error([String message]) = ErrorDetails;
}

This of course isn't so nice as native support for unions, but gives you a lot of freedom in domain modeling and provides type safety.

What @orestesgaolin says.
Object oriented languages rarely need union types because an interface is a union type.
When you want to do a union over unrelated types, you can just make a wrapper hierarchy, and expose whatever common behavior your objects have directly as an interface (even if it's only detecting which type it is).
If we had traits or interface injection, you could make that even easier.
What's holding people back is not lack of power, but lack of convenience. We don't want to have to write the wrapper - not the declaration (which is mostly boilerplate), and not the wrapping at the use-site, which is inconvenient to work with and easy to forget for users of an API because it's only there for technical reasons, not conceptual.
The typical example is JSON. The mistake here was to parse JSON into plain objects. If we had parsed JSON into a JsonObject which was either a JsonValue<T> (T being int, double, bool, String or Null) or a JsonList or JsonMap, where each object had some convenience signature, and where the values exposed by JsonList and JsonMap were again JsonObjects, then you wouldn't need the union type.
Using the untyped parsed JSON structure directly is the real problem here, not that the language can't type it.
There are obviously other examples too, mainly around interop with JavaScript, where an underlying union-type leaks through.
Or where we have designed an API during the Dart 1 days to, say, take either an InternetAddress or a String, for convenience.
Again, a wrapper class could work, and again it's too inconvenient in practice, or too inconvenient a breaking change to be a priority to change. If the types of the union are otherwise unrelated, the wrapper won't have any useful functionality anyway.
So, solutions to needing multiple disjoint types in the same place could be:

Union types
Interface injection/traits.
Convenient union-wrappers with automatic coercion.

Pure union types is probably the most complex solution, with the most far-reaching effect on the type system.


Is the +1u for string types correct?

i.e. this one: https://github.com/cyberguijarro/minibson/blob/82bc160b824ade110171f7410fd433df8df94060/microbson.hpp#L97
There's an extra byte for binary blobs, to identify the subtype, but I don't think strings have one as, to quote the spec: "String - The int32 is the number bytes in the (byte*) + 1 (for the trailing '\x00').", i.e. the complete length of the string data is included in the 4-byte value. No extra bytes.

Hi Thomas,
According to the BSON spec, “binary” entries don’t have a null terminator, but do have a “subtype” 1-byte field. I believe the “+1” in the binary case accounts for that:
string	::=	int32 (byte*) "\x00"
binary	::=	int32 subtype (byte*)
Best regards,
Emilio.

On 24 May 2020, at 04:45, Thomas Harte<EMAIL_ADDRESS>wrote:
i.e. this one: https://github.com/cyberguijarro/minibson/blob/82bc160b824ade110171f7410fd433df8df94060/microbson.hpp#L97 https://github.com/cyberguijarro/minibson/blob/82bc160b824ade110171f7410fd433df8df94060/microbson.hpp#L97
There's an extra byte for binary blobs, to identify the subtype, but I don't think strings have one as, to quote the spec: "String - The int32 is the number bytes in the (byte*) + 1 (for the trailing '\x00').", i.e. the complete length of the string data is included in the 4-byte value. No extra bytes.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/cyberguijarro/minibson/issues/8, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAFJ4IFL2QJB6SLFO7JUTLRTCC4JANCNFSM4NIWMPCA.

Yes — think the +1u is correct for binary types, but incorrect for string types. microbson uses the same logic for both.

Oh, actually I can see that #6 appears to say the same thing. So I'll let you review that, and close this — you definitely don't need to know about this twice.

Now I see what you mean, I just fixed it by merging #6.
Thanks!

On 26 May 2020, at 02:08, Thomas Harte<EMAIL_ADDRESS>wrote:
Oh, actually I can see that #6 https://github.com/cyberguijarro/minibson/pull/6 appears to say the same thing. So I'll let you review that, and close this — you definitely don't need to know about this twice.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/cyberguijarro/minibson/issues/8#issuecomment-633747950, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAFJ4OP4ILMPV2R2IQT3TLRTMCARANCNFSM4NIWMPCA.


Handling Multiple Server Subclasses under one Listener

With the advertisement and expected behavior of the API being able to handle multiple servers, I don't believe there is any direct support for handling different GameServer/Player subclasses. Currently, we template the ServerListener with the subclass we want, and if we make another GameServer/Player subclass pair, it seems the only way would be to create another ServerListener.
I don't know what the alternative is, but this seems unoptimal. Perhaps we can delegate the subclass we want in the GameServerConnected/Reconnected callbacks (this is probably not possible since it's essentially a downcast)? I'm not sure of the magic involved for this, but it would be nice, unless there's another alternative I'm not aware of.

(this is probably not possible since it's essentially a downcast)?

That’s what virtuals and interfaces are for.
Ultimately I think the API is better as a single tenant system—individuals and groups can then build stuff on top that works best for them. Creating a one-thing-fits-all is extremely difficult, especially when it comes to game modding.
That way, developers and communities can converge on the designs that work best for them—instead of being forced into something that may be an awkward or less than ideal design for their use case.

That’s what virtuals and interfaces are for.

C# is not my area but still, in the api's current design, there is no way that I can see that allows me to change the server callbacks at runtime. A solution would perhaps be allowing us to define and choose our interface on the go as game servers connect, but I digress.

Ultimately I think the API is better as a single tenant system—individuals and groups can then build stuff on top that works best for them. Creating a one-thing-fits-all is extremely difficult, especially when it comes to game modding.\n\nThat way, developers and communities can converge on the designs that work best for them—instead of being forced into something that may be an awkward or less than ideal design for their use case.

Good point. I agree this would complicate things. I was under the impression this was intended for this, but theres no reason why I can't implement this design myself.

Closing


Does this project support domin fronting

This project is really awesome!!
And i wanna further know whether it support domain fronting technique by adding host header.
Thanks!

Thanks for your feedback, we're glad to hear you like resocks. This technique does not apply to resocks because it does not use HTTPS, only TLS. Fortunately, it does not include the target domain in the TLS SNI. Instead, the public key derived from the connection key is used as SNI.

Oh I get it now~
Frankly speaking, i wanna try this in CDN scene (in order to prevent ip-banned from some firewall strategies) and I will appreciate you if you give me some guidance on how to deploy in this particular scene!
Thanks!

Unless you find a CDN that allows you to pass a TLS connection as-is without interception to your IP-banned server I don't think this is possible.


Android - Wrong image sizes after orientation change in listView

Because a screen cast says it all: https://streamable.com/8fswg
Any way to fix this? I really want images to maintain their FILL / 100% width.
Thanks!

@hansemannn it works correctly for me on iOS (it already resize on frameSizeChanged) https://streamable.com/5dggu.
Could you confirm that?
I tried with the example app.js commited inside both android and ios module directory.
On Android the issue exists.

@AndreaVitale You are right, this is an Android only issue!

@skoften could please refer to my answer in #63 and test the new module version?
It is fixed for me.

Sorry for the late response, but hereby confirmed this issue is fixed in version 4.0.0, thanks!


File upload doesn't work with inputs with a required attribute

Are you requesting a feature or reporting a bug?
A bug
What is the current behavior?
Forms with the file upload fields that have a required attribute do not pass HTML5 built-in validation on submit after the upload field has been populated using setFilesToUpload method.
What is the expected behavior?
The form with a required filed upload field should be able to be submitted.
How would you reproduce the current behavior (if this is a bug)?

Create a simple page:

<html>
<body>
	<form>
		<input type="file" id="file-upload" required>
		<button id="submit-button">Submit</button>
	</form>
</body>
</html>

Create a sample test file for upload.
Run the test code (see below).
Observe a validation message appears on form submission.

Provide the test code and the tested page URL (if applicable)
Test code:
import { Selector } from 'testcafe';

fixture('File upload')
    .page('http://example.com/test.html');

test('it uploads a file', async (t) => {
    const fileUpload = Selector('input#file-upload');
    const button = Selector('button#submit-button');

    await t
        .setFilesToUpload(fileUpload, 'upload.pdf')
        .click(button)
        .wait(5000);
});

Specify your

operating system: Windows 10
testcafe version: 0.20.3
node.js version: 8.11.2 & 10.4.0

Hi @artykr,
I've reproduced and created the separate issue in our proxy repository.


Revert "remove randomness from two_qubit_decompose"

Reverts Qiskit/qiskit-terra#3585
Recent PRs are failing due to this merge.

The solution to that is https://github.com/Qiskit/qiskit-terra/pull/3586

Changing tests is not a fix. The algorithm is failing on some instances of input. Those instances should be captured and made into new test cases, not simply dismissed.
Before #3585 we were not getting these failures, so makes me think the failures come from the change to the algorithm itself.

Changing tests is not a fix. The algorithm is failing on some instances of input. Those instances should be captured and made into new test cases, not simply dismissed.

You are right, I agree. #3586 will give us those instances.

Before #3585 we were not getting these failures,...

Just by chance... We need to move to a more deterministic testing. Now it is possible to see which are the failing cases, but the solution is not reverting #3585 either.

Just by chance... We need to move to a more deterministic testing.

No we don't, and this is the reason. Deterministic tests will mask these failures, which is why I insisted on implementing randomized tests in test/randomized.
The randomized algorithm for two_qubit_decompose has been on master for 8 months, and I don't recall a single instance of failure like the ones we are seeing now. So either we have been extremely lucky, or the algorithmic change implemented in #3585 is not correct. To reiterate what @levbishop said in #3585:

The tests are fairly complete and if it passes the tests it's probably ok

Now we are seeing it does not pass the tests. Therefore I'd like to revert this until we have a better understanding of how to make the algorithm more robust. I don't want to just keep ploughing through with making everything deterministic and pretend we have solved the underlying problem.

No we don't, and this is the reason. Deterministic tests will mask these failures, which is why I insisted on implementing randomized tests in test/randomized.

Yes. And I move them to  test/randomized. The merge blocking tests should be deterministic.
I will work in a better two_qubit_decompose while waiting for @chriseclectic approval of this one.

I think https://github.com/Qiskit/qiskit-terra/pull/3653 it's a better alternative to this PR.

The randomized algorithm for two_qubit_decompose has been on master for 8 months, and I don't recall a single instance of failure like the ones we are seeing now.

There were some instances in the last 30 days (it's true that none of the is in master):

However, the output and info of most of those failed tested is lost, making it hard to understand why they failed. Having test/randomized is key to capture these instances. I'm all with you about that.

I think its safe to revert for now, and then we can move forward with #3653 .

@1ucian0 that's cool I didn't know you can get a history of failures for a testcase.