diff --git a/CHANGELOG.md b/CHANGELOG.md
index f2bc17a..a561485 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,7 +2,12 @@
 
 *a,c,f,r,o*
 
-## [6.1.1] - 02.04.2025
+## [6.1.2] - 03.04.2025
+
+### Fixed
+- Fixed `.feed` not adding new feeds to the database
+
+## [6.1.1] - 03.04.2025
  
 ### Added
 - Added some config options for .conf fish
diff --git a/src/EllieBot/EllieBot.csproj b/src/EllieBot/EllieBot.csproj
index 87916e7..4024227 100644
--- a/src/EllieBot/EllieBot.csproj
+++ b/src/EllieBot/EllieBot.csproj
@@ -4,7 +4,7 @@
         <Nullable>enable</Nullable>
         <ImplicitUsings>true</ImplicitUsings>
         <SatelliteResourceLanguages>en</SatelliteResourceLanguages>
-        <Version>6.1.1</Version>
+        <Version>6.1.2</Version>
 
         <!-- Output/build -->
         <RunWorkingDirectory>$(MSBuildProjectDirectory)</RunWorkingDirectory>
diff --git a/src/EllieBot/Modules/Searches/Feeds/FeedCommands.cs b/src/EllieBot/Modules/Searches/Feeds/FeedCommands.cs
index 95e83aa..4984ed4 100644
--- a/src/EllieBot/Modules/Searches/Feeds/FeedCommands.cs
+++ b/src/EllieBot/Modules/Searches/Feeds/FeedCommands.cs
@@ -53,6 +53,8 @@ public partial class Searches
         [Priority(1)]
         public async Task Feed(string url, ITextChannel? channel = null, [Leftover] string? message = null)
         {
+            await ctx.Channel.TriggerTypingAsync();
+            
             if (!Uri.TryCreate(url, UriKind.Absolute, out var uri)
                 || (uri.Scheme != Uri.UriSchemeHttp && uri.Scheme != Uri.UriSchemeHttps))
             {
@@ -61,7 +63,7 @@ public partial class Searches
             }
 
             channel ??= (ITextChannel)ctx.Channel;
-            
+
             if (!((IGuildUser)ctx.User).GetPermissions(channel).MentionEveryone)
                 message = message?.SanitizeAllMentions();
 
@@ -79,7 +81,7 @@ public partial class Searches
             if (ctx.User is not IGuildUser gu || !gu.GuildPermissions.Administrator)
                 message = message?.SanitizeMentions(true);
 
-            var result = _service.AddFeed(ctx.Guild.Id, channel.Id, url, message);
+            var result = await _service.AddFeedAsync(ctx.Guild.Id, channel.Id, url, message);
             if (result == FeedAddResult.Success)
             {
                 await Response().Confirm(strs.feed_added).SendAsync();
@@ -117,32 +119,32 @@ public partial class Searches
         {
             if (--page < 0)
                 return;
-            
+
             var feeds = _service.GetFeeds(ctx.Guild.Id);
 
             if (!feeds.Any())
             {
                 await Response()
-                      .Embed(CreateEmbed().WithOkColor().WithDescription(GetText(strs.feed_no_feed)))
-                      .SendAsync();
+                    .Embed(CreateEmbed().WithOkColor().WithDescription(GetText(strs.feed_no_feed)))
+                    .SendAsync();
                 return;
             }
 
             await Response()
-                  .Paginated()
-                  .Items(feeds)
-                  .PageSize(10)
-                  .CurrentPage(page)
-                  .Page((items, cur) =>
-                  {
-                      var embed = CreateEmbed().WithOkColor();
-                      var i = 0;
-                      var fs = string.Join("\n",
-                          items.Select(x => $"`{(cur * 10) + ++i}.` <#{x.ChannelId}> {x.Url}"));
+                .Paginated()
+                .Items(feeds)
+                .PageSize(10)
+                .CurrentPage(page)
+                .Page((items, cur) =>
+                {
+                    var embed = CreateEmbed().WithOkColor();
+                    var i = 0;
+                    var fs = string.Join("\n",
+                        items.Select(x => $"`{(cur * 10) + ++i}.` <#{x.ChannelId}> {x.Url}"));
 
-                      return embed.WithDescription(fs);
-                  })
-                  .SendAsync();
+                    return embed.WithDescription(fs);
+                })
+                .SendAsync();
         }
     }
 }
\ No newline at end of file
diff --git a/src/EllieBot/Modules/Searches/Feeds/FeedsService.cs b/src/EllieBot/Modules/Searches/Feeds/FeedsService.cs
index a3d9db2..3240ec4 100644
--- a/src/EllieBot/Modules/Searches/Feeds/FeedsService.cs
+++ b/src/EllieBot/Modules/Searches/Feeds/FeedsService.cs
@@ -40,13 +40,13 @@ public class FeedsService : IEService, IReadyExecutor
         await using (var uow = _db.GetDbContext())
         {
             var subs = await uow.Set<FeedSub>()
-                                .AsQueryable()
-                                .Where(x => Queries.GuildOnShard(x.GuildId, _shardData.TotalShards, _shardData.ShardId))
-                                .ToListAsyncLinqToDB();
+                .AsQueryable()
+                .Where(x => Queries.GuildOnShard(x.GuildId, _shardData.TotalShards, _shardData.ShardId))
+                .ToListAsyncLinqToDB();
             _subs = subs
-                    .GroupBy(x => x.Url.ToLower())
-                    .ToDictionary(x => x.Key, x => x.ToList())
-                    .ToConcurrent();
+                .GroupBy(x => x.Url.ToLower())
+                .ToDictionary(x => x.Key, x => x.ToList())
+                .ToConcurrent();
         }
 
         await TrackFeeds();
