Skip to content

just messing around#2

Open
karmataklu-bot wants to merge 109 commits into
SamirWagle:mainfrom
karmataklu-bot:main
Open

just messing around#2
karmataklu-bot wants to merge 109 commits into
SamirWagle:mainfrom
karmataklu-bot:main

Conversation

@karmataklu-bot
Copy link
Copy Markdown

I made a brave extension that calcualtes CAR from your data.

If you have time check it out!

Karma Y and others added 7 commits May 4, 2026 10:28
Updated README to reflect new project structure and features.
- Chrome extension (popup, background, analyse UI) for NEPSE CAGR calculation
- Native messaging host (nepse_host.py + wrapper shell script) bridges extension to local Python engine
- nepse_cagr_server.py runs local HTTP server for CAGR calculations
- com.nepse.cagr.json manifest registers native host with Chrome
- CLAUDE.md and SETUP.md document project and setup steps
Updated README to clarify functionality and usage details.
Added a section for the Browser Extension, detailing its architecture, files, and setup instructions for macOS.
@SamirWagle
Copy link
Copy Markdown
Owner

Loved your work. Actually there is automation implemented in this CI/CD Pipeline. We can archive your branch in community-chrome-extension branch. Please create P.R in that branch

Karma Y added 14 commits May 7, 2026 08:36
- index_history.py: scrapes all 18 NEPSE indices from ShareSansar
  - GET request with numeric index_id (not POST with text name)
  - 30-day chunks (server silently returns 0 rows for >= 31 days)
  - JSON response parsing (not HTML table)
  - Incremental mode: resumes from latest CSV date
  - Query mode: --query --index "X" --date YYYY-MM-DD
- run_index_history.py: CLI entry point mirroring run_daily.py pattern
- data/index/: initial historical data for all 18 sub-indices
…to fix MV3 CSP

Chrome MV3 blocks inline <script> blocks and CDN scripts.
- Extract all JS from analyse.html into analyse.js (external file)
- Download chart.umd.js locally (was blocked from cdnjs CDN)
- Light mode theme toggle now works
- Add topbar-right container to group theme and back buttons
- Implement switchPage function for multi-page navigation
- Back button shows on non-analyse pages, hidden on main page
- Back button navigates back to analyse (main) page
- Add corresponding CSS styling for back-btn
@SamirWagle SamirWagle self-requested a review May 7, 2026 12:08
Karma Y and others added 7 commits May 7, 2026 18:02
…nflict

- Add asterisk note clarifying NEPSE data based on closing prices
- Remove malformed JavaScript code from HTML merge conflict
- Clean up CAGR page section
Remove height:0 from Estimated (1994-2000) legend item. Height override
prevented dashed border from rendering. Now displays properly as dashed line.
- Add company name/ticker search input field for future filtering capability
- Add "My Predictions — Next Cycle Top" section with 4 key indicators:
  * Buffett Indicator (market cap = GDP) reaching 100%
  * Daily trading volume approaching 35–40 Arab
  * Index crossing 5,000
  * 4-year cycle milestone from Sep 2022 bottom (~Sep 2026)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
…ack nav

- Add page-buffett: full blog-style article from PDF (all 5 pages)
- Include Global & Regional Buffett Indicator comparison table (11 markets)
- Wire #buffett-link click → switchPage('buffett') via JS (CSP-safe)
- Fix back button to return to previous page (bullbear → buffett → back = bullbear)
- Add buffett-indicator.pdf to extension and web_accessible_resources in manifest
- Article width set to 749px, minimal dark aesthetic
Karma Y and others added 30 commits May 20, 2026 00:44
Search box now accepts full company names in addition to tickers.
/search endpoint on the server does exact-ticker → prefix → name-substring
matching against companies.csv. When multiple companies match, a picker
is shown inline so the user can select the right one.

Affects: nepse_cagr_server.py, extension/analyse.js, extension/analyse.html,
extension/popup.js, extension/popup.html
- New Merolagani scraper (scraper/core/fundamentals.py): EPS, P/E,
  BVPS, market cap, paid-up capital, 52w range, dividend yield, etc.
  Cached per symbol at data/company-wise/{SYMBOL}/fundamentals.json
  with 6h TTL.
