« first day (2528 days earlier)      last day (47 days later) » 

12:01 AM
RELOAD!
[rubberduck-vba/Rubberduck] 2 opened issues.
[Minesweeper] Games Played: 70, Bombs Used: 48, Moves Performed: 9872, New Users: 10
 
12:26 AM
[rubberduck-vba/Rubberduck] build for commit 80581fbb on unknown branch: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] retailcoder pushed 18 commits to next (only showing some of them below)
[rubberduck-vba/Rubberduck] retailcoder pushed commit ae4c6521 to next: addresses review comments
[rubberduck-vba/Rubberduck] retailcoder pushed commit b5882f42 to next: Merge branch 'next' of git://github.com/rubberduck-vba/Rubberduck into peek
[rubberduck-vba/Rubberduck] retailcoder pushed commit 0dd152c5 to next: removed ESC KeyBinding
[rubberduck-vba/Rubberduck] retailcoder pushed commit 5f9e6536 to next: fixes #5761
[rubberduck-vba/Rubberduck] retailcoder pushed commit 1a7ba6dd to next: extracted commands, configured IoC
[rubberduck-vba/Rubberduck] retailcoder pushed commit da7fe236 to next: fixed IoC registration
[rubberduck-vba/Rubberduck] retailcoder pushed commit 822ddb19 to next: fixed command bindings
[rubberduck-vba/Rubberduck] retailcoder pushed commit ffb75b69 to next: make FindAllImplementations work on class modules again.
[rubberduck-vba/Rubberduck] retailcoder pushed commit 80581fbb to next: fix FindAllImplementations target acquisition from Project Explorer.
Merge pull request #5751 from retailcoder/peek

Introduces 'Peek Definition' commands, fixes 'Find All Implementations' target acquisition when used from the VBE's *Project Explorer* toolwindow.
 
> 926 downloads
 
For latest release? 4-5 days ago?
 
~205/day
@MathieuGuindon That's nearly 1 download every 7 minutes.
 
huh, never thought of it that way... that's crazy!
 
1:02 AM
By next year it'll be every 5 mins.
 
1:17 AM
need to figure out a way to somehow compute a fixed size for the popup, the resizing as you mousewheel-scroll is weird.. but having a small window for a small snippet feels worth the dynamic sizing...
 
can't you just constrain it to a maximum size?
 
I'm doing that
but if the top of the module is wide and the middle is narrow, it resizes as you scroll along and the wider parts get out of sight
 
because you only render the actual lines inside the viewport, huh?
 
yeah looks like it
still bloody awesome though
 
are you doing the resizing or is WPF?
if you are, you could try to avoid it being reduced
 
1:20 AM
WPF is doing everything
I just supply min/max width/height
yeah
bbl
 
2:15 AM
what is difference between using html button and using html p and styling it to emulate visual interactivity of button?
I am asking because I am struggling to get something aligned in button but not in p.
Basically just curious if there is anything "special" about button other than the visual interactivity I am trying to emulate being baked in.
 
@theVBE-it'srightforme mostly accessibility
buttons have different support for screen readers and other assistive technology baked in
also they might default to different display modes
not sure about that. What exactly is the issue you have?
 
I am trying to make a "close" and "add" button using simple "x" and "+" and having a very painful time getting the characters aligned
 
uhhh... this hits painfully close to home ...
~looks at that misaligned text baseline in the table using bootstrap svg icons in buttons
 
are you saying I should be using bootstrap svg or that even bootstrap svg is not aligned correctly?
 
neither
 
2:25 AM
<-needs more coffee apparently
 
button {
    padding: 0.25rem;
    vertical-align: baseline;
    align: center;
    border-radius: 0.05em;
}
^ something lie this should work pretty well, afaict
 
using what for the actual character?
 
&times; and +, I'd say
 
ok
is it acceptable to use pseudo element for that?
or is &times exactly how I type in the html to get that character?
 
including the semicolon
 
2:29 AM
okay lets try it
(! indicated my skepticism it would work but it is too early in day to be that pessimistic)
 
hmm .. align should be text-align
 
oh lol I read it as that actually
clearly I have spent too much time looking at CSS recently
also to clarify what you said re: the accessibility safe guess it is easier to implement with button than with p?
I cannot read what you said and conclude anything else but want to confirm
 
yes.
 
okay so better to use button and override styling as needed
 
"easier to implement" usually meaning you don't even need to do all that much for some basic support.
exactly
 
