Skip to content

chore: remove real_time export feature flag config#989

Merged
ashwin1111 merged 2 commits intomasterfrom
rm-real-time-flag
Feb 24, 2026
Merged

chore: remove real_time export feature flag config#989
ashwin1111 merged 2 commits intomasterfrom
rm-real-time-flag

Conversation

@ashwin1111
Copy link
Contributor

@ashwin1111 ashwin1111 commented Feb 24, 2026

Description

Please add PR description here, add screenshots if needed

Clickup

https://app.clickup.com/

Summary by CodeRabbit

  • Refactor

    • Simplified real-time export verification logic by streamlining feature gating checks.
    • Reorganized import statements for improved code structure.
  • Tests

    • Updated test mocks to reflect changes in export verification process.

@github-actions github-actions bot added the size/S Small PR label Feb 24, 2026
@coderabbitai
Copy link

coderabbitai bot commented Feb 24, 2026

Warning

Rate limit exceeded

@ashwin1111 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 0 minutes and 5 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 12f1244 and 1e5d5d6.

📒 Files selected for processing (1)
  • tests/test_fyle/test_tasks.py

Walkthrough

The PR removes the branding feature flag dependency (feature_configuration and real_time_export_1hr_orgs) from real-time export gating logic, simplifying it to check only is_real_time_export_enabled. Related test mocks and imports are updated accordingly.

Changes

Cohort / File(s) Summary
Real-time Export Logic
apps/fyle/tasks.py
Removes feature_configuration and real_time_export_1hr_orgs flag check; simplifies gating to only verify is_real_time_export_enabled. Adjusts import organization.
Test Updates
tests/test_fyle/test_tasks.py
Removes mocks of feature_configuration and real_time_export_1hr_orgs; reorganizes imports for clarity (splits multi-imports).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐰 A flag once guarded the real-time gates,

But simplicity awaits—no more checkmate!

One condition stands clear and bright,

The code runs lean, the logic right. ✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description is incomplete, containing only placeholder text without substantive details about the changes, rationale, or ClickUp task information. Provide a meaningful description explaining why the feature flag was removed, any migration notes, and a valid ClickUp task link.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: removing the real_time export feature flag configuration from the codebase.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch rm-real-time-flag

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link

Coverage

Coverage Report
FileStmtsMissCoverMissing
apps
   exceptions.py481373%23, 29–30, 33, 36–37, 40–41, 44–45, 48, 51, 54
apps/fyle
   actions.py182697%352, 400–404
   constants.py10100% 
   helpers.py193796%61, 150–152, 156, 159, 273, 320
   models.py3533191%257–259, 263–265, 355–372, 379–381, 499–520, 553, 567, 633
   queue.py490100% 
   serializers.py380100% 
   signals.py16381%24–26
   tasks.py556899%285, 415, 438, 957, 968–969, 994–995
   views.py890100% 
apps/internal
   actions.py180100% 
   tasks.py65789%49–54, 100
   views.py360100% 
apps/mappings
   constants.py20100% 
   exceptions.py911584%24, 30–32, 35, 38–39, 42–43, 50–54, 57
   helpers.py21481%35–39
   models.py260100% 
   queues.py62395%38, 102, 114
   schedules.py160100% 
   signals.py84495%141–147
   tasks.py1573876%32, 69–91, 113–122, 138–139, 142–144, 149, 152, 190–192, 216–218
   views.py120100% 
apps/quickbooks_online
   actions.py71692%44–45, 82–85
   exceptions.py1191488%85–90, 134, 156–163
   helpers.py20385%25, 33, 37
   models.py5951697%22, 24, 28, 80, 97–108, 162, 195, 215, 599, 613, 630, 798, 1002–1003, 1012
   queue.py1831293%67, 93–97, 138, 170–174, 216–220, 265–269, 311–315
   serializers.py660100% 
   tasks.py63412480%153, 178–179, 217–218, 223–227, 273, 277–278, 302, 319, 420–422, 427–431, 471–472, 492–496, 501–505, 561–562, 582–586, 591–595, 650–651, 671–675, 680–684, 693, 726–727, 736, 748, 751, 758–782, 842–854, 895–903, 938–964, 974–982, 993–994
   utils.py8553696%51, 84, 143, 197, 385, 488, 655–664, 975, 1069, 1074, 1126–1131, 1267–1270, 1339, 1415, 1502, 1507, 1573, 1581, 1656–1660, 1713, 1808
   views.py850100% 
