New Driver: Vultr

Vultr driver updated to the new driver specs. Replaces PR #538 by @JamesClonk.

Conforms with new driver specs
Added flags for ipv6, automatic backups and private networking
Added pre-create validations for regionID, planID and API credentials
Added bats integration tests
Added unit tests
Added driver documentation
Added client request throttling to avoid hitting API rate-limit

No new commits will be pushed to this PR. Considered ready for testing/review.

Signed-off-by: Jan Broer<EMAIL_ADDRESS>

@janeczku - I'd like to try this out, can you rebase it please? :)

@hairyhenderson Can do - probably tomorrow.

Rebased the PR. Please test to break :) @hairyhenderson

Thanks @janeczku!

Ok, so here's an issue, but I don't know if it's in this code or if has to do with some of the recent SSH changes:
$ machine create -d vultr --vultr-api-key XXX dm-vultr
Creating SSH key...
Creating Vultr virtual machine...
Error dialing TCP: ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain
Error dialing TCP: ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain
Error dialing TCP: ssh: handshake failed: ssh: unable to authenticate, attempted methods [publickey none], no supported methods remain
Error dialing TCP: ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain
Error dialing TCP: ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain
... (repeat a billion times)
To see how to connect Docker to this machine, run: machine env dm-vultr
$

It appears that the resulting VM is working fine, so it might be nothing.
/cc @nathanleclaire @ehazlett @sthulb - I vaguely recall something recently that might be related?

@janeczku - looks like the start command is asynchronous. Can you change Start() (and probably Stop() too) so that it waits until the machine is reachable before returning? I think most other drivers behave this way.
$ machine -D stop dm-vultr
command=stop machine=dm-vultr
$ machine -D start dm-vultr
command=start machine=dm-vultr
$ machine ls
NAME         ACTIVE   DRIVER         STATE     URL                        SWARM
dm-vultr     *        vultr          Running   tcp://<IP_ADDRESS>:2376
$ machine -D ssh dm-vultr
dial tcp <IP_ADDRESS>:22: connection refused
$ machine -D ssh dm-vultr
dial tcp <IP_ADDRESS>:22: connection refused
...
$ machine -D ssh dm-vultr
Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.13.0-52-generic x86_64)
...

@janeczku - overall, this is looking pretty good. Might be nice too to add a bit more info-level logging, especially when long operations (during create for example) are happening.

@hairyhenderson thanks for your valuable observations!

looks like the start command is asynchronous. Can you change Start() (and probably Stop() too) so that it waits until the machine is reachable before returning? I think most other drivers behave this way.

They should :) But at least the DO driver respectively its API package has asynchronous start/stop commands as well. I will implement this in the Vultr driver and since they share most code we can then easily add this change to the DO driver as well.

Ok, so here's an issue, but I don't know if it's in this code or if has to do with some of the recent SSH changes: Error dialing TCP: ssh: handshake failed ....

I have investigated this. It's not really the driver's problem. This error occurs when the SSHKey has not yet been provisioned to the new instance (but the SSHd is already running). It takes up to 4 minutes until the Vultr instance is fully provisioned.  I rebased again and added a tiny bit of code making RancherOS the default OS for new instances.
/cc @ibuildthecloud @imikushin
Test builds / Free trial for VULTR

Hey @hairyhenderson, would you take a final look at the patch and (hopefully) give your OK? I rebased again and added a tiny bit of code making RancherOS the default OS for new instances.

Yep! I'll have a look. Might need to wait until Monday or Tuesday, but I'll get to this :)

Test builds / Free trial for VULTR

Thanks for the build! And, too bad the free credit is only for new users ;)

@hairyhenderson Thank you!

ping @hairyhenderson  :smirk:

@janeczku - hey, sorry, I've been super-busy with a new job and a new baby (born yesterday!) so it might be a little while before I can take a good look at this... In the meantime, looks like there's some merge conflicts again? I'll try to take a look in the next few days :)

hey, sorry, I've been super-busy with a new job and a new baby (born yesterday!)
@hairyhenderson, thanks for the feedback and congrats!

@janeczku - so far this looks pretty good! Just the one thing about the default for --vultr-os-id, then IMO this is ready to merge :)
/cc @ehazlett @nathanleclaire

@ehazlett @nathanleclaire you wanna chime in?  i'd be happy to finally see this merged :)

Thanks for your work @janeczku! I just tried out this fork with my Vultr account. It does not matter if I choose RancherOS or Ubuntu, docker-machine create always fails like this:
Validating Vultr VPS parameters...
Creating Vultr VPS...
Waiting for IP address to become available...
Error creating machine: json: cannot unmarshal string into Go value of type float64
You will want to check the provider to make sure the machine and associated resources were properly removed.

Looking at my Vultr console, the servers have been created successfully. Also, I am able to login using the SSH keys created by docker-machine (in ~/.docker/machine/...).
Any idea what's going wrong here? How to debug this?

@djmaze thanks for your feedback. This is caused by recent changes to Vultr's API protocol. It is already fixed in the Vultr API client and i will push it to the machine driver later today.

@djmaze this is now fixed. You can try the dev builds available here: https://github.com/janeczku/machine/releases/tag/v0.4.0-dev
Please report back if you find any other issues!

@janeczku Great, it works now. Thanks for the update!

After creating multiple machines on Vulr, docker-machine ls gives the following:
error getting state for host docker3: Rate limit reached - please try your request again later.  Current rate limit: 1 request/sec

It seems rate limiting does not work as needed.

@djmaze Thanks for your feedback. The rate limit error is due to the ls command querying the state of the hosts asynchronously (dispatching a goroutine for every host). The driver has no way to throttle these concurrent queries. This has to be addressed upstream in the libmachine code: https://github.com/docker/machine/blob/master/libmachine/host.go#L381

Excuse my limited Go knowledge. The tokenbucket library uses a mutex. Shouldn't this work across goroutines already?
Ah I see, there is one driver instance per machine, so one bucket per host. That's unfortunate ;/

@djmaze You got that right. Vultr really needs to change their 1/sec rate limit policy to something more reasonable like x/minute or x/hour.

So forgive me if this is stupid, but I just made the token bucket global:
diff --git a/drivers/vultr/vultr.go b/drivers/vultr/vultr.go
index 11249b7..98a3b04 100644
--- a/drivers/vultr/vultr.go
+++ b/drivers/vultr/vultr.go
@@ -96,10 +96,12 @@ func GetCreateFlags() []cli.Flag {
        }
 }

+var vultrTokenBucket = tokenbucket.NewBucket(1*time.Second, 1)
+
 func NewDriver(machineName string, storePath string, caCert string, privateKey string) (drivers.Driver, error) {
        d := &Driver{MachineName: machineName, storePath: storePath, CaCertPath: caCert, PrivateKeyPath: privateKey, bucket: nil}
        // throttle API queries according to 1/s rate-limit
-       d.bucket = tokenbucket.NewBucket(1*time.Second, 1)
+       d.bucket = vultrTokenBucket
        return d, nil
 }

This makes the ls command work for me. The tockenbucket code itself should be safe from parallel use in goroutines because it uses mutex and channels, right?
Of course we can do better and initialize the bucket on first use instead (using a mutex). Apart from that, is there anything wrong with this change?

Thats interesting! I would not have expected a single tokenbucket to work across multiple goroutines. It was my believe that when you have multiple receivers (<-d.bucket.SpendToken(1)) on the same channel,  they would all unblock once there is a single transmit on that channel and therefore breaking the throttling mechanism. It turns out thats not the case (with Golang channels there is only one active receiver at a time, the other ones are "waiting in line").
Again, great find :+1:

Confirmed working 1req/s API query throttling.

Janek$ ./docker-machine_darwin-amd64 -D ls
GetState() timestamp: 2015-07-21 00:45:38.064903604 +0200 CEST
GetState() timestamp: 2015-07-21 00:45:39.06484465 +0200 CEST
GetState() timestamp: 2015-07-21 00:45:40.064840547 +0200 CEST
GetState() timestamp: 2015-07-21 00:45:41.06476442 +0200 CEST

Unfortunately, now I am not able to build machines based on RancherOS with the Vultr driver. This is the output when using --vulr-os-id=159:
Validating Vultr VPS parameters...
Creating Vultr VPS...
Deploying RancherOS
Error creating machine: json: cannot unmarshal number into Go value of type string

With the default Ubuntu OS the installation works.

Got it working again by making SCRIPTID an int and adjusting the rest of the code accordingly. So again, this has to be fixed upstream first.

@djmaze Pushed fix to the Vultr API client repo. It was not enough to change the SCRIPTID field to integer since the API continues to return this field as a string in other calls. See here: https://github.com/JamesClonk/vultr/pull/7/files

Hi , thanks for your efforts and persistence in submitting this driver. We are extremely excited that there is so much interest in Docker Machine and we really appreciate your interest. However, at this time it is proving to be extremely difficult for us to keep up with reviewing and testing each of these drivers for inclusion in the Machine core. We really want to switch to a more pluggable model, as well as polish up a few things about the driver model which need to be changed to ensure a smooth and sustainable future.
Therefore, we will be moving to a plugin model for 0.5 and would love to have you involved in the design and development process. We are closing the outstanding driver PRs at this time, but please keep the code. We will stick closely to the current driver interface and you should be able to re-use a lot (if not all) of the existing driver along with the new plugin model. We will be moving all of the drivers which are merged directly into Machine today to the plugin model when it is available, so there will be no special treatment of those, and there will be documentation outlining the process of developing and using a Docker Machine driver plugin.
With all of that being said, we want to apologize for the lack of feedback on your pull request. As contributors ourselves, we understand that being left in limbo is no fun. We would have liked to address this sooner, and in the future we will be more responsive around these kinds of issues.
Once again, we thank you for the contribution and the tremendous support. Keep hacking strong!
If you want to contribute to the design of the plugin model, we'd love to get your input on this issue where we will be planning it:
https://github.com/docker/machine/issues/1626
@ehazlett & @nathanleclaire


shift sourceSets somewhat

This way ./gradlew idea works properly.

Note that the idea plugin is no longer supported by the IDE, and is considered deprecated. Running 2018.1 and 2018.2, I have seen it totally corrupt the project struct.


linkage_checker: add a check for extraneous dependencies

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew tests with your changes locally?

Detect extraneous dependencies in formulae. Might be useful for new formulae.

Have not written tests for my changes. Suggestions what tests to write are welcome
brew tests fail for some other tests

I'm not sure I'm reading this right but is an extraneous dependency any where there's no linkage? If so, this will need to be an optional flag as there will be a lot of false positives otherwise (i.e. anything that calls an executable from a dependency rather than linking against it, most scripting language dependencies, etc.)

A lot of false positives could be eliminated by ignoring any keg that has a bin directory. Many packages whose primary purpose is to provide a library have include and lib directories, but no bin directory.

I agree: false positives is a possibility.
brew linkage ffmpeg

reports xvid as a possible extraneous dependency

Those interested in testing this, try the following "one-liner" to check installed formulae:
for formula in $(brew list); do echo "* Formula: $formula"; brew linkage $formula | sed -n '/^Possible/,/^[^ ]/p;'; done

@ilovezfs identified that roughly half of depends_on "boost" dependencies in Homebrew/science use only the headers, and have no run-time linkage to boost, and so should in fact be depends_on "boost" => :build. This PR would help identify those cases. I'm having trouble finding the archived conversation—too many repos and slack channels.

@sjackman there could still be a need for boost to be installed for libraries that expose boost symbols in their own headers. Then anything that wants to build against the library would need the boost headers. It's kinda like the difference between lib* and lib*-dev packages on debian.

I just took a quick look at some of the packages in homebrew/science and found two that use the boost headers and install a library and header files (cantera and xylib). Despite having #include <boost/ statements in the installed header files, both of these formulae declare :build dependencies on boost, possibly because they also install executables and want to reduce the footprint for those users. If you're building from source against a library, they might be knowledgeable to install boost on their own.
Maybe these types of header-only dependencies that the linkage test can't see could be marked with :run like the build dependencies in audit?
https://github.com/Homebrew/brew/blob/master/Library/Homebrew/dev-cmd/audit.rb#L499-L507

I agree: false positives are a possibility.

Given we're running this in CI for everything in Homebrew/homebrew-core: we really don't want false positives here.

@ilovezfs identified that roughly half of depends_on "boost" dependencies in Homebrew/science use only the headers, and have no run-time linkage to boost, and so should in fact be depends_on "boost" => :build. This PR would help identify those cases.

I agree. Having this as an optional flag which is always run for new formulae in brew test-botseems like a good idea.

Please suggest test-cases or directions how to improve the code

@maxim-belkin Use ARGV.include?("--something") and only enable the current functionality if that is passed.

@MikeMcQuaid The output of Possible undeclared dependencies is informative only. It doesn't affect the exit status of either brew test or brew test --missing. For example brew linkage awk reports Possible undeclared dependencies: gmp. Would that be an option for this feature as well? Enabled by default, but not affecting exit status. To make this feature useful, it's still important to eliminate as many false positives as possible.

It doesn't affect the exit status of either brew test or brew test --missing.

It doesn't affect the exit status or output of https://github.com/Homebrew/homebrew-test-bot/blob/80333911e7130b9542a6fe2b94c1311b52cef319/cmd/brew-test-bot.rb#L664 ? That's what we need to avoid.

Sorry, I wrote too quickly and didn't engage brain. I had meant to say…
Possible undeclared dependencies doesn't affect the output status of brew linkage or brew linkage --check.
If the same were true for this PR Possible unnecessary dependencies would it be okay without an option to enable it?

I agree. Having this as an optional flag which is always run for new formulae in brew test-bot seems like a good idea.

Things that are known to give a lot of false positives aren't great even for --new-formula. We keep getting contributors asking, "Will my formula still qualify if those audits are failing?" and it's getting pretty old explaining that yes CI is bright red but no that doesn't matter because it will go away next time after it's merged.

This test will not affect the exit status of brew linkage --test, brew audit --new-formula, nor of CI.

@sjackman in that case: how does anyone notice that output and make changes as a result?

I'm guessing it prints console messages but doesn't affect the exit status, which is what CI cares about.

Same as with the existing Possible undeclared dependencies message. It's only an informational message. If you ran brew linkage manually you'd see the message, or if you looked in the CI log, you'd see the message.

Just an FYI: I've prepared a version with --extraneous so... just let me guys know what you decide. Personally, I think it is similar to undeclared dependencies, so I'd enable it by default.
As I mentioned in the OP, this could be used for new formulae: people could be asked to provide output of brew linkage when submitting a PR.

@sjackman in that case: how does anyone notice that output and make changes as a result?

Ah, I had forgotten that test-bot prints only the output of brew linkage --test and not brew linkage. In that case this PR does not affect CI at all. I would suggest modifying test-bot to run brew linkage, which always succeeds, in addition to brew linkage --test, so that the output of Possible undeclared dependencies and the proposed Possible unnecessary dependencies are in the build log.
+      test "brew", "linkage", dependent.name
       test "brew", "linkage", "--test", dependent.name

https://github.com/Homebrew/homebrew-test-bot/blob/master/cmd/brew-test-bot.rb#L664

Or brew linkage --test could be modified to keep its existing exit status behaviour, but print the more verbose message of brew linkage.

Or brew linkage --test could be modified to keep its existing exit status behaviour, but print the more verbose message of brew linkage.

that's a possibility.

The current output of brew linkage and brew linkage --test is…
❯❯❯ brew linkage gawk
System libraries:
  /usr/lib/libSystem.B.dylib
Homebrew libraries:
  /Users/sjackman/.homebrew/opt/gmp/lib/libgmp.10.dylib (gmp)
  /Users/sjackman/.homebrew/opt/mpfr/lib/libmpfr.4.dylib (mpfr)
  /Users/sjackman/.homebrew/opt/readline/lib/libreadline.7.dylib (readline)
Possible undeclared dependencies:
  gmp
❯❯❯ brew linkage --test gawk
No broken dylib links

Or brew linkage --test could be modified to keep its existing exit status behaviour, but print the more verbose message of brew linkage.

This seems sensible. That said: how are people going to notice this for formulae in CI or is this intended to just be manually run by maintainers? I'm trying to understand the use case.

Of 47 formulae that depend on boost in Homebrew/science, @ilovezfs identified that 20 of those 47 formulae have no library linkage to boost (that is, they use only the headers), so should in fact be depends_on "boost" => :build rather than depends_on "boost". This PR would allow a developer (maintainer or contributor) to run brew linkage foo, see the message Possible unnecessary dependency: boost, and change the dependency to a :build dependency. I would use this command when creating a new formula, or troubleshooting existing formulae.
https://github.com/Homebrew/homebrew-science/issues/6192#issuecomment-324509708

extraneous or unnecessary?
what should I do?

leave the PR "as is" 😊
move extraneous/unnecessary functionality under the --test

move undeclared dependencies under --test

This PR would allow a developer (maintainer or contributor) to run brew linkage foo, see the message Possible unnecessary dependency: boost, and change the dependency to a :build dependency.

That seems like a good workflow but I guess I'm just wondering if this is reliant on individual developers to manually do this: is it going to be useful? I see no harm in this PR as-is being merged, to be clear, I'm just trying to figure out if there's some better workflow.

extraneous or unnecessary?

unnecessary

what should I do?

As long as the exit code isn't modified I'm happy as-is. It does seem like it would be useful to have this under --test so test-bot runs it.

@maxim-belkin I'd suggest Possible build or unnecessary dependencies

I'm just trying to figure out if there's some better workflow.

If it were possible to eliminate all the false positives, then it could affect the brew linkage --test exit status. It may be possible, but it would require significant work, and may be impossible. If it got to the point of being mostly correctly (but not entirely), perhaps it could be enabled as a check for new formula only.
We could add a tickbox to .github/PULL_REQUEST_TEMPLATE.md that asks the user to run brew linkage foo and consider whether any of the Possible build or unnecessary dependencies may in fact be a :build dependency or unnecessary.

unnecessary

Let's go for this and then we can merge as-is if it's useful to you like that.

I'd suggest also renaming the code extraneous_deps to unnecessary_deps in that case, to match.

Sure, will do once I get to it. Should be today (evening).

