Skip to main content

DeviantCord V4.0.9 Release & Major Announcements

ยท 2 min read
Michael Riley
Michael Riley
DeviantCord Creator/ Developer

We're excited to share several important updates for the DeviantCord community today!

๐Ÿ“ฃ Now Open Source! We're thrilled to announce that DeviantCord's ecosystem is now publicly available on GitHub! You can now access the repositories for:

  • DeviantCord (main application)
  • DeviantDBS (database system)
  • Documentation website

Feel free to explore our codebase, contribute, and help us improve these projects!

๐Ÿ”„ V4.0.9 Release Our latest beta update focuses on internal improvements, specifically a major code restructuring to enhance maintainability and readability. The main class file has been reorganized, with various functionalities now properly distributed across dedicated files.

๐Ÿ› ๏ธ Technical Updates

  • Major code refactoring for improved maintainability
  • Resolution of the persistent TransientSQLConnection bug
  • Public Root Cause Analysis (RCA) published today detailing the recent connection issues

โš ๏ธ Temporary Internal Code Freeze As of today, DeviantCord will be entering an internal code freeze period until the New Year. During this time:

  • Only critical bugs will be addressed by the core team
  • No new features will be implemented by the core team
  • Regular core development will resume in January 2025

This temporary pause is necessary as our primary developer, Michael, needs to focus on final exams and college commitments.

๐Ÿ’ก Community Contributions Welcome! While our core team is on a code freeze, we enthusiastically welcome external contributions! Feel free to:

  • Submit pull requests
  • Propose new features
  • Help improve documentation
  • Fix non-critical bugs

๐Ÿ› Bug Reporting During Freeze Please continue to report any issues through:

  • GitHub Issues on our newly public repositories
  • The #beta-bug-reports channel on DeviantCord Discord

๐Ÿ“… Beta Testing Extension Due to the recent technical challenges, we're extending the beta testing period by a few weeks to ensure thorough testing and stability.

Thank you for your understanding and continued support of DeviantCord. We're especially excited to see how the community will engage with our newly open-sourced codebase!

Best regards, The DeviantCord Team

DeviantCord Incident 1 Root Cause Analysis

ยท 4 min read
Michael Riley
Michael Riley
DeviantCord Creator/ Developer

DeviantCord Service Interruption - Beta Periodโ€‹

Incident Period: Early November 2024 - November 24, 2024
Resolution Date: November 24, 2024, 18:10 CST
Service Status: Beta Testing Phase

Executive Summaryโ€‹

During early November 2024, while DeviantCord was in its beta testing phase, some users experienced intermittent service interruptions when accessing their folders. Our developers identified the root cause as a database optimization issue affecting folder updates. The issue was fully resolved on November 24, 2024, through improvements to our database management system. As this occurred during our beta testing period, we were able to rapidly test solutions in the production environment with our beta testers' assistance.

Beta Testing Contextโ€‹

  • This incident occurred during our announced beta testing phase
  • Changes were deployed directly to production for rapid testing
  • Beta testers were aware of potential service interruptions
  • Each fix required 7-8 hours of observation to verify effectiveness
  • No data loss occurred during any testing period

Impactโ€‹

  • Intermittent delays when accessing or updating folders
  • Occasional service timeouts during folder operations
  • Limited to beta testing participants
  • No data loss occurred during this incident
  • No security implications were associated with this incident

Root Causeโ€‹

The interruptions were caused by how our system handled large-scale folder updates. The process was attempting to update too many folders in a single operation, which occasionally led to connection timeouts.

