Inoreabbrev doesn't work

I would like to debug my insert mode abbreviations beond :verbose iabbrev because if I start neovim

vim.cmd([[inoreabbrev idate <c-r>=strftime("%d %b %Y - %H:%M:%S")]])

After a while I have discovered that I have to type idate followed by Ctrl-o. Another thing that happens is that after expanding the abbreviation I end up in normal mode.

Any idea why is this happening? Would it be due nvim-cmp plugging or any

Here are some of my insert mode abbreviations:

vim.cmd([[inoreabbrev Fname <c-r>=expand("%:p")<cr>]])
vim.cmd([[inoreabbrev Iname <c-r>=expand("%:p")<cr>]])
vim.cmd([[inoreabbrev fname <c-r>=expand("%:t")<cr>]])
vim.cmd([[inoreabbrev iname <c-r>=expand("%:t")<cr>]])

vim.cmd[[inoreabbrev idate <c-r>=strftime("%b %d %Y %H:%M")<cr>]]

I ended up discovering the culprit, it was in my mappings.lua file:

-- Break undo chain on punctuation so we can
-- use 'u' to undo sections of an edit
local break_points = {',', '.', '!', '?', ';', '(', ':', '[', '{', '/', '<Space>'}
for _, char in ipairs(break_points) do
    map('i', char, char .. "<C-g>u", { noremap = true })
end

Just removing `’ from the snippet solved the issue!