« first day (3140 days earlier)      last day (40 days later) » 

00:06
@Vogel612 I'm looking at resurrecting your PR few months ago because there's useful stuff in there. However, I want to know - were you able to build & run the RD originally? I ask because I have a working build but it cannot load due to runtime error with the System.Resources.Extensions assembly.
REFRESH!
[Minesweeper] 74 Games Played. 49 Bombs Used. 11071 Moves Performed. 6 New Users
[rubberduck-vba/Rubberduck] 1 issues opened. 8 issue comments
@this not on linux
sooo .... no
Alright. I'm fighting with it because it is trying hard to not find the right version of the assembly, similar to this: stackoverflow.com/questions/64298051/…
It already suggests one same thing that you added in your PR but even so, it's not effectual.
I say "use 7.0.0.0", it bumbles off looking for "4.0.0.0"
yea, that feels somewhat familiar. I'm pretty sure I was never able to fix that
my guess is that the generators used for the resources are somehow still 4.0.0.0 and thus won't listen.
00:18
are you building via MSBuild, dotnet or VS?
VS
within the resx we have this section that makes me suspicious that it's not really using .NET SDK
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
oh, to be more precise, VS 2022
could you try replacing that reference with version 4?
Yep I tried with 6 and 4
all the same result. Builds OK, face-plants when running & loading the DLL
Hmm. Let me try 4 one more time.
Yes confirmed
even after cleaning & rebuiliding (redundant but better to clean out debris) and updating the app.config and using 4 in core & resources, it still face-plants on the load
System.IO.FileNotFoundException: 'Could not load file or assembly 'System.Resources.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The system cannot find the file specified.'
Looking at dependencies, it says that it couldn't find the 4.0 and is using 4.6.0. On the nuget.org that's the lowest version, I guess.
00:45
Well, that's weird.
I made a brand new resource file just to see what header it'd use with the .NET fx 4.8
	<resheader name="resmimetype">
		<value>text/microsoft-resx</value>
	</resheader>
	<resheader name="version">
		<value>1.3</value>
	</resheader>
	<resheader name="reader">
		<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
	</resheader>
	<resheader name="writer">
		<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
what the heck?
IKR?
01:05
I get the same header even in a blank .NET Core 7 project. :-\
maybe not the right place, then.
01:28
could this be it?
8
A: Alternative for ResxResourceWriter in .NET Core

farlee2121Tada! https://www.nuget.org/packages/ResXResourceReader.NetStandard I extracted ResXReourceWriter and ResXResourceReader from the Winforms github and packaged them for .NetStandard

Not clear how that's used - we don't actually call ResXResource*** classes ourselves but rather by something something in VS
Will give it a try, though. Thanks for the tip.
FWIW, I got the splash screen.
It seems that we are calling this a tad too late.
Putting it prior to those lines ensure that the dependent assembly is resolved using our custom resolver. The app.config is useless for our binding redirects because we're a DLL, not an EXE.
but then other things break (e.g., I get 4 blank buttons instead of a Parse button), so one step forward, one or two steps backward.
Still on Win10, yeah?
actually Win11
Hm and it doesn't blow up with the dockable hack?
01:43
I'm commenting out the dockable presenters to debug 2.x... even in VS2019
I need to sync my local
and give it a shot in VS 2022
to clarify - is that a debug-only thing, or does it blow up even when using normally?
let me verify this on the next
hopefully no repro!
01:58
Looks OK. I can open code explorer and code inspection and code metrics and do a parse
can open the settings dialog, too
damn
I mean, phew! 😅
lol sorry
02:21
in other news, I've decided that the database server would make a nice little project to start walking with RPC and protocol buffers
:D
I think I'm going to regret implementing the LSP spec without optimizing much. there's... let's just say a lot of room for better abstractions in the model.
idea being that since the spec is alive, having the model mirror it as closely as possible basically removes any assumptions one is allowed to make about how that namespace is going to evolve: it follows a specification, period. but would it be reasonable to interpret the spec a bit and, say, have a ValueSet<T> class for TagSupport, CodeActionKindSupport, and about a dozen others -- instead of a separate type for each one? hm..
03:11
also things like these:
    /// <summary>
    /// Extra annotations that tweak the rendering of a completion item.
    /// </summary>
    public class CompletionItemTag
    {
        /// <summary>
        /// Render a completion as obsolete, usually using a strike-out.
        /// </summary>
        public const int Deprecated = 1;
    }
