Providing default assets with the system

The more I pondered on this, the more I realize that we will need to give some basic assets for people to use, rather than just providing how to attach the script to another node. I believe it should be enough to provide people enough insight on what they can change?
What we should include:

A font, along with a license if there is one
A texture to place it into, the default panel texture from Godot's theme should be suited well enough.

Along with that, I would suggest changing the default control it extends from to Patch9Frame (and possibly adjust to whatever it may be changed to in the upcoming 3.0 version) and export the variables that handle the resources, too (in this case, the font resources).

Hmm, I provided some defaults for the font in the sample project.  Patch9Frame would definitely be more useful, as I image this being used primarily for text boxes, and even if the user wants to just have floating text then they can just not attach a background texture to the frame.
I can go ahead and add a 9patch texture from one of my games since I create most of my assets under CC.


style: more linting

I like linting. Let's do more of it!
Depends on #326 because a separate purpose of these linting changes is to make sure the TypeScript overhaul didn't break stuff.

Is this a draft? I think I had already seen the latest commit 4073951b5928dfe1282f529743bec20ac39eb76e being part of #326. Are you just splitting this into two PRs or are there more new linting rules to come?

Is this a draft?

Oops, yes. There's more linting to come, just already pushed this to make sure we don't forget about the dangling commas. It was indeed split off from #326.

Oh those automatically sorted imports bring me true happiness. ❤

That should be most of it done. There's two more rules in @typescript-eslint that look interesting, but enabling them would probably require changing every class and function, so I'm not keen on that… Nevertheless, I should perhaps scan through everything to check what can be made readonly, private, protected, and so on.
One more thing I'd like to do is to ban the use of ES access modifiers (like #property) because they need to be transpiled and that adds polyfills, and instead use TS's private because it exists only at compile time. Since nobody is consuming the code outside of this project, having the TS compiler's protection should be enough.

/deploy-preview but there shouldn't be too many changes at this time

/deploy-preview again to see the reduction in transpiled code.

Went through all @typescript-eslint rules and enabled and fixed those that looked interesting, except for two which look interesting but will lead to a lot of noise. Still have to decide what to do with those. Recommended to review commit-by-commit.
I might do a pass through the base ESLint rules at some point in the future, but not today 🙂

(rebased to fix conflicts after #326 was merged)


run the code

Hi @wuruoyu,
If it is convenient for you to tell me how do I run this code？

+1

Can u share any instructions about running the project?

I updated the codebase recently, please check README.md and decompiler.py for reference. Thanks for your patience.


Fix - Django stores empty files when it's used with S3Boto3Storage or S3BotoStorage

We been using Amazon S3 to store Django site's static and media files for years now, and when we upgraded to Django 1.11 we started to see some empty files.
We debugged the issue and it seems that StaticFilesStorage is trying to re-save the file without resetting its pointer which led to an empty file.
This could be solved on S3Boto3Storage level, but from the attached image you can see that Django is storing multiple versions of the same file which is another related issue.

@dsanders11 I saw that this issue is related to a fix you did, I couldn't understand the logic of intermediary files so I am sure you will have better solutions to it.

@awartani, your solution seems reasonable. It looks like S3Boto3Storage doesn't use hashed files, are you using a mixin like ManifestFilesMixin or CachedFilesMixin to add the hashed files functionality?
The intermediate files are needed to prevent a very large penalty on cache misses that would occur with CachedFilesMixin, especially when you're using S3.
Before Django 1.11, Django did not correctly calculate the hashes for static files like CSS if they referenced other files, and those other files referenced other files. A fix was added which does multiple passes to ensure that the correct hash value is reached. The intermediate files are the output of each pass. In your image it looks like base.6b517d0d5813.css is the final correct hash.
With CachedFilesMixin the hash mapping is stored in a cache, and if the cache gets cleared, or a cache miss occurs, the only way to determine the filename with the hash is to recalculate the hash. With the new multiple pass functionality this requires reading and hashing all static files as there's no way to know which files reference each other. For Django to do this at run time would use lots of calls to S3 in your case, and be very sow.
Intermediate files avoid this pitfall. The only files Django needs to determine the correct hash for base.css are the ones in your image. It grabs base.css first, hashes it, grabs that file, hashes it, grabs the next file. It knows it has reached the end of the chain when the hash doesn't change and there's no more files to grab.
ManifestFilesMixin is superior in almost every way, and doesn't need the intermediate files, but as long as CachedFilesMixin is still supported the intermediate files (or some alternative) are required to prevent a very large penalty on cache miss.

Thanks for explaining this, and taking the time to look into it, @dsanders11.
We're using NonPackagingMixin, PipelineMixin, CachedFilesMixin, and S3BotoStorage mixins.
Great work, re: intermediate files.

Yea, since you're using CachedFilesMixin you actually want those intermediate files for cache misses. I'd suggest moving to ManifestFilesMixin if possible, but that's my personal opinion.
Upon a bit further inspection, could you explain the fix a bit more? I'm curious how doing a seek to 0 on a ContentFile resolved the problem, and how it only seemed to show up with S3.

@dsanders11 sorry for the delayed response. Great questions.
The current logic tries to save the same instance of ContentFile twice without resetting it's pointer or read it again. L304 L311
saved_name = self._save(hashed_name, content_file)

@awartani, yes, and the current logic works fine in tests and the real-world. ContentFile wraps in-memory content, it shouldn't need its pointer reset.
I'm trying to figure out what the usage of S3 changes here, since that code works fine with local files. Why would the ContentFile need to reset its pointer for S3 files but not local files?

@dsanders11 I think the S3 code that's responsible for saving the ContentFile is location in s3boto.py#L360

@dsanders11 I don't know if this will be helpful: The original issue that we were trying to fix is that the last file in the chain base.6b517d0d5813.css is uploaded to S3 with 20 B instead of 3.8 KB.

@dsanders11 one last comment, ContentFile is inherited from File which handles files based on a cursor and as part of debugging s3boto I saw that it reset the cursor few times upon reading and compressing ...

@awartani, I think I've figured out the difference.
The s3boto.py code uses content.read() to read the file, where as Django's FileSystemStorage uses content.chunks(). If we look at the implementation of chunks() we can see that it does a seek(0) before reading the file.
So that's why one works and the other doesn't.
Now that it's fully understood why this fix works, the fix LGTM. 👍 @timgraham, seems safe and reasonable to merge.

A Trac ticket is required and hopefully a test is also feasible.

Great findings, @dsanders11.
@timgraham I'll add some tests and open a ticket for it.

@awartani, did you forget about this?

@timgraham no, I got really busy. I will try to spend some time on the weekend to close it up. Thanks for remaining me.

@awartani the time to fix regressions in 1.11 ends December 1.

Closing due to inactivity.


Training without convergence on Nuscenes dataset

I use SequencePlanningDataset and set num_pts=10, but the training does not converge, how can I reproduce it?

Hi Zichen,
What do you mean by “does not converge”? Are the loss functions descending normally?

Not normal.  Should I be using PlanningDataset instead of SequencePlanningDataset.

You may try commit b97f9d7, which supports nuScenes better. Later development moves onto comma2k19 so it might be buggy. Sorry for that.


[TS migration] Migrate 'Setup' files to TypeScript

Details

Migrates Setup file to Typescript
Fixed Issues

$ https://github.com/Expensify/App/issues/25228
PROPOSAL: https://github.com/Expensify/App/issues/25228#issuecomment-1911966398
Tests

Open the app.
Verify that the contents are loaded and the app is working.

For Desktop

Click on the name of the app located at the top-left corner of the window right before File option.
Click on Check for updates option.
Verify it works.

[x] Verify that no errors appear in the JS console

Offline tests

Same as Tests Section.
QA Steps

Same as Tests Section.

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/39636266/3b3574e2-9b61-427a-a515-209cb38aefd4

Android: mWeb Chrome

https://github.com/Expensify/App/assets/39636266/12d5e8f9-1808-4112-a259-88476784cb2b

iOS: Native

https://github.com/Expensify/App/assets/39636266/4f92f168-b21a-4f61-a8f0-261bb01535d7

iOS: mWeb Safari

https://github.com/Expensify/App/assets/39636266/6c76f48a-9b98-41ab-9a45-1291bf24b129

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/39636266/abe7c0ae-a030-49e3-b9a9-949e243dc0e7

MacOS: Desktop

https://github.com/Expensify/App/assets/39636266/22a53f0d-5729-4dcd-b7a6-ada57337ee20

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/francoisl in version: 1.4.40-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
failure ❌


Update CONTRIBUTORS.md

I added my name in CONTRIBUTORS.md.

Hey there,
Thanks for your PR & contribution :wave:!
Don't forget to join follow me, join our organization, & follow our organization to stay updated with the latest developments 💻
Thank you, and have a good day ahead 😊


Weird wrong calculated width

I only have writeroom-mode installed using use-package
(use-package writeroom-mode
  :init
  (setq writeroom-width 0.5)
  (global-set-key (kbd "C-c w") 'writeroom-mode))

Steps:

open emacs (no frame-parameter whatsoever), press C-c w
Weird width, so I change the code to this:

(defun writeroom--calculate-width ()
  "Calculate the width of the writing area."
  (if (floatp writeroom-width)
      (progn
	(message "%s" (window-total-width))
	(truncate (* (window-total-width) writeroom-width)))
    writeroom-width))

goto step 1, and It prints out 96(the old width before fullscreen), which should be 192 when in fullscreen.
but when I edebug this function and go step by step, it prints out 192 and show things correctly...
if I fullscreen first then call writeroom-mode, it also works correctly.
that's weird, you can see the screen capture below:

I pushed a commit to the devel branch that hopefully fixes this. The cause of the problem is simply a race condition between the WM enabling full screen and Emacs. The fix involves calculating the width of the text area in the hook window-size-change-functions, which should run once full screen has been enabled. Apparently, however, there's no guarantee that this will indeed be the case...
Could you try the devel branch and see if it solves the issue for you?

I just found that my proposed solution causes an annoying bug if a user doesn't actually activate full screen, so I'm gonna have to try and think of something else...

I seem to be experiencing this issue too now. Does the redisplay fix not work?

With redisplay, the chances of getting a correct result are better, but the underlying problem isn't solved, so I haven't adopted it. I've been meaning to look for a better solution but never got round to it.

Thanks for the update. Any way I can help?

On Mar 4, 2020, at 4:12 PM, Joost Kremers<EMAIL_ADDRESS>wrote:

With redisplay, the chances of getting a correct result are better, but the underlying problem isn't solved, so I haven't adopted it. I've been meaning to look for a better solution but never got round to it.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.


on applying filters Camera Record  are getting slow video

on applying filters Camera Record  are getting slow video

Can you please paste your filter rule below.  Maybe It's too long and too slow.


C# Language Support (.NET Core or Mono)

Currently, CMake only supports C# when using Visual Studio. I would much prefer the ability to use something like .NET Core or Mono. This support might include acquiring NuGet dependencies, linking the C# Runtime used to a C or C++ project, or simply building a few components as part of a larger project. We do not yet know the exact behavior. This will be determined as we attempt to implement initial support.
TODO

[ ] .NET Core

[ ] Detection
[ ] Compiling
[ ] Linking
[ ] Native Integration

[ ] Mono

[ ] Detection
[ ] Compiling
[ ] Linking
[ ] Native Integration

See #3 for comment. Custom language support is going to have to be something IXM does on its own because CMake is incapable of being well designed, well thought out, or even having the foresight to be usable in the first place. In case it isn't obvious: I despise this tool and the sooner I can get IXM out the door to fix a lot of the problems with it, the better.

Closing, as this project has burned me out, and I cannot continue working on it in its current state. CMake has changed massively since this project was started. Most of it is no longer necessary. A new repository will be launched in September.


forks!

The blockchain keeps forking, way more than it used to.
In the logs, this shows up as Diverges at N blocks

Fixed now, just making note of root cause... as the blockchain got larger, it took longer and longer to write it to disk. The fix is to broadcast blocks before saving to disk (just making the disk writes faster could have fixed it too).

@sashimi-houdini please consider merging and releasing PR #120 as soon as possible due to this issue. After additional logging, I see unpatched nodes taking up to 30 seconds to broadcast their mined blocks. That'll cause 25% of blocks to fork, and it'll get worse as the blockchain grows larger.


Very strange behavior when adding postgres models to existing sails project.

Waterline version: 0.13.5
Node version: 8.11.4
NPM version: 5.6.0 (but we mostly use<EMAIL_ADDRESS>Operating system: Ubuntu 18.10

I've got a very strange issue that I'd like some advice on. I have an existing, well-established sails app using Sails 1.0.2 (originally created using 0.13 and upgraded<EMAIL_ADDRESS>For quite a while now, the app has had 9 models (all using pg). I'm now trying to add three more. Since we don't like automigrations, I created these in postgres, then created models for sails based on the postgres table using sails generate model. These models appear very similar to the ones that already exist.
However, if I try to do a simple query, I get some very strange errors. (Note that "User" is one of my pre-existing models, not one of the new ones.)
sails> User.find().then(console.log)
Promise {
_bitField: 0,
_fulfillmentHandler0: undefined,
_rejectionHandler0: undefined,
_promise0: undefined,
_receiver0: undefined }
sails> Unhandled rejection AdapterError: Unexpected error from database adapter: Could not run select() because of 2 problems:
• "datastore" is required, but it was not defined.
• "models" is required, but it was not defined.
If I remove the new model files, this works fine. If the files are present (even if the entire content is commented out!) I get the same error. I've tried recreating and simplifying the tables (since I used some advanced Postgres features) but that did nothing.
The only thing I've found that makes any difference is if I add the "datastore" attribute to the new models. In that case, I can query the "old" models but get the same error when I try to query a new one.
I've confirmed that all my settings in config/models.js & config/datastores.js look right. This issue disappears completely the moment I remove the new model files.  I've tried to isolate this down to one model just to keep things simple.
Here's the postgresql schema for one of the tables:
                                  Table "public.mailbox"
  Column   |       Type        |      Modifiers      | Storage  | Stats target | Description
-----------+-------------------+---------------------+----------+--------------+-------------
 id        | character varying | not null            | extended |              |
 name      | character varying | not null            | extended |              |
 createdAt | character varying | not null            | extended |              |
 updatedAt | character varying | not null            | extended |              |
 usage     | "mailboxTypes"    |                     | plain    |              |
 profile   | jsonb             | default '{}'::jsonb | extended |              |
Indexes:
    "mailbox_pkey" PRIMARY KEY, btree (id)

(Note that I've also tried recreating this without using custom types like the "mailboxTypes" ENUM.)
Here's the model source code.
/**
 * Mailbox.js
 *
 * @description :: A model definition.  Represents a database table/collection/etc.
 * @docs        :: https://sailsjs.com/docs/concepts/models-and-orm/models
 */
const stockCreate = require('waterline/lib/waterline/methods/create');

module.exports = {
  attributes: {
    name: {
      type: 'string',
    },
    usage: {
      type: 'string',
    },
    profile: {
      type: 'json',
    },
    // folders: {
    //   collection: 'mailboxfolder', via:
    //   'mailbox',
    // },
  },
  create: function(newRecord, explicitCbMaybe, metaContainer) {
    if (!newRecord.id) {
      Object.assign(newRecord, {
        id: new URN({
          type: 'mailbox',
        }).toString(),
      });
    }
    return stockCreate.bind(this)(newRecord, explicitCbMaybe, metaContainer);
  },
};

(I realize the create function is a bit strange, but that's actually identical to the one we use for all the old models -- our 'id' column is a formatted URN that is used as part of our ABAC security architecture.  We had problems with "beforeCreate" not firing for this purpose when we were first starting to use sails.)
I've been through the local.js, datastores.js, and models.js carefully, as well as the env/development.js, and nothing is apparent.  My colleague tells me I should emphasize that everything starts working again if I just remove these models.
Finally,  I get a very similar error message when I exit unless I add the 'datastore' key to the model.  It still doesn't work for the Mailbox model, but the exit message goes away.

patrick@therios:~/src/hc-registry$ sails console --dontLift

 info: Loading app in interactive mode...
 info: Sails is not listening for requests (since `dontLift` was enabled).
 info: You still have access to your models, helpers, and `sails`.

 info: Initializing custom hook (`utilities`)
 info: Welcome to the Sails console.
 info: ( to exit, type <CTRL>+<C> )

sails> error: Could not tear down the ORM hook.  Error details: Error: Invalid data store identity. No data store exist with that identity.
    at Object.teardown (/home/patrick/src/hc-registry/node_modules/sails-postgresql/helpers/teardown.js:60:26)
    at wrapper (/home/patrick/src/hc-registry/node_modules/@sailshq/lodash/lib/index.js:3275:19)
    at Deferred._handleExec (/home/patrick/src/hc-registry/node_modules/sails-postgresql/node_modules/machine/lib/private/help-build-machine.js:1076:19)
    at Deferred.exec (/home/patrick/src/hc-registry/node_modules/parley/lib/private/Deferred.js:286:10)
    at Deferred.switch (/home/patrick/src/hc-registry/node_modules/sails-postgresql/node_modules/machine/lib/private/help-build-machine.js:1469:16)
    at teardownDatastore (/home/patrick/src/hc-registry/node_modules/sails-postgresql/lib/adapter.js:101:18)
    at /home/patrick/src/hc-registry/node_modules/sails-postgresql/node_modules/async/dist/async.js:3047:20
    at replenish (/home/patrick/src/hc-registry/node_modules/sails-postgresql/node_modules/async/dist/async.js:884:21)
    at /home/patrick/src/hc-registry/node_modules/sails-postgresql/node_modules/async/dist/async.js:888:13
    at eachLimit$1 (/home/patrick/src/hc-registry/node_modules/sails-postgresql/node_modules/async/dist/async.js:3136:26)
    at Object.<anonymous> (/home/patrick/src/hc-registry/node_modules/sails-postgresql/node_modules/async/dist/async.js:920:20)
    at Object.teardown (/home/patrick/src/hc-registry/node_modules/sails-postgresql/lib/adapter.js:96:13)
    at /home/patrick/src/hc-registry/node_modules/waterline/lib/waterline.js:758:27
    at /home/patrick/src/hc-registry/node_modules/waterline/node_modules/async/dist/async.js:3047:20
    at eachOfArrayLike (/home/patrick/src/hc-registry/node_modules/waterline/node_modules/async/dist/async.js:1002:13)
    at eachOf (/home/patrick/src/hc-registry/node_modules/waterline/node_modules/async/dist/async.js:1052:9)
    at Object.eachLimit (/home/patrick/src/hc-registry/node_modules/waterline/node_modules/async/dist/async.js:3111:7)
    at Object.teardown (/home/patrick/src/hc-registry/node_modules/waterline/lib/waterline.js:742:11)
    at Hook.teardown (/home/patrick/src/hc-registry/node_modules/sails-hook-orm/index.js:246:30)
    at Sails.wrapper (/home/patrick/src/hc-registry/node_modules/@sailshq/lodash/lib/index.js:3275:19)
    at Object.onceWrapper (events.js:313:30)
    at emitNone (events.js:106:13)
    at Sails.emit (events.js:208:7)
    at Sails.emitter.emit (/home/patrick/src/hc-registry/node_modules/sails/lib/app/private/after.js:56:26)
    at /home/patrick/src/hc-registry/node_modules/sails/lib/app/lower.js:67:11
    at beforeShutdown (/home/patrick/src/hc-registry/node_modules/sails/lib/app/lower.js:45:12)
    at Sails.lower (/home/patrick/src/hc-registry/node_modules/sails/lib/app/lower.js:49:3)
    at Sails.wrapper [as lower] (/home/patrick/src/hc-registry/node_modules/@sailshq/lodash/lib/index.js:3275:19)
    at REPLServer.<anonymous> (/home/patrick/src/hc-registry/node_modules/sails/bin/sails-console.js:205:16)
    at Object.onceWrapper (events.js:313:30)
    at emitNone (events.js:106:13)
    at REPLServer.emit (events.js:208:7)
    at REPLServer.emitExit (repl.js:396:10)
    at emitNone (events.js:111:20)
    at REPLServer.emit (events.js:208:7)
    at REPLServer.Interface.close (readline.js:368:8)
    at process.nextTick (repl.js:609:31)
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickDomainCallback (internal/process/next_tick.js:218:9)
patrick@therios:~/src/hc-registry$

I'm sure that there's something on our side that's causing this, but I'm at a loss to figure out what.
Thanks!

Okay, I think I found the problem, but I'd rather not try to address it. It's actually in waterline, and it looks like waterline isn't catching errors from registerAdapter

@jpnarkinsky I'll see if I can figure it out- if it turns out it's not handling an error, this is something worth fixing long term anyway since it'll just keep swallowing and swallowing

Hope all this is helpful.

@jpnarkinsky it is!  Thank you.
I took a look (re invocation of the registerDatastore function not catching errors), and I don't see offhand why the error wouldn't be handled.  Even if the adapter's registerDatastore function throws synchronously instead of calling its callback with an error, it'd still be handled by the outer try block:
https://github.com/balderdashy/waterline/blob/v0.13.5/lib/waterline.js#L713-L716
All that said, since we're inside an async.each() which simultaneously does this for multiple datastores at the same time:
https://github.com/balderdashy/waterline/blob/v0.13.5/lib/waterline.js#L647-L650
So it seems possible that there could be a race condition going on there.  async.each() calls its final callback upon seeing the first error, but since iteratee functions are presumably asynchronous, and they were all started at the same time, they'll keep running.  I'm not sure how that would be causing the behavior you're seeing offhand, but it might be worth a think.
Nevertheless, I think you're onto something with what you said in https://github.com/balderdashy/sails/issues/4617#issuecomment-433644556 -- I'm also pretty sure that's the issue.
The load-time logic in Waterline (especially involving datastores) is one of the last remaining bits of code from waterline ≤0.12 that wasn't overhauled in 0.13, so since it hasn't had as much love recently, I always have a tendency to assume it's the cause of our problems.  That said, it's also possible there's another spot in waterline or sails-hook-orm that's causing this.
As you may have noticed in the code, the medium-term plan is to refactor to always just use Waterline.start().  It'll be kind of a mess to do, with not a huge return on investment, which is why we haven't done it yet.  But it's definitely on my radar.
In the mean time, I'm glad you posted the underlying configuration problems that were causing this  (could make a big difference for others finding this conversation in search).
If you have any other ideas about what could be going on as you're working with this stuff, or if you think I'm off base with my takeaway about error handling above, def let me know.  Thank you!


[6.x.x] Laravel Mix does not output any error messages or compiled bundles when using TypeScript

Laravel Mix Version: 6.0.0
Node Version 12.19.0
NPM Version 6.14.10
OS: Ubuntu 20.04

Description:
Laravel Mix v6 is not printing out any errors or the table of compiled bundles when building from a TypeScript entry-point.
Steps To Reproduce:
I have created this project that on my system produces this behavior.
The mix file simply has mix.ts("src/test.ts", "dist/test.js").setPublicPath("dist"); as its only instructions and the test.ts file has an error in it, _console.log("test");, that is not being displayed in the console output when running npx mix.

mix.webpackConfig({
stats: 'normal'
});
will solve it

It should be noted that when using plain JavaScript, a table of assets will appear when done.  TypeScript also breaks that somehow.  I likely expect this behavior is not intended.

Hi, indeed, that's how I'm forced to debug for now.. which is not suitable (using Ubuntu 20.04)

This was fixed in the most recent patch release.


Normal-mapping without precomputed tangents

This modifies DebugEffect, NormalMapEffect, and PBREffect so they no longer require explicit per-vertex tangents. Instead, the reconstruction is done in the pixel shader per:
Breaking change: NormalMapEffect now requires Direct3D Feature Level 10.0 or later.
Christian Schüler, "Normal Mapping without Precomputed Tangents", ShaderX 5, Chapter 2.6, pp. 131 – 140
See also follow-up blog post

These changes address issues 7 and 12


Can we use custom MongoDB variant like Percona Server for MongoDB?

Versions

NodeJS: 16.13.1
mongodb-memory-server-*: 8.8.0
mongodb(the binary version): 5.0.10
mongodb(the js package): 4.7.0
system:

package: mongo-memory-server

What is your question?

Hello, i'm curious if we can use custom MongoDB variant like Percona Server for MongoDB. It's based on vanilla MongoDB but have some exclusive feature like "ngram" language on Text Index. Thank you.

from what i can tell from percona, it should work, as long as you use a system binary, or find a actual archive url and it has the same structure and names as the official mongodb ones (unlikely, also could not find any download)
also output parsing may not be fully compatible if the output is changed (we read the output for errors and transitions to primary for replset)

from what i can tell from percona, it should work, as long as you use a system binary, or find a actual archive url and it has the same structure and names as the official mongodb ones (unlikely, also could not find any download)
also output parsing may not be fully compatible if the output is changed (we read the output for errors and transitions to primary for replset)

Thanks @hasezoey, I have found this download link and might have similar structure with official mongodb. I'll try it later

I have found this download link and might have similar structure with official mongodb

from what i can tell it has the same structure and names, but it also has a extra lib directory in it, i dont know if it will work without, because MMS only extracts the mongod binary

can we reopen this related to
https://github.com/typegoose/mongodb-memory-server/issues/742#issuecomment-2523452498
fully support percona could be a good thing


Cannot generate lightning invoice

When I got receive and try to generate an invoice to receive some sats I click the continue button and it just turns into a forever spinning wheel. I'm a new user and I'm in a fediment. I have received SATs prior to my wallet.

Which fedimint are you in?

Freedom One fediment
On Thu, Jun 27, 2024 at 1:03 PM Tony Giorgio @.***>
wrote:

Which fedimint are you in?
—
Reply to this email directly, view it on GitHub
https://github.com/MutinyWallet/mutiny-web/issues/1236#issuecomment-2195337704,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABZPKGZ2T2OVECXW4JZFSBLZJRHXTAVCNFSM6AAAAABJ7WIOKSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOJVGMZTONZQGQ
.


[DOC] add build instructions

I'll expand the docs when things stabilise, until then the test workflow is the authority on the build steps: https://github.com/holepunchto/bare-ios/blob/922b817916249d225de53a3105f981ef8bb14e9b/.github/workflows/test.yml#L40-L42


Typos fix

Fix: Corrected typos in documentation and code comments
What was changed

Corrected typo algorithmical to algorithmically in CODE_OF_CONDUCT.md (line 72).
Corrected typo decending to descending in core\state.go (line 399).
Corrected typo panicing to panicking in db\db.go (line 111).

Why these changes were made

Fixing typos enhances the clarity, readability, and professionalism of the documentation and code comments.
Accurate text ensures better understanding and usability for developers and contributors.

Additional Notes

These changes focus solely on correcting typographical errors and do not affect the functionality of the code.

@AnkushinDaniil @kirugan what why you do not merge it ?

@AnkushinDaniil @kirugan what why you do not merge it ?

Could you please make those changes we asked you to? Unfortunately we can't merge until you've finished. Thanks so much!

i replace it , check it pls. @AnkushinDaniil

if i need do something more, write me.


Add more comments for #endif in .h file.

This is a long .h file. I would like to are more comment for #endif.

Dear @rokhinip ,
Base on the old PR https://github.com/apple/swift-corelibs-libdispatch/pull/837 , I moved the the new PR with single commit. Please help me to review it.
Thanks,
Lam

Please kick off CI and then merge it.

@swift-ci  please test

Dear @rokhinip ,
I do not have permission to call @swift-ci  and merge. Could you please support me?
Thanks,
Lam

I can do that but we need to get you access if you are planning to continue contributing because I cannot be doing this for every PR you put up

@swift-ci please test

Dear @rokhinip ,
I got it. Thank you for your support.
Thanks,
Lam

Dear @rokhinip ,
Could you help me to merge the PR?
Thanks,
Lam


Imported router doesn't work, inline declaration of vue-router does.

Version
3.0.1
Reproduction link
https://codesandbox.io/s/3qnxwp6k3p
Steps to reproduce
https://codesandbox.io/s/3qnxwp6k3p
Summary:

vue @ 2.5.17
vue router @ 3.0.1
create basic app using vue-cli.
define app routes in separate file, import file into main.js and pass router to Vue instance.

What is expected?
Routing should work
What is actually happening?
App cannot load, errors in console.

it's export default router (as said in Discord 😛 )

OMG!!! Shameful.
@posva 🥇 thank you!!!! I gave up too soon on discord; didn't see responses :)
I'll see myself out 😝

haha, no worries, I definitely answered in discord some hours after you opened the issue


Settings ui proto

These changes support the "url-based" display of the activity settings editor page. I'm not sure where this "prototype" feature should documented so admin's that want to play with it will find it.
The "update" addition to the API only allows the settings to be applied to a white-list of external activity attributes. I'm not sure if there was a better pattern for how this should be implemented; but, for now, it's all close together in one spot.

We never finished this up, and got it deployed. There is some renewed interest in improving the authoring experience, so maybe we can come back to it soon.  I'm going to close it, so it doesn't clutter up the active PRs.


Object context pooling

Hi all,
Can someone describe the object comtext pooling moodule working principle? I dont understand what query, key and value transform functions are and how they work.
Thank you!

Please refer to the original self-attention paper

Thank you for the response. I read the paper, you are building the correlation matrix and then use softmax like in the DANet approach ?

Exactly.


Held Broken Packages in WSL2 on Regular /etc/apt/sources.list

Windows Version
Microsoft Windows [Version 10.0.22635.4076]
WSL Version
<IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>
Distro Version
lsb_release -r No LSB modules are available. Release:        n/a
Other Software
sudo apt install python3-numpy in a python3 -m venv . after source bin/activate
I get held broken packages.
sudo apt update
Hit:1 http://security.debian.org/debian-security bookworm-security InRelease
Hit:2 http://deb.debian.org/debian bookworm InRelease
Hit:3 http://deb.debian.org/debian bookworm-updates InRelease
Hit:4 http://ftp.debian.org/debian bookworm-backports InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.

and...
The following packages have unmet dependencies:
 python3-numpy : Depends: liblapack3 but it is not installable or
                          liblapack.so.3
-bash: The: command not found
-bash: python3-numpy: command not found
-bash: liblapack.so.3: command not found

Repro Steps
sudo apt install python3-numpy
and/or
sudo apt install python3-numpy in a python3 -m venv . after source bin/activate
sudo apt install python3-numpy
I had some trouble earlier in the year. The system was held unresponsive when updating to kernel 6.1.x.
Expected Behavior
I expected the command to install python3-numpy.
Actual Behavior
sudo apt install python3-numpy
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 python3-numpy : Depends: liblapack3 but it is not installable or
                          liblapack.so.3

Diagnostic Logs
WslLogs-2024-08-21_23-03-17.zip
https://gist.github.com/silver2row/d1524b3a80ec2d1d3a824a46e4692849

The system on this site will not allow me to paste the .ps1 file by itself. It is now in .zip format.
Seth

https://gist.github.com/silver2row/d1524b3a80ec2d1d3a824a46e4692849

Did that one work?

Also...when building for kernel 6.1.x within the Debian Distro, I am getting permission errors on this command:
cp arch/x86/boot/bzImage /mnt/c/
Is it feasible to handle the command via sudo or should I think I need to look elsewhere for permission data?
Seth

/question

/question
How can I set up my WSL2 instance with an updated kernel (6.1.x or 6.6.x) on my machine without losing data?
Every time I set up kernel 6.1.x, I get errors galore that cannot be taken back.
Seth
P.S. If you know which log I need to review, please let me know. Also, how can one install python3-numpy when I hold broken packages (somehow)?


Animation performance problem when used with platform view

Hello,
I noticed that animated views in stack sometimes are janky when I drag or especially zoom map. It happens periodically, sometimes it works smooth, but at some point performance is getting down. Here's the video (iPhone XS Max):
https://youtu.be/XS2Iynr4Abg
And here's how it looks on IDE timeline:
https://youtu.be/0t7U322vnAo
I was able to reproduce it with Google Maps and Mapbox.
Tested also on Android (very average phone), frames also dropped to 30fps, but flutter animation doesn't look janky.

Steps to Reproduce
Git repo with example:
https://github.com/EugenePisotsky/flutter_reproduce_bug

Logs

% flutter analyze
Analyzing bug...
No issues found! (ran in 3.1s)

% flutter doctor -v
Downloading android-arm-profile/darwin-x64 tools...                 0.5s
Downloading android-arm-release/darwin-x64 tools...                 0.4s
Downloading android-arm64-profile/darwin-x64 tools...               0.4s
Downloading android-arm64-release/darwin-x64 tools...               0.3s
Downloading android-x64-profile/darwin-x64 tools...                 0.4s
Downloading android-x64-release/darwin-x64 tools...                 0.3s
[✓] Flutter (Channel master, v1.14.2-pre.59, on Mac OS X 10.15.1 19B88, locale en-GB)
    • Flutter version 1.14.2-pre.59 at /Users/eugenepisotsky/Development/flutter
    • Framework revision 8086dd601f (2 hours ago), 2020-01-21 13:11:38 -0500
    • Engine revision 975c9c8607
    • Dart version 2.8.0 (build 2.8.0-dev.3.0 ef0c7f16e6)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/eugenepisotsky/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 28.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.2.1, Build version 11B500
    • CocoaPods version 1.8.4

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 3.5)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 42.1.1
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] IntelliJ IDEA Ultimate Edition (version 2019.3)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 42.1.4
    • Dart plugin version 193.5731

[✓] IntelliJ IDEA Community Edition (version 2019.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 41.1.5
    • Dart plugin version 193.5233.116

[✓] Connected device (3 available)
    • iPhone (Eugene) • 00008020-001A5D121123002E • ios            • iOS 13.2.3
    • Chrome          • chrome                    • web-javascript • Google Chrome 78.0.3904.97
    • Web Server      • web-server                • web-javascript • Flutter Tools

• No issues found!

The frame times in https://youtu.be/XS2Iynr4Abg and those in https://youtu.be/0t7U322vnAo don't seem to agree with each other. In the former, GPU thread (now raster thread) and UI thread have a sum of max frame time less than 16ms. In the latter, the frame time constantly goes above 16ms. I wonder if this difference is due to iOS vs Android?
I also noticed that

Here's the video (iPhone XS Max)

and

Tested also on Android (very average phone), frames also dropped to 30fps, but flutter animation doesn't look janky.

which seems to suggest that the videos are recorded on iPhone XS Max while the actual performance issue is only reproduced on average Android phones. @EugenePisotsky , can you please confirm if that's the case?

@liyuqian

which seems to suggest that the videos are recorded on iPhone XS Max while the actual performance issue is only reproduced on average Android phones. @EugenePisotsky , can you please confirm if that's the case?

Android is not a problem, I mentioned it because even on average android phone flutter animation visually looks fine, but not on XS.
I'm not sure if you can notice it, but if you look at that green box when I start zooming the map, you can see that it stops being smooth after a while.

The frame times in https://youtu.be/XS2Iynr4Abg and those in https://youtu.be/0t7U322vnAo don't seem to agree with each other. In the former, GPU thread (now raster thread) and UI thread have a sum of max frame time less than 16ms. In the latter, the frame time constantly goes above 16ms. I wonder if this difference is due to iOS vs Android?

Both are iOS. I was not sure why it was different on IDE so I recorded both. I'm on master channel and have just tried again. Here are screenshots how it looks now (the same app on XS). Animation still feels janky

I see. Then this looks like a iOS platform view thread scheduling issue to me. In the performance overlay, raster and UI threads are both fast, but the final animation may look janky if not many frames are actually scheduled. This seems to be captured by the IDE plugin. @kenzieschmoll : do you know how the IDE plugin currently measures the frame time?
@cyanglaz @iskakaushik , are you familiar with the thread scheduling issue here? I vaguely remember that if there are platform views, sometimes Flutter has to merge raster and UI threads and that may affect performance. The fact that iOS is much more janky than Android seems to suggest that our thread handling on iOS platform views might be a little inferior than the Android approach.

On iOS, the platform thread and raster thread are merged when there are platform views. The performance will be dropped when there are platform views since both rasterizer and platform views are running on a single thread.
However, I would imagine, on iOS,  only the platform thread should have a load burden,  both raster thread and UI thread should be OK. (Which is inline with the first video recorded on iOS)
@EugenePisotsky  Is it possible we can see the platform thread measurement in the same sequence in your video?
On Android, there is no thread merging, so the performance drop is not related to thread merging. Which also explains that the flutter widgets' performance were ok, since they were still drawn on the raster thread.

IIRC, the flutter intellij plugin measures frame time from the flutter.frame events sent by the framework. This only encompasses the work on the UI thread, though. For a more accurate calculation of both the frame time for the UI and Raster threads, I would use the DevTools timeline.

Hi @EugenePisotsky
I cannot see the spikes in Android Studio when running your project with the latest google_maps_flutter: ^2.0.3

Preview of the testing

flutter doctor -v
[✓] Flutter (Channel stable, 2.0.5, on macOS 11.2.3 20D91 darwin-x64, locale
    en-GB)
    • Flutter version 2.0.5 at /Users/tahatesser/Code/flutter_stable
    • Framework revision adc687823a (11 days ago), 2021-04-16 09:40:20 -0700
    • Engine revision b09f014e96
    • Dart version 2.12.3

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Volumes/Extreme/SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Volumes/Extreme/SDK
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.5, Build version 12E262
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.55.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (3 available)
    • Taha’s iPhone (mobile) • 00008020-001059882212002E • ios            • iOS
      14.4.2
    • macOS (desktop)        • macos                     • darwin-x64     •
      macOS 11.2.3 20D91 darwin-x64
    • Chrome (web)           • chrome                    • web-javascript •
      Google Chrome 90.0.4430.93

• No issues found!

Can you please upgrade to the latest  stable &. google_maps_flutter  and try again
flutter channel stable
flutter upgrade --force
flutter doctor -v

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.

[ ]


Update License In README.md

Copyright 2016 Google, Inc.  --->  Copyright 2018 Google, Inc.

@alihusnainarshad looks like you opened 5 identical pull requests?  We can focus on #578


connection failed with status 'DBUS_EXECUTION_EXCEPTION'

hello , I'm using your blessed BlueZ project. I have some problems. Can you help me? When I run the project, I can't collect scan data normally.
Errors are reported as follows：
BluetoothPeripheral - Input/output error 10:11:45.923 [Central-queue] ERROR BluetoothPeripheral - connection failed with status 'DBUS_EXECUTION_EXCEPTION' org.freedesktop.dbus.exceptions.DBusExecutionException: Input/output error 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 	at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 	at org.freedesktop.dbus.errors.Error.getException(Error.java:145) 	at org.freedesktop.dbus.errors.Error.throwException(Error.java:175) 	at org.freedesktop.dbus.RemoteInvocationHandler.executeRemoteMethod(RemoteInvocationHandler.java:152) 	at org.freedesktop.dbus.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:216) 	at com.sun.proxy.$Proxy22.Connect(Unknown Source) 	at com.welie.blessed.bluez.BluezDevice.connect(BluezDevice.java:416) 	at com.welie.blessed.BluetoothPeripheral.connect(BluetoothPeripheral.java:324) 	at com.welie.blessed.BluetoothCentralManager.lambda$connectPeripheral$11(BluetoothCentralManager.java:896)

Are you able to scan normally with bluetoothctl?

By the way, the exception is caused by the connectPeripheral method. So it looks like scanning is working....right?

Bluetooth scanning is normal. I don't know why this problem occurs, but I saw an article today about low-power Bluetooth data collection. So I reduced the Bluetooth version on the machine to 5.47, and then I tried to run your project again. Surprisingly, it can run normally and get data.

So I think it may be caused by the Bluetooth version。You can look at this project： https://github.com/sputnikdev/bluetooth-manager-tinyb

Thank you very much for your answer


Placeholder/argument format

I see there's quite a few questions regarding formatting of the placeholders.
I must say that would be a nice addition to the framework. We use templates for misc. error messages and if we decide change the date/time representation of a certain message, now we have to change it all the places we use it instead of the template itself.
I know you've said you've no immediate plans for this feature, but I just wanted to give you another reason why this would be useful. Separation of construction and representation as it were.

The placeholder system is designed to only be a simple mechanism for doing simple string replacement for common use cases. It's really not intended to be a full blown alternative to string.Format.
If you need this kind of flexibility then you should really be using using the overloads of WithMessage that take a lambda and directly call string.Format on your template inside the callback.

I might be able to introduce this as a pull request if you're comfortable with having this feature.

Potentially yes, could you provide some details on what you're planning on implementing before you do?

Basically being able to specify a format in the template e.g. {PropertyValue:g} which would result in string.format("{0:g}", propertyValue).
It seems the change will be very limited and won't break any tests.

Ok great, yes please feel free to send a PR and I’ll be happy to take a look.

I've not collaborated much using GIT, so I was unaware that I had to create a new branch. Trying to revert/undo the commits (which failed to push) was beyond me, so I'll paste my code here.
New method in MessageFormatter.cs:
	// TODO: Add alignment component
	private Regex _keyRegex = new Regex("{([^{}:]+)(?::([^{}]+))?}"); // Matches any placeholder

	protected virtual string ReplacePlaceholdersWithValues(string template, IDictionary<string, object> values)
	{
		return _keyRegex.Replace(template, m =>
		{
			var key = m.Groups[1].Value;

			if (!values.ContainsKey(key))
				return m.Value; // No placeholder / value

			var format = m.Groups[2].Success // Format specified?
				? $"{{0:{m.Groups[2].Value}}}"
				: null;

			return format == null
				? values[key]?.ToString()
				: string.Format(format, values[key]);
		});
	}

Replace assignment of result in public virtual string BuildMessage(string messageTemplate) to:
		result = ReplacePlaceholdersWithValues(result, _placeholderValues);

Unit tests:
	[Fact]
	public void Format_property_value()
	{
		using (new TemporalCultureExchange())
		{
			string result = formatter
			.AppendPropertyValue(123.45)
			.BuildMessage("{PropertyValue:#.#}");

			result.ShouldEqual("123.5");
		}
	}

	[Fact]
	public void Understands_numeric_formats()
	{
		using (new TemporalCultureExchange())
		{
			string result = formatter
				.AppendArgument("d", 123)
				.AppendArgument("e", 1052.0329112756)
				.AppendArgument("c", -123.456789)
				.AppendArgument("f", 1234.567)
				.AppendArgument("p", 0.912)
				.BuildMessage("{c:c3} {c:c4} {f:f} {p:p} {d:d} {e:e} {e:0.00} {d:0000}");

			result.ShouldEqual("($123.457) ($123.4568) 1234.57 91.20% 123 1.052033e+003 1052.03 0123");
		}
	}

	[Fact]
	public void Understands_date_formats()
	{
		var now = DateTime.Now;
		using (new TemporalCultureExchange())
		{
			string result = formatter
				.AppendArgument("now", now)
				.BuildMessage("{now:g} {now:MM-dd-yy} {now:f}");

			result.ShouldEqual($"{now.ToString("g")} {now.ToString("MM-dd-yy")} {now.ToString("f")}");
		}
	}

	[Fact]
	public void Should_ignore_unknown_parameters()
	{
		var now = DateTime.Now;
		string result = formatter
			.AppendArgument("foo", now)
			.BuildMessage("{foo:g} {unknown} {unknown:format}");

		result.ShouldEqual($"{(now.ToString("g"))} {{unknown}} {{unknown:format}}");
	}

	internal class TemporalCultureExchange : IDisposable
	{
		private bool disposedValue = false;
		private CultureInfo _culture;

		internal TemporalCultureExchange(string culture = "en-US")
		{
			_culture = Thread.CurrentThread.CurrentCulture;

			Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(culture);
		}

		protected virtual void Dispose(bool disposing)
		{
			if (!disposedValue)
			{
				if (disposing)
					Thread.CurrentThread.CurrentUICulture = _culture;

				disposedValue = true;
			}
		}

		public void Dispose()
		{
			Dispose(true);
		}
	}

All tests green.

If you could try again to create a pull requst that'd be great. If you use a pull request then it'll automatically run the tests and will also allow me to start a code review which I can't do easily here.

Any idea how i remove the outgoing commits?

Not sure what you mean. The steps should be as follows:

Fork the FluentValidation repository
Clone your fork locally
Make the changes and commit them
Push to your fork
Use the create pull request button

If you can't get that work, let me know what issue you're running into and I can try and walk you through it.

I'll try, I just haven't got time at the moment. Should be within a day or two.

Thanks. I'll do a full review once you've sent that through.

I've created the pull request, but it seemed to fail.

Thanks - yes the new tests are failing - could you take a look at that? I've left a code review on the PR with some comments too.

What's the correct procedure when updating? I just commit to the fork again and issue a new pull request?

No need to open a new pull request, just commit to the same fork and the pull request will be updated

@StefanHaug If you want to do a screen share, I can walk you through it as well.

No, that's ok. It seems straight forward enough. Thanks anyways @jzabroski , I appreciate it! I'll get around to it, i'm just short of time.


Set up Leaderboard project

1- configure webpack
2- configure linters
3- create src folder and inside the src folder create index.js file, style.css file and index.html file.
4- add html form and list on index.html file.
5- add basic style on style.css file.

Hi @Gambit142
Thank you for reveiw. wish you all the best.

Hi @akbarsazish, you are welcome. I wish you all te best also. 👍


Fix Wikipedia link

The link on Wikipedia has been replaced with a disambiguation page, link directly instead.

Thanks @anthonyryan1!


Tune kubeletstats metrics - enable useful / disable deprecated metrics

What
This PR tunes kubeletstats metrics. It enables useful metrics and disables deprecated metrics.
Related documentation https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/kubeletstatsreceiver/documentation.md

I scheduled the creation of release 0.35.0, which will include this and which will be available once https://github.com/dash0hq/dash0-operator/actions/runs/12055074104 has finished.


Control 3.1.1 | Disable IPv6 does not work using sysctl

Describe the Issue
When setting the variable ubtu22cis_ipv6_disable to sysctl the playbook fails to execute. This is due to a when clause on the previous task that is invalid due to a previous skipped task.
azure-arm.linux_mktpl: TASK [mindpointgroup.ubuntu22_cis/ : 3.1.1 | PATCH | Ensure system is checked to determine if IPv6 is enabled | Replace ipv6.disable if it exists] ***
azure-arm.linux_mktpl: skipping: [default]
azure-arm.linux_mktpl:
azure-arm.linux_mktpl: TASK [mindpointgroup.ubuntu22_cis/ : 3.1.1 | PATCH | Ensure system is checked to determine if IPv6 is enabled | Check grub cmdline linux] ***
azure-arm.linux_mktpl: skipping: [default]
azure-arm.linux_mktpl:
azure-arm.linux_mktpl: TASK [mindpointgroup.ubuntu22_cis/ : 3.1.1 | PATCH | Ensure system is checked to determine if IPv6 is enabled | Insert ipv6.disable if it doesn't exist] ***
azure-arm.linux_mktpl: fatal: [default]: FAILED! => {"msg": "The conditional check ''ipv6.disable' not in ubtu22cis_3_1_1_cmdline_settings.stdout' failed. The error was: error while evaluating conditional ('ipv6.disable' not in ubtu22cis_3_1_1_cmdline_settings.stdout): 'dict object' has no attribute 'stdout'. 'dict object' has no attribute 'stdout'\n\nThe error appears to be in '/runner_dir/image-pipeline/image-pipeline/ansible_roles/mindpointgroup.ubuntu22_cis/tasks/section_3/cis_3.1.x.yml': line 22, column 9, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n      - name: \"3.1.1 | PATCH | Ensure system is checked to determine if IPv6 is enabled | Insert ipv6.disable if it doesn't exist\"\n        ^ here\n"}

The variable ubtu22cis_3_1_1_cmdline_settings is registered during the task named 3.1.1 | PATCH | Ensure system is checked to determine if IPv6 is enabled | Check grub cmdline linux
Expected Behavior

Task 3.1.1 | PATCH | Ensure system is checked to determine if IPv6 is enabled | Insert ipv6.disable if it doesn't exist is skipped successfully
Task 3.1.1 | PATCH | Ensure system is checked to determine if IPv6 is enabled | Remove net.ipv6.conf.all.disable_ipv6 runs successfully to disable IPv6

Actual Behavior
Task 3.1.1 | PATCH | Ensure system is checked to determine if IPv6 is enabled | Insert ipv6.disable if it doesn't exist fails to evaulate the when clause of its task.
Control(s) Affected
Control 3.1.1
Environment (please complete the following information):

branch being used: 1.3.5
Ansible Version: 2.16
Host Python Version: Python3.10
Ansible Server Python Version: NA
Additional Details: NA

Additional Notes
NA
Possible Solution
Use nested blocks for the grub tasks. The nested block will have a when clause of when: ubtu22cis_ipv6_disable == 'grub' and the tasks in the block can further be configured with the appropriate when clauses.

hi @julian1059
I believe that this issue has been addressed and the fix merged,
I will close this issue, please feel free to reopen or raise a new one if this particular problem still exists.
Many thanks
uk-bolly


Feature/issue #42 & #44 tasks and tasks list

@tnightingale @trisapeace @rasmus-storjohann-PG  So this is the first crack at tasks and task list(s). I suspect very much this will evolve. Following I've outlined what I've implemented and assumptions I've made:

A "task" currently represents an actionable item a user can interact with ie. add/remove/star/share
A task holds a reference to its "definition" as defined by pathways.  A task definition includes for example a title, description, tags, category etc... The separation here allows us to update task definition data without touching task data.
A task list is a container for tasks. I'd intend this to be used for "saved tasks", "suggested tasks", "sub tasks" etc...
The "My Plan" page currently displays tasks taken from what I'd envision to be the user's "saved tasks".  I've rendered it twice just to demonstrate what some of the newer designs suggest .. naturally UI state is not wired up (see below).

All the necessary functionality for tasks to "work" is currently in place (run the tests).  I've not wired up the UI to demonstrate how the actions work as that would fall out of the scope of issues #42 & #44.  I'd like to see the next tasks related issue be around demonstration how to we can add tasks from the suggested list into the saved list or something along those lines. Anyways let me know what you think and cheers for the feedback.

Hold off on reviews for this. I'm currently in the process of adjusting the data model.

The store for tasks now looks as follows:
{
    taskMap // Task objects with fields: title, description, tags etc...
    taskUserSettingsMap //  Task user settings objects with fields: taskId, starred, completed etc...
    savedTasksList // A list of task ids representing "saved" tasks
    suggestedTasksList // A list of task ids representing "suggested" tasks
}

@rasmus-storjohann-PG I had already done the refactoring work for this structure prior to discussions with you about potentially keeping everything in one "table". I don't think there is a strong enough case against this structure and have opted to leave it as is until the need arrises to change it.

I've stubbed this in https://github.com/pg-irc/pathways-frontend/issues/78 which would rely on this work.


macOS + node 12/14 = e2e tests pass but "Process completed with exit code 134"

Moving from https://github.com/microsoft/playwright/issues/3090 as this has proven to be an issue specific to the macOS environment and GitHub Actions.
Describe the bug
Running e2e tests (Jest + Playwright) via GitHub Actions workflow. All tests pass on all platforms (macos-latest, ubuntu-latest, and windows-latest), but on macOS the job fails due to Process completed with exit code 134:
Running one project: e2e
PASS browser: chromium e2e tests/e2e/example.test.js
PASS browser: firefox e2e tests/e2e/example.test.js
PASS browser: webkit e2e tests/e2e/example.test.js
PASS browser: chromium e2e tests/e2e/vue.test.js
PASS browser: firefox e2e tests/e2e/vue.test.js
PASS browser: webkit e2e tests/e2e/vue.test.js

Test Suites: 6 passed, 6 of 2 total
Tests:       24 passed, 24 total
Snapshots:   0 total
Time:        21.526 s
Ran all test suites.
Assertion failed: (0), function uv_close, file ../deps/uv/src/unix/core.c, line 178.
/Users/runner/work/_temp/241fae1a-1600-440c-9c4a-dc01208caa50.sh: line 1:  3699 Abort trap: 6
npm run test:jest-e2e -- -ci
##[error]Process completed with exit code 134.

Area for Triage:
JavaScript and Node.js
Question, Bug, or Feature?:
Bug
Virtual environments affected

[x] macOS 10.15
[ ] Ubuntu 16.04 LTS
[ ] Ubuntu 18.04 LTS
[ ] Ubuntu 20.04 LTS
[ ] Windows Server 2016 R2
[ ] Windows Server 2019

Expected behavior
Expectation is that macOS will behave the same as Ubuntu and Windows environments and exit successfully given that all tests have passed.
Actual behavior
macOS marks the job as failed due to Process completed with exit code 134.
Example: https://github.com/docsifyjs/docsify/pull/1276/checks?check_run_id=907451054

Hello @jhildenbiddle ,
After quick look, I have noticed:

Your build passed successfully with exit code 0 on Node.js 10.x but failed on the same environments with Node.js 12.x and 14.x. It means that GA build machines themselves should be correct because all builds are run on absolutely same environment.
We install all Node.js versions (10.x, 12.x, 14.x) directly from https://nodejs.org so it can't be an issue with Node.js installation.

Unfortunately, we are not familiar with playwright library to diagnose this issue deeper and I don't think that it is the image defect but I suggest to pay attention on errors in test run:
(Node.js 14.x)
Assertion failed: (!uv__is_closing(handle)), function uv_close, file ../deps/uv/src/unix/core.c, line 113.
/Users/runner/work/_temp/165762b5-acf4-4b33-9b90-1a875ac70bc2.sh: line 1:  2546 Abort trap: 6           npm run test:jest-e2e -- --ci

(Warning even on Node.js 10.x that could be potentially related)
Jest did not exit one second after the test run has completed.
This usually means that there are asynchronous operations that weren't stopped in your tests. Consider running Jest with `--detectOpenHandles` to troubleshoot this issue.

Probably, they could be related to issue.
Please let us know if you see any issues with image that could cause this issue.

Thanks for the reply, @maxim-lobanov.
After further review I was able to identify the issue with the help of member of the playwright team (@aslushnikov and @yury-s). Details are available in an issue I filed (and have since closed) in the playwright repo if you're interested.
Very much appreciate the quick response. Happy to report all GitHub jobs are now passing.


How to use in expressjs?

How to use in expressjs? I have type "expressjs pithy" in google - no results.

I can show you my web app as an example.
The /departures route requires the departures template`, which just exports a function, that takes data and returns an HTML string.
Probably not the easiest example, but I hope it helps you.

I mean Express 'view engine'. Something like this:
exports.__express = function(path, options, callback) {
var template = require(path);
var html = template(options);
callback(null, html);
};

I mean Express 'view engine'.

As the documentation says, those template engines are just a function taking 3 arguments:

the template name/file,
an object filled with data to be used by the template,
a callback to be called with the rendered HTML.

Something like this might work with pithy:
const p = require('pithy')

const templates = {
	// minimal working example
	main: (data) => p.html(null, [
		p.body(null, [
			p.h1(null, data.title),
			p.p(null, data.message)
		])
	])
	// …
}

app.engine('unicorn', (template, data, cb) => {
	if (!(template in templates))
		return cb(new Error('unknwon template'))
	return cb(null, templates[template](data))
})

app.set('view engine', 'unicorn')