GithubHelp home page GithubHelp logo

microsoft / teammate Goto Github PK

View Code? Open in Web Editor NEW
30.0 6.0 10.0 5.63 MB

TeamMate is an application for managing Azure DevOps work items and pull requests.

License: MIT License

C# 99.49% XSLT 0.50% Batchfile 0.01%
ado azuredevops

teammate's People

Contributors

ivanv-microsoft avatar microsoft-github-operations[bot] avatar microsoftopensource avatar supermem613 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

teammate's Issues

Remove Outlook / Office dependency

Not everybody use Outlook. If you use OWA or any other mail program, you're hosed. Lame.

Instead of using Outlook for "Reply", let's implement a Copy as Html to clipboard action that allows any mail client to be used.

Create To-Do/Task from work item

One of the really useful features of another work item tracking tool is to Create a To-Do/Task from the work item's right-click menu. It would be great to see such a feature in TeamMate.

Code Quality bot

GitHub allows turning on security and code quality bots as part of actions. We need to investigate what makes sense for us and deploy them.

Remove TODO, add TODO gate

Let's clean all TODOs in the code: either make each an issue, toss the comment or make it into a historical comment.

Next, add a GitHub action to comb the code for TODO. This allows contributors to use TODOs in the code as they work code, but not commit them.

Release Channel

Let's build, pack and publish it to winget. This will afford us a clear release channel with good update semantics.

README.md should be updated accordingly.

Target .NET 6

.NET 6 has RTM'ed and is a long-term support release. We should move to it as we are sitting on essentially an unsupported .NET release.

Enable tracking a query of PRs I created

As much as i need to track PRs assigned to me (sooo many), I need to track all PRs i created so i can loop back and finish the after i have waited and appropriate amount of time

Update Project Documentation

Project documentation - the MD files - need to be updated with proper GIFs of the project to make sure what it does, go over the history and original contributors and so forth.

Dark Mode

Allow for a dark mode, preferably following the system's setting.

Ability to log out

For some reason my TeamMate shows my account as "Unauthorized" - most likely due to expired token, would be great to be able to log out and back in if token should expire. Also to change tenancy with logout/login would be great.

Provide an option to group by Release

The "Group By" list in work items queries does not include Release. It would be nice if it did; perhaps even make it customizable enough to allow it to be grouped by any field.

TeamMate regularly consumes almost 1GB of memory within few seconds of starting

When I start TeamMate, it starts off consuming about 100MB of commit and active memory, and over the next few seconds, it climbs up to ~1GB and stays there forever. Is this by design? It almost feels like a memory leak. I only track 3 queries, each with about 30 results.

0.1.8-tags-0-1-8-ci-3-Branch-main-Sha-f818e18937ff8f2244f28c2674f83804f961e4ed.1+Branch.tags-0.1.8-ci.3-Branch.main.Sha.f818e18937ff8f2244f28c2674f83804f961e4ed.Sha.f818e18937ff8f2244f28c2674f83804f961e4ed

image

Use the Dev Ops "Follow work item" instead of custom local implementation

Right now, when you right click and Flag an item, it saved it in a local file and displays in a custom "For follow up" list.
DevOps online however has the same feature, that we should be able to re-use instead. That will maintain consistency when browsing on the web and when using Teammate

Double-clicking on bug will show error

Error:

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NotSupportedException: Reference of type Microsoft.Tools.TeamMate.Model.PullRequestReference cannot be serialized
at Microsoft.Tools.TeamMate.Model.ProjectContextSerializer.WriteEntry(LastReadEntry entry)
at Microsoft.Tools.TeamMate.Model.ProjectContextSerializer.b__19_0(LastReadEntry e)
at System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext() at System.Xml.Linq.XContainer.AddContentSkipNotify(Object content) at Microsoft.Tools.TeamMate.Model.ProjectContextSerializer.WriteLastRead(TrackingInfo lastReadModel) at Microsoft.Tools.TeamMate.Services.ProjectDataService.FlushReadWorkItems() at Microsoft.Tools.TeamMate.Foundation.DeferredAction.Invoke() at Microsoft.Tools.TeamMate.Services.ProjectDataService.HandleLastReadChanged(Object sender, EventArgs e) at Microsoft.Tools.TeamMate.Model.TrackingInfo.MarkAsRead(Object key, Int32 revision) at Microsoft.Tools.TeamMate.Services.TrackingToken.MarkAsRead(Int32 revision) at Microsoft.Tools.TeamMate.Services.TrackingService.MarkAsRead(WorkItem workItem) at Microsoft.Tools.TeamMate.ViewModels.WorkItemRowViewModel.Open() at Microsoft.Tools.TeamMate.ViewModels.WorkItemsPageViewModel.OpenMany(ICollection1 items)
at Microsoft.Tools.TeamMate.Pages.WorkItemsPage.HandleItemsActivated(Object sender, ListViewItemsActivatedEventArgs e)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Delegate.DynamicInvokeImpl(Object[] args)
at System.Windows.RoutedEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
at Microsoft.Tools.TeamMate.Foundation.Windows.Controls.Data.ListView.HandleListBoxMouseDoubleClick(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
at System.Windows.Controls.Control.OnMouseDoubleClick(MouseButtonEventArgs e)
at System.Windows.Controls.Control.HandleDoubleClick(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.UIElement.OnMouseDownThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.