03:49
Not sure I follow 100%, but if this means to implement something similar to MUCK, then that might be a problem that will bite later.
04:12
> Any specific order or just alphabetical?
got all the database stuff moved to a new Rubberduck.DataServer project; a WPF app with a small window that should end up with "Console" and "Settings" tabs, perhaps.
time to get funky
> I'd make it alphabetical tbh
 
3 hours later…
 
6 hours later…
13:21
[rubberduck-vba/Rubberduck] build for commit 19653a01 on unknown branch: AppVeyor build failed
BUILD FAILURE!
> FYI restored a working version of this PR as to resurrect the following features:

1. coverlet
2. Wix as a nuget package
3. updates in dependencies where possible

Still need to restore the `dSPACE` nuget and test using its library. This isn't a fully dotnet-buildable solution due to the nature of `.resx` files and the difference in how it's built between the two build systems.
@Duga le sigh I had forgotten how Duga/AppVeyor likes to make a fool out of one pushing changes that works on the local machine.
@this is good to see. Welcome back, you've been missed!
Aug 6, 2021 at 16:29, by IvenBach

We're all idiots

Aug 22 '19 at 19:34, 15 minutes total – 24 messages, 6 users, 1 star

Bookmarked Aug 22 '19 at 19:52 by Mathieu Guindon

13:39
@FreeMan sorry, what's good to see? :-)
You!!!
But I'm a who, not a what....
Sigh... here we go again... :)
:-D
Sorry for the absence. Stepped out to get milk. Took a while to get back.
I know there have been shortages due to "supply chain issues", but that's a bit ridiculous... Mug was gone for a while, too. It's nice to have most of the band back together again.
 
1 hour later…
14:56
@Duga hmm ... seems like the 32/64-bit detection is not supported like that on dotnet builds...
I assume that building via VS uses the non-dotnet msbuild but via AV, it uses the dotnet msbuild which is slightly different from the non-dotnet msbuild.
16:47
the AV changes include a switch to dotnet-cli as the build tool over msbuild
17:06
Damn, building RD3 is such a massive regression I'm questioning the idea of having started it from an empty solution. There's always this "but what if maybe it was possible to do incrementally after all" in the back of my mind...
Maybe the RD3 server projects can just be imported into RD once it all works
in what way is it a regression?
the current RD build is ... iffy. It (mostly) works, but it's hideously complicated under the hood
^
TBH I don't like it at all. It's been Rube-Goldberg'd way too much.
every way... it's msbuild, requires admin privs to build/register, no installer, no meta projects, no json, no nothing.
OTOH it's a straightforward build
Right. Let's not worry about the add-in stuff. That's the ugly stuff, no?
meta projects are semitrivial
17:10
for the development purpose, we can get away with a bunch of files, right?
(e.g. export the entire VBA project to a filesystem and use it as a testing model for the RD3)
well RD3 does load as an add-in
but that's where all the registeration, meta projects and whatever is for?
#fornow
indeed...
17:13
don't get distracted with the ugly details - we just need to get a working product that can work with a bunch of files.
Then the setup as an add-in should be relatively easy. (famous last words....)
Besides, you've got this to build the installer again! ;)
I presume you can build the LSP components using .NET Core, right?
probably... but I targeted everything to Framework 4.8 to avoid any issues
@FreeMan I for one look forward to sliding down the giant razor blade and landing in a jar of iodine.
Are we still supporting Office 97-2003?
17:15
@MathieuGuindon probably not with .NET 4.8 requirements, I think
LOL @this
@MathieuGuindon oof...
(probably neither with 4.6.2. TBH wasn't really thinking/paying attention to the support for older versions)
That said, I'd bet that if we really wanted to keep supporting Office 97 and VB6, it's probably much easier done wiht tB addIn
Poof, no messy registration logic, weird meta project, etc. etc.
Downside is that it's no longer "build with only one build toolchain"
we now have 2 toolchains, and one isn't open sourced.
Though, technically, we are already building with two toolchains right now, only that it's still from single build system (e.g. C++ tools + C# compiler)
that is also what blocks us from being able to use .NET Core
I thought of targeting .net 6 but then chickened out with the COM interop uncertainty
There was something about IDTExtensibility2 not existing that was an issue IIRC
17:27
Yes. That's why I think LSP is the right direction. we want a server-client as to separate out those stuff.
Vogel found a nuget package that basically replaces the type library generation for .NET Core in his PR.
So ultimately we'd have just Rubberduck.Main targeting 4.8, and everything else could be .net 6?
@this oooh that is sweet!
that'd be one way to do it, yes.
and that would be using the beforementioned library, but that needs to be tested
yeah. Worth it, if it means we get to keep up with .net and C#!
The alternative is to have a tB add-in replacing the Rubberduck.Main and let tB manage the lifecycle and handing out the COM objects.
That approach would mean no dependency on the .NET FX 4.8 at all. Just unmanaged addin + .NET Core
wait, a tB add-in could reference .net 6 assemblies?
17:32
Either way, we still want a clean separation between the rest of stuff from the addin bits.
Sure, why not?
Mind you, that probably means exporting some COM interfaces from the .net 6 assembly
but that'll be much easier to do and we wouldn't need to deal with IDExtensibility stuff
yeah but that also means .net 6 output has to be CLS-compliant, no?
no generics, usual restrictions apply, etc.
17:35
@MathieuGuindon the LSP server is basically a completely separate program. It could even be on a different computer
The other thing I'm not 100% sure about is the toolwindows. That still needs to be created somehow. I think we provide the toolwindows from Rubberduck.Core
indeed, but the UI lives in the add-in process
RD3 boils it all down to a single TW
@MathieuGuindon not the entire solution.
it's the interaction with the in-process that we're dealing with.
The (yet) other alternative is that the tB addin loads a WebView2 view and communicate using socket with the server rendering the view. The bad thing is that it requires re-tooling of the UI but that would completely remove the UI mess of WinForm+WPF.
@this it's going to mess up navigation
that approach means no COM interop (assuming that the tB addin can just perform simple export/import of the VBA project and do not need to access any other COM objects).
17:39
"navigate to declaration" says no
How so? the plan is to have a UI of our own completely replacing the VBIDE's?
we need COM interop
ohhhhh... I thought we were hijacking the VBE process for rendering purposes...
I understood with RD3, we can navigate to declaration using our own provided UI without even touching the COM stuff..
Not what I understood. RD3 removes the need to do that.
Therefore it no longer matter whether it's WinForms + WPF, HTML/CSS (yuck) or even hand-drawn pixels by pixels.
(please don't draw it pixel by pixel,mmkay)
17:41
well we kind of still want the WPF/AvalonEdit stuff, so we're kind of married to WPF
in which case means we have to provide the toolwindow ourselves.
Unless htere's a way for WPF to play like a HTML server?
not that I know of, but the singular toolwindow already works in RD3
and thus the registration & build system
so it's either that or remake AvalonEdit from scratch :/
wait, no.
a tB addin would remove the registration. The assembly w/ toolwindows need to be COM-visible, and thus provide the toolwindow to the VBIDE via tB addin, i think
17:46
@MathieuGuindon Wait, I thought we'd hit AvalonMentions --. Wasn't there some hitch you hit that tossed Avalon aside?
hm no, every single editor screenshot I posted was of that single toolwindow hosting an AvalonEdit control
that said a lot of that code is going to be moving server-side now with LSP happening
huh... I didn't realize that. Coulda sworn you ran into some issues with Avalon itself, licensing, or something that caused you to have to move away from it.
that was AvalonDock
the tear-tabs and docking manager, basically
for now the RD3 UI is just a 3-column grid with tab panels
I need to give Dragablz another shot (assembly wouldn't load for some reason)
but pretty much everything else is a higher priority :D
so back to the original point...
I think the focus should be to get RD3 to work with bunch of files. The add-in is the ugly part and we can deal with it once we have a working RD3 build.... right?
agreed
server doesn't care where the code came from
17:55
and that can be easily .NET 7 if you wanted. :)
that said there's already a "sync panel" UI that lists all the VBIDE modules and lets you open them in an editor tab - I think eventually this panel might become some kind of "workspace explorer"
@MathieuGuindon Ahhhh.... Well then, AvalonMentions++ (to correct the error from above).
yeah I recall that.
@this totally! we just gotta be explicit about no longer supporting XP or Vista (shudder)
we're letting down our poor FrontPage97 user(s?) :D
I don't think we have that many Vista users. :)
17:59
^ User, singular.
this is why we'd need Telemetry capabilities
XP users probably outnumber Vista user(?)
that's a scary thought
but even so, it's pretty sketchy
18:00
TBH it still feel weird to remember that yes, Win7 is even out of support. :-o
thoughts on Telemetry? LSP supports it, but we don't have to necessarily implement it
meeting, bbl
18:12
quick answer would be to ensure there's at least a skeleton as to avoid future code changes. if it's inevitable that code will be changed to support telemetry, don't worry about it right now.
telemetry is useful to understand what parts of the code we should focus our efforts on
I highly doubt that the RegEx assistant is used a lot
Yes telemetry. I'm working on a package manager for VBA and really want to drop Win7 - at least while I write it in python (hopefully I can migrate it to twinbasic). Knowing who uses RD would be extremely useful. Knowing how many people use vb6 Vs VBA would colour a lot of the decisions for twinbasic as well. RD is a great "heuristic" userbase for "people willing to run open source Dev tools"
but without any data to back it up it's hard
as usual of course we want to make telemetry entirely optional and disabled by default because corporate IT shenanigans
I know people argue corporate IT refuses to install anything with the possibility of data connection. Would be great to know how many of these there were too...
I guess the latest version check breaks that rule
version check is ... old
18:17
I think as long there's an explicit opt-in, that should be OK.
@Greedo version check is similarly removable.
telemetry might be useful shipped as a separate optional dependency, because then we can get antivirus analysis results to back up our segregation for corp IT shenanigans
one thing I do not understand -- if it's an optional dependency, it implies there's a hook. Who's to say that nobody can add a malicious hook?
mumble mumble plugin system mumble
also we should set up code signing anyways
think that'll be required to satisfy the pencil-necked pencil pushers.
it's a good idea in the first place
18:24
I can't remember where I saw this. There was a Linux based OS that previewed the actual JSON template of the telemetry data. I thought that was quite slick and combined with open source allows users or IT admins to make very informed decisions
oh, that's cool
Telemetry = survey link in splash screen every so often?
no. at install time, I think
then a setting to indicate whether to send them or require review before sending
18:42
@this I actually meant if we're more interested in OS, VBA version, most used features etc. That could just be a Google survey. Agree LSP/automatic telemetry should be an install time setting. But just that Windows version support/host app was what Matt was after, that could be a survey.
Of course less comprehensive data that way.
Meh. If RD gets telemetry we might as well collect feature usage data. Minus the annoying "Help make Rubberduck better!" nag/notification when you startup opted-out
Not sure hit rate would be well beyond 1% with a survey link tbh
19:38
@this Agreed
I do surveys for a living now (at least it feels that way). Pretty darn excited if we hit 15% response rate, so the 1% response is realistic...
20:06
Apparently Microsoft thinks it's a fine idea to mandate signing in just to use Edge. Was there supposed to be a difference between today's Microsoft and 90s' Microsoft?
20:53
At least Edge isn't running JScript and MS-HTML 🤣
 
3 hours later…
23:53
[rubberduck-vba/Rubberduck] 1699 stars vs. [decalage2/oletools] 2305 stars

« first day (3140 days earlier)      last day (40 days later) »