entgql: Noder doesn't support UUID Types

Super excited to see ent support gqlgen (although I understand it's still early on :))
I was giving it a spin this evening and noticed when trying to create a model using uuid.UUID as the ID type, I got a bunch of type errors in some of the generated code.
ent/node.go:51:3: cannot use c.ID (type uuid.UUID) as type int in field value
ent/node.go:86:3: cannot use u.ID (type uuid.UUID) as type int in field value
ent/node.go:190:21: cannot use id (type int) as type uuid.UUID in argument to testmodel1.ID
ent/node.go:199:17: cannot use id (type int) as type uuid.UUID in argument to testmodel2.ID
ent/pagination.go:450:18: cannot use c.ID (type uuid.UUID) as type int in field value
ent/pagination.go:669:18: cannot use u.ID (type uuid.UUID) as type int in field value

So I changed the generator based from the documentation to use a custom Field TypeInfo to TypeUUID
// +build ignore

package main

import (
	"log"

	"github.com/facebook/ent/entc"
	"github.com/facebook/ent/entc/gen"
	"github.com/facebook/ent/schema/field"
	"github.com/facebookincubator/ent-contrib/entgql"
)

func main() {
	err := entc.Generate("./schema", &gen.Config{
		Templates: entgql.AllTemplates,
		IDType: &field.TypeInfo{
			Type: field.TypeUUID,
		},
	})
	if err != nil {
		log.Fatalf("running ent codegen: %v", err)
	}
}

Which got me a little bit further!
ent/node.go:180:26: cannot use id (type [16]byte) as type string in argument to strconv.Atoi

Looks like the culprit is located here. As the type of id argument in Noder is [16]byte, this wont work but I'm wondering if there's an easy way to set this as uuid.UUID and use a Stringer interface to call Atoi?
Thanks!

Hey @tankbusta and thanks for reporting this issue.
The Node API works only if you configure the migration to work with universal-ids. Hence, the ID must be an int type (or converted to int). Because the type-resolver infer the NodeType from the ID value.
However, we actually discussed about adding support for custom type-resolvers, but in cases like this, users will need to decode the node-type somehow on the ID value.
If you can't use the NodeTemplate at the moment, you can choose specific templates that are relevant to you from this list.

So as I understand, using universal-ids still wont solve the problem with being able to use UUIDs as an ID with the GraphQL integration? It seems enabling that mode just partitions off IDs into a special table by model type as GraphQL requires "truly unique" IDs (SQL auto-incrementing IDs are not this)
My only option it seems at this time (and which you've pointed out) would be to fix up the template (which is fine I'm just trying to understand it completely)

When using global IDs we're able to derive the node type given its ID which is not possible when using UUIDs. As @a8m mentioned, we could provide some hook in the node template so you could provide your own custom ID -> Type mapper. Alternatively you could fork the template and modify it to fit your use case.

In JS version of relay implement, they use base64(type + ":" + id) to provide Global ID. Can we do same thing with entgql? table name + entity's id (can be number string/uuid string)
/**
 * Takes a type name and an ID specific to that type name, and returns a
 * "global ID" that is unique among all types.
 */
export function toGlobalId(type: string, id: string): string {
  return base64([type, id].join(':'));
}

/**
 * Takes the "global ID" created by toGlobalID, and returns the type name and ID
 * used to create it.
 */
export function fromGlobalId(globalId: string): ResolvedGlobalId {
  const unbasedGlobalId = unbase64(globalId);
  const delimiterPos = unbasedGlobalId.indexOf(':');
  return {
    type: unbasedGlobalId.substring(0, delimiterPos),
    id: unbasedGlobalId.substring(delimiterPos + 1),
  };
}

Code copied from here

It seems enabling that mode just partitions off IDs into a special table by model type as GraphQL requires "truly unique" IDs (SQL auto-incrementing IDs are not this)

@tankbusta - As mentioned in the universal-ids doc, each node-table has a range of  1<<32 for its ids (in one database/shard). Hence, ids from different tables should not overlap in the same database.
Like I mentioned in the previous comment, I'll create a PR for making the Type{Resolver/Mapper} configurable for the client - How do you plan to resolve the NodeType from a UUID field? prefix it with additional information?

In JS version of relay implement, they use base64(type + ":" + id) to provide Global ID. Can we do same thing with entgql? table name + entity's id (can be number string/uuid string)

@giautm - Like I mentioned above, we'll provide an API for configuring the TypeResolver, but the implementation is up to the user (should be simple to implement). I prefer the current approach, because it's working seamlessly with node-ids, and don't need to special handling in the client-side (or in the backend).

Hey @tankbusta  and @giautm,
A new change was added to entgql and docs was updated as well. Please go over it here and let me know if you still have troubles with it. Thanks

I've just tried this. It almost works!
I'm using Uuids (google/v4) right now, and it generates the following:
// [...]
	ids, err = ix.QueryItem().
		Select(item.FieldID).
		Uuid.UUIDs(ctx)
// [...]

I've tracked it down to this line.

Pagination still using int instead of uuid.UUID. Just change Todo's ID to uuid.UUID and run generate.
ent/pagination.go:687:12: cannot use t.ID (variable of type uuid.UUID) as int

// Cursor of an edge type.
type Cursor struct {
	ID    int   `msgpack:"i"`
	Value Value `msgpack:"v,omitempty"`
}

Pagination still using int instead of uuid.UUID. Just change Todo's ID to uuid.UUID and run generate.

That's solvable with the IDType configuration option:
package main

import (
	"log"
	"reflect"

	"github.com/facebook/ent/schema/field"
	"github.com/google/uuid"

	"github.com/facebook/ent/entc"
	"github.com/facebook/ent/entc/gen"
	"github.com/facebookincubator/ent-contrib/entgql"
)

func main() {
	rt := reflect.TypeOf(uuid.UUID{})

	err := entc.Generate("./schema", &gen.Config{
		Templates: entgql.AllTemplates,
		IDType: &field.TypeInfo{
			Type: field.TypeUUID,
			Ident:    rt.String(),
			PkgPath:  rt.PkgPath(),
		},
	})
	if err != nil {
		log.Fatalf("running ent codegen: %v", err)
	}
}

Hey @Zn4rK , that's worked. But I don't think we should do it manual? 🤔
@a8m : I don't know how Node-ID can be convert to gqlgen/graphql.IntID/gqlgen/graphql.ID?

Thanks for reporting this guys. I'm giving it a look atm.

Please update to latest version of ent and ent-contrib and report any issues. Thanks for your feedback guys.

@a8m : I don't know how Node-ID can be convert to gqlgen/graphql.IntID/gqlgen/graphql.ID?

I'm not sure I understand the question @giautm, but here's an example for a configuration we use.

Hi @a8m. I think there is a missing piece. In the relay spec, any Entity that implement Node interface should have ID as a GlobalID. It mean, If I use universel-id for Todo, the ID field also return a universel-id (GlobalID) instead Todo's ID. I didn't found any connection between universer-id and gqlgen ID. In JS, I implement that using a custom resolver for ID field - I'm new to gqlgen.

In the todo app case a Todo id is a global id as we use universal ids in both server and tests.

Hey @alexsn, tks for explain.
So, If I using custom NodeType configuare, there is no way to custom GlobalID for Todo?

An important point to make is that an ID used in ent is not the same as a graphql ID. In the Todo case it is the same as ent provides global uniqueness but it doesn't have to be. Also note that in graphql an ID is just a scalar meaning some string that has no meaning outside the graphql server.
Now you can implement an ID over some go object (see here for docs) and make sure that the same go type provides a way to decode the node type so you can pass it to . WithNodeType .
Simple example:
type GUID struct {
    Type string `json:"T"`
    UUID string `json:"I"`
}

func (guid GUID) MarshalGQL(w io.Writer) {
  // turn guid into a string
  data, _ := json.Marshal(guid)
  s := base64.StdEncoding.EncodeToString(data)
  // graphql ID is a scalar which must be quoted
  io.WriteString(w, strconv.Quote(s))
}

func (guid *GUID) UnmarshalGQL(v interface{}) error {
  str, ok := v.(string)
  if !ok {
    return fmt.Errorf("enum %T must be a string", v)
  }
  // reverse whatever MarshalGQL did to fill guid.
}

Now in gqlgen.yaml bind ID scalar to GUID:
models:
  ID:
    model:
      - <full path for your GUID type>

After codegen gqlgen will use your GUID struct whenever a ID is used in graphql schema and calling .Node from GUID should be straightforward from there.

Adding a custom type for ID mean I have to dealing with database driver to marshal/unmarshal. :-/

I know this is closed but I just got around to giving this another try and it worked perfectly :)
I did have to update and use @Zn4rK's entc.Generate changes to get UUID's to work correctly with Cursors. Without setting Ident and PkgPath for the IDType, it would default to [16]byte and cause paginated queries to fail because it'd be using the bytes and not the string in queries. Is this something that should be included in documentation?

