June 17, 2025
feat: update IDEA_DETAILS to use dictionary access for idea attributes and improve message formatting
refactor: make _fetch function more readable
fix: include timestamp and votes in idea data retrieval from Firebase
~2h of untracked debugging
fix: update emoji sets to use strings and adjust vote handling logic for reactions
A lot of debugging.
feat: enhance vote management by allowing separate upvotes and downvotes, and validate input for vote updates
Fix Slack API settings for new functionality.
feat: add IDEA_DETAILS lambda for structured idea presentation with submission info and web link
feat: implement vote updating functionality and handle reactions for ideas
fix: add missing 'me' subcommand to COMMANDS global variable, split votes into upvotes and downvotes in idea dicts, convert blocks dict to array of dicts, use blocks kwarg instead of message in handlecommand function
refactor: handlecommand function, move app initialization to the end, replace decorators with methods
refactor: write help and invalid command messages as blocks instead of strings, and write relevant changes in the implementation
docs: add docstrings to sendephemeralmessage and sendchannelmessage functions for clarity
feat: allow blocks and refactor message handling functions to improve clarity and reusability
feat: improve idea fetching and counting
docs: add type hints and docstrings to Firebase interaction functions for improved clarity and documentation
WIP: Work on subcommands
feat: enhance idea fetching functionality to allow for subcommands and improve command parsing
refactor: replace 'command' with 'message' in 'PI:' message handling
refactor: command handling to improve clarity and structure
feat: add and move command and subcommand validation
feat: simplify start.sh by removing environment variable setup and relevant directory changes and log python errors (undoes some older changes)
chore: remove setenvvars.sh from .gitignore
and other maintainance and debugging. The attached image is not particularly informative, but I deleted the terminal so I don't have access to the changes I made on Nest.
Debug. The bot service (systemd) wasn't running properly.
feat: remove .env.example and update start.sh to ensure environment variables are set correctly
feat: update README with Firebase and Nest setup instructions and correct project link
feat: add example service and env files
feat: ensure start.sh is executable after cloning the repository and create and ignore script to set environment variables
feat: add timestamp to idea submission details and update handling functions
fix: send bot messages in thread
feat: add update script for cloning and updating the repository when hosting
feat: enhance idea submission by adding user name and vote tracking and update subcommands
fix: remove debugging print statements
feat: separate slash commands and message prefixes, implement slash command and subcommand handling for idea fetching, counting, and help responses, add lambda functions for streamlined messages
refactor: simplify redundant return statement in getideacountfromfirebase()
WIP: Separate slash commands and message prefix to create subcommands and flags
Commits
refactor: extract command parsing logic into a separate function for better readability
feat: enhance idea submission handling with dedicated message templates and functions
feat: create message threads instead of sending new ones
feat: refactor handle_command to handle both slash commands and 'PI' prefixed messages
Small bug fixes and refactoring.
This devlog should probably have been split into many, but I got sucked into coding.
I completed the thing. This script now extracts task text from the task JS files in hackclub/tonic. This is something I'd use and as of writing, 9 upvoters seem to like the idea of. I'll be adding updates to make the presentation better and adding nice-to-have features, but this Minimum Viable Product is here.
fix: correct method call to getSentenceFromString in Sentence constructor
feat: refactor scrape.js to use ES module syntax and enhance sentence extraction logic
refactor: rename and restructure scrape functions to improve clarity and organization
chore: update .gitignore to include taskText.json
feat: enhance task scraping functionality with validation and markdown conversion
chore: ignore taskText.md
fix: correct workaround implementation of kwargs in JS
feat: default to scraping all tasks if no tasksList is provided
fix: ensure tasks list includes .js extension
feat: implement Sentence class to extract sentences from lines of code
A JS script that extracts the Tonic's task text into a markdown file for easy readability. Note that I'm only writing the scraping script. I haven't contributed to anything else in Tonic (that's all, Lux and team).
feat: implement data processing and create BigramLanguageModel class
chore: add formatting related settings
Attempted to understand and implement the loss part, but I need a review on Transformers first.
Download datasets, understand tokenization, implement character level tokenization.
Nano GPT, as built by Andrej Kaparthy in his 2023 video
A Slack bot for submitting and voting on ideas.
This was widely regarded as a great move by everyone.