mirror of
https://github.com/transmission/transmission
synced 2025-03-13 07:33:02 +00:00
Update NEWS file to say the Clutch rewrite's been folded into Transmission.
This commit is contained in:
parent
eb254b8a54
commit
d5335b710b
9 changed files with 35 additions and 33 deletions
8
AUTHORS
8
AUTHORS
|
@ -2,11 +2,11 @@ The Transmission Project
|
|||
http://www.transmissionbt.com/
|
||||
|
||||
Lead Developers <dev@transmissionbt.com>
|
||||
Mitchell Livingston <livings124@transmissionbt.com> (Mac OS X interface)
|
||||
Charles Kerr <charles@transmissionbt.com> (Backend, GTK+ client)
|
||||
Charles Kerr <charles@transmissionbt.com> (Daemon, Backend, GTK+ client)
|
||||
Mitchell Livingston <livings124@transmissionbt.com> (Mac OS X client)
|
||||
Eric Petit <titer@m0k.org> (Creator)
|
||||
Josh Elsasser <josh@elsasser.org> (Daemon, Backend, GTK+ interface)
|
||||
Bryan Varner <bryan@varnernet.com> (BeOS interface)
|
||||
Josh Elsasser <josh@elsasser.org> (Daemon, Backend, GTK+ client)
|
||||
Bryan Varner <bryan@varnernet.com> (BeOS client)
|
||||
|
||||
Project Contributors
|
||||
Hugo van Heuven, madebysofa (Main icon design)
|
||||
|
|
12
NEWS
12
NEWS
|
@ -3,12 +3,16 @@ NEWS file for Transmission <http://www.transmissionbt.com/>
|
|||
1.30 (2008/mm/dd)
|
||||
http://trac.transmissionbt.com/query?group=component&milestone=1.30
|
||||
- All Platforms
|
||||
+ Added support for HTTP/FTP Seeding (GetRight style)
|
||||
+ Added proxy support for communicating with trackers
|
||||
+ The "Clutch" web interface is now bundled with Transmission
|
||||
+ Ability to add and remove tracker addresses
|
||||
+ Ability to create torrent files with multiple tracker addresses
|
||||
+ Added support for HTTP/FTP Seeding (GetRight style)
|
||||
+ Added proxy support for communicating with trackers
|
||||
+ Allow torrent creation with no tracker address (required by some trackers)
|
||||
+ Restructuring of remote access
|
||||
+ Redesigned remote access via JSON
|
||||
- Daemon
|
||||
+ transmission-daemon and transmission-remote were rewritten from scratch
|
||||
+ remote and daemon now support per-file priority & download flag settings
|
||||
- Mac
|
||||
+ Quick Look integration in the main window and inspector's file tab
|
||||
+ Transfers can be dragged to different groups
|
||||
|
@ -17,8 +21,6 @@ http://trac.transmissionbt.com/query?group=component&milestone=1.30
|
|||
+ Colors in pieces bar and pieces box more accurately reflect their corresponding values
|
||||
- GTK+
|
||||
+ Add options to inhibit hibernation and to toggle the tray icon
|
||||
- Daemon
|
||||
+ Redesigned & rewritten to use JSON over http
|
||||
|
||||
1.22 (2008/06/13)
|
||||
http://trac.transmissionbt.com/query?group=component&milestone=1.22
|
||||
|
|
|
@ -557,12 +557,12 @@ onPeerViewQueryTooltip( GtkWidget * widget,
|
|||
const char * txt = NULL;
|
||||
switch( *pch ) {
|
||||
case 'O': txt = _( "Optimistic unchoke" ); break;
|
||||
case 'D': txt = _( "Downloading from peer" ); break;
|
||||
case 'd': txt = _( "We'd download from peer if they'd let us" ); break;
|
||||
case 'D': txt = _( "Downloading from this peer" ); break;
|
||||
case 'd': txt = _( "We would download from this peer if they would let us" ); break;
|
||||
case 'U': txt = _( "Uploading to peer" ); break;
|
||||
case 'u': txt = _( "We'd upload to peer if they'd ask us" ); break;
|
||||
case 'u': txt = _( "We would upload to this peer if they asked" ); break;
|
||||
case 'K': txt = _( "Peer has unchoked us, but we're not interested" ); break;
|
||||
case '?': txt = _( "We unchoked the peer, but they're not interested" ); break;
|
||||
case '?': txt = _( "We unchoked this peer, but they're not interested" ); break;
|
||||
case 'E': txt = _( "Encrypted connection" ); break;
|
||||
case 'X': txt = _( "Peer was discovered through Peer Exchange (PEX)" ); break;
|
||||
case 'I': txt = _( "Peer is an incoming connection" ); break;
|
||||
|
@ -812,7 +812,7 @@ info_page_new (tr_torrent * tor)
|
|||
hig_workarea_add_section_title (t, &row, _("Details"));
|
||||
|
||||
g_snprintf( countStr, sizeof( countStr ),
|
||||
ngettext( "%d Piece", "%d Pieces", info->pieceCount ),
|
||||
ngettext( "%'d Piece", "%'d Pieces", info->pieceCount ),
|
||||
info->pieceCount );
|
||||
tr_strlsize( sizeStr, info->pieceSize, sizeof(sizeStr) );
|
||||
g_snprintf( buf, sizeof( buf ),
|
||||
|
|
|
@ -235,7 +235,7 @@ refreshFromBuilder( MakeMetaUI * ui )
|
|||
else {
|
||||
char countStr[512];
|
||||
g_snprintf( countStr, sizeof( countStr ),
|
||||
ngettext( "%d Piece", "%d Pieces", builder->pieceCount ),
|
||||
ngettext( "%'d Piece", "%'d Pieces", builder->pieceCount ),
|
||||
builder->pieceCount );
|
||||
tr_strlsize( sizeStr, builder->pieceSize, sizeof(sizeStr) );
|
||||
g_snprintf( buf, sizeof( buf ),
|
||||
|
|
|
@ -710,7 +710,7 @@ onAddACLClicked( GtkButton * b UNUSED, gpointer gpage )
|
|||
gtk_list_store_append( page->store, &iter );
|
||||
gtk_list_store_set( page->store, &iter,
|
||||
COL_PERMISSION, _( "Allow" ),
|
||||
COL_ADDRESS, _( "0.0.0.0" ),
|
||||
COL_ADDRESS, "0.0.0.0",
|
||||
-1 );
|
||||
|
||||
path = gtk_tree_model_get_path( GTK_TREE_MODEL( page->store ), &iter );
|
||||
|
@ -767,7 +767,7 @@ onACLSelectionChanged( GtkTreeSelection * sel UNUSED, gpointer page )
|
|||
}
|
||||
|
||||
static GtkWidget*
|
||||
remotePage( GObject * core )
|
||||
webPage( GObject * core )
|
||||
{
|
||||
const char * s;
|
||||
int row = 0;
|
||||
|
@ -780,10 +780,10 @@ remotePage( GObject * core )
|
|||
t = hig_workarea_create( );
|
||||
g_object_set_data_full( G_OBJECT( t ), "page", page, g_free );
|
||||
|
||||
hig_workarea_add_section_title( t, &row, _( "Remote Access" ) );
|
||||
hig_workarea_add_section_title( t, &row, _( "Web Interface" ) );
|
||||
|
||||
/* "enabled" checkbutton */
|
||||
s = _( "A_llow requests from transmission-remote, Clutch, etc." );
|
||||
s = _( "Allow remote access" );
|
||||
w = new_check_button( s, PREF_KEY_RPC_ENABLED, core );
|
||||
hig_workarea_add_wide_control( t, &row, w );
|
||||
page->rpc_tb = GTK_TOGGLE_BUTTON( w );
|
||||
|
@ -1086,8 +1086,8 @@ tr_prefs_dialog_new( GObject * core, GtkWindow * parent )
|
|||
networkPage( core ),
|
||||
gtk_label_new (_("Network")) );
|
||||
gtk_notebook_append_page( GTK_NOTEBOOK( n ),
|
||||
remotePage( core ),
|
||||
gtk_label_new (_("Remote")) );
|
||||
webPage( core ),
|
||||
gtk_label_new (_("Web")) );
|
||||
|
||||
g_signal_connect( d, "response", G_CALLBACK(response_cb), core );
|
||||
gtk_box_pack_start_defaults( GTK_BOX(GTK_DIALOG(d)->vbox), n );
|
||||
|
|
|
@ -274,7 +274,7 @@ _tr_blocklistSetContent( tr_blocklist * b,
|
|||
char buf[MAX_PATH_LENGTH];
|
||||
tr_strlcpy( buf, b->filename, sizeof( buf ) );
|
||||
name = basename( buf );
|
||||
tr_inf( _( "Blocklist \"%s\" updated with %'d entries" ), name, lineCount );
|
||||
tr_inf( _( "Blocklist \"%1$s\" updated with %2$'d entries" ), name, lineCount );
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -516,7 +516,7 @@ isClutchDir( const char * path )
|
|||
struct stat sb;
|
||||
char tmp[MAX_PATH_LENGTH];
|
||||
tr_buildPath( tmp, sizeof( tmp ), path, "javascript", "transmission.js", NULL );
|
||||
fprintf( stderr, "path is [%s]; testing [%s] for clutch\n", path, tmp );
|
||||
tr_inf( _( "Searching for web interface file \"%s\"" ), tmp );
|
||||
return !stat( tmp, &sb );
|
||||
}
|
||||
|
||||
|
@ -586,10 +586,7 @@ tr_getClutchDir( const tr_session * session UNUSED )
|
|||
}
|
||||
|
||||
if( !*path )
|
||||
{
|
||||
tr_err( _( "Unable to find web interface files" ) );
|
||||
tr_strlcpy( path, "/dev/null", sizeof( path ) );
|
||||
}
|
||||
tr_err( _( "Couldn't find the web interface's files! To customize this, set the CLUTCH_HOME environmental variable to the folder where index.html is located." ) );
|
||||
|
||||
s = tr_strdup( path );
|
||||
}
|
||||
|
|
|
@ -96,7 +96,7 @@ natPulse( tr_shared * s )
|
|||
newStatus = tr_sharedTraversalStatus( s );
|
||||
|
||||
if( newStatus != oldStatus )
|
||||
tr_ninf( getKey(), _( "State changed from \"%s\" to \"%s\"" ),
|
||||
tr_ninf( getKey(), _( "State changed from \"%1$s\" to \"%2$s\"" ),
|
||||
getNatStateStr(oldStatus),
|
||||
getNatStateStr(newStatus) );
|
||||
}
|
||||
|
|
|
@ -253,10 +253,8 @@ startServer( tr_rpc_server * server )
|
|||
char ports[128];
|
||||
char passwd[MAX_PATH_LENGTH];
|
||||
const char * clutchDir = tr_getClutchDir( server->session );
|
||||
char * clutchAlias = tr_strdup_printf( "%s=%s", "/transmission/clutch", clutchDir );
|
||||
struct timeval tv = tr_timevalMsec( UNUSED_INTERVAL_MSEC );
|
||||
|
||||
fprintf( stderr, "clutchAlias is [%s]\n", clutchAlias );
|
||||
getPasswordFile( server, passwd, sizeof( passwd ) );
|
||||
if( !server->isPasswordEnabled )
|
||||
unlink( passwd );
|
||||
|
@ -267,7 +265,14 @@ fprintf( stderr, "clutchAlias is [%s]\n", clutchAlias );
|
|||
snprintf( ports, sizeof( ports ), "%d", server->port );
|
||||
shttpd_register_uri( server->ctx, "/transmission/rpc", handle_rpc, server );
|
||||
shttpd_register_uri( server->ctx, "/transmission/upload", handle_upload, server );
|
||||
shttpd_set_option(server->ctx, "aliases", clutchAlias );
|
||||
|
||||
if( clutchDir && *clutchDir ) {
|
||||
char * clutchAlias = tr_strdup_printf( "%s=%s", "/transmission/clutch", clutchDir );
|
||||
tr_inf( _( "Serving the web interface files from \"%s\"" ), clutchDir );
|
||||
shttpd_set_option( server->ctx, "aliases", clutchAlias );
|
||||
tr_free( clutchAlias );
|
||||
}
|
||||
|
||||
shttpd_set_option( server->ctx, "ports", ports );
|
||||
shttpd_set_option( server->ctx, "dir_list", "0" );
|
||||
//shttpd_set_option( server->ctx, "root", "/dev/null" );
|
||||
|
@ -285,8 +290,6 @@ fprintf( stderr, "clutchAlias is [%s]\n", clutchAlias );
|
|||
|
||||
evtimer_set( &server->timer, rpcPulse, server );
|
||||
evtimer_add( &server->timer, &tv );
|
||||
|
||||
tr_free( clutchAlias );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue