Even though this app directly uses the #nearshare implementation built into Windows, it allows discovering LAN devices, so you can finally transfer data to Windows devices without Bluetooth / WiFi or MacOS machines using the cli ๐ฅณ
github.com/nearby-shari...
Posts by Lukas Kurz
Screenshot showing a simple UWP appliaction with three main actions: "Send file", "Send Clipboard" and "Send Text". Below is a button linking to the windows settings app.
The #nearshare app family is joined by a new utility app for #Windows. Besides the native share menu in Windows, you can now use this app to quickly share your clipboard, some plain text or arbitrary data via drag'n'drop!
apps.microsoft.com/detail/9NL0J...
#UWP #dotnet
Home screen (now a AndroidX Fragment) of the nearbysharing app for android
Settings screen (now a AndroidX Fragment) of the nearby sharing app fro android
Currently working on moving the #nearshare #android app from activities to fragments and navigation apis.
Uuh, nice!
I was looking for a modern-looking tui library to create some management tools for my server.
I especially liked the design of these go libraries (haven't used them though)
charm.land
I just noticed that some well-known #windows #firewall rules were gone which caused some issues in local-network stuff including #nearshare.
Resetting the firewall rules did the trick for me.
This is now part of the #nearshare setup docs:
nearshare.shortdev.de/setup/
Code snippet showing a single c# source-file that serves a "Hello World" json.
#dotnet "nano" api: A simple api handler written in #csharp that can be deployed to #vercel alongside your #nuxt (etc) app using .NET 10 "run app.cs" and NativeAOT.
(The usings could go away using GlobalUsings via a nuget package)
Last thing to do: Guess some names based on the values and we're done!
```
struct SendDataProgress {
NearShareStatus Status;
UInt64 TotalBytes;
UInt64 SentBytes;
UInt32 TotalFiles;
UInt32 SentFiles;
};
```
Voila:
```
pinterface({b5d036d7-e297-498f-ba60-0289e76e23dd};enum(NearShareStatus;i4);struct(SendDataProgress;enum(NearShareStatus;i4);u8;u8;u4;u4))
```
Because the iid of a generic interface in the #WinRT type-system is the uuid5 of it's signature, we can brute-force the layout of `SendDataProgress` by matching against the known iid (40772286-cf1a-5cbd-9d74-4137587691d5).
Based on the published debugging-symbols, we know that `ShareDataWithProgressAsync` returns an instance of `IAsyncOperationWithProgress<NearShareStatus, SendDataProgress>`.
`NearShareStatus` is a simple enum, but `SendDataProgress` is a struct with unknown layout.
The logic for Nearby Sharing on Windows is implemented in `cdprt.dll` and can be called via `ShareSenderBroker.ShareDataWithProgressAsync`.
Sadly, this method is not documented so we have to use some reverse-engineering magic to use this api.
Working on a small util app for #nearshare on #Windows to simplify the usage of Nearby Sharing on Windows (e.g. send files from your clipboard, drag'n'drop, etc).
It's a #WinUI 3 app on #UWP.
github.com/nearby-shari...
#dotnet
Fortunately the #nearshare beacon format is not on the default deny list!
cs.android.com/android/plat...
I just tried the `neverForLocation` #android permission flag for the `BLUETOOTH_SCAN` permission so I don't have to request location permissions anymore.
Sadly the documentation is not very clear on which beacons will be filtered out...
Nearby Sharing android app using a modal SideSheet dialog
Nearby Sharing android app using a detached modal SideSheet dialog
Time to work on the UI of #nearshare again โจ
I'm thinking of replacing the `BottomSheet` with a `SideSheet`.
This would give more screen space but still be a modal dialog.
What do you think?
Do you like the (1) normal or (2) detached style more?
#dotnet #android #airdrop
All apps using the Windows.Gaming.Input namespace will search the registry for mappings and detect the Stadia Controller.
Do you want to use your #Google #Stadia controller with your #windows #gamepass and #uwp apps?
No problem: Just install this simple registry patch:
github.com/ShortDevelop...
By generating the layout with code like that has the benefit of .NET hotreload.
0.5s hotreload vs 30s rebuild is not too bad ๐
Still not Jetpack Compose though...
Csharp code snippet from an AppCompatActivity. Only the call to SetContentView is visible. Instead of specifying a resource id, the layout is generated by code while abusing some syntactic features in csharp.
Can't wait for extension indexers in #csharp!
This would finally remove the boilerplate parentheses from my #android layout...
Imagine you could write a native #windows #winui app in pure #typescript with simple tooling and no big setup.
Would you like to do so?