Resolution Timelineโ€‹

  1. Initial Detection

    • Issue was first identified through our error monitoring system (Sentry)
    • Developers immediately began investigation
    • Beta testers subsequently reported occasional timeouts when accessing folders
    • Each potential fix required 7-8 hours of observation to verify effectiveness
  2. Beta Testing Advantage

    • Able to test solutions directly in production environment
    • Beta testers provided real-time feedback
    • Quick iteration on potential fixes
    • Extended observation periods (7-8 hours) for each solution attempt
  3. Investigation Progress

    • Multiple potential causes investigated through direct testing
    • Beta environment allowed for rapid deployment of test fixes
    • Source of the problem was isolated to folder update operations
    • Real-world testing with beta users provided valuable feedback
  4. Resolution

    • Implemented improved update process
    • Deployed fix directly to production on November 24, 2024
    • After the standard 7-8 hour observation period, confirmed service had returned to normal operation

Improvements Madeโ€‹

  1. System Changes
    • Optimized how folder updates are processed
    • Modified database operation patterns
    • Implemented more efficient update process

Planned Improvementsโ€‹

  1. Infrastructure Monitoring Enhancement

    • Separate from DeviantCord application
    • Planning to add comprehensive infrastructure performance metrics
    • Will implement enhanced system-wide error detection
    • Development of new automated infrastructure alerts
    • Deployment of dedicated monitoring infrastructure
  2. PostgreSQL Logging Enhancement

    • Implementation of detailed PostgreSQL logging
    • Enhanced database error tracking and diagnostics
    • Improved query performance monitoring
    • Better tracking of database connection states

Benefits of Beta Testingโ€‹

Our beta testing phase allowed us to:

  1. Rapidly test potential solutions
  2. Get immediate feedback from real users
  3. Identify and fix issues before general release
  4. Validate fixes in a real-world environment
  5. Make quick iterations on solutions

Future Safeguardsโ€‹

We are committing to implement:

  1. Comprehensive system monitoring
  2. Enhanced logging and alerting systems
  3. Proactive performance monitoring
  4. Improved diagnostic capabilities
  5. Regular system health checks

Summaryโ€‹

This incident, occurring during our beta testing phase, helped us identify and address an important aspect of our folder management system. The beta testing environment allowed us to quickly test and validate solutions, though each fix required 7-8 hours of observation to verify effectiveness. We have implemented initial fixes and have planned comprehensive monitoring and logging improvements to better detect and prevent similar issues in the future. We appreciate our beta testers' patience and valuable feedback during the resolution period. These learnings will help ensure a more stable experience for all users when the service enters general availability.

Sign Offโ€‹

This Root Cause Analysis has been reviewed and approved on November 25, 2024.


Michael Riley Lead Developer, DeviantCord November 25, 2024

DeviantCord 4 Beta Service Update

ยท 3 min read
Michael Riley
Michael Riley
DeviantCord Creator/ Developer

Dear DeviantCord Users,

We want to provide you with an update regarding persistent service challenges and our recent maintenance efforts.

Ongoing Database Connection Issuesโ€‹

Over the past few weeks, we've been grappling with persistent TransientConnectionSQL Exceptions in our system. This has been particularly challenging to troubleshoot as each potential solution requires 7-8 hours of observation to verify its effectiveness. We've been methodically testing different approaches, but the intermittent nature of these exceptions has made finding a definitive solution time-consuming.

Recent Maintenanceโ€‹

On November 23rd at 2AM CST, we completed maintenance on our primary dedicated server to apply the latest updates and patches. During this process, we had to temporarily disable DeviantCord services as we continue to address the TransientConnectionSQL Exceptions.

Current Troubleshooting Statusโ€‹

In our latest attempt to resolve these database connection issues, we have:

  • Reduced our node cluster to a single active node
  • Temporarily disabled replication on our production PostgreSQL service

DeviantArt API Access Issues & Service Adjustmentsโ€‹

We're currently experiencing widespread access restrictions to DeviantArt's API, with their CloudFront service blocking requests from approximately two-thirds of our servers. In response, we've relocated the bot program and DBS components to servers that still maintain API access. Currently, only one-third of our infrastructure can successfully communicate with DeviantArt's API. We believe this is a temporary issue and are monitoring the situation closely.