Pagination still using int instead of uuid.UUID. Just change Todo's ID to uuid.UUID and run generate.

That's solvable with the IDType configuration option

This issue was fixed by detecting IDType from the GQL Node, so you don't have to change IDType config anymore.
https://github.com/ent/contrib/commit/6fc2c3622c06cceb165625c9583cc278da2a335e

Are there any proper documentation when having mixed type int and uuid for id and want gql support? I am getting mixed type error when doing.


Not working

The plugin isn't working with angular and TS. Not strict lines don't mark as errors.
"typescript-strict-plugin":1.0.1
"typescript": "4.0.2"
"@angular-builders/custom-webpack": "10.0.1",
"@angular-devkit/build-angular": "~0.1001.0",
"@angular-devkit/build-ng-packagr": "~0.1001.0",
"@angular/cli": "11.0.0",
"@angular/compiler-cli": "11.0.0",
"@angular/language-service": "11.0.0",

Hey! I've tried to use our plugin in sample project with this configuration, and seems to work well with angular and .ts files. Can you maybe provide us with your tsconfig.json and a file that causes problems?

Hey, it did not work in my applicaiton, then i cloned sample project, its still not working.

Do you use VScode? If you do you need to open the sample project itself (open the sample-project directory) not the cloned repository.
Also VScode sometimes uses its own typescript version not the project one resulting in not reading local tsconfig, so be sure to have Use workspace version option selected instead of Use VS Code version. This options can be found by clicking on the typescript version in the bottom right corner.

Closing due to inactivity


CLI stabilization: rename the dumps commands

Following this discussion: https://github.com/meilisearch/product/discussions/560
Specification: WIP
As part of the CLI stabilization, we want to rename the dump commands.

dumps-dir in the config file should be renamed to dump-dir
--dumps-dir option when launching Meilisearch binary should be renamed --dump-dir
MEILI_DUMPS_DIR env variable should be renamed to MEILI_DUMP_DIR

⚠ Don't forget to change the default config file as well.
Impacted teams
@meilisearch/integration-team, @meilisearch/cloud-team and @meilisearch/docs-team
TODO

[ ] Implement the changes and merge to the main branch
[ ] Update the related spec

@alallema do you think this can impact DevOps or meilisearch-migration?

PR is open, but I have a few remaining questions:

should the default dump dir remain dumps/ or become dump?
I guessed that the default config file was config.toml at the root of the repository is that correct?

Spec PR is open too

should the default dump dir remain dumps/ or become dump?

Good question, can you ask this in the related product discussion: https://github.com/meilisearch/product/discussions/560?

I guessed that the default config file was config.toml at the root of the repository is that correct?

Yes ! I updated the issue, thanks Louis!

Thanks curqui I did so! https://github.com/meilisearch/product/discussions/560#discussioncomment-4284904
I was about to say that it would have been nice to have the product discussion referenced in the issue, but it looks like it was already there 😬

@alallema do you think this can impact DevOps or meilisearch-migration?
Yes, but only names because the folder for dumps's creation are configured


Add SWAG

Summary:
Add SWAG as a BaaL module.
Original author: @janfreyberg
Features:

Add StochasticWeightAveraging class to guide the optimization process.
Add experiments/vgg_swag_cifar10.py to reproduce our experiments.

TODO

Add tests
Add report with results.

Checklist:

[ ] Your code is documented (To validate this, add your module to tests/documentation_test.py).
[ ] Your code is tested with unit tests.
[ ] You moved your Issue to the PR state.

I don't have time to complete this PR in a timely manner. I'll close for now.


Subtitle size change fails

Issue description
subtitles size cannot be changed in web player
Steps to Reproduce

open movie
change subtitle
hit size buttons and then okay

Expected Behaviour
bigger subtitles or smaller
Actual Behaviour
Does nothing
Environment Information

Operating System: Ubunto
Streama version: v1.7.0-RC13

Its i issue on my 4k monitor, subtitles are really small :)

Same issue for me.
Operating System: Windows Server
Streama version: v1.7.0-RC13 (but edited)

will be fixed in 1.7.0 stable release


Do Notation throws instance of '_OptionThrow'