2:34 AM
@Vogel612 that is what anyone should like to hear
 
semantic-web is a thing, if accessibility is important, you probably want to look at the ARIA-Guidelines as well
 
this is for intranet site
i guess still important actually
I was going to not worry about that until I had it functional
however reducing work for myself there later seems like something worth worrying about now
 
simple example: if you press tab to focus a <button> and then press spacebar it acts like a "click" on the button.
that's basically never going to happen when you take a p or a span or a div and style them as a button
 
oh so if I didn't use <button> i would have to implement that functionality myself by allowing <p> to capture focus (if that is even possible) then handle that click
 
and tab and space are just the default keybindings on most systems
yeap
 
2:37 AM
yeah that sounds like something you would do as an exercise
 
no ... no you wouldn't.
 
I mean literally if you are messing around and bored(?)
 
because anything you implement is worse than the native support which is exposed in a standard-conform fashion to third party tools
 
yeah I meant do to do it, never to actually use
vertical-align has no effect on this element since it’s not an inline or table-cell element.

Try adding display:inline or display:table-cell
:/
 
inline-block should also work
and it's probably what you want anyways
 
2:38 AM
i don't understand how display works tbh
 
it's ... a mess
 
faithinmyownsanity++
 
there's like three or four different layout behaviours based on the display behaviour of the elements involved
box, grid, flexbox and ruby
it's pretty bonkers....
 
so it is normal to be super frustrated by it
 
also it's closing in on 5AM again, so I'll head to bed for now. The surrounding HTML will have an impact on how things work (especially in tables, actually)
 
2:40 AM
oh lol I thought you were up early
well I am glad you stayed up late ty for the help :)
 
if it were my fulltime job, I'd probably take up a destructive hobby of some kind
 
i don't get how it is still the standard for web frontend
by that I mean I thought it would be less painful by this point in time
 
~mumbles about that stilldrinking.com rant about how programming sucks
 
excited to read that later lol
 
@theVBE-it'srightforme I mean ... there is stuff like react, vue, angular, bootstrap and all those other frameworks and libraries out there
 
2:43 AM
none of them seem to fully remove the painfulness from what I've seen
and also seem to introduce their own special annoyances
 
and weirdly enough a lot of these have surprisingly unique selling points
true
 
I guess it is all about minimizing the pain for your specific use case
 
web is just.... built on very very shaky ground.
Tim Berners Lee never anticipated the web being used as what it's being used for
honestly browsers are basically the new OSes and because backwards compat the assembly of those OSes just happens to be HTML, JS and CSS
which ... sucks ....
like all low-level languages with minor and major platform differences do :D
oh well, either way: good luck, you got this :)
 
@Vogel612 ty, sleep well!
display: inline
vertical-align: baseline
and...
"vertical-align has no effect on this element since it’s not an inline or table-cell element.

Try adding display:inline or display:table-cell"
#Fun
 
2:58 AM
it is just infuriatingly unintuitive at times
well this appears to explain that centering a character is always going to be dependent on the actual font used: iamvdo.me/en/blog/…
 
 
3 hours later…
6:19 AM
@Vogel612 for a standard square close button
button {
    width: (x)px where x is odd;
    height: (x)px;
    padding: 0px;
    box-sizing: content-box;
}

    button::before, button::after {
        position: absolute;
        height: (x + 2*n)px where n is integer;
        width: 1px;
        top: (-n)px;
        left: int(x/2)px;
        content: "";
        background-color: black;
    }

    button::before {
        transform: rotate(-45deg);
    }

    button::after {
        transform: rotate(45deg);
    }
sources:
https://stackoverflow.com/questions/18611195/x-close-button-only-using-css
https://impossiblue.github.io/log/141026/index.html
 
6:38 AM
I think it can be further generalized from there but I want to make progress coding for now.
 
6:48 AM
Nevermind needed to generalize to make progress coding since I had another close button where I wanted a thinner line. Is kinda straightforward in retrospect. Will share when have time to format.
 
 
8 hours later…
2:24 PM
> Rubberduck version 2.5.2.5913 loading:
Operating System: Microsoft Windows NT 10.0.19042.0 x64
Host Product: Microsoft Office x64
Host Version: 16.0.13929.20296
Host Executable: EXCEL.EXE;


