Wed, 04 Jun 2025 23:12:27 -0500
Fix log viewing for missing protocols
This works around an issue where we depend on the protocol to determine where
its logs are stored so that you can still view logs for existing accounts if
the protocol plugin is no longer on disk.
This still requires the account to exist with the correct protocol-id to work.
Testing Done:
I manually added on of my old aim accounts that I still have logs from to `accounts.xml`. I then selected `View User Log...` from the `Buddies` menu, selected that aim account and entered a contact who I knew I had logs for and verified that those logs were displayed properly.
Bugs closed: PIDGIN-18096
Reviewed at https://reviews.imfreedom.org/r/4016/
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- Created with Inkscape (http://www.inkscape.org/) --> <svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="48px" height="48px" id="svg4345" sodipodi:version="0.32" inkscape:version="0.46" sodipodi:docbase="/home/hbons/Desktop" sodipodi:docname="irc.svg" inkscape:export-filename="/home/hbons/Desktop/pidgin.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90" inkscape:output_extension="org.inkscape.output.svg.inkscape"> <defs id="defs4347"> <linearGradient id="linearGradient2804"> <stop style="stop-color:black;stop-opacity:0;" offset="0" id="stop2806" /> <stop id="stop2812" offset="0.5" style="stop-color:black;stop-opacity:1;" /> <stop style="stop-color:black;stop-opacity:0;" offset="1" id="stop2808" /> </linearGradient> <linearGradient inkscape:collect="always" xlink:href="#linearGradient2804" id="linearGradient1516" gradientUnits="userSpaceOnUse" x1="21.875" y1="48.000977" x2="21.875" y2="40" /> <radialGradient inkscape:collect="always" xlink:href="#linearGradient2781" id="radialGradient1514" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2,0,0,0.8,36,8.8)" cx="1" cy="44" fx="1" fy="44" r="5" /> <linearGradient inkscape:collect="always" id="linearGradient2781"> <stop style="stop-color:black;stop-opacity:1;" offset="0" id="stop2783" /> <stop style="stop-color:black;stop-opacity:0;" offset="1" id="stop2785" /> </linearGradient> <radialGradient inkscape:collect="always" xlink:href="#linearGradient2781" id="radialGradient1512" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2,0,0,0.8,-13,-79.2)" cx="1" cy="44" fx="1" fy="44" r="5" /> <linearGradient inkscape:collect="always" id="linearGradient5235"> <stop style="stop-color:#2e3436;stop-opacity:1;" offset="0" id="stop5237" /> <stop style="stop-color:#2e3436;stop-opacity:0;" offset="1" id="stop5239" /> </linearGradient> <linearGradient inkscape:collect="always" id="linearGradient3816"> <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop3818" /> <stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop3820" /> </linearGradient> <radialGradient inkscape:collect="always" xlink:href="#linearGradient3816" id="radialGradient4179" gradientUnits="userSpaceOnUse" cx="31.112698" cy="19.008621" fx="31.112698" fy="19.008621" r="8.6620579" /> <radialGradient inkscape:collect="always" xlink:href="#linearGradient5235" id="radialGradient5241" cx="23.234518" cy="40.688972" fx="23.234518" fy="40.688972" r="16.956987" gradientTransform="matrix(1,0,0,0.133183,0,35.2699)" gradientUnits="userSpaceOnUse" /> </defs> <sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="13.062462" inkscape:cx="40.814762" inkscape:cy="25.717712" inkscape:current-layer="layer1" showgrid="true" inkscape:grid-bbox="true" inkscape:document-units="px" inkscape:window-width="1274" inkscape:window-height="966" inkscape:window-x="3" inkscape:window-y="25" /> <metadata id="metadata4350"> <rdf:RDF> <cc:Work rdf:about=""> <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> </cc:Work> </rdf:RDF> </metadata> <g id="layer1" inkscape:label="Layer 1" inkscape:groupmode="layer"> <g id="g1504" style="opacity:0.12663754" transform="matrix(0.851064,0,0,0.999995,3.148928,-3.9998)"> <rect transform="scale(-1,-1)" y="-48" x="-11" height="8" width="10" id="rect1506" style="opacity:1;color:black;fill:url(#radialGradient1512);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> <rect y="40" x="38" height="8" width="10" id="rect1508" style="opacity:1;color:black;fill:url(#radialGradient1514);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> <rect y="40" x="11" height="8" width="27" id="rect1510" style="opacity:1;color:black;fill:url(#linearGradient1516);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> </g> <path sodipodi:type="arc" style="opacity:0.52838428;fill:url(#radialGradient5241);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="path4340" sodipodi:cx="23.234518" sodipodi:cy="40.688972" sodipodi:rx="16.956987" sodipodi:ry="2.2583797" d="M 40.191505 40.688972 A 16.956987 2.2583797 0 1 1 6.2775307,40.688972 A 16.956987 2.2583797 0 1 1 40.191505 40.688972 z" transform="matrix(1.208941,0,0,1.980928,3.410841,15.87176)" /> <path style="opacity:1;fill:#efefef;fill-opacity:1;stroke:#787878;stroke-width:0.95516169;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 2.875,7.5 C 2.1210885,7.5 1.5,8.1265217 1.5,8.90625 L 1.5,15.71875 L 1.5,18.46875 L 1.5,26.189031 C 1.5,26.968759 2.1210885,27.595282 2.875,27.595281 L 5.5,27.595281 L 5.5,30.532781 L 9.2020155,27.56625 L 22.125,27.595281 C 22.878911,27.595281 23.5,26.968758 23.5,26.189031 L 23.5,18.46875 L 23.5,15.71875 L 23.5,8.90625 C 23.5,8.1265221 22.878912,7.5000001 22.125,7.5 L 16.15625,7.5 L 8.375,7.5 L 2.875,7.5 z " id="path4334" transform="matrix(-1.045455,0,0,1.048433,44.0682,0.636752)" sodipodi:nodetypes="cccccccccccccccccc" /> <path sodipodi:type="inkscape:offset" inkscape:radius="-0.94924349" inkscape:original="M 2.875 7.5 C 2.1210885 7.5 1.5 8.1265217 1.5 8.90625 L 1.5 15.71875 L 1.5 18.46875 L 1.5 26.1875 C 1.5 26.967227 2.1210885 27.593751 2.875 27.59375 L 5.5 27.59375 L 5.5 30.53125 L 9.1875 27.5625 L 22.125 27.59375 C 22.878911 27.593749 23.5 26.967227 23.5 26.1875 L 23.5 18.46875 L 23.5 15.71875 L 23.5 8.90625 C 23.5 8.1265221 22.878912 7.5000001 22.125 7.5 L 16.15625 7.5 L 8.375 7.5 L 2.875 7.5 z " style="opacity:1;fill:none;fill-opacity:1;stroke:white;stroke-width:0.95516169;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="path4336" d="M 2.875,8.4375 C 2.6469872,8.4375 2.4375,8.6305983 2.4375,8.90625 L 2.4375,15.71875 L 2.4375,18.46875 L 2.4375,26.1875 C 2.4375,26.46315 2.6469898,26.65625 2.875,26.65625 L 5.5,26.65625 C 6.0150993,26.662634 6.4311157,27.078651 6.4375,27.59375 L 6.4375,28.5625 L 8.59375,26.8125 C 8.7649594,26.685027 8.9741324,26.618972 9.1875,26.625 L 22.125,26.65625 C 22.353012,26.65625 22.5625,26.463149 22.5625,26.1875 L 22.5625,18.46875 L 22.5625,15.71875 L 22.5625,8.90625 C 22.5625,8.6305986 22.353013,8.4375 22.125,8.4375 L 16.15625,8.4375 L 8.375,8.4375 L 2.875,8.4375 z " transform="matrix(-1.045455,0,0,1.048433,44.0682,0.636752)" /> <path transform="matrix(2.539812,0,0,0.410815,-52.0204,75.74948)" sodipodi:type="arc" style="opacity:1;color:black;fill:url(#radialGradient4179);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" id="path4306" sodipodi:cx="31.112698" sodipodi:cy="19.008621" sodipodi:rx="8.6620579" sodipodi:ry="8.6620579" d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.45064,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" /> <path style="opacity:1;fill:#efefef;fill-opacity:1;stroke:#787878;stroke-width:0.95516169;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 2.875,7.5 C 2.1210885,7.5 1.5,8.1265217 1.5,8.90625 L 1.5,15.71875 L 1.5,18.46875 L 1.5,26.189031 C 1.5,26.968759 2.1210885,27.595282 2.875,27.595281 L 5.5,27.595281 L 5.5,30.532781 L 9.2020155,27.56625 L 22.125,27.595281 C 22.878911,27.595281 23.5,26.968758 23.5,26.189031 L 23.5,18.46875 L 23.5,15.71875 L 23.5,8.90625 C 23.5,8.1265221 22.878912,7.5000001 22.125,7.5 L 16.15625,7.5 L 8.375,7.5 L 2.875,7.5 z " id="rect1326" transform="matrix(1.045455,0,0,1.048433,3.931818,8.785079)" sodipodi:nodetypes="cccccccccccccccccc" /> <path sodipodi:type="inkscape:offset" inkscape:radius="-0.94924349" inkscape:original="M 2.875 7.5 C 2.1210885 7.5 1.5 8.1265217 1.5 8.90625 L 1.5 15.71875 L 1.5 18.46875 L 1.5 26.1875 C 1.5 26.967227 2.1210885 27.593751 2.875 27.59375 L 5.5 27.59375 L 5.5 30.53125 L 9.1875 27.5625 L 22.125 27.59375 C 22.878911 27.593749 23.5 26.967227 23.5 26.1875 L 23.5 18.46875 L 23.5 15.71875 L 23.5 8.90625 C 23.5 8.1265221 22.878912 7.5000001 22.125 7.5 L 16.15625 7.5 L 8.375 7.5 L 2.875 7.5 z " style="opacity:1;fill:none;fill-opacity:1;stroke:white;stroke-width:0.95516169;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="path5034" d="M 2.875,8.4375 C 2.6469872,8.4375 2.4375,8.6305983 2.4375,8.90625 L 2.4375,15.71875 L 2.4375,18.46875 L 2.4375,26.1875 C 2.4375,26.46315 2.6469898,26.65625 2.875,26.65625 L 5.5,26.65625 C 6.0150993,26.662634 6.4311157,27.078651 6.4375,27.59375 L 6.4375,28.5625 L 8.59375,26.8125 C 8.7649594,26.685027 8.9741324,26.618972 9.1875,26.625 L 22.125,26.65625 C 22.353012,26.65625 22.5625,26.463149 22.5625,26.1875 L 22.5625,18.46875 L 22.5625,15.71875 L 22.5625,8.90625 C 22.5625,8.6305986 22.353013,8.4375 22.125,8.4375 L 16.15625,8.4375 L 8.375,8.4375 L 2.875,8.4375 z " transform="matrix(1.045455,0,0,1.048433,3.931818,8.785079)" /> </g> </svg>