Object pooling advice

I'm making a game where players can run around and shoot stuff, spawning new entities that have physics bodies that I need to check for collisions against.
These dynamic entities (things that can be added to and removed from the game world) are pooled, so whenever something is "destroyed", is it just deactivated so it doesn't interact with anything, and returned to the pool. There is no actual deletion of the objects for dynamic entities, only reuse.
Adding to and removing from the quadtree every time an entity is recycled seems like a bad idea. Is adding to/removing from the tree even a big deal performance-wise?
If so, is there a way to "deactivate" an element in the tree but not have it removed, so it can be quickly turned back on again and reused.
I realise this is probably outside the scope of this lib.

Hi @Arcanorum,
Hope these answers will help you :

Is adding to/removing from the tree even a big deal performance-wise?

 Shouldn't be an issue otherwise.

If so, is there a way to "deactivate" an element in the tree but not have it removed, so it can be quickly turned back on again and reused.

The quadtree items are all yours to modify, so I think you could add a "disabled" flag to mark the deactivated items (those returned to the pool).
Then either :

use a custom collision algorithm to simply ignore the items marked with the flag
or simply iterate over the collision results and skip the deactivated items


Added windows build scripts for discojs

This PR adds the build scripts for Windows OS for discojs package and relates to #510

thanks a lot!


Is it possible to hide mixins from graph_models output?

Many of my models use a lot of mixins, which graph_models includes in the graph below each model name, like <SomeMixin, AnotherMixin >:

I'm trying to create a simple diagram via graph_models to show various relationships between some of my models, and I want to hide any unnecessary information to keep this clear and easy to read; I can hide most of this via options, like model fields and relationship names, but I can't see a way to hide these mixins from being show - is it possible to hide these, or possible to add this feature? Thanks!

For what it's worth I can work around this by manually editing the .dot file to remove the parts I don't want, but would be nice if this could be automated:

-      User
<AbstractBaseUser,PermissionsMixin>
+      User

From the top of my head we don’t have a switch for that at the moment.
Happy to accept a PR for such a feature. If you want to create a PR please it as fully baked as possible. (Tests/docs/examples/not breaking other features/etc)
Now it might take a while before I am able to process the PR. I am backlogged on Django Extensions and looking into if we can get funding for the project to help me spend more time on it. But until such time please expect things to stay slow(isch).

From the top of my head we don’t have a switch for that at the moment.
Happy to accept a PR for such a feature. If you want to create a PR please it as fully baked as possible. (Tests/docs/examples/not breaking other features/etc)
Now it might take a while before I am able to process the PR. I am backlogged on Django Extensions and looking into if we can get funding for the project to help me spend more time on it. But until such time please expect things to stay slow(isch).

Thanks for the info, not a big issue for me as I can work around it like I say, but I may take a look at making a PR if I get a chance. Thanks!


Set "Start location" and "End location" fields as drop down list.

To be refined
@monikakrawczak

Not an useful solution after all (cannot be used globally).


[bug] Double bun install

Describe the bug
My monorepo uses bun as the main platform but there's one type of task that must be run on node: Storybooks.
Node is configured to use bun as a package manager. Here's my toolchain.yml file:
bun:
  syncProjectWorkspaceDependencies: true
  version: latest
node: # Node.js is for running storybooks. They still don't support bun. https://github.com/storybookjs/storybook/issues/23279
  version: v21.7.1
  packageManager: bun
typescript:
  createMissingConfig: true
  syncProjectReferences: true
  syncProjectReferencesToPaths: true
  routeOutDirToCache: true

