Jump to content

Recently Updated Topics

Showing topics posted in for the last 7 days.

This stream auto-updates

  1. Past hour
  2. Another findRaw() deprecation which will throw an exception from these new core updates. If you try to do "image.filename" or any other image subfield, you'll get: ProcessWire\\WireException: Unknown column name(s) for findRaw: image.filename Just use "image" and it will work.
  3. Today
  4. @maximus I can confirm that all the bugs are now fixed. As @wbmnfktr said, the concept and execution are top notch. I'm now looking forward to a new module from you every week! No pressure !!😉😆
  5. If you want to try cheaper models, while the same experience as Claude Code, check out Deepseek TUI, or Openecode or Aider for multi model.
  6. I’ve been using `TextformatterVideoEmbed` for YouTube/Vimeo embeds and made a small local patch that seems generally useful for generated iframe output. The change adds two attributes to generated iframe embeds when they are not already present: ```html loading="lazy" referrerpolicy="strict-origin-when-cross-origin" ``` This is independent of any consent/privacy module. It simply improves the default iframe markup produced by `TextformatterVideoEmbed`. The intended behavior is: - add `loading="lazy"` to iframe embeds by default - add `referrerpolicy="strict-origin-when-cross-origin"` by default - do not override either attribute if it already exists in the iframe markup - keep existing embed behavior unchanged otherwise Example implementation pattern: ```php if(stripos($embedCode, ' loading=') === false) { $embedCode = preg_replace('/<iframe\b/i', '<iframe loading="lazy"', $embedCode, 1); } if(stripos($embedCode, ' referrerpolicy=') === false) { $embedCode = preg_replace('/<iframe\b/i', '<iframe referrerpolicy="strict-origin-when-cross-origin"', $embedCode, 1); } ``` Reasoning: - Native iframe lazy loading is now widely supported and helps avoid loading off-screen video embeds unnecessarily. - `strict-origin-when-cross-origin` is also the modern browser default in many contexts, but making it explicit gives generated third-party embeds a safer baseline. - The change is low risk because it only applies to iframe markup and skips attributes already present. Would this be suitable as a small PR to the module? If preferred, it could also be exposed as module config options rather than hardcoded defaults.
  7. Hello everyone, We're slowly working through our site and moving things into modules for antarctica.gov.au, in the process we hope to open source some handy things we've built over the years. As we operate in Microsoft heavy corporate environment, we've noticed more and more strange looking links getting pasted into our site. These are Microsoft protected links and are a 'intercept' link that attempts to check the link is legit before letting the user proceed to the original URL. These links get automatically made when a user copies a link from Outlook/Teams/Office. The issue is, these links leak data in the URL parameters, including the email address of who has copied the link! Hence, we wrote two companion modules to find and format these links. First is TextformatterMicrosoftProtectedLinks which formats the links at render time. Second is FormatMicrosoftProtectedLinks which replaces the link with the original URL when saving the page. We provided both modules as it depends on your preference. Some people like to leave the page content as the original (including the protected link), others like to replace this. Let us know if you notice any issues using these modules.
      • 2
      • Like
  8. Yesterday
  9. There is a panel on tracy to see all the database queries executed, maybe something there?
  10. Dear @Nomak, your project sounds straightforward and well-prepared. Since you already have a fully completed design and will handle the backend yourself, I can focus entirely on delivering clean, responsive, and high-performance frontend code. Here is why I am a great fit for this project: Location & Legal: I am based in the EU (Germany) and will provide a valid EU VAT ID for proper, hassle-free invoicing. Experience & Modern Tech Stack: I have been working in web development since 1995, meaning I understand the core of the web inside out. However, I always stay on the cutting edge. For modern, responsive, and maintainable styles, I highly leverage Tailwind CSS, alongside clean HTML and robust JavaScript. Efficiency through AI: I actively integrate modern AI tools into my workflow, which allows me to speed up the development process, optimize code efficiency, and deliver high-quality results faster. Responsive Execution: Ensuring a seamless experience across desktop, tablet, and mobile devices is standard practice in my work. You can convince yourself of the quality of my work by taking a look at my portfolio: 👉 dotnetic.de/referenzen I would love to realize this project with you. Let’s connect to discuss the details and the design template. Best regards, Jens
  11. Congrats Maximus. Looks like a really impressive set of SEO tools. 😀
  12. Last week
  13. How much RAM does your new M5 Mac have? Hopefully you got 96 or 128GB if you're looking to run local LLMs. A lot is happening in this space; see DwarfStar 4: https://github.com/antirez/ds4
  14. Yes, I have a day job, and it's not programming. I work on it mostly in the evenings after work.
  15. Fantastic. Thank you.
  16. This is the source code at the bottom of the frontend page: <script src="/site/assets/aiom/js_418c8cd8c559810255e3250d05446d9c.js" async defer></script><script>var emo = emo || {}; emo.key = '.C1vql2a5RcPeJomwFrx7puhYLKgINntH0s9WZbAMiyDOXjE6TVS8GkB_1111Qfz';</script><link rel="stylesheet" href="/site/assets/aiom/css_6b89ca87ab7d885667358c0a046f5836.css"><link rel="stylesheet" href="/site/assets/aiom/css_1111a5003457ed863af5db2e9421e88.css"><script type="text/javascript" src="/site/assets/aiom/js_b363b432e18b7d69fccac9f9ef11116d.js"></script><div id="adminbar" data-adminbar='{"classes":{"link--modal":"adminbar__link--modal"},"urls":{"modules":"\/wire\/modules\/"}}' class="adminbar adminbar--auto-padding"><ul class="adminbar__list adminbar__list--left"><li class="adminbar__list-item adminbar__list-item--item-logo"><a class="adminbar__logo" href="/pwbackend/"><img class="adminbar__logo-img" src="/wire/modules/AdminTheme/AdminThemeUikit/uikit-pw/images/pw-mark.png" alt="" /></a></li><li class="adminbar__list-item adminbar__list-item--item-browse adminbar__list-item--active"><a class="adminbar__link adminbar__link--item-browse" href="#"><svg class="adminbar__icon" aria-hidden="true" width="16" height="16" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1664 960q-152-236-381-353 61 104 61 225 0 185-131.5 316.5t-316.5 131.5-316.5-131.5-131.5-316.5q0-121 61-225-229 117-381 353 133 205 333.5 326.5t434.5 121.5 434.5-121.5 333.5-326.5zm-720-384q0-20-14-34t-34-14q-125 0-214.5 89.5t-89.5 214.5q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm848 384q0 34-20 69-140 230-376.5 368.5t-499.5 138.5-499.5-139-376.5-368q-20-35-20-69t20-69q140-229 376.5-368t499.5-139 499.5 139 376.5 368q20 35 20 69z" fill="#fff"/></svg>Ansicht</a></li><li class="adminbar__list-item adminbar__list-item--item-edit"><a class="adminbar__link adminbar__link--item-edit adminbar__link--modal" href="/pwbackend/page/edit/?id=8305&modal=1&ab_modal=1"><svg class="adminbar__icon" aria-hidden="true" width="16" height="16" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z" fill="#fff"/></svg>Bearbeiten</a></li><li class="adminbar__list-item adminbar__list-item--item-new"><a class="adminbar__link adminbar__link--item-new adminbar__link--modal" href="/pwbackend/page/add/?parent_id=8305&modal=1&ab_modal=1"><svg class="adminbar__icon" aria-hidden="true" width="16" height="16" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1344 960v-128q0-26-19-45t-45-19h-256v-256q0-26-19-45t-45-19h-128q-26 0-45 19t-19 45v256h-256q-26 0-45 19t-19 45v128q0 26 19 45t45 19h256v256q0 26 19 45t45 19h128q26 0 45-19t19-45v-256h256q26 0 45-19t19-45zm320-64q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z" fill="#fff"/></svg>Neu </a></li></ul><ul class="adminbar__list adminbar__list--right"><li class="adminbar__list-item adminbar__list-item--item-admin"><a class="adminbar__link adminbar__link--item-admin" href="/pwbackend/page/?open=8305"><svg class="adminbar__icon" aria-hidden="true" width="16" height="16" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1152 896q0-106-75-181t-181-75-181 75-75 181 75 181 181 75 181-75 75-181zm512-109v222q0 12-8 23t-20 13l-185 28q-19 54-39 91 35 50 107 138 10 12 10 25t-9 23q-27 37-99 108t-94 71q-12 0-26-9l-138-108q-44 23-91 38-16 136-29 186-7 28-36 28h-222q-14 0-24.5-8.5t-11.5-21.5l-28-184q-49-16-90-37l-141 107q-10 9-25 9-14 0-25-11-126-114-165-168-7-10-7-23 0-12 8-23 15-21 51-66.5t54-70.5q-27-50-41-99l-183-27q-13-2-21-12.5t-8-23.5v-222q0-12 8-23t19-13l186-28q14-46 39-92-40-57-107-138-10-12-10-24 0-10 9-23 26-36 98.5-107.5t94.5-71.5q13 0 26 10l138 107q44-23 91-38 16-136 29-186 7-28 36-28h222q14 0 24.5 8.5t11.5 21.5l28 184q49 16 90 37l142-107q9-9 24-9 13 0 25 10 129 119 165 170 7 8 7 22 0 12-8 23-15 21-51 66.5t-54 70.5q26 50 41 98l183 28q13 2 21 12.5t8 23.5z" fill="#fff"/></svg>Backend</a></li><li class="adminbar__list-item adminbar__list-item--item-logout"><span class="adminbar__html adminbar__html--item-logout"><form class="adminbar__form" action="/pwbackend/login/logout/"><button class="adminbar__button" type="submit"><svg class="adminbar__icon" aria-hidden="true" width="16" height="16" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1664 896q0 156-61 298t-164 245-245 164-298 61-298-61-245-164-164-245-61-298q0-182 80.5-343t226.5-270q43-32 95.5-25t83.5 50q32 42 24.5 94.5t-49.5 84.5q-98 74-151.5 181t-53.5 228q0 104 40.5 198.5t109.5 163.5 163.5 109.5 198.5 40.5 198.5-40.5 163.5-109.5 109.5-163.5 40.5-198.5q0-121-53.5-228t-151.5-181q-42-32-49.5-84.5t24.5-94.5q31-43 84-50t95 25q146 109 226.5 270t80.5 343zm-640-768v640q0 52-38 90t-90 38-90-38-38-90v-640q0-52 38-90t90-38 90 38 38 90z" fill="#fff"/></svg>Ausloggen</button></form></span></li></ul></div></body></html> <!-- Generated: Fri, 15 May 2026 16:43:44 +0200 // Powered by AIOM+ v4.1.0 --> And this is what the top of the frontend looks like while you're logged out: When I click "Empty cache," the frontend looks normal again and the admin bar disappears.
  17. Hi everyone SEO NEO is ready if anyone is available for early testing. I have been testing on a fictional purpose-built site to stress-test multilingual content, URL segments and a heap more. If you'd like to try it on your next real PW build, please DM me, and then we'll work quickly towards the general release and availability via PW modules and GitHub. Cheers, and have a great weekend 🙂 P
  18. Hey Brendon This took me back. When I first started freelancing, I distinctly remember a period where I felt the same. It was impossible to keep up, know everything, have time to stay current and be in a relationship. And for a brief while, I was trying my best to do all those things. Two revelations really helped me relax and enjoy life and stop stressing. 1. A friend reminded me that my relationships were more important than my work 2. I realised the most important challenge is knowing what I don't need to know So, to clarify number 2, it was a case of switching from: I need to know Adobe Flash, Actionscript 1, HTML and CSS, PHP (3), JS, Dreamweaver etc etc etc to I don't need to be an expert in all these fields. I just need to know how to solve the client projects in front of me. If I don't know something at the time, I'll learn, buy a book or suggest an alternative. So I hope that helps. I notice you're looking for a system to cram it all in, but the thing that actually helped me was accepting I couldn't (and didn't need to). So don't sweat. It's funny because lately I had to remind myself of my 2000 AD self. I began to feel with AI and AI Development that there's no way I can keep up. I've been bookmarking 50 pages a day (but reading none) and can occasionally feel burnout approaching. So I'm going to relearn to calm down a bit, because that girlfriend from 25 years ago is now my wife, I have a good freelance business, and the most important things are relationships, health and peace of mind. Everything else is a bonus and worth chasing, but not at the expense of the fundamentals. Also, you mention your friend's life, but you're measuring yourself against someone you're painting as superhuman. That could easily be a confidence and happiness killer right there, and unlikely to be helpful.
  19. Many thanks @Ivan Gretsky.
  20. Can you provide more info? You edit some css file and want to insert "overflow:hidden" and then happens what?
  21. Thank you for your reply. That puts my mind at rest, I'll just sync the times in my local config.php as you suggest.
  22. Hi everyone, Every site I've launched eventually had a database incident — corrupted table, failed migration, bad deploy. Having a reliable backup system that runs automatically and stores offsite is non-negotiable. This module is what I use in production. GitHub: https://github.com/mxmsmnv/ProcessDbBackup What it does: Three independent backup types — Regular, Weekly, Monthly — each with its own LazyCron schedule and retention count Admin home widget — shows status (🟢 OK / 🟡 Outdated / 🔴 No backups) per type with "Create now" buttons Backblaze B2 upload — optional offsite storage after every backup, keep or delete local copy Chunked upload — upload .sql.gz from your computer in 2MB chunks, bypasses upload_max_filesize entirely Streaming restore — reads .gz line-by-line, flat memory usage regardless of dump size Partial restore — select individual tables from a backup Pre-restore auto-backup — safety backup of current DB before any restore Backup integrity verification — gzip check + SQL structure validation Lock file — prevents concurrent backup processes Exclude tables — skip cache, sessions etc. from all backups Storage protected with .htaccess deny-all Backup methods: mysqldump (preferred, InnoDB-safe hot backup) with PHP PDO fallback. Restore via mysql CLI with PHP PDO streaming fallback. Requirements: ProcessWire 3.0+, PHP 8.0+, zlib, PDO. mysqldump/mysql CLI optional but recommended for large databases. MIT License.
      • 14
      • Like
      • Thanks
  23. Hmm, not the best solution. 😅 I've tried it about 30 times already today.
  24. Those "top bar features" are welcome, and so are the "library and inputfield" additions/changes. Thanks @Peter Knight!
  25. Thanks, @millipedia. I used Audio Embed Textformatter in the past, in another site, together with Video Embed and so on (pdf, etc.). But it would be much simpler and more elegant to use a universal "insert media..." in TinyMCE. As a last resource, while I wait for a uniform solution, I'm using a Hanna code to embed the audio without forcing the person who is editing to deal with code. But I'm not completely satisfied with this partial solution, I confess.
  26. I assume you want those other RM types that should not be editable by the user with the given role still to be shown in admin, but with all their fields being disabled. The best way to achieve this is via hooks. Look here or search for similar topics for inspiration. Check RestrictRepeaterMatrix's source code for another example. You need to get the InputfieldRepeaterMatrix field at some point (maybe after the renderReadyHook method), foreach through the blocks and change their fields' output based on your conditions. Sorry for no ready-to-copy-and-paste code))
  27. Update: Custom Option – v 1.1.0 A while back, a kind soul forked this module to add Polish quotation marks. Small plot twist: Polish primary quotes are typographically identical to German ones („...“) – so the fork mostly added the word "Polish" to the dropdown. Hats off to the spirit, though. 🇵🇱🇩🇪 Taking the hint, we've now added a Custom option: pick it in the module config and you get two extra text fields where you define your own opening and closing characters. No more forking required when none of the presets fit — Polish, Klingon, or otherwise. 😉 Cheers, Mike
  28. [manual] Sync "TracyDebugger" branch "master": 1121 remote, 987 local, 0 to update, 0 to delete (134 preserved via .gitignore/.gitattributes) Yep. Thanks for quick fix!
  29. psy

    LoginPassKey

    LoginPassKey has undergone some changes. Latest version is 0.3.1 available at https://github.com/clipmagic/LoginPassKey As well as some 'under the hood' security upgrades, you can now login without entering a username/email. Simply click the 'Login with PassKey' button and if all the checks pass, you're automatically logged into either the admin area, or the frontend via LoginRegisterPro depending on your config/setup. A full list of the changes available at https://github.com/clipmagic/LoginPassKey/blob/main/CHANGELOG.md
  1. Load more activity
×
×
  • Create New...