Steps to reproduce:
  *  Add files test.c and test.cpp to the repository.
  *  Start UI and view Files.

Expected results:
  *  Files test.c and test.cpp are both listed.

Actual results:
  *  Only file test.c is listed.

It seems like only the first file (in collating order) is listed for multiple files with the same name and different extensions with a common initial substring. Clicking on "All" to show the union of all files from all check-ins displays both files.

on the Files view, if you click "All", you will see it..

it seems that when you see only one of them because by default, you see only file for one checkin...

I made the same test as you and I'm was confused too...

In my case, I tried to edit the file that was not shown on the default view, I commit it and after, I still don't see the file I just commit. And the checkin id is show on top was good.

Step by step from beginning:

<pre>
# fossil new test.fossil
# mkdir repo
# cd repo
# fossil open ../test.fossil
# echo "a source file" > test.c
# cp test.c test.cpp
# fossil add test.c test.cpp
# fossil commit
</pre>

I put some comment...

<pre>
fossil ui
</pre>

I see only test.c in "Files"

Then I edit test.cpp, I commit again, I do fossil ui again, I still only see test.c even if on top the checkin number shown on top of the page correspond to the latest commit when I modified test.cpp.

I can reproduce the problem with the commands given.

browse.c line 215 should be a strcmp. There might be a missing check for removed files in base revisions too?

It seems that the problem happens when a file name is shorter than another, but all the characters are the same as the longer one (first characters).

<b>example:</b>

  *  and will cause the problem
  *  and will be ok
  *  and will have the same problem

So it's not really related with extension...