When I run a task in a package that depends on both bun and node, I get a double bun install that generates a race condition between them as they run at the same time. This makes the run fail.
Shouldn't moon deduplicate this package install task in this specific case?
My action graph in dot notation:
digraph {
    0 [ label="SyncWorkspace" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    1 [ label="SetupBunTool(latest)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    2 [ label="InstallBunDeps(latest)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    3 [ label="SyncBunProject(frontend-duty-handover)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    4 [ label="SetupSystemTool" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    5 [ label="SyncSystemProject(infra)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    6 [ label="SyncBunProject(library-infra)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    7 [ label="SyncBunProject(tool-cd)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    8 [ label="SyncBunProject(library-auth)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    9 [ label="SyncBunProject(library-functions)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    10 [ label="SyncBunProject(library-azure)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    11 [ label="SyncBunProject(library-ui-components)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    12 [ label="SyncBunProject(library-translations)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    13 [ label="RunTask(frontend-duty-handover:deploy)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    14 [ label="RunTask(frontend-duty-handover:build-frontend)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    15 [ label="RunTask(frontend-duty-handover:build)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    16 [ label="RunTask(frontend-duty-handover:lint)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    17 [ label="RunTask(frontend-duty-handover:format-check)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    18 [ label="RunTask(frontend-duty-handover:test)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    19 [ label="SetupNodeTool(21.7.1)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    20 [ label="InstallNodeDeps(21.7.1)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    21 [ label="RunTask(frontend-duty-handover:publish-storybook)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    22 [ label="RunTask(frontend-duty-handover:build-storybook)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    23 [ label="RunTask(infra:deploy)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    24 [ label="RunTask(infra:validate-config)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    25 [ label="RunTask(tool-cd:cli)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    26 [ label="RunTask(infra:lint)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    27 [ label="RunTask(infra:format-check)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    28 [ label="RunTask(infra:check-stack-config-schema)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    29 [ label="RunTask(tool-cd:cli)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    30 [ label="RunTask(tool-cd:azure-login)" style=filled, shape=oval, fillcolor=gray, fontcolor=black ]
    1 -> 0 [ arrowhead=box, arrowtail=box]
    2 -> 1 [ arrowhead=box, arrowtail=box]
    4 -> 0 [ arrowhead=box, arrowtail=box]
    6 -> 1 [ arrowhead=box, arrowtail=box]
    7 -> 1 [ arrowhead=box, arrowtail=box]
    5 -> 4 [ arrowhead=box, arrowtail=box]
    5 -> 6 [ arrowhead=box, arrowtail=box]
    5 -> 7 [ arrowhead=box, arrowtail=box]
    9 -> 1 [ arrowhead=box, arrowtail=box]
    10 -> 1 [ arrowhead=box, arrowtail=box]
    8 -> 1 [ arrowhead=box, arrowtail=box]
    8 -> 9 [ arrowhead=box, arrowtail=box]
    8 -> 10 [ arrowhead=box, arrowtail=box]
    12 -> 1 [ arrowhead=box, arrowtail=box]
    11 -> 1 [ arrowhead=box, arrowtail=box]
    11 -> 12 [ arrowhead=box, arrowtail=box]
    3 -> 1 [ arrowhead=box, arrowtail=box]
    3 -> 5 [ arrowhead=box, arrowtail=box]
    3 -> 8 [ arrowhead=box, arrowtail=box]
    3 -> 11 [ arrowhead=box, arrowtail=box]
    15 -> 2 [ arrowhead=box, arrowtail=box]
    15 -> 3 [ arrowhead=box, arrowtail=box]
    16 -> 2 [ arrowhead=box, arrowtail=box]
    16 -> 3 [ arrowhead=box, arrowtail=box]
    17 -> 2 [ arrowhead=box, arrowtail=box]
    17 -> 3 [ arrowhead=box, arrowtail=box]
    18 -> 2 [ arrowhead=box, arrowtail=box]
    18 -> 3 [ arrowhead=box, arrowtail=box]
    14 -> 2 [ arrowhead=box, arrowtail=box]
    14 -> 3 [ arrowhead=box, arrowtail=box]
    14 -> 15 [ arrowhead=box, arrowtail=box]
    14 -> 16 [ arrowhead=box, arrowtail=box]
    14 -> 17 [ arrowhead=box, arrowtail=box]
    14 -> 18 [ arrowhead=box, arrowtail=box]
    19 -> 0 [ arrowhead=box, arrowtail=box]
    20 -> 19 [ arrowhead=box, arrowtail=box]
    22 -> 20 [ arrowhead=box, arrowtail=box]
    22 -> 3 [ arrowhead=box, arrowtail=box]
    22 -> 16 [ arrowhead=box, arrowtail=box]
    22 -> 15 [ arrowhead=box, arrowtail=box]
    21 -> 20 [ arrowhead=box, arrowtail=box]
    21 -> 3 [ arrowhead=box, arrowtail=box]
    21 -> 22 [ arrowhead=box, arrowtail=box]
    25 -> 2 [ arrowhead=box, arrowtail=box]
    25 -> 7 [ arrowhead=box, arrowtail=box]
    24 -> 5 [ arrowhead=box, arrowtail=box]
    24 -> 25 [ arrowhead=box, arrowtail=box]
    26 -> 2 [ arrowhead=box, arrowtail=box]
    26 -> 5 [ arrowhead=box, arrowtail=box]
    27 -> 2 [ arrowhead=box, arrowtail=box]
    27 -> 5 [ arrowhead=box, arrowtail=box]
    29 -> 2 [ arrowhead=box, arrowtail=box]
    29 -> 7 [ arrowhead=box, arrowtail=box]
    28 -> 2 [ arrowhead=box, arrowtail=box]
    28 -> 5 [ arrowhead=box, arrowtail=box]
    28 -> 29 [ arrowhead=box, arrowtail=box]
    30 -> 2 [ arrowhead=box, arrowtail=box]
    30 -> 7 [ arrowhead=box, arrowtail=box]
    23 -> 5 [ arrowhead=box, arrowtail=box]
    23 -> 24 [ arrowhead=box, arrowtail=box]
    23 -> 26 [ arrowhead=box, arrowtail=box]
    23 -> 27 [ arrowhead=box, arrowtail=box]
    23 -> 28 [ arrowhead=box, arrowtail=box]
    23 -> 30 [ arrowhead=box, arrowtail=box]
    13 -> 2 [ arrowhead=box, arrowtail=box]
    13 -> 3 [ arrowhead=box, arrowtail=box]
    13 -> 14 [ arrowhead=box, arrowtail=box]
    13 -> 21 [ arrowhead=box, arrowtail=box]
    13 -> 23 [ arrowhead=box, arrowtail=box]
}

Yeah, this one seems tricky. The bun and node implementations are completely isolated from each other, so neither of them know that the other is running an install. Let me see what I can do.

At least avoid the same type of task (sync dependencies) to run concurrently would be a solution. Not sure how to make this work though. Count on you to find a solution! 🙏

Yesterday I encountered a similar problem. I started a branch to add an autoInstall option to the toolchain's bun section, to allow users to disable the automated bun install step.
I didn't finish it yet, but I hope I'll have it soon.

I have a fix landing for this in 1.24. The gist is that if both bun and node are enabled, only node will be used for installing deps. This is more of a stopgap solution for now.
But I'm open to that autoinstall setting. Was thinking of something similar.

Thank you! 😄 .
I could push what I have to a draft PR, but the reality is that, for some reason that I cannot identify yet, when I try to set that option, my compiled moon keeps complaining that the field is not in the schema.
I've spent some hours going through the code to identify what I'm missing. I'm unable to find the thing that I have to change so the validator understand that this field is now accepted 😓 .

You may need to wipe the .moon/cache. It's probably a serde error since serde is strict about fields.

Can you try 1.24?

Can you try 1.24?
@milesj I tried, it was enough to fix my problem :) . I'm not sure about @rhuanbarreto 's case.

Tried and it solved my case! I'm closing the issue here and will reopen if it repeats. Thanks a lot @milesj ! ❤


Misc doc changes

Besides other documentation changes, this commit ensures the generated
HTML doc for HexDocs.pm will become the main source doc for this Elixir
library which leverage on latest ExDoc features.

This PR contains many changes unrelated to documentation. If you’d like to update the changelog with dates and include it in the docs, please do so in another, more focused PR.

@drewolson Let me know if I understand this correctly, except changes in .formatters.exs and .gitignore, the others changes are considered documentation changes?
Or you're considering changes to changelog with dates should be separated from changes to mix.exs?
Thanks.


resolves #4

Hi,
I just resolve issue #4. I would be appreciated if you merge my branch to the main.
Ziqian

Can you move the file to the pythoncalculator direction please?


"Negative  scale factors are not supported" when trying to load my "the-white-room" scene

Steps to reproduce:

Clone 1f93e19
mkdir build && cd build && cmake ..
Open Visual Studio Solution
Build BCnCompressglTF && ZetaLab
cd ../bin
Download  "the white room" test scene I used for this issue.
Extract the files to Assets/
./BCnCompressglTFd.exe ../Assets/the-white-room.gltf
./ZetaLabd.exe ../Assets/the-white-room_zeta.gltf

I have to decompose transformation matrices into translation, rotation, and scaling. When there are negative scales, decomposition becomes more complicated and is currently not supported.
The workaround is to import in Blender, apply the scale (so it becomes 1.0) and then export back. I've attached the result for this scene.
white_room.zip

How did you find the object that had a negative scale?

I printed the name of nodes that had negative scales. Node names correspond to object names in Blender.

I guess that fixes it.


chore: implements exercices

As our school is tomorrow, I merge my own PR.
Feel free to open any issue you'll find useful, or even better, open PR :)


feat: add support for yaml and JSON

Fixes https://github.com/the-codegen-project/cli/issues/22
Fixes https://github.com/the-codegen-project/cli/issues/21

:tada: This PR is included in version 0.6.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


MS SQL Server: replace old, unmaintained jTDS driver with mssql-jdbc

The jTDS driver has not been updated in many years and is not JDBC 4.2 (Java 8) compliant. Since Microsoft has open-sourced their official JDBC driver, it makes sense to switch to that instead.
This PR is a prerequisite for #3402, as mentioned in that PR.
In case there are any questions about the use of sendTimeAsDatetime=false in the connection string: this is necessary for tests related to java.sql.Time to work, as per footnote 1 in the official MS docs.

The new driver revealed a bug in UtilDateType. java.util.Date internally represents the date as milliseconds UTC, but externally the date is represented in the current timezone. Therefore I have changed UtilDateType to be consistent with TimezoneType.

Thanks! 👍🏻


Remove _nixpkgs-review because upstream now has completions

We should remove _nixpkgs-review since upstream now has it's own https://github.com/Mic92/nixpkgs-review/pull/296 completions. And currently a conflict breaks nixpkgs for people having nixpkgs-review and zsh enabled since these completions get added by default:
> error: collision between `/nix/store/ks3jyjkhy10aypk4w7w4rxhcl7iv0dm5-nixpkgs-review-2.10.0/share/zsh/site-functions/_nixpkgs-review' and `/nix/store/si3z4ygv3zrs8ja6n87frl8w5m1a80hm-nix-zsh-completions-unstable-2023-01-30/share/zsh/site-functions/_nixpkgs-review'

Fixed my username and email, now the commit says verified again :see_no_evil:


Clarify that bind verb does not require resourceNames

This may be intuitive for most, but the existing phrasing read to me as if bind were a special-case verb that required me to explicitly state which Roles or ClusterRoles it should apply to.

You can only create/update a role binding if you […] or if you have been authorized to perform the bind verb on the referenced role.

Grant them permissions needed to bind a particular role […] explicitly, by giving them permission to perform the bind verb on the  particular Role (or ClusterRole).

/lgtm


Add support for restoring from backup then migrate

Since this one is a blocker for people at my org giving grate a try, I figured I'd write up an issue to get this tracked. This would mimic the RestoreAndRun mode defined here that Roundhouse has by using some similar restore configuration options
I have already started down the path of implementing this feature, but if you have any thoughts around this @erikbra I am open to discussing it further to make sure it lines up with your ideas around this project before any kind of PR is opened.

Hi, @bptillman , thanks for contributing!
Personally, I have never used the "restore" mode of RoundhousE, so I'm a bit blank to the scenarios it supports, or what people use it for.
My first hunch is that this maybe is something that is better handled outside of grate, as the options for backup and restore are so diverse depending on your environment, i.e. whether you are in the cloud, if you use on-prem databases, and which database you use. Litespeed is mentioned in the RoundhousE docs. I don't have any experience with that tool, but there are probably a lot of different tools available for backup and restore of each of the databases supported in grate.
Could you please give some thoughts around the pros (and cons) of having the restore as an integrated part of grate, compared to handling the restore with your tool of choice (be it cloud restore, litespeed, .bacpac files, copying a sqlite db file, etc) outside of grate?
I'm open to inputs here :)

I'll let @bptillman  talk to his side of things, but I know back when we used on-prem databases we used this all the time.  Everytime we did a test deploy we'd restore the current prod db to give us as much confidence as possible that everything would be ok at prod deploy time.  Doing this using RH meant we didn't need to build out [custom powershell | TSql+SqlCmd | Custom app | ??]  tooling to get this done, just point RH at the .bak and go.....

@erikbra I think your Cloud-first approach makes sense, but I wouldn't abandon a tool like restore. The "restore" method is particularly useful for onboarding existing projects into roundhouse.  Speaking as a consultant, I frequently encounter projects out there that are sitting on an an on-prem database and where the team currently does manual migrations ad-hoc... and probably don't have their old scripts.  Not only that, they don't know how to cut down their database to be a starter "dev" database.  These are of course problems that need solving, but with restore, you can get them started on roundhouse RIGHT NOW before solving these larger problems, and get them used to the paradigm of scripts going into a database, using a local copy of a db instead of a shared db, etc (these teams almost always use a shared db).   This is actually a critical usage of roundhouse for me. It's a key way we onboard teams to roundhouse with relatively little pain.  In terms of all of the possibilities for where you might restore from... I think a regular sql server backup is the main one that matters.  Teams that are already in the cloud or using newer, cooler stuff are probably in a better starting point than these teams that have this questionable database in an unknown state.  This feature has made the difference between being able to use roundhouse, and not being able to use roundhouse.  Please consider keeping this feature.
Another scenario in which is this can be useful is certain specialized databases in which you really need to have a pretty large chunk of lookup data to be able to do anything at all.  I'm thinking geo databases, etc. Smaller lookup tables are fine to go into scripts, but a backup can be cleaner and faster when you really require a LOT of data even for your local db.

What @ajepst and @wokket stated covers my thoughts around it pretty well actually. To keep this issue as slim as possible, perhaps it could be implemented for just SQL Server bak files, which would cover all of our use cases for this feature and then address adding support for others if its asked for? Or if it has to be keep out of the main code of grate, instead of a developer having to write their own implementation for restoring it could be offered up as an additional grate package they could bring in for just that purpose? I know that idea has been mentioned here before I think, but none currently exist so I'm not sure what other thoughts there are around that.

Hi, again, folx. Thanks for chiming in, and bringing good arguments to the table. I'm of course open to taking this feature in, as long as it's useful to people, and it's not too big of a feature, or too "odd" compared to the other features. I'd be very happy to take a look, @bptillman , how's the implementation going? Is the "restore" functionality a part of Microsoft.Data.SqlClient, or does it require an additional dependency?
I'd like to simplify the command-line options a bit, though, to just one option, say --restore <filename>, or --restorefrom <filename>, potentially with a separate timeout option, if needed. I think it's a bit bloated specifying both a "you should do the restore" bool switch, and a "you already know you should restore, but here's the path you need for that" switch, imho.
Thanks for starting the implementation, anyways!

I'll throw my hat in for another vote on this feature. For the aforementioned geodata and manually migrated database scenarios. Both are in abundant supply in the DoD world...

Hi, again, folx. Thanks for chiming in, and bringing good arguments to the table. I'm of course open to taking this feature in, as long as it's useful to people, and it's not too big of a feature, or too "odd" compared to the other features. I'd be very happy to take a look, @bptillman , how's the implementation going? Is the "restore" functionality a part of Microsoft.Data.SqlClient, or does it require an additional dependency?
I'd like to simplify the command-line options a bit, though, to just one option, say --restore <filename>, or --restorefrom <filename>, potentially with a separate timeout option, if needed. I think it's a bit bloated specifying both a "you should do the restore" bool switch, and a "you already know you should restore, but here's the path you need for that" switch, imho.
Thanks for starting the implementation, anyways!

The way I was currently looking at implementing it was with a DbCommand, similar to the DropDatabase method already implemented, and then building up the restore database command text with the file path passed into grate as a command line option. What do you think about that?
I also agree about simplifying things to just have the one --restore or --restorefrom command line option instead of needing two options to say you are doing a restore.

Yes, that makes sense, just put it after the drop and create here:

And, in effect, the SQL executed should just be something along the lines of:
RESTORE DATABASE FROM DISK = 'C:\MSSQL\Backup\MyDB_full.bak'

(replace with the actual file)?

Yes, that makes sense, just put it after the drop and create here (line 72-ish of GrateMigrator.cs):

And, in effect, the SQL executed should just be something along the lines of:
RESTORE DATABASE FROM DISK = 'C:\MSSQL\Backup\MyDB_full.bak'

(replace with the actual file)?

Yup that is exactly where I added the call to restore, if the restore path has been specified, and the code itself is pretty similar. I took a look at how Roundhouse did it and they first set the db to single user, do the restore, then go back to multi user so that is how I have done this as well.
I have it working and did a manual test to prove it works as of right now, but before submitting a PR I am trying to:

Do some cleanup
Make sure I am properly handling telling the end user if they try to restore on any other db engine that it is not supported currently
See if I can figure out how to write a test to actually prove out the restore works.

Very good! :)
Writing a test shouldn't be too hard, should it? You could just include a small .bak file in the repo (if it's not more than some kBs), run a restore, and check that the data from the .bak file is there?

@bptillman - please feel free to give me a shout out if you would like to discuss this more before it is "ready for merge" too. If you like, you can open a pull request, just for the discussion, and we can have a look at it together, if you feel like it.
No pressure, by all means, just if you feel the need to discuss underway 😄

@bptillman - please feel free to give me a shout out if you would like to discuss this more before it is "ready for merge" too. If you like, you can open a pull request, just for the discussion, and we can have a look at it together, if you feel like it.
No pressure, by all means, just if you feel the need to discuss underway 😄

@erikbra I was thinking the same thing about opening a draft PR for it and we can discuss any changes further there. So I'll get that opened shortly.

Great! Just ping me when you feel you have someting to discuss!


gulp-eslint cannot resolve extends "plugin:react/recommended"

Hi,
I'm having a very frustrated issue and haven't been able to fix it.
I'm using Gulp, Eslint and React, with Babel, so I install eslint-plugin-react, below is my .eslintrc file:
{
  "parser": "babel-eslint",
  "plugins": [
    "react"
  ],
  "extends": [
      "eslint:recommended",
      "plugin:react/recommended"
  ]
}

And below is my lint task
gulp.task('lint', () =>
  gulp.src(['app/scripts/**/*.js','!node_modules/**'])
    .pipe($.eslint())
    .pipe($.eslint.format())
);

I install both eslint and eslint-plugin-react locally, and I can run eslint locally without any problem using local command: ./node_modules/.bin/eslint [scripts_foder]
But whenever I try gulp lint I get this error message:
[app_folder]\node_modules\gulp-eslint\node_modules\eslint\lib\config\config-file.js:332
            throw e;
            ^

Error: Cannot read config package: eslint-config-plugin:react/recommended
Error: Cannot find module 'eslint-config-plugin:react/recommended'
Referenced from: [app_folder]\.eslintrc
    at Function.Module._resolveFilename (module.js:470:15)
    at Function.Module._load (module.js:418:25)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at loadPackage ([app_folder]\node_modules\gulp-eslint\node_modules\eslint\lib\config\config-file.js:168:16)
    at loadConfigFile ([app_folder]\node_modules\gulp-eslint\node_modules\eslint\lib\config\config-file.js:212:18)
    at load ([app_folder]\node_modules\gulp-eslint\node_modules\eslint\lib\config\config-file.js:385:18)
    at [app_folder]\node_modules\gulp-eslint\node_modules\eslint\lib\config\config-file.js:326:36
    at Array.reduceRight (native)
    at applyExtends ([app_folder]\node_modules\gulp-eslint\node_modules\eslint\lib\config\config-file.js:309:28)

I tried to comprehend what happened (coming from a Java Backend dev), I think it's something related to Absolute and/or Relative path resolving issue there, as the exception was thrown here gulp-eslint\node_modules\eslint\lib\config\config-file.js:332
I'm currently falling back using gulp-run to call eslint command directly, but that's counter-intuitive and I won't be able to stop the build without complex code to check command result...
Any suggestions for me?
Thanks,

gulp-eslint cannot resolve extends "plugin:react/recommended"

No.
eslintrc.js
module.exports = {
  parser: 'babel-eslint',
  plugins: [
    'react'
  ],
  extends: [
    'eslint:recommended',
    'plugin:react/recommended'
  ]
};

sample.js
'use strict';

const {join} = require('path');

const gulpEslint = require('gulp-eslint');
const File = require('vinyl');

gulpEslint()
.on('finish', () => console.log('No error.'))
.end(new File({
  path: join(__dirname, 'fixture.js'),
  content: Buffer.from('console.log(\'Hi.\');\n')
}));

$ node sample.js
> No error.


Fix: Visualizer crashes on first try | CU-1x74e8a

Signed-off-by: manav1403<EMAIL_ADDRESS>Description
The visualizer was crashing with an error of invalid route as logged in the console
Notes for Reviewers
The condition of error was arising because the routes extendedEndpoints were being called before they were initialized by the LoadExtensionFromPackage hence there was a race condition, to tackle that I shifted the Mutex lock to the starting of the function.
Signed commits

[x] Yes, I signed my commits.

Task linked: CU-1x74e8a Visualizer crashes on first try

Codecov Report

Merging #4984 (95d1303) into master (142bb58) will decrease coverage by 6.60%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #4984      +/-   ##
==========================================
- Coverage   32.47%   25.87%   -6.61%
==========================================
  Files          61       61
  Lines        5028     5028
==========================================
- Hits         1633     1301     -332
- Misses       2991     3433     +442
+ Partials      404      294     -110

Flag
Coverage Δ

e2etests
?

gointegrationtests
?

integrationtests
?

unittests
25.87% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

mesheryctl/internal/cli/root/system/start.go
1.92% <0.00%> (-54.81%)
:arrow_down:

mesheryctl/internal/cli/root/system/restart.go
2.50% <0.00%> (-47.50%)
:arrow_down:

mesheryctl/internal/cli/root/system/status.go
1.14% <0.00%> (-43.68%)
:arrow_down:

mesheryctl/internal/cli/root/system/update.go
1.05% <0.00%> (-34.74%)
:arrow_down:

mesheryctl/internal/cli/root/system/stop.go
1.78% <0.00%> (-23.22%)
:arrow_down:

mesheryctl/internal/cli/root/system/check.go
1.03% <0.00%> (-23.03%)
:arrow_down:

mesheryctl/internal/cli/root/system/logs.go
3.29% <0.00%> (-20.88%)
:arrow_down:

mesheryctl/internal/cli/root/system/dashboard.go
0.00% <0.00%> (-15.88%)
:arrow_down:

mesheryctl/pkg/utils/healthcheck.go
11.65% <0.00%> (-5.83%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 142bb58...95d1303. Read the comment docs.

Nice work.


Update AWS regions

Updates the list of available AWS regions

eu-central-1
sa-east-1
ap-southeast-1

I also had to upgrade to latest version of boto.

A merge would be awesome ;)


.precommit-config-yaml required in each module (subfolder)?

I have a Terraform repository and have folders for modules. Why do I have to have .precommit-config-yaml under each folder when I have .precommit-config-yaml at the root of the repository.
No {dir}/.pre-commit-config.yaml file was found

To temporarily silence this, run PRE_COMMIT_ALLOW_NO_CONFIG=1 git ...
To permanently silence this, install pre-commit with the --allow-missing-config option
To uninstall pre-commit run pre-commit uninstall

Manual run of pre-commit against all the files using pre-commit run -a works fine.

Normally, you have one file .pre-commit-config.yaml in the root of your git repository. Only this file will be used when you run git commit or pre-commit run -a
Please read much more detailed instructions on the official site - https://pre-commit.com/

@antonbabenko I have read the instructions and it does say that there is one .pre-commit-config.yaml required in the root of the directory. Though, when I don't have a separate .pre-commit-config.yaml file under a folder/module in the repository, it gives me the above error while committing the code..

Not sure I understand.
.pre-commit-config.yaml is required to be at the root of your git repo. If there is no such file, there will be an error you see.

I have .pre-commit-config.yaml at the root of the git repo. That's not enough - I am required to have a pre-commit at the root of each folder in the git repo (there are no .tf files in the root of the git repo; only folders exist which have terraform config). When I don't have .pre-commit-config.yaml in each folder and try to commit the changes in that folder - that's when I see this error!


[Feature Request]: Customer Create

Feature Description
Feature Description
To include the customer create requests:
CreateCustomer (company & individual)
API Docs
https://developer.simprogroup.com/apidoc/?page=e6d0e1c8fc6a4fcf47869df87e04cd88#operation/345fa0996f7f790e1103bebdea233fc3
Required Requests:

[x] GetCustomers
[x] RetrieveCustomer
[x] CreateCustomer
[x] UpdateCustomer
[x] DeleteCustomer

Attachments:

[x] GetCustomerAttachments
[x] RetrieveCustomerAttachment
[ ] CreateCustomerAttachment
[ ] UpdateCustomerAttachment
[ ] DeleteCustomerAttachment

Attachment Folders:

[ ] GetCustomerAttachmentFolders
[ ] RetrieveCustomerAttachmentFolder
[ ] CreateCustomerAttachmentFolder
[ ] UpdateCustomerAttachmentFolder
[ ] DeleteCustomerAttachmentFolder

Contacts:

[x] GetCustomerContacts
[x] RetrieveCustomerContact
[x] CreateCustomerContact
[x] UpdateCustomerContact
[x] DeleteCustomerContact

Contracts:

[ ] GetCustomerContracts
[ ] RetrieveCustomerContract
[ ] CreateCustomerContract
[ ] UpdateCustomerContract
[ ] DeleteCustomerContract

Contracts -> Custom Fields:

[ ] GetCustomerContractCustomFields
[ ] RetrieveCustomerContractCustomField
[ ] UpdateCustomerContractCustomField

Contracts -> Inflation:

[ ] GetCustomerContractInflations
[ ] RetrieveCustomerContractInflation
[ ] CreateCustomerContractInflation
[ ] UpdateCustomerContractInflation
[ ] DeleteCustomerContractInflation

Contracts -> Service Levels:

[ ] GetCustomerContractServiceLevels

Contracts -> Service Levels -> Asset Types:

[ ] RetrieveCustomerContractServiceLevelAssetType
[ ] UpdateCustomerContractServiceLevelAssetType

Custom Fields:

[ ] GetCustomerCustomFields
[ ] RetrieveCustomerCustomField
[ ] UpdateCustomerCustomField

Labour Rates:

[ ] GetLaborRates
[ ] RetrieveLaborRate
[ ] CreateLaborRate
[ ] UpdateLaborRate
[ ] DeleteLaborRate

Notes:

[ ] GetCustomerNotes
[ ] RetrieveCustomerNote
[ ] CreateCustomerNote
[ ] UpdateCustomerNote
[ ] DeleteCustomerNote

Response Times:

[ ] GetCustomerResponseTimes
[ ] RetrieveCustomerResponseTime
[ ] CreateCustomerResponseTime
[ ] UpdateCustomerResponseTime
[ ] DeleteCustomerResponseTime

Tasks:

[ ] GetCustomerTasks
[ ] RetrieveCustomerTask

@AElleray I've added all of the endpoints

@AElleray The PHP stan tests are failing. I think it's due to an incorrect doc block on the DeleteCustomerAttachment request. If you run ./vendor/bin/phpstan it should highlight any issues.


Added Paytm Website Clone

This is the PR for the issue Paytm Website Clone #392
Kindly Review it
Thank you Sir

This is the deployed website link sir  https://supriyagembali.github.io/Paytm-Website-Clone/


Can't load model in GCS directly

When I wanted to run the model on TPU, I used "gs://..." replace the ${LARGE_DIR}. But it turns out the IOError.
Traceback (most recent call last):   File "run_classifier.py", line 903, in <module>     tf.app.run()   File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", line 125, in run     _sys.exit(main(argv))   File "run_classifier.py", line 722, in main     sp.Load(FLAGS.spiece_model_file)   File "/usr/local/lib/python2.7/dist-packages/sentencepiece.py", line 118, in Load     return _sentencepiece.SentencePieceProcessor_Load(self, filename) IOError: Not found: "gs://ykproject/pre-trained/xlnet_cased_L-24_H-1024_A-16/spiece.model": No such file or directory Error #2
Did this mean sp.Load() doesn't support load GCS file? And I should change the code. Or something other should I do?

That's an inconvenience of GCS. The sentence piece "Load" function can only access "local" files (only tf.gfile can directly access Google storage. I recommend keeping a local copy of the downloaded model directory.

You should load sentencepiece model in local dir instead of GCS. For example, in Colab, you should manually upload spiece.model in your notebook.

I tried to use the local files. But it showed another error:
InvalidArgumentError (see above for traceback): Unsuccessful TensorSliceReader constructor: Failed to get matching files on pre-trained/xlnet_cased_L-24_H-1024_A- 16/xlnet_model.ckpt: Unimplemented: File system scheme '[local]' not implemented (file: 'pre-trained/xlnet_cased_L-24_H-1024_A-16/xlnet_model.ckpt')          [[node checkpoint_initializer_170 (defined at /home/henrylk127/xlnet/model_utils.py:76) ]]

That's an inconvenience of GCS. The sentence piece "Load" function can only access "local" files (only tf.gfile can directly access Google storage. I recommend keeping a local copy of the downloaded model directory.

I have tried to use the local files. But it showed another error:
InvalidArgumentError (see above for traceback): Unsuccessful TensorSliceReader constructor: Failed to get matching files on pre-trained/xlnet_cased_L-24_H-1024_A- 16/xlnet_model.ckpt: Unimplemented: File system scheme '[local]' not implemented (file: 'pre-trained/xlnet_cased_L-24_H-1024_A-16/xlnet_model.ckpt')          [[node checkpoint_initializer_170 (defined at /home/henrylk127/xlnet/model_utils.py:76) ]]
I run the project on the console of Google Cloud Platform.

maybe you should post your shell script here

maybe you should post your shell script here

For example：
python run_classifier.py
--do_train=True
--do_eval=True
--task_name=qnli
--data_dir=./glue/glue_data/QNLI
--output_dir=proc_data/qnli
--model_dir=exp/qnli
--uncased=False
--spiece_model_file=pre-trained/xlnet_cased_L-24_H-1024_A-16/spiece.model
--model_config_path=pre-trained/xlnet_cased_L-24_H-1024_A-16/xlnet_config.json
--init_checkpoint=pre-trained/xlnet_cased_L-24_H-1024_A-16/xlnet_model.ckpt
--max_seq_length=512
--train_batch_size=8
--num_hosts=1
--num_core_per_host=8
--learning_rate=5e-5
--train_steps=1200
--warmup_steps=120
--save_steps=600
--is_regression=True
--use_tpu=True
--tpu=henrylk127

how about adding ./ in front of each file/path/dir?
such as changing
spiece_model_file=pre-trained/xlnet_cased_L-24_H-1024_A-16/spiece.model
to
spiece_model_file=./pre-trained/xlnet_cased_L-24_H-1024_A-16/spiece.model

It still shows the same error.
InvalidArgumentError (see above for traceback): Unsuccessful TensorSliceReader constructor: Failed to get matching files on ./pre-trained/xlnet_cased_L-24_H-1024_ A-16/xlnet_model.ckpt: Unimplemented: File system scheme '[local]' not implemented (file: './pre-trained/xlnet_cased_L-24_H-1024_A-16/xlnet_model.ckpt')          [[node checkpoint_initializer_170 (defined at /home/henrylk127/xlnet/model_utils.py:76) ]]
The solution to this problem I searched is to use GCS path instead of the local path. After using GCS, the error which I mentioned before shows.
I just run the program on the terminal of Google Cloud Platform. Maybe the VM Engine does not support the local file loading?

For me, I use spiece.model in local file system, and load xlnet weight/config from GCS.

After I changing 'output_dir', 'model_dir' and 'init_checkpoint' to GCS and remaining other directories locally, it works.
However, I encountered a new error: OutOfRangeError.
The issue is shown below:
'I0621 14:16:36.503958<PHONE_NUMBER>67872 tpu_estimator.py:504] Init TPU system
I0621 14:16:40.712445<PHONE_NUMBER>67872 tpu_estimator.py:510] Initialized TPU in 4 seconds
I0621 14:16:40.713411<PHONE_NUMBER>25248 tpu_estimator.py:463] Starting infeed thread controller.
I0621 14:16:40.713979<PHONE_NUMBER>95552 tpu_estimator.py:482] Starting outfeed thread controller.
I0621 14:16:42.156764<PHONE_NUMBER>67872 tpu_estimator.py:536] Enqueue next (600) batch(es) of data to infeed.
I0621 14:16:42.157500<PHONE_NUMBER>67872 tpu_estimator.py:540] Dequeue next (600) batch(es) of data from outfeed.
I0621 14:16:51.020121<PHONE_NUMBER>25248 error_handling.py:70] Error recorded from infeed: End of sequence
[[node input_pipeline_task0/while/IteratorGetNext (defined at /usr/local/lib/python2.7/dist-packages/tensorflow_estimator/python/estimator/estimator.py:1112) ]]
Caused by op u'input_pipeline_task0/while/IteratorGetNext', defined at:
File "run_classifier.py", line 903, in
tf.app.run()
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", line 125, in run
_sys.exit(main(argv))
File "run_classifier.py", line 767, in main
estimator.train(input_fn=train_input_fn, max_steps=FLAGS.train_steps)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/tpu/python/tpu/tpu_estimator.py", line 2452, in train
saving_listeners=saving_listeners)
File "/usr/local/lib/python2.7/dist-packages/tensorflow_estimator/python/estimator/estimator.py", line 358, in train
loss = self._train_model(input_fn, hooks, saving_listeners)
File "/usr/local/lib/python2.7/dist-packages/tensorflow_estimator/python/estimator/estimator.py", line 1124, in _train_model
return self._train_model_default(input_fn, hooks, saving_listeners)
File "/usr/local/lib/python2.7/dist-packages/tensorflow_estimator/python/estimator/estimator.py", line 1154, in _train_model_default
features, labels, model_fn_lib.ModeKeys.TRAIN, self.config)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/tpu/python/tpu/tpu_estimator.py", line 2251, in _call_model_fn
config)
File "/usr/local/lib/python2.7/dist-packages/tensorflow_estimator/python/estimator/estimator.py", line 1112, in _call_model_fn
model_fn_results = self._model_fn(features=features, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/tpu/python/tpu/tpu_estimator.py", line 2547, in _model_fn
input_holders.generate_infeed_enqueue_ops_and_dequeue_fn())
File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/tpu/python/tpu/tpu_estimator.py", line 1167, in generate_infeed_enqueue_ops_and_dequeue_fn
self._invoke_input_fn_and_record_structure())
File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/tpu/python/tpu/tpu_estimator.py", line 1271, in _invoke_input_fn_and_record_structure
wrap_fn(device=host_device, op_fn=enqueue_ops_fn))
File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/tpu/python/tpu/tpu_estimator.py", line 2945, in _wrap_computation_in_while_loop
parallel_iterations=1)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/control_flow_ops.py", line 3556, in while_loop
return_same_structure)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/control_flow_ops.py", line 3087, in BuildLoop
pred, body, original_loop_vars, loop_vars, shape_invariants)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/control_flow_ops.py", line 3022, in _BuildLoop
body_result = body(*packed_vars_for_body)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/tpu/python/tpu/tpu_estimator.py", line 2934, in computation
with ops.control_dependencies(op_fn()):
File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/tpu/python/tpu/tpu_estimator.py", line 859, in enqueue_ops_fn
features, labels = inputs.features_and_labels()  # Calls get_next()
File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/tpu/python/tpu/tpu_estimator.py", line 3127, in features_and_labels
return _Inputs._parse_inputs(self._iterator.get_next())
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/data/ops/iterator_ops.py", line 414, in get_next
output_shapes=self._structure._flat_shapes, name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_dataset_ops.py", line 1685, in iterator_get_next
output_shapes=output_shapes, name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/op_def_library.py", line 788, in _apply_op_helper
op_def=op_def)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/util/deprecation.py", line 507, in new_func
return func(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 3300, in create_op
op_def=op_def)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 1801, in init
self._traceback = tf_stack.extract_stack()
OutOfRangeError (see above for traceback): End of sequence
[[node input_pipeline_task0/while/IteratorGetNext (defined at /usr/local/lib/python2.7/dist-packages/tensorflow_estimator/python/estimator/estimator.py:1112) ]]
'
Does this mean that I need to apply for more computation resources?