Infrastructure Noteโ€‹

While the affected servers maintain network redundancy, they currently operate without full power redundancy, relying on limited UPS systems. We are aware of this limitation and are managing it accordingly.

Important Bug Fix: AllFolders Featureโ€‹

We have resolved a critical bug affecting the AllFolders feature where listeners were not being properly added to the database. Action Required: If you previously set up an allfolder, please verify its presence using the deletefolder command, which will display all active listeners on your server.

Moving Forwardโ€‹

We understand these ongoing issues may be frustrating, and we appreciate your patience as we work through each potential solution. Our methodical approach, while time-consuming, is necessary to ensure we implement effective, long-term fixes. We anticipate these latest changes will contribute to improved service stability throughout the holiday season.

Our team continues to monitor both the database connection issues and API access situation. We will provide additional updates as we have more information to share.

Thank you for your continued understanding and support.

Best regards,
The DeviantCord Team

DeviantCord 4 Beta 4.0.4 Patch Notes

ยท 2 min read
Michael Riley
Michael Riley
DeviantCord Creator/ Developer

version

We're excited to announce the latest beta release of DeviantCord (v4.0.4), featuring significant performance improvements and bug fixes. This update focuses on enhancing connection handling, improving thread management, and resolving several critical issues with our checking systems.

Important Notice to First-Time Users ๐Ÿ“ขโ€‹

We acknowledge that previous connection and thread management issues prevented many first-time users from successfully testing the bot. If you experienced setup failures or connection timeouts during your initial testing, we strongly encourage you to try again with this new release. The v4.0.4 update specifically addresses these initialization problems and should provide a much smoother onboarding experience.

Performance Improvements ๐Ÿš€โ€‹

Enhanced Database Connection Managementโ€‹

  • Implemented HikariCP optimizations to resolve SQLTransientConnectionExceptions
  • Fixed issues where Postgres connections were becoming unavailable

Thread Management Enhancementsโ€‹

  • Implemented stricter CommandExecutors for Slash Command Interactions
  • Prevented potential main thread blocking issues
  • Migrated da_token Runnable task to a dedicated Executor
  • Introduced ThreadFactories for improved thread management

Bug Fixes ๐Ÿ›โ€‹

Check System Improvementsโ€‹

L1 Check Systemโ€‹

  • Resolved hanging issues when retrieving failure reasons
  • Fixed Sentry reporting integration

L2 Check Systemโ€‹

  • Fixed failure reason retrieval issues
  • Restored proper Sentry issue reporting functionality

Folder Managementโ€‹

  • Fixed null pointer exception in AllFolders functionality
  • Resolved missing data in responseIds:
    • Added missing artist information
    • Added missing channel information

Found a bug or have feedback? Please report it through our Discord support channel.

DeviantCord 4 Beta Release

ยท 4 min read
Michael Riley
Michael Riley
DeviantCord Creator/ Developer

Guess who's back? DeviantCord V4.0 is here!

We're launching the public beta test of DeviantCord V4.0! While we've worked hard to squash bugs before this release, this is still a beta version and you may encounter some unexpected behavior. Your testing and feedback will be crucial in helping us identify and fix any remaining issues before the final release.

๐Ÿ“œ TERMS OF SERVICEโ€‹

  • DeviantCord now has official Terms of Service: https://deviantcord.com/terms-of-service
  • The Terms are aligned with DeviantArt's Terms of Service
  • By using DeviantCord, you agree to both DeviantCord's and DeviantArt's Terms of Service
  • Please review these terms before participating in the beta

๐Ÿ› BETA TEST DISCLAIMERโ€‹

  • This is a BETA VERSION - you may encounter bugs during testing
  • We've fixed many issues, but some unexpected behavior may still occur
  • Your feedback is essential to help us identify and resolve remaining problems
  • If you need a stable experience, please wait for the Release Candidate