apps/quickbooks_online/errors
   helpers.py29197%67
apps/tasks
   models.py680100% 
   serializers.py60100% 
   views.py110100% 
apps/users
   helpers.py120100% 
   models.py140100% 
apps/workspaces
   actions.py2142588%136–138, 145, 300–309, 338, 357–368, 384, 403–414, 427
   enums.py640100% 
   helpers.py190100% 
   models.py1470100% 
   permissions.py59788%31–36, 67
   queue.py80100% 
   serializers.py260100% 
   signals.py320100% 
   system_comments.py200100% 
   tasks.py1791791%80–84, 105, 186, 230, 249–251, 257, 264–267, 319, 323
   utils.py42588%68–77
   views.py142696%75–78, 178–180
apps/workspaces/apis/advanced_configurations
   serializers.py65395%120, 123, 126
   triggers.py160100% 
   views.py110100% 
apps/workspaces/apis/clone_settings
   helpers.py90100% 
   serializers.py53198%89
   views.py220100% 
apps/workspaces/apis/errors
   serializers.py200100% 
   views.py190100% 
apps/workspaces/apis/export_settings
   helpers.py71396%131–133
   serializers.py111397%140, 197, 200
   triggers.py400100% 
   views.py110100% 
apps/workspaces/apis/import_settings
   serializers.py98595%95–96, 152, 155, 159
   triggers.py960100% 
   views.py190100% 
apps/workspaces/apis/map_employees
   serializers.py31197%49
   triggers.py60100% 
   views.py110100% 
fyle_integrations_imports
   dataclasses.py310100% 
   models.py230100% 
   queues.py34682%24, 59, 99, 136, 148–149
   tasks.py1242481%74–75, 79, 94, 100–102, 115, 141, 168–169, 198–202, 220–221, 246–249, 251, 253, 258
fyle_integrations_imports/modules
   base.py1881393%75, 91–92, 126, 184, 200–201, 208, 230–231, 237–238, 369
   categories.py1773083%80, 103–104, 272–273, 283, 296, 298, 342, 351–355, 364–410
   cost_centers.py961485%120–121, 132–133, 152–153, 162, 178, 180, 226, 235–239
   expense_custom_fields.py1213174%83–88, 243–294
   merchants.py1061685%103–109, 179–180, 190, 203, 205, 238–242
   projects.py881484%86–87, 109–110, 120, 142, 144, 191, 198–199, 205–209
   tax_groups.py180100% 
   webhook_attributes.py130695%95, 97–99, 210–211
workers
   actions.py240100% 
   helpers.py370100% 
   worker.py591280%40–49, 80–81, 128
TOTAL780059392% 

Tests Skipped Failures Errors Time
469 0 💤 1 ❌ 0 🔥 52.291s ⏱️

@ashwin1111 ashwin1111 deployed to CI Environment February 24, 2026 12:09 — with GitHub Actions Active
@github-actions
Copy link

Coverage

Coverage Report
FileStmtsMissCoverMissing
apps
   exceptions.py481373%23, 29–30, 33, 36–37, 40–41, 44–45, 48, 51, 54
apps/fyle
   actions.py182697%352, 400–404
   constants.py10100% 
   helpers.py193796%61, 150–152, 156, 159, 273, 320
   models.py3533191%257–259, 263–265, 355–372, 379–381, 499–520, 553, 567, 633
   queue.py490100% 
   serializers.py380100% 
   signals.py16381%24–26
   tasks.py556799%285, 438, 957, 968–969, 994–995
   views.py890100% 
apps/internal
   actions.py180100% 
   tasks.py65789%49–54, 100
   views.py360100% 
apps/mappings
   constants.py20100% 
   exceptions.py911584%24, 30–32, 35, 38–39, 42–43, 50–54, 57
   helpers.py21481%35–39
   models.py260100% 
   queues.py62395%38, 102, 114
   schedules.py160100% 
   signals.py84495%141–147
   tasks.py1573876%32, 69–91, 113–122, 138–139, 142–144, 149, 152, 190–192, 216–218
   views.py120100% 
