Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change limit and cache expiration date on recently active users query #9796

Closed
5 tasks
Tracked by #9667
TildaDares opened this issue Jun 14, 2021 · 15 comments
Closed
5 tasks
Tracked by #9667
Labels
first-timers-only They need to be well-formatted using the First-timers_Issue_Template.

Comments

@TildaDares
Copy link
Member

Hi, this is a first-timers-only issue. This means we've worked to make it more legible to folks who either haven't contributed to our codebase before, or even folks who haven't contributed to open source before.

If that's you, we're interested in helping you take the first step and can answer questions and help you out as you do. Note that we're especially interested in contributions from people from groups underrepresented in free and open source software!

We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you 💝

If you have contributed before, consider leaving this one for someone new, and looking through our general help wanted issues. Thanks!

🤔 What you will need to know.

Nothing. This issue is meant to welcome you to Open Source :) We are happy to walk you through the process.

❓Problem

Public Lab comment boxes now show you a list of recently active users when you type @ just like Github does. You can test it out here https://stable.publiclab.org/

Screen.Recording.2021-06-10.at.16.39.36.mov

Presently the limit on the query that fetches the recently active users is 5 and the cache expires every 24 hours. These things need to change and that's why I need your help

📋 Step by Step

  • 🙋 Claim this issue: Comment below. If someone else has claimed it, ask if they've opened a pull request already and if they're stuck -- maybe you can help them solve a problem or move it along!

  • 📝 Update the file app/models/user.rb in the plots2 repository (press the little pen Icon) and edit the line as shown below.

See this page for some help in taking your first steps!

Below is a "diff" showing in red (and a -) which lines to remove, and in green (and a +) which lines to add:

@@ -505,8 +505,8 @@ class User < ActiveRecord::Base
     recent_locations.last
   end
 
-  def self.recently_active_users(limit = 5, order = 'last_updated DESC')
-    Rails.cache.fetch('users/active', expires_in: 24.hours) do
+  def self.recently_active_users(limit = 15, order = 'last_updated DESC')
+    Rails.cache.fetch('users/active', expires_in: 1.hour) do
       User.select('rusers.username, rusers.status, rusers.id, MAX(node_revisions.timestamp) AS last_updated')
         .joins("INNER JOIN `node_revisions` ON `node_revisions`.`uid` = `rusers`.`id` ")
         .where("node_revisions.status = 1")
  • 💾 Commit your changes

  • 🔀 Start a Pull Request. There are two ways how you can start a pull request:

  1. If you are familiar with the terminal or would like to learn it, here is a great tutorial on how to send a pull request using the terminal.

  2. You can also edit files directly in your browser and open a pull request from there.

  • 🏁 Done Ask in comments for a review :)

Please keep us updated

💬⏰ - We encourage contributors to be respectful to the community and provide an update within a week of claiming a first-timers-only issue. We're happy to keep it assigned to you as long as you need if you update us with a request for more time or help, but if we don't see any activity a week after you claim it we may reassign it to give someone else a chance. Thank you in advance!

If this happens to you, don't sweat it! Grab another open issue.

Is someone else already working on this?

🔗- We encourage contributors to link to the original issue in their pull request so all users can easily see if someone's already started on it.

👥- If someone seems stuck, offer them some help! Otherwise, take a look at some other issues you can help with. Thanks!

🤔❓ Questions?

Leave a comment below!

@TildaDares TildaDares added the first-timers-only They need to be well-formatted using the First-timers_Issue_Template. label Jun 14, 2021
@TildaDares
Copy link
Member Author

@phyleria Would you like to work on this?

@virtualpathum
Copy link

Im a first timer. Can I fix this?

@TildaDares
Copy link
Member Author

Hi @virtualpathum, thank you for the interest but this issue is reserved. You can ask for your name to be included in the list of first timers here #9083. Thanks :)

@phyleria
Copy link
Contributor

Yes I would, thank you

@cesswairimu
Copy link
Collaborator

Hey @phyleria, please let us you if you are stuck in any way here or there is any way we can help. Thanks

@phyleria
Copy link
Contributor

Hi @cesswairimu , yes I would really appreciate some help. I don't know how to start contributing to the problem. I've tried but I can't proceed. Thank you.

@cesswairimu
Copy link
Collaborator

cool, after forking the project navigate to this file app/models/user.rb and update the lines outlined on step 2 of the issue description (replace the lines marked in red with the green ones) you could do this locally or refer to this to edit on github directly ...makes sense?

@phyleria
Copy link
Contributor

Yes it makes sense and I've done it. Thank you I've understood how it works.

@TildaDares
Copy link
Member Author

Hi @phyleria Do you need help with this?

@phyleria
Copy link
Contributor

Hi, yes. I tried creating a pull request but it didn't pass the tests. Please show me how to do it.

@TildaDares
Copy link
Member Author

@phyleria Was it after creating the PR that the tests didn't pass on GitHub or you're talking about the tests you ran locally?

@phyleria
Copy link
Contributor

phyleria commented Jun 26, 2021 via email

@TildaDares
Copy link
Member Author

@phyleria Create the PR and we'll deal with the failing tests together.

@phyleria
Copy link
Contributor

phyleria commented Jun 26, 2021 via email

@RuthNjeri RuthNjeri mentioned this issue Jun 27, 2021
5 tasks
@cesswairimu
Copy link
Collaborator

Solved in #9857. closing this. Thanks all

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
first-timers-only They need to be well-formatted using the First-timers_Issue_Template.
Projects
None yet
Development

No branches or pull requests

4 participants