In version 1.1.0 of fpdart:
The following code snippet is a simplified version of a piece of code that had a runtime error.
I assume, because I'm mapping over the List of testOption the Option.Do constructor does not catch the throwing of _OptionThrow.
I assumed that the exception would be caught by the do Constructor, but this was not the case.
Here is the problematic snippet:
  test('test', () async {
    Option<Iterable<String?>> testOption = const Option<List<String?>>.of(
      ['/', '/test', null],
    );
    Option<Iterable<Uri>> doNotation = Option.Do(
      ($) => $(testOption).map(
        (String? stringValue) => $(
          optionOf(
            Uri.tryParse($(optionOf(stringValue))), //
          ),
        ),
      ),
    );
    expect(doNotation, equals(const Option<Uri>.none()));

Here is the thrown exception:
Instance of '_OptionThrow'
package:fpdart/src/option.dart 45:28                                   _doAdapter.<fn>
package:fpdart/src/option.dart 589:72                                  None.match
package:fpdart/src/extension/option_extension.dart 29:39               FpdartOnOption.getOrElse
package:fpdart/src/option.dart 45:12                                   _doAdapter
test/implementation_test.dart 197:27  main.<fn>.<fn>.<fn>
dart:core                                                              _StringBase._interpolate
package:fpdart/src/option.dart 558:39                                  Some.toString
package:matcher                                                        expect
package:flutter_test/src/widget_tester.dart 454:18                     expect
test/implementation_test.dart 202:5   main.<fn>

Here is a rewrite without a callback that correctly catches the thrown exception and returns none
  test('test2', () async {
    Option<Iterable<String?>> testOption = const Option<List<String?>>.of(
      ['/', '/test', null],
    );
    Option<Iterable<Uri>> doNotation = Option.Do(($) {
      List<Uri> list = [];
      for (final String? stringValue in $(testOption)) {
        final uri = $(optionOf(Uri.tryParse($(optionOf(stringValue)))));
        list.add(uri);
      }
      return list;
    });

    expect(doNotation, equals(const Option.none()));
  });

This is pretty dangerous, because I don't have the type safety at compile time but have a runtime error I totally oversaw in the code review.
How should I proceed with this?
Could the Do constructors implementation be fixed so that callbacks can be used inside, or is this a language limitation and I therefore can't use the Do constructor when Using callbacks (which would be hard, because mapping lists etc is not possible anymore)?
Thanks.

@SandroMaglione  thanks for the response.
This is unfortunate because I have to be careful not to accidentally use a callback in a do constructor and the compiler isn't telling me I'm creating a exception.
When not using the do constructor the compiler would tell me if I'm extracting the content of a option etc.
Basically I'm transforming a compile time error to a runtime error. Do you agree?
Do you know of any potential option that creates a compile time error here? And if not should we update the docs of the do constructor part in the package documentation? Because If i hadn't implemented it that way I would not have found out that this is an issue.

@zellidev0 the Do notation helps to make the code more readable but comes with some trade offs (reference to the full discussion).
You are technically allowed to execute code that can error, but once you know what should be avoided the Do notation becomes really convenient.
Some patterns to avoid are:

Throwing inside Do constructor
Using await without executing the $ function
Not using $ nested

I agree that we should add these points to the documentation. Mind opening a PR for this?

@SandroMaglione that's a good idea.
Please assign the issue to me.
I created a Pull request here.

@danielRi I think the issue is with using a async callback in the Option.Do(...) constructor.
When having to use async you should use a Task and the TaskEither etc. types.
Task<ResultState> _handleInit(
  Init event,
  Emitter<ResultState> emit,
) => Option.Do((_) async {
    final vin = _(_selectedVehicleRepo.vin);
    final formData = _(_formDataRepo.load());
  })
      .toEither(() => 'Error extracting vehicleRepoVin or formData')
      .toTaskEither()
      .map((formData) => _actionRepo.parseArguments(formData))
      .match(
        (_) => ResultState.error(LocaleKeys.exception_thrown.tr()),
        (result) => ResultState.loaded(
          result: result,
        ),
      );

Also: You don't need the ResultState, you can simply return a TaskEither<Object,YourDataType> from the function.

@danielRi as @zellidev0 mentioned the issue is using async inside Do without _:
final either = await _actionRepo.parseArguments(formData); // Use `_` here

Another suggestion is to remember not to use print inside pure code. print causes side effects.


Can't remove acl group

Good day!
I am using netbird with docker-compose installation based on with zitadel. The latest version to this very moment (0.31.1)
I am playing around Access control groups in UI and found that after adding, it could not be removed:

Click on "Edit"

Then click on X next to group:

Then click on "Save".
No changes in the main screen.

The same if deselect access control group:

Hey @gecube,
Thanks for reporting! I could reproduce this.
I will check this out and release a fix for this asap.
I let you know when it's ready.


Public Spinnaker on GKE needed fixes

Page: /setup/quickstart/halyard-gke-public/
Feedback:
For creating the client ID, the authorized redirect URLs need to match with the FQDN being set up further below.
The "navigate to.." instructions at the bottom shouldn't specify port 9000, since we're using port 80.

Please read the caption under the client ID creation: https://www.spinnaker.io/setup/quickstart/halyard-gke-public/#part-1-configuring-authentication

https://github.com/spinnaker/spinnaker.github.io/blob/master/setup/quickstart/halyard-gke-public/index.md

Sorry, meant to link to https://github.com/spinnaker/spinnaker.github.io/commit/cac7fbfb309347085a97392c036931593a41d0bb


Fixed typos

Simple, nit-picky typo fixes.

@muesli I appreciate that you're trying to improve things, but the PRs you've sent (to this project and others) are trivial fixes and this project is effectively in maintenance mode. While I don't disagree with these changes, I'd appreciate it if you didn't fill up my mailbox with a PR for every single little thing.
Please consider collecting all of your changes, broken down by commit, and submit one PR once you're done.

@BurntSushi You're absolutely right, those are trivial fixes and it's a lot of boring grunt work. I'm sorry to have bothered you with these changes, but I'm intentionally keeping pull requests as granular as possible, because it makes it a lot easier to review, argue about, accept & reject them individually. I think that's commonly accepted as good practice. For what it's worth, I'm done posting PRs for your repositories, so your INBOX is all yours again :smile:

I'd prefer them all in one PR. If I don't agree with a change, then you can just drop that commit from the PR.

But surely you understand that most other maintainers would disagree with that kind of pull request, no matter how small the individual commits inside it. It's also a whole lot easier for you to just click "Merge" or "Close" on individual pull requests than having to go back and forth with me multiple times on one big diff. That's just more error-prone, requires me to rewrite the commit history and force-push, and you to review the entire change-set again - after every single review iteration.
Feel free to ignore these changes should you consider them not important enough, but at this point it's still less work for you to click "Merge" or "Close" fives times, than me cherry-picking or rebasing from five branches and creating a new pull request (you'd still have to click "Close" on the old ones then).
Again, sorry for the noise, I honestly didn't mean to bother anyone.

I'm not interested in having a debate about PR workflow. But no, I surely wouldn't agree with you.
I'm just going to close out the PRs. If you want to re-submit as fewer PRs, then that's fine.


Adding/Deleting/Clearing/Selecting rows, cols, and cells

It is often useful to be able to add, remove, clear, or select a certain number or rows, columns, or cells. For example:

At the least, from the selection cols (if colsOnly), rows (if rowsOnly), or cells, and knowing the objectType, we should be able to generate a useful context menu where the user can quickly add/remove/clear/select data, cells, columns, or rows. Additionally, a selection may have two 'states' of the selection. For example, on a table if you click/select the column it will select the column data only, and clicking/selecting again will select everything in that column (header, data, footer, comment).

Additionally, here are some examples of how changing of the tooltip can be very useful depending on what selection options are available at that location within the object: https://gyazo.com/7ae1db00fa20f29bfafb4b5ebe369a54


[FEA] Create unit tests for saving and loading back the retrieval and ranking models

🚀 Feature request
we are missing unit tests for saving and loading back the trained models. This is important for inference step and to run inference examples without issues. We should be sure that we can save and load back the models without issues, so that, unit tests would help for that.

waiting for https://github.com/NVIDIA-Merlin/models/issues/718


New branch

Daniel,
is it possible for you to create a separate branch that removes the GPUImage dependency and the GPUImage features?
For possibly most projects that use your library, it is unnecessary.

If it will be too much of a hassle, I can maintain the second branch for you.

Hey @pjebs , yes for sure... my idea for a next version is avoid to use that library and try to use CI for filters and effects


Update dkim

As suggested in #870.
Changes:

use sha256 as default
old php 5.3 use sha1 still as default, because sha256 is missing
test adjusted

Thank you @Rotzbua.


Remapped CapsLock doesn't interact well with Remote Desktop

ℹ Computer information

PowerToys version: v0.29.3
PowerToy Utility: Keyboard Manager
Running PowerToys as Admin: No
Windows build number: 18363.1256

📝 Provide detailed reproduction steps (if any)

Remap CapsLock to Left Ctrl with Keyboard Manager on BOTH PC 1 and PC 2
Remote Desktop from PC 1 to PC 2

✔ Expected result
Pressing CapsLock acts like pressing Ctrl in the remote desktop just like it does on either machine in person
❌ Actual result
Pressing CapsLock in the remote desktop does nothing.
When Keyboard Manager is disabled on PC 1, but enabled on PC 2, it works as expected in remote desktop (but not locally, of course)
When Keyboard Manager is enabled on PC 1, but disabled on PC 2, CapsLock works as CapsLock on the remote desktop (but as Ctrl in local apps).

closing this against #9337 which will be our host KBM and RDP tracker. We believe RDP is causing a finite set of issues, we figure out the root cause and most, if not all, will be resolved.

closing this against #9337 which will be our host KBM and RDP tracker. We believe RDP is causing a finite set of issues, we figure out the root cause and most, if not all, will be resolved.


Remove latex dependencies

Fixes #466

This is a hotfix for solving the issues found when running the tests on other PRs.


Dockerised setup of App Sync server

Hello, @EddyVerbruggen.
I was trying to spin my own App Sync server as I'm in need of applying similar technology in a project I'm working on now, and since the current repo doesn't include a [cloud-?]docker-ready setup, I went ahead and forked the repo and prepared a commit that works up until hitting login button, where the login POST call on the web interface would fail with error 500, although the daemon log is showing it is failing at a mysql query that it can be run directly on the mysql server (using maria) without any issues.
The commit: https://github.com/NativeScript/nativescript-app-sync-server/compare/master...mahmoudajawad:master
Could you please:

Help me get past login in order to use the service.
Consider my work and whether it is worth merging into this project in order to make it possible for others who are in need of this project to spin their own as the official instance seems to be (is it?) abandoned.

Considerations:
I wrote and tested this on aarch64 device and I'm using mariadb instead of mysql as the later isn't supported well on aarch64. I'm also using podman instead of docker. Though, I'm having these differences, I'm expecting the login issue not to be related to either of them. Since I could be wrong, the issue can be isloated by changing the db service image to mysql:8 and then start the services using docker-compose up --build.

With the second comment to this PR, the docker-compose now is ready and working and can be used across the architectures.

Hi @mahmoudajawad,
I'm interested in mounting this with kubernetes and it's a lot like docker-compose. Could you contribute your docker-compose file please? Thank you!

ok, I have entered here and I have seen your repo. I have downloaded and run it with docker-compose up --build and I have the following error:
appsync_1  | [2021-03-15T11:16:25.759] [DEBUG] cps:app - set Access-Control Header
appsync_1  | [2021-03-15T11:16:25.760] [DEBUG] cps:app - config common.storageType value: local
appsync_1  | [2021-03-15T11:16:25.760] [DEBUG] cps:app - config common.storageDir value: /data/storage
appsync_1  | [2021-03-15T11:16:25.760] [DEBUG] cps:app - checking storageDir fs.W_OK | fs.R_OK
appsync_1  | [2021-03-15T11:16:25.760] [DEBUG] cps:app - storageDir fs.W_OK | fs.R_OK is ok
appsync_1  | [2021-03-15T11:16:25.761] [DEBUG] cps:app - static download uri value: /download
appsync_1  | [2021-03-15T11:16:25.761] [DEBUG] startup - port 3000
appsync_1  | [2021-03-15T11:16:35.775] [ERROR] startup - ConnectionError [SequelizeConnectionError]: connect ETIMEDOUT
appsync_1  |     at /opt/nativescript-app-sync-server/node_modules/sequelize/lib/dialects/mysql/connection-manager.js:149:19
appsync_1  |     at tryCatcher (/opt/nativescript-app-sync-server/node_modules/bluebird/js/release/util.js:16:23)
appsync_1  |     at Promise._settlePromiseFromHandler (/opt/nativescript-app-sync-server/node_modules/bluebird/js/release/promise.js:512:31)
appsync_1  |     at Promise._settlePromise (/opt/nativescript-app-sync-server/node_modules/bluebird/js/release/promise.js:569:18)
appsync_1  |     at Promise._settlePromise0 (/opt/nativescript-app-sync-server/node_modules/bluebird/js/release/promise.js:614:10)
appsync_1  |     at Promise._settlePromises (/opt/nativescript-app-sync-server/node_modules/bluebird/js/release/promise.js:689:18)
appsync_1  |     at Async._drainQueue (/opt/nativescript-app-sync-server/node_modules/bluebird/js/release/async.js:133:16)
appsync_1  |     at Async._drainQueues (/opt/nativescript-app-sync-server/node_modules/bluebird/js/release/async.js:143:10)
appsync_1  |     at Immediate.Async.drainQueues [as _onImmediate] (/opt/nativescript-app-sync-server/node_modules/bluebird/js/release/async.js:17:14)
appsync_1  |     at processImmediate (node:internal/timers:464:21) {
appsync_1  |   parent: Error: connect ETIMEDOUT
appsync_1  |       at Connection._handleTimeoutError (/opt/nativescript-app-sync-server/node_modules/mysql2/lib/connection.js:181:13)
appsync_1  |       at listOnTimeout (node:internal/timers:557:17)
appsync_1  |       at processTimers (node:internal/timers:500:7) {
appsync_1  |     errorno: 'ETIMEDOUT',
appsync_1  |     code: 'ETIMEDOUT',
appsync_1  |     syscall: 'connect',
appsync_1  |     fatal: true
appsync_1  |   },
appsync_1  |   original: Error: connect ETIMEDOUT
appsync_1  |       at Connection._handleTimeoutError (/opt/nativescript-app-sync-server/node_modules/mysql2/lib/connection.js:181:13)
appsync_1  |       at listOnTimeout (node:internal/timers:557:17)
appsync_1  |       at processTimers (node:internal/timers:500:7) {
appsync_1  |     errorno: 'ETIMEDOUT',
appsync_1  |     code: 'ETIMEDOUT',
appsync_1  |     syscall: 'connect',
appsync_1  |     fatal: true
appsync_1  |   }
appsync_1  | }
appsync_1  | 2021-03-15T11:16:35: PM2 log: App [nativescript-app-sync-server:1] exited with code [1] via signal [SIGINT]
appsync_1  | 2021-03-15T11:16:35: PM2 log: App [nativescript-app-sync-server:1] starting in -fork mode-
appsync_1  | 2021-03-15T11:16:35: PM2 log: App [nativescript-app-sync-server:1] online
appsync_1  | Mon, 15 Mar 2021 11:16:36 GMT sequelize deprecated The logging-option should be either a function or false. Default: console.log at node_modules/sequelize/lib/sequelize.js:193:13

Did you also change MYSQL_PORT value for appsync service?

Hello @mahmoudajawad,
If I have changed that too, I have tried it on my PC in windows and in the ubuntu terminal and I have the same error.

Hi @mahmoudajawad.
I have tried on a clean machine with ubuntu, I have left the default port: 3306 and I have the same error. What operating system are you launching it on?
Thanks a lot

@vallemar, so this is crazy. I started working on this using podman on fedora, but then continued to work on it using docker on macos, and all the way it was working for me. After your last comment, I tried and attempted to run it on docker on macos only to find that docker is broken for some reason and no matter what I did it refused to work, so I went back to podman on fedora and I could see the same error you reported, so I needed to spend little time on this and finally got it to work, although I was sure it worked for me before.
One thing, I might also need your k8s setup out of this docker-compose, as I want to use it and I'm not sure how I will end-up using it, so having the option for k8s is going to be good.


Implement Parallel DynamoDB Scan and BatchWrite

Parallel Scan: https://alexwlchan.net/2020/getting-every-item-from-a-dynamodb-table-with-python/
Parallel BatchWrite: http://www.robparkerwhat.com/posts/parallel-batch-writes-to-dynamo-db/

Parallel Scan handled by #1981


Getting error "Uncaught TypeError: Cannot read property '_currentElement' of null" after updating Atom

Prerequisites

[x] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: http://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: http://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
On Linux, I keep getting an error pop up. It happens after start up when trying to do anything. I updated from Atom 1.16 to 1.18 yesterday without any issues, and today this started being a thing.
 This shouldn't be happening.
Actual behavior: [What actually happens]
Atom has a stroke with an error constantly popping up no matter how many times I close it.
Reproduces how often: [What percentage of the time does it reproduce?]
100% afaik
Versions
Ubuntu 14.04 LTS
Atom 1.18.0 x64
apm  1.18.1
npm  3.10.10
node 6.9.5 x64
python 2.7.6
git 1.9.1
Additional Information
 Uncaught TypeError: Cannot read property '_currentElement' of null /usr/share/atom/resources/app/node_modules/fbjs/lib/resolveImmediate.js:27
Stack trace:
 TypeError: Cannot read property '_currentElement' of null     at ReactCompositeComponentWrapper._updateRenderedComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:745:58)     at ReactCompositeComponentWrapper._performComponentUpdate (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:724:16)     at ReactCompositeComponentWrapper.updateComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:645:18)     at ReactCompositeComponentWrapper.receiveComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:547:16)     at Object.receiveComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactReconciler.js:125:28)     at ReactCompositeComponentWrapper._updateRenderedComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:754:29)     at ReactCompositeComponentWrapper._performComponentUpdate (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:724:16)     at ReactCompositeComponentWrapper.updateComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:645:18)     at ReactCompositeComponentWrapper.receiveComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:547:16)     at Object.receiveComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactReconciler.js:125:28)     at Object.updateChildren (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactChildReconciler.js:109:31)     at ReactDOMComponent._reconcilerUpdateChildren (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactMultiChild.js:213:34)     at ReactDOMComponent._updateChildren (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactMultiChild.js:312:37)     at ReactDOMComponent.updateChildren (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactMultiChild.js:299:18)     at ReactDOMComponent._updateDOMChildren (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactDOMComponent.js:936:18)     at ReactDOMComponent.updateComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactDOMComponent.js:754:16)     at ReactDOMComponent.receiveComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactDOMComponent.js:716:16)     at Object.receiveComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactReconciler.js:125:28)     at Object.updateChildren (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactChildReconciler.js:109:31)     at ReactDOMComponent._reconcilerUpdateChildren (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactMultiChild.js:213:34)     at ReactDOMComponent._updateChildren (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactMultiChild.js:312:37)     at ReactDOMComponent.updateChildren (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactMultiChild.js:299:18)     at ReactDOMComponent._updateDOMChildren (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactDOMComponent.js:936:18)     at ReactDOMComponent.updateComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactDOMComponent.js:754:16)     at ReactDOMComponent.receiveComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactDOMComponent.js:716:16)     at Object.receiveComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactReconciler.js:125:28)     at ReactCompositeComponentWrapper._updateRenderedComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:754:29)     at ReactCompositeComponentWrapper._performComponentUpdate (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:724:16)     at ReactCompositeComponentWrapper.updateComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:645:18)     at ReactCompositeComponentWrapper.receiveComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:547:16)     at Object.receiveComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactReconciler.js:125:28)     at ReactCompositeComponentWrapper._updateRenderedComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:754:29)     at ReactCompositeComponentWrapper._performComponentUpdate (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:724:16)     at ReactCompositeComponentWrapper.updateComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:645:18)     at ReactCompositeComponentWrapper.receiveComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:547:16)     at Object.receiveComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactReconciler.js:125:28)     at ReactCompositeComponentWrapper._updateRenderedComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:754:29)     at ReactCompositeComponentWrapper._performComponentUpdate (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:724:16)     at ReactCompositeComponentWrapper.updateComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:645:18)     at ReactCompositeComponentWrapper.receiveComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:547:16)     at Object.receiveComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactReconciler.js:125:28)     at ReactCompositeComponentWrapper._updateRenderedComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:754:29)     at ReactCompositeComponentWrapper._performComponentUpdate (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:724:16)     at ReactCompositeComponentWrapper.updateComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:645:18)     at ReactCompositeComponentWrapper.receiveComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:547:16)     at Object.receiveComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactReconciler.js:125:28)     at ReactCompositeComponentWrapper._updateRenderedComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:754:29)     at ReactCompositeComponentWrapper._performComponentUpdate (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:724:16)     at ReactCompositeComponentWrapper.updateComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:645:18)     at ReactCompositeComponentWrapper.performUpdateIfNecessary (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:561:18)     at Object.performUpdateIfNecessary (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactReconciler.js:157:28)     at runBatchedUpdates (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactUpdates.js:150:27)     at ReactReconcileTransaction.perform (/usr/share/atom/resources/app/node_modules/react-dom/lib/Transaction.js:140:26)     at ReactUpdatesFlushTransaction.perform (/usr/share/atom/resources/app/node_modules/react-dom/lib/Transaction.js:140:26)     at ReactUpdatesFlushTransaction.perform (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactUpdates.js:89:38)     at Object.flushBatchedUpdates (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactUpdates.js:172:25)     at ReactDefaultBatchingStrategyTransaction.closeAll (/usr/share/atom/resources/app/node_modules/react-dom/lib/Transaction.js:206:31)     at ReactDefaultBatchingStrategyTransaction.perform (/usr/share/atom/resources/app/node_modules/react-dom/lib/Transaction.js:153:22)     at Object.batchedUpdates (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactDefaultBatchingStrategy.js:62:32)     at Object.enqueueUpdate (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactUpdates.js:200:28)     at enqueueUpdate (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactUpdateQueue.js:24:22)     at Object.enqueueSetState (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactUpdateQueue.js:219:11)     at RelayRenderer.ReactComponent.setState (/usr/share/atom/resources/app/node_modules/react/lib/ReactComponent.js:63:22)     at RelayReadyState.onReadyStateChange [as _onReadyStateChange] (/usr/share/atom/resources/app/node_modules/react-relay/lib/RelayRenderer.js:152:20)     at /usr/share/atom/resources/app/node_modules/react-relay/lib/RelayReadyState.js:73:19     at tryCallOne (/usr/share/atom/resources/app/node_modules/promise/lib/core.js:37:18)     at /usr/share/atom/resources/app/node_modules/promise/lib/core.js:123:21     at flush (/usr/share/atom/resources/app/node_modules/asap/raw.js:50:35)     at _combinedTickCallback (internal/process/next_tick.js:67:7)     at process._tickCallback (internal/process/next_tick.js:98:9)
