Releases: colorstackorg/oyster
Releases · colorstackorg/oyster
v1.12.0
What's Changed
- feat: onboarding flow refresh 🚀 by @ramiAbdou in #801
- fix: delay slack invitation till last step ❗️ by @ramiAbdou in #802
- chore: my first contribution 🚀 by @aleguy02 in #789
- chore: my first contribution by @MendezCarl in #790
- chore: my first contribution 🚀 by @adriantoby in #791
- chore: my first contribution 🚀 by @KRMed in #792
- chore: my first contribution 🚀 by @Wizzarddude305 in #793
- chore: my first contribution 🚀 by @dsmithnautel in #803
- feat: implement graduation (secondary email) notification 🎓 by @Niftalemm in #777
- feat: adding graduation month to family application 📆 by @cicadaenjoyer in #784
- feat: update application auto rejection ❗️ by @ramiAbdou in #804
- feat: update airtable with graduation month 📆 by @ramiAbdou in #805
- feat: support resource filters 🔎 by @ramiAbdou in #806
- feat: optimistic ui for upvote resource button 🔼 by @ramiAbdou in #807
- fix: multiline quote for help request notification ❗️ by @ramiAbdou in #808
- feat: pre-event feed notification 📆 by @rafa1510 in #506
- feat: improve ux for filtering opportunities by company 🚀 by @zulyu in #775
- feat: improve ux for filtering opportunities by tags 🚀 by @ramiAbdou in #809
- feat: filter resources by tags 🏷️ by @Baguirre03 in #591
- feat: support color for resource tags 🏷️ by @ramiAbdou in #810
- chore: update readme screenshot 📸 by @ramiAbdou in #811
- feat: add opportunity through web 🚀 by @ramiAbdou in #813
- feat: allow education dates to be nullable 📆 by @ramiAbdou in #816
- feat: sync linkedin profile data 🔀 by @ramiAbdou in #815
- feat: track timestamp for linkedin sync 🔀 by @ramiAbdou in #819
- fix: improve bad company/school links in linkedin sync 🔀 by @ramiAbdou in #820
- fix: ignore fields for generating linkedin differential ❗️ by @ramiAbdou in #821
- feat: backfill linkedin id from crunchbase 🍫 by @ramiAbdou in #822
- feat: migrate from crunchbase to linkedin
↗️ by @ramiAbdou in #823 - feat: combine company fields into 1️⃣ by @ramiAbdou in #824
- feat: add linkedin id to schools and update search 🔍 by @ramiAbdou in #825
- feat: update linkedin sync to be more deterministic (no ai) 🤖 by @ramiAbdou in #826
- feat: update work experience/education ui 🎨 by @ramiAbdou in #827
- feat: update linkedin script for backfill 🚀 by @ramiAbdou in #828
- fix: allow null
education_id
onresume_book_submissions
❗️ by @ramiAbdou in #831 - feat: scrap work/education form in onboarding + more syncing ❗️ by @ramiAbdou in #832
- feat: synchronously sync linkedin profile in profile 🔄 by @ramiAbdou in #834
- feat: remove ability to add/edit experiences, soft-delete ❗️ by @ramiAbdou in #833
- feat: make company employees searchable 🔎 by @ramiAbdou in #835
- refactor: reintroduce cards for current/past employees 🎨 by @ramiAbdou in #836
- feat: store logos in our public bucket 🪣 by @ramiAbdou in #837
- feat: scrap existing activation + onboarding 🚮 by @ramiAbdou in #839
- chore: my first contribution 🚀 by @brianescutia in #817
- chore: my first contribution 🚀 by @Praise-creator in #818
- chore: first contribution 🚀 by @AdamOwolabi in #829
- chore: my first contribution 🚀 by @Isaiah648 in #838
- feat: split linkedin batches into jobs 🖖 by @ramiAbdou in #840
- feat: copy profile pictures to r2 bucket 🪣 by @ramiAbdou in #841
New Contributors
- @aleguy02 made their first contribution in #789
- @MendezCarl made their first contribution in #790
- @adriantoby made their first contribution in #791
- @KRMed made their first contribution in #792
- @Wizzarddude305 made their first contribution in #793
- @dsmithnautel made their first contribution in #803
- @cicadaenjoyer made their first contribution in #784
- @brianescutia made their first contribution in #817
- @Praise-creator made their first contribution in #818
- @AdamOwolabi made their first contribution in #829
- @Isaiah648 made their first contribution in #838
Full Changelog: v1.11.0...v1.12.0
v1.11.0
What's Changed
- feat: show all filters by default + update reset filter ui 🔎 by @ramiAbdou in #760
- feat: support removing filters + refactor 🔄 by @ramiAbdou in #761
- feat: support keyboard interactions on filters 🎹 by @ramiAbdou in #762
- fix: scroll filter item into view when using keyboard 🎹 by @ramiAbdou in #763
- fix: scroll bug related to the filter component ❗️ by @ramiAbdou in #764
- feat: use manual proxy rotation for web scraping 🔁 by @ramiAbdou in #765
- fix: propagate school name changes to airtable ❗️ by @ramiAbdou in #766
- fix: preserve search params when editing schools ❗️ by @ramiAbdou in #767
- chore: my first contribution 🚀 by @Niftalemm in #769
- fix: use
pathe
for kysely file migration provider ❗️ by @ramiAbdou in #771 - fix: scroll issue w/ tables + fixed position of dropdown ❗️ by @ramiAbdou in #773
- fix: send opportunity notification if web scraping fails ❗️ by @ramiAbdou in #774
- chore: my first contribution 🚀 by @zulyu in #772
- fix: dropdown portal bug ❗️ by @ramiAbdou in #776
- feat: use noreply email box + update welcome email 🚀 by @ramiAbdou in #778
- refactor: update button component prop + styling ⚪️ by @ramiAbdou in #781
- refactor: update dashboard navigation styling 🎨 by @ramiAbdou in #782
- refactor: tooltip trigger cursor 🔄 by @ramiAbdou in #783
- feat: peer help 🤝 by @ramiAbdou in #780
- fix: preserve white space for help request description ❗️ by @ramiAbdou in #785
- chore: rename the peer help completed section label to closed ❗️ by @ramiAbdou in #786
- chore: put points page behind feature flag ⛳️ by @ramiAbdou in #787
- fix: prevent scroll reset in peer help ❗️ by @ramiAbdou in #788
- feat: support application email filter list 🚀 by @ramiAbdou in #794
- feat: add feed notification for peer help/event 🚀 by @ramiAbdou in #795
- chore: add feed channel env variable to member profile ❗️ by @ramiAbdou in #796
- feat: add chapters list resource to home page 🚀 by @ramiAbdou in #797
- chore: update application content + questions ✏️ by @ramiAbdou in #799
New Contributors
- @Niftalemm made their first contribution in #769
- @zulyu made their first contribution in #772
Full Changelog: v1.10.0...v1.11.0
v1.10.0
What's Changed
- fix: scrap offer notification + update filter popover to max height ❗️ by @ramiAbdou in #650
- chore: my first contribution 🚀 by @dubemnwiz in #624
- chore: my first contribution 🚀 by @elizafoam in #651
- feat: store member directory profile urls on slack profile 👥 by @savazques in #563
- fix: nav position on profile tab 👤📱 by @wflore19 in #589
- feat: notify members when securing the bag 💰 by @savazques in #592
- refactor: split resume books / reviews + store reviews 🔄 by @ramiAbdou in #654
- feat: add resume review nudge ✍️ by @rod608 in #597
- fix: don't send resume review nudge unless file was shared 🗂️ by @ramiAbdou in #655
- feat: implement ai chatbot reaction response 🤖 by @ayoaru in #598
- feat: notify admins when a thread has 100 messages 🚨 by @ciaracade in #605
- fix: slack api not returning
reply_count
inmessage_replied
event ❗️ by @ramiAbdou in #656 - chore: scrap unused surveys feature 🚮 by @ramiAbdou in #657
- chore: scrap scholarships, internal resources and programs 🚮 by @ramiAbdou in #658
- chore: drop old migrations table 🚮 by @ramiAbdou in #659
- refactor: rename form components (ie: field, error message) 🔄 by @ramiAbdou in #661
- refactor: update
infrastructure
folder + more 🔄 by @ramiAbdou in #662 - feat: send anniversary email notifications 🎂 by @ciaracade in #607
- refactor: use plural form for module names 🔄 by @ramiAbdou in #664
- feat: add confirmation that user has searched for duplicate resources ✅ by @AbdulmajeedKabala in #612
- feat: implement delete resource functionality 🕳️👨🦯 by @Boris713 in #615
- feat: implement select component (v2) using radix 🚀 by @ramiAbdou in #665
- fix: handle DELETE response correctly in Mailchimp member removal ❗️ by @devin-ai-integration in #666
- chore: support popover
side
prop 📦 by @ramiAbdou in #668 - fix: update ethnicities dropdown ⛳️ by @gxsoto in #511
- feat: notify feed channel when thread hits 100 replies 💬 by @ramiAbdou in #669
- refactor: use
Slot
component instead ofgetButtonCn
🔄 by @ramiAbdou in #672 - fix: use thread id for busy thread notification ❗️ by @ramiAbdou in #673
- fix: don't process google form posting as opportunities ❗️ by @ramiAbdou in #674
- fix: delete opportunity when slack message is soft-deleted ❗️ by @ramiAbdou in #675
- fix: slow companies query ❗️ by @ramiAbdou in #676
- fix: various performance improvements ⚡️ by @ramiAbdou in #677
- fix: more tolerance for ai response in opportunity creation ❗️ by @ramiAbdou in #678
- feat: show all events on 1 page and improve query time ⚡️ by @ramiAbdou in #680
- fix: update the order of the unique constraint in
event_attendees
❗️ by @ramiAbdou in #681 - fix: redirect from
/events/past
❗️ by @ramiAbdou in #682 - chore: get rid of noisy pinecone fetch log 🪵 by @ramiAbdou in #683
- feat: add twilio integration to send sms messages 📲 by @Habeebah157 in #663
- fix: speed up the
listPastEvents
query ⚡️ by @ramiAbdou in #684 - fix: potential ai hallucination with opportunity refinement ❗️ by @ramiAbdou in #689
- fix: prevent duplicate offers from being created from slack ❗️ by @ramiAbdou in #695
- fix: stretched company logos 🏢 by @janrebolledo in #697
- chore: my first contribution 🚀 by @osazeimohe in #685
- chore: my first contribution 🚀 by @anastar99 in #686
- chore: my first contribution 🚀 by @julian-reed in #687
- chore: my first contribution 🚀 by @mmitch1 in #690
- chore: my first contribution 🚀 by @jayco12 in #691
- chore: remove opportunity status filter 🧼 by @ramiAbdou in #700
- chore: my first contribution 🚀 by @yonatantussa in #698
- chore: my first contribution 🚀 by @muriloapparecido in #699
- chore: my first contribution 🚀 by @akuazzam in #701
- fix: move oauth parsing inside try/catch ❗️ by @ramiAbdou in #705
- chore: my first contribution 🚀 by @emmaeng680 in #709
- chore: my first contribution by @chdkz in #710
- chore: my first contribution 🚀 by @dotcomnerd in #713
- chore: my first contribution 🚀 by @joolaoye in #714
- feat: infrastructure for school chapters 📖 by @iperalta7 in #500
- feat: link leaderboard to members' profiles 🔗 by @BeteabTefera in #694
- fix: don't show unrefined (empty) opportunities 🫣 by @ramiAbdou in #716
- feat: job to check for expired opportunities ❎ by @ramiAbdou in #717
- fix: issue with opportunity expiration job + label ❗️ by @ramiAbdou in #718
- fix: resilience when opportunity expiration check takes too long ❗️ by @ramiAbdou in #719
- feat: add
last_expiration_check
field to opportunities 🚀 by @ramiAbdou in #720 - feat: add time that opportunity was shared ⏰ by @ramiAbdou in #721
- feat: store the first link on an opportunity 🔗 by @ramiAbdou in #722
- feat: check expiration of individual opportunity after opening modal ❎ by @ramiAbdou in #723
- fix: update opportunities prompt to return less tags 🏷️ by @ramiAbdou in #724
- fix: close dropdown when clicking on item ❗️ by @ramiAbdou in #725
- feat: reporting when opportunity is broken/closed/duplicated ❗️ by @ramiAbdou in #726
- feat: prevent posting duplicate resources by @chdkz in #711
- feat: announce when emoji are added to the slack workspace 📢 by @dotcomnerd in #715
- fix: attempt to escape bot detection on workday 🤖 by @ramiAbdou in #731
- feat: send notification when automated refinement fails ❗️ by @ramiAbdou in #732
- chore: log puppeteer status code 🪵 by @ramiAbdou in #733
- fix: stop creating new opportunity tags 🏷️ by @ramiAbdou in #740
- feat: disable unfurling of slack links 🔗 by @ramiAbdou in #742
- chore: add
graduation_date
and update seed data 🌱 by @ramiAbdou in #748 - chore: update shopify gift card expiration to a month ⏰ by @ramiAbdou in #749
- chore: my first contribution by @djblanco-code in #730
- feat: use ai to clean up offer locations 🪄 by @ramiAbdou in #750
- chore: my first contribution 🚀 by @Aymerick116 in #751
- feat: directory filters v2 🔎 by @ramiAbdou in #752
- fix: company/school filter in directory ❗️ by @ramiAbdou in #753
- fix: constrain location/hometown filter to database 🔎 by @ramiAbdou in #754
- fix: duplicate locations/hometowns with same coordinates ❗️ by @ramiAbdou in #755
- feat: add filter counts to directory filters 🔢 by @ramiAbdou ...
v1.9.0
What's Changed
- fix: add unique constraint to opportunity's slack message 👖 by @ramiAbdou in #628
- feat: update job offer entity + ai prompt + backfill job offers 🚀 by @ramiAbdou in #629
- feat: job offers 💸 by @tomas-salgado in #606
- feat: clean up ui for internship/full-time offers 🧹 by @ramiAbdou in #630
- fix: query for backfilling offers ❗️ by @ramiAbdou in #631
- fix: share opportunity doesn't work w/ special formatting ❗️ by @ramiAbdou in #632
- fix: sign-on bonus for internship offers ❗️ by @ramiAbdou in #633
- feat: support salary ranges for filters + deleting offers 🚮 by @ramiAbdou in #634
- feat: support editing offers ✍️ by @ramiAbdou in #635
- feat: support multiple offers in one message 🚀 by @ramiAbdou in #636
- feat: show aggregated offer information 🚀 by @ramiAbdou in #637
- fix: implement dollar input for editing offer info 💰 by @ramiAbdou in #638
- fix: prevent scroll reset for offer modal ❗️ by @ramiAbdou in #639
- feat: ability to create internship/full-time offer from profile 🚀 by @ramiAbdou in #640
- feat: implement tooltip to show total comp calculation 🚀 by @ramiAbdou in #641
- chore: scrap sign-on bonus for internships 🗑️ by @ramiAbdou in #642
- refactor: abstract ui components for offer form and rename entity 🔄 by @ramiAbdou in #644
- feat: show offer posted time and add mixpanel event 🚀 by @ramiAbdou in #645
- fix: skip offer message when posted by bot ❗️ by @ramiAbdou in #646
- fix: add placeholder text for location to help formatting ❗️ by @ramiAbdou in #647
- fix: support mobile layout for offers ❗️ by @ramiAbdou in #649
- fix: change offer button naming from edit to save ❗️ by @tomas-salgado in #648
Full Changelog: v1.8.0...v1.9.0
v1.8.0
What's Changed
- fix: optional phone number has required behavior ❗️ by @ramiAbdou in #526
- feat: migrate from swag up to shopify 🎁 by @ramiAbdou in #527
- chore: remove all swag up code 🚮 by @ramiAbdou in #531
- feat: add 404 route + text to reduce swag confusion 🧠 by @ramiAbdou in #543
- feat: add relative points to airtable 🏆 by @ramiAbdou in #546
- fix: coalesce point totals for airtable updates ❗️ by @ramiAbdou in #548
- refactor: update import in migration creation script 📝 by @wflore19 in #552
- fix: "division by zero" issue in updating points per day 🏆 by @ramiAbdou in #553
- fix: order education history by end date first 🔽 by @ramiAbdou in #555
- chore: remove
version
from docker compose 🐋 by @wflore19 in #554 - fix: on delete cascade for member references 🗑️ by @ramiAbdou in #557
- fix: reject applicants who were already accepted in the past ❗️ by @ramiAbdou in #559
- chore: my first contribution 🚀 by @DavidUmanzor in #558
- chore: my first contribution 🚀 by @fiidalgo in #564
- chore: my first contribution 🚀 by @BrandonSandoval in #565
- chore: my first contribution 🚀 by @niaanderson-po in #566
- fix: grammar for "ethnicity(s)" 🤓 by @im6rn in #562
- chore: my first contribution 🌱 by @cjohnson74 in #529
- fix: make pinecone api key optional in dev ❗️ by @wflore19 in #568
- feat: send email share preference to airtable 💨 by @ramiAbdou in #560
- feat: migration for opportunities 🚀 by @ramiAbdou in #572
- refactor: generalize table sticky column 🔀 by @ramiAbdou in #573
- feat: reduce rounding of corners on
card
♠️ by @ramiAbdou in #574 - feat: create opportunity from slack message 👖 by @ramiAbdou in #575
- feat: refine opportunity w/ ai 🪄 by @ramiAbdou in #576
- feat: delete opportunity + write permission check 🚮 by @ramiAbdou in #577
- feat: support opportunities in company pages 💼 by @ramiAbdou in #578
- feat: ability to bookmark opportunities 🔖 by @ramiAbdou in #579
- feat: individual opportunity details in modal 👀 by @ramiAbdou in #580
- feat: ability to edit opportunities ✏️ by @ramiAbdou in #581
- feat: opportunities table w/ filtering 🚀 by @ramiAbdou in #582
- feat: track opportunity events w/ mixpanel 🟣 by @ramiAbdou in #583
- fix: bug w/ opportunity write permission 🐞 by @ramiAbdou in #584
- fix: usability issues w/ opportunities 🐞 by @ramiAbdou in #585
- fix: better handling of opportunity edge cases ❗️ by @ramiAbdou in #586
- fix: optimistic bookmarking + ai expiration date ❗️ by @ramiAbdou in #587
- feat: add leetcode tagged on company page 🗂️ by @cjohnson74 in #530
- feat: tooltip to show rejection reason for referrals 👤❌💬 by @wflore19 in #542
- feat: split company page layout into multiple tabs 💼 by @Wisesofthemall in #544
- chore: my first contribution ✨ by @Lyton505 in #569
- chore: my first contribution 🚀 by @AbdulmajeedKabala in #590
- feat: send notifications to write company reviews ✍️ by @rafa1510 in #556
- feat: make company review notification idempotent 1️⃣ by @ramiAbdou in #593
- feat: set gift card expiration to 2 weeks 📆 by @ramiAbdou in #600
- feat: read opportunity link content w/ puppeteer 🐶 by @ramiAbdou in #602
- fix: run
browserless
instance and integrate w/puppeteer
🍎 by @ramiAbdou in #603 - fix: create opportunity before refining it ❗️ by @ramiAbdou in #604
- fix: separate wait for network idle in puppeteer ⏰ by @ramiAbdou in #608
- feat: add ai chatbot to member profile 🤖 by @Boris713 in #588
- feat: support sources in ai chatbot 🤖 by @ramiAbdou in #609
- fix: parsing issue w/ chatbot references ❗️ by @ramiAbdou in #613
- fix: parsing issue w/ chatbot references (pt. 2) ❗️ by @ramiAbdou in #614
- chore: try private networking for database in admin dashboard 🔒 by @ramiAbdou in #617
- fix: revert attempt to use private networking in pipeline ↩️ by @ramiAbdou in #620
- refactor: remove all email campaign open/click code 🚮 by @ramiAbdou in #621
- chore: drop email marketing tables 🚮 by @ramiAbdou in #622
- chore: first contribution 🚀 by @amnzer in #599
- chore: my first contribution 🚀 by @Ifethecoder in #610
- chore: add intern and full-time job offers db tables 📚 by @tomas-salgado in #596
- fix: add missing
benefits
column in job offers migration ❗️ by @ramiAbdou in #623 - feat: job to monitor
#community-compensation
🧹 by @tomas-salgado in #595 - chore: support ipv6 redis connection for private networking 🔒 by @ramiAbdou in #625
- chore: try private networking for database in admin dashboard 🔒 by @ramiAbdou in #626
- chore: use private database url in all apps 🔒 by @ramiAbdou in #627
New Contributors
- @DavidUmanzor made their first contribution in #558
- @fiidalgo made their first contribution in #564
- @BrandonSandoval made their first contribution in #565
- @niaanderson-po made their first contribution in #566
- @im6rn made their first contribution in #562
- @cjohnson74 made their first contribution in #529
- @Lyton505 made their first contribution in #569
- @AbdulmajeedKabala made their first contribution in #590
- @amnzer made their first contribution in #599
- @Ifethecoder made their first contribution in #610
Full Changelog: v1.7.1...v1.8.0
v1.7.1
What's Changed
- chore: my first contribution 🚀 by @MCdev92 in #499
- chore: my first contribution 🚀 by @angel-romero-f in #502
- chore: my first contribution 🚀 by @Ekene-Azubuko in #504
- feat: add slack message shortcut to answer question ❓ by @ramiAbdou in #509
- fix: handle case where
thread_ts
is not present in shortcut ❗️ by @ramiAbdou in #510 - feat: update ai answer for public question 🔼 by @ramiAbdou in #512
- feat: increase threshold + formatting of bot reply to thread 🧵 by @ramiAbdou in #514
- fix: buggy indexing of array for reranking 🐞 by @ramiAbdou in #515
- feat: support ephemeral slack notifications + better ai replying 🤖 by @ramiAbdou in #517
- feat: auto reply to public questions via dm 🤖 by @ramiAbdou in #518
- feat: improve ux of deep linked app dm 💬 by @ramiAbdou in #519
- refactor: use
user_id
fromslack.auth.test
🔒 by @ramiAbdou in #520 - chore: my first contribution 🚀 by @Dharld in #513
- chore: warn + remove assignee when issue becomes inactive 🥾 by @Hamza-Mos in #459
- fix: pipeline readability + bug w/ arguments 🐞 by @ramiAbdou in #521
- chore: my first contribution 🚀 by @rod608 in #522
- feat: add "rejection reason" to applications and include in email ❎ by @arelymartinez16 in #462
- chore: my first contribution 🚀 by @mdg258 in #523
- feat: add goody integration for gift sending 🎉 by @omar-elbaz in #460
- feat: blur company reviews for users w/o access 🚫 by @rafa1510 in #487
- feat: ability to add phone number in profile 📲 by @Hamza-Mos in #482
New Contributors
- @MCdev92 made their first contribution in #499
- @angel-romero-f made their first contribution in #502
- @Ekene-Azubuko made their first contribution in #504
- @Dharld made their first contribution in #513
- @rod608 made their first contribution in #522
- @mdg258 made their first contribution in #523
Full Changelog: v1.7.0...v1.7.1
v1.7.0
What's Changed
- docs: update docker desktop instructions 🎬 by @ramiAbdou in #454
- feat: send daily "feed" notification w/ new resources posted 📣 by @Hamza-Mos in #435
- feat: update formatting of daily feed notification 🔗 by @ramiAbdou in #455
- fix: improve parsing to avoid hallucinations in resume review ❗️ by @ramiAbdou in #456
- fix: prompt for resume review to return json ❗️ by @ramiAbdou in #457
- chore: my first contribution 🚀 by @Soogz in #461
- feat: ability to remove admins ❌ by @wflore19 in #408
- fix: reset search after creating resource tag 🏷️ by @iperalta7 in #436
- feat: add activation modal w/ current status ✅ by @tomas-salgado in #430
- feat: add status pill for activation modal 💊 by @ramiAbdou in #463
- feat: ability to upvote company reviews 🔼 by @jessherlitz in #359
- feat: add country selection to
address
component 🇨🇦 by @jessherlitz in #434 - chore: my first contribution 🚀 by @Poughe in #465
- feat: add reviews + members to daily feed message 📰 by @ramiAbdou in #467
- feat: improve resource search to include description 🔎 by @gpolite0 in #466
- feat: include preferred name in reusable helper 👋 by @ramiAbdou in #469
- feat: support querying by join date in member directory 📆 by @ramiAbdou in #470
- chore: my first contribution 🚀 by @katlj in #475
- chore: my first contribution 🚀 by @rafa1510 in #476
- chore: remove
husky
+lint-staged
🪓 by @ramiAbdou in #479 - refactor: deprecate
iife
in favor ofrun
🏃♀️ by @ramiAbdou in #480 - refactor: get rid of unnecessary bull queues 🐂 by @ramiAbdou in #481
- feat: bull ui refresh w/ ability to clean/obliterate queue 🐂 by @ramiAbdou in #483
- feat: add tags to schools (ie: hbcu, hsi) 🎓 by @ramiAbdou in #486
- chore: my first contribution 💯 by @Meron-b in #485
- fix: add singular case to feed message 🔠 by @gpolite0 in #484
- feat: support anonymous company reviews 👻 by @jasonappah in #437
- chore: my first contribution 🚀 by @gxsoto in #488
- refactor: use path imports instead of extensions 🛣️ by @ramiAbdou in #489
- feat: infrastructure for rag using pinecone + openai 🌲 by @ramiAbdou in #490
- feat: slack ai chatbot 🤖 by @ramiAbdou in #491
- feat: improve ai chatbot prompt + ux 📈 by @ramiAbdou in #492
- feat: group threads together for pinecone embeddings 🌲 by @ramiAbdou in #494
- feat: add reranking step for better semantic search 👀 by @ramiAbdou in #495
- fix: add singular case to feed message pt 2 🔠 by @gpolite0 in #496
- feat: support real-time syncing of threads to pinecone 🌲 by @ramiAbdou in #501
- fix: add mixpanel token to
api
🟣 by @ramiAbdou in #503
New Contributors
- @Soogz made their first contribution in #461
- @Poughe made their first contribution in #465
- @katlj made their first contribution in #475
- @rafa1510 made their first contribution in #476
- @Meron-b made their first contribution in #485
- @jasonappah made their first contribution in #437
- @gxsoto made their first contribution in #488
Full Changelog: v1.6.0...v1.7.0
v1.6.0
NOTE: If you are macOS (M1/M2/M3), you may need to install some native dependencies on your machine in order to support node-canvas, which is the library we need in order to convert PDFs to PNGs in our AI Resume Review feature:
brew install pkg-config cairo pango
For more information, see here.
What's Changed
- refactor: consolidate gamification logic 🕹️ by @ramiAbdou in #423
- feat: add gamification for referrals 💰 by @ramiAbdou in #424
- refactor: use
@oyster/db
directly incore
🍎 by @ramiAbdou in #425 - feat: implement role-based authentication in admin dashboard 🔒 by @ramiAbdou in #426
- fix: table overflow styling 🏓 by @ramiAbdou in #427
- chore: my first contribution 🚀 by @tcodeabbot in #417
- feat: combine
#birthdays
channel messages 🎂 by @JustinhSE in #419 - fix: add null check to birthday notification ❎ by @ramiAbdou in #428
- feat: implement
hasReviewsAccess
🔐 by @ciaracade in #394 - chore: my first contribution ❤️ by @Hamza-Mos in #431
- chore: my first contribution ❤️ by @Capn05 in #432
- chore: my first contribution 🇧🇴 by @sbohrt in #433
- docs: simplify the
CONTRIBUTING.md
guide 🍃 by @ramiAbdou in #438 - refactor: rename
resume-book
toresume
module 📝 by @ramiAbdou in #441 - feat: ai resume review 💯 by @ramiAbdou in #445
- fix: add rate limiting + error handling to ai module 🛑 by @ramiAbdou in #446
- feat: add company sponsor logos to resume book 🏙️ by @ramiAbdou in #447
- feat: update point totals in airtable weekly 🕹️ by @ramiAbdou in #451
- fix: use airtable id when bulk updating ❗️ by @ramiAbdou in #452
- chore: my first contribution 🚀 by @EmmanuelKey in #440
- chore: my first contribution 🚀 by @gpolite0 in #442
- chore: my first contribution 🚀 by @Habeebah157 in #443
- chore: my first contribution 🚀 by @bryanansong in #444
- chore: my first contribution 🚀 by @nathanallen242 in #450
- fix: parse slack message in activity history 👖 by @ramiAbdou in #453
New Contributors
- @tcodeabbot made their first contribution in #417
- @Hamza-Mos made their first contribution in #431
- @Capn05 made their first contribution in #432
- @sbohrt made their first contribution in #433
- @EmmanuelKey made their first contribution in #440
- @gpolite0 made their first contribution in #442
- @Habeebah157 made their first contribution in #443
- @bryanansong made their first contribution in #444
- @nathanallen242 made their first contribution in #450
Full Changelog: v1.5.3...v1.6.0
v1.5.3
What's Changed
- feat: add "copy resume book link" 🔗 by @ramiAbdou in #378
- feat: add empty header cell to all tables 🍽️ by @ramiAbdou in #379
- fix: add empty data cell in table 🍽️ by @ramiAbdou in #380
- refactor: scrap infrastructure package 🗑️ by @ramiAbdou in #382
- refactor: consolidate resume book logic ☝️ by @ramiAbdou in #383
- feat: google drive integration w/ resume book 📚 by @ramiAbdou in #387
- feat: add google drive link in resume books table 📚 by @ramiAbdou in #391
- feat: create google drive folder on resume book creation 📚 by @ramiAbdou in #392
- feat: create airtable table upon resume book creation 📚 by @ramiAbdou in #393
- fix: prevent duplicate preferences in resume submission 📚 by @ramiAbdou in #395
- fix: show error message for linkedin field in resume book ❗️ by @ramiAbdou in #396
- feat: add education history checkbox and end date to resume book 📚 by @ramiAbdou in #397
- feat: add clear message when education history isn't updated ❗️ by @ramiAbdou in #398
- feat: edit resume book details 📚 by @ramiAbdou in #400
- feat: add "# of registrations" to events table #️⃣ by @ramiAbdou in #401
- refactor:
normalizeUri
and consolidateutils
package 📦 by @ramiAbdou in #402 - feat: add
hidden
capability for resume books 🙈 by @ramiAbdou in #403 - feat: ability to edit schools 🚌 by @ramiAbdou in #405
- fix: support
og:
meta tags 🏷️ by @ramiAbdou in #406 - chore: my first contribution 🤖 by @iperalta7 in #384
- feat: update code of conduct violation email 💬 by @ramiAbdou in #407
- chore: my first contribution 🚀 by @Lumiho in #381
- chore: prisma studio setup 🔷 by @wflore19 in #360
- feat: edit a resource's attachment 🔗 by @arelymartinez16 in #386
- feat: implement
FileUploader
and use in resource form 🗂️ by @wflore19 in #337 - feat: replace all native file inputs w/
FileUploader
🗂️ by @ramiAbdou in #409 - feat: show oyster contribution stats in admin dashboard 📊 by @tomas-salgado in #390
- feat: add loading state for slow github api request ⏰ by @ramiAbdou in #411
- fix: exclude tags that are already selected in resource form ❗️ by @jessherlitz in #311
- feat: cache google places api responses ⚡️ by @ramiAbdou in #412
- refactor: the scholarships module 💰 by @ramiAbdou in #413
- feat: in-person event check in 👋 by @ramiAbdou in #414
- feat: delete event and associated data 🚮 by @ramiAbdou in #415
- refactor: add
buildMeta
helper for SEO tags 🔎 by @ramiAbdou in #418 - refactor: applications module 🔀 by @ramiAbdou in #421
- feat: referrals 📤 by @ramiAbdou in #422
New Contributors
- @iperalta7 made their first contribution in #384
- @Lumiho made their first contribution in #381
- @jessherlitz made their first contribution in #311
Full Changelog: v1.5.2...v1.5.3
v1.5.2
What's Changed
- fix: ambiguous column name in applications query ❗️ by @ramiAbdou in #357
- fix: remove duplicates of accepted application ❌ by @wflore19 in #358
- feat: personal information for resume book 📚 by @ramiAbdou in #362
- feat: support resume book sponsors (companies) 📚 by @ramiAbdou in #363
- feat: use education experience in resume book 📚 by @ramiAbdou in #364
- feat: add job search specific fields to resume book 📚 by @ramiAbdou in #365
- feat: support for editing a resume book submission 📚 by @ramiAbdou in #366
- feat: format data for airtable in resume book 📚 by @ramiAbdou in #367
- fix: rename
s3_key
toobject_key
❗️ by @ramiAbdou in #368 - fix: casing issue with the
underscoreBeforeDigits
option ❗️ by @ramiAbdou in #369 - feat: email template for resume submitted/resubmitted 📫 by @ramiAbdou in #370
- feat: add gamification for submitting resume 📚 by @ramiAbdou in #371
- feat: make resume file optional when resubmitting 📚 by @ramiAbdou in #372
- feat: respect the start/end date of a resume book 📚 by @ramiAbdou in #373
- fix: confirmation state after submitting resume book 📚 by @ramiAbdou in #374
- feat: update ux details for resume book submission 📚 by @ramiAbdou in #375
- fix: issue with timezone for resume book creation 📚 by @ramiAbdou in #376
- fix: issue with timezone for resume book creation pt. 2 📚 by @ramiAbdou in #377
Full Changelog: v1.5.1...v1.5.2