Skip to content

Releases: meedan/check

v0.140.0

24 Jan 14:50
Compare
Choose a tag to compare

GraphQL API changes:

  • Project type: added new boolean field is_default - now every workspace requires a default folder (a.k.a., Project) where items go when a destination folder is not defined... this also means that now every item belongs to a folder.

Database changes:

  • projects table: added new boolean field is_default, which is also indexed - now every workspace requires a default folder (a.k.a., Project) where items go when a destination folder is not defined... this also means that now every item belongs to a folder.

v0.139.0

24 Jan 14:38
Compare
Choose a tag to compare

GraphQL API changes:

  • ProjectMedia type: added field creator_name, type string, with the name of the user who created the item
  • ProjectMedia type: added field channel, with the integer value that represents the immutable channel from which this item came from (list of possible channel values available at https://github.com/meedan/check-api/blob/develop/lib/check_channels.rb)
  • Project type: deleted field auto_tasks
  • Team type: added field sources_count, of type integer, which returns the number of sources under a team, optionally matching a keyword

v0.138.0

24 Nov 02:44
Compare
Choose a tag to compare
  • Sensitive content warning feature: the item will display a warning cover when it's detected as sensitive content
    • ProjectMedia type: add field show_warning_cover of type Boolean to return if the item is flagged to show a warning cover
    • ➕ Added new migration to update the Flag Dynamic Annotation schema. The migration should run very fast during docker-compose up
  • ProjectMedia type: add connection similar_items of type ProjectMedia to return the items related as similar to the item
  • TeamTask type: add fields tasks_count and tasks_with_answers_count of type Integer to return the number of tasks and number of answered tasks related to the team task respectively
  • ➕ New package (ffmpeg) and gem on CheckAPI (streamio-ffmpeg) to fix auto-transcription and similarity matching: they should be installed during docker-compose up build
  • ➕ New task to cache item picture and improve performance. To run the task: bundle exec rake check:migrate:cache_item_picture
  • ♻️ Update task to generate statistics about workspaces. The task returns the following information: 'Number of fact-checks published', 'Number of fact-checks sent to users', 'Number of requests' and 'Number of similar media'. To run the task: bundle exec rake check:data:statistics[year,start_month,end_month,group_by_month (0 or 1),workspace_slugs_as_a_dot_separated_values_string]
  • ➕ New audio similarity algorithm on Alegre

v0.137.0

22 Oct 22:30
Compare
Choose a tag to compare
  • About type: added new field countries of type JsonStringType to return the list of workspace countries
  • Team type: added new fields country of type String and get_trends_enabled of type Boolean to get the country defined for the workspace and to identify if the trends are enabled, respectively
  • ➕ Added the mutation searchUpload to upload a media to be searched. The file should be sent as form data and it returns a file handle
  • ➕ New task to generate some statistics about some workspaces. To run the task: bundle exec rake check:data:statistics[year,start_month,end_month,group_by_month (0 or 1),workspace_slugs_as_a_dot_separated_values_string]
  • Added new migrations. The migrations should run very fast during docker-compose up
    • ➕ Migration to add column and index country to teams table
    • ➕ Migration to add column platform to tipline_subscriptions table
    • ➕ Migration to add timestamps (created_at and updated_at) to tipline_subscriptions table

v0.136.0

22 Oct 19:18
Compare
Choose a tag to compare
  • Audio transcription feature: speech in audio and video files are converted into written text when added to a workspace
    • ➕ Added the mutation transcribeAudio. The input field is id which is the item's GraphQL ID and the mutation returns the project_media (item) and the annotation created with the transcription data returned by Alegre Bot
    • ➕ New migration to create the annotation type Transcription and the related annotation fields. The migration should run very fast during docker-compose up
  • Tipline inbox filters feature: let users define what is visible on Tipline inbox so they can keep track of their work
    • Team type: added the field get_tipline_inbox_filters of type JsonStringType to get the filters enabled on Tipline inbox
    • updateTeam mutation: added the input field tipline_inbox_filters of type String to set the filters enabled on Tipline inbox
  • Tipline newsletter feature: collect subscriptions and send weekly newsletters direct from the bot
    • Team type: added the field get_tipline_inbox_filters of type JsonStringType and slack_notifications_json_schema of type String to get the configuration related to Slack notifications
    • TeamBotInstallation type: added the field smooch_newsletter_information of type JsonStringType to get the information about the newsletter. Currently, the information includes day, time, timezone, body, feed_url and number of articles
    • Added new migrations to support the feature. The migrations should run very fast during docker-compose up
    • ➕ Migration to add newsletter settings to Smooch Bot
    • ➕ Migration to create the table tipline_subscriptions
  • Slack integration improvements: simplify slack notifications and allow teams to configure which notifications will be sent to Slack. Currently the event types can be any_activity, status_changed, item_added
    • Team type: added the fields get_slack_notifications of type JsonStringType and slack_notifications_json_schema of type String to get the configuration related to Slack notifications
    • updateTeam mutation: added the input field slack_notifications of type String to set the configuration related to Slack notifications. This field should be filled in by the JSON version of an array of hashes representing the types of notifications sent to to Check. Each notification will have a hash structure containing the keys label, event_type, values and slack_channel
    • Team type: removed field get_slack_channel. Please get it from slack_notifications from Team type
    • Project type: removed fields get_slack_channel and get_slack_events. Please get it from slack_notifications from Team type
    • updateTeam mutation: removed input field slack_channel
    • updateProject mutation: removed input fields set_slack_channel and slack_events. Please set it on slack_notifications from Team type
    • ➕ New task to migrate the deprecated slack_channel and slack_events settings from teams and projects to the new slack_notifications team settings. To run the task: bundle exec rake check:migrate:migrate_slack_notifications
  • TeamTask type updates:
    • ♻️ replace field is_child of type Boolean to field conditional_info of type String to get the information about when a team task is displayed to users based on other metadata's response
    • ➕ add field required of type Boolean to return if the team task is required
  • ProjectMedia type: add field full_url to return the item URL
  • Task type: add field team_task of type TeamTask to return the related team task
  • Team type: add field url of type String to return the url of the team
  • Annotation type: add field teamof type Team to return the related team
  • Added new migrations. The migrations should run very fast during docker-compose up
    • ➕ Migration to add index privacy to projects table
    • ➕ Migration to index the extracted text annotation content in a new field in ElasticSearch for each item
    • ➕ Migration to remove column is_child and create conditional_info on team_tasks table
    • ➕ Migration to remove smooch_project_id from Smooch Bot settings. The tipline now uses the concept of channels and don't belong to projects anymore
  • Added new task to change existent data
    • ➕ Task to update smooch_user annotations and relate the annotation to team instead of projects. To run the task: bundle exec rake check:migrate:relate_smooch_user_to_team
    • ➕ Task to remove duplicated relationships on database. To run the task: bundle exec rake check:migrate:remove_duplicate_relationships
    • ➕ Task for indexing the field extracted_text on Elasticsearch. To run the task: bundle exec rake check:migrate:index_extracted_text
  • ⬆️ Upgraded Ruby (2.4 => 2.6), Rails (4.2.11.1 => 5.2.6) and the gems. Some of the changes related to the upgrade are posted on CheckAPI wiki

v0.135.0

22 Oct 19:12
Compare
Choose a tag to compare
  • Channels feature: the items created store the information about how the item was submitted to Check. Currently the channels can be MANUAL (via app), FETCH (via Fetch bot), BROWSER_EXTENSION (via Check Mark extension), API (via CheckAPI), ZAPIER (via Zapier) or TIPLINE (via WhatsApp, Messenger, Twitter, Telegram, Viber or Line)
    • About type: added new field channels of type JsonStringType to return the list of channels available
    • createProjectMedia mutation: added the input field channel of type Integer to set the channel the item was submitted by. The mapping between the channel and its code is defined on ChannelCodes
    • ➕ New migration to add channel to project_medias table and add elasticsearch mapping. The migration should run very fast during docker-compose up
    • ➕ New task to set the channel of existing items and index the field channel on ElasticSearch. To run the task: bundle exec rake check:migrate:add_channel_to_project_medias
  • Privacy settings feature: folders and content inside them can be configured to be visible by (I) only admins (II) admins and editors (III) all users with access to the team
    • updateProject mutation: added the input field privacy of type Integer to set the code related to the permitted users. The mapping between the group with access and its code is defined on PrivacySettings
    • ➕ New migration to add privacy to projects table. The migration should run very fast during docker-compose up
  • Conditional annotation feature: display a metadata based on other metadata answers
    • TeamTask type: added new field is_child of type Boolean to identify when a team task is displayed to users based on other metadata's response
    • createTeamTask and updateTeamTask mutations: added the input field is_child of type Boolean to identify if the metadata e dependent of other metadata
    • ➕ New migration to add is_child to team_tasks table. The migration should run very fast during docker-compose up
  • Identical media items identification feature: improve filter for identical media items (image, video and audio) submitted to Check
    • ➕ New task to identify and merge identical uploaded files (image, video and audio). To run the task: bundle exec rake check:migrate:fix_identical_uploaded_file
    • ➕ New task to delete medias not associated with any project media. To run the task: bundle exec rake check:migrate:delete_orphaned_medias

v0.134.0

11 Aug 04:20
Compare
Choose a tag to compare
  • Team type: add field get_tasks_enabled of type Boolean. When it's true the tasks will be displayed on item pages
  • ➕ New migration to configure the existent teams to display the tasks on item pages. The migrations should run very fast during docker-compose up.
  • ➕ New task added to fix folder name cache. To run the task: rake check:migrate:fix_folder_cached_value

v0.133.0

12 Jul 18:06
471dfa5
Compare
Choose a tag to compare
  • ➕ Added new mutations:
    • ExtractText: get text from images using Alegre Bot. The input field is id which is the item's GraphQL ID and the mutation returns the project_media (item)
  • ➕ New mutations to add a single file to a metadata field and to delete a single file from it:
    • AddFilesToTask: add one or more files as response of a task or metadata. The input field is id which is the task or metadata GraphQL ID and the files should be sent as form data. The return field is the task
    • RemoveFilesFromTask: remove files from task or metadata's response. The input_field is id, the task of metadata GrapqhQL ID and filenames the name of the files that should be removed. The return field is the task
  • TeamBotInstallation type: add field alegre_settings to set/get settings from Alegre Bot
  • Smooch Bot integration with Turn.io

v0.132.0

12 Jul 18:06
bbf30af
Compare
Choose a tag to compare
  • ➕ Support extraction of texts from uploded images (OCR): New migration added to create annotation type "Extracted text". The migration should run very fast during docker-compose up
  • Search type improvements: added operator as option to send on Search query. Tha value sent can be AND or OR. By default it's value is AND
  • About type: added new fields
    • upload_max_size_in_bytes of type Integer. Returns the maximum upload size, in bytes
    • file_max_size_in_bytes of type Integer. Returns the maximum file upload size, in bytes
    • video_max_size_in_bytes of type Integer. Returns the maximum video upload size, in bytes
    • audio_max_size_in_bytes of type Integer. Returns the maximum audio upload size, in bytes
  • TeamBotIntallation type: added optional argument force of type Boolean on field smooch_enabled_integrations. When it's true, refreshed the cache and get the most updated enabled integrations
  • Team type: added field team_bot_installation of type TeamBotInstallation with required argument bot_identifier. Return the team bot installation related to the team with the identifier sent on argument
  • ➕ New migrations added. The migrations should run very fast during docker-compose up:
    • migration to drop table project_medias_projects because it's not used anymore. The migration should run very fast during docker-compose up:
    • migration to adjust indexes for dynamic annotation fields. The migration should run very fast during docker-compose up:
    • migration to hide deprecated tipline template
  • ♻️ Updated task to create ElasticSearch data from database to accept a team slug as argument and create the data for the specified team only. To run the task: rake check:create_es_data_from_pg[team_slug1, team_slug2, ...]
  • ➕ New task added to update report status cached value for existing secondary items. To run the task: rake check:migrate:update_secondary_report_status

v0.131.0

28 May 04:43
Compare
Choose a tag to compare
  • ➕ Upgrade of Gems: the gems should be upgraded during docker-compose build
  • ➕ New event publish_report: when a report is published the external bots subscribing the event will be notified.
  • Sort items by item title:
    • ➕ New migration to add mapping for sorting by title. The migration should run very fast during docker-compose up:
    • ➕ New task for indexing the field sort_title with the item analysis_title if present or title. To run the task: check:migrate:fill_es_sort_title