apps/quickbooks_online
   actions.py71692%44–45, 82–85
   exceptions.py1191488%85–90, 134, 156–163
   helpers.py20385%25, 33, 37
   models.py5951697%22, 24, 28, 80, 97–108, 162, 195, 215, 599, 613, 630, 798, 1002–1003, 1012
   queue.py1831293%67, 93–97, 138, 170–174, 216–220, 265–269, 311–315
   serializers.py660100% 
   tasks.py63412480%153, 178–179, 217–218, 223–227, 273, 277–278, 302, 319, 420–422, 427–431, 471–472, 492–496, 501–505, 561–562, 582–586, 591–595, 650–651, 671–675, 680–684, 693, 726–727, 736, 748, 751, 758–782, 842–854, 895–903, 938–964, 974–982, 993–994
   utils.py8553696%51, 84, 143, 197, 385, 488, 655–664, 975, 1069, 1074, 1126–1131, 1267–1270, 1339, 1415, 1502, 1507, 1573, 1581, 1656–1660, 1713, 1808
   views.py850100% 
apps/quickbooks_online/errors
   helpers.py29197%67
apps/tasks
   models.py680100% 
   serializers.py60100% 
   views.py110100% 
apps/users
   helpers.py120100% 
   models.py140100% 
apps/workspaces
   actions.py2142588%136–138, 145, 300–309, 338, 357–368, 384, 403–414, 427
   enums.py640100% 
   helpers.py190100% 
   models.py1470100% 
   permissions.py59788%31–36, 67
   queue.py80100% 
   serializers.py260100% 
   signals.py320100% 
   system_comments.py200100% 
   tasks.py1791791%80–84, 105, 186, 230, 249–251, 257, 264–267, 319, 323
   utils.py42588%68–77
   views.py142696%75–78, 178–180
apps/workspaces/apis/advanced_configurations
   serializers.py65395%120, 123, 126
   triggers.py160100% 
   views.py110100% 
apps/workspaces/apis/clone_settings
   helpers.py90100% 
   serializers.py53198%89
   views.py220100% 
apps/workspaces/apis/errors
   serializers.py200100% 
   views.py190100% 
apps/workspaces/apis/export_settings
   helpers.py71396%131–133
   serializers.py111397%140, 197, 200
   triggers.py400100% 
   views.py110100% 
apps/workspaces/apis/import_settings
   serializers.py98595%95–96, 152, 155, 159
   triggers.py960100% 
   views.py190100% 
apps/workspaces/apis/map_employees
   serializers.py31197%49
   triggers.py60100% 
   views.py110100% 
fyle_integrations_imports
   dataclasses.py310100% 
   models.py230100% 
   queues.py34682%24, 59, 99, 136, 148–149
   tasks.py1242481%74–75, 79, 94, 100–102, 115, 141, 168–169, 198–202, 220–221, 246–249, 251, 253, 258
fyle_integrations_imports/modules
   base.py1881393%75, 91–92, 126, 184, 200–201, 208, 230–231, 237–238, 369
   categories.py1773083%80, 103–104, 272–273, 283, 296, 298, 342, 351–355, 364–410
   cost_centers.py961485%120–121, 132–133, 152–153, 162, 178, 180, 226, 235–239
   expense_custom_fields.py1213174%83–88, 243–294
   merchants.py1061685%103–109, 179–180, 190, 203, 205, 238–242
   projects.py881484%86–87, 109–110, 120, 142, 144, 191, 198–199, 205–209
   tax_groups.py180100% 
   webhook_attributes.py130695%95, 97–99, 210–211
workers
   actions.py240100% 
   helpers.py370100% 
   worker.py591280%40–49, 80–81, 128
TOTAL780059292% 

Tests Skipped Failures Errors Time
469 0 💤 0 ❌ 0 🔥 1m 3s ⏱️

@github-actions
Copy link


Diff Coverage
Diff: origin/master..HEAD, staged and unstaged changes

apps/fyle/tasks.py (100%)

Total: 8 lines
Missing: 0 lines
Coverage: 100%

@ashwin1111 ashwin1111 merged commit f3984b0 into master Feb 24, 2026
8 checks passed
ashwin1111 added a commit that referenced this pull request Feb 26, 2026
* chore: remove real_time export feature flag config

* fix test

(cherry picked from commit f3984b0)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/S Small PR

Development

Successfully merging this pull request may close these issues.

2 participants