diff --git a/README.md b/README.md index c6f2762..9902977 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Canopy -0.4-INDEV Hotfix 3 +0.4-INDEV Hotfix 2 ========= Canopy - /ˈkæ.nə.pi/: diff --git a/package.json b/package.json index e0c23a8..b758038 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,6 @@ { "name": "canopy-of-indev", - "version": "0.4.3", - "canopyDisplayVersion": "0.4-Indev Hotfix 3", + "version": "0.4.2", "license": "AGPL-3.0-only", "dependencies": { "@braintree/sanitize-url": "^7.1.1", diff --git a/src/controllers/aboutController.js b/src/controllers/aboutController.js index 187157b..2b32b84 100644 --- a/src/controllers/aboutController.js +++ b/src/controllers/aboutController.js @@ -16,7 +16,6 @@ along with this program. If not, see .*/ //Config const config = require('../../config.json'); -const package = require('../../package.json'); //Local Imports const csrfUtils = require('../utils/csrfUtils'); @@ -24,5 +23,5 @@ const csrfUtils = require('../utils/csrfUtils'); //register page functions module.exports.get = async function(req, res){ //Render page - return res.render('about', {aboutText: config.aboutText, instance: config.instanceName, user: req.session.user, version: package.canopyDisplayVersion, csrfToken: csrfUtils.generateToken(req)}); + return res.render('about', {aboutText: config.aboutText, instance: config.instanceName, user: req.session.user, csrfToken: csrfUtils.generateToken(req)}); } \ No newline at end of file diff --git a/src/schemas/user/migrationSchema.js b/src/schemas/user/migrationSchema.js index 9aff595..c17ed51 100644 --- a/src/schemas/user/migrationSchema.js +++ b/src/schemas/user/migrationSchema.js @@ -217,22 +217,13 @@ migrationSchema.statics.ingestLegacyUser = async function(rawProfile){ return; } - //Pull rank, dropping over-ranked users down to current enum length - let rank = Math.min(Math.max(0, profileArray[3]), permissionModel.rankEnum.length - 1); - - //If this user was a mod on the old site - if(rank == 2){ - //Set them up as a mod here - rank = permissionModel.rankEnum.length - 2; - } - //Create migration profile object from scraped info const migrationProfile = new this({ user: profileArray[1], pass: profileArray[2], //Clamp rank to 0 and the max setting allowed by the rank enum - rank, + rank: Math.min(Math.max(0, profileArray[3]), permissionModel.rankEnum.length - 1), email: validator.normalizeEmail(profileArray[4]), date: profileArray[7], }) diff --git a/src/server.js b/src/server.js index f783a6d..50dcda0 100644 --- a/src/server.js +++ b/src/server.js @@ -75,7 +75,6 @@ const apiRouter = require('./routers/apiRouter'); //Define Config variables const config = require('../config.json'); -const package = require('../package.json'); const port = config.port; const dbUrl = `mongodb://${config.db.user}:${config.db.pass}@${config.db.address}:${config.db.port}/${config.db.database}`; @@ -209,7 +208,7 @@ Might be better if she kicked off everything at once, and ran a while loop to ch This runs once at server startup, and most startups will run fairly quickly so... Not worth it?*/ async function asyncKickStart(){ //Lettum fuckin' know wassup - console.log(`${config.instanceName}(Powered by Canopy ${package.canopyDisplayVersion}) is booting up!`); + console.log(`${config.instanceName}(Powered by Canopy) is booting up!`); //Run legacy migration await migrationModel.ingestLegacyDump(); diff --git a/src/views/about.ejs b/src/views/about.ejs index cebfc35..8842ff0 100644 --- a/src/views/about.ejs +++ b/src/views/about.ejs @@ -40,8 +40,6 @@ along with this program. If not, see . %> it was decided that the original cytube fork, fore.st, had been run past it's prime. In summer/fall 2024, work began on a replacement. The resulting software became Canopy, which was first used to run the ourfore.st instance in late 2025.

-
-

Canopy Ver: <%= version %>

diff --git a/www/js/channel/channel.js b/www/js/channel/channel.js index 6da26c3..5d50499 100644 --- a/www/js/channel/channel.js +++ b/www/js/channel/channel.js @@ -337,16 +337,13 @@ function onYouTubeIframeAPIReady(){ //Set embed api to true client.ytEmbedAPILoaded = true; - //If the player is ready and has a mediaHandler loaded - if(client.player != null && client.player.mediaHandler != null){ - //Get currently playing item - const nowPlaying = client.player.mediaHandler.nowPlaying; + //Get currently playing item + const nowPlaying = client.player.mediaHandler.nowPlaying; - //If we're playing a youtube video and the official embeds are enabled - if(nowPlaying.type == 'yt' && localStorage.getItem('ytPlayerType') == "embed"){ - //Restart the video now that the embed api has loaded - client.player.start({media: nowPlaying}); - } + //If we're playing a youtube video and the official embeds are enabled + if(nowPlaying.type == 'yt' && localStorage.getItem('ytPlayerType') == "embed"){ + //Restart the video now that the embed api has loaded + client.player.start({media: nowPlaying}); } } diff --git a/www/js/channel/mediaHandler.js b/www/js/channel/mediaHandler.js index 158e5cb..3dd11ae 100644 --- a/www/js/channel/mediaHandler.js +++ b/www/js/channel/mediaHandler.js @@ -907,10 +907,6 @@ class hlsLiveStreamHandler extends hlsBase{ return; } - //Resize chat box to video aspect, since this is the only event thats reliably called on ratio change - //Re-enforcing UX rules a little more often shouldnt cause too many issues anywho. - this.client.chatBox.resizeAspect(); - //Calculate distance to end of stream const difference = this.video.duration - this.video.currentTime; diff --git a/www/js/channel/panels/pmPanel.js b/www/js/channel/panels/pmPanel.js index bcebc97..aaab30b 100644 --- a/www/js/channel/panels/pmPanel.js +++ b/www/js/channel/panels/pmPanel.js @@ -24,7 +24,7 @@ class pmPanel extends panelObj{ * @param {channel} client - Parent client Management Object * @param {Document} panelDocument - Panel Document */ - constructor(client, panelDocument, startSesh){ + constructor(client, panelDocument){ super(client, "Private Messaging", "/panel/pm", panelDocument); /** @@ -71,17 +71,7 @@ class pmPanel extends panelObj{ //Tell PMHandler to start tracking this panel this.client.pmHandler.panelList.set(this.uuid, null); - //Define network related listeners this.defineListeners(); - - //If a start sesh was provided - if(startSesh != null && startSesh != ""){ - //Send message out to server - this.client.pmSocket.emit("pm", { - recipients: startSesh.split(" "), - msg: "" - }); - } } closer(){ @@ -136,6 +126,7 @@ class pmPanel extends panelObj{ this.seshSendButton.addEventListener("click", this.send.bind(this)); this.seshBuffer.addEventListener('scroll', this.scrollHandler.bind(this)); this.ownerDoc.defaultView.addEventListener('resize', this.handleAutoScroll.bind(this)); + } startSesh(event){ @@ -189,12 +180,6 @@ class pmPanel extends panelObj{ * Render out current sesh array to sesh list UI */ renderSeshList(){ - //If we don't have a sesh list - if(this.seshList == null){ - //Fuck off, you're not even done building the object yet. - return; - } - //Clear out the sesh list this.seshList.innerHTML = ""; diff --git a/www/js/channel/userlist.js b/www/js/channel/userlist.js index 5a4f24c..7db5a5e 100644 --- a/www/js/channel/userlist.js +++ b/www/js/channel/userlist.js @@ -173,8 +173,7 @@ class userList{ function renderContextMenu(event){ //Setup menu map let menuMap = new Map([ - ["Profile", ()=>{this.client.cPanel.setActivePanel(new panelObj(this.client, user.user, `/panel/profile?user=${user.user}`))}], - ["PM", ()=>{this.client.cPanel.setActivePanel(new pmPanel(client, undefined, user.user))}], + ["Profile", ()=>{this.client.cPanel.setActivePanel(new panelObj(this.client, `${user.user}`, `/panel/profile?user=${user.user}`))}], ["Mention", ()=>{this.client.chatBox.catChat(`${user.user} `)}], ["Toke With", ()=>{this.client.chatBox.tokeWith(user.user)}], ]);