As the example script scripts/tpu_squad_large.sh shows:
# Local path for model config & sentence-piece model
  --model_config_path=${INIT_CKPT_DIR}/xlnet_config.json \
  --spiece_model_file=${INIT_CKPT_DIR}/spiece.model \
# Google storage path for `init_checkpoint`, processed data dir `output_dir` and `model_dir`
  --output_dir=${GS_PROC_DATA_DIR} \
  --init_checkpoint=${GS_INIT_CKPT_DIR}/xlnet_model.ckpt \
  --model_dir=${GS_MODEL_DIR} \
# Local path for raw input data
  --train_file=${SQUAD_DIR}/train-v2.0.json \
  --predict_file=${SQUAD_DIR}/dev-v2.0.json \

Thanks for your help. There are still some problems. If it still not work, I will start another issue.


Add partial syntax, source maps, removed Keyword from AST and other CLI fixes

Removed Keyword from AST

Added a map store to parsing state which can store positions for keywords

This is used in the LSP which gives documentation about language features (what does a keyword do)
Uses binary search to find keywords
Only under an option

Updated synthesis for changes in structure

Fixes to context state across REPL entries
Simplified the generator macro interpolation mode

Added partial syntax
Added the ability for type annotations and expression to be missing in the source. This allows the following to be valid AST (under a parse option)
const x = ;
const y =
const z = 2

