Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Resolving UTIs #2356

Closed
skurfer opened this issue May 1, 2017 · 1 comment
Closed

Resolving UTIs #2356

skurfer opened this issue May 1, 2017 · 1 comment
Assignees

Comments

@skurfer
Copy link
Member

skurfer commented May 1, 2017

A lot of the hangs we’ve seen lately appear to be caused by very frequent calls to QSUTIForAnyTypeString(). My plan was to return early on the types that reach the end without getting replaced with a UTI, so I added some code to log those.

Now that I look at the list, I have to wonder, should we even bother calling this function on anything other than files? I don’t want to exclude all of these.

ABPeopleUIDsPboardType
AppActions
AttributedString
CalculatorActionProvider
ClipboardActions
CorePasteboardFlavorType 0x7374796C
CorePasteboardFlavorType 0x7573746C
CorePasteboardFlavorType 0x75743136
FSActions
FSDiskActions
mkdn
NSColorPboardType
NSFileContentsPboardType
NSFilesPromisePboardType
NSFontPboardType
NSHTMLPboardType
NSPDFPboardType
NSRulerPboardType
NSTabularTextPboardType
NSURLPboardType
NSVCardPboardType
OakPasteboardOptionsPboardType
OnePasswordAction
QS1PasswordForm
QSABContactActions
QSABMimicActionProvider
QSAdvancedProcessActionProvider
QSAirPortItemType
QSAirPortNetworkActionProvider
QSAppleMailPlugIn_Action
QSAppleScriptActions
QSCatalogEntrySource
QSChat_SupportType
QSCLExecutableProvider
QSCompressionActionProvider
QSDashDocsetType
QSDashPluginActionProvider
QSDisplayIDType
QSDisplayParametersType
QSDisplaysActionProvider
QSEmailActions
QSFileTag
QSFileTagsPlugInAction
QSFileTemplateManager
QSFormulaType
QSGoogleChromeActions
QSGoogleChromeCanaryActions
QSGoogleChromeProxies
QSHFSAttributeActions
QSImageManipulationPlugInAction
QSiPhotoActionProvider
QSiTerm2ActionProvider
QSiTunesActionProvider
QSKeychainActionProvider
QSKeychainItemType
QSKeychainType
QSLineReferenceActions
QSLineReferenceType
QSNetworkingActionProvider
QSNetworkingType
QSNetworkLocationActionProvider
QSObjCMessageSource
QSObjectActions
QSObjectName
QSPDQuicksilverPluginActionProvider
QSProcessActionProvider
QSQRCodeAction
QSQSFacetimeActionProvider
QSRemoteHostsAction
QSRemoteHostsGroupType
QSRemoteHostsType
QSRemovableVolumesParentType
QSSafariActionProvider
QSShelfSource
QSSpotlightPlugIn_Action
QSSpotlightSavedSearchSource
QSTextActions
QSTextManipulationPlugIn
QSTransmitSiteType
QSUIAccessPlugIn_Action
QSUnreadMailParent
QSURLSearchActions
QSViscosityAction
QSViscosityType
QSViscosityVPNAction
QSWirelessNetworkType
QSYojimboPlugInAction
URLActions
WindowsType
@pjrobertson
Copy link
Member

I recently sped-up the QSUTIForAnyTypeString() method in my branch at #2644, but I like this as an additional optimisation. I'll add it to that branch

pjrobertson added a commit that referenced this issue Feb 21, 2022
Improves performance, and fixes #2356
@skurfer skurfer closed this as completed in e18ac45 Apr 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants