-
Pl
chevron_right
Christian Hergert: Status Week 43
news.movim.eu / PlanetGnome • 5 days ago - 20:40 • 4 minutes
Got a bit side-tracked with life stuff but lets try to get back to it this week.
Libdex
-
D-Bus signal abstraction iteration from swick
-
Merge documentation improvements for libdex
-
I got an email from the Bazaar author about a crash they’re seeing when loading textures into the GPU for this app-store.
Almost every crash I’ve seen from libdex has been from forgetting to transfer ownership. I tried hard to make things ergonomic but sometimes it happens.
I didn’t have any cycles to really donate so I just downloaded the project and told my local agent to scan the project and look for improper ownership transfer of DexFuture.
It found a few candidates which I looked at in detail over about five minutes. Passed it along to the upstream developer and that-was-that. Their fixu-ps seem to resolve the issue. Considering how bad agents are at using the proper ownership transfer its interesting it can also be used to discover them.
-
Add some more tests to the testsuite for future just to give myself some more certainty over incoming issue reports.
Foundry
-
Added a new Gir parser as FoundryGir so that we can have access to the reflected, but not compiled or loaded into memory, version of Gir files. This will mean that we could have completion providers or documentation sub-system able to provide documentation for the code-base even if the documentation is not being generated.
It would also mean that we can perhaps get access to the markdown specific documentation w/o HTML so that it may be loaded into the completion accessory window using Pango markup instead of a
WebKitWebViewshoved into aGtkPopover.Not terribly different from what Builder used to do in the Python plugin for code completion of GObject Introspection.
-
Expanding on the Gir parser to locate gir files in the build, system, and installation prefix for the project. That allows trying to discover the documentation for a keyword (type, identifier, etc), which we can generate as something markdowny. My prime motivation here is to have Shift+K working in Vim for real documentation without having to jump to a browser, but it obviously is beneficial in other areas like completion systems. This is starting to work but needs more template improvements.
-
Make FoundryForgeListing be able to simplify the process of pulling pages from the remote service in order. Automatically populates a larger listmodel as individual pages are fetched.
-
Start on Gitlab forge implementation for querying issues.
Quickly ran into an issue where gitlab.gnome.org is not servicing requests for the API due to Anubis. Bart thankfully updated things to allow our API requests with
PRIVATE-TOKENto pass through.Since validating API authorization tokens is one of the most optimized things in web APIs, this is probably of little concern to the blocking of AI scrapers.
-
Gitlab user, project, issues abstractions
-
Start loading GitlabProject after querying API system for the actual project-id from the primary git remote path part.
-
Support finding current project
-
Support listing issues for current project
-
Storage of API keys in a generic fashion using libsecret. Forges will take advantage of this to set a key for host/service pair.
-
Start on translate API for files in/out of SDKs/build environments. Flatpak and Podman still need implementations.
-
PluginGitlabListing can now pre-fetch pages when the last item has been queries from the list model. This will allow GtkListView to keep populating in the background while you scroll.
-
mdoccommand helper to prototype discover of markdown docs for use in interesting places. Also prototyped some markdown->ansi conversion for nice man-like replacement in console. -
Work on a new file search API for Foundry which matches a lot of what Builder will need for its search panel. Grep as a service basically with lots of GListModel and thread-pool trickery.
-
Add
foundry grepwhich uses thefoundry_file_manager_search()API for testing. Use it to try to improve the non-UTF-8 support you can run into when searching files/disks where that isn’t used. -
Cleanup build system for plugins to make it obvious what is happening
-
Setup include/exclude globing for file searches (backed by grep)
-
Add abstraction for search providers in
FoundryFileSearchProviderwith the default fallback implementation being GNU grep. This will allow for future expansion into tooling likerg(ripgrep) which provides some nice performance and tooling like--jsonoutput. One of the more annoying parts of using grep is that it is so different per-platform. For example, we really want--nullfrom GNU grep so that we get a\0between the file path and the content as any other character could potentially fall within the possible filename and/or encoding of files on disk.Where as with ripgrep we can just get JSON and make each search result point to the parsed
JsonNodeand inflate properties from that as necessary. -
Add a new IntentManager, IntentHandler, and Intent system so that we can allow applications to handle policy differently with a plugin model w/ priorities. This also allows for a single system to be able to dispatch differently when opening directories vs files to edit.
This turned out quite nice and might be a candidate to have lower in the platform for writing applications.
-
Add a FoundrySourceBuffer comment/uncomment API to make this easily available to editors using Foundry. Maybe this belongs in GSV someday.
Ptyxis
-
Fix shortcuts window issue where it could potentially be shown again after being destroyed. Backport to 48/49.
-
Fix issue with background cursor blink causing transparency to break.
Builder
-
Various prototype work to allow further implementation of Foundry APIs for the on-foundry rewrite. New directory listing, forge issue list, intent handlers.
Other
-
Write up the situation with Libpeas and GObject Introspection for GNOME/Fedora.
Research
-
Started looking into various JMAP protocols. I’d really like to get myself off my current email configuration but it’s been around for decades and that’s a hard transition.