Edges disappear after the second identical plot() statement, when using transparent colors (alpha < 1).

We start on a windows X64 (RGui) system with:

library(igraph)
g <- graph_from_literal(A +-+ B)
plot(g, edge.color=rgb(0,0,0,0.3))

This shows as expected a graph with two vertices connected with an edge.

The next step is to repeat the previous statement with <up arrow> and <return>. Now the edge has disappeared.

The cause is that the first plot statement changed the value par()$xpd = FALSE to TRUE. When saving the graphical image to a PDF file, the edge reappears. In contrast, PNG shows the image as in the R Graphics device, without edge.

Different, but possible related is the following problem:

dev.new()
plot(stack_graph, 
     layout = layout_in_circle(stack_graph), 
     vertex.shape = "sphere",
     edge.color   = rgb(red=0x66/255, green=0x66/255, blue=0x66/255, alpha=0.3), # Transparency issues caused by non valid RBG color code.
     edge.arrow.size = 2                                                         # Changing size > 0 will show transparency issues of the graph vertices.
     )

After saving this image as a .pdf file, the color of the vertices became transparent.
See: Directed graphs (with arrows) causes vertex color transparency.

The code below shows arrows with different transparencies.

plot(make_tree(5, mode="undirected"), vertex.size=10, edge.arrow.mode=3, edge.color=rgb(0,0,0,0.2))

Are these errors in coding, features or bugs?
And reproducible on platforms other than Windows?

I cannot reproduce it on macOS on my machine; the bug related to par()$xpd has been fixed recently, see fix: restore par(xpd=...) after plotting · igraph/rigraph@133f74d · GitHub

Can you test with the latest version from the main branch to see if the remaining bugs that you mentioned are still there?