Pamac (GUI) is not showing updates but Discover is

I was able to reproduce your problem to day. I ran checkupdates and noticed there were updates. This would make sense because there was a stable announcement. I ran pamac-manager and clicked “Updates”. Nothing. I clicked the menu > “Refresh Database” and it found the updates. The “Refresh” button on the Updates tab did not do the same thing as the “Refresh Database” in the menu.

pamac
From a user’s perspective it might seem that updating is all the same whether using pamac, pacman, etc. But I believe the only thing in common is the mirror list, controlled via /etc/pacman.d and the command pacman-mirrors. All other applications create their own sync db.

One thing I noticed, if pamac doesn’t find /tmp/pamac it doesn’t create it or report it doesn’t exist. I haven’t checked this, but it is probably done automatically based on the values set in Preferences. The user can use “Refresh Database” from the GUI menu (not button), or from the command line pamac update --force-refresh. The option --force-refresh should be available on pamac checkupdates or it should do something like checkupdates and create a temporary db.

To answer, what is software mode:

If you are going to use pacman, may I suggest making this one change to /etc/pacman.conf so the updated packages are in a table format rather than a space separated list. It will also include a column for the current version and the old version, similar to the output of pamac checkupdates.

# become root
sudo -i
# change directory
cd /etc
# make a backup (suffix is year month day)
cp -a pacman.conf pacman.conf.20210219
# edit
nano pacman.conf 
# Remove the comment (#) from VerbosePkgLists
# VerbosepkgLists
VerbosepkgLists
# exit nano and follow the prompts to save
ctrl-x
# get out of root
ctrl-d

Before doing an update, check the status of your mirrors either by going to the web page or executing pacman-mirrors.

Also review the suggestions at: How to build a package from source on manjaro? - #12 by stargazer