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

Enable sort function by registered time on the search page #119

Merged
merged 21 commits into from
Dec 29, 2023

Conversation

otegami
Copy link
Contributor

@otegami otegami commented Dec 21, 2023

GitHub: fix #115
Related PR: #118

What I did

  • Deprecated the date parameter and ensured backward compatibility in the process
  • Changed to use registered_time or last_modified_time instead of date parameter
  • Changed the icons for registered time and last modified time to make them more easily distinguishable.
  • Display the registered time and last modified time on the search page
  • Added sort option by the registered time on the search page
  • Added test cases for order by registered_time
Before After
Screenshot 2023-12-20 at 20 29 57 Screenshot 2023-12-29 at 9 20 53

What I checked

I checked whether the pgroonga command include registered_at in sort_key or not. And it does.

`'slices[type_filtered].sort_keys', '-registered_at'`
  • Steps
SELECT pgroonga_command('select',
  ARRAY[
    'table', pgroonga_table_name('fts_targets_index_pgroonga'),
    'match_columns', 'title * 100 || scorer_tf_at_most(content, 5)', 'query_flags', 'ALLOW_COLUMN|ALLOW_LEADING_NOT|QUERY_NO_SYNTAX_ERROR', 'filter', 'in_values(project_id, 1, 2, 3, 4, 5, 6) &! is_private == true &! ( in_values(project_id, 3, 4, 5, 6) && ( source_type_id == 6 || container_type_id == 6 ) ) && pgroonga_tuple_is_alive(ctid)', 'output_columns', '_id', 'limit', '0', 'drilldowns[source_type].keys', 'source_type_id', 'drilldowns[source_type].limit', '-1', 'drilldowns[container_type].keys', 'container_type_id', 'drilldowns[container_type].limit', '-1', 'slices[type_filtered].filter', 'all_records() &! source_type_id == 2 &! container_type_id == 2 &! source_type_id == 7 &! container_type_id == 7 &! source_type_id == 10 &! container_type_id == 10 &! source_type_id == 3 &! container_type_id == 3 &! source_type_id == 8 &! container_type_id == 8 &! source_type_id == 5 &! container_type_id == 5 &! source_type_id == 11 &! container_type_id == 11', 'slices[type_filtered].columns[highlighted_title].stage', 'output', 'slices[type_filtered].columns[highlighted_title].type', 'ShortText', 'slices[type_filtered].columns[highlighted_title].flags', 'COLUMN_SCALAR', 'slices[type_filtered].columns[highlighted_title].value', 'highlight_html(title)', 'slices[type_filtered].columns[content_snippets].stage', 'output', 'slices[type_filtered].columns[content_snippets].type', 'ShortText', 'slices[type_filtered].columns[content_snippets].flags', 'COLUMN_VECTOR', 'slices[type_filtered].columns[content_snippets].value', 'snippet_html(content)', 'slices[type_filtered].drilldowns[tag].keys', 'tag_ids', 'slices[type_filtered].drilldowns[tag].limit', '-1', 'slices[type_filtered].drilldowns[tag].sort_keys', '-_nsubrecs', 'slices[type_filtered].output_columns', '_score, content_snippets, id, last_modified_at, registered_at, project_id, source_id, source_type_id, title, highlighted_title, tag_ids', 'slices[type_filtered].sort_keys', '-registered_at', 'slices[type_filtered].offset', '0', 'slices[type_filtered].limit', '10'
  ]
)