@@ -66,7 +66,7 @@ public class FeedsService : IEService, IReadyExecutor
                 // remove from db
                 await using var ctx = _db.GetDbContext();
                 await ctx.GetTable<FeedSub>()
-                         .DeleteAsync(x => ids.Contains(x.Id));
+                    .DeleteAsync(x => ids.Contains(x.Id));
 
                 // remove from the local cache
                 _subs.TryRemove(url, out _);
@@ -163,12 +163,12 @@ public class FeedsService : IEService, IReadyExecutor
                         if (!gotImage && feedItem.SpecificItem is AtomFeedItem afi)
                         {
                             var previewElement = afi.Element.Elements()
-                                                    .FirstOrDefault(x => x.Name.LocalName == "preview");
+                                    .FirstOrDefault(x => x.Name.LocalName == "preview");
 
                             if (previewElement is null)
                             {
                                 previewElement = afi.Element.Elements()
-                                                    .FirstOrDefault(x => x.Name.LocalName == "thumbnail");
+                                    .FirstOrDefault(x => x.Name.LocalName == "thumbnail");
                             }
 
                             if (previewElement is not null)
@@ -201,11 +201,11 @@ public class FeedsService : IEService, IReadyExecutor
                                 continue;
 
                             var sendTask = _sender.Response(ch)
-                                                  .Embed(embed)
-                                                  .Text(string.IsNullOrWhiteSpace(val.Message)
-                                                      ? string.Empty
-                                                      : val.Message)
-                                                  .SendAsync();
+                                .Embed(embed)
+                                .Text(string.IsNullOrWhiteSpace(val.Message)
+                                    ? string.Empty
+                                    : val.Message)
+                                .SendAsync();
                             tasks.Add(sendTask);
                         }
 
@@ -236,12 +236,14 @@ public class FeedsService : IEService, IReadyExecutor
         using var uow = _db.GetDbContext();
 
         return uow.GetTable<FeedSub>()
-                  .Where(x => x.GuildId == guildId)
-                  .OrderBy(x => x.Id)
-                  .ToList();
+            .Where(x => x.GuildId == guildId)
+            .OrderBy(x => x.Id)
+            .ToList();
     }
 
-    public FeedAddResult AddFeed(
+    private const int MAX_FEEDS = 10;
+
+    public async Task<FeedAddResult> AddFeedAsync(
         ulong guildId,
         ulong channelId,
         string rssFeed,
@@ -249,25 +251,24 @@ public class FeedsService : IEService, IReadyExecutor
     {
         ArgumentNullException.ThrowIfNull(rssFeed, nameof(rssFeed));
 
-        var fs = new FeedSub
-        {
-            ChannelId = channelId,
-            Url = rssFeed.Trim(),
-            Message = message
-        };
-
-        using var uow = _db.GetDbContext();
-        var feeds = uow.GetTable<FeedSub>()
-                       .Where(x => x.GuildId == guildId)
-                       .ToArray();
-
-        if (feeds.Any(x => x.Url.ToLower() == fs.Url.ToLower()))
+        await using var uow = _db.GetDbContext();
+        var feedUrl = rssFeed.Trim();
+        if (await uow.GetTable<FeedSub>().AnyAsyncLinqToDB(x => x.GuildId == guildId &&
+                                                                        x.Url.ToLower() == feedUrl.ToLower()))
             return FeedAddResult.Duplicate;
-        if (feeds.Length >= 10)
+
+        var count = await uow.GetTable<FeedSub>().CountAsyncLinqToDB(x => x.GuildId == guildId);
+        if (count >= MAX_FEEDS)
             return FeedAddResult.LimitReached;
 
-        uow.Add(fs);
-        uow.SaveChanges();
+        var fs = await uow.GetTable<FeedSub>()
+            .InsertWithOutputAsync(() => new FeedSub
+            {
+                GuildId = guildId,
+                ChannelId = channelId,
+                Url = feedUrl,
+                Message = message,
+            });
 
         _subs.AddOrUpdate(fs.Url.ToLower(),
             [fs],
@@ -293,10 +294,7 @@ public class FeedsService : IEService, IReadyExecutor
         var toRemove = items[index];
         _subs.AddOrUpdate(toRemove.Url.ToLower(),
             [],
-            (_, old) =>
-            {
-                return old.Where(x => x.Id != toRemove.Id).ToList();
-            });
+            (_, old) => { return old.Where(x => x.Id != toRemove.Id).ToList(); });
         uow.Remove(toRemove);
         uow.SaveChanges();