waiting for fix!

I was going to take a crack at it. I'm fairly good at Objective-C. However, I can't even get Adium to compile with the newest Xcode. What a mess. File encoding issues galore.Robby wrote:I've filed a formal bug report here: https://trac.adium.im/ticket/16744
If anyone here is into programming Objective-C and able to fix the bug, please don't hesitate to contact me.
Yes, getting it to build with a newer version of Xcode will probably have to be first step.Incognitus wrote:I was going to take a crack at it. I'm fairly good at Objective-C. However, I can't even get Adium to compile with the newest Xcode. What a mess. File encoding issues galore.Robby wrote:I've filed a formal bug report here: https://trac.adium.im/ticket/16744
If anyone here is into programming Objective-C and able to fix the bug, please don't hesitate to contact me.
Which branch should I even use? Currently working off of adium-1.5.10 (since the current version is 1.5.10.4). Should I be using adium-1.6 as my base instead? Probably won't matter as far as the work needed to get it compiled.Robby wrote: Yes, getting it to build with a newer version of Xcode will probably have to be first step.
I would suggest working off of 1.5.10.4, yeah. If you could submit a pull request at Bitbucket (https://bitbucket.org/adium/adium), that would make code review easier. I'm confident I could get someone who knows Adium code well to have a look.Incognitus wrote:Which branch should I even use? Currently working off of adium-1.5.10 (since the current version is 1.5.10.4). Should I be using adium-1.6 as my base instead? Probably won't matter as far as the work needed to get it compiled.
Code: Select all
- (BOOL)isHorizontalScroller {
return self.enclosingScrollView.horizontalScroller == self;
}
Good idea. I'll give it a try.Trolan wrote:sFlags looks to have been a private member of NSScroller, and is now totally hidden.
As the only member used is isHoriz, it would seem checking if the JVMarkedScroller's enclosing NSScrollView's horizontal controller is this one might be a suitable equivalent.
Perhaps creating and using the following property would do itCode: Select all
- (BOOL)isHorizontalScroller { return self.enclosingScrollView.horizontalScroller == self; }
Code: Select all
diff --git a/Plugins/WebKit Message View/Template.html b/Plugins/WebKit Message View/Template.html
--- a/Plugins/WebKit Message View/Template.html
+++ b/Plugins/WebKit Message View/Template.html
@@ -214,10 +214,10 @@
//Auto-scroll to bottom. Use nearBottom to determine if a scrollToBottom is desired.
function nearBottom() {
- return ( document.body.scrollTop >= ( document.body.offsetHeight - ( window.innerHeight * 1.2 ) ) );
+ return ( document.documentElement.scrollTop >= ( document.body.offsetHeight - ( window.innerHeight * 1.2 ) ) );
}
function scrollToBottom() {
- document.body.scrollTop = document.body.offsetHeight;
+ window.scrollTo(0, document.body.scrollHeight);
}
//Dynamically exchange the active stylesheet
The bigger problem is there needs to be some serious code updates to get it to even compile. It looks like a huge job.Trolan wrote:Of all the places, it looks to be in the HTML used by AIWebKitMessageViewController. The elements previously referenced in the JS either don't return useful information (case for nearBottom()), or don't act as they used to (case for scrollToBottom()). Now, how far back these specific alternates work, I do not know, but MozDev indicates they've been in Safari for ages, so they're likely to work for older macOS revisions as well.
Code: Select all
diff --git a/Plugins/WebKit Message View/Template.html b/Plugins/WebKit Message View/Template.html --- a/Plugins/WebKit Message View/Template.html +++ b/Plugins/WebKit Message View/Template.html @@ -214,10 +214,10 @@ //Auto-scroll to bottom. Use nearBottom to determine if a scrollToBottom is desired. function nearBottom() { - return ( document.body.scrollTop >= ( document.body.offsetHeight - ( window.innerHeight * 1.2 ) ) ); + return ( document.documentElement.scrollTop >= ( document.body.offsetHeight - ( window.innerHeight * 1.2 ) ) ); } function scrollToBottom() { - document.body.scrollTop = document.body.offsetHeight; + window.scrollTo(0, document.body.scrollHeight); } //Dynamically exchange the active stylesheet
I tried editingTrolan wrote:Of all the places, it looks to be in the HTML used by AIWebKitMessageViewController. The elements previously referenced in the JS either don't return useful information (case for nearBottom()), or don't act as they used to (case for scrollToBottom()). Now, how far back these specific alternates work, I do not know, but MozDev indicates they've been in Safari for ages, so they're likely to work for older macOS revisions as well.
Code: Select all
diff --git a/Plugins/WebKit Message View/Template.html b/Plugins/WebKit Message View/Template.html --- a/Plugins/WebKit Message View/Template.html +++ b/Plugins/WebKit Message View/Template.html @@ -214,10 +214,10 @@ //Auto-scroll to bottom. Use nearBottom to determine if a scrollToBottom is desired. function nearBottom() { - return ( document.body.scrollTop >= ( document.body.offsetHeight - ( window.innerHeight * 1.2 ) ) ); + return ( document.documentElement.scrollTop >= ( document.body.offsetHeight - ( window.innerHeight * 1.2 ) ) ); } function scrollToBottom() { - document.body.scrollTop = document.body.offsetHeight; + window.scrollTo(0, document.body.scrollHeight); } //Dynamically exchange the active stylesheet
Code: Select all
/Applications/Adium.app/Contents/Resources/Template.html
Code: Select all
//Auto-scroll to bottom. Use nearBottom to determine if a scrollToBottom is desired.
function nearBottom() {
//return ( document.body.scrollTop >= ( document.body.offsetHeight - ( window.innerHeight * 1.2 ) ) );
return 1;
}
function scrollToBottom() {
window.scrollTo(0, document.body.scrollHeight);
//document.body.scrollTop = document.body.offsetHeight;
}
I tried these changes onIncognitus wrote:I think Trolan is on to something. Here is my current change:
I changed nearBottom to just return 1, just to see if we're modifying the right stuff, and auto scroll is now working for me. So just need to find the correct check for nearBottom. Or not. I don't really see a negative to just have it return 1 and always scroll.Code: Select all
//Auto-scroll to bottom. Use nearBottom to determine if a scrollToBottom is desired. function nearBottom() { //return ( document.body.scrollTop >= ( document.body.offsetHeight - ( window.innerHeight * 1.2 ) ) ); return 1; } function scrollToBottom() { window.scrollTo(0, document.body.scrollHeight); //document.body.scrollTop = document.body.offsetHeight; }
So I guess we don't need to recompile Adium. That is going to be a huge undertaking.
Code: Select all
/Applications/Adium.app/Contents/Resources/Template.html
Make sure you're restarting Adium completely. Also you might need to upgrade to 10.5.10.4 (the latest). Other than that, not sure. It's working for me. I have 10% less work rage today already.drbobbeaty wrote:I tried these changes onIncognitus wrote:I think Trolan is on to something. Here is my current change:
I changed nearBottom to just return 1, just to see if we're modifying the right stuff, and auto scroll is now working for me. So just need to find the correct check for nearBottom. Or not. I don't really see a negative to just have it return 1 and always scroll.Code: Select all
//Auto-scroll to bottom. Use nearBottom to determine if a scrollToBottom is desired. function nearBottom() { //return ( document.body.scrollTop >= ( document.body.offsetHeight - ( window.innerHeight * 1.2 ) ) ); return 1; } function scrollToBottom() { window.scrollTo(0, document.body.scrollHeight); //document.body.scrollTop = document.body.offsetHeight; }
So I guess we don't need to recompile Adium. That is going to be a huge undertaking.on the 1.5.10.3b1 version... it didn't solve my scrolling issues.Code: Select all
/Applications/Adium.app/Contents/Resources/Template.html
TheIncognitus wrote:drbobbeaty wrote:Make sure you're restarting Adium completely. Also you might need to upgrade to 10.5.10.4 (the latest). Other than that, not sure. It's working for me. I have 10% less work rage today already.Incognitus wrote:I think Trolan is on to something. Here is my current change:
I tried these changes onon the 1.5.10.3b1 version... it didn't solve my scrolling issues.Code: Select all
/Applications/Adium.app/Contents/Resources/Template.html
Code: Select all
scrollToBottom()