22
33import java .util .List ;
44
5+ import javax .swing .SwingUtilities ;
6+
57import com .arqsz .burpgitleaks .config .PluginSettings ;
68import com .arqsz .burpgitleaks .config .RuleLoader ;
79import com .arqsz .burpgitleaks .config .RuleLoader .GitleaksConfiguration ;
@@ -44,7 +46,7 @@ public void initialize(MontoyaApi api) {
4446
4547 var components = registerComponents (api , config , settings );
4648
47- handleStartupFeedback (api , config , components . settingsTab (), configResult .errorMsg ());
49+ handleStartupFeedback (api , config , configResult .errorMsg ());
4850
4951 api .extension ().registerUnloadingHandler (() -> {
5052 components .settingsTab ().shutdown ();
@@ -112,7 +114,8 @@ private RegisteredComponents registerComponents(MontoyaApi api, GitleaksConfigur
112114 api .scanner ().registerPassiveScanCheck (scanCheck , ScanCheckType .PER_REQUEST );
113115 }
114116
115- GitleaksContextMenuProvider menuProvider = new GitleaksContextMenuProvider (api , scanCheck , settings , templateManager );
117+ GitleaksContextMenuProvider menuProvider = new GitleaksContextMenuProvider (api , scanCheck , settings ,
118+ templateManager );
116119 api .userInterface ().registerContextMenuItemsProvider (menuProvider );
117120
118121 SettingsTab settingsTab = new SettingsTab (api , scanCheck , settings , config .rules (), (visible ) -> {
@@ -139,13 +142,18 @@ private void deregisterIssuesTab() {
139142 }
140143 }
141144
142- private void handleStartupFeedback (MontoyaApi api , GitleaksConfiguration config , SettingsTab settingsTab ,
145+ private void handleStartupFeedback (MontoyaApi api , GitleaksConfiguration config ,
143146 String startupError ) {
144147 if (startupError != null ) {
145- Toast . error ( settingsTab , startupError );
148+ api . logging (). logToError ( "Startup configuration error: " + startupError );
146149 api .logging ().logToOutput ("WARNING: Reverted to default rules due to configuration error." );
150+ SwingUtilities .invokeLater (() -> {
151+ java .awt .Window suiteFrame = api .userInterface ().swingUtils ().suiteFrame ();
152+ Toast .error (suiteFrame , EXTENSION_NAME + "startup failed: Reverted to defaults" );
153+ });
147154 } else {
148- api .logging ().logToOutput (EXTENSION_NAME + " ready. Active Rules: " + config .rules ().size ());
155+ api .logging ().logToOutput (String .format ("%s (by Arqsz) initialized successfully." , EXTENSION_NAME ));
156+ api .logging ().logToOutput (String .format ("Loaded %d active rules." , config .rules ().size ()));
149157 }
150158 }
151159}
0 commit comments