Projects not appearing in the code explorer window. They are present in the basic excel vbe...
![image](https://user-images.githubusercontent.com/6796503/117542316-126c8800-b010-11eb-8b8f-bb5b49951a3f.png)

open a file which uses multiple projects (add-in). Even if they are locked, I would li
> This isn't a bug, it's behaving exactly as intended, because accessing the components of a locked project from the VBIDE Extensibility API would throw an exception.

However with recent-ish internal `ITypeLib` API capabilities, Rubberduck is gaining access to locked projects' modules (and their public members) loaded in the IDE, and the plan is to get the *Code Explorer* to populate without even needing to parse anything.

Side note, the new "Ignore Project" feature addresses the exact opp
> That said there should indeed be a node for a locked project, even without child nodes. Need to check why we're not generating a ProjectDeclaration for a locked project - the likely explanation being that the project declaration is being created just before its components get iterated.
 
2:58 PM
        private bool TryStoreLockedProject(IVBProject project)
        {
            if (!project.TryGetFullPath(out var path))
            {
                _logger.Warn("Path of locked project could not be read.");
            }

            var projectName = project.Name;
            var projectId = QualifiedModuleName.GetProjectId(projectName, path);

            _lockedProjects.Add(projectId, project);
            return true;
        }
 
> We always generate the project declarations for locked and ignored projects. (Actually, we generate all declarations for them based on the type library.) However, they are treated as built-in declarations, for which we generally do not generate nodes in the Code Explorer. The only built-in items we show are the library reference headers.
 
@Duga I was reaching that conclusion lol damn I'm behind on how this all works
 
Well, I am the one who has implemented it.
Well, the integration part.
 
:)
so getting a project node without any child nodes for locked projects is pretty much just UI work then
 
> One question, do you reference the locked project from your other project? in that case, there should be a Referenced Projects node listing the other project.
 
3:07 PM
> 953 downloads
looks like we're hitting 1K today
 
The tricky part is getting exactly those built-in projects, which are actually open in the VBE and then suppressing the generation of child nodes.
Well, we could actually show all the child declarations if we wanted.
Some people might not really like that, though.
Maybe, we should restrict the output to exposed classes/non-private modules and their public members.
 
Yeah if we have access to private members it's probably a bad idea to expose them there, but I think having child nodes for public members can make a nice surrogate for the object browser
And then navigation would be blocked, of course
 
I do not know whether it is in NavigateCommand's CanExecute, but adding declaration.isUserdefined to it, should not be a problem.
 
Would a padlock overlay icon be enough to clearly identify a locked project in the CE though? Thinking UX-wise it might need a stronger hint
 
I think a padlock is actually the right icon. We might want to use a different one for ignored projects, or actually not include them at all.
Maybe, we could also make the text grey.
 
3:35 PM
Oh an actual padlock icon instead of an overlay atop the project icon - yes that's perfect! And ignored grayed-out works too.
 
FWIW, I'd love to see CE not require parsing by using type lib API to provide the base information and allow additional metadata discovered by parsing be filled in after parsing.
I think that feature alone would boost the usability of RD enormously
that would also enable the CE to update the contents as the code change are made to the live project without parsing, I think.
 
Given how things are set up currently, this will require a major overhaul of the parsing process.
The com projects are pulled and processed as part of the parsing run.
Generating the declarations for parsed projects as well from the com projects will require very careful cash invalidation.
I do not say that it is impossible, just that it will require some very careful thinking.
 
 
2 hours later…
5:34 PM
Agreed it will be a huge task.
I envision something roughly like this following:
1. Make the com project collection independent
2. Allow the parsing run to call COM project as usual. The CE has the freedom to call the COM project collection as many times as it wants to.
3. The CE node should have 2 level of caching; one that comes from the COM project, other from the parsing. CE should prefer data from the COM project and thus display nodes based on the data from COM project. If the parsing cache is current, CE will display additional data not otherwise available from COM project.
 
 
5 hours later…
11:01 PM
Best. Technobabble. Ever.
iZOMBiE, SE3:E2 "Zombie knows best", 31:37:
> So those missing texts? It's what I expected. The reference pointer was just remapped to null, so I bytemapped an image of the OS footprint, loaded up a hex editor, and did some magicated regex grepping.
(even if you try to make allowances, the sentence make no kinda sense in context. The phone was smashed into a million pieces).
 
@this You are absolutely correct about that.
 
Tbf, they probably did it to wind up geeks. The show has a pretty awesome sense of humour.
 
@mansellan "magicated" <- that would support your theory
 

« first day (2528 days earlier)      last day (47 days later) »