In my second implementation of this PR (which I'm abandoning), I had to factor out declared_dep_names method from check_undeclared_deps
I can do that here too, if it seems reasonable/necessary.

I wonder if we should report possible unnecessary dependencies (PUDs) with bin directories as "tier-2" PUDs

I think the linkage_checker can be improved further. Code that detects undeclared/unnecessary dependencies is executed under --test, when, in fact, it should not.

can someone re-iniate the build? I think there was an intermittent issue

Those errors are currently affecting most things :see_no_evil:

💩

Could someone have a look at the following lines of this PR more closely: line 8 and 125 through 127.

@maxim-belkin you need to rebase the PR or it will keep failing.

it did not fail - it did not run one of the tests. but I'll rebase the PR.

any suggestion how to improve test fix "codecov/patch"?

Looks good to me, nice work @maxim-belkin!

Glad to contribute!


[ENT bug] Query hits PostgreSQL 65535 parameters limit

Describe the bug
After a large dataset is ingested, the OSV certifier and others that queries for all packages hit the PostgreSQL 65535 parameters limit:
go run ./cmd/guacone certifier osv
{"level":"info","ts":1713447858.50912,"caller":"logging/logger.go:75","msg":"Logging at info level"}
{"level":"info","ts":1713447858.509234,"caller":"cli/init.go:69","msg":"Using config file: /Users/parth/Documents/pxp928/artifact-ff/guac.yaml"}
{"level":"error","ts":1713447861.422855,"caller":"cmd/osv.go:169","msg":"certifier ended with error: failed sources query: input: packages pq: got 563996 parameters but PostgreSQL only supports 65535 parameters\n","stacktrace":"github.com/guacsec/guac/cmd/guacone/cmd.init.func10.3\n\t/Users/parth/Documents/pxp928/artifact-ff/cmd/guacone/cmd/osv.go:169\ngithub.com/guacsec/guac/pkg/certifier/certify.Certify.func1\n\t/Users/parth/Documents/pxp928/artifact-ff/pkg/certifier/certify/certify.go:81\ngithub.com/guacsec/guac/pkg/certifier/certify.Certify\n\t/Users/parth/Documents/pxp928/artifact-ff/pkg/certifier/certify/certify.go:99\ngithub.com/guacsec/guac/cmd/guacone/cmd.init.func10.4\n\t/Users/parth/Documents/pxp928/artifact-ff/cmd/guacone/cmd/osv.go:180"}
{"level":"info","ts":1713447861.4229681,"caller":"cmd/osv.go:192","msg":"All certifiers completed"}

This happens based on how the query for packages is setup where it eager loads the packageName edges to reconstruct model.Package as shown below (WithName does the eager loading):
https://github.com/guacsec/guac/blob/358205b583a21f3ba196073c8b08521c6389ace4/pkg/assembler/backends/ent/backend/package.go#L50-L57
This similar issue may be faced by other nouns/verbs that do some type of eager loading or filtering.
To overcome this, we need to implement pagination in ENT: https://entgo.io/docs/tutorial-todo-gql-paginate/#add-pagination-support-for-query. More information found in the issue https://github.com/guacsec/guac/issues/1525
To Reproduce
Ingest a large amount of SBOM and try to query without a filter. This will result in:
{
  "errors": [
    {
      "message": "HasSBOM: pq: got 563996 parameters but PostgreSQL only supports 65535 parameters",
      "path": [
        "HasSBOM"
      ]
    }
  ],
  "data": null
}

Expected behavior
Return data back with pagination
GUAC version
main

fixed with https://github.com/guacsec/guac/pull/2184


Request: an add time function for some timer parameters

This is something i was trying to handle with some regex extracting the values that the API returns and add the time i want for example:
let's say that i have a user in the hotspot which returns the value
limitUptime='1d12h'
but if i want to increase that limit with something like limitUptime + "1h" isn't possible without lots of manually regex, split and join methods for that string, so a helper function for this would be a realive.

I'm sorry but this shouldn't be something that should be handled by the routeros client api but some other lib with this exact purpose. You can try using something like (https://momentjs.com/)[momentjs] with has a very powerfull date and time manipulation.
I'm closing it now since this feature is not on the scope of the lib.


Scalability Testing

Test the following :

How much Load it can handle when opened on various different systems and devices

The ICANBEWELL Website on the the smallest IPhone and Android phone and all different portable devices such as Laptops , tablets , IPads .

Doesn't seem like an issue anymore.


A* with JPS

Thanks for posting this, I'm a fan of your API! This looks much more flexible than most of the other pathfinding libs I've seen out there, and I'm actually going to switch away from the library that I've been using (bgrins/javascript-astar) and use yours instead.
Is there any chance that you would consider implementing Jump Point Search? I'm in a situation where performance is a huge concern, and I believe JPS would help alleviate some of that.
If you aren't already aware,
Demonstration (use dropdown)
Explanation 1
Explanation 2

Hi ! Thanks for your input !
I'm going to check what can be done for it :)
Hopefully it'll be implemented soon !

It's almost done, but it seems that there a still some issues with nodes never reached.
This should be fixed this week.
Usage will be as below :
astar.path(start, goal, {jps:true})

Done !
See it in action here !


Update commons-io to 2.16.0

About this PR
📦 Updates commons-io:commons-io from 2.11.0 to 2.16.0
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "commons-io", artifactId = "commons-io" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "commons-io", artifactId = "commons-io" }
}]

labels: test-library-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #381.


IKCE-004 Docker and Project CI/CD Initialization [EPIC]

Need to setup template Jenkins or other CI/CD for the frontend + backend repo, and integrate with github actions to run on each PR as a validation method. May also need to setup SonarQube as well for this.

IKCE-004 Task-000 Initial template and Github Actions Research.
IKCE-004 Task-001 CI/CD Frontend Implementation.
IKCE-004 Task-002 CI/CD Backend Implementation.

Looked into both Jenkins and GitHub Actions. Actions will be easier for us to use for now since it will integrate with the rest of our project, but if we need to switch to Jenkins later migration should be simple.


[BUG]: References to same table breaks typings

What version of drizzle-orm are you using?
0.29.2
What version of drizzle-kit are you using?
0.20.8
Describe the Bug
Let's say I have a table that has recursive ids, for example an organisation can have a parent organisation.

Create a table

export const organisation = pgTable('organisation', {
  id: integer('id').primaryKey(),
  parentId: integer('parent_id').default(null),
});

Add a reference to the same table

export const organisation = pgTable('organisation', {
  id: integer('id').primaryKey(),
  parentId: integer('parent_id')
    .references(() => organisation.id)
    .default(null),
});

Now the typings are broken.
Expected behavior
No response
Environment & setup
No response

This is a typescript limitation because the object is referencing itself on creation. There are two workarounds:
Using a type hint (I'm not sure this isn't going to have consequences later in the code):
export const organisation = pgTable('organisation', {
  id: integer('id').primaryKey()
    .references((): AnyPgColumn => organisation.id)
    .default(null),
  parentId: integer('parent_id').default(null),
});

Or using the 3rd parameter of the pgTable function:
export const organisation = pgTable('organisation', {
  id: integer('id').primaryKey(),
  parentId: integer('parent_id').default(null),
}, (table) => {
  selfReference: foreignKey({
      columns: [table.parentId],
      foreignColumns: [table.id],
      name: "custom_fk"
    })
);

See docs.


Each submit videos to Gabriel

See this issue for more info.

@Hamlob has submitted
Pending @Jenibluere and @MrMeerkat


Patch 2

Please also add „published“ key with current date and time.

Done

Meta and icon from different repos? ;-)

Please add bluefox or iobroker org to owners

And make testing please green :-)

... ok testing is missing in package.json :-)

BTW: Do the adapter really stop after one execution? Maybe you should add a "adapter.stop()" call at the end

Ok? Or not yet?

Yepp OK

Bu testing partially red :-)


ZEPPELIN-3557. Remove interpreter profiles

What is this PR for?
Just remove all interpreter profiles, instead of disable them by default. So that we won't forget to build them in travis.
What type of PR is it?
[Refactoring]
Todos

[ ] - Task

What is the Jira issue?

https://issues.apache.org/jira/browse/ZEPPELIN-3557

How should this be tested?

CI

Screenshots (if appropriate)
Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? No

@jongyoul Could you help review it ? Thanks

What I thought is to move all interpreters modules to optional. For instance, running mvn package will create only zeppelin-* modules, and if users want to build spark, users should do add -P spark as an option like mvn package -Pspark. What do you think of it? The main reason why I'd like to do it is to make Zeppelin's code more friendly for IDE. WDYT?

I am afraid currently we can not do this. Because some unit test in zeppelin-zengine & zeppelin-server depends on spark interpreter (ZeppelinSparkClusterTest).

Agreed. Let's merge it and proceed them with another PR.

BTW, did you test if sparkR works with -Pr?

Actually this is my long time confusion part. -Pr would copy its artifact to interpreter/spark folder but it never used. I don't know the history of -Pr, is it an existing issue ?

@zjffdu Yes, it has a very long story. I, personally, don't want to keep both of them, but didn't find any solution to fit both requirements. -Pr is pure R interpreter which supported - I didn't test it - spark inside it. AFAIK, no one tests if SparkR works for now with -Pr.

Right, I think no one is using the pure r interpreter. I think we can use it 2 ways.

Create a pure r interpreter without spark support.
Use it another r implementing of spark and make option to allow user to choose whatever r implementation they want to use. (Because I don't know which r implementation is better, so I don't want to remove anyone of them)

We've tried to option 1 before but failed. We'd better give options to users like option 2

Thanks @jongyoul I created ZEPPELIN-3676 for this. and will merge this ticket first.

@zjffdu, please look, smth went wrong: https://issues.apache.org/jira/browse/ZEPPELIN-3682


Add Pipfile

What tests do I need to run to verify the service is working?

I would modify the docker compose to build the image like in the java services that were gradlized and then created and get an id mapping

The readme needs updates as well I notice

What is mongoinit in docker-compose file. Is removed in the java services that were gradlized.

self note: still need to verify the service works.

Steps to test the service:

create local admin
create 2 namespaces
add administrators
create mappings
list mappings


removed some deprecated methods and simplified the code

Coverage increased (+0.08%) to 77.38% when pulling c6107055b22cb29b8ec20b24791b8bea1c29a1fe on erikbern/param-cleanup into 1939a06c1b205fcb20ba80223537345333f45c6a on master.

Nice


Warn if replay_start_size is too large

If replay_start_size is larger than capacity of the replay buffer, the DQN agent never updates its model.  I'd be happy if such configuration error is warned.

Where to do it?

DQN.__init__

Implement capacity attribute to replay buffers.

append method of the replay buffer

sample method should be called before the replay buffer starts to drop data.

Taking on this issue.

already solved by #321


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/46899

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/47932

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/48752

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/57136

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/60461

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/70328

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/109401


python310Packages.stevedore: 4.0.1 -> 4.1.0

Description of changes
Update to latest upstream release 4.1.0

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 200181 run on x86_64-linux 1

2 packages marked as broken and skipped:

python310Packages.optuna
python39Packages.optuna

18 packages failed to build:

python310Packages.qiskit
python310Packages.qiskit-aer
python310Packages.qiskit-finance
python310Packages.qiskit-ibmq-provider
python310Packages.qiskit-ignis
python310Packages.qiskit-machine-learning
python310Packages.qiskit-nature
python310Packages.qiskit-optimization
python310Packages.qiskit-terra
python39Packages.qiskit
python39Packages.qiskit-aer
python39Packages.qiskit-finance
python39Packages.qiskit-ibmq-provider
python39Packages.qiskit-ignis
python39Packages.qiskit-machine-learning
python39Packages.qiskit-nature
python39Packages.qiskit-optimization
python39Packages.qiskit-terra

83 packages built:

glanceclient (python310Packages.python-glanceclient)
heatclient (python310Packages.python-heatclient)
home-assistant-component-tests.nx584
ironicclient (python310Packages.python-ironicclient)
jenkins-job-builder (python310Packages.jenkins-job-builder)
localstack (python310Packages.localstack)
manilaclient (python310Packages.python-manilaclient)
nox
openstackclient (python310Packages.python-openstackclient)
papis (python310Packages.papis)
prospector
python310Packages.bandit
python310Packages.bugwarrior
python310Packages.cliff
python310Packages.doc8
python310Packages.dogpile-cache
python310Packages.hacking
python310Packages.keystoneauth1
python310Packages.localstack-ext
python310Packages.openstacksdk
python310Packages.osc-lib
python310Packages.oslo-concurrency
python310Packages.oslo-config
python310Packages.oslo-context
python310Packages.oslo-db
python310Packages.oslo-i18n
python310Packages.oslo-log
python310Packages.oslo-serialization
python310Packages.oslo-utils
python310Packages.plux
python310Packages.pynx584
python310Packages.python-cinderclient
python310Packages.python-jenkins
python310Packages.python-keystoneclient
python310Packages.python-novaclient
swiftclient (python310Packages.python-swiftclient)
python310Packages.stestr
python310Packages.stevedore
python310Packages.subliminal
python310Packages.subunit2sql
python310Packages.tempest
python310Packages.tern
python310Packages.virtualenvwrapper
python39Packages.bandit
python39Packages.bugwarrior
python39Packages.cliff
python39Packages.doc8
python39Packages.dogpile-cache
python39Packages.hacking
python39Packages.jenkins-job-builder
python39Packages.keystoneauth1
python39Packages.localstack
python39Packages.localstack-ext
python39Packages.openstacksdk
python39Packages.osc-lib
python39Packages.oslo-concurrency
python39Packages.oslo-config
python39Packages.oslo-context
python39Packages.oslo-db
python39Packages.oslo-i18n
python39Packages.oslo-log
python39Packages.oslo-serialization
python39Packages.oslo-utils
python39Packages.papis
python39Packages.plux
python39Packages.pynx584
python39Packages.python-cinderclient
python39Packages.python-glanceclient
python39Packages.python-heatclient
python39Packages.python-ironicclient
python39Packages.python-jenkins
python39Packages.python-keystoneclient
python39Packages.python-manilaclient
python39Packages.python-novaclient
python39Packages.python-openstackclient
python39Packages.python-swiftclient
python39Packages.stestr
python39Packages.stevedore
python39Packages.subliminal
python39Packages.subunit2sql
python39Packages.tempest
python39Packages.tern
python39Packages.virtualenvwrapper

qiskit-* is already broken.


Properly support decoding CustomAttr referencing enums from another assembly

This is tricky because we have a TypeDefOrRef and must deduce the size of the argument value from it, but that may involve loading a different assembly and checking the underlying type of the target enum, and we don't support doing this at the metadata format layer.

Implemented as of https://github.com/tristanlabelle/swift-dotnetmetadata/commit/6a1d54298e9bb5b5c6b2d60f54f01ca93443e07e


advancedSearch bug

The advancedSearch function in common-utils.js doesn't work as I expect.
If I want to search this description Multiple status values can be provided with comma separated strings of this operation Finds Pets by status it doesn't work.
I suppose that is caused by this code of advancedSearch function:
...
if (searchOptions.includes('search-api-descr')) {
  stringToSearch = `${stringToSearch} ${path.summary || path.description || ''}`;
}
...

As you can see if path.summary is not null the path.description is ignored.
Could you add a button that enables searching only in path.description (ignoring path.summray) or could you change this behaviour to take both of them in the search?
Thank you in advance.

thanks for pointing out the issue


Ideally, there should be no "a" concatenation. It should be looked up from a table.

@googlebot I signed it!


Inconsistency between instructions and sample code.

In the "Configure Routing" section, the instructions say that we should add attributes to the controller and the controller's method, but the same code only shows attributes on the controller.

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

ID: 6f83a3b4-28f6-5f0f-a8bf-aef76f05fe42
Version Independent ID: 0d0bc32b-5909-580f-1030-edbf1d3d9a68
Content: Migrate from ASP.NET Web API to ASP.NET Core
Content Source: aspnetcore/migration/webapi.md
Product: aspnet-core
GitHub Login: @ardalis
Microsoft Alias: scaddie

Hello @sjetha ... Yes, it was a prior-to-2.1 (or 2.0) scenario. Given that there's no sample for versions earlier than 2.1, I think the whole topic can go 2.1+ with those lines removed.
@scottaddie I have a branch set up with updates to cover this but won't submit a PR unless u say to.


Minimum GPU requirement for finetuning InternLM-XComposer2-4KHD-7B

Thanks for your work! Whats the minimum GPU memory required for fine-tuning InternLM-XComposer2-4KHD-7B with and without lora? Would 4x V100 be sufficient?

The minimum GPU memory depends on the hyper-parameter value of max_len, lora_r and lora_alpha. If you use very small values, you can fine-tune the model on a single 40G A100 GPU.


chore: flush the local tracer every 30s

This changes help to flush the buffered writer in the file every 30s if not enough updates are happening.
This solves the issue of not seeing any traces when running a stable network

I didn't know it was used in app. Where is it please? @rootulp
If this is used downstream, we can make the change backwards compatible. I thought it's proper to core and it's fine to just change

I didn't know it was used in app. Where is it please? @rootulp

Oops nvm it isn't used in app. Disregard

Closing this as I think it's unnecessary. The issue was happening because I was running a small network and the buffer doesn't receive enough data to write it.
However, in a realistic network, running all reactors, this shouldn't happen.


replace @changesets/cli with primer-changesets-cli

Description
This is part of an effort to provide a notification system to users of Primer releases.
To test the new changeset CLI

Checkout this pull request
npm install
npx changeset

Screenshots
Note that this recording shows the option for @primer/react. It will show these components when run inside the primer/view_components repository
https://github.com/primer/react/assets/39992/bf795016-570d-4462-9cde-e8e423e3d964
Integration

Does this change require any updates to code in production?

No
Merge checklist

[ ] Added/updated tests
[ ] Added/updated documentation
[ ] Added/updated previews

@siddharthkp gave me these tips:

@primer/react: use the generated/components.json file
@primer/view_components: retrieve components from https://primer.github.io/view_components/components.json

When you run the CLI it will log out where it retrieves the components.
Ideally I'd like it to retrieve the componenents in both cases from local files.

@gr2m interesting, thanks for that explanation. I looked through our codebase and can't figure out what generates components.json, do you know where that happens?

When you run the CLI it will log out where it retrieves the components.

Ah ok I was a bit thrown off by the screen recording, but upon closer inspection it was recorded inside the primer/react repo as opposed to PVC.

Ideally I'd like it to retrieve the components in both cases from local files.

There are a number of other files in the static/ directory that contain all the information you're looking for. Check out static/info_arch.json.

I looked through our codebase and can't figure out what generates components.json, do you know where that happens?

No 🤣 I had the same question. It's easy to change the source of the components though

There are a number of other files in the static/ directory that contain all the information you're looking for. Check out static/info_arch.json.

Okay I created an issue here: https://github.com/gr2m/primer-changesets-cli/issues/3
Looks like static/info_arch.json has 7 more components. Also it includes the capitalized module names, which I guess is preferable?

No 🤣 I had the same question. It's easy to change the source of the components though

Ok cool 😎 If we can figure out what generates components.json I'd be happy to update it to include the missing components and/or include the fully-qualified constant names, but barring that info_arch.json should work.

Looks like static/info_arch.json has 7 more components. Also it includes the capitalized module names, which I guess is preferable?

Yes, definitely. Unlike React, our components go through a series of stages, i.e. experimental -> alpha -> beta -> stable, which is reflected in the component's namespace. In other words, Primer::Alpha::Label and Primer::Beta::Label are actually different components.

Hey @gr2m this is looking good 👍 As soon as these merge conflicts are resolved we should be good to go.

I added a CI check that not only checks for the presence of .changesets/*.md files, but also validates the <!-- Changed components: ... --> footer.
I realized that primer/react use skip changeset as label, while primer/view_components is using skip changelog. No problem, I'll make the CI work with both, but maybe it would make sense to normalize that across the repositories?

This should be ready to be merged

Yeah, we should use skip changeset everywhere.

See: https://github.com/primer/view_components/pull/2089

The failing CI is not required, but the error seems related to changes in this pull request:

invalid reference: primer-changesets-cli

I'll have another look

The failing CI is not required, but the error seems related to changes in this pull request:

invalid reference: primer-changesets-cli

I'll have another look

Nevermind, I'm pretty sure the primer-changesets-cli is the branch name, not related to the new npm package.

@camertron I'm not authorized to merge, but this is good to go


[ADDITION] Secure Code Warrior

Category
Software to be added
Secure Code Warrior
Supporting Material
URL: https://www.securecodewarrior.com/
Description: Secure Code Warrior makes secure coding a positive and engaging experience for developers as they increase their software security skills.
Size:
HQ: Sydney
LinkedIn: https://www.linkedin.com/company/secure-code-warrior/
See Record on Airtable:
https://airtable.com/app0Ox7pXdrBUIn23/tblYbuZoILuVA0X3L/recpkYbH2ckzhmQbk

Adding new category: education course


MongoDB standalone architecture  handling - missing in template

folks,
I figured MongoDB standalone architecture handling is also required in configmaps_st2-conf.yaml template.
At the moment Standalone or Replicate set both populate list of mondo-pb pod endpoints to config.
https://github.com/StackStorm/stackstorm-ha/blob/master/templates/configmaps_st2-conf.yaml
  {{- if index .Values "mongodb" "auth" "enabled" }}
   host = mongodb://{{ template "mongodb-nodes" $ }}/{{ required "mongodb.auth.database is required!" (index .Values "mongodb" "auth" "database") }}?authSource={{ required "mongodb.auth.database is required!" (index .Values "mongodb" "auth" "database") }}&replicaSet={{ index .Values "mongodb" "replicaSetName" }}
   username = {{ required "mongodb.auth.username is required!" (index .Values "mongodb" "auth" "username") }}
   password = {{ required "mongodb.auth.password is required!" (index .Values "mongodb" "auth" "password") }}
   db_name = {{ required "mongodb.auth.database is required!" (index .Values "mongodb" "auth" "database") }}
   {{- else }}
   host = mongodb://{{ template "mongodb-nodes" $ }}/?replicaSet={{ index .Values "mongodb" "replicaSetName" }}

I can reproduce everything in my env. I fix would be needed.
Thx
G

Hi @gauravjain1582 this is by design. MongoDB standalone is not a recommended option for StackStorm-HA deployment. All pods (as appropriate) and external dependencies are expected to be HA. Ideally, standalone should only be used in development/testing environment. For Production replicaset is the way to go. Hope that helps.

Why would you install a standalone MongoDB in kubernetes?
If you have a standalone MongoDB instance outside of kubernetes, then you should be disabling the mongodb chart, and provide your own database host/auth config in .Values.st2.config.
If, however, you are using the mongo subchart to somehow install a standalone mongo, then I'm happy to review a pull request that fixes support for that setup. What changes would be required to support that? Is it minimal?


Added 'Integrating OpenFaaS and GraphQL'

Added a blog post. @alexellis I also changed the author of my post but was that all right? Thanks!

Sorry it looks like I did that unintentionally. Thanks for fixing


[Feature Request] Resolve Microsoft Outlook/Teams "safe links" and handle the target link according to configuration

My workplace has Microsoft "Safe Links" enabled in Outlook and Teams and probably other Microsoft applications. This means that every link opened from these applications is rewritten to some Microsoft page, which verifies the URL and then redirects to it.
This completely breaks the idea of BrowseRouter, since there's essentially only a few target URLs. It would be really great if BrowseRouter detected those URLs, extracted the target URL from them, and then opened the target URL directly according to configuration.
These are the patterns I've found:

https://statics.teams.cdn.office.net/evergreen-assets/safelinks/1/atp-safelinks.html?url=http%3A%2F%2Fexample.com%2F[...]
https://.safelinks.protection.outlook.com/?url=http%3A%2F%2Fexample.com%2F[...]

It seems like parsing the query string and opening the value of the url instead of the passed link should be enough.

Thanks @bllngr for the feature request. I also use Teams at work and have the same problem. I'll look into adding an option to parse out SafeLinks URLs.


Fix build script

The build_helper.sh script fails when it should build using jemalloc.

I think equivalent changes have already landed in master.  If not, feel free to rebase, resolve conflicts and reopen.

It was. No worry.


?component loader doesn't work with vitest

Hey,
Thanks for the library, it allows us to style svgs using currentColor.
I have an issue during testing however. I created a vue project using the getting started guide: https://vitejs.dev/guide/#scaffolding-your-first-vite-project
This configures vitest which uses the same vite.config.ts as the app during development.
However during tests I get the following errors:
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 2 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯

 FAIL  src/screens/IssueDetails.test.ts > IssueDetails > renders properly
Error: Failed to fully serialize error: 'get name' called on an object that is not a valid instance of DOMException.
Inner error message: "/src/assets/icons/arrow-left.svg?&component" did not match the Name production
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/2]⎯

 FAIL  src/screens/IssueDetails.test.ts > IssueDetails > can access methods from the imported component
Error: Failed to fully serialize error: 'get name' called on an object that is not a valid instance of DOMException.
Inner error message: "/src/assets/icons/arrow-left.svg?&component" did not match the Name production
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/2]⎯

Test Files  1 failed (1)
     Tests  2 failed (2)
      Time  1.57s (in thread 41ms, 3819.19%)

It seems that this svg-loader is doing something different when being run through vitest, but I don't know why.

Nevermind, this was an issue in vitest and not in this library: https://github.com/vitest-dev/vitest/issues/1366
I fixed it by upgrading vitest to 0.18.0


Failed to create server socket (OS Error: An attempt was made to access a socket in a way forbidden by its access permissions. , errno = 10013), address = <IP_ADDRESS>, port = 8080

This issue was originally filed by<EMAIL_ADDRESS>
What steps will reproduce the problem?
1.I updated Dart
2.
3.
What is the expected output? What do you see instead?
I expect to see my project open in Dartium. Instead I receive this error.
Failed to create server socket (OS Error: An attempt was made to access a socket in a way forbidden by its access permissions.
, errno = 10013), address = <IP_ADDRESS>, port = 8080
What version of the product are you using? On what operating system?
 Im using the newest 64 bit version of dart for windows 7.
Please provide any additional information below.

same problem! on windows 10 platform.

I have the same problem too on Windows 10


Filtering the files using config is not working

As my title says, I am expecting a way to filter out files which are not needed to be included in the scaffolding from my template.
I am not sure if this feature is directly available as I imagine or there there must be a different way to do the same.

Output of this will scaffold the entire directory as I need but I need to exclude the files which I don't need be.
Hope I am able to explain my issue.

Hi @qualitycoder :)
I'm not sure where the filter, overwrite and transform came from;
But here is what you can do:

For transforming files, are you only trying to modify the ouput path? In that case, output can take a function which will be applied on each file, and overwrite the output path for it. You can see the relevant docs here.
return Scaffold({
  output: (file) => {
    // file is a string path
    if (file.startsWith(path.join(__dirname, './specbee-cypress/cypress'))) {
      return file.replace(
        path.join(__dirname, './specbee-cypress/cypress'),
        path.join(__dirname, '../..'),
      )
    }
    return path.join(__dirname, '../..', file)
  },
})

You might want to play around with the path outputs, I'm not sure exactly how your file structure looks.

As for filtering out files/folders, that sounds like a really good feature suggestion; but until that is implemented, it's only possible if you specify the folders you want to add, like this:
return Scaffold({
  templates: [
    // add children of . instead of . directly:
    './folder1',
    './folder2',
    // ...
  ],
})

I was sure negative globs would be supported, but it's either a bug or I misunderstood the glob library, I will do my best to fix that or see what I can do there.

Do these work for you? Let me know if you need further help
I will update here when I get the chance to add better filtering.

hi @chenasraf , Your workaround for filter is working fine with your approach and takes exactly the same files/folder I need but, output is not as expected. I m just not trying to modify the path instead, I want to copy the files/folder with the original structure into my root.

In the above screenshot, I get the output inside a folder with absolute path. I tried using path to resolve these conflicts but no success.
My original folder structure

I want exactly the same structure upon scaffolding into the root the the project where I install.

I will work on improving the glob patterns so exclusions can be added. Maybe even an ignore list.
Hopefully I will have time either this week or next week to push an update.
As for fixing the paths right now, maybe try outputting a relative path instead of an absolute path in output? It appears I have a bug here where it unnecessarily strips the leading / so it treats it as relative.
Try to make output return paths that are relative to the directory you want to output in
Once I figure out some better path resolution strategies, it's possible this can be removed

@sidduspec Just released v2.3.0, if you want to exclude any glob patterns from templates, just prepend a glob pattern or file with !, like so:
return Scaffold({
  templates: [
    '.',
    '!bitbucket-pipeline/',
    '!scaffold.js',
    '!README.md',
    '!node_modules/',
    '!package-lock.json',
  ],
})

Let me know if that works for you or not

@chenasraf , Your solution to exclude files seems working fine. But I am not able to output the exact structure as I want. Please find my file structure attached.
I am checking for folder or file and doing the scaffolding accordingly. Still I get the below error

My folder Structure and config file:

No need to resolve the file paths in the templates directory, that seems to be causing issues.
Just supply a relative path to the template, can be . for example. Then add the excludes later.

@chenasraf , Thanks for your help. Issue resolved when I stopped resolving the path. We can happily close this.

Glad it's working :)


Fix detection of NodeLists in jsdom 6+ documents.

Could you please bump the npm version?

Released in 3.0.2

Thx :+1:


fix(gateway): Fallback to get_hostname() for systemd deployments

Fixes #3025

I don't think that connlib already uses get_hostname, so need to wait until it does.

Yep! I've been seeing the hostname pop up in the UI for about a week now. https://github.com/firezone/firezone/blob/main/rust/connlib/shared/src/lib.rs#L53


Remove redundant use of xcrun

There's already /usr/bin/xcodebuild which uses the same underlying library libxcselect.dylib to select the correct version of Xcode to use.

Looks okayish I guess


hello guys

when i build with npm i don't get the program binaries  just get 2 .js files

for generate the binaries you should run one of those npm commands, specific for your targeting platform:
dist:win
dist:linux
dist:mac

build is only to compile the final js files (sorry for the lack of documentation about that)

Thanks i have another question where are you from???? i say that because i
have family which has your lastname araujo from part of my paternal grandma
maybe we are cousins
El mié., 3 de noviembre de 2021 6:59 p. m., Bruno Araujo <
@.***> escribió:

for generate the binaries you should run one of those npm commands,
specific for your targeting platform:
dist:win
dist:linux
dist:mac
build is only to compile the final js files (sorry for the lack of
documentation about that)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/brunurd/companion/issues/30#issuecomment-960304595,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUVLCGS43KNYJ4DNQWFEJL3UKHEE3ANCNFSM5GD4GN7A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

another question is dist and the 2 dots or dist and an equal sign (=)
El dom, 7 nov 2021 a las 16:36, Juan manuel Pareja matute (<
@.***>) escribió:

Thanks i have another question where are you from???? i say that because i
have family which has your lastname araujo from part of my paternal grandma
maybe we are cousins
El mié., 3 de noviembre de 2021 6:59 p. m., Bruno Araujo <
@.***> escribió:

for generate the binaries you should run one of those npm commands,
specific for your targeting platform:
dist:win
dist:linux
dist:mac
build is only to compile the final js files (sorry for the lack of
documentation about that)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/brunurd/companion/issues/30#issuecomment-960304595,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUVLCGS43KNYJ4DNQWFEJL3UKHEE3ANCNFSM5GD4GN7A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

I can't say the same for your name 😅
I gonna close because the issue is resolved, ok?
but Araujo is a portuguese surname, is common there and in other portuguese speakers countries, like Brazil.

Thank you for the clarification.
El lun., 8 de noviembre de 2021 7:18 p. m., Bruno Araujo <
@.***> escribió:

I can't say the same for your name 😅
I gonna close because the issue is resolved, ok?
but Araujo is a portuguese surname, is common there and in other
portuguese speakers countries, like Brazil.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/brunurd/companion/issues/30#issuecomment-963693731,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUVLCGWFQFXM2OGIIYFSQ3LULBSFRANCNFSM5GD4GN7A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

And no it don't solved anything man i put the command on powershell and it
npm says me that the command doesn't exist but there is a command called
npm dist-tag but i don't know how to use it any suggestions
El lun., 8 de noviembre de 2021 7:18 p. m., Bruno Araujo <
@.***> escribió:

I can't say the same for your name 😅
I gonna close because the issue is resolved, ok?
but Araujo is a portuguese surname, is common there and in other
portuguese speakers countries, like Brazil.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/brunurd/companion/issues/30#issuecomment-963693731,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUVLCGWFQFXM2OGIIYFSQ3LULBSFRANCNFSM5GD4GN7A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

@soyDESKTOP68A2MRFT sorry, probably you run npm dist:linux, but you should run npm run dist:linux, for example. Is that the case?


How can we help?
I would like someone else to build the manifest.
Please provide the following information
Download Page Url: https://github.com/dsymbol/yt-dlp-gui
Publisher: dsymbol
Package Name: yt-dlp-gui
Description: A cross-platform GUI wrapper for yt-dlp written in PySide6
Package Version: 2024.10.02
Installer URL: https://github.com/dsymbol/yt-dlp-gui/releases/download/2024.10.02/yt-dlp-gui-win64.zip

My bad, reopening since i'm requesting yt-dlp-gui, which is not the same of any of the other issues mentioned

So fast! Thank you!


DBZ-2975: Remove partition from offset context

This patch removes io.debezium.pipeline.spi.OffsetContext#getPartition in favor of passing the partition argument explicitly alongside with the offset context.
Background
Currently, the Kafka Connect source partition is contained in the offset context, and OffsetContext.Loader#load(Map<String, ?>) is responsible for initializing it. This has been working well so far since all the connectors support handling only a single source partition, so it's derived directly from the connector configuration.
Problem
Since we're switching to multiple partitions and multiple offsets per connector task, each offset now has to represent a separate partition, and the loader needs to explicitly accept one. In which format should it accept the partition?

If it accepts a Kafka Connect partition (Map<String, ?>), it will have to construct a Debezium Partition from it which Partition.Provider already takes care of. This approach is currently implemented in sugarcrm/debezium#DBZ-2975.
If it accepts a Debezium Partition, then it will accept arguments at two levels of attractions at a time: Debezium-level partition and Connect-level offset, which is off.

None of the approaches to changing the OffsetContext.Loader#load signature look valid.
Solution
Extract partition from the offset context and make it an independent argument. This way, the offset context will represent only the offset (as it's referred to in most places in the code) and will be accompanied by the partition argument where necessary.
Additional reasons for extraction

Partition will be used as the source of the data source-related values (e.g. SqlServerPartiition#getDatabaseName) and as a lookup key for source-related runtime resources (e.g. replica set connection for MongoDB). Having to obtain it every time from the offset context may be too indirect.
If we leave the partition in the context, we'll have two copies of the partition: one that comes from Map<P,O> initialized at the task level, and the other that is stored in the offset, so there's no single source of truth. This is at least confusing from the API standpoint, They may diverge due to a bug, etc.

TODO:

[x] Update debezium/debezium-connector-db2 (https://github.com/debezium/debezium-connector-db2/pull/30)
[x] Update debezium/debezium-connector-vitess (https://github.com/debezium/debezium-connector-vitess/pull/40)

@jpechane could you review this, please?

@morozov PLease rbase to the latest master. One question for you though. This is technically correct but I still feel that offset and partition belong together. You've explained the motiovation due to the offset context loader signature.
But can't you look at it from the opposite PoV? How about changing the loader signature and keep the offset as it is?

You've explained the motivation due to the offset context loader signature.
But can't you look at it from the opposite PoV? How about changing the loader signature and keep the offset as it is?

Please also see "Additional reasons for extraction", it's not only about the signature but also about implementing this signature and the resulting API (besides the loader).

Additional reasons to have the partition extracted from the offset context:

In some cases OffsetContext is allowed to be null while Partition is necessary: https://github.com/debezium/debezium/blob/fbf4f0fe447e449b5c4da8a43a3adc7416dcda5c/debezium-core/src/main/java/io/debezium/relational/RelationalSnapshotChangeEventSource.java#L98
If we keep partition within the offset, such cases will have to be reworked.
In some cases, the offset context is wrapped in a higher-level object, e.g. SnapshotContext: https://github.com/debezium/debezium/blob/fbf4f0fe447e449b5c4da8a43a3adc7416dcda5c/debezium-core/src/main/java/io/debezium/relational/RelationalSnapshotChangeEventSource.java#L270
If we keep partition within the offset, there will have to be another layer of indirection which might be too much.
The approach of keeping the partition and offset separately is consistent with the approach in core Kafka (the offset is determined based on the partition).

I think my major point is, the partition is part of the connector configuration (what do we need to capture?), the offset is part of its state (where are we?). The configuration is primary (exists regardless of the state), the state is secondary (may not have been initialized). But with the approach of keeping partition within the offset context, we're sort of deriving configuration (which should always exist) from the state (which may not exist). This looks odd.

@morozov What is strange to me is that we pass both offset and partition at so many places side-by-side which implies ther might be some relation. OTH if you say that parttion is part of the configuration then it should be provided either by a connector config or by a task context.

What is strange to me is that we pass both offset and partition at so many places side-by-side which implies ther might be some relation.

Yes, the offset is related to the partition with which it's passed together. I think it might make sense if there was an envelope that would contain them both (e.g. like this):
https://github.com/debezium/debezium/blob/fbf4f0fe447e449b5c4da8a43a3adc7416dcda5c/debezium-connector-mongodb/src/main/java/io/debezium/connector/mongodb/MongoDbStreamingChangeEventSource.java#L468-L474
I believe the original idea behind the offset context was exactly to hold the partition and offset but right now it's much more than that and primarily focuses on the offsets part. It doesn't seem reasonable to stuff it with even more responsibility. Additionally, see the reasons/challenges above.

OTH if you say that parttion is part of the configuration then it should be provided either by a connector config or by a task context.

It does come from the connector config. E.g.: https://github.com/debezium/debezium/blob/db105baebadbc0ae433b9a7a65daf06a24a4e653/debezium-connector-mysql/src/main/java/io/debezium/connector/mysql/MySqlPartition.java#L47-L58
But it cannot be just part of the config (e.g. config.getPartition()), there will be more than one partition per connector/task, and they should be addressed individually.

@morozov, @jpechane, hey, so have we achieved consensus about this one? In any case, a rebase is needed, as there are lots of conflicts. Happy to talk about it first though, in case we're not quite sure what actually should happen here.

[...] have we achieved consensus about this one?

I don't think we have. I do get his point that we want to keep the partition and offset together but I don't think it should be done within the OffsetContext. The introduction of a container class like PartitionOffset (see https://github.com/debezium/debezium/pull/2546#issuecomment-888369891) might be a good middle ground.

Happy to talk about it first though, in case we're not quite sure what actually should happen here.

All the arguments are documented on the thread. Unless this PR makes things worse in your guys' opinion, we may get it in as is and proceed with implementing the rest of the changes while figuring out a way to polish the API.

In any case, a rebase is needed, as there are lots of conflicts.

Those were recent ones. primarily related to https://github.com/debezium/debezium/pull/2430 and https://github.com/debezium/debezium/pull/2561.

I think my major point is, the partition is part of the connector configuration (what do we need to capture?), the offset is part of its state (where are we?). The configuration is primary (exists regardless of the state), the state is secondary (may not have been initialized). But with the approach of keeping partition within the offset context, we're sort of deriving configuration (which should always exist) from the state (which may not exist). This looks odd.

+1, this makes a lot of sense. In particular, the info about partitions will come from the task's configuration (i.e. the Connector implementation will be in charge of producing the different task configurations, as per the configured maximum number of tasks).

The PostgreSQL connector build failure seems irrelevant: RecordsStreamProducerIT#testEmptyChangesProducesHeartbeat fails on master and other builds as well.

@jpechane, any last comments from your side? I think it's good to go (apart from the depressing state of CI and test failures, but this should be a separate matter).

@gunnarmorling No more comments form my side

@morozov @gunnarmorling Hold on with mergeing, please check the test execusiton time for SQL Server, it is almost double of the usual one.

@morozov, could you rebase this one, so to trigger a rebuild, investigating whether that build time regression is a once-off issue?

Must have been a fluke. The build has passed in under regular 40 minutes.

@morozov LGTM now, thanks for double checking

Aaand applied. The PG test failure has been addressed in parallel, and the others are expected at this point due to the signature changes. Thanks a lot, @morozov!


⚠ Bofrost.fr has degraded performance

In 1ed5771, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1336 ms

Resolved: Bofrost.fr performance has improved in 3da874d after 6 minutes.


Lift up project name restrictions of a root project for the project-accessors feature (allow the dot character)

Similar to https://github.com/gradle/gradle/issues/16608, but I want to suggest to allow using a dot . character in rootProject names i.e. rootProject.name = com.example.library
Expected Behavior
I'd expect I can use TYPESAFE_PROJECT_ACCESSORS feature
Current Behavior
the build fails with
org.gradle.api.InvalidUserDataException: Cannot generate project dependency accessors:
  - Cannot generate project dependency accessors because project 'com.example.library' doesn't follow the naming convention: [a-zA-Z]([A-Za-z0-9\-_])*
> Cannot generate project dependency accessors:
    - Cannot generate project dependency accessors because project 'com.example.library' doesn't follow the naming convention: [a-zA-Z]([A-Za-z0-9\-_])*

Context
I usually use a dot character as rootProjet name for all my libraries as it automatically translates to published artifact group id. The approach works nice with IntelliJ which shows directory name right next to directory name so it is always clear what will be visible from client perspective.
I never forget to set proper group when configuring the publication for a new module - there is 1:1 translation what coordinates the project will be published under (group = rootProject.name, module = project.name, version = 'project.version') - I basically don't have to configure publishing after the initial project setup

(☝ the view I mentioned above - it is immediately clear the android module will be published as com.example.library:android)
As far as understand, that's wouldn't be breaking change as the rootProject isn't accesible via projects accessor, or at least I don't see any use case as the root project is already accesible safely by calling project.rootProject

Applicable to 7.4.2 too

Applicable to 7.5.1 too

Related issue: https://github.com/gradle/gradle/issues/18971

Could you clarify whether you have a use-case for the name root project accessor (and you want to have one with dots in the name) or do you want to be able to specify the name with dots (and don't care about the root project accessor being generated at all)?

I think it's the latter. I feel I don't ever need to reference root project using its name via a dedicated accessor if there is already a convenient way via Project#rootProject


Create EcoSynthesisX.yaml

Approving request

/validate d0e0bcb9a2032565435b5f44ea7435d642fd59de

/validate 29967f72a6a16f8bc324333e6b3228c6b5e4a43a

@PashaBurg I think the YAML isn't properly formatted, check these logs:
https://github.com/opensource-observer/oss-directory/actions/runs/9279629186/job/25606642487?pr=307
The best way to check locally is to run
pnpm install
pnpm validate

Can you help fix these errors first?

Corrected .yaml done ✅

/validate f794735

@ryscheng Hello! Can you support on the next step? Should I initiate process somehow?

hey @PashaBurg we already have your project in OSS Directory 🎉
I've added the missing deployer from your PR in my new PR. I'll close at your PR and we should be good to go!
Here's the latest version. If you see any issues, please open a new PR. Thanks again!


updated examples using isPublic and KeepOldHomePage

Before creating a pull request, make sure that you have read the contribution file located at
https://github.com/pnp/powerShell/blob/dev/CONTRIBUTING.md
Type

[ ] Bug Fix
[ ] New Feature
[x] Sample

Related Issues?
Fixes #3164
What is in this Pull Request ?
Just an additional example that shows the use of the IsPublic  and KeepOldHomePage parameters
Summary

copilot: summary
Details

copilot:walkthrough

Thanks @kasperbolarsen , merged it !


Add bleeding edge GCC to CI

This PR adds CI testing for the bleeding edge release of GCC (currently GCC 10.1). This is in response to the wanted section in the contributing guidelines. I could not find an issue for this request.
Changes:

Adds second CircleCI job using Arch Linux docker image to run identical tests as the original.
Renames original CircleCI job to build_stable to be more descriptive of what it is testing.
Adds CircleCI workflow to run both jobs concurrently.
Updates documentation to reflect the addition of this working compiler addition.

Example of successful concurrent jobs:

Coverage remained the same at 100.0% when pulling 49000cd77dd43ed1331b1f335dd9f609efbce5f7 on aokellermann:CircleCI_GCC_BleedingEdge into c92a696852860c77672c8246d177aabb1c3d0ddc on nlohmann:develop.

Thanks!

🔖 Release item
This issue/PR will be part of the next release of the library. This template helps preparing the release notes.
Type

[ ] ✨ New Feature
[ ] 🐛 Bug Fix
[ ] ⚡ Improvement
[x] 🔨 Further Change
[ ] 🔥 Deprecated function

Description

Add recent GCC to CI. #2136


Style homepage content

[x] This pull request has been linted by running npm run lint without errors
[x] This pull request has been tested by running npm run dev and reviewing affected routes
[x] This pull request has been built by running npm run generate without errors
[x] This isn't a duplicate of an existing pull request

Description
PR #120 NEEDS TO BE MERGED FIRST
Build home page content area.
Steps to test

Run npm run dev
Test the header layout in desktop and mobile browsers.

Expected behavior:
This should match the visual design.
Additional information

Related issues
resolves #114

@TeddTech Can you merge the latest master branch into this?

will do

@cindyli @greatislander @lliskovoi Having difficulty with this implementing the cards correctly. Here are the following issues I am coming across.

Should I use svg components or background-image css property
I believe the images for the cards are not sized propery. Extra white space on the edges of images
Centring cards in the middle of the article tag. This is the same issue I was having when trying to center the pagination component in #120. @cindyli fixed it using the text-align css property but that solution did not work when I tried to implement it here.
Green and Yellow cards are rendering in a different shape using the SVG component method

* Should I use svg components or background-image css property

From my experiment with your branch, using svg components seems easier than setting background-image. This article about floating text over image is helpful.

* I believe the images for the cards are not sized properly. **Extra white space on the edges of images**

I agree these svg images don't look right with white edges. This picture shows the problem with the blue one:

@lliskovoi, these 3 images are from WeCount team document folder Website assets/visuals with filenames: Home page tile_blue_cropped.svg, Home page tile_green_cropped.svg, Home page tile_yellow_cropped.svg

* Centering cards in the middle of the article tag. This is the same issue I was having when trying to center the pagination component in #120. @cindyli fixed it using the text-align css property but that solution did not work when I tried to implement it here.

Fix the issue below and check the result.

* Green and Yellow cards are rendering in a different shape using the SVG component method

Setting width: 100% on svgs will fit them into the grid size rather than stretching out of the grid.

Thank @cindyli your tips helped. The cards look good. Just need

This is a question for @lliskovoi:

If you open the preview site for this pull request
When scrolling the page, the background image remains at the same spot and doesn't move along with the scrolling.

Is this the expected behavior? Thanks.

This is a question for @lliskovoi:

If you open the preview site for this pull request
When scrolling the page, the background image remains at the same spot and doesn't move along with the scrolling.

Is this the expected behavior? Thanks.

Yep :)

Ready for review.

On mobile version, there's a overflow causing the article can be scrolled horizontally.
The background image moves around when scrolling the page vertically.

On mobile version, there's a overflow causing the article can be scrolled horizontally.
The background image moves around when scrolling the page vertically.

We looked at issues above at today's check-in:

The horizontal overflow was caused by a IDRC logo on the home page that comes from the wordpress API. Ted will address this issue in https://github.com/inclusive-design/wecount.inclusivedesign.ca/pull/134;
Lisa confirmed the bahavior of the background image is expected.

These 2 comments can be ignored in this pull request.

@TeddTech the font used for "We Count"  with the logo uses Avenir, in Figma. However, in the implementation it is set to Fira Sans.

@jobara Avenir is not available as a free web font. If we want to use it I think we should convert it to outlines and use an SVG which includes the logotype. Thoughts?

Is this the same one https://www.dafontfree.io/avenir-font/? Although it looks like they only provide OTF and TFF. Not sure if we can convert those into whatever format we are currently using.

There are no focus or hover states for the cards—this must be addressed. Otherwise this looks great.

@lliskovoi how should the focus and hover states of these cards look like?

There are no focus or hover states for the cards—this must be addressed. Otherwise this looks great.

@lliskovoi how should the focus and hover states of these cards look like?

@TeddTech I'll work on this today.

Ready for review


Fix release description for v6.0.0-canary.5

As react-hot-loader was not actually updated in the version published to npm the line should be removed from the v6.0.0-canary.5 release description.
See https://github.com/zeit/next.js/pull/4171#issuecomment-383429602.

Released canary 6


Not able to have more than one "Button Example"

Hi,
I'm trying to add the functionality of export (csv, Excel & PDF) to my application using your skeleton of DataTables
The trouble is because after copying twice the button example table on file: tables_dinamyc.html.twig it only shows buttons on first table.
Why? Which way is this functionality configured?

Why?

File web/assets/js/custom.min.js initializes buttons for the HTML element #datatable-buttons. Copying HTML constitutes two elements with the same id in a document tree.

Which way is this functionality configured?

Orginally initialization is done in a file named custom.js. Find a function init_DataTables() . Remember that this app uses minified version of this file -> custom.min.js
For example:

Copy the table and change the id to datatable-buttons2.
At end of the tables_dynamic... add script

<script>

      function init_DataTables2() {

          console.log('run_datatables');

          if( typeof ($.fn.DataTable) === 'undefined'){ return; }
          console.log('init_DataTables');

          var handleDataTableButtons = function() {

              if ($("#datatable-buttons2").length) {
                  $("#datatable-buttons2").DataTable({
                      dom: "Bfrtip",
                      buttons: [
                          {
                              extend: "copy",
                              className: "btn-sm"
                          },
                          {
                              extend: "csv",
                              className: "btn-sm"
                          },
                          {
                              extend: "excel",
                              className: "btn-sm"
                          },
                          {
                              extend: "pdfHtml5",
                              className: "btn-sm"
                          },
                          {
                              extend: "print",
                              className: "btn-sm"
                          },
                      ],
                      responsive: true
                  });
              }

          };

          TableManageButtons = function() {
              "use strict";
              return {
                  init: function() {
                      handleDataTableButtons();
                  }
              };
          }();

          TableManageButtons.init();

      };

      init_DataTables2();

  </script>

Done.
This is only example. In a real scenario you should add another table from template, change the id and makes initialization in your preferable way (file, etc.). Of course you should read more on DataTable library.
If it is clear then please close this thicket.

Closing as not directly related to this repository and no activity.


Missing v-model

There is no way to directly attach the editor to a variable in a reactive way!
Like so:
<VmEditor v-model="article"></VmEditor>

omg, anyone fix it :D


#104 - Completed

@rultor merge

@rultor merge

@driver733 OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@driver733 Done! FYI, the full log is here (took me 3min)

Coverage remained the same at 69.47% when pulling 77762615b5f4af41b8285b86c3d4fe31349c44b3 on #104 into e72dd144396dd237231b868d39b01b0eccab69f6 on master.


tensor.reshape on the last two dims (n,c,h,w) --> (n,c,h*2, w/2) gives wrong output for both interleaved and sharded tensor.

Describe the bug
tensor.reshape on the last two dims (n,c,h,w) --> (n,c,h*2, w/2) with interleaved tensor (row major layout) gives correct pcc, but theoretically it should be actually garbage pcc. The sticks are interleaved to different banks, and after reshape (ex, div last by 2), it should just give garbage output since from each bank we read half of the original data only.
tensor.reshape on the last two dims (n,c,h,w) --> (n,c,h*2, w/2) with sharded tensor (height sharding, each core has full HW dim, so reshape is just a nop), when reading back immediately after calling reshape, the pcc is good. However, when calling another op (ex, transpose) after reshape, it gives all zero output.
Combine these two cases, I suspect tensor.reshape is not actually doing anything, as both interleaved and sharded tensor might be just reading back the original tensor.
To Reproduce
Steps to reproduce the behavior:

Go to yugao/reshape
Run pytest tests/ttnn/unit_tests/test_reshape.py::test_reshape_sharded_rm for sharded tensor,
Run pytest tests/ttnn/unit_tests/test_reshape.py::test_reshape_interleaved_rm for interleaved tensor.
should see both give either garbage or all zeros output.

Expected behavior
tensor.reshape for interleaved tensor should always give garbage output, and tensor.reshape for sharded should give correct output.

fyi @mywoodstock

fix will be merged from this PR https://github.com/tenstorrent/tt-metal/pull/11722


Build Refine for deployed environments

Pre-Flight checklist

[x] Testing

[x] Code is tested
[x] Changes have been manually tested

[x] Settings

[x] New settings are documented and present in app.json
[x] New settings have reasonable development defaults, if applicable

What are the relevant tickets?
Part of #519
What's this PR do?
The big picture of this PR is to enable building refine in deployed environments. Because we have some hardcoded assumptions that there is only 1 source of JS code, this required a fair amount of refactoring:

Refactored webpack configs into a single file to reduce the overall footprint of this configuration.
Updated webpack configs to set publicPath on the outputs appropriately when build locally and for deployed environments.
Moved babel loader config into a dedicated babel.config.js so that we can share that configuration between both webpack and mocha in a cleaner way.
Reorganized the webpack builds so frontend/public outputs to build/.
Updated collectstatic configuration to collect asset files from both JS applications' build/ directory. This was getting done indirectly before by putting the files into static/bundles, but this is more idiomatic for how Django expects to be able to collect these things - static/ is meant to be static source files, not generated files.
Removed usages of mitol.common.templatetags.render_bundle in favor of the native django-webpack-loader implementation of this. Since webpack is now outputting a correct asset url into the webpack stats files, we don't need our customization that the mitol.common library provides. Additionally, this was needed because the common library is hardcoded to only load the default webpack stats file and with refine we now have a second that we need to load.

How should this be manually tested?

Test dev builds:

Do a standard docker-compose up
The main application should still work for you, if you look at the <script> tags they should be absolute urls.
The Refine app should work, but you need to go to http://mitxonline.odl.local:8012/staff-dashboard now

Test production builds:

Set NODE_ENV=production in your .env and rerun docker-compose up
Verify both apps still work but now link with relative urls to /static/

@jkachel this should be good to try again, I added a script that waits for both refine and webpack dev server to run before running the django scripts. I also made the django settings resilient against those directories not existing.

The main site appears to work OK. The Refine admin, though, seems like it's not aware that it's in a subdirectory. The front page loads (at http://mitxonline.odl.local:8013/staff-dashboard/ - it doesn't load on port 8012) but the URLs it redirects to don't contain /staff-dashboard. (For example, it changes the URL to http://mitxonline.odl.local:8013/login?to=%2Fstaff-dashboard%2F after the app loads.)

@jkachel I'm pretty sure this is fixed now


docs: Update man pages

Update man pages for 4.1. CI check is not needed since only documentation changes.

Merging now


Add Context Menu Test

Less dependencies, more tests, more :tada:

Current coverage is 63.46%

Merging #45 into master will increase coverage by +0.13% as of 4923916

@@            master     #45   diff @@
======================================
  Files           20      20
  Stmts          360     364     +4
  Branches         0       0
  Methods          0       0
======================================
+ Hit            228     231     +3
  Partial          0       0
- Missed         132     133     +1

Review entire Coverage Diff as of 4923916

Powered by Codecov. Updated on successful CI builds.


Minor grammatical fix

See https://en.wiktionary.org/wiki/greengrocer's_apostrophe

This change is

I signed it!


[JENKINS-38460] Move toaster from bottom left to bottom right

Description

See JENKINS-38460.

Required for https://github.com/jenkinsci/blueocean-plugin/pull/930
Submitter checklist

[x] Link to JIRA ticket in description, if appropriate.
[x] Change is code complete and matches issue description
[ ] Appropriate unit or acceptance tests or explanation to why this change has no tests

Reviewer checklist

[ ] Run the changes and verified the change matches the issue description
[ ] Reviewed the code
[ ] Verified that the appropriate tests have been written or valid explanation given

@alecharp

Per discussion on jenkinsci/blueocean-plugin#930, I am closing this PR.


Getting error - "tf.gfile.Stat()" gets result that "file does not exist", but it does exists

There are files in "neg" directory:
In [81]: tf.gfile.ListDirectory("s3://lookalike-sample/novel_user/ds=20190310/neg")
Out[81]:
['_SUCCESS',
'part-00002.gz',
'part-00003.gz',
'part-00004.gz']
But when I input:
tf.gfile.Stat("s3://lookalike-sample/novel_user/ds=20190310/neg/part-00002.gz")
getting error:
NotFoundError: Object s3://lookalike-sample/novel_user/ds=20190310/neg/part-00002.gz does not exist

OS Platform and Distribution ( Linux Ubuntu 16.04):
TensorFlow version 1.8.0
Python version:2.7.4

This is not Build/Installation or Bug/Performance issue. Please post this kind of support questions at Stackoverflow. There is a big community to support and learn from your questions. GitHub is mainly for addressing bugs in installation and performance. Thanks!


Summer 2022??

Please do not use Northern Hemisphere references "Summer 2022", just because it is your summer does not make it our summer. We are in winter. Use proper calendar dates, "June 2022"

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

ID: a18f55e3-bc76-a75f-8e0a-c64e342e91e0
Version Independent ID: e47dd6b7-f6fa-9c01-91fd-a52febd04fb4
Content: Set up your development environment - Office Add-ins
Content Source: docs/overview/set-up-your-dev-environment.md
Product: non-product-specific
Technology: add-ins
GitHub Login: @o365devx
Microsoft Alias: o365devx

I have searched that article for "Summer" and got no hits. Could you tell me exactly where on that page you are seeing "Summer 2022"?

Hi Rick, thanks for reaching back to me.
The words "Summer 2022" is in the first tab on the page that can be
selected titled "Select the tab for the environment you choose". There are
two tabs "Node.js Environment" and "Visual Studio Environment"
Click the "Visual Studio Environment" and you will see it in the green
highlighted 'Tip", as pasted below
Tip
As of summer 2022, the XML schemas for the Office Add-in manifest that are
installed with Visual Studio aren't the latest version. This may affect
add-ins, depending on what add-in features they use. So, you may need to
update the XML schemas for the manifest. For more information, see Manifest
schema validation errors in Visual Studio projects
https://docs.microsoft.com/en-us/office/dev/add-ins/testing/troubleshoot-development-errors#manifest-schema-validation-errors-in-visual-studio-projects
.
On Wed, 31 Aug 2022 at 06:02, msftbot[bot] @.***> wrote:

This issue has been automatically marked as stale because it is marked as
needing author feedback but has not had any activity for 4 days. It
will be closed if no further activity occurs within 3 days of this
comment. Thank you for your interest in Office Add-ins!
—
Reply to this email directly, view it on GitHub
https://github.com/OfficeDev/office-js-docs-pr/issues/3604#issuecomment-1232108234,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGDFAO3UH2CDDWQFOY766ODV3ZSERANCNFSM57U4TBPA
.
You are receiving this because you authored the thread.Message ID:
@.***>


Explain relative positioning, estimated width/height

lukemelia is so dreamy

PR comment is dubious. Commit is :+1:

lol