Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ BundleArtifacts/
*.pvk
*.snk
*.wapproj.user
Package.StoreAssociation.xml

# Legacy Flutter generated folders kept out of the WinUI migration branch
linux/flutter/ephemeral/
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Openza Flow is a Windows-native GitHub work dashboard built with WinUI 3. It keeps review requests, created pull requests, recent releases, workflow runs, and organization filters in one focused desktop app.

V1 is Windows-first and pre-release while Microsoft Store packaging is prepared. The earlier Flutter implementation is preserved in the `legacy/flutter` branch and `legacy-flutter-v0.2.0` tag for historical context, but the active app in this repository is now the WinUI 3 version.
V1 is Windows-first and packaged for distribution through the Microsoft Store. The earlier Flutter implementation is preserved in the `legacy/flutter` branch and `legacy-flutter-v0.2.0` tag for historical context, but the active app in this repository is now the WinUI 3 version.

## Features

Expand Down Expand Up @@ -37,7 +37,7 @@ For local packaged debugging in Visual Studio, set the startup project to `Openz

## Store Packaging

The package identity target is `Openza.OpenzaFlow`. Store association, publisher identity, signing, and `.msixupload` creation will be done from Visual Studio using the Microsoft Store packaging wizard before public Store release.
The release package is associated with the Microsoft Store identity `Openza.OpenzaFlow`. Release builds use the Store identity and publisher, while Debug builds use the separate `Openza.OpenzaFlow.Dev` identity for local development. Create signed `.msixupload` submissions from Visual Studio using the Microsoft Store packaging wizard.

Do not commit generated packages, certificates, `.msixupload` files, Visual Studio user files, or Partner Center private data.

Expand Down
Binary file modified src/Openza.Flow/Assets/Square150x150Logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/Openza.Flow/Assets/Square44x44Logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/Openza.Flow/Assets/Square44x44Logo.targetsize-48.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/Openza.Flow/Assets/StoreLogo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/Openza.Flow/Assets/Wide310x150Logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
28 changes: 14 additions & 14 deletions src/Openza.Flow/Controls/PullRequestRowControl.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Border
Padding="{x:Bind RowPadding, Mode=OneWay}"
Padding="{x:Bind RowPadding, Mode=OneTime}"
Background="{ThemeResource LayerFillColorDefaultBrush}"
BorderBrush="{ThemeResource CardStrokeColorDefaultBrush}"
BorderThickness="0,0,0,1"
Expand All @@ -17,10 +17,10 @@
</Grid.ColumnDefinitions>

<Button
MinWidth="{x:Bind NumberButtonMinWidth, Mode=OneWay}"
Height="{x:Bind NumberButtonHeight, Mode=OneWay}"
Margin="{x:Bind NumberButtonMargin, Mode=OneWay}"
Padding="{x:Bind NumberButtonPadding, Mode=OneWay}"
MinWidth="{x:Bind NumberButtonMinWidth, Mode=OneTime}"
Height="{x:Bind NumberButtonHeight, Mode=OneTime}"
Margin="{x:Bind NumberButtonMargin, Mode=OneTime}"
Padding="{x:Bind NumberButtonPadding, Mode=OneTime}"
VerticalAlignment="Top"
Background="#f6f8fa"
BorderBrush="#d0d7de"
Expand All @@ -32,25 +32,25 @@
<TextBlock
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontSize="{x:Bind NumberTextFontSize, Mode=OneWay}"
FontSize="{x:Bind NumberTextFontSize, Mode=OneTime}"
FontWeight="SemiBold"
Foreground="#0969da"
Text="{Binding DisplayNumber}" />
</Button>

<StackPanel Grid.Column="1" Spacing="{x:Bind ContentSpacing, Mode=OneWay}">
<StackPanel Grid.Column="1" Spacing="{x:Bind ContentSpacing, Mode=OneTime}">
<TextBlock
FontSize="{x:Bind TitleFontSize, Mode=OneWay}"
FontSize="{x:Bind TitleFontSize, Mode=OneTime}"
FontWeight="SemiBold"
MaxLines="{x:Bind TitleMaxLines, Mode=OneWay}"
MaxLines="{x:Bind TitleMaxLines, Mode=OneTime}"
Text="{Binding Title}"
TextTrimming="CharacterEllipsis" />
<TextBlock
FontSize="13"
Foreground="{ThemeResource TextFillColorSecondaryBrush}"
Text="{Binding Summary}"
TextTrimming="CharacterEllipsis"
Visibility="{x:Bind SummaryVisibility, Mode=OneWay}" />
Visibility="{x:Bind SummaryVisibility, Mode=OneTime}" />
<StackPanel
Opacity="0.76"
Orientation="Horizontal"
Expand All @@ -59,7 +59,7 @@
Width="16"
Height="16"
Source="{Binding AuthorAvatarUrl}"
Visibility="{x:Bind AuthorVisibility, Mode=OneWay}" />
Visibility="{x:Bind AuthorVisibility, Mode=OneTime}" />
<TextBlock
FontSize="12"
Foreground="{ThemeResource TextFillColorTertiaryBrush}"
Expand All @@ -70,7 +70,7 @@
Foreground="{ThemeResource TextFillColorTertiaryBrush}"
Text="{Binding Author}"
TextTrimming="CharacterEllipsis"
Visibility="{x:Bind AuthorVisibility, Mode=OneWay}" />
Visibility="{x:Bind AuthorVisibility, Mode=OneTime}" />
</StackPanel>
<ItemsControl
ItemsSource="{Binding Labels}"
Expand Down Expand Up @@ -100,7 +100,7 @@
</ItemsControl>
<StackPanel Orientation="Horizontal" Spacing="6">
<Border
Padding="{x:Bind BadgePadding, Mode=OneWay}"
Padding="{x:Bind BadgePadding, Mode=OneTime}"
Background="{Binding BadgeBackground}"
BorderBrush="{Binding BadgeBorder}"
BorderThickness="1"
Expand All @@ -112,7 +112,7 @@
Text="{Binding Badge}" />
</Border>
<Border
Padding="{x:Bind BadgePadding, Mode=OneWay}"
Padding="{x:Bind BadgePadding, Mode=OneTime}"
Background="{Binding SecondaryBadgeBackground}"
BorderBrush="{Binding SecondaryBadgeBorder}"
BorderThickness="1"
Expand Down
20 changes: 15 additions & 5 deletions src/Openza.Flow/Openza.Flow.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
<RuntimeIdentifiers>win-x64</RuntimeIdentifiers>
<UseWinUI>true</UseWinUI>
<EnableMsixTooling>true</EnableMsixTooling>
<SelfContained>true</SelfContained>
<PublishSelfContained>true</PublishSelfContained>
<WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained>
<UseDotNetNativeToolchain>false</UseDotNetNativeToolchain>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
Expand All @@ -18,8 +20,9 @@
<GenerateAppxPackageOnBuild>false</GenerateAppxPackageOnBuild>
<GenerateAppInstallerFile>False</GenerateAppInstallerFile>
<AppxPackageSigningTimestampDigestAlgorithm>SHA256</AppxPackageSigningTimestampDigestAlgorithm>
<AppxAutoIncrementPackageRevision>True</AppxAutoIncrementPackageRevision>
<AppxAutoIncrementPackageRevision>False</AppxAutoIncrementPackageRevision>
<GenerateTestArtifacts>False</GenerateTestArtifacts>
<AppxSymbolPackageEnabled>false</AppxSymbolPackageEnabled>
<AppxBundle>Never</AppxBundle>
<HoursBetweenUpdateChecks>0</HoursBetweenUpdateChecks>
</PropertyGroup>
Expand All @@ -30,6 +33,7 @@
<AppxPackageSigningEnabled Condition="'$(LocalPackageSigningEnabled)' == 'true' and Exists('$(LocalPackageCertificateKeyFile)')">true</AppxPackageSigningEnabled>
<AppxPackageSigningEnabled Condition="'$(LocalPackageSigningEnabled)' != 'true' or !Exists('$(LocalPackageCertificateKeyFile)')">false</AppxPackageSigningEnabled>
<PackageCertificateKeyFile Condition="'$(LocalPackageSigningEnabled)' == 'true' and Exists('$(LocalPackageCertificateKeyFile)')">$(LocalPackageCertificateKeyFile)</PackageCertificateKeyFile>
<GenerateTemporaryStoreCertificate>True</GenerateTemporaryStoreCertificate>
</PropertyGroup>

<ItemGroup>
Expand All @@ -45,16 +49,22 @@
<ProjectReference Include="..\Openza.Flow.Core\Openza.Flow.Core.csproj" />
</ItemGroup>

<ItemGroup Condition="'$(Configuration)' == 'Debug'">
<AppxManifest Include="Package.Dev.appxmanifest" />
</ItemGroup>

<ItemGroup Condition="'$(Configuration)' != 'Debug'">
<AppxManifest Include="Package.appxmanifest" />
</ItemGroup>

<ItemGroup>
<Content Include="Assets\*.png" />
<Content Include="Assets\*.ico" CopyToOutputDirectory="PreserveNewest" />
<None Include="Package.appxmanifest" />
<None Include="Package.Dev.appxmanifest" />
</ItemGroup>

<Target
Name="DisableStoreUploadPackagingForCommandLineBuild"
BeforeTargets="_GenerateAppxUploadPackageRecipe;_GenerateAppxUploadPackageFile;_CreateAppStoreContainerForUAP;GenerateUploadMsixPackage"
Condition="'$(BuildingInsideVisualStudio)' != 'true' and '$(GenerateAppxPackageOnBuild)' != 'true' and '$(PublishAppxPackage)' != 'true'">
<Target Name="DisableStoreUploadPackagingForCommandLineBuild" BeforeTargets="_GenerateAppxUploadPackageRecipe;_GenerateAppxUploadPackageFile;_CreateAppStoreContainerForUAP;GenerateUploadMsixPackage" Condition="'$(BuildingInsideVisualStudio)' != 'true' and '$(GenerateAppxPackageOnBuild)' != 'true' and '$(PublishAppxPackage)' != 'true'">
<PropertyGroup>
<BuildAppxUploadPackageForUap>false</BuildAppxUploadPackageForUap>
</PropertyGroup>
Expand Down
56 changes: 56 additions & 0 deletions src/Openza.Flow/Package.Dev.appxmanifest
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="utf-8"?>
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
IgnorableNamespaces="uap desktop com rescap mp">
<Identity Name="Openza.OpenzaFlow.Dev" Publisher="CN=Openza" Version="1.0.0.0" ProcessorArchitecture="x64" />
<mp:PhoneIdentity
PhoneProductId="44761ff8-e0a6-4ea9-976d-d44c5b01c680"
PhonePublisherId="00000000-0000-0000-0000-000000000000" />
<Properties>
<DisplayName>Openza Flow Dev</DisplayName>
<PublisherDisplayName>Openza</PublisherDisplayName>
<Logo>Assets\StoreLogo.png</Logo>
</Properties>
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.19045.0" MaxVersionTested="10.0.26100.0" />
</Dependencies>
<Resources>
<Resource Language="en-us" />
</Resources>
<Applications>
<Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="$targetentrypoint$">
<uap:VisualElements
DisplayName="Openza Flow"
Description="Development build of Openza Flow."
BackgroundColor="transparent"
Square44x44Logo="Assets\Square44x44Logo.png"
Square150x150Logo="Assets\Square150x150Logo.png">
<uap:DefaultTile Wide310x150Logo="Assets\Wide310x150Logo.png" />
</uap:VisualElements>
<Extensions>
<desktop:Extension Category="windows.startupTask" Executable="Openza.Flow.exe" EntryPoint="Windows.FullTrustApplication">
<desktop:StartupTask TaskId="OpenzaFlowStartupTask" Enabled="false" DisplayName="Openza Flow" />
</desktop:Extension>
<desktop:Extension Category="windows.toastNotificationActivation">
<desktop:ToastNotificationActivation ToastActivatorCLSID="9C2C8B1F-080B-48ED-85DF-6C417346F086" />
</desktop:Extension>
<com:Extension Category="windows.comServer">
<com:ComServer>
<com:ExeServer Executable="Openza.Flow.exe" DisplayName="Openza Flow" Arguments="----AppNotificationActivated:">
<com:Class Id="9C2C8B1F-080B-48ED-85DF-6C417346F086" DisplayName="Openza Flow" />
</com:ExeServer>
</com:ComServer>
</com:Extension>
</Extensions>
</Application>
</Applications>
Comment thread
coderabbitai[bot] marked this conversation as resolved.
<Capabilities>
<Capability Name="internetClient" />
<rescap:Capability Name="runFullTrust" />
</Capabilities>
</Package>
2 changes: 1 addition & 1 deletion src/Openza.Flow/Package.appxmanifest
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
IgnorableNamespaces="uap desktop com rescap mp">
<Identity Name="Openza.OpenzaFlow" Publisher="CN=Openza" Version="0.3.0.0" ProcessorArchitecture="x64" />
<Identity Name="Openza.OpenzaFlow" Publisher="CN=DAC3BFD1-0B27-4912-85AF-DB96E18108D1" Version="1.0.0.0" ProcessorArchitecture="x64" />
<Properties>
<DisplayName>Openza Flow</DisplayName>
<PublisherDisplayName>Openza</PublisherDisplayName>
Expand Down
Loading