diff --git a/apps/reader/tasks.py b/apps/reader/tasks.py
index 522c26211..ac3fd0a56 100644
--- a/apps/reader/tasks.py
+++ b/apps/reader/tasks.py
@@ -29,7 +29,7 @@ def FreshenHomepage():
sub.save()
sub.calculate_feed_scores(silent=True)
-@app.task(name='clean_analytics', time_limit=720*10)
+@app.task(name='clean-analytics', time_limit=720*10)
def CleanAnalytics():
logging.debug(" ---> Cleaning analytics... %s feed fetches" % (
settings.MONGOANALYTICSDB.nbanalytics.feed_fetches.count(),
diff --git a/apps/social/models.py b/apps/social/models.py
index 466ad8e63..63d161ad0 100644
--- a/apps/social/models.py
+++ b/apps/social/models.py
@@ -1599,6 +1599,14 @@ class MSharedStory(mongo.DynamicDocument):
socialsub.save()
self.delete()
+
+ def publish_to_subscribers(self):
+ try:
+ r = redis.Redis(connection_pool=settings.REDIS_PUBSUB_POOL)
+ r.publish("social:%s:story" % (self.user_id), '%s,%s' % (self.story_hash, self.shared_date.strftime('%s')))
+ logging.debug(" ***> [%-30s] ~BMPublishing to Redis for real-time." % (Feed.get_by_id(self.story_feed_id).title[:30],))
+ except redis.ConnectionError:
+ logging.debug(" ***> [%-30s] ~BMRedis is unavailable for real-time." % (Feed.get_by_id(self.story_feed_id).title[:30],))
@classmethod
def feed_quota(cls, user_id, story_hash, feed_id=None, days=1, quota=1):
@@ -2763,7 +2771,7 @@ class MSocialServices(mongo.Document):
return
return True
-
+
class MInteraction(mongo.Document):
user_id = mongo.IntField()
diff --git a/apps/social/views.py b/apps/social/views.py
index f31140171..63f416a5d 100644
--- a/apps/social/views.py
+++ b/apps/social/views.py
@@ -611,6 +611,7 @@ def mark_story_as_shared(request):
}
try:
shared_story = MSharedStory.objects.create(**story_db)
+ shared_story.publish_to_subscribers()
except NotUniqueError:
shared_story = MSharedStory.objects.get(story_guid=story_db['story_guid'],
user_id=story_db['user_id'])
@@ -667,6 +668,7 @@ def mark_story_as_shared(request):
EmailFirstShare.apply_async(kwargs=dict(user_id=request.user.pk))
+
if format == 'html':
stories = MSharedStory.attach_users_to_stories(stories, profiles)
return render(request, 'social/social_story.xhtml', {
diff --git a/clients/android/NewsBlur/AndroidManifest.xml b/clients/android/NewsBlur/AndroidManifest.xml
index fc63f0059..269e37a96 100644
--- a/clients/android/NewsBlur/AndroidManifest.xml
+++ b/clients/android/NewsBlur/AndroidManifest.xml
@@ -126,15 +126,13 @@
-
-
+ android:launchMode="singleTask"
+ android:label="@string/mute_sites"/>
diff --git a/clients/android/NewsBlur/assets/black_reading.css b/clients/android/NewsBlur/assets/black_reading.css
index 8cbafed10..bec227edc 100644
--- a/clients/android/NewsBlur/assets/black_reading.css
+++ b/clients/android/NewsBlur/assets/black_reading.css
@@ -28,3 +28,20 @@ blockquote a, blockquote a span {
.NB-story > table {
background-color: #1A1A1A !important;
}
+
+ins {
+ background-color: #069000;
+ text-decoration: none;
+}
+
+del {
+ background-color: #920000;
+}
+.NB-story ins {
+ background-color: #069000;
+ text-decoration: none;
+}
+
+.NB-story del {
+ background-color: #920000;
+}
\ No newline at end of file
diff --git a/clients/android/NewsBlur/assets/dark_reading.css b/clients/android/NewsBlur/assets/dark_reading.css
index 1c382d1d2..a79f0f021 100644
--- a/clients/android/NewsBlur/assets/dark_reading.css
+++ b/clients/android/NewsBlur/assets/dark_reading.css
@@ -27,4 +27,21 @@ blockquote a, blockquote a span {
.NB-story > table {
background-color: #4C4C4C !important;
+}
+
+ins {
+ background-color: #069000;
+ text-decoration: none;
+}
+
+del {
+ background-color: #920000;
+}
+.NB-story ins {
+ background-color: #069000;
+ text-decoration: none;
+}
+
+.NB-story del {
+ background-color: #920000;
}
\ No newline at end of file
diff --git a/clients/android/NewsBlur/assets/light_reading.css b/clients/android/NewsBlur/assets/light_reading.css
index 19c151b46..fa47bc620 100644
--- a/clients/android/NewsBlur/assets/light_reading.css
+++ b/clients/android/NewsBlur/assets/light_reading.css
@@ -23,4 +23,21 @@ pre, blockquote {
body, html {
background-color: #FFF;
}
+}
+
+ins {
+ background-color: #BEE8BC;
+ text-decoration: none;
+}
+
+del {
+ background-color: #f5c3c3
+}
+.NB-story ins {
+ background-color: #BEE8BC;
+ text-decoration: none
+}
+
+.NB-story del {
+ background-color: #f5c3c3;
}
\ No newline at end of file
diff --git a/clients/android/NewsBlur/assets/reading.css b/clients/android/NewsBlur/assets/reading.css
index dd4f63d9e..8177f8771 100644
--- a/clients/android/NewsBlur/assets/reading.css
+++ b/clients/android/NewsBlur/assets/reading.css
@@ -63,13 +63,4 @@ pre, blockquote {
margin: 0.6em;
word-wrap: break-word !important;
white-space: pre-wrap !important;
-}
-
-/* these are the diff blocks produced by NewsBlur */
-ins {
- text-decoration: none;
-}
-
-del {
- display: none;
-}
+}
\ No newline at end of file
diff --git a/clients/android/NewsBlur/build.gradle b/clients/android/NewsBlur/build.gradle
index b48d5402c..e82c3d6eb 100644
--- a/clients/android/NewsBlur/build.gradle
+++ b/clients/android/NewsBlur/build.gradle
@@ -1,5 +1,5 @@
buildscript {
- ext.kotlin_version = '1.4.10'
+ ext.kotlin_version = '1.4.20'
repositories {
mavenCentral()
maven {
@@ -9,7 +9,7 @@ buildscript {
google()
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.1.0'
+ classpath 'com.android.tools.build:gradle:4.1.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
@@ -34,10 +34,13 @@ dependencies {
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
implementation 'com.squareup.okhttp3:okhttp:4.9.0'
implementation 'com.google.code.gson:gson:2.8.6'
- implementation 'com.android.billingclient:billing:3.0.1'
+ implementation 'com.android.billingclient:billing:3.0.2'
implementation 'nl.dionsegijn:konfetti:1.2.2'
implementation 'com.github.jinatonic.confetti:confetti:1.1.2'
- implementation 'com.google.android.play:core:1.8.3'
+ implementation 'com.google.android.play:core:1.9.0'
+ implementation "com.google.android.material:material:1.2.1"
+ implementation "androidx.preference:preference-ktx:1.1.1"
+ implementation "androidx.browser:browser:1.3.0"
}
android {
@@ -46,14 +49,15 @@ android {
applicationId "com.newsblur"
minSdkVersion 21
targetSdkVersion 29
- versionCode 177
- versionName "10.1.1"
+ versionCode 180
+ versionName "10.2.1b1"
}
compileOptions.with {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
android.buildFeatures.viewBinding = true
+ android.buildFeatures.dataBinding = true
sourceSets {
main {
diff --git a/clients/android/NewsBlur/res/drawable/ic_bookmark.xml b/clients/android/NewsBlur/res/drawable/ic_bookmark.xml
index 2e1dfadc7..a9d4765ff 100644
--- a/clients/android/NewsBlur/res/drawable/ic_bookmark.xml
+++ b/clients/android/NewsBlur/res/drawable/ic_bookmark.xml
@@ -4,6 +4,6 @@
android:viewportWidth="24"
android:viewportHeight="24">
diff --git a/clients/android/NewsBlur/res/drawable/ic_dining.xml b/clients/android/NewsBlur/res/drawable/ic_dining.xml
index 6793ae0f9..6e8e470ca 100644
--- a/clients/android/NewsBlur/res/drawable/ic_dining.xml
+++ b/clients/android/NewsBlur/res/drawable/ic_dining.xml
@@ -4,6 +4,6 @@
android:viewportWidth="24"
android:viewportHeight="24">
diff --git a/clients/android/NewsBlur/res/drawable/ic_file_edit.png b/clients/android/NewsBlur/res/drawable/ic_file_edit.png
new file mode 100644
index 000000000..5132c000d
Binary files /dev/null and b/clients/android/NewsBlur/res/drawable/ic_file_edit.png differ
diff --git a/clients/android/NewsBlur/res/drawable/ic_folder.xml b/clients/android/NewsBlur/res/drawable/ic_folder.xml
index 721dec314..82bdfd668 100644
--- a/clients/android/NewsBlur/res/drawable/ic_folder.xml
+++ b/clients/android/NewsBlur/res/drawable/ic_folder.xml
@@ -4,6 +4,6 @@
android:viewportWidth="24"
android:viewportHeight="24">
diff --git a/clients/android/NewsBlur/res/drawable/ic_hand_pointing_right.xml b/clients/android/NewsBlur/res/drawable/ic_hand_pointing_right.xml
index 3463f37a2..dcb910746 100644
--- a/clients/android/NewsBlur/res/drawable/ic_hand_pointing_right.xml
+++ b/clients/android/NewsBlur/res/drawable/ic_hand_pointing_right.xml
@@ -4,6 +4,6 @@
android:viewportWidth="24"
android:viewportHeight="24">
diff --git a/clients/android/NewsBlur/res/drawable/ic_lock.xml b/clients/android/NewsBlur/res/drawable/ic_lock.xml
index 6c3cc5598..658e34b2d 100644
--- a/clients/android/NewsBlur/res/drawable/ic_lock.xml
+++ b/clients/android/NewsBlur/res/drawable/ic_lock.xml
@@ -4,6 +4,6 @@
android:viewportWidth="24"
android:viewportHeight="24">
diff --git a/clients/android/NewsBlur/res/drawable/ic_menu_fullscreen_gray55.png b/clients/android/NewsBlur/res/drawable/ic_menu_fullscreen_gray55.png
deleted file mode 100755
index 15f91e4aa..000000000
Binary files a/clients/android/NewsBlur/res/drawable/ic_menu_fullscreen_gray55.png and /dev/null differ
diff --git a/clients/android/NewsBlur/res/drawable/ic_rss_feed.xml b/clients/android/NewsBlur/res/drawable/ic_rss_feed.xml
index 88af5ee32..c5813bda8 100644
--- a/clients/android/NewsBlur/res/drawable/ic_rss_feed.xml
+++ b/clients/android/NewsBlur/res/drawable/ic_rss_feed.xml
@@ -4,9 +4,9 @@
android:viewportWidth="24"
android:viewportHeight="24">
diff --git a/clients/android/NewsBlur/res/drawable/ic_search.xml b/clients/android/NewsBlur/res/drawable/ic_search.xml
index 4e02b363a..f98ddb005 100644
--- a/clients/android/NewsBlur/res/drawable/ic_search.xml
+++ b/clients/android/NewsBlur/res/drawable/ic_search.xml
@@ -4,6 +4,6 @@
android:viewportWidth="24"
android:viewportHeight="24">
diff --git a/clients/android/NewsBlur/res/drawable/ic_sync.xml b/clients/android/NewsBlur/res/drawable/ic_sync.xml
index e16b8024f..a1e783529 100644
--- a/clients/android/NewsBlur/res/drawable/ic_sync.xml
+++ b/clients/android/NewsBlur/res/drawable/ic_sync.xml
@@ -4,6 +4,6 @@
android:viewportWidth="24"
android:viewportHeight="24">
diff --git a/clients/android/NewsBlur/res/drawable/ic_text.xml b/clients/android/NewsBlur/res/drawable/ic_text.xml
index a8ae5a005..fcaac987a 100644
--- a/clients/android/NewsBlur/res/drawable/ic_text.xml
+++ b/clients/android/NewsBlur/res/drawable/ic_text.xml
@@ -4,6 +4,6 @@
android:viewportWidth="24"
android:viewportHeight="24">
diff --git a/clients/android/NewsBlur/res/layout/actionbar_custom_icon.xml b/clients/android/NewsBlur/res/layout/actionbar_custom_icon.xml
deleted file mode 100644
index bf777969e..000000000
--- a/clients/android/NewsBlur/res/layout/actionbar_custom_icon.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/clients/android/NewsBlur/res/layout/activity_addfeedexternal.xml b/clients/android/NewsBlur/res/layout/activity_addfeedexternal.xml
index 2e9d1b4ba..897b7a58e 100644
--- a/clients/android/NewsBlur/res/layout/activity_addfeedexternal.xml
+++ b/clients/android/NewsBlur/res/layout/activity_addfeedexternal.xml
@@ -1,25 +1,35 @@
-
+ android:layout_height="match_parent">
-
+
-
-
-
+ android:layout_height="match_parent"
+ android:animateLayoutChanges="true"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">
+
+
+
+
+
+
+
+
diff --git a/clients/android/NewsBlur/res/layout/activity_addsocial.xml b/clients/android/NewsBlur/res/layout/activity_addsocial.xml
index 1fb2bdb49..829a555ec 100644
--- a/clients/android/NewsBlur/res/layout/activity_addsocial.xml
+++ b/clients/android/NewsBlur/res/layout/activity_addsocial.xml
@@ -1,32 +1,42 @@
-
+ android:layout_height="match_parent">
-
+
+
-
-
+ android:background="@color/item_background"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">
-
+
+
-
-
+ android:layout_alignParentBottom="true"
+ android:gravity="right"
+ android:padding="10dp">
-
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/clients/android/NewsBlur/res/layout/activity_feed_search.xml b/clients/android/NewsBlur/res/layout/activity_feed_search.xml
index 827c7f365..31fbdf06a 100644
--- a/clients/android/NewsBlur/res/layout/activity_feed_search.xml
+++ b/clients/android/NewsBlur/res/layout/activity_feed_search.xml
@@ -1,25 +1,34 @@
-
+
-
-
-
-
+
+
+ android:layout_height="fill_parent"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">
-
+
+
+
+
+
+
+
diff --git a/clients/android/NewsBlur/res/layout/activity_in_app_browser.xml b/clients/android/NewsBlur/res/layout/activity_in_app_browser.xml
deleted file mode 100644
index b6ed584f5..000000000
--- a/clients/android/NewsBlur/res/layout/activity_in_app_browser.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/clients/android/NewsBlur/res/layout/activity_itemslist.xml b/clients/android/NewsBlur/res/layout/activity_itemslist.xml
index 251b7c3f7..5b76c08f9 100644
--- a/clients/android/NewsBlur/res/layout/activity_itemslist.xml
+++ b/clients/android/NewsBlur/res/layout/activity_itemslist.xml
@@ -1,50 +1,57 @@
-
-
-
+ android:layout_height="match_parent">
-
+
+
+ android:animateLayoutChanges="true"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">
-
+
-
+
-
+
+
+
+
+
+
diff --git a/clients/android/NewsBlur/res/layout/activity_main.xml b/clients/android/NewsBlur/res/layout/activity_main.xml
index d8b2d1a67..f98bd3fa2 100644
--- a/clients/android/NewsBlur/res/layout/activity_main.xml
+++ b/clients/android/NewsBlur/res/layout/activity_main.xml
@@ -9,9 +9,9 @@
+ android:background="?colorPrimary" >
-
+
+
-
-
+
+
diff --git a/clients/android/NewsBlur/res/layout/activity_reading.xml b/clients/android/NewsBlur/res/layout/activity_reading.xml
index 54bae14b1..9ed2741c4 100644
--- a/clients/android/NewsBlur/res/layout/activity_reading.xml
+++ b/clients/android/NewsBlur/res/layout/activity_reading.xml
@@ -1,114 +1,118 @@
-
+ android:layout_height="match_parent">
-
+
+ android:layout_height="match_parent"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
+ android:layout_gravity="bottom"
+ android:layout_marginBottom="8dp">
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/clients/android/NewsBlur/res/layout/activity_settings.xml b/clients/android/NewsBlur/res/layout/activity_settings.xml
new file mode 100644
index 000000000..60b1e6ee7
--- /dev/null
+++ b/clients/android/NewsBlur/res/layout/activity_settings.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
diff --git a/clients/android/NewsBlur/res/layout/activity_webcontainer.xml b/clients/android/NewsBlur/res/layout/activity_webcontainer.xml
index e79fd42d0..7d847026d 100644
--- a/clients/android/NewsBlur/res/layout/activity_webcontainer.xml
+++ b/clients/android/NewsBlur/res/layout/activity_webcontainer.xml
@@ -1,12 +1,22 @@
-
+ android:layout_height="match_parent">
-
+
+
-
-
+ android:layout_height="match_parent"
+ android:background="@color/item_background"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">
+
+
+
+
+
+
\ No newline at end of file
diff --git a/clients/android/NewsBlur/res/layout/activity_widget_config.xml b/clients/android/NewsBlur/res/layout/activity_widget_config.xml
index a80bb88b8..7eb958c9e 100644
--- a/clients/android/NewsBlur/res/layout/activity_widget_config.xml
+++ b/clients/android/NewsBlur/res/layout/activity_widget_config.xml
@@ -1,21 +1,31 @@
-
-
+
+
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">
-
+
-
\ No newline at end of file
+
+
+
+
+
\ No newline at end of file
diff --git a/clients/android/NewsBlur/res/layout/dialog_trainstory.xml b/clients/android/NewsBlur/res/layout/dialog_trainstory.xml
index 30c2d8c28..a9106b17a 100644
--- a/clients/android/NewsBlur/res/layout/dialog_trainstory.xml
+++ b/clients/android/NewsBlur/res/layout/dialog_trainstory.xml
@@ -19,7 +19,7 @@
android:text="@string/intel_title_header"
/>
-
-
-