Skip to content

Add feedback card dismissal#5

Open
HugoMSFT wants to merge 5 commits into
teddyberco:mainfrom
HugoMSFT:feature/expand-data-sources-and-taxonomy
Open

Add feedback card dismissal#5
HugoMSFT wants to merge 5 commits into
teddyberco:mainfrom
HugoMSFT:feature/expand-data-sources-and-taxonomy

Conversation

@HugoMSFT

Copy link
Copy Markdown

Adds a dismiss action to feedback cards so users can hide irrelevant items and keep that preference across reloads.

Summary:

  • Add per-card dismiss buttons for server-rendered and dynamically rendered feedback cards.
  • Persist dismissed feedback IDs in localStorage and reapply them after filtering/rerendering.
  • Best-effort mark dismissed Fabric-connected feedback as IRRELEVANT.
  • Preserve run.sh as executable.

Validation:

  • git diff --check

Hugo Queiroz added 5 commits March 22, 2026 22:04
- Path traversal: validate filename and realpath containment in CSV download
- Thread safety: add threading.Lock around global mutable state
- Connection leaks: add finally blocks to all DB methods in fabric_sql_writer and state_manager
- Session leaks: add close() to all collector classes; call after collect()
- Code injection: validate table_name and write_mode in PySpark payload generation
- JWT handling: validate token structure before decoding payload
- Input validation: add keyword count/length limits and Flask MAX_CONTENT_LENGTH
- Replace ast.literal_eval with json.loads for CSV keyword parsing
- Replace stderr debug prints with proper logger calls in fabric_writer
- Remove unused xml.etree.ElementTree import and redundant inline json imports
- Add exc_info=True to exception handlers missing stack traces
- Remove overly-aggressive regex that stripped legitimate text in utils.py
- Warn when FLASK_SECRET_KEY is not set instead of silently using default
- Fix Failed to fetch: add threaded=True to Flask, replace SSE with polling,
  inline collect handler to avoid browser connection limits
- Fix KeyError in detect_audience() for DBA/Data Engineer categories
- Remove Reddit collector (policy compliance)
- Remove Azure Updates collector
- Add new no-auth collectors: DEV.to, Hacker News, MSSQLTips, SQLServerCentral,
  dbt Community, Microsoft Feedback Portal
- Fix Stack Overflow: search individual keywords, remove restrictive tag filter,
  add dedup by question_id
- Fix MSSQLTips RSS URL
- Tighten keywords.json to data-virtualization-specific terms only
- Fix insights page: show local dashboard when Power BI is not configured
- Disable GitHub/ADO sources by default (require credentials)
- Add cache-busting to JS includes
- Change default port to 5001 (avoid macOS AirPlay conflict)
…CLIENT

- Add Cross Database Query subcategory under Data Virtualization taxonomy
- Add 5 new collectors: RedditCollector, FabricIdeasCollector, SQLShackCollector,
  SQLAuthorityCollector, TwitterCollector
- Wire up existing AzureUpdatesCollector (was implemented but unused)
- Add ServerFault as 3rd Stack Exchange site
- Add GitHub repos: MicrosoftDocs/azure-docs, Azure/azure-sql
- Add all new sources to web UI source-configuration.js
- Rename /api/collect to /api/run-search to fix Edge Tracking Prevention
  blocking the POST with ERR_BLOCKED_BY_CLIENT (legacy alias kept)
- Fix Flask dual-stack IPv4/IPv6 binding for macOS localhost
- Add debug logging to collectFeedback() for troubleshooting
- Update keywords.json and config.py with cross-database keywords
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant