While I like being able to share history between terminals, especially new terminals. I would not want to share a specific sessioneach and every command as it happens, as eachone window is often doing some particulara specific task, separate form other windows. I would have them merge on shell exit, or when I request.
For a long time I looked for a way to merge bash history (with timestamps), and nothing seemed acceptable to me...
Finally I just 'bit the bullet' and DIY'ed a script to merge, the on-disk ".bash_history" with the in-memory shell 'history'. Preserving timestamp ordering, and command order within those timestamps.
Now when I source this (you could make it a alias or a function as you like), I use the alias 'hc'. My current shell session is merged between disk and memory, so history is updated from other previous merges, WHEN I WANT (or on logout from that shell via ".bash_logout").
Optionally you can remove unique commands (even if multi-line), and/or removing (cleaning out) simple and/or sensitive commands, according to defined perl RE's. Adjust to suit!
This is the result... https://antofthy.gitlab.io/software/history_merge.bash.txt
Enjoy.