โš ๏ธ IMPORTANT MIGRATION NOTICEโ€‹

  • The previous DeviantCord bot user has been permanently deleted
  • You will need to reinvite the new bot to your server using our updated invite link
  • All previous bot data has been cleared, including your configured listeners
  • You will need to reconfigure your artwork listeners and settings
  • Use /setuprole first to configure admin access before setup

๐Ÿš€ What's New in V4.0โ€‹

  • Discord Slash Commands: Fully integrated with Discord's slash command system for easier usage
  • Enhanced Gallery Integration: Seamlessly browse and share artwork directly in your Discord channels
  • Expanded Notifications: Get alerts for artwork, journals, AND status updates from your favorite artists
  • Post Listeners: Configure notifications for journals and status updates
  • Performance Boost: Faster response times and better reliability
  • Custom Embedding: New preview cards with enhanced artwork details

๐Ÿ” Beta Test Informationโ€‹

  • Duration: 4 weeks
  • Next Phase: Release Candidate Build 1
    • Will begin after beta testing concludes
    • Beta may be extended with another beta build if needed
  • Access: Public beta - everyone is welcome to participate!
  • Feedback: Use the #beta-feedback channel
  • Bug Reports: Submit through #bug-reports with as much detail as possible

๐ŸŽฏ How to Participateโ€‹

  1. Review and accept the Terms of Service
  2. Reinvite the bot using the new invite link here
  3. Configure admin role using /setuprole
  4. Set up your listeners and notifications
  5. Start testing and share your experience
  6. Report any bugs you find (except known issues)

โš ๏ธ Important Notesโ€‹

  • As a beta version, expect occasional bugs and issues
  • We've extensively tested this version, but problems may still occur
  • Some features might behave unexpectedly
  • We are waiting for Discord to verify the bot so it may be limited to 100 servers for a short time
  • We actively monitor bug reports and will release fixes as needed
  • Previous bot data CANNOT be recovered
  • You must set up your listeners again from scratch

๐Ÿ’ซ Get Startedโ€‹

  1. Review the Terms of Service at https://deviantcord.com/terms-of-service
  2. Use this link to add the new bot: Bot Invite Link
  3. Type /help to see the command list
  4. Use /setuprole to configure admin access
  5. Begin configuring your listeners and notifications

๐Ÿ“ Known Issuesโ€‹

  • Some commands may refer to "journal listeners" instead of "post listeners"
    • This will be corrected in a future build
    • The functionality remains the same regardless of the name
  • The /updatechannel command is currently unavailable
    • Please wait for a future build for this functionality
  • These issues are already tracked and don't need to be reported

๐Ÿ”ง Found a Bug?โ€‹

  1. Check if it's listed in the Known Issues section above
  2. Check if it's already reported in #bug-reports
  3. Include as much information as possible:
    • What you were doing when it occurred
    • What you expected to happen
    • What actually happened
    • Any error messages you saw
  4. Screenshots are always helpful!

Thank you for helping us test DeviantCord V4.0! While we've worked hard to fix many bugs before this beta, your testing will help us identify and resolve any remaining issues. Together, we're making DeviantCord better for everyone.

Happy Testing! ๐ŸŽจ

DeviantCord 4 Upcoming Release

ยท 6 min read
Michael Riley
Michael Riley
DeviantCord Creator/ Developer

Hello everyone! It has been a long time, and you are all overdue for an update about the current state of DeviantCord, which quite frankly has been having a lot of issues with consistency and deviations being missed. In this post I will be explaining the current status of the project, the issues we experienced during DeviantCord 4's development and how we are planning on handling things moving forward to prevent this period of stagnation after the release of DeviantCord 4.

I will also mention, that for users of DeviantCord 3. Today I have released a fix for DeviantCord 3 to fix an issue that was affecting a lot of users, primarily it prevented group deviation folders from posting. This fix was very easy to fix once I was made aware of it. You should see a significant backlog of deviations being posted to your servers posted last night.