- New ShareHubNepal shareholding scrape merged into fundamentals
  payload: promoter/public share counts + percentages, ATH price.
- New GET /fundamentals?symbol=X endpoint on nepse_cagr_server. Also
  attaches latest_day OHLC from prices.csv and listing date from
  existing ShareHubNepal listing-date scraper.
- Redesigned extension/analyse.html with Claude design dashboard
  aesthetic: IBM Plex Sans, design token system (dark default,
  html.light for light mode), hero card (company name, price,
  change, day range, 52w range, avg vol, 1Y yield), 6-card key
  metrics grid, shareholding donut + segmented bar.
- Wired extension/analyse.js: removed CAGR flow from analyse page,
  added runFundamentalsForSymbol + showFundamentals + donut renderer.
  CAGR page (separate route) untouched.
- Add/update company_mergers.json with merger records
- Add merged CSVs: full incomplete, missing dates, missing everything
- Add verify_mergers.py for merger data validation
- Update mergers.py and import_mergers.py scraper logic
- Add fundamentals.json for 14 companies (API, BOKL, CCBL, GIC,
  GUFL, JLI, MDB, MEGA, NCCB, RIDI, RRHP, SGI, SLICL, SRBL)
- Update analyse.js in extension
- Update AGENTS.md and scraper/README.md
…feed data

- Fixed name parser bug in fetch_company_names.py: CMF2 name was truncated to "2"
- Removed false positives: API and CMF2 flagged as merged (unrelated articles)
- Added ShareSansar M&A feed scraper with Cloudflare bypass (cloudscraper)
- Implemented 4-tier name resolution (parenthetical→exact→fuzzy→suffix-stripped)
- Added _fuzzy_name_to_symbol dict for cross-source name matching
- Smart text splitting re-glues multi-word names (e.g. "Nepal Credit and Commerce Bank Limited")
- M&A feed now first source in scrape() for early backfill
- Backfilled company_mergers.json: 263 total entries, 195 with merged_date, 195 with merged_into
- Fixed extension UI: only show survivor when data exists (no "Merged to another company" placeholder)
- Updated requirements.txt with cloudscraper>=1.2
- Updated all company price data from latest scrape run
- Added 'To' date input field alongside 'From' date
- 'Today' button auto-populates 'To' field with today's date
- Optional end date (can be left blank = defaults to today on server)
- Updated hint text to reflect new button behavior
- Server endpoint already supports optional end_date parameter
- Added 'To' date input field alongside 'From' date in analyse.html
- Styled to match analyse page design tokens
- 'Today' button clears end date (can add populate logic later if needed)
- Updated calcRunCagr to conditionally include end_date in payload
- Server endpoint already supports optional end_date parameter
- Created page-technical with centered 'Coming Soon' message
- Added menu handler to switch to technical page
- Styled to match existing page layout and design tokens
…issing dividend.csv

- run_backfill_missing() scans company-wise dirs for prices.csv without dividend.csv
- Skips companies that already have dividend.csv (safe to re-run)
- 589 companies currently missing data (merged/delisted companies included)
- Does NOT run as part of --run-all; must be invoked explicitly
Backfilled via --backfill-missing for companies missing dividend data.
NBB (Nepal Bangladesh Bank) merged into NABIL 2022-07-11 — 9 years
of dividend history now captured including significant bonus shares.
Ran scraper --backfill-missing to populate dividend history for all
company-wise directories with prices.csv but no dividend.csv.
Includes merged companies (NBB, MEGA, HAMA, etc.) and IPO-stage
companies missing historical data.
- openBullBearFromQuery was showing '⏳ Resolving...' and not clearing it
- Message appeared on top of results and hung indefinitely
- Added textContent = '' before switchPage('bullbear')
- Added 5s timeout to /search fetch calls to prevent hangs

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
- Shows purchase date, price, and units bought as first row
- Applied to popup.js calcluator
- Helps users see full purchase-to-present history

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
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.

2 participants