2011-07-29 Martyn Russell Release 0.11.1 build: Disable firefox, thunderbird for distcheck The ln -s hook fails with permission issues firefox, thunderbird: Fixed distcheck issues All _DATA variables were missing from EXTRA_DIST Merge branch 'firefox' .gitignore: Added install.rdf common in Mozilla extensions 2011-07-29 Carlos Garnacho tracker-writeback: preserve original file if writeback fails The temporary file is now deleted instead, leaving the original file unmodified. tracker-writeback: Revert 3ff16879, sort of This patch was blindly cherry-picked from writeback-refactor-0.10 to master, meanwhile Jürg had already fixed it in commit 7504d0a2 2011-07-28 Carlos Garnacho tracker-writeback: Do not unref the GFileInfo too early it is used in the creation of the temporary file. 2011-07-28 Adrien Bustany firefox: Fix --with-firefox-plugin-dir configure argument The configure argument would not work and cause the configure script to abort when used due to a typo. thunderbird: Fix --with-thunderbird-plugin-dir configure argument The configure argument would not work and cause the configure script to abort when used due to a typo. 2011-07-28 Martyn Russell firefox: Added missing Makefile.am tracker-search: Add support for -b, --bookmarks firefox: Added build system to install this plugin 2011-07-28 Marek Černocký Updated Czech translation 2011-07-28 Martyn Russell Add 'src/plugins/firefox/' from commit '5e79d3fea70cdff76415a86b26dd2d3c7e2548de' git-subtree-dir: src/plugins/firefox git-subtree-mainline: 6875bf346073c2d12cb28186384e6f89513d5956 git-subtree-split: 5e79d3fea70cdff76415a86b26dd2d3c7e2548de Merge branch 'thunderbird' thunderbird: Use a proper version comparison function Right now, we fix the v5.0b3 version by truncating the string, but if we have a v5.1 then this also won't work. This does a proper comparison. 2011-07-28 Adrien Bustany thunderbird: Ensure the extensions dir exists when installing thunderbird: Update README file thunderbird: Also detect beta versions in version check 2011-07-28 Philip Van Hoof tracker-extract: Add code comment explaining strange FF D8 FF check tracker-extract: Check header bytes for JPeg files Fixes NB#271389. 2011-07-28 Martyn Russell tracker-writeback: Fixed distcheck breakages thunderbird: Build system and plugin now work properly with TB >= 5.0 2011-07-27 Martyn Russell thunderbird: Add initial build system around extension Add 'src/plugins/thunderbird/' from commit '574f3b414badae0adc0377e624584226219f951d' git-subtree-dir: src/plugins/thunderbird git-subtree-mainline: af1e7fbf39c2ae28614981491d36dca2d52add3b git-subtree-split: 574f3b414badae0adc0377e624584226219f951d 2011-07-27 Jürg Billeter tracker-writeback: Fix use after free of GFileInfo object 2011-07-27 Martyn Russell tracker-control: Add command line switch for new pause-for-process APIs To test the libtracker-miner APIs and allow callers to pause until the process is killed, this has been added to tracker-control. libtracker-miner: Added APIs for pausing miners during process life time This adds: - tracker_miner_manager_pause_for_process() This also adds the dbus equivalent APIs. Note, this feature is only available using D-Bus, there is no C API for watching processes available. Fixes NB#254896, tracker-miner-fs should pause itself when camera starts recording video tracker-writeback: Remove all references of .cfg files in man pages tracker-miner-fs: Fix critical warnings when cleaning up NULL GFile/GPtrArrays libtracker-miner: Fix copyright for priority-queue, sparql-buffer and task-pool libtracker-miner: Fix #ifndefs for priority-queue, sparql-buffer and task-pool This is a consistency fix. tracker-miner-fs: Fix licensing errors in files Some were changed from GPL to LGPL for some reason. Now they're all GPL as they should be. tracker-writeback: Fix licensing errors in files Some were changed from GPL to LGPL for some reason. Now they're all GPL as they should be. tracker-writeback: Add g_warning when file !native + improve other errors The error messages didn't pertain to what the function was doing which made it quite generic. It's better to explain what we were attempting to give the logs more context when it occurs. 2011-07-27 Adrien Bustany queue.js: Keep a reference to the timer to ensure it gets fired 2011-07-26 Martyn Russell libtracker-miner, tracker-miner-fs: Improved debugging tracker-writeback: Add man page Added information about supported types and also the new --disable-shutdown option tracker-miner-fs: Fix inconsistencies in #ifndef and #define names Files have been moved around but the defines need to be updated in case similar names are used in other binaries elsewhere (e.g. tracker-config.[ch]. tracker-extract: Fix include orders tracker-miner-fs: Fix small whitespace issue tracker-writeback: Fixed include orders tracker-extract,writeback: Don't use same #define for headers Both were using __TRACKER_CONTROLLER_H__ tracker-writeback: Don't LDADD $(LIBTRACKER_MINER_LIBS) We don't do this anywhere else and it should be necessary because those dependencies should be either drawn in from libtracker-miner's .la or the TRACKER_WRITEBACK configure dependencies 2011-07-26 Carlos Garnacho tracker-miner-fs: Fix ref leak The created GDBusMessage already sinks the floating reference to the GVariant, no need to double ref here. libtracker-miner: fix indenting issues 2011-07-26 Jürg Billeter tracker-writeback: Do not touch unsupported files Fixes NB#274498. 2011-07-26 Carlos Garnacho libtracker-miner: Ensure writeback operations are cancelled on unmounted volumes libtracker-miner: Cancel writeback when the file is deleted/moved In these situations, writeback is no longer reliable, and prone to leave an unwanted copy of the file, so cancel writeback if the file is being manipulated that way externally to tracker. libtracker-miner: Implement cancellation of writeback operations There are situations where we want writeback to be cancelled, so expose a GCancellable as with ::process-file. 2011-07-26 Philip Van Hoof libtracker-miner, miners/fs: Fix issues after review libtracker-miner, dbus: Use stable version for deprecation libtracker-miner, dbus: Add deprecation markers for IgnoreNextUpdate data/dbus: Fix XML file for D-Bus service miners/fs: Codestyle improvements miners/fs: Codestyle changes, typedefs belong to the top of the file miners/fs: Fix enabling/disabling writeback miners/fs, data/gschemas: Add enable-writeback to miner-fs's config schema libtracker-miner: Rename and change to boolean return of a GEqualFunc 2011-07-26 Carlos Garnacho libtracker-miner: check writeback task pool when translating MOVED events to CREATED A move event from an ignored file to a non-ignored one will be translated to a CREATED event, So check first whether there are no writeback tasks for the "new" file, since this is a common operation. libtracker-miner: Ensure no items are left to process after writeback libtracker-miner: Separate writeback tasks to their own task pool Tasks now have a gboolean* as the data, indicating whether the task was already notified or not, the code hooking to the monitor events has been modified so the UPDATED event needs to happen on a notified file in order to consider the writeback task finished. libtracker-miner: Move writeback task removal to UPDATE monitor events The last monitor event that's bound to happen from a writeback is a UPDATED event caused by: UPDATED(a) + MOVE(a->b) = MOVE(a->b) + UPDATED(b), caused by the delay in handling the UPDATED so they're merged together. So don't remove writeback tasks until we've gotten an update event for that file. 2011-07-26 Philip Van Hoof libtracker-miner: Ignore EVENT_MOVED during Writeback 2011-07-26 Carlos Garnacho tracker-miner-fs: Ignore monitor events on files being written back writeback: Update return value to signal connecting to ::writeback-file 2011-07-26 Philip Van Hoof tracker-writeback: Remove IgnoreNextUpdate and file locking from writeback 2011-07-26 Carlos Garnacho libtracker-miner: Use the task pool for ongoing writeback operations 2011-07-26 Philip Van Hoof tracker-writeback: Exit the writeback process in case of unmount event tracker-writeback: Add missing .service.in file miners/fs: Don't retry unmount handlding forever libtracker-miner, miners-fs: Error handling unmount of FS during writeback, add timeout libtracker-miner: Add code comment about endless retrying miners/fs, libtracker-miner: Retry writeback on unmount event miners/fs: Cleanup debugging miners/fs: Implement dispatcher 2011-07-26 Carlos Garnacho tracker-writeback: Use g_mkstemp_full() and preserve permissions on copy This way we ensure there is no intromission on the temporary file, plus we don't potentially change permissions on the final file. writeback usually happens on a copy, which is moved atomically onto of the original file, so we now ensure there are 2011-07-26 Philip Van Hoof tracker-writeback: Pass cancellable around to also the modules tracker-writeback: Implement cancel on unmount and cancel on API call tracker-writeback: Add shutdown timeout to Writeback service miners/fs: Make it possible to enable/disable Writeback tracker-writeback: Use GIO scheduler for actual writeback tracker-writeback: Fix up cancelling tracker-writeback: Add warning about IgnoreNextUpdate removal tracker-writeback: Use tempnam instead of home brewn system miners/fs: Integrate writeback, start it up tracker-writeback: Remove unneeded file Rewrite of tracker-writeback miners/fs: Implement listener class libtracker-miner: Add rdf_types to the signal for Writeback libtracker-miner: Add signal to connect to for writeback libtracker-miner: Integrate queues with writeback capability miner/fs: Add an empty dispatcher class for writeback miner/fs: Add an empty listener class for writeback 2011-07-23 Gabriel Speckhahn Updated Brazilian Portuguese Translation 2011-07-22 Carlos Garnacho libtracker-miner: Fix typo in tracker_task_pool_foreach() Tasks are the value of the hashtable, not the key. 2011-07-22 Philip Van Hoof UTF-16 strings' length with 3 \0 bytes at the end was calculated wrong Fixes NB#274181. 2011-07-21 Carlos Garnacho libtracker-miner: Ensure recursive parent inspection on parentless files is done orderly libtracker-miner: Fix nasty typo in TrackerPriorityQueue binary search wasn't working quite ok, even though it wasn't really noticeable in the most common case of having just 2 priorities in the segments array. libtracker-miner: don't clamp priority in the TrackerPriorityQueue This is so the miner can indefinitely force prepend of a task libtracker-miner: Run the async result on high priority sparql buffer updates 2011-07-21 Jürg Billeter libtracker-data: Add support for xsd:date Fixes NB#271747. 2011-07-21 Cosimo Cecchi miner: don't use G_CONST_RETURN Just use const instead. https://mail.gnome.org/archives/desktop-devel-list/2011-March/msg00044.html https://mail.gnome.org/archives/desktop-devel-list/2011-June/msg00071.html Fixes GB#654653. 2011-07-20 Jürg Billeter SPARQL: Add support for COALESCE Implemented as an alias to tracker:coalesce. 2011-07-20 Aleksander Morgado libtracker-miner: update event queue traces with new TrackerPriorityQueue libtracker-miner: ensure mtime checks on directories found during crawling Fixes NB#273120 2011-07-20 Carlos Garnacho tracker-miner-fs: Plug a leak. libtracker-extract: Plug some leaks 2011-07-20 Jürg Billeter tracker-preferences: Fix apply button 2011-07-19 Carlos Garnacho tracker-miner-fs: Don't set no longer existing property on TrackerMinerApplications TrackerMinerFS::processing-pool-requests-limit no longer exists. libtracker-miner: make tracker_miner_fs_check_file() use high priority This will boost the file to be inspected most promptly, which is usually the desired effect of this call, as it's exposed by the IndexFile dbus method in tracker-miner-fs. libtracker-miner: Add priorities to the sparql buffer If a task is of priority G_PRIORITY_HIGH, it will issue an Update() instead of a UpdateArray(), so updates are most immediate. libtracker-miner: propagate priority throughout file insertions/updates in TrackerMinerFS libtracker-miner: Avoid triggering too often the ensure_mtime_cache() hack The hack introduced in commit 22087297 is meant to cope with the "delete folder and move another on top" situation, forcing reindex if the operation was in the middle of being processed. This situation is most relevant for monitor events, as deletes can take quite some time to happen recursively. However, on unclean shutdowns, this condition also happens often. Even if the directory is already indexed in the store, it is pushed for mtime check into the queues, which looks exactly the same to ensure_mtime_check(). The final effect was that plenty of files were being reindexed for the sake of it. libtracker-miner: Ensure harder process_stop() is only called once QUEUE_WAIT is now used more extensively, meaning item_queue_handlers_cb() onky gets QUEUE_NONE if there really is nothing left to process, be it items in the task pool, pending to be crawled, or in the processing queues. libtracker-miner: slightly improve IRI cache performance For most cases, fs->priv->current_iri_cache_parent_urn has the parent folder URN, so just use it in the query when filling in the IRI cache. libtracker-miner: Ensure prioritized tasks always have parents indexed first We now check before item_add_or_update() for those files that have a parent that should have been indexed, but actually isn't. In that case, the file is inserted back to the queue, prepended by its parent to ensure it is indexed, if the file meeting these conditions is deep in the hierarchy, the parent file will be treated the same, so the operation will unroll until an indexed/root directory is found. libtracker-miner: Remove TrackerProcessingPool It is now unused in favor of TrackerTaskPool/TrackerSparqlBuffer libtracker-miner: Use TrackerSparqlBuffer for metadata insertions As a side effect, the TrackerMinerFS::processing-pool-requests-limit property has been removed, as flow control has been simplified to not needing this third queue. libtracker-miner: Add TrackerSparqlBuffer This object inherits from TrackerTaskPool, and takes care of dispatching tasks containing SPARQL updates. It is meant to replace the sparql buffers in TrackerProcessingPool, and in fact inherits much code from there, the main difference being that there is no "processing" queue for already packed up batches, instead it relies on linear processing of updates. That last queue was sheldomly used (if at all), as it requires a choking tracker-store that can't insert stuff at the same pace that miner-fs processes it, this situation looks quite unlikely, and makes the code simpler. tracker-miner-fs: Use TrackerTaskPool for the extraction pool libtracker-miner: Add TrackerTaskPool This is a simple task pool implementation, where an external entity has to do task pushing/popping. Eventually, the TrackerProcessingPool object will be split into two of these objects, one for the wait queue, and another for the ready/processing queues. tracker-miner-fs: Add tracker_miner_fs_check_*_with_priority() These functions allow scheduling tasks at a different priority. tracker-miner-fs: Add priority argument to tracker_miner_fs_directory_add_internal() libtracker-miner: remove TRACKER_QUEUE_PRIORITY* in favor of G_PRIORITY* No need to reinvent the wheel tracker-miner-fs: Use priority queues for created/deleted/updated/moved items At the moment each of these still has its own queue, items are usually added with DEFAULT/LOW priority at the moment. libtracker-miner: Add tracker_priority_queue_get_length libtracker-miner: Make tracker_priority_queue_foreach_remove return gboolean it will return TRUE if some item has been removed, FALSE otherwise tracker-miner-fs: remove duplicated code tracker_miner_fs_has_items_to_process() may just be called there tracker-miner-fs: Put CrawledDirectoryData into a priority queue tracker-miner-fs: Use a priority queue for directories to be inspected. This allows for prioritization of directories, the crawler is never stopped in the middle of processing, so if a higher priority directory arrives than the one currently processed, it still gets to wait as a good boy. libtracker-miner: Add TrackerPriorityQueue This is a simple type that allows insertion of elements with priorities, so doing pop() returns the highest/earliest element in the queue. 2011-07-19 Jürg Billeter tracker-extract-playlist: Limit playlists to 1000 entries Fixes NB#269986. 2011-07-18 Kjartan Maraas Updated Norwegian bokmål translation 2011-07-18 Aleksander Morgado tracker-extract: handle RealMedia files with the GStreamer extractor Fix ported from the tracker-0.10 branch, see commits 6713d2a and abe2677. 2011-07-16 Daniel Mustieles Updated Spanish translation 2011-07-15 Philip Van Hoof tracker-extract: Cleaning up code and indentation fixes 2011-07-14 Marek Černocký Updated Czech translation 2011-07-13 Andrej Žnidaršič Updated Slovenian translation 2011-07-13 Carlos Garnacho tracker-miner-fs: Ensure datasource is also set on error This is so files that trigger an extractor error within a removable volume gets correctly associated to it. libtracker-extract: Remove traces of debugging g_print()s tracker-extract: disable again threading traces tracker-extract: Use TrackerExtractInfo from libtracker-extract Asynchronous tasks in both tracker-extract internals and tracker-extract-client actually hold the same information, but each being at one side of D-Bus, so make both use the same TrackerExtractInfo data type. 2011-07-13 Martyn Russell libtracker-miner: Use tracker_processing_task_unref() instead of _free() to fix build 2011-07-13 Carlos Garnacho tracker-extract: Use API to iterate through extract modules This API is always used on the main thread, if some module (whatever the thread policy it has) can't handle a file, the task is put back in the main thread so the next module is called. libtracker-extract: Add API to iterate through the modules handling a mimetype There are situations where the most specific miner could just not know enough about the file, this API allows falling back to less specific modules. tracker-extract: Rework stats reporting and task cancellation Both things share the same threading model, so these are now dealt with together. 2011-07-13 Carlos Garnacho tracker-extract: Mark text extractor as thread aware tracker-extract: Implement thread awareness for modules Tracker extract modules may provide now an init() function, which also reports the thread awareness of the given module, allowing these to run sequentially in the main thread, on a dedicated thread for the extract module, or in a thread pool. At the moment no extractor modules do this, so they run by default in the main thread as before. Conflicts: src/tracker-extract/tracker-extract.c 2011-07-13 Carlos Garnacho tracker-miner-fs: Avoid multiple calls to extractor_process_failsafe() The accounting of currently processed files has been also improved, all to ensure extractor_process_failsafe() is called just once, and tasks waiting for process_file_cb() don't sneak in and break failsafe extraction. tracker-miner-fs: Don't remove item from queue until it's been processed Mostly to keep consistency. libtracker-extract: Do not use G_CONST_RETURN just use const, G_CONST_RETURN doesn't exist in modern glib libtracker-extract: Document tracker-client API 2011-07-13 Carlos Garnacho tracker-extract: Implement watchdog for stale tasks. This forces extraction exit if some task takes more than 20 seconds to be finished. tracker-miner-fs: Implement failsafe metadata extraction This method is independent of how the extractor works, unlike the previous method. Now on a extractor failure, the miner does: 1) Pause itself 2) Wait for all pending extractor requests to finish 3) Accumulate all failed extractions on a list 4) Run through that list items, extracting again one file at a time. 5) Resume itself tracker-miner-fs: Move "retry on extraction failed" code to TrackerMinerFiles Currently the simplest approach of retrying just once every failed file is taken, after that, the sparql without embedded metadata is added. libtracker-extract: Add tracker-extract-client API This API is meant to replace the code in TrackerMinerFiles to deal with the communication with the extractor. tracker-miner-fs: Revert commit 3dd75bacc30 Minimal sparql insertion is going to be handled from TrackerMinerFiles instead. 2011-07-13 Jürg Billeter tracker-store: Improve UpdateArray performance Attempt to perform all updates in an UpdateArray at once in a single transaction. Only if that fails, roll the transaction back and perform updates in separate transactions. Fixes NB#270774. SPARQL: Add support for HAVING 2011-07-12 Cosimo Cecchi libtracker-data: Implement get_property() for n-columns in SQLite cursor n-columns is an abstract property, so it should be implemented by all the TrackerCursor subclasses Fixes GB#654407. 2011-07-11 Daniel Mustieles Updated Spanish translation 2011-07-10 Marek Černocký Updated Czech translation 2011-07-10 Piotr Drąg Updated POTFILES.in 2011-07-05 Philip Van Hoof miners/fs: Fix compiler warning libtracker-data: Fix unused variables in case of --disable-journal libtracker-data: Unused variable in case of --disable-journal libtracker-data: Also in fail-case should it return newly allocated data libtracker-common: Fix compiler warning 2011-07-04 Yinghua Wang update Simplified Chinese (zh_CN) translation 2011-07-01 Jürg Billeter tracker-extract-mp3: Use guessed ID3v1 8-bit encoding also for ID3v2 Fixes NB#259942. 2011-06-30 Carlos Garnacho libtracker-miner: Make TrackerProcessingTask refcounted Fixes NB#269766. Tasks need to cope with the convoluted life cycle between the different queues in TrackerProcessingPool, the sparql buffer and the bulk tasks' buffers. 2011-06-30 Jürg Billeter libtracker-extract: Ignore keywords containing invalid UTF-8 Fixes NB#269931. 2011-06-30 Adrien Bustany TrackerStore: Fix date generation 2011-06-29 Jürg Billeter libtracker-data: Fix leak in db_get_locale tracker-store: Fix Resources.Sync with disabled journal functional-tests: Handle DISABLE_JOURNAL in backup-restore tests functional-tests: Handle DISABLE_JOURNAL in ontology-changes tests 2011-06-29 Philip Van Hoof libtracker-data: Disable journal with --disable-journal Fixes NB#268105. libtracker-data, tests: Fix failing unit tests libtracker-data: Initialization of db during restore must be handled if fails In case the initialization of the db fails during the restore of a backup, and only in case of --disable-journal, then should the init fail with an error instead of trying to recreate a clean meta.db libtracker-data: Implement backup/restore with disabled journal 2011-06-29 Jürg Billeter libtracker-data: Set synchronous = NORMAL with --disable-journal This prevents database corruption followed by expensive journal replay on OS crash or loss of power. 2011-06-29 Aleksander Morgado build: report in configure output whether support for journal is built 2011-06-29 Philip Van Hoof build: Add --disable-journal configure option 2011-06-29 Jürg Billeter libtracker-data: Do not print critical if db-locale.txt does not exist libtracker-data: Backup in separate thread in single step Using SQLite backup in multiple steps may restart the process due to concurrent update operations. 2011-06-29 Philip Van Hoof libtracker-data: Removed fts restore, not needed anymore libtracker-data: Add tracker-db-backup using SQLite backup API 2011-06-29 Jürg Billeter libtracker-data: Switch to manual WAL checkpointing in a separate thread 2011-06-28 Jürg Billeter tracker-control: Fix crash when unable to get miner pause details Fixes NB#269359. functional-tests: When corrupting database file, also corrupt wal file In some circumstances, the database file will be silently fixed with the wal file. This needs to be prevented in the tests. libtracker-data: Create ontologies.gvdb on startup if necessary libtracker-data: Use temporary directory for restore recovery This is now handled in tracker-data-backup, which allows us to shutdown TrackerDataManager before moving files to the temporary directory. libtracker-data: Store backup in subdirectory in backup test Restore will move backup file to temporary location otherwise. libtracker-data: Propagate errors from db_get_static_data libtracker-common: Remove tracker_env_check_xdg_dirs This was used as a workaround on broken platforms where XDG_DATA_HOME was not writable. libtracker-data: Drop unused sql_dir variable 2011-06-26 Adrien Bustany Index new messages as they arrive Hooks into nsIFolderListener to detect message arrival, deletion and move (handled as arrival in another folder + deletion in old folder). Add addImmediate to Queue class Simplify code using nsIMsgDBHdr.folder Rather than passing the folder explicitely, just fetch it from the nsIMsgDBHdr. 2011-06-24 Carlos Garnacho libtracker-extract: Do some basic checks for GPS coordinates in EXIF tags On some photos it would get the ExifEntries, but the coordinates wouldn't be meaningful, so at least check the rational numbers' denominators to avoid division by zero. 2011-06-23 Martyn Russell libtracker-data: Make sure we don't leak sql_dir on multiple _init() calls 2011-06-22 Jürg Billeter tracker-miner-fs: Fix error check after setting process priority tracker-miner-fs: Remove early log message when setting process priority tracker-store: Initialize D-Bus after initializing log This prevents log messages below configured verbosity. tracker-miner-fs: Check XDG directories after initializing log This prevents log messages below configured verbosity. tracker-store: Check XDG directories after initializing log This prevents log messages below configured verbosity. 2011-06-19 Adrien Bustany Use versioned .so names in bindings.js Use correct library names in bindings.js Use the versioned .so names, not the unversioned ones that require the development packages. 2011-06-16 Daniel Nylander Updated Swedish translation 2011-06-16 Carlos Garnacho tests: Fix tracker-monitor test to reflect changes in 35bdcb09 CREATE+MOVE != CREATE from now on, but UPDATE. Reflect this in the unit test 2011-06-16 Philip Van Hoof libtracker-data: Handle errors of manager_init by shutting down systems libtracker-data: Shutdown locale in error case Fixes NB#266579. 2011-06-16 Carlos Garnacho tracker-monitor: translate CREATE(a)+MOVE(a->b)=UPDATE(b) Fixes NB#251032. Tracker-writeback often creates a temporary hidden file that, after modification, is moved onto the original file location, This tricked TrackerMonitor so that the create and move operations there were translated as a create operation, and create operations are compressed with delete events into a noop. So if a quick delete came after, TrackerMonitor was emitting no signal for a truly deleted file. Instead, translate create+move as update, the miners handle creates and updates equally, and these won't get compressed with delete events, so those are still emitted. 2011-06-15 Jürg Billeter libtracker-data: Do not begin ontology transaction when not needed This allows tracker-store startup with full partition. Updates will fail as long as partition is full. Fixes NB#263203. 2011-06-14 Carlos Garnacho tracker-miner-fs: Postpone sparql update on mount after cancellation This is a less critical task than cancellation, which might be holding unmount, so perform it after the rush is gone. tracker-extract: _exit() abruptly if cancelled due to pre-unmount g_main_loop_quit() docs say it could wait for already dispatched sources, time consuming extraction tasks in this case. Given that in pre-unmount situation we prefer fast to orderly, just _exit() here. 2011-06-14 Martyn Russell libtracker-miner: Make sure status is set to 'Idle' on object construction This was done for progress, but not status for some reason. libtracker-miner: Special case .xsession-errors and ignore all about it This includes events, debugging and handling. 2011-06-14 Jürg Billeter libtracker-data: Use libmeegotouch ICU data if available Fixes NB#261635. 2011-06-13 Martyn Russell libtracker-miner: Fix inconsistent status with progress signals Quite often, we see progress of 100% and still have status messages saying Processing... which is not true. So we use an idle timeout to help that situation. This happens because miners can use the g_object_set() API with multiple properties and we were signalling the update between each property being set. This commit also enforces setting the status to 'Idle' or 'Initializing' when the progress is either 1.0 or 0.0 The output shown in tracker-control is now much cleaner. The trace macro was also added to follow state/progress changes along with signal emissions more easily. libtracker-miner: Make sure "Processing..." is 2% or higher in progress Before it was possible to still be 1% (which is usually reserved for crawling) while processing the items we have in our queues. Also, don't have tigher conditions for when we can issue "Processing..." tracker-control: Clean up store progress reporting Make it more consistent with the miner reporting. Also don't represent 0% with a ✓ (i.e. done) tracker-control: Don't represent 0% with a ✓ (i.e. done) libtracker-miner: Fixed -0.00 progress being reported This occurred because progress of 0.00 was being rounded up from -0.49 with ceil() and negative 0.00 is given to represented the direction it was rounded from. This fixes GB#652433, Progress signal gives faulty value just before finishing 2011-06-10 Andrej Žnidaršič Updated Slovenian translation 2011-06-10 Philip Van Hoof tracker-extract, -writeback, libtracker-extract, NMM, NFO: Use nfo:heading instead of nmm:direction NMM: Fix syntax error NMM: More clear comment for nmm:direction property libtracker-extract: Fix some casting and codestyle problems tracker-writeback: Use get_value_type instead of is_blank tracker-writeback, xmp: Writeback the GPS direction property libtracker-extract, tracker-extract: Fix whitespace issues 2011-06-10 Mikael Ottela libtracker-extract, tracker-extract: Add extraction of image compass direction 2011-06-10 Carlos Garnacho tracker-miner-fs: Unset nie:url to set our own on file updates. This is so tracker-miner-fs can check it in order to know whether the file is known to tracker or not. 2011-06-10 Philip Van Hoof SLO: Update nao:lastModified tracker-writeback: Always clear existing fields 2011-06-10 Carlos Garnacho tracker-miner-fs: Do not ignore IgnoreNextUpdate for CREATED events on old files Partly fixes #261767. There are two usecases where we could get a CREATED event during writeback, one is due to 3rd party apps inserting preliminary sparql before actually writing the file, so tracker-miner-fs should index that new file anyways. The other usecase is on atomic move over an old file, tracker-writeback itself would trigger a CREATED event over an already known file, which is safe to ignore as it is the result of the just written back metadata. writeback: guarantee atomic updates on the file We do this by copying the file to a temporary location, modifying the temporary file, and moving it onto the original location. This generally should be done by the libraries we use in tracker-writeback, but we don't get any guarantees that it'll be like that... ontology: set cardinality 1 to slo:location. 2011-06-10 Philip Van Hoof tracker-extract, gif: Fix indentation issues tracker-extract, jpeg: Fix indentation issues tracker-extract, pdf: Fix indentation issues tracker-extract, tiff: Fix indentation issues tracker-extract, png: Fix indentation issues libtracker-extract, xmp: Fix misindentation of a function libtracker-extract, xmp, exif: Make sure we don't break the ABI libtracker-extract, exif: Fix indendation issues libtracker-extract, xmp: Fix indentation issues tracker-writeback, xmp: Write back altitude, longitude and latitude 2011-06-10 Mikael Ottela Add extraction of GPS coordinates 2011-06-08 Martyn Russell tracker-needle: Improve the information shown about bookmarks The link was broken and so was the tooltip. tracker-needle: Added bookmarks to the stats dialog tracker-needle: Fixed crash for null cursor and calling next() on it 2011-06-08 Adrien Bustany tracker-needle: Add support for bookmarks 2011-06-08 Olav Vitters Add description to DOAP file 2011-06-08 Adrien Bustany Properly use nfo:bookmarks in place of nie:url to store bookmark URI Try to use libtracker-sparql 0.11 if 0.10 is not available Fix logic in 0.11 fallback Use right RDF predicate for message date Fix 0.11 lib fallback 2011-06-07 Adrien Bustany Add 'meta' table to persistent storage Remove dead code Insert nie:url for messages Also index message body Use libtracker-sparql 0.11 if available