Which should allow type checking with invalid source which is vital to the LSP
Source map bindings
This adds source map generation using the positions in the output and source

While possible a while ago. It needed this fix https://github.com/kaleidawave/source-map/pull/1

Added printing arguments across new lines for function calling

WIP other structures could benefit from this. Implementation feels like it has a bit of overhead. Indent could be better handled

Still to do

[x] experiment more with cursors (now markers and partial syntax)
[x] Finish the change in the generator macro
[x] add source map bindings in
[x] (maybe) add prettier printing for function calls etc?
[ ] try crush some fuzzing issues

Hey @jasikpark you know about fuzzing! Looking at a recent naive run it is showing a mismatch
thread '<unnamed>' panicked at fuzz_targets/module_roundtrip_naive.rs:24:9:
input: `2
.A`
output1: `2.A;`

I was a little confused at first but I think input: ... is printing the input data. Is it possible to print output1 there instead? Thx in advance 🙏

Really want to get ✅ on one of the fuzzing tests. While most of the time the errors are extreme edge cases, it would still be nice. Unfortunately they don't build on windows so having to do this trial and error remotely.
There also seems to be a regression in parsing performance introduced in this PR :(.

Merging, will open an issue for the fuzzing tests


Test direnv, and bash strict mode

Conveniently, direnv exec ./examples/simple true already fails, because the lockfile points to an older devenv that doesn't have #338. So I was able to build a failing test first, then fix it.
Though, whether my workflow concoction works, we'll just have to see. 🤷♂

I'm not sure I can fix the failure, because the example lockfile references the github repo.

@stephank which repo is the failure coming from?

I'm testing direnv with examples/simple, but the direnv.lock points to github.com/cachix/devenv, so I can't apply the Linux fixes in this PR, because main won't have them
I guess I need to do those fixes in a separate PR, land them, then rebase this one if I want to fix it. But, I don't really have a Linux machine handy to test, so was relying on CI of this PR to fix issues.

Let's merge and see if it passes

I think we still need to do one last update of the direnv.lock in that example for it to pick up e1a8b96badd53b7a0c9a99257fc4eafcc787a39d, so I expect it to fail.

It just dawned on me that this means we won't actually be testing (changes to) main, we'll only ever be testing whatever is pinned in that devenv.lock.  At the same time, isn't that a problem for all the examples we're testing?


Basic support for error's email sending

i make second error handler, which send mail with error on laravel production mode. To send the mail, it was necessary to enable tracy\logger writes logs.

it needs some modification. Now laravel send too much email - any validation data fail, etc...


feat: add react-flow component

This PR adds a react-flow component.
Keeping it as a draft as I've just used their example code as a component for now. It seems to work nicely, but worth reviewing.
One thing I haven't thought about is how to include dependencies such as Marker type enums - these could be redefined in the users mdx.
I also wonder whether they have a dark mode?

potentially, or we would have to include them when bundling, i think.

Can we get a deployment preview CI action going or something, just deploying docs.page to firebase hosting preview channels or something - so we can preview changes like this and try them out

Seems to be broken in prod. Unsure why right now.

Can you also link to a docs page that has the component added in the PR so when preview is working we know where to go to preview it


Problem when go live

There is no "mode" key in config\paypal_payment.php , manually add 'mode' => 'LIVE' solve the issue.

@s201236215H can you open a PR for that ?

@s201236215H that option is added now


error loading plan

@calebissharp

@micheal-w-wells Any more context here? Do you always get this error? Or does it only happen after doing a certain action?

haven't had it in a couple days @calebissharp

@ZoeSimon test # 2

/remind me to close next week if this doesn't happen again


Why does System::GetDirectory return string pointer instead of string?

Why should this be pointer? Do you think that it's faster?
It's not going to be faster because it's generally faster to allocate objects on stack, and compiler can optimize away unnecessary copies in this case. On C++11 move may also be used to avoid copies.
https://en.wikipedia.org/wiki/Return_value_optimization
http://stackoverflow.com/questions/17473753/c11-return-value-optimization-or-move
https://github.com/openfl/lime/blob/c046d3d39d7d9a275cb14c496f7fb6bf094bd674/project/src/backend/sdl/SDLSystem.cpp#L91
To me it looks like a premature optimization that just makes code unnecessary complex.
You could even return CFFI string allocated with alloc_string() directly, if performance is really concern.

Are you saying to return std::wstring instead of std::wstring*?
I'd be happy to talk more, but I don't want to do it here like its a bug :smile:


⚠ Bofrost.lu has degraded performance

In 4fdbcf2, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1283 ms

Resolved: Bofrost.lu performance has improved in 1bdc408 after 46 minutes.


Function names shouldn't expose implementation details

I am looking into improving the routines used by OpenLayers3 for
measuring distances and areas by using the JavaScript port of GeographicLib.
But I'm running into a problem of badly named routines.
Sphere.geodesicArea doesn't measure the area of a polygon whose edges
are geodesics but one whose edges are straight lines on a cylindrical
equal area projection.  Perhaps the name should be changed to
Sphere.projectedArea?
Sphere.haversineDistance returns the great-circle distance.  However,
why expose the implementation as part of the function name?  It turns
out the the haversine formula is inaccurate for nearly antipodal points
and there's a much better formula
that works everywhere.  I recommend deprecating the name,
haversineDistance, and using greatCircleDistance instead.
Ellipsoid.vincenty{Distance,{Initial,Final}Bearing} similarly exposes
implementation details.  The use of Vincenty's name is, in any case,
inappropriate since the basic algorithm Vincenty coded up in his 1975
paper goes back at least to Helmert, 1880.
I recommend deprecating these names and substituting "geodesic" for
"vincenty".

Another option would be to remove these ol.Sphere methods entirely.
We only use sphere.haversineDistance() in projection.getPointResolution_() - and this could be implemented in a simpler way.  The logic in sphere.offset() could be moved to ol.geom.Polygon.circular(), which is the only place where it is used.

Ah, I see you've purged ellipsoid.js.
If openlayers does need the capability to compute geodesics paths and
areas accurately and quickly, then I believe that using the JavaScript
port of GeographicLib will be your best bet:

Unlike Vincenty's method (which fails for nearly antipodal points), it
converges everywhere.

It's accurate to round-off (for |f| < 1/50)

Path calculations (several points on the same geodesic) are probably
about 2-3 times faster than a blind application of direct method.

The area calculations compute the true ellipsoidal area of geodesic
polygons.  Polygons are allowed to encircle a pole (so you can
calculate the area of Antarctica).

For a preview of this package see

http://geographiclib.sourceforge.net/scripts/geod-calc.html
http://geographiclib.sourceforge.net/scripts/geod-google.html

I really think that ol3 itself should have a function to return the geodesic length of linestrings in metres for linestrings with coordinates in a specified projection. This is needed for things like the length of a GPX hike/bike route. Accurate area measurements are perhaps a bit more suited to an external to ol3 library. As straight lines on Web Mercator maps are Rhumb Lines (of constant bearing) then perhaps a method for returning Rhumb length should be considered to.
I would still like to see a bit more detail in the docs for the geometry getArea, getLength and setRadius methods etc so that non GIS expert users don't assume that distances and areas are in metres or metres*metres even if the units of the projection are metres (which they questionably are for EPSG:3857)
IMHO the measure example here http://openlayers.org/en/v3.8.2/examples/measure.html?q=measure is a bit misleading. If you measure the width of a big square field with and without the geodesic option checked you get labels of 1.6 km and 2.0 km. The difference is down to the latitude of the EPSG:3857 coordinates not earth curvature. I think the use of getLength and getArea by the example should be dropped.
There is a good starting point for the plotting of geodesics in ol3 in geodesicflatgeom.js. This is used by the graticule code to draw meridians e.g. on the Sphere Mollweide example.
I did a PR for a getLength returning metres some months ago which is now out of date. It would perhaps be good to get a consensus on a way forward in this area (pun).


Finalize paging names

Originally in GAX, but tracked here as a GA blocker.
https://github.com/googleapis/gax-dotnet/issues/109

Code is now committed in GAX, but there's still work to do in this repo:

Update code to use new GAX build (when we're ready for it)
Update docs


pin click at version 8.0.4 until newest black is released

Pull Request Checklist:

[ ] This PR addresses an already opened issue (for bug fixes / features)

This PR fixes #xyz

[ ] Tests for the changes have been added (for bug fixes / features)

[ ] (If applicable) Documentation has been added / updated (for bug fixes / features)

[ ] HISTORY.rst has been updated (with summary of main changes)

[ ] Link to issue (:issue:number) and pull request (:pull:number) has been added

[ ] bumpversion patch has been called on this branch
[ ] The relevant author information has been added to .zenodo.json

What kind of change does this PR introduce?

pins Click at version 8.0.4 temporarily

Does this PR introduce a breaking change?
No.
Other information:
https://github.com/psf/black/issues/2964

Coverage remained the same at 91.584% when pulling 1b0c905a11a0b276d37dabeb183e016f315f2a78 on hotfix_click into 5803bf2fb07ba942dede7c1d99abfaaa4b346acb on master.


NOISSUE - Update docs

What does this do?
This pull request updates Mainflux docs. It adds a separate Authentication section and updates Bootstrap service docs.
Which issue(s) does this PR fix/relate to?
None.
List any changes that modify/break current functionality
There are no such changes.
Have you included tests for your changes?
No, this is only docs update.
Did you document any new/modified functionality?
No, I've just reorganized and improved existing docs.

Codecov Report

Merging #683 into master will decrease coverage by 0.05%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #683      +/-   ##
==========================================
- Coverage   86.29%   86.24%   -0.06%
==========================================
  Files          62       62
  Lines        3722     3722
==========================================
- Hits         3212     3210       -2
- Misses        353      355       +2
  Partials      157      157

Impacted Files
Coverage Δ

things/service.go
92.85% <0%> (-1.3%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 56a5096...5c97fdc. Read the comment docs.


Reference to Deleted Jobs

Environment

Nautobot version (Docker tag too if applicable): 1.3.10
Python version: 3.7
Database platform, version: postgres
Middleware(s):

Steps to Reproduce

Run a job
Delete the job (not the job run instance, but actual job)
Go to front page
Click on job run instance, and observe a 404

Expected Behavior
A 2XX page instead of a 4/5XX page

Observed Behavior

Appears to be a cacheops issue. The JobResult.job_model is automatically set to None after deleting the Job, but cacheops is making Django think that it is still set. Running cacheops.invalidate_all() makes the error go away.


New version Tracking: 0.9.3

Registering: Tracking
Repository: https://github.com/JuliaGNSS/Tracking.jl
Version: v0.9.3
Commit: 5e4df0232f30407b7900d6a27cc3670ec61bf1a0
Proposed by: @zsoerenm
Reviewed by: @zsoerenm
Reference: https://github.com/JuliaGNSS/Tracking.jl/commit/5e4df0232f30407b7900d6a27cc3670ec61bf1a0#commitcomment-33386691

Can you add some compatibility constraints? At least on julia.

Thank you for that hint!


find_admins finds false admins

When looking for admins, if the script finds an attached / inline policy which has a statement with the action * - it marks the user/role as an admin, even if the resources field of the statement isn't * - for exmple a list of s3 buckets.
I think this is a miscunfiguration, but if it is limited to specific resources - it isn't an actual admin.

The find_admins command is prone to false positives and false negatives (ie. it will identify some principals as admins that are not, and will miss some that are).  It's a hard problem that it makes a best effort on via some simple heuristics.  In your case, you should have received audit findings for a statement like that.  I don't have a good solution to this, other than maybe including a warning somewhere, as solving it to provide correct results all the time would be a much larger undertaking.

After a quick discussion via DMs elsewhere, I'm closing this as "wont fix" to avoid complicating the code further with exceptions until a better strategy is figured out for more accurately identifying admins.


Search engine selection needed for Chrome version 127

Chrome requires search engine selection, which halts the normal execution of Testar.
Possible solution offered here

Fixed in #400.


Protractor: chrome not load data from server

Hi, I have a problem when using protractor to test with chrome.
My chrome can work properly when I work at my university.
But perhaps at my house, chrome doesn't wait to load data. Sometimes it works when reload page.
The server is on Digitalocean.
I've tried to update webdriver and Protractor already but still useless.
Please, give me some suggestion or any advice.
Thank you.

Hi there!
Your question is better suited for StackOverflow or Gitter. Please ask a question there with the 'protractor' tag or post in the Gitter Channel to get help.
From the the getting help section of the README:

Please ask usage and debugging questions on StackOverflow (use the "protractor" tag) or in the Angular discussion group. (Please do not ask support questions here on Github.)

Thank you, Nick
I'll post in the Gitter now.
Sorry for my mistake, I'm just beginner for posting support.

@runyasak Not a problem! Thanks :)


Add Summary generates additional garbage code

this is original code:
public class ByTransactionState : Specification<TransactionPosition>
            {
                private int stateId;

                public ByTransactionState(int stateId)
                {
                    this.stateId = stateId;
                }

after selecting first line and generating Summary (Alt+F7), it produced a Summary, but with additional lines:
            /// <summary>
            /// Specification for filtering TransactionPositions by their TransactionState.
            /// </summary>
            /// <param name="state">The TransactionState to filter by.</param>
            public ByTransactionState(TransactionState state)

        // ...

            // ...

public class ByTransactionState : Specification<TransactionPosition>
            {
                private int stateId;

                public ByTransactionState(int stateId)
                {
                    this.stateId = stateId;
                }

Seems like it starts adding some garbage after several Summary generations on classes.
Works well on class Properties, Constructors.

This is because the OpenAI API itself that is responding in this way.
But I'll see if I can somehow stop this.

I'm not quite sure how this should work.
I tried different ways to call Alt+7 (Generate Summary), but only selecting class definition line seems to work. Selecting whole class throwing an error about not able to proceed multiple objects (something like that).
It tries to proceed whole class which must be correct way. It would be awesome if it wouldn't require to select the line with the class definition, but just using class as a current cursor selection (same as R# or VS itself doing for example).
I spotted that at some point garbage response additional to Summary block contains just a part of internal class code but partially broken. Is that what chatGPT responded? With what request?
Is it possible to see what you are sending actually to chatGPT and what is the real response like the logs?
It would be very helpful to see what's going on and may be rewrite it different way

Don't worry, I already have the fix 😉
Basically the command sent to the API is as follows:
The request defined in the options (by default it is "Only write a comment as C# summary format like"), plus a Summary example to make it clear to the API what I expect as a response, plus all the code that the user has selected for the API have a context to comment on.
In the end with your example the command would be this:
Only write a comment as C# summary format like

/// <summary>
///
/// </summary>

public class ByTransactionState : Specification<TransactionPosition>

However, with this command, the API sometimes believes that it needs to include the selected command in the response. That's why in my fix I added the word "for" to make it clear that I only want the Summary. So now the command looks like this:
Only write a comment as C# summary format like

/// <summary>
///
/// </summary>

for

public class ByTransactionState : Specification<TransactionPosition>

With this approach alone, the response has already improved by about 90%. However, from time to time I still received more than what was due as a response, and to definitively solve it now I am sending stop sequences (https://platform.openai.com/docs/api-reference/completions/create#completions/create-stop).
And as stop sequences I'm using "public, private and internal". So if API starts to rewrite the method for example, it stops responding.
About your other concerns. It is necessary to select the code to execute the commands because this is how I can capture the code that the user wants something to be done with it.
As for the selection limit, it is for some reasons, such as avoiding consuming too many tokens, avoiding exceeding the limit of tokens per request, knowing exactly where the API response should be written, etc.
Finally, I will publish the fix on next release.

@jeffdapaz it would be just helpful it would work on class/property or other item as selection would selecting a full line.


Can you help with rustfmt?

Such a great addon, saw it mentioned on Reddit and just set it up with Prettier. Super fast.
I am trying to get it to work with rustfmt and running into some problems. Might very well be me doing something wrong.
So the way I can format a file in terminal is rustfmt ./crates/foo/bar.rs --edition 2018
I have the following setup:
  rust = {
    rustfmt = function()
      return {
        exe = "rustfmt",
        args = {vim.api.nvim_buf_get_name(0), "--edition 2018"},
        stdin = true
      }
    end
  }

When running it I get the error: E5677: Error writing input to shell-command: EPIPE.
UPDATE: So apparently this works however I guess I run it on all files now.
  rust = {
    rustfmt = function()
      return {
        exe = "rustfmt",
        args = {"--edition 2018"},
        stdin = true
      }
    end
  }

The config should be something like
  rust = {
     rustfmt = function()
      return {
        exe = "rustfmt",
        args = {"--emit=stdout"},
        stdin = true
      }
    end
  }

Plus what ever edition you want to use. The key is to make sure to set --emit to stdout.


Test OSSF bumps

Checklist

[ ] Update changelog in CHANGELOG.md.
[ ] Make sure values.yaml and values.schema.json are valid.
[ ] (Giant Swarm) If creating a release, bump the version and appVersion in Chart.yaml.

Kind of clunky to have to merge this to run the action


[BUG] TypeError: 'NoneType' object is not subscriptable

When we training models with command line, we will get this traceback.
Traceback (most recent call last):
  File "/home/gay17/anaconda3/envs/cellpose/bin/cellpose", line 8, in <module>
    sys.exit(main())
  File "/home/gay17/anaconda3/envs/cellpose/lib/python3.8/site-packages/cellpose/__main__.py", line 252, in main
    output = io.load_train_test_data(args.dir, test_dir, imf, args.mask_filter,
  File "/home/gay17/anaconda3/envs/cellpose/lib/python3.8/site-packages/cellpose/io.py", line 461, in load_train_test_data
    images, labels, image_names = load_images_labels(train_dir, mask_filter,
  File "/home/gay17/anaconda3/envs/cellpose/lib/python3.8/site-packages/cellpose/io.py", line 425, in load_images_labels
    if os.path.isfile(label_names[n]) or os.path.isfile(flow_names[0]):
TypeError: 'NoneType' object is not subscriptable

We need to go to "/home/gay17/anaconda3/envs/cellpose/lib/python3.8/site-packages/cellpose/io.py", line 425,
replace
if os.path.isfile(label_names[n]) or os.path.isfile(flow_names[0]):
with
if os.path.isfile(label_names[n]) or (flow_names is not None and os.path.isfile(flow_names[0])):
Then the commond line works well.

thanks this is fixed now


feat: copy everything in release instead of packages/*

- What I did
- How I did it
- How to verify it
- Description for the changelog
feat: copy everything in release instead of packages/*

@JeremyTubongbanua there are some expectations around source tarballs (for things like OpenWRT makefiles) that drove things towards using the contents of packages.
Also by default any release on GitHub will have a snapshot of the repo source at that point in time.


Data race in BackgroundObserver

FYI, I just came across a data race on BackgroundObserver for private var identifier: UIBackgroundTaskIdentifier?
Don't know which kind of locks you guys use. I've been using pthread_mutex_t. Let me know and I can help with some of these race conditions.

@leotumwattana well, @swiftlyfalling has been fixing them all with regular NSLock or NSRecursiveLock - I'll let him take point on this one.

@danthorpe sure thing. @swiftlyfalling, let me know if I can help in any way. Cheers!

@leotumwattana: Just keep reporting any issues that Thread Sanitizer finds! 😁

@leotumwattana: This should be fixed by #614, which has now been merged into development.

Great and thanks @swiftlyfalling.


Nomination pools/tx history

#85ztp5w93
#85ztp5w95

Task linked: CU-85ztp5w95 Android. Nomination Pools. Reward details screen for Tx history

Task linked: CU-85ztp5w93 Android. Nomination Pools. Add pool reward operation to Transaction history


Remove "unstable" from ignore_localhost

Missing change log
Are there no rust docs where we mentioned that’s it’s unstable?

None that i've seen


chubaofs dependent golang,clone codes to GOPATH/src/github.com/chubaofs/chubaofs

in this path to build and make

#172 will fixed


update to v 0.324.0

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


chore: revert "test: ignore tests temporally"

I hereby agree to the terms of the GreptimeDB CLA
What's changed and what's your intention?
This reverts commit a5555241c60b6156d78fa936e6a989d91953fb03.
revert "test: ignore tests temporally"
Checklist

[ ]  I have written the necessary rustdoc comments.
[ ]  I have added the necessary unit tests and integration tests.
[x]  This PR does not require documentation updates.

Refer to a related PR or issue link (optional)
#3049

Closed since this PR is attached in #3092


feat: added initial CDC implementation with stream API

Codecov Report

Merging #220 (7f3121b) into main (a30fea5) will increase coverage by 0.19%.
The diff coverage is 59.64%.

@@            Coverage Diff             @@
##             main     #220      +/-   ##
==========================================
+ Coverage   40.26%   40.45%   +0.19%
==========================================
  Files          36       37       +1
  Lines        3363     3411      +48
==========================================
+ Hits         1354     1380      +26
- Misses       1832     1851      +19
- Partials      177      180       +3

Impacted Files
Coverage Δ

api/server/v1/validator.go
0.00% <0.00%> (ø)

internal/data.go
49.12% <0.00%> (-5.78%)
:arrow_down:

store/kv/kv.go
26.11% <0.00%> (-0.34%)
:arrow_down:

store/kv/listener.go
75.00% <75.00%> (ø)

store/kv/fdb.go
59.10% <78.12%> (+0.90%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a30fea5...7f3121b. Read the comment docs.


Update dynamoDB createTable function to also setup the table + index with autoscaling enabled

Currently, the createTable function creates a DynamoDB table + index as required, but doesn't set up autoscaling for either of them. This is essential to have since we create the table with the read & write capacity units set to 1 so there's a good chance we will hit the threshold for complicated/new queries we might add to the table.

Hey @ghostwriternr
After having a look at AWS docs I decided this functionality should live in a separate place since it uses application autoscaling API's and not DynamoDB apis.
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.CLI.html


A few tweaks: enable setting the host to bind to, and reduced access for some attributes

Mainly because I am running gemstash in a host on with a public IP, I don't want it to be a public mirror.

BTW cc @smellsblue

:+1: though how about the bind have the tcp:// and port baked into the option rather than the host and port separate used to put it in?
That way, if someone wants to bind it on a unix socket and wrap it in an nginx/apache server or something, it would be pretty easy.

Yip, will do it

Awesome! Looks good to me! Once you merge this in, I'll update documentation branch with the changes.

Ah, cool, I'll just do it.

Awesome. We can probably just pass through -h/--host, -p/--port and -b/--bind directly to Puma? I know it supports all of those things. And I'm :+1: on supporting binding to unix sockets.

I don't think that would be a problem, this was just attacking the configuration system.
I'll give it a spin later.

I've been thinking about command line config for a while... I put my thoughts into #30. Also, the new bind option already is a pass through to Puma, should we also support host and port though? I ask because from the Puma project, it looks like the bind option is preferred over host and port.
Digging into the code a bit, the command line options for Puma doesn't actually have a host option, and the port option acts effectively like the bind option behind the scenes. While there is no --host option, I think the config DSL supports it.
Thoughts @indirect, @pcarranza?

I must have been thinking of the config DSL. It's fine with me to only support bind and port on the command line.


ci: pre-commit

I would prefer to have https://pre-commit.com to be integrated into the project. There is a flake integration for it in here: https://flake.parts/options/pre-commit-hooks-nix.html
The reason for this is that I would want a workflow in which git commit would automatically trigger Nix flake fmt, and then flake check on git pre-commits.
This could later be extended to selectively provide CI infrastructure as well.

Closed by #41.


Diagram Product Name Incorrect

Diagram refers to On Premises Microsoft Entra. Suspect this should say Active Directory On Premises, which could cause confusion?
[Enter feedback here]

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 86ed5438-9076-fa6f-d42a-e9bef29beb6e
Version Independent ID: f6490079-8f4a-f621-623b-d500b52abef8
Content: What is Microsoft Entra Connect and Connect Health. - Microsoft Entra ID
Content Source: docs/identity/hybrid/connect/whatis-azure-ad-connect.md
Service: entra-id
Sub-service: hybrid-connect
GitHub Login: @billmath
Microsoft Alias: billmath

@dingovvarrior
Thanks for your feedback! We will investigate and update as appropriate.

@dingovvarrior
Thank you for bringing this to our attention.
I've delegated this to content author, who will review it and offer their insightful opinions.

@dingovvarrior thanks for catching this.  This has been fixed.  If you see any additional ones, let us know.  Thanks!
#please-close


feature add ip function ipv4numtostring (alias inet_ntoa)

Proposed changes
Issue Number: #20584

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run beut

run buildall

run p0

run buildall

run buildall

run buildall

run p0

run buildall

run buildall

run clickbench

run beut

run buildall

LGTM

Thanks very much for your help.There are some IPV4/IPv6 functions(not only translation between digital and string). Is there plan to implement them?


raftstore: ignore error when sending messages

What have you changed? (mandatory)
Fix #4717, I'm still trying to write a test case to reproduce it reliably.
What are the type of the changes? (mandatory)

Bug fix (change which fixes an issue)

How has this PR been tested? (mandatory)
manual tests
Does this PR affect documentation (docs) or release note? (mandatory)
No.
Does this PR affect tidb-ansible update? (mandatory)
No.
Refer to a related PR or issue link (optional)
#4717

/release

@zhangjinpeng1987
have you ensured using this can avoid 1s latency jitter now?

/release

/release

/release

PTAL

LGTM.

/run-integration-tests


make TransformerLayer accept a bshd or sbhd tensor format

Changes:

DotProductAttention can interpret the input tensor in sbhd or bshd format but MultiHeadAttention and TransformerLayer aren't aware of this. This PR plumbs this information through TransformerLayer -> MultiHeadAttention -> DotProductAttention.
RotaryPositionEmbedding also needs to be aware of this format to correctly apply the rope cache to the q and k inputs.

Uses:

When replacing layers in HF models like LlamaDecoderLayer with TransformerLayer, it helps to have this control since HF is bshd by default and TE is sbhd.

@sudhakarsingh27 Please resolve the merge conflicts
@cyanguwa Could you rereview?

/te-ci/pytorch

/te-ci pytorch

/te-ci pytorch

@sudhakarsingh27 Please fix CI before merging -- looks like there's a few failed jobs.


Convert src/core/chunked_stream.js to ES6 syntax

While we're here, remove the unused url argument for the ChunkedStreamManager class that I found during the refactoring.
@Snuffleupagus Would you be willing to review this? I found that GitHub can't apply the ?w=1 flag for the first commit for some reason, so here is the output of git show -w HEAD~1: https://dpaste.de/vUQU

/botio-linux preview

/botio-linux preview

/botio test


Webpack throws: Uncaught ReferenceError: require is not defined on secp256k1-native dependency

This is about to be merged into monorepo and since I can't file issues on the archive repo I'll file it here:
https://github.com/dashevo/js-dash-sdk/blob/feat/dip15/src/SDK/Client/plugins/DashPay/methods/encryptSharedKey.ts
The secp256k1-native dependency is bindings to a native secp256k1 implementation and doesn't run in the browser. The tests in node run fine but webpack won't be able to bundle it. It's important to run all tests via karma in the browser as well.

Thanks for the request. It has been moved to the backlog. BTW we will have better QA towards in-browser execution (with the usage of webpack) really soon.

as discussed in the triage today, closing this with fix provdided


Show local notification

Hi, I'm struggling to implement Firebase cloud messaging. I send the notifications from PHP script or firebase console.
When app is in the foreground and I send the notification, I'm only getting 'OnMessageReceived' called, but no notification is displayed. As I found out, I have to show it myself. So, I've written simple plugin to show it (as a local notification). It works for Android, but on iOS FCM seems to "consume" the notification, when I trigger it.
UNMutableNotificationContent* content = [[UNMutableNotificationContent alloc] init];
    content.title = nstitle;
    content.body = nsbody;
    content.subtitle = nssubtitle;
    content.sound = [UNNotificationSound defaultSound];

    // Deliver the notification in five seconds.
    UNTimeIntervalNotificationTrigger* trigger = [UNTimeIntervalNotificationTrigger
                triggerWithTimeInterval:1 repeats:NO];
    UNNotificationRequest* request = [UNNotificationRequest requestWithIdentifier:@"Not"
                content:content trigger:trigger];

    // Schedule the notification.
    UNUserNotificationCenter* center = [UNUserNotificationCenter currentNotificationCenter];
    [center addNotificationRequest:request withCompletionHandler:nil];

FCM: Received notification from notification center

So, I can't display it anyway. What's the workaround for this behaviour?

Thank you for the information.
Seems to similar to #631
We'll get back to you once we understand the nature of this issue.

Duplicate of #631


Sample from learned variables directly

Hi,
Thanks for making this library for integration. I'm wondering if it's possible to sample from the learned variables (in the Configuration) directly? This would be helpful to evaluate other quantities that depend on the variable distribution after the integration and optimization is done. It would also be helpful to output the pdf of the optimized variables.
Best,
Charles

Hi Charles,
Thank you for asking! I hope our package is helpful to you.
You can sample from the learned variables. To do this, in the second run of MCIntegration.integrate, you need to set the argument var = result.config.var, where result is the return value of the previous integrate call. I demonstrate the idea in the following figure. You can see the second run starts with much less noise.

If there are multiple types of variables and you only need one of them, you can pick that one from result.config.var, then use it to build a new set of variables for your new integral.
You can also access the learned distribution of the i-th variable using result.config.var[i].histogram. We don't have a built-in function to output it yet.
It is definitely a good idea to give an example in the tutorial on how to reuse the learned variables.
Best,
Kun

Hi Kun,
Thank you for the prompt answer!
Is the following output reasonable for the demo problem? I am plotting the learned histogram but it seems to be uniform.
using MCIntegration

res = integrate((x, c) -> log(x[1]) / sqrt(x[1]))
plot(res.config.var[1].histogram)

Hi Charles,
 My bad. The variable ``Continuous``, finds the optimal grid to make the measured histogram as flat as possible. So you can plot ``result.config.var[1].grid`` instead. In the following figure, the x-axis is the index of the optimized grid, the y-axis is the actual grid point.

BTW: Right now, the result.config.var[1].histogram is set to ~0 after the integration. That's why you find it is all 10^-10. We probably should keep the histogram information in the next release.
best,
Kun

Hi Kun,
Perfect! Thanks a lot. With the grid information I should be able to convert it to a sampler with interpolation.
Best,
Charles


Build failure: gomplate

Gomplate build currently fails (version 3.11.5).
The devs say to upgrade to v4, which seems not to have been released yet.
(see https://github.com/hairyhenderson/gomplate/issues/1872)
Notify maintainers
I'm the package maintainer. I'm creating this to keep track of the issue.

Less than ideal workaround: (gomplate.override { buildGoModule = buildGo120Module; })

Good point, thanks: I guess that's the best we can do (short of patching the sources).
I'm fixing it now.


Uncaught ReferenceError: extend is not defined

I get this error when I try this example:
var Student = Class(Person, {
constructor: function(id, name, age) {
});
extend(Student, [ Options, Events ]);
I've tried both referencing jsface and include it in the script

extend is not exposed to global scope like Class. Could you try?
var extend = jsface.extend;

var Student = Class(Person, {
constructor: function(id, name, age) {
});

extend(Student, [ Options, Events ]);

Yes, sorry I've been sloppy not to see it on my own. I've noticed that after I've posted this issue. On the other hand, why not to expose extend by default, especially if it is mentioned in tutorials?
But thanks for respond.

Hi PompolutZ, JSFace introduces two namespaces jsface and Class to global context to minimize global namespace pollution. The other reason is to eliminate conflict with other libraries or frameworks (think if you have two libs in which both introduce extend to global context).


[UI] Error displaying the item "ЗАЯВИ" in the "КАБІНЕТ НАДАВАЧА" in Safari browser.

Environment: MacOS Monterey 12.1, Safari v. 15.2 (176<IP_ADDRESS>.6).
Reproducible: always.
Preconditions

Open link https://oos.dmytrominochkin.cloud/#
Log in as "Надавач"

Steps to reproduce

Click on item "ЗАЯВИ"

Actual result

Expected result
Points are displayed evenly, do not run into each other.
Labels to be added
"Bug", Priority ("pri: hi"), Severity ("severity:low"), Type ("UI").

@LeraKornienko I've already fixed it few days ago, do you still see this bug using our repo? maybe those changes haven't been deployed yet

no, problem was fixed

Done


Failable initializer crashes for realm objects

I am using realm 0.98.1,  have following failable initializer
   convenience init?(message: [String: AnyObject]) {
      guard let x = message["x"] as? Double else {
            return nil
      }

When init returns nil this code crashes (EXC_BAD_ACCESS) with stack:
#0	0x0000000180b0953c in pthread_mutex_lock ()
#1	0x000000010188489c in realm::Table::unregister_row_accessor(realm::RowBase*) const ()
#2	0x000000010187d908 in realm::RowBase::impl_detach() ()
#3	0x00000001016ff3c8 in realm::BasicRow<realm::Table>::~BasicRow() at /Users/realm/workspace/create_github_release_cocoa/realm-cocoa-master/core/include/realm/row.hpp:761
#4	0x000000018050eb54 in object_cxxDestructFromClass(objc_object*, objc_class*) ()
#5	0x000000018051a080 in objc_destructInstance ()
#6	0x00000001028215b4 in swift_deallocUninitializedClassInstance ()

This looks like a Swift bug to me. The base class's destructor is run even if you return before calling the designated initializer, which will then generally crash because it's operating on uninitialized garbage data. As a workaround you'll need to call self.init() before returning.

Filed a swift bug: https://bugs.swift.org/browse/SR-745

Closing as I believe the Swift bug is now fixed.


can't get it to work

So I'm storing a whole bunch of possibly big complex Item objects, and I've got a system for storing them in place, however I need an index of all the Items that are in the system.  So I've got a simple ItemEntry class with a few properties, simplified (minus the getters, setters, and constructors) is:
class ItemEntry {
    String address;
    String clazz;
    String path;
    long offset;
    Item item = null;
}

The idea being that for all the ItemEntrys that are cached in memory, there is an instantiated copy of the Item, but most importantly, when that's written to disk, the system knows where to find that Item (path, offset).  I'm not sure if that memory plan is viable with mapDB, otherwise I'll have to maintain a separate in-memory array of Items with some kind of priority system for most recently used.
Either way, complex Object that shouldn't be saved to disk aside, I can't get this disk-based mapDB thing to work, it keeps giving me a serialization error, I think I don't have the Serializer properly attached to the map.  :/
public class ItemIndex {

	DB db;
	BTreeMap<String, ItemEntry> map;

	public ItemIndex() {

		// initialize a MapDB database
		db = DBMaker.fileDB("items.db")
		.closeOnJvmShutdown()
		.make();

		// create or load the Map
		map = db.<String, EntrySerializer>treeMap("items")
		        .keySerializer(Serializer.STRING)
		        .valueSerializer(Serializer.JAVA)
		        .counterEnable()
		        .createOrOpen();
	}

	public ItemEntry put(Item item) throws InvalidFileException, MissingItemException, InvalidAddressException {
		String addy = item.address().toString();
		ItemEntry entry = map.get(addy);

		//if there is no entry, we must be loading this Item for the first time
		if (entry == null) {
			entry = Library.instance().write(item);
		}

		map.put(addy, entry);		//todo: do I really have to put it again?
		db.commit();

		return entry;
	}

	public void put(ItemEntry entry) {
		map.put(entry.address(), entry);
		db.commit();
	}

	public ItemEntry get(String addy) throws InvalidAddressException {
		ItemEntry entry = map.get(addy);
		return entry;
	}

	public int size() {
		return map.size();
	}

	class EntrySerializer implements Serializer<ItemEntry>, Serializable{
        @Override
        public void serialize(DataOutput2 out, ItemEntry value) throws IOException {
        	out.writeUTF(value.address());
            out.writeUTF(value.clazz());
            out.writeUTF(value.path());
            out.writeLong(value.offset());
        }

        @Override
        public ItemEntry deserialize(DataInput2 in, int available) throws IOException {
        	return new ItemEntry(in.readUTF(), in.readUTF(), in.readUTF(), in.readLong());
        }
    }
}

Should I be running that whole big createOrOpen() thing every time I do a get or a put?  That seems wrong somehow, I need this (and a similar but simpler mapDB object in another class) to be constantly getting and putting throughout my application lifecycle.
Thanks!

This is the relevant parts of the
Exception in thread "JavaFX Application Thread" org.mapdb.DBException$SerializationError
	at org.mapdb.StoreDirectAbstract.serialize(StoreDirectAbstract.kt:246)
	at org.mapdb.StoreDirect.update(StoreDirect.kt:631)
	at org.mapdb.BTreeMap.put2(BTreeMap.kt:408)
	at org.mapdb.BTreeMap.put(BTreeMap.kt:292)

Additionally, I would really like to be able to get a list of all the ItemEntry objects that have a certain clazz value.  Am I asking too much of mapDB?

Use
 .valueSerializer(new EntrySerializer())
instead of
 .valueSerializer(Serializer.JAVA)

@andrm My compiler doesn't seem to like that.  It gives me this error:
The method valueSerializer(GroupSerializer<A>) in the type DB.TreeMapMaker<String,capture#2-of ?> is not applicable for the arguments (ItemIndex.EntrySerializer)

Make EntrySerializer static:
static class EntrySerializer implements Serializer<ItemEntry>, Serializable{
and try
map = db.<String, ItemEntry>treeMap("items")
		        .keySerializer(Serializer.STRING)
		        .valueSerializer(new EntrySerializer())
		        .counterEnable()
		        .createOrOpen();

MapDB has such a feature with expiry. Or use a Guava cache.
Please close this issue.


Comments mess with syntax highlighting on the next line in TypeScript

VSCode Version: 1.4.0
OS Version: win10
Language: TypeScript

Steps to Reproduce:
comments (//) seem to mess with syntax highlighting of the next line (see image)
Expected Behavior:
I expect 'dismiss' to be colored similarly to 'close'

@ryanechternacht thank you for opening this issue. We fixed over 200+ issues with grammar with this extension (in beta now, will be bundled with product in the future). Can you install the extension and see if it solves your issue?
If it doesn't solve your issue, please open an issue in this repo - https://github.com/Microsoft/TypeScript-TmLanguage/issues


Support DynamoDB TableV2 Construct

Feature scope
DynamoDB
Describe your suggested feature
Please add method .monitorDynamoTableV2() to support new Dynamo DB TableV2 construct. See here: https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_dynamodb-readme.html#point-in-time-recovery

Whoops, this is actually already supported. My bad!


Rework show user layout

This PR rearranges the user layout into panels, and puts the user's images in a carousel.

coverage: 94.416% (-0.002%) from 94.418%
when pulling 627a4e2b11881c2441b9e631c5dfbdc2ea109bc7 on nimmo-show-user
into ad40264059c209f4e81a754cf3abda510db20cca on main.

@JoeCohen - thanks, i was wondering how the current code would not stomp the user's favorites as it was. Committed those changes.
The photo carousel for user obs photos is the same size as in show observation... ??

Yes, the photo carousel size is the same.

On Fri, Mar 22, 2024 at 11:19 AM andrew nimmo @.***>
wrote:

@JoeCohen https://github.com/JoeCohen - thanks, i was wondering how the
current code would not stomp the user's favorites as it was. Committed
those changes.
The photo carousel for user obs photos is the same size as in show
observation... ??
—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/2055#issuecomment-2015665003,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAALDFFQSF5BCKNABF3TV2DYZRY2XAVCNFSM6AAAAABFC2QWX6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMJVGY3DKMBQGM
.
You are receiving this because you were mentioned.Message ID:
@.***>


Run XDP sample tests in the eBPF for Windows Repo

The XDP tests in the eBPF for Windows repo must now be run in the XDP CI.

We also need to move xdp_md_t struct definition to xdp repo when xdp_test program type is removed from ebpf-for-windows repo.


Devtools can't open on Electron

I have app in Electron, Vite and Vue3.
node: v20.11.1
npm: 10.2.4
MacOS: 14.4 (23E214)

This is my dependencies:
"dependencies": {
    "axios": "^1.6.7",
    "dayjs": "^1.11.10",
    "dotenv": "^16.4.5",
    "electron-log": "^5.1.1",
    "electron-updater": "^6.1.8",
    "jwt-decode": "^4.0.0",
    "node-machine-id": "^1.1.12",
    "pinia": "^2.1.7",
    "socket.io-client": "^4.7.4",
    "vue": "^3.4.21",
    "vue-router": "^4.3.0"
  },
  "devDependencies": {
    "@types/node": "^20.11.25",
    "@typescript-eslint/eslint-plugin": "^7.1.1",
    "@typescript-eslint/parser": "^7.1.1",
    "@vitejs/plugin-vue": "^5.0.4",
    "@vue/eslint-config-prettier": "^9.0.0",
    "@vue/eslint-config-typescript": "^12.0.0",
    "autoprefixer": "^10.4.18",
    "electron": "^29.1.0",
    "electron-builder": "^24.13.3",
    "eslint": "^8.57.0",
    "eslint-plugin-prettier": "^5.1.3",
    "eslint-plugin-vue": "^9.22.0",
    "husky": "^9.0.11",
    "lint-staged": "^15.2.2",
    "postcss": "^8.4.35",
    "prettier": "^3.2.5",
    "sass": "^1.71.1",
    "tailwindcss": "^3.4.1",
    "typescript": "^5.3.3",
    "vite": "^5.1.5",
    "vite-plugin-electron": "^0.28.2",
    "vite-plugin-electron-renderer": "^0.14.5",
    "vite-plugin-vue-devtools": "^7.0.16",
    "vue-tsc": "^2.0.5"
  },
  "overrides": {
    "vite-plugin-electron": {
      "electron": "$electron"
    }
  }

When I try open Devtools, I have an error in console:
EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'self' 'unsafe-inline'".
Inside index.html file I have:
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline';" />
Whe I change this to this:
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-eval';" />
The Electorn return error:
Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval'". Either the 'unsafe-inline' keyword, a hash ('sha256-oQFZCLbDrsnK+JwZN6u488PGfhj52jozs93UXp01Puo='), or a nonce ('nonce-...') is required to enable inline execution.
I back to 7.0.15, but still I have this same errors.

Can you provide a mini repo? thanks 🙏

Related  #265
#268 fixed this issue, you can try again after it is published.

Related #265
#268 fixed this issue, you can try again after it is published.

I also think this is the reason, so I think if we still have this issue in v7.0.15, we need a reproduction @major697 .

@major697 Hi, can you upgrade to the latest version and try again?

I have updated to the latest version. Works fine, thanks!


kde-apps: Migrate from binary-factory.kde.org

Since migration KDE applications CI from Binary Factory to KDE's GitLab the following broken manifests updated:

dolphin-nightly
filelight-nightly
kate-nightly
kdeconnect-nightly
kdenlive-nightly
labplot-nightly
neochat-nightly

TODO (windows builds are not available yet):

konversation
okular-nightly

Relates to ScoopInstaller/Extras#12897

[x] I have read the Contributing Guide.

/verify

Ready to go now?

/verify

Ready to go now?

Would be nice.
The rest of KDE apps (konversation, okular-nightly) could be updated with separate PR(s) as soon as builds will be available.


feat: add error codes to OxcDiagnostic

#4336
#4335
#4334  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @DonIsaac and the rest of your teammates on  Graphite


[RELEASE] 2023.9.1

Release Checklist
Release details
Scheduled release date - 2023/9/20
Release captain responsible - @iameskild
Starting point - a new release is out

[x] Create this issue to track and discuss the upcoming release.
[x] Use the previous release issue for any final release-specific discussions, then close.

This can be a good time to debrief and discuss improvements to the release process.

Looking forward - planning

[x] Create milestone for next release (if it doesn't already exist) and link it back here.
[x] Triage bugs to determine what be should included in the release and add it to the milestone.
[x] What new features, if any, will be included in the release and add it to the milestone.

This will be, in large part, determined by the roadmap.
Is there a focus for this release (i.e. UX/UI, stabilization, etc.)?

Pre-release process

[x] Decide on a date for the release.

What outstanding issues need to be addressed?
Has documentation been updated appropriately?
Are there any breaking changes that should be highlighted?
Are there any upstream releases we are waiting on?
Do we need to update the dask versions in the nebari-dask?
Will there be an accompanying blog post?

[ ] Prepare for the release.

[x] Announce build freeze.
[ ] Release Candidate (RC) cycle.

[ ] Perform end-to-end testing. Use the Testing Checklist template.

For minor releases, relying on the end-to-end integration tests might suffice.

[x] Cut RC via GHA release workflow (w/ "This is a pre-release" checked).
[ ] End-user validation.

If possible, pull in volunteers to help test.
(Repeat steps if necessary)

[ ] Update RELEASE.md notes.

Cut the official release
These steps must be actioned in the order they appear in this checklist.

[ ] Tag, build and push docker images
[ ] Update and cut release for nebari-dask meta package on Conda-Forge.
[ ] Cut PyPI release via GHA release workflow.

Avoid appending v to tag.

Copy release notes from RELEASE.md.

[ ] Merge release branch into main
[ ] Merge automated release PR for nebari on Conda-Forge.

RC1

We're currently blocked by #1948 (issues related to recent conda-store releases). A question for the team is how much longer should we wait for those fixes?
cc @pavithraes @dharhas