url_for(@search_request.to_params(order_target: "last_modified_at"))) %>
</li>
<li>
<%= link_to_unless(@search_request.order_target == "registered_at",
tag.i(class: "fas fa-clock") + " " +
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we use different icon?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix: 4e22729 Thanks. I changed the icon like the following.

Before After

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm. They may be difficult to understand the difference of them...
Can we find a better icon to distinct them...?
https://fontawesome.com/search?q=clock&o=r&m=free

Copy link
Contributor Author

@otegami otegami Dec 28, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix: dbcb629
I couldn't find suitable icons in the clock icon list and the other lists like history or date. I chose the following icons instead:

  • Pen icon: Represents 'last_modified_at' as an edit.
  • Calendar icon: Symbolizes 'registered_at' as a date-related event.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They will be better than the current icons.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I've forgotten to add the sample image.
Screenshot 2023-12-28 at 7 14 07

Comment on lines 7 to 8
label_full_text_search_order_target_last_modified_at: updated at
label_full_text_search_order_target_registered_at: created at
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about using last modified time and registered time (or something)?
I'm not sure "XXX at" is a natural label for English speaker.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix: 21c083d

I have aligned the verbs in the past tense, referencing the services mentioned below.

Example 1 (GitHub) Example 2(Google Drive)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or using updated or created simply might also be a good idea because some pages use the Created or Updated.

@@ -226,6 +226,7 @@ def output_columns
"content_snippets",
"id",
"last_modified_at",
"registered_at",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about showing this too in search result list?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kou
May I ask you the use-case about it? I guess we will use it the following place?

<span class="author"><%= format_time(e.event_datetime) %></span></dd>


Do you mean we will include record.registered_at in the following search result list?
If so, I'm thinking about how I should return it.

  • Return the different fields
    • Add the following fields to the response fields
      • api.last_modified_at: record.registered_at
      • api.registered_at: record.registered_at
  • Return it as the api.datetime
    • Change the value depending on the order_target field although I haven't had any image to implement it.
      • if order_target is registered_at, api.datetime: record.registered_at
      • if order_target is last_modified_at, api.datetime: record.last_modified_at

@result_set.each do |record|
api.result do
api.id record.event_id
api.title record.event_highlighted_title
api.type record.event_type
api.url url_for(record.event_url(:only_path => false))
api.description record.event_content_snippets.join("\n")
api.datetime record.event_datetime
api.rank record.rank
end
end


Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Return the different fields

  • Add the following fields to the response fields
    • api.last_modified_at: record.registered_at
    • api.registered_at: record.registered_at

@kou
In this case, I expect it to be displayed on the screen as follows. What do you think of it?

Before After
Screenshot 2023-12-26 at 17 58 13 Screenshot 2023-12-26 at 17 57 27
diff --git a/app/views/search/index.api.rsb b/app/views/search/index.api.rsb
index e61693c..40943cc 100644
--- a/app/views/search/index.api.rsb
+++ b/app/views/search/index.api.rsb
@@ -3,13 +3,15 @@ api.array :results, api_meta(:total_count => @result_set.n_hits,
                              :limit => @search_request.limit) do
   @result_set.each do |record|
     api.result do
-      api.id          record.event_id
-      api.title       record.event_highlighted_title
-      api.type        record.event_type
-      api.url         url_for(record.event_url(:only_path => false))
-      api.description record.event_content_snippets.join("\n")
-      api.datetime    record.event_datetime
-      api.rank        record.rank
+      api.id               record.event_id
+      api.title            record.event_highlighted_title
+      api.type             record.event_type
+      api.url              url_for(record.event_url(:only_path => false))
+      api.description      record.event_content_snippets.join("\n")
+      api.datetime         record.event_datetime
+      api.last_modified_at record.last_modified_at
+      api.registered_at    record.registered_at
+      api.rank             record.rank
     end
   end
 end
diff --git a/app/views/search/index.html.erb b/app/views/search/index.html.erb
index b9a46b3..3071fbe 100644
--- a/app/views/search/index.html.erb
+++ b/app/views/search/index.html.erb
@@ -189,7 +189,13 @@
               <li><%= snippet %></li>
             <% end %>
           </ol>
-        <span class="author"><%= format_time(e.event_datetime) %></span></dd>
+          <span class="last-modified">
+            <%= "#{l(:label_full_text_search_order_target_last_modified_time)}: #{format_time(e.last_modified_at)}" %>
+          </span>
+          <span class="registered">
+            <%= "#{l(:label_full_text_search_order_target_registered_time)}: #{format_time(e.registered_at)}" %>
+          </span>
+        </dd>
       <% end %>
     </dl>
 
(END)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just thought app/views/search/index.html.erb but outputting in index.api.erb too is better. Good catch.

I feel that it's difficult to distinct last_modified_at value and registered_at value because we don't have any separator between them.

How about using icon instead of l(:label_full_text_search_order_target_XXX)?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix: 8ba3f0a Thanks!

@otegami
Copy link
Contributor Author

otegami commented Dec 22, 2023

@kou
Thank you for reviewing.
Could you give me the advice about the following comment?

@kou
Copy link
Member

kou commented Dec 22, 2023

I'll re-review and reply after 2023-12-26...

@@ -55,8 +55,12 @@
<%= l(:label_full_text_search_order_target_score) %>
</label>
<label>
<%= form.radio_button "order_target", "date", name: "order_target" %>
<%= l(:label_full_text_search_order_target_date) %>
<%= form.radio_button "order_target", "last_modified_at", name: "order_target" %>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about using the same term for i18n label?

Suggested change
<%= form.radio_button "order_target", "last_modified_at", name: "order_target" %>
<%= form.radio_button "order_target", "last_modified_time", name: "order_target" %>

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix: 177a642

app/views/search/index.html.erb Outdated Show resolved Hide resolved
url_for(@search_request.to_params(order_target: "last_modified_at"))) %>
</li>
<li>
<%= link_to_unless(@search_request.order_target == "registered_at",
tag.i(class: "fas fa-clock") + " " +
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm. They may be difficult to understand the difference of them...
Can we find a better icon to distinct them...?
https://fontawesome.com/search?q=clock&o=r&m=free

@@ -242,10 +243,14 @@ def sort_keys
direction = ""
end
case @request.order_target
when "date"
when "last_modified_at"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we keep supporting date for a backward compatibility?

Suggested change
when "last_modified_at"
# TODO: Add a comment why "data" exists here
when "data", "last_modified_at"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix: 3063733

@@ -226,6 +226,7 @@ def output_columns
"content_snippets",
"id",
"last_modified_at",
"registered_at",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just thought app/views/search/index.html.erb but outputting in index.api.erb too is better. Good catch.

I feel that it's difficult to distinct last_modified_at value and registered_at value because we don't have any separator between them.

How about using icon instead of l(:label_full_text_search_order_target_XXX)?

@otegami
Copy link
Contributor Author

otegami commented Dec 28, 2023

@kou
Thank you for reviewing. I've just fixed what you mentioned.

Copy link
Member

@kou kou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you know why CI isn't run for this PR...?

api.type record.event_type
api.url url_for(record.event_url(:only_path => false))
api.description record.event_content_snippets.join("\n")
api.datetime record.event_datetime
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you add a comment that this is deprecated but still exists for backward compatibility and using last_modified_at or registered_at explicitly is recommended?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix: 61f2096 Thanks!

tag.i(class: "fas fa-clock") + " " +
l(:label_full_text_search_order_target_date),
url_for(@search_request.to_params(order_target: "date"))) %>
<%= link_to_unless(@search_request.order_target == "last_modified_time",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<%= link_to_unless(@search_request.order_target == "last_modified_time",
<%# TODO: Add a comment why "date" is here %>
<%= link_to_unless(@search_request.order_target.include?(["date", "last_modified_time"],

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix: 61f2096
Thanks, I missed it.

@@ -179,7 +189,15 @@
<li><%= snippet %></li>
<% end %>
</ol>
<span class="author"><%= format_time(e.event_datetime) %></span></dd>
<span class="last-modified">
<i class="fas fa-pen"></i>:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We may not need : here.
Could you share screenshot?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure!
I made a change thinking it would be more user-friendly, but do you think it's better without it?

Screenshot 2023-12-28 at 14 55 06

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks.
We may need a separator by CSS (something like " 🖊️: 12/26/2023 05:50 PM | 📆: 12/26/2023 05:50 PM") between last modified time and registered time.
If we have a separator, I don't care with/without :.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix: 6f01fbb

Thank you for your suggestion. The visibility of content gets much better!
Screenshot 2023-12-28 at 17 45 39

@@ -242,10 +243,16 @@ def sort_keys
direction = ""
end
case @request.order_target
when "date"
# TODO: Supporting the `date` parameter for backward compatibility,
# but it will be deprecated in the future. Use `last_modified_time` instead.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can make it deprecated right now.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix: 61f2096

if item.respond_to?(:created_on)
datetime ||= item.created_on
registered_at = item.created_on
end
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will simplify the following code (registered_at&.iso8601 || datetime&.iso8601 -> registered_at*.iso8601):

Suggested change
end
else
registered_at = datetime
end

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix: f9fbeb0

@@ -215,13 +215,18 @@ def format_api_results(items, total_count: nil)
datetime ||= changeset.committed_on
end
datetime ||= item.updated_on if item.respond_to?(:updated_on)
datetime ||= item.created_on if item.respond_to?(:created_on)
if item.respond_to?(:created_on)
datetime ||= item.created_on
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you rename the local varialble name to last_modified_at from datetime?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix: 3bd7a5e

@kou
Copy link
Member

kou commented Dec 28, 2023

Ah, the workflow is disabled by scheduled workflow.
I've enabled it.

@otegami
Copy link
Contributor Author

otegami commented Dec 28, 2023

@kou
Thank you for reviewing and enabling CI. I've just fixed what you mentioned.

api.type record.event_type
api.url url_for(record.event_url(:only_path => false))
api.description record.event_content_snippets.join("\n")
# TODO: 'datetime' is deprecated but maintained for backward compatibility. Use 'last_modified_at' or 'registered_at' explicitly.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you remove TODO?
Could you fold a long line?

Suggested change
# TODO: 'datetime' is deprecated but maintained for backward compatibility. Use 'last_modified_at' or 'registered_at' explicitly.
# 'datetime' is deprecated but maintained for backward compatibility.
# Use 'last_modified_at' or 'registered_at' explicitly.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix: 846e1ac

@@ -55,8 +55,14 @@
<%= l(:label_full_text_search_order_target_score) %>
</label>
<label>
<%= form.radio_button "order_target", "date", name: "order_target" %>
<%= l(:label_full_text_search_order_target_date) %>
<!-- TODO: 'date' is deprecated but maintained for backward compatibility. -->
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you use ERB comment instead of HTML comment because this comment will be meaningless in rendered HTML?

Suggested change
<!-- TODO: 'date' is deprecated but maintained for backward compatibility. -->
<!-- 'date' is deprecated but maintained for backward compatibility. -->

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix: cbf714b

<%= l(:label_full_text_search_order_target_date) %>
<!-- TODO: 'date' is deprecated but maintained for backward compatibility. -->
<!-- Use 'last_modified_time' or 'registered_time' explicitly. -->
<%= form.radio_button "order_target", "last_modified_time", checked: ["date", "last_modified_time"].include?(@search_request.order_target), name: "order_target" %>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you fold a long line for readability?

Suggested change
<%= form.radio_button "order_target", "last_modified_time", checked: ["date", "last_modified_time"].include?(@search_request.order_target), name: "order_target" %>
<%= form.radio_button "order_target",
"last_modified_time",
checked: ["date", "last_modified_time"].include?(@search_request.order_target),
name: "order_target" %>

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix: afb81f1

@@ -179,7 +189,15 @@
<li><%= snippet %></li>
<% end %>
</ol>
<span class="author"><%= format_time(e.event_datetime) %></span></dd>
<span class="last-modified">
<i class="fas fa-pen"></i>:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks.
We may need a separator by CSS (something like " 🖊️: 12/26/2023 05:50 PM | 📆: 12/26/2023 05:50 PM") between last modified time and registered time.
If we have a separator, I don't care with/without :.

lib/full_text_search/searcher.rb Outdated Show resolved Hide resolved
@otegami
Copy link
Contributor Author

otegami commented Dec 28, 2023

@kou
Thank you for reviewing. I've just fixed what you mentioned.

@@ -82,6 +82,11 @@ ol.search-snippets li {
padding: 0.25em 0;
}

.last-modified::after {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you limit this style only in search result something like the following?

Suggested change
.last-modified::after {
#search-result .last-modified::after {

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix: b66f956

@otegami
Copy link
Contributor Author

otegami commented Dec 29, 2023

@kou
Thank you for reviewing. I've just fixed what you mentioned.

@kou
Copy link
Member

kou commented Dec 29, 2023

Could you update the PR title and description before we merge this?
We use them for commit message.

@otegami otegami changed the title Enable sort function by creation time Enable sort function by registered time on the search page Dec 29, 2023
@otegami
Copy link
Contributor Author

otegami commented Dec 29, 2023

@kou
Sure. I've just updated the title and description.

Copy link
Member

@kou kou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, one more thing.
Could you add a test for order by registered time?

order_type: "desc",
search_id: @project.id,
news: "1",
attachments: "0",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I couldn't understand why the value of attachments parameter is '1' at first.
So if I don't use this parameter, the searched result includes targets related to attachments.

@otegami
Copy link
Contributor Author

otegami commented Dec 29, 2023

Could you add a test for order by registered time?

fix: 7703bb5
@kou
Sure, I've just added the test case for the order.
Should I add the test case for the other orders like 'last_modified_time' or 'score'?
If so, should I do it in the other issue?

@otegami otegami requested a review from kou December 29, 2023 07:57
@otegami otegami force-pushed the add-filter-function-by-creation-time branch from 7fd2370 to 7703bb5 Compare December 29, 2023 08:54
parameters = {
order_target: "registered_time",
order_type: "desc",
search_id: @project.id,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need this?
If we need this, is @project.id a suitable value?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix: cc5d0ec
I took request.project for the search_id parameter.
And it has already been defined in the following.

limit: "-1"
}
targets = search(parameters).records
searched_news_ids = targets.collect(&:source_id)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about compare records instead of only record IDs?
If this test is failed, we can only know record IDs. But we want to know created_on value for each record. If we use records instead of record IDs, failure message includes created_on values too.

Suggested change
searched_news_ids = targets.collect(&:source_id)
searched_news = targets.collect(&:source_record)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix: a59d128
Thanks, I think I couldn't have this viewpoint when I wrote tests...

test/unit/full_text_search/searcher_test.rb Show resolved Hide resolved
@@ -82,5 +82,41 @@ def test_syntax_error_query
assert_equal([issue],
targets.collect(&:source_record).sort_by(&:id))
end

def test_results_ordered_by_descending_registered_time
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we simplify this name?

Suggested change
def test_results_ordered_by_descending_registered_time
def test_order_registered_time_desc

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix: 8fcf70f

@kou
Copy link
Member

kou commented Dec 29, 2023

Should I add the test case for the other orders like 'last_modified_time' or 'score'?

It's better.

If so, should I do it in the other issue?

Yes.

If we use records instead of record IDs, failure message show instance information which includes created_on values too.
@otegami
Copy link
Contributor Author

otegami commented Dec 29, 2023

@kou
Thank you for reviewing. I've just fixed what you mentioned.


Should I add the test case for the other orders like 'last_modified_time' or 'score'?

It's better.

Added: I created the issue about it

@otegami otegami requested a review from kou December 29, 2023 14:23
@kou kou merged commit 288b667 into clear-code:master Dec 29, 2023
8 of 10 checks passed
@kou
Copy link
Member

kou commented Dec 29, 2023

Thanks!

@otegami otegami deleted the add-filter-function-by-creation-time branch December 29, 2023 15:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

検索結果のソートにチケット番号を追加してほしい
2 participants