Additionally, on start up I get this error once:
`
Uncaught TypeError: Cannot read property 'url' of null
/usr/share/atom/resources/app/node_modules/fbjs/lib/resolveImmediate.js:27```
Stack trace:
 TypeError: Cannot read property 'url' of null     at PrInfo.render (/usr/share/atom/resources/app/node_modules/github/lib/containers/pr-info-container.js:115:67)     at ReactCompositeComponentWrapper._renderValidatedComponentWithoutOwnerOrContext (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:799:36)     at ReactCompositeComponentWrapper._renderValidatedComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:822:38)     at ReactCompositeComponentWrapper.performInitialMount (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:362:36)     at ReactCompositeComponentWrapper.mountComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:258:27)     at Object.mountComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactReconciler.js:46:41)     at ReactCompositeComponentWrapper.performInitialMount (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:371:40)     at ReactCompositeComponentWrapper.mountComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:258:27)     at Object.mountComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactReconciler.js:46:41)     at ReactDOMComponent.mountChildren (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactMultiChild.js:238:50)     at ReactDOMComponent._createInitialChildren (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactDOMComponent.js:697:38)     at ReactDOMComponent.mountComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactDOMComponent.js:516:18)     at Object.mountComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactReconciler.js:46:41)     at ReactDOMComponent.mountChildren (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactMultiChild.js:238:50)     at ReactDOMComponent._createInitialChildren (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactDOMComponent.js:697:38)     at ReactDOMComponent.mountComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactDOMComponent.js:516:18)     at Object.mountComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactReconciler.js:46:41)     at ReactCompositeComponentWrapper.performInitialMount (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:371:40)     at ReactCompositeComponentWrapper.mountComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:258:27)     at Object.mountComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactReconciler.js:46:41)     at ReactCompositeComponentWrapper.performInitialMount (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:371:40)     at ReactCompositeComponentWrapper.mountComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:258:27)     at Object.mountComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactReconciler.js:46:41)     at ReactCompositeComponentWrapper._updateRenderedComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:765:46)     at ReactCompositeComponentWrapper._performComponentUpdate (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:724:16)     at ReactCompositeComponentWrapper.updateComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:645:18)     at ReactCompositeComponentWrapper.receiveComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:547:16)     at Object.receiveComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactReconciler.js:125:28)     at ReactCompositeComponentWrapper._updateRenderedComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:754:29)     at ReactCompositeComponentWrapper._performComponentUpdate (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:724:16)     at ReactCompositeComponentWrapper.updateComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:645:18)     at ReactCompositeComponentWrapper.receiveComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:547:16)     at Object.receiveComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactReconciler.js:125:28)     at ReactCompositeComponentWrapper._updateRenderedComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:754:29)     at ReactCompositeComponentWrapper._performComponentUpdate (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:724:16)     at ReactCompositeComponentWrapper.updateComponent (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:645:18)     at ReactCompositeComponentWrapper.performUpdateIfNecessary (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactCompositeComponent.js:561:18)     at Object.performUpdateIfNecessary (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactReconciler.js:157:28)     at runBatchedUpdates (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactUpdates.js:150:27)     at ReactReconcileTransaction.perform (/usr/share/atom/resources/app/node_modules/react-dom/lib/Transaction.js:140:26)     at ReactUpdatesFlushTransaction.perform (/usr/share/atom/resources/app/node_modules/react-dom/lib/Transaction.js:140:26)     at ReactUpdatesFlushTransaction.perform (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactUpdates.js:89:38)     at Object.flushBatchedUpdates (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactUpdates.js:172:25)     at ReactDefaultBatchingStrategyTransaction.closeAll (/usr/share/atom/resources/app/node_modules/react-dom/lib/Transaction.js:206:31)     at ReactDefaultBatchingStrategyTransaction.perform (/usr/share/atom/resources/app/node_modules/react-dom/lib/Transaction.js:153:22)     at Object.batchedUpdates (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactDefaultBatchingStrategy.js:62:32)     at Object.enqueueUpdate (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactUpdates.js:200:28)     at enqueueUpdate (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactUpdateQueue.js:24:22)     at Object.enqueueSetState (/usr/share/atom/resources/app/node_modules/react-dom/lib/ReactUpdateQueue.js:219:11)     at RelayRenderer.ReactComponent.setState (/usr/share/atom/resources/app/node_modules/react/lib/ReactComponent.js:63:22)     at RelayReadyState.onReadyStateChange [as _onReadyStateChange] (/usr/share/atom/resources/app/node_modules/react-relay/lib/RelayRenderer.js:152:20)     at /usr/share/atom/resources/app/node_modules/react-relay/lib/RelayReadyState.js:73:19     at tryCallOne (/usr/share/atom/resources/app/node_modules/promise/lib/core.js:37:18)     at /usr/share/atom/resources/app/node_modules/promise/lib/core.js:123:21     at flush (/usr/share/atom/resources/app/node_modules/asap/raw.js:50:35)     at _combinedTickCallback (internal/process/next_tick.js:67:7)     at process._tickCallback (internal/process/next_tick.js:98:9)
That error is telling me that it was thrown from the github package.
The error I mentioned before the one above is persistent and after dismissing it, it will pop up over and over again.

Update: This was being caused by the PR tab of the new GitHub integration failing to load or something? I closed that tab and the error went away. It was only happening for one project, and I'm not sure why, but closing the "GitHub (preview)" tab appeared to fix it, at least temporarily.

Thanks for the report!

Update: This was being caused by the PR tab of the new GitHub integration failing to load or something? I closed that tab and the error went away. It was only happening for one project, and I'm not sure why, but closing the "GitHub (preview)" tab appeared to fix it, at least temporarily.

Just to confirm, have you hit this error again?  If so, is the error still tied to having the GitHub package open?  Just checking so we can move this over to https://github.com/atom/github if it is specific to that package.

@rsese I can confirm that closing the GitHub PR tab fixes the issue for me, so please go ahead and move it to https://github.com/atom/github

@mickaelpham - with the GitHub PR tab open, is the error reproducible for you in safe mode?

Thanks again for your issue!
We haven't received a response to our questions in https://github.com/atom/atom/issues/14970#issuecomment-316860331 and https://github.com/atom/atom/issues/15092#issuecomment-318189598.  With only the information that is currently in the issue, we don't have enough information to take action. I'm going to close this but don't hesitate to reach out if you have or find the answers we need, we'll be happy to reopen the issue.


TFS Client library issue

The TFS Client libraries link takes you to a nuget package for "Microsoft.TeamFoundationServer.Client" version 15.112.1 which requires dependency "Microsoft.Tpl.Dataflow" which is no longer available. (https://www.nuget.org/packages/Microsoft.Tpl.Dataflow/4.5.20 - "The owner has unlisted this package. This could mean that the package is deprecated or shouldn't be used anymore.")
I can install the latest prerelease version by utilizing the prerelease parameter of install-module to work around the issue. Can we get a stable release of Microsoft.TeamFoundationServer.Client since the dependency for the current release is no longer available?

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

ID: 4abeff84-74e7-7fd3-db28-fa92683143c8
Version Independent ID: 9d289096-4cf9-cb30-0893-e9ae5a72a34d
Content: REST API samples for VSTS and Team Foundation Server
Content Source: docs/integrate/get-started/rest/samples.md
Product: devops
GitHub Login: @elbatk
Microsoft Alias: elbatk

@jjones82
The nuget package of Microsoft.Tpl.DataFlow is still there to get/download, although it is not listed. So you can still install the nuget package safely.
For more information, please refer to this dotnet/corefx#24547

Closing this issue for now, thanks @eriawan


Update aws-iot-twinmaker-grafana-utils

Revert changes for fixed sized tags and made tag visuals clearer when selected.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Update tutorial-register-scan-on-premises-sql-server.md

Learn Build status updates of commit 5138413:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/purview/tutorial-register-scan-on-premises-sql-server.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

#sign-off

This change looks good; thanks, @zeinab-mk.
In the future, open PRs in the private repo so you can sign off on them. Thanks!


Allow passing classname to route

This is a mirror of https://github.com/openshift/hac-core/pull/38

What's the use case for allowing someone to override the classname?
The best extensions are those that are data driven and don't allow UI customizations that can lead to inconsistencies.

What's the use case for allowing someone to override the classname? The best extensions are those that are data driven and don't allow UI customizations that can lead to inconsistencies.

This isn't overriding, this is the wrapping class name... perhaps it needs better documentation

Wouldn't the same be achieved by the route component assigning their own classname to their root element?
I don't think this should be a substitute for pre-fixing though if a page is extensible with the inclusion of externally defined elements being placed within your dom tree. There's still potential for clashing.

Wouldn't the same be achieved by the route component assigning their own classname to their root element?
I don't think this should be a substitute for pre-fixing though if a page is extensible with the inclusion of externally defined elements being placed within your dom tree. There's still potential for clashing.

@karel made an argument for allowing more flexibility with the interfacing app rather than them configuring this at the root of very page they own. I think this is okay because webpack seem to be able to prefix the CSS from a compile step and not something they need to manually do everywhere.
If they had to manually add this to everything, yeah I can see them managing this at the top level of each of their routes. However it seems to be a compile step, so this makes sense to me.

Whether it's configured at the root of every route component or each route extension, it's still done per route.

Whether it's configured at the root of every route component or each route extension, it's still done per route.

Then I think this is something you need to take a stance on as Architect and inform HAC-Dev... this is a solution to the current implementation they have as far as I understand it.

Thanks @andrewballantyne, I'll connect with hac-dev to hear their side as I still don't understand the exact need for this over the existing apis available.

@karelhala I don't want to impose on devs the need to add the classname in their extensions to fulfill the prefix requirement imposed by the insights webpack config whereby it adds a sass-prefix.
Can you not obtain the prefix by other means similar to what's already being done for existing apps?

@christianvogt yeah, we can by all means use same principle - just the pluin name as class prefix. I was more thinking about being nice to the devs and give them option to change this. I've added a topic for next Arch sync to go trough more generic approach on this one.
Closing this as it's not really required.


Automatically add dev-doc-needed flag

When bugs for new web platform features are created, the reporters very often don't set the dev-doc-needed flag to notify the MDN team that the feature needs to be documented on MDN. And it requires quite some effort for the MDN team and others like me to look though all the bugs and check which things need to be documented.
So it would be great if this could be automated as far as possible.
Some criteria to consider is

Product: "Core"
Components: everything web platform features related, might be all related to "Audio/Video", "CSS", "DOM", "Graphics", "Internationalization", "JavaScript", "Layout", "MathML", "Networking", "Panning and Zooming", "Performance", "Privacy", "Security", "Storage", "SVG", "Web Audio", "Web Speech", "WebRTC", "WebVR", "XML", and "XSLT"
Type: enhancement and task (Though it's often forgotten to set the type, so many features are filed as "defect". Therefore I'm not sure about that.)
Flags: not "meta"

and there are other, optional indicators like

certain keywords in the summary like "implement", "implementation", "add", "support", "consider", "update", "deprecate", "drop", "remove", "ship", "trains" (from "Let xyz ride the trains"), "enable", and "api".
a specification URL under the related URLs.
certain flags like DevAdvocacy, parity-*, and site-compat.
[DevRel or [layout in the Whiteboard field.

@hamishwillee and others from the MDN team may provide some more feedback on this.
Sebastian

We have a prototype model for this in bugbug which we could improve and validate: https://github.com/mozilla/bugbug/blob/master/bugbug/models/devdocneeded.py.

@SebastianZ Thanks very much - I've pinged the rest of the Mozilla-employed MDN content authors for comment.
This is a good idea. It might be even better if it could be done as wizard like behaviour that prompted the submitter on creation (though that might be too obtrusive) so that they thought about it (I worry about a flood of false positives).
"Ship" is definitely something to look at as part of the selection criteria.
FYI Recently the browser-compat-team have made finding the missed release issues a bit easier for us via testing - such as https://github.com/mdn/browser-compat-data/pull/23730.
The thing to note here is that compat tests look at IDL in specs, and may not catch some things that cannot be automatically detected, such as support for optional params in values passed to methods.

@SebastianZ We missed this one that wasn't tagged https://bugzilla.mozilla.org/show_bug.cgi?id=1825580. However it was tagged with need for a relnote, so triggering on this would be good too


InfluxDBClientError: 400: "unable to parse points

hello,
i use openstack-monasca components wirte data to influxdb with influxdb-relay.but encounter a error,message information too sample that i do not know more useful information and which metrics lead to this error.is anyone can help me?very thanks.

I'll take a look this afternoon. Thanks for your report.

ok,before throws error,so many metrics points stdout.that i do not know which metric cause
unable to parse points error.influxdb-relay should tell user the accurate error points,not a fuzzy information.

We are still working on better log.
As https://docs.influxdata.com/influxdb/v1.7/write_protocols/line_protocol_tutorial/ says, the issue is with value_meta="{}" at the end of the line.

Can we consider this issue solved @zhangjianweibj ?


geopmanalysis ImportError

geopmanalysis fails when importing geopmpy.io:
> geopmanalysis
Traceback (most recent call last):
  File "/home/drguttma/build/geopm_work/bin/geopmanalysis", line 35, in <module>
    import geopmpy.analysis
  File "/home/drguttma/build/geopm_work/lib/python2.7/site-packages/geopmpy/analysis.py", line 50, in <module>
    import geopmpy.io
  File "/home/drguttma/build/geopm_work/lib/python2.7/site-packages/geopmpy/io.py", line 39, in <module>
    from builtins import str
ImportError: No module named builtins

May no longer be an issue, also this is related to python 2/3 issues.


Changed Docker Image to distroless

Have modified Docker image to use Destroless base image.

Thanks! What is the docker image size difference?

The size has increased.
teeproxy:alpine(11.1MB),
teeproxy:distroless-base (24.4MB).
If you are OK with the increase in size you may accept the PR. I am still verifying the teeproxy:distroless-static (9.3MB) as you were building with CGO_ENABLED=0.
Initially teeproxy:distroless-static seems to be fine. I can update it by Monday.

I have checked it with distroless static image as well. The request seems to go to both A and B. teeproxy:distroless-static is 9.3MB


update playback api

See #140
This PR adds playback options and reverts the changes introduced with #142.
 // v5 api (will be still valid with v6 and asterisk v13)
h.Play("myPlaybackID", "sound:hello-world")

// v6 api
h.Play("myPlaybackID", ari.PlaybackOptions{
	Media: []string{"hello-world"},
	Lang: "en",
	OffsetMs: 750,
})
h.Play("myPlaybackID", ari.PlaybackOptions{
	Media: []string{"sound:your", "sound:extension", "sound:number", "sound:is", "digits:123"},
})

This change is

I can appreciate the extra work to maintain compatibility, but my first reaction is that I'd prefer to break compatibility and have a cleaner API.
I'm thinking more functional arguments like we use in ext/play.
Thoughts?

Something like that ?
h.Play("myPlaybackID", playback.Media("sound:hello-world"))
h.Play("myPlaybackID",
	playback.Media("sound:hello-world", "sound:silence/1"),
	playback.Lang("en"),
	playback.OffsetMs(750),
)

Not sure where to put playback functions.
We can also create alias
// Array of media URIs to play.
type PlaybackMedia = []string

h.Play("myPlaybackID", ari.PlaybackMedia{"sound:hello-world"}, nil)
h.Play("myPlaybackID",
	ari.PlaybackMedia{"sound:hello-world", "sound:silence/1"},
	ari.PlaybackOptions{Lang:"en", OffsetMs: 750},
)

Or just leave ari.PlaybackOptions:
h.Play("myPlaybackID", ari.PlaybackOptions{Media: []string{"sound:hello-world"}})
h.Play("myPlaybackID", ari.PlaybackOptions{
	Media: []string{"sound:hello-world", "sound:silence/1"},
	Lang:"en",
	OffsetMs: 750,
})


Dynamic import() in a CJS file can execute a module twice

Acknowledgements

[X] I searched existing issues to avoid duplicates
[X] I understand this is a place to report a confirmed bug (not seek debugging help)
[X] I understand this is a collaborative open source project, and relies on community contributions
[X] I have read and understood the Contribution guide

Minimal reproduction URL
https://stackblitz.com/edit/stackblitz-starters-hfn7ts
Version
4.7.1
Node.js version
18.18.0 and 20.11.0
Package manager
npm
Operating system
Linux
Problem & expected behavior (under 200 words)

What happened

I’m in the process of migrating an app from CJS to ESM. This app contains some dynamic imports. The files dynamically imported are in part all the mongoose models to collect data on them and to basic checks. As soon as I started changing the extension of some models from .ts to .mts I had issues with mongoose reporting that I'm trying to register the same model twice. I made a simple repro in the provided stackblitz.

What I expected

You have 2 files in my minimun repro. One works.mts and one bugs.ts. They both basically contain the same code. Only the extension changes. It should execute the module.mts file alongside them only once. But in one case it is executed twice.
Contributions

[ ] I will open a pull request for this issue
[ ] I will support the work financially (any amount helps)

This is definitely unexpected.
What's happening is the first import statement gets converted to require(), and since require can't load Module (.mjs) files, it transforms them to CommonJS so it can be. The second dynamic import() remains untouched.
So the first and second files are technically different modules, where the first one is dynamically derived on demand.
This is a technical limitation but it will be resolved once https://github.com/nodejs/node/pull/51977 lands

I'm not sure, but feel free to give it a tackle. I'd be happy to review the PR!

I think this issue is quite serious. Does anyone care about it and make efforts to address it? Because if the imported file has side effects, it will be executed multiple times.

I think this issue is quite serious. Does anyone care about it and make efforts to address it? Because if the imported file has side effects, it will be executed multiple times.

You can use node -r tsx/cjs to only support require calls. Meaning all import() calls of TS files are going to fail. Then you move to node --import tsx/esm when everything is ported over to the module syntax. That means that your codebase should decide between require/import dynamically depending on how TSX is loaded. I created a small module that does just thant using an environment variable to decide between require and import. That is cumbersome but it works.

As per the contribution guidelines, comments that don't contribute towards landing a fix will be closed.
Feel free to open a PR if you can. I'd be happy to support you there. I'm thinking this is can be resolved in the latest Node version which has require(esm) support.


Some screenshot png cannot be viewed, and it displays nothing.

Just to make sure you are talking about the screenshots generated by the vita itself correct? I'll try to see if I can reproduce this.

I think I the issue is related to allocating/freeing memory,
because this time I just opened the same image 4 times, the first 3 it displayed it, but the fourth one not 'display nothing'
also it will not display any image until closing and reopening the app.
Here is the image which I reproduced the issue on it.

I was able to reproduce this last night. Will look into it.

Fixed with https://github.com/joel16/VITAlbum/commit/4e263cfbc9f8c3bbadcc2414581cb9338d5b7d79


Build error: use of unstable library feature 'ptr_as_ref' (On Ubuntu-Gnome, Gtk-3.20)

When compiling on Ubuntu-Gnome with gtk-3.20 (from ppa) I get following error:
/home/pcuser/.cargo/git/checkouts/gtk-c96242903338a0db/master/src/menu.rs:43:70: 43:78 error: use of unstable library feature 'ptr_as_ref': return value does not necessarily convey all possible information (see issue #27780)
/home/pcuser/.cargo/git/checkouts/gtk-c96242903338a0db/master/src/menu.rs:43     *push_in = f(&Menu::from_glib_none(this).downcast_unchecked(), x.as_mut().unwrap(),
                                                                                ^~~~~~~~
/home/pcuser/.cargo/git/checkouts/gtk-c96242903338a0db/master/src/menu.rs:44:20: 44:28 error: use of unstable library feature 'ptr_as_ref': return value does not necessarily convey all possible information (see issue #27780)
/home/pcuser/.cargo/git/checkouts/gtk-c96242903338a0db/master/src/menu.rs:44                  y.as_mut().unwrap()).to_glib();
                                                                                ^~~~~~~~
error: aborting due to 2 previous errors
Could not compile `gtk`.

To learn more, run the command again with --verbose.
Makefile:35: recipe for target 'ubuntu' failed
make: *** [ubuntu] Error 101

There is a provided Debian package available that I built on Ubuntu GNOME 16.04 last night if you want to use that.
It seems that you are using an outdated version of the Rust compiler. Are you using cargo from the official 16.04 repository? If so, Canonical has made the poor choice of not keeping Rust up to date and therefore few applications will compile with it, making the package effectively useless.
The standard method of installing Rust is to use the official rustup toolchain manager, which will allow you to install multiple rust toolchains (stable, beta, nightly) and targets (linux, windows, mac, android, musl, arm). You can later update your rust toolchains and targets by executing rustup update and may switch between toolchains with rustup default stable/beta/nightly.
curl https://sh.rustup.rs -sSf | sh

Are you using cargo from the official 16.04 repository?
Yes. Cargo version is 0.8.0-1 and rustc version is 1.7.0+dfsg1-1

I will try using 1.9 as you suggested.

Well, it compiles with rustc 1.9 which is in Yakkety. Thanks.

same issue in ArchLinux :(
   Co==> Building and installing package
==> Making package: systemd-manager 0.4.7-1 (Fri Jun 24 00:36:59 ART 2016)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading 0.4.7.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   130    0   130    0     0    181      0 --:--:-- --:--:-- --:--:--   181
100  415k    0  415k    0     0   172k      0 --:--:--  0:00:02 --:--:--  470k
==> Validating source files with sha256sums...
    0.4.7.tar.gz ... Passed
==> Extracting sources...
  -> Extracting 0.4.7.tar.gz with bsdtar
==> Starting build()...
   Compiling gio v0.1.0 (https://github.com/gtk-rs/gio#8c9e5eec)
   Compiling gdk-pixbuf v0.1.0 (https://github.com/gtk-rs/gdk-pixbuf#c50e5069)
   Compiling num-traits v0.1.32
   Compiling gtk v0.1.0 (https://github.com/gtk-rs/gtk.git#3659912a)
   Compiling libc v0.2.12
   Compiling cairo-rs v0.1.0 (https://github.com/gtk-rs/cairo#831e363d)
   Compiling c_vec v1.0.12
   Compiling bitflags v0.5.0
   Compiling bitflags v0.4.0
   Compiling gdk v0.5.0 (https://github.com/gtk-rs/gdk.git#b9d3fb76)
   Compiling void v1.0.2
   Compiling unreachable v0.1.1
   Compiling pkg-config v0.3.8
   Compiling quickersort v2.0.1
   Compiling gdk-pixbuf-sys v0.3.0 (https://github.com/gtk-rs/sys#aca761b6)
   Compiling gtk-sys v0.3.0 (https://github.com/gtk-rs/sys#aca761b6)
   Compiling pango-sys v0.3.0 (https://github.com/gtk-rs/sys#aca761b6)
   Compiling glib-sys v0.3.0 (https://github.com/gtk-rs/sys#aca761b6)
   Compiling gobject-sys v0.3.0 (https://github.com/gtk-rs/sys#aca761b6)
   Compiling dbus v0.3.3
   Compiling gio-sys v0.3.0 (https://github.com/gtk-rs/sys#aca761b6)
   Compiling cairo-sys-rs v0.3.1 (https://github.com/gtk-rs/cairo#831e363d)
   Compiling atk-sys v0.3.0 (https://github.com/gtk-rs/sys#aca761b6)
   Compiling gdk-sys v0.3.0 (https://github.com/gtk-rs/sys#aca761b6)
   Compiling glib v0.1.0 (https://github.com/gtk-rs/glib#046494fd)
   Compiling pango v0.1.0 (https://github.com/gtk-rs/pango#fb385621)
/home/nicolasm/.multirust/toolchains/stable/cargo/git/checkouts/gtk-373d3cc909970d2e/master/src/menu.rs:43:70: 43:78 error: use of unstable library feature 'ptr_as_ref': return value does not necessarily convey all possible information (see issue #27780)
/home/nicolasm/.multirust/toolchains/stable/cargo/git/checkouts/gtk-373d3cc909970d2e/master/src/menu.rs:43     *push_in = f(&Menu::from_glib_none(this).downcast_unchecked(), x.as_mut().unwrap(),
                                                                                ^~~~~~~~
/home/nicolasm/.multirust/toolchains/stable/cargo/git/checkouts/gtk-373d3cc909970d2e/master/src/menu.rs:44:20: 44:28 error: use of unstable library feature 'ptr_as_ref': return value does not necessarily convey all possible information (see issue #27780)
/home/nicolasm/.multirust/toolchains/stable/cargo/git/checkouts/gtk-373d3cc909970d2e/master/src/menu.rs:44                  y.as_mut().unwrap()).to_glib();
                                                                                ^~~~~~~~
error: aborting due to 2 previous errors
Could not compile `gtk`.

To learn more, run the command again with --verbose.
==> ERROR: A failure occurred in build().
    Aborting...
==> ERROR: Makepkg was unable to build systemd-manager.
==> Restart building systemd-manager ? [y/N]
==> ----------------------------------------
==> n

==> ERROR: unable to update
 nicolasm@chains  /tmp  pacman -Q | grep rust
rust 1:1.9.0-1
  nicolasm@chains  /tmp  pacman -Q | grep cargo
cargo 0.10.0-2

It would seem that you have two versions of Rust installed. One from multirust which is outdated, and one from the Arch Linux repository. The multirust version takes precedence over what Arch Linux installed.

I dont know what you are talking about!!

Multirust was deprecated in favor of the rustup rewrite in Rust. Rust 1.7 is too old for compiling the GTK-rs wrapper. Uninstall multirust and use either Rust from the Arch Linux repository or use rustup to get Rust 1.9 or higher.

Yeah, I know, but I am learning Rust editing that unix like OS written in Rust so multi rust is useful sometimes. Thanks for your help man ! :D


Add a visualization of the papers core components

Motivation
Instead of pretty printing just the result in the terminal, it would be a very nice addition to have a GUI which visually presents the Trie or other Structures in the Project.
This would enhance the learn-effect and would simplify the understanding of the algorithms in the backend
Implementation
Search a good library (Java or Scala) to then implement a nice visualization of the Maps which represent the Trie or the FailureFunction etc.
Additions
An additional feature to this issue could be a debugger which visually walks through this algorithm step by step

I now decided to use the Scala.js plugin to generate JavaScript code and therefore have all the perks of webdevelopment such as HTML and CSS aswell as a modern look and feel to everything

After trying Scala.js, I overthrew the idea of this webbased solution, as it doesn't really allow flexible design.
After research and some talks with fellow students, I decided to switch to processing.org based on the JVM to run on my scala Code base