YAML support?

I really like Seed (although I can't use it without #18), however I'm not sure I can use it with TOML. Especially with #18 and #19 the configuration forms a deep tree, and especially with many modules (which the README says it's designed for) it can be very wide too. TOML is nice for some things but I can't see it scaling well for me.
As an example, GitLab CI uses TOML for configuring the runner binary, but YAML for defining a project's various jobs and their configuration, and I think they both make sense. The former is basically a few sections of flat config, with a bit of nesting. The latter is a much more complicated tree of settings. You can have many jobs, each of which can have many settings, each of which might itself need to be defined with sub-properties.
I admit the TOML generated by seed init overwhelmed me more than it might have, because some of what it generated may have been unnecessary.
I found something online to convert TOML to YAML and was much happier with the result. So what I started doing is using yaml2toml (on Ubuntu, sudo snap install marshal) to translate my config for seed. Specifically, I ran echo seedbuild.yml | entr -rs "yaml2toml --preserve-key-order seedbuild.yml build.toml && seed bloop && bloop compile -w (bloop projects)" (this will run the part in quotes whenever seedbuild.yml changes via my shell, Fish).
I didn't get all that far in converting my decently-sized sbt project to seed (I stopped mainly due to #18), but here is how the two ways of defining it compare:

TOML
[project]
scalaVersion = "2.12.8"
scalaJsVersion = "0.6.28"
scalaOptions = ["-encoding", "UTF-8", "-unchecked", "-deprecation", "-Xfuture"]
testFrameworks = ["minitest.runner.Framework"]

[resolvers]
maven = ["https://repo1.maven.org/maven2", "https://jcenter.bintray.com", "https://jitpack.io"]

[module]

[module.sharedCommon]
root = "shared_common"
targets = ["jvm", "js"]
sources = ["shared_common/src/main/scala"]
compilerDeps = [["org.scalamacros", "paradise", "2.1.1", "full"]]
scalaDeps = [["cc.co.scala-reactive", "reactive-routing", "0.6.4"], ["com.github.cornerman.sloth", "sloth", "34b09cdccb"], ["com.github.julien-truffaut", "monocle-macro", "1.5.1-cats"], ["com.github.krzemin", "octopus", "0.3.3"], ["com.lihaoyi", "sourcecode", "0.1.7"], ["io.circe", "circe-core", "0.11.1"], ["io.circe", "circe-generic", "0.11.1"], ["io.circe", "circe-parser", "0.11.1"], ["io.github.nafg", "slick-additions-entity", "<IP_ADDRESS>"]]

[module.sharedCommon.test]
sources = ["shared_common/src/test/scala"]
scalaDeps = [["io.monix", "minitest", "2.5.0"]]

[module.volunteerShared]
root = "volunteer_shared"
targets = ["jvm", "js"]
sources = ["notes_shared/src/main/scala"]
moduleDeps = ["sharedCommon"]

[module.notesShared]
root = "notes_shared"
targets = ["jvm", "js"]
sources = ["notes_shared/src/main/scala"]
moduleDeps = ["volunteerShared"]

[module.doctorsShared]
root = "doctors_shared"
targets = ["jvm", "js"]
sources = ["doctors_shared/src/main/scala"]
moduleDeps = ["sharedCommon", "notesShared"]

[module.util]
root = "util"
targets = ["jvm"]
sources = ["util/src/main/scala"]
moduleDeps = ["volunteerShared"]
scalaDeps = [["net.liftweb", "lift-util", "3.3.0"], ["org.scala-lang.modules", "scala-xml", "1.2.0"]]

[module.modelsCommon]
root = "models_common"
targets = ["jvm"]
sources = ["models_common/src/main/scala"]
moduleDeps = ["volunteerShared"]
javaDeps = [["org.flywaydb", "flyway-core", "5.2.4"]]
scalaDeps = [["com.github.tminglei", "slick-pg", "0.17.3"], ["com.github.tminglei", "slick-pg_circe-json", "0.17.3"], ["io.github.nafg", "slick-additions", "<IP_ADDRESS>"], ["net.liftweb", "lift-util", "3.3.0"]]

[module.jsCommon]
root = "js_common"
targets = ["js"]
sources = ["js_common/src/main/scala"]
moduleDeps = ["sharedCommon"]
scalaOptions = ["-P:scalajs:sjsDefinedByDefault"]
scalaDeps = [["com.github.japgolly.scalajs-react", "ext-monocle-cats", "1.4.2"], ["io.github.nafg.css-dsl", "bootstrap3", "0.4.0"], ["io.github.nafg.scalajs-facades", "react-select_2-1-2", "0.6.0"], ["io.github.nafg.scalajs-react-util", "core", "0.7.0"]]

YAML
project:
  scalaVersion: 2.12.8
  scalaJsVersion: 0.6.28
  scalaOptions:
    - '-encoding'
    - UTF-8
    - '-unchecked'
    - '-deprecation'
    - '-Xfuture'
  testFrameworks:
    - minitest.runner.Framework

resolvers:
  maven:
    - https://repo1.maven.org/maven2
    - https://jcenter.bintray.com
    - https://jitpack.io

module:

# SHARED MODULES

  sharedCommon:
    root: shared_common
    targets: [jvm, js]
    sources: [shared_common/src/main/scala]
    compilerDeps:
      - ["org.scalamacros",            "paradise",               "2.1.1", "full"]
    scalaDeps:
      - ["cc.co.scala-reactive",       "reactive-routing",       "0.6.4"]
      - ["com.github.cornerman.sloth", "sloth",                  "34b09cdccb"]
      - ["com.github.julien-truffaut", "monocle-macro",          "1.5.1-cats"]
      - ["com.github.krzemin",         "octopus",                "0.3.3"]
      - ["com.lihaoyi",                "sourcecode",             "0.1.7"]
      - ["io.circe",                   "circe-core",             "0.11.1"]
      - ["io.circe",                   "circe-generic",          "0.11.1"]
      - ["io.circe",                   "circe-parser",           "0.11.1"]
      - ["io.github.nafg",             "slick-additions-entity", "<IP_ADDRESS>"]
    test:
      sources: [shared_common/src/test/scala]
      scalaDeps:
        - ["io.monix", "minitest", "2.5.0"]

  volunteerShared:
    root: volunteer_shared
    targets: [jvm, js]
    sources: [notes_shared/src/main/scala]
    moduleDeps: [sharedCommon]

  notesShared:
    root: notes_shared
    targets: [jvm, js]
    sources: [notes_shared/src/main/scala]
    moduleDeps: [volunteerShared]

  doctorsShared:
    root: doctors_shared
    targets: [jvm, js]
    sources: [doctors_shared/src/main/scala]
    moduleDeps: [sharedCommon, notesShared]

# JVM MODULES

  util:
    root: util
    targets: [jvm]
    sources: [util/src/main/scala]
    moduleDeps: [volunteerShared]
    scalaDeps:
      - ["net.liftweb",            "lift-util", "3.3.0"]
      - ["org.scala-lang.modules", "scala-xml", "1.2.0"]

  modelsCommon:
    root: models_common
    targets: [jvm]
    sources: [models_common/src/main/scala]
    moduleDeps: [volunteerShared]
    javaDeps:
      - ["org.flywaydb",        "flyway-core",          "5.2.4"]
    scalaDeps:
      - ["com.github.tminglei", "slick-pg",            "0.17.3"]
      - ["com.github.tminglei", "slick-pg_circe-json", "0.17.3"]
      - ["io.github.nafg",      "slick-additions",     "<IP_ADDRESS>"]
      - ["net.liftweb",         "lift-util",           "3.3.0"]

# JS MODULES

  jsCommon:
    root: js_common
    targets: [js]
    sources: [js_common/src/main/scala]
    moduleDeps: [sharedCommon]
    scalaOptions: ["-P:scalajs:sjsDefinedByDefault"]
    scalaDeps:
      - ["com.github.japgolly.scalajs-react", "ext-monocle-cats",   "1.4.2"]
      - ["io.github.nafg.css-dsl",            "bootstrap3",         "0.4.0"]
      - ["io.github.nafg.scalajs-facades",    "react-select_2-1-2", "0.6.0"]
      - ["io.github.nafg.scalajs-react-util", "core",               "0.7.0"]

Thanks for your thorough analysis!
In TOML, you can write inline tables such as:
module = {
  sharedCommon = {
    root = "shared_common",
    # ...
    test = {
      # ...
    }
  }
}

With this syntax, the example is quite similar to your YAML file.
I chose TOML because it has a simple specification and is used by other build tools like Cargo. I fear that having an additional configuration format will burden development, as we would have to offer the same codecs twice and make sure errors are handled in the same way. Also, there has to be a native Scala implementation such that we can support Scala Native in the future.
As for seed init, feel free to open another issue with your suggestions how the output could be improved. I do agree with you it is a bit verbose.
Regarding #18, this will get implemented soon after I am done with some other improvements and once #17 has been merged in.

Are you sure that's valid? The docs say

Inline tables are intended to appear on a single line. No newlines are allowed between the curly braces unless they are valid within a value. Even so, it is strongly discouraged to break an inline table onto multiples lines. If you find yourself gripped with this desire, it means you should be using standard tables.

Have you considered using HOCON? That has the advantage of having ways to DRY things, as well as built in includes, support for environment variables, and other really useful features.
And there is a pure scala implementation: https://github.com/ekrich/sconfig

Are you sure that's valid? The docs say

Inline tables are intended to appear on a single line. No newlines are allowed between the curly braces unless they are valid within a value. Even so, it is strongly discouraged to break an inline table onto multiples lines. If you find yourself gripped with this desire, it means you should be using standard tables.

It appears that the TOML library implements a language extension that allows multi-line tables. The following build file loads fine:
project = {
  scalaVersion = "2.13.0",
  scalaJsVersion = "0.6.28",
  scalaOptions = [
    "-encoding",
    "UTF-8",
    "-unchecked",
    "-deprecation"
  ],
  testFrameworks = ["minitest.runner.Framework"]
}

module = {
  example = {
    root = "shared",
    sources = ["shared/src"],
    targets = ["js"],
    js = {
      root = "js",
      sources = ["js/src"]
    },
    test = {
      js = {
        jsdom = true,
        sources = ["js/test"],
        scalaDeps = [["io.monix", "minitest", "2.5.0"]]
      }
    }
  }
}

HOCON looks like a promising contender. I would have preferred if they offered fewer syntactic features to express the same concept, but the format is still much simpler than YAML. As I see it, HOCON has three main advantages over TOML which are JSON compatibility, value substitutions and access to environment variables.
Alternatively, we could use JSON directly. JSON has the advantage that there are decent Scala libraries, is in wide use and can be easily manipulated with tools like jq.
If you would like to implement additional support to load HOCON or JSON configuration files, I'd be happy to provide some guidance.

I'm playing with this locally. I basically just converted the circe Json AST to the toml.Value AST and keep everything else basically them same. It's not PR quality but I can show a diff.
HOCON and JSON could be done just by using https://github.com/circe/circe-config instead of circe-yaml.

https://gist.github.com/nafg/41b65486ed4577ec873e4dda5a9844c1

That's a nice solution since it acts directly on the AST level, so we get to re-use all of the TOML codecs. However, I'd prefer if we used HOCON (e.g. via sconfig or circe-config) since this format is more common in the JVM ecosystem and has a simpler specification.

I can do that when it comes to making a PR, like I said it doesn't change
much about the approach. However I would want to experiment with using
hocon first, however my experimenting is now kind of blocked on something,
which I opened a different issue for (how to go about compiling twirl
templates).
On Tue, Aug 20, 2019, 6:04 AM Tim Nieradzik<EMAIL_ADDRESS>wrote:

That's a nice solution since it acts directly on the AST level, so we get
to re-use all of the TOML codecs. However, I'd prefer if we used HOCON
(e.g. via sconfig or circe-config) since this format is more common in the
JVM ecosystem and has a simpler specification.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/tindzk/seed/issues/23?email_source=notifications&email_token=AAAYAUBNHXTZU7KIX3A3LSTQFO6SPA5CNFSM4IDT7MP2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4VYMPQ#issuecomment-522946110,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAYAUEONR6BAFVWNW3D4C3QFO6SPANCNFSM4IDT7MPQ
.

@tindzk I have edited my comment above to reflect some of my thoughts after sleeping on the Jsonnet/Dhall's proposal. I also left you some messages in Gitter in case you wanna chat :smile:.

@tindzk My Scala port of lightbend/config, ekrich/sconfig has been improving slowly and I have been attempting to support many versions including currently compiling with Dotty although there are too many problems to pass the tests due to Dotty not the library. I should have Scala.js 1.0.0-RC1 support when scala-collection-compat becomes available as well to finish off full cross platform support.
I think when you get down to enterprise grade configuration, value substitutions are a big deal. The library has a lot of history which could be considered legacy but also could be considered battle tested. I think the only user I have is scalafmt but that is held up because of Scala Native, 0.4.0 for now.

Are we any closer to a decision here?

For one thing I find IntelliJ's TOML support quite lacking... :disappointed:

Sorry for the radio silence and thanks for all your suggestions!
After discussing this issue more with @jvican, we came to the conclusion that the best option is to only support TOML for now. I do agree with some of the issues raised here, but feel that overall TOML is the most satisfying solution in terms of readability and simplicity. For the missing features like variables, I would be happy to implement them as language extensions in toml-scala.
If the motivation for changing the configuration format is to avoid boilerplate, I propose we first explore how the schema could be improved. For instance, Play projects are not as well-supported as in sbt, but we can introduce abstractions to handle them better.
If TOML support in IntelliJ is lacking, it would be best to improve the plug-in. This will benefit other projects too. Features particularly useful for Seed would be to enforce the schema and to auto-complete dependencies (see also #60).
At the moment, my focus is to finalise Seed's core functionality (publishing artefacts, running test suites, Play support etc.) Afterwards, we can consider more elaborate use cases such as additional configuration formats.


fix: client miss failed piece

Signed-off-by: Jim Ma<EMAIL_ADDRESS>
Description
In waitFailedPiece we receive a failed piece, then pullPiecesFromPeers loop go on and wait the failedPieceCh again,
if two failed piece sent to failedPieceCh, the first piece is missed.
Related Issue

Motivation and Context

Screenshots (if appropriate)
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation Update (if none of the other choices apply)

Checklist

[ ] Code compiles correctly.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Codecov Report

Merging #1194 (e02ba9f) into main (c6c05f6) will decrease coverage by 0.03%.
The diff coverage is 18.18%.

@@            Coverage Diff             @@
##             main    #1194      +/-   ##
==========================================
- Coverage   46.49%   46.46%   -0.04%
==========================================
  Files         133      133
  Lines       10513    10523      +10
==========================================
+ Hits         4888     4889       +1
- Misses       5070     5079       +9
  Partials      555      555

Flag
Coverage Δ

Object-compatibility-e2etests
?

e2etests
?

unittests
46.46% <18.18%> (-0.04%)
:arrow_down:

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

Impacted Files
Coverage Δ

client/daemon/peer/peertask_conductor.go
57.69% <18.18%> (-0.54%)
:arrow_down:


SAMZA-2372:Null pointer exception in LocalApplicationRunner

Null pointer exception is thrown when calling LocalApplicationRunner.kill() without setting a coordinator stream. My guess that the bug is a result of https://issues.apache.org/jira/browse/SAMZA-2294 forgetting to add the null check everywhere it's required. I added a test that exposes the exception.

@dnishimura


training fails after some time

botfront-rasa   | 2021-01-06 18:13:14 ERROR    rasa.model  - Failed to extract model at models/model-bf.tar.gz. Error: Compressed file ended before the end-of-stream marker was reached
Receive this error and cannot train.

Run rm models/model-bf.tar.gz && botfront restart rasa from your project dir. Then retrain.

Run rm models/model-bf.tar.gz && botfront restart rasa from your project dir. Then retrain.

Feel free to reopen.

Feel free to reopen.


Transactional counter problem

I'm evaluating several NoSQL databases, including OrientDB. I'm a OrientDB newbie, trying to write a multi-threaded test that stresses OrientDB transactions.
It's a simple standalone test that uses a number of parallel threads that transactionally increment a single counter: read an entity, increases the value of number field and them save the entity, all inside a transaction.
It creates a lot of contention on one entity - that's the whole point. It kind of works, detects contention most of the time and properly rolls back the transaction. But it also fails: it sometimes does not detect "dirty" writes.
I'm testing this on a locally installed OrientDB 2.0-rc2, client connects to it via a remote protocol.
Any ideas why sometimes transaction collisions get detected, while sometimes they pass?
public class OrientDbSimpleTransact {

	private static final AtomicInteger verifyCounter = new AtomicInteger(0);
	private static final AtomicInteger collisions = new AtomicInteger(0);

	public static void main(String[] args) throws InterruptedException {

		ODatabaseDocument db = new ODatabaseDocumentTx("remote:localhost/test")
				.open("admin", "admin");
		OSchema schema = db.getMetadata().getSchema();

		System.out.println("MVCC: " + db.isMVCC());

		String tableName = "Counter";
		int threads = 5;
		int repeat = 20;

		// register class
		OClass cls = schema.getOrCreateClass(tableName);
		String fieldName = "number";
		if (!cls.existsProperty(fieldName)) {
			cls.createProperty(fieldName, OType.INTEGER);
		}

		// create counter entity
		ODocument doc = new ODocument(tableName);
		doc.field(fieldName, 0);
		ORID orid = db.save(doc).getIdentity();

		// starting threads
		ExecutorService executor = Executors.newFixedThreadPool(100);
		Collection<Callable<Void>> tasks = new ArrayList<>();
		for (int n = 1; n <= threads; n++) {

			int delta = 1;
			tasks.add(new CounterIncrement(orid, repeat));
			System.out.println("Added task:" + n + " delta:" + delta);
		}
		executor.invokeAll(tasks);
		executor.shutdown();

		// load the counter again
		ODocument res = db.load(orid, null, true);

		System.out.println("Counter updates: " + res.toMap().get(fieldName));
		System.out.println("Verify counter: " + verifyCounter);
		System.out.println("Collisions: " + collisions);
		if (res.toMap().get(fieldName) != verifyCounter) {
			System.out.println("Error: number of updates (" +
					res.toMap().get(fieldName) + ") is not equal to verify counter (" + verifyCounter + ").");
		}
		db.close();

	}

	public static class CounterIncrement implements Callable<Void> {

		public CounterIncrement(ORID key, int repeat) {
			this.key = key;
			this.repeat = repeat;
		}

		private ORID key;
		private int repeat;

		/**
		 * Transactionally increments the counter
		 */
		@Override
		public Void call() throws Exception {

			ODatabaseDocument db = new ODatabaseDocumentTx("remote:localhost/test")
					.open("admin", "admin");
			while (repeat != 0) {

				try {
					db.begin(OTransaction.TXTYPE.OPTIMISTIC);
					ODocument entity = db.load(key, null, true);

					if (entity != null) {

						// increment field 'number' by one
						int val = entity.field("number");
						val++;
						entity.field("number", val);

						db.save(entity);
						db.commit();
						verifyCounter.addAndGet(1);

						// repeat variable is only decreased when transaction is committed successfully
						repeat--;
						System.out.println("Updated entity:" + key + " number:" + entity.field("number"));
					} else {
						System.out.println("transact " + Thread.currentThread().getName() + " Not found! key=" + key);
						db.rollback();
					}
				} catch (RuntimeException re) {
					collisions.addAndGet(1);
					System.out.println("Collision: " + re.getMessage());
					db.rollback();
				}
			}
			db.close();

			return null;
		}
	}
}

Have you tried final 2.0?

Yes, I just tried it with OrientDB Server v2.0 (build UNKNOWN@r; 2015-01-20 16:41:17+0000). I get the same error.
I'm a new with OrientDB - are there any settings or config that I'm getting wrong? Also, I'm creating a new ODatabaseDocumentTx for every thread as I did not succeed to create a multi-threaded custom database factory.


Initial cut at aws-sns publish example

Draft attempt at a aws-sns publish example.
Some more work needs to be done, including answering a few questions:

How do we manage bindings of topicArn - which is a combination of "server"-type information, and "channel" type information. For now it is hardcoded, and thus somewhat duplicative
What should the bindings specify? All (standard) parameters/headers that are passed on a publication request?

Another comment, even though the example is great, we need to specify the binding for SNS more so then giving an example :smile: Maybe its better to start specifying the bindings here?

Yes, SNS allows lots of actions; however I don’t know if we want to
enumerate all of them.
https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonsns.html
Normally when using SNS, you would use an SDK which will format the request
properly, and would deal with putting ‘Action=Publish’ in the request.
So I guess I’m not sure what we should put in the bindings - I agree that
it is redundant to specify the ‘Publish’ action here, just not sure if it’s
useful to clarify that is the only action being covered by this interface
specification.
On Dec 12, 2019, at 07:28, Jonas Lagoni<EMAIL_ADDRESS>wrote:

@jonaslagoni commented on this pull request.
In examples/2.0.0/aws-sns-publish.yml
https://github.com/asyncapi/asyncapi/pull/298#discussion_r357118409:

description: Topic used for hello world messages

bindings:

 sns:

   # This should be appended to the servers' topicARNPrefix to

get the complete topicARN

   # Can we do this automatically using JSON-Schema trickery somehow?

   topicArnTopicName: "helloWorld"

publish:

 message:

   # The payload is equivalent to the AWS "Message" field

   # Publish documentation:

https://docs.aws.amazon.com/sns/latest/api/API_Publish.html

   payload:

     type: string

     pattern: '^hello .+$'

 bindings:

   sns:

     Action: Publish

Does SNS use any other actions then Publish and subscribe? else I find this
redundant since the binding is already associated with the standard
`publish? operation.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/asyncapi/asyncapi/pull/298?email_source=notifications&email_token=ACN2DR4UZH4HS4R2YIUASX3QYIVAVA5CNFSM4JYOIZY2YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCO62GMY#pullrequestreview-331195187,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACN2DR6QCKUUCTIDJKNRREDQYIVAVANCNFSM4JYOIZYQ
.

I see, yes then the Action variable is justified :+1:

Sure - There are many ways of doing it.
There are pros and cons of different approaches.
The reason I split the topic ARN into two parts was because the TopicARN
differs per ‘server’ (really it’s not a server but an AWS account), and per
topic, so I figured it made sense to link those parts to servers and
channels. (Although to complicate matters, the topicName even for a topic
with the same semantic meaning across environments may be different (for
example, it could have another string of digits appended))
However the only ‘real’ parameter that gets passed to Amazon is the
TopicARN, which is provided at the message level.
Another approach would be to define message bindings which would have the
full TopicARN for each channel, and have an array or map of them for each
environment (eg - for the channel known as ‘helloWorld’, X is the actual
TopicARN for test environments whereas Y is the actual TopicARN for the
production environment.)
Example:
MessageBindings:
  sns:
    environments:
      - test:
          Channels:
            - helloWorld:
                TopicArn: "arn:aws:sns:us-east-1:123456789012:helloWorld"
            - goodbyeWorld:
                 TopicArn: "arn:aws:sns:us-east-1:123456789012:goodbyeWorld"
       - production:
            Channels:
              - helloWorld:
                   TopicArn:
"arn:aws:sns:us-east-1:123differentaccount:helloWorldProd"
              - goodbyeWorld:
                    TopicArn:
"arn:aws:sns:us-east-1:123differentaccount:goodbyeWorldProd”

Also we could define the above as channel bindings, and then import them by
reference to message bindings? There are so many ways to slice this!
Does JSON schema allow for concetenation of strings? (So for example saying
that one string should be a combination of two others?)
I guess my main question is, how will it be used? Do we want to specify as
bindings all of the possible headers that could be passed in a publish
request to SNS? If so we need to put topicARN, MessageAttributes, and even
‘Message’ (which Asyncapi defines as ‘payload’).
Or, are the bindings more intended to be informative - eg explain your a
consumer what they might expect the subscriber to have done, but not
worrying so much about the particulars of the headers - I don’t think
Asyncapi is intended to replace an actual spec (for example, MQTT headers
are something like fixed-width binary format which JSON schema doesn’t
allow to define/validate in that way)
On Dec 12, 2019, at 07:27, Jonas Lagoni<EMAIL_ADDRESS>wrote:

@jonaslagoni commented on this pull request.
In examples/2.0.0/aws-sns-publish.yml
https://github.com/asyncapi/asyncapi/pull/298#discussion_r357117812:

 sns:

   # This should be appended to the servers' topicARNPrefix to

get the complete topicARN

   # Can we do this automatically using JSON-Schema trickery somehow?

   topicArnTopicName: "helloWorld"

publish:

 message:

   # The payload is equivalent to the AWS "Message" field

   # Publish documentation:

https://docs.aws.amazon.com/sns/latest/api/API_Publish.html

   payload:

     type: string

     pattern: '^hello .+$'

 bindings:

   sns:

     Action: Publish

     # This is a concatenation of topicArnPrefix +

topicArnTopicName from servers/channels above

     TopicArn: "arn:aws:sns:us-east-1:123456789012:helloWorld"

I think the whole TopicArn is redundant, since the template/client should
use the topicArnPrefix together with this TopicArn variable. Therefore I
suggest removing arn:aws:sns:us-east-1:123456789012: to it only contain
helloWorld.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/asyncapi/asyncapi/pull/298?email_source=notifications&email_token=ACN2DRZG3R2UKM6MSGHS5SLQYIU3DA5CNFSM4JYOIZY2YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCO62AQY#pullrequestreview-331194435,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACN2DR2Z4SOAXI5EHQQWLU3QYIU3DANCNFSM4JYOIZYQ
.

IMO it feels easier to me to start with a reasonable/simple example, and
then we can work backwards from that to the bindings spec.
On Dec 12, 2019, at 07:33, Jonas Lagoni<EMAIL_ADDRESS>wrote:

Another comment, even though the example is great, we need to specify the
binding for SNS more so then giving an example 😄 Maybe its better to start
specifying the bindings here https://github.com/asyncapi/bindings?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/asyncapi/asyncapi/pull/298?email_source=notifications&email_token=ACN2DRYYUKSAK7DPQGIZL63QYIVQ3A5CNFSM4JYOIZY2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGWQTXI#issuecomment-564988381,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACN2DRY6JZLJK7Y24DI673LQYIVQ3ANCNFSM4JYOIZYQ
.

Ahh okay, I am starting to understand the TopicArn now, I think :smile: I dont think this should be included in the bindings that specific, but rather in the implementation of the template :thinking: I would maybe rename TopicArn to TopicArnPostfix so it only contain helloWorld. That way in the template you can always concat it like so:
// Only example, not complete nunjucks code.
{{server.bindings().sns().TopicArnPrefix() |  parseToARNString }}:currentUser.uid():{{operation.bindings().sns().TopicArnPostfix() }}

Maybe there are even more use-cases etc, but I think it all comes down to the implementation part of the template.
Therefor I  would suggest that you try to start implementing a template using your current bindings, this is the same way I am doing with the NATS bindings. It helps you to get an understanding on how you can actually use it in practice :+1:
And to answer your question about concatenation of strings in JSON schema then I don't think they have it no :slightly_smiling_face:

@jonaslagoni can you explain more what you mean by that nunjucks code?
Also you said this:
"I dont think this should be included in the bindings that specific, but rather in the implementation of the template "
Can you explain what you mean? I want to be sure we're talking about the same thing.
For me, there is the 'bindings spec' which is here:
https://github.com/asyncapi/bindings/blob/master/sns/README.md#channel
then there is the schema which you generate for your messages, which might be something like this:
https://github.com/asyncapi/asyncapi/pull/298/files#diff-1c4aa514c49eea36bab76f18f17e471f

What I mean by nunjucks code is when used with the async api generator you can template your way out different kind of situations like I suggested with TopicArn. Even if you use a custom generator, you always have to balance between what should go into the bindings and what should not.

Can you explain what you mean? I want to be sure we're talking about the same thing.
...
IMO, if you are specifying in the 'schema' (is this a template?) what the message format should be, that would include the topicArn, as it should be to a known place, even if the message content will differ.

Yes and no, the problem you phase is that you have some dynamic data that should be included in your topicArn, which are not specified until at runtime (users) and some static data which never changes like the server you specify in your Async API file. That's why I am saying that some of the data might need to be in the Async API file and some should not. What is what I can honestly not tell you since it all depends on how SNS works, and even when you try to explain parts of it I cannot help you without fully understand it😄

Ah ok, I think I understand. So the templating is not part of asyncapi, but rather a feature of the generator. That makes sense.
I think re: SNS, the topicArn is not dynamic, or at least, in the simple cases I'm thinking of, it's not  dynamic; in most cases it could likely be fully specified in the original schema. Could also consider to what extent parameters might be useful here.
I think you can (reasonably) bind a server to an 'aws account' namespace, and then you could also somehow map a 'channel' (as a semantic concept) to a set of different actual channel/topicArns that will differ on a per-environment basis but still retain the same semantic meaning.
For example, hello-world channel in AWS account 123456789 may be called 'hello-world-dev' and 'hello-world-test' and 'hello-world-prod'
The best way to specify that remains to be seen...

I've updated the example to be a bit simpler now - welcome your additional comments...
I got rid of the "Action" binding, as I now feel it is distracting and also a bit confusing, and there are so many Actions that are beyond the scope of this API that I don't think it's worth specifying at all.
The new example assumes there are three environments - a dev/test environment (in one AWS account), and a production environment (in a different AWS account). This is a simple topology, many others are possible, but I just wanted to start with this example.
The main thing we need to communicate to the consumers, outside the context of the message, is the topicArn where they can read their messages.
These topicArns are a combination of region + account + topicName, and are given by AWS when you first create the topic.
There are a couple ways to do this -

For each "semantic" topic, describe a channel for it, then use bindings or extensions to show the mapping between semantic topic name and topicArn for different environment/server/etc combinations. The sample posted tries to do this.
For each actual topic that exists, create a channel for it. This would lead to some amount of duplication, especially if you have more or less the same channel across multiple environments.
There are other ways I'm sure...


When reference.Parse returns a digest only ref?

I cannot see the test case in https://github.com/distribution/reference/blob/v0.6.0/reference_test.go#L14
It seems all are Named.

Parse() returns Reference. Reference is an interface type whose underlying type may or may not have a digest based on the regexp match:
https://github.com/distribution/reference/blob/ff14fafe2236e51c2894ac07d4bdfc778e96d682/reference.go#L217-L223
The underlying type returned by Parse is reference
https://github.com/distribution/reference/blob/ff14fafe2236e51c2894ac07d4bdfc778e96d682/reference.go#L356
The reference type implements Canonical interface so you will need to do a type assertion on it to check whether it implements Canonical interface which has a Digest method:
https://github.com/distribution/reference/blob/ff14fafe2236e51c2894ac07d4bdfc778e96d682/reference.go#L142

If the ref implements the Canonical, it also implements the Named.

https://github.com/distribution/reference/blob/main/reference.go#L374-L380
It seems that Parse accepts a digest only ref, but I don't know what it looks like.


Incomplete documentaion or possibly incorrect behaviour for delta queries

Graph API seems to return unexpected response if a folder was deleted a recreated mid way through fetching delta pages. I am not sure if this is the indented behaviour and we are just missing documentation or the behaviour itself is incorrect and so filling it here.
Assuming we are paginating delta responses, if the user deletes and recreates a folder with the same name, we never get a folder deletion entry in delta, but just the new folder(updated id).
Repro
Assuming folder structure:

root

item0
folder (id1)

item1
item2

Steps:

Start delta query (first page gets us root and item0)
Second delta page (root, folder[id1], item1)
... User deletes and recreates folder and files in it ...
Third page (folder[id2])

At this point, if the user deletes and recreates folder with the same, I would either expect the delta API to either return nothing more or just a delete or a delete plus new entries, but it just returns the new entries (ie fodler[id2]) without a delete entry in between.
The API returns just a deleted entry if we started the delta off of a previous delta link.
Let me know if you need any more details.

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

ID: 5785f90e-b37c-c5a5-ddbc-7170307980c9
Version Independent ID: d8b7729e-38c4-5562-7359-5e926f8d7ae4
Content: driveItem: delta - Microsoft Graph v1.0
Content Source: api-reference/v1.0/api/driveitem-delta.md
Product: sharepoint
Technology: microsoft-graph
GitHub Login: @spgraph-docs-team
Microsoft Alias: MSGraphDocsVteam

Hi,
Thanks for your feedback. Unfortunately this repo is for keeping track of issues or new contributions in the Microsoft Graph docs and not to provide help about how to use Microsoft Graph. You should rely on the Microsoft Graph support area (https://developer.microsoft.com/en-us/graph/support) for this kind of questions. I'm going to close this item. Thanks for your understanding.


Added multi-select

This looks great! Tested on binance live hopper reserved positions and kucoin paper hopper positions list! 👍  Thanks for the contribution!


Examples using SQL and relational models.

First off, thanks so much for creating this repository. As a relative newcomer to Go, orienting myself in a landscape without established or strictly enforced best practices has been the toughest part of starting and this repository has been a godsend in terms of strategizing about project structure.
I've been having some trouble applying some of the principles here to my real-world services, however. Primarily, I have been having difficulty figuring out how to structure my models in a relational way, or rather where it is appropriate to load related models (repository, service, etc)? I'm using jmoiron/sqlx and also dealing with how to expand the repository interface to cover some more relational semantics that are not covered by the No-SQL example given in the repository.
For instance, only Store(obj *Object) is covered by the repository, but what if I'd like to handle the case of persisting a new object independently of persisting an existing object? In my case, I need to assign a custom ID to the new object and perhaps hash a user's password or something to that effect. Where would this best be handled and how?

I’m so very glad to hear that you’re finding it useful!
The Go community promotes evolving design, starting as simple as is required by you application rather than trying to fit every possible project into a certain structure. Rightfully so, the Go community has a healthy distaste for cargo culting. Though like you say, sometimes you just want to see some code to get a feeling of what it could look like. goddd is just that, an example of a non-trivial application that you can go to for inspiration, and use as a tool for discussing design.
Your domain model should not be depending on whether you’re using MongoDB or MySQL. That’s the very intention of the Repository. It lets you design your domain objects without having your arms tied by your choice of database. The Repository interface should make sense to the domain, rather than your database.
Typically the Store method in a repository should accept an aggregate. There’s some good information on designing aggregates here.
With that being said, I don't see any issues with separating Store into two methods:
type InvoiceRepository interface {
    Register(i Invoice)
    Update(i Invoice)
}

@marcusolsson, excellent! That clears that up quite nicely. If I could ask a follow-up, you seem to separate the processing of data into two layers service and repository. In my experience, the service layer is traditionally the realm of pure business logic and the repository layer is purely for persistence.
So, in the interface you've defined, should the persistence layer be expecting a fully-formed Invoice object that it dutifully passes along to the database? Things like assigning custom IDs and hashing passwords, are these best kept to the service layer? That's how I'm currently implementing things and its working quite well but I always like to check my reasoning against others with more experiencing in the area.

Right, if you by fully-formed mean that it has all data it needs to recreate the same invoice when you load it from storage. Here, Invoice is an example of an aggregate, which can be a group of one or more entities that is consistent (in terms of business rules) at any given time.
I would say that where you generate the IDs depends on their nature. For example, if you're using social security numbers to identify people, there are certain business rules that might apply. From Wikipedia:

The Social Security number is a nine-digit number in the format "AAA-GG-SSSS".

When registering new people, you're likely going to want to check that their SSN is valid. In this case, I would say that assigning IDs are part of the domain. On the other hand, if you just want a unique identifier for let's say a UserID, you could let your database generate one for you.
Personally, I prefer to generate them in the domain to avoid potential coupling to your database (even if it's just a UUID).
https://github.com/marcusolsson/goddd/blob/e99d84484d96ae930c826ff87126c2a158b2e28e/cargo/cargo.go#L67-L71
Thanks for sharing your thoughts!

@marcusolsson, awesome! Thanks for clearing that up and once again for the excellent project.

I was under the impression that one should NOT expose any database's instance id's used internally by the database (foreign keys and such) publicly.

@ghost: I've heard this bit of lore as well but never a compelling justification. Obviously you want to avoid exposing yourself to the risk of enumeration and predictable assignment so exposing incremental numerical IDs is a bad idea, but I see no reason not to use and expose UUID v4 identifiers.

I'm interested how you would implement a repository for the Cargo aggregate with the backing datastore being a RDBMS.  Wouldn't you need to have a way to tell if child entities (that are likely their own tables) were updated or not, which would traversing the entire aggregate tree every time an update is required.  Or would you just "upsert" every object - though this could become prohibitively expensive.  Just curious how you think one would tackle these issues!  Thanks!

can you give a mysql backend example? thank you very much


group-pull-request-title-pattern doesn't work with linked-versions plugin

Environment details

OS: Linux / GHA
Node.js version: 12 (I think?)
npm version: N/A
release-please version: 13.16.5 (v3.2.5 of the action)

Steps to reproduce

Create a "linked-versions" manifest config
Add "group-pull-request-title-pattern": "chore: Release ${component} ${version}" to the config, like https://github.com/phated/grain/commit/9afc27357724112117cd6c4cb2a900198423a4c4
Try to create a release. The ${component} and ${version} will be blank

I believe this issue is related to there being no "rootPackage" supplied for the Merge plugin. Ideally, we'd have access to the groupName as "component" and the linked version as "version".

I was able to get the version to show up (it seemed caused by combining linked-versions and node-workspace, I'll open a separate issue for the incompatibility).
However, it now hits the log for Bad pull request title: 'chore: Release Grain 0.5.0' and bails without creating a release. Why would that happen?

However, it now hits the log for Bad pull request title: 'chore: Release Grain 0.5.0' and bails without creating a release. Why would that happen?

I was just trying to use group-pull-request-title-pattern without linked-versions and I get the same error. Same even if I set pull-request-title-pattern as well. I originally set it to chore(repo): Release next package versions, thought it was the parens due to how the regex works in the PR title parsing, but even chore: Release next package versions has that error.

I think I've figured out what's going on, and it seems that there's two issues:

Manifest#buildReleases shells out to getStrategiesByPath passing in the config for the particular package - it doesn't have access to the group PR title pattern, and when buildRelease is called on the strategy, BaseStrategy uses pullRequestTitlePattern or MANIFEST_PULL_REQUEST_TITLE_PATTERN to build the PR title - so as currently implemented, you have to set both group-pull-request-title-pattern and pull-request-title-pattern for it to be able to parse the title correctly.
PullRequestTitle.parse only returns a PullRequestTitle if the regex match has groups - so at least one of scope, component, version, or branch has to be included and non-empty in the PR title


Fixes #471.

I agree with JHCD

Bug is in vanilla (oh surprise...), will create a custom loc for this.

Done, you can merge now.


heif: Unsupported feature: Unsupported codec (4.3000)

Hello. I am having trouble allowing HEIF/C -> JPEG. I am aware that in order to make it work, I need to have "libvips compiled with support for libheif, libde265 and x265.", however, I am quite new to sharp, and with some research, still am unable to get it working.
This is where I need to have them installed:
---- First Stage (Build) ----
FROM node:16-alpine as build
WORKDIR /app
ENV NODE_ENV=production
Install necessary build dependencies
RUN apk add --no-cache build-base git libheif-dev vips-dev
Copy package.json and package-lock.json separately
COPY package.json /app/
COPY package-lock.json /app/
Install npm dependencies and TypeScript
RUN npm ci
RUN npm install typescript
# Copy your application code
COPY . /app
# ---- Second Stage (Final Image) ----
FROM node:16-alpine
ENV NODE_ENV=production
WORKDIR /app
Copy the built application from the previous stage
COPY --from=build /app /app
EXPOSE 8080
RUN npm run build
CMD ["node", "server/app.js"]
I would love if you could show me step by step the procedure to have these installed, so I am able to successfully convert HEIF/C images.

UPDATE:
I have managed to get libvips installed, and tested it locally, and was able to convert HEIF. However, the problem comes when I want to dockerize it.
I am a JS error, and no matter all the fixes ive tried, which are:

Installing sharp using --platform=darwin, or --platform=linuxmusl
Deleting node_modules and re-installing,

I am unable to get it to work on the dockerfile. Here is the updated one:
 FROM node:16-alpine as build

WORKDIR /app

ENV NODE_ENV=production

 COPY package.json /app/
COPY package-lock.json /app/

 RUN npm ci

ENV LIBVIPS_VERSION_MAJOR=8 LIBVIPS_VERSION_MINOR=12 LIBVIPS_VERSION_PATCH=2
ENV LIBVIPS_VERSION=$LIBVIPS_VERSION_MAJOR.$LIBVIPS_VERSION_MINOR.$LIBVIPS_VERSION_PATCH

 RUN apk add --no-cache \
    build-base \
    git \
    libjpeg-turbo-dev \
    libpng-dev \
    libwebp-dev \
    zlib-dev \
    fftw-dev \
    librsvg-dev \
    libexif-dev \
    orc-dev \
    tiff-dev \
    giflib-dev \
    libheif-dev \
    vips-dev \
    curl \
    make \
    automake \
    autoconf \
    libtool \
        gtk-doc

 RUN curl -L https://github.com/libvips/libvips/releases/download/v$LIBVIPS_VERSION/vips-$LIBVIPS_VERSION.tar.gz > vips-$LIBVIPS_VERSION.tar.gz && \
    tar xf vips-$LIBVIPS_VERSION.tar.gz && \
    cd vips-$LIBVIPS_VERSION && \
    ./autogen.sh && \
    ./configure --enable-debug=no && \
    make && \
    make install

 ENV LD_LIBRARY_PATH="/usr/local/lib:${LD_LIBRARY_PATH}"

RUN rm -rf node_modules
# Install npm dependencies and TypeScript
RUN npm ci
RUN npm install typescript

EXPOSE 8080

CMD ["npm","run","start:prod"]

STACK: Error:
Something went wrong installing the "sharp" module
Error relocating /app/node_modules/sharp/build/Release/sharp-linuxmusl-arm64v8.node: vips_text_wrap_get_type: symbol not found
Possible solutions:

Install with verbose logging and look for errors: "npm install --ignore-scripts=false --foreground-scripts --verbose sharp"
Install for the current linuxmusl-arm64v8 runtime: "npm install --platform=linuxmusl --arch=arm64v8 sharp"
Consult the installation documentation: https://sharp.pixelplumbing.com/install
at Object. (/app/node_modules/sharp/lib/sharp.js:37:9)
at Module._compile (node:internal/modules/cjs/loader:1198:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1252:10)
at Module.load (node:internal/modules/cjs/loader:1076:32)
at Function.Module._load (node:internal/modules/cjs/loader:911:12)
at Module.require (node:internal/modules/cjs/loader:1100:19)
at Module.Hook._require.Module.require (/app/node_modules/require-in-the-middle/index.js:101:39)
at require (node:internal/modules/cjs/helpers:119:18)
at Object. (/app/node_modules/sharp/lib/constructor.js:11:1)
at Module._compile (node:internal/modules/cjs/loader:1198:14)

ENV LIBVIPS_VERSION_MAJOR=8 LIBVIPS_VERSION_MINOR=12 LIBVIPS_VERSION_PATCH=2

It looks like you're building libvips v8.12.2 from source, please upgrade to the latest version (and you'll need to switch from using autotools to meson).

Thank you! It works now.


Simplify construction of the Eclipse IDE target platform

Instead of cd eclipse/ide-target-platform; mvn package, we now have a ide-target-platform profile that will cause the Eclipse platform to be built as an additional output of the build.
Further improve documentation of tycho.toolchains, and adds a quick start note for building.
Fixes #232 and #233
PTAL @elharo

LGTM


Allow to specify host and port in run command

Resolves #27

Great yup! I'm not going to hold up on the test coverage (looks like it's not configured quite as I want yet. Should be whole repo % only, not patch %) so this is good as-is.

Great stuff, thanks!


Fixed #27392

Remove "Tests that", "Ensures that", etc  from test docstrings

This isn't that great. I'm going to close the ticket.


added 2fas authenticator in 2fa category

2fas authenticator is an opensource authenticator app with android, ios apps and browser extensions

Thank for reporting, the "2FA" section has been updated with the most recent Applications, see: brainfucksec.github.io/android-foss-apps-list/2fa
in any case the list is about be updated again.
I proceed to closing.


All shell scripts should contain proper License header

Description
All shell scripts should contain proper License header
Fixes #61
Type of change

New feature (non-breaking change which adds functionality)

Testing steps
N/A

Codecov Report

Merging #62 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #62   +/-   ##
=======================================
  Coverage   31.37%   31.37%
=======================================
  Files           4        4
  Lines         153      153
=======================================
  Hits           48       48
  Misses        100      100
  Partials        5        5

Continue to review full report at Codecov.

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


[ldd-img] need Sampling under Thumbnail

Please include img:Sampling as a child (0-1) of img:Thumbnail.

updated. Now I'm all stressed over attribute and class order.
in v1800 branch, https://github.com/pds-data-dictionaries/ldd-img/tree/v1800


Build people page with sample data binding

Content:

Profile
Quotes
Vote action per memos
Media appearances

Closed by 761e583


Update to newest Mermaid version?

This plugin currently uses Mermaid 10.3.0, the latest release is 10.8.0. Is if possible to update to this version to enable usage of the recently added diagrams like the block diagram? http://mermaid.js.org/syntax/block.html

The plugin only has a minimum dependency of 10.3.0, but also works with 10.8.0 or newer, you can use yarn upgrade or similar to upgrade sub-dependencies to newer allowed versions.

Thanks a lot - I'll report this back to my collegues who actually operate our backstage instance.

@johanneswuerbach  Do you want to keep this at 10.3.0. I bumped it in #53 , but I can revert that part.


mozcdic-ut-jawiki: 0-unstable-2024-08-23 -> 0-unstable-2024-09-21

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for mozcdic-ut-jawiki is: Mozc UT Jawiki Dictionary is a dictionary generated from the Japanese Wikipedia for Mozc.
meta.homepage for mozcdic-ut-jawiki is: https://github.com/utuhiro78/mozcdic-ut-jawiki
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0-unstable-2024-09-21 in filename of file in /nix/store/4h3b1mh2dzxkmjy035z3wxlvr8kizzsa-mozcdic-ut-jawiki-0-unstable-2024-09-21

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

ibus-engines.mozc-ut

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/4h3b1mh2dzxkmjy035z3wxlvr8kizzsa-mozcdic-ut-jawiki-0-unstable-2024-09-21 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A mozcdic-ut-jawiki https://github.com/r-ryantm/nixpkgs/archive/87be1ce3af6fe29d65090bc0482f0e8218a65b4d.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/87be1ce3af6fe29d65090bc0482f0e8218a65b4d#mozcdic-ut-jawiki

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/4h3b1mh2dzxkmjy035z3wxlvr8kizzsa-mozcdic-ut-jawiki-0-unstable-2024-09-21
ls -la /nix/store/4h3b1mh2dzxkmjy035z3wxlvr8kizzsa-mozcdic-ut-jawiki-0-unstable-2024-09-21/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

3 packages built:

ibus-engines.mozc-ut
merge-ut-dictionaries
mozcdic-ut-jawiki

Maintainer pings
cc @pineapplehunter for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

@NixOS/nixpkgs-merge-bot merge


Added Minified CSS using gulp-clean-css API

Minified css automatically generated using gulp-clean-css added to gulpfile.js folder

Thank you for making this PR @ashwinjayan!
(You forgot to add gulp-clean-css as a dev dependency. Please commit the changes to package.json and package-lock.json.)
@ashwinjayan @mAAdhaTTah @LeaVerou @Golmote
Is this something we want/need for Prism? I see that it makes sense to offer minified themes and plugin CSS but I never saw this as a priority because the file size of minified themes is only about 25% to 30% less than the unminified versions.
Note: If we added the minified files, we should also add support for this to the download page (shouldn't be too hard). However, changes to the download page shouldn't be part of this PR, IMO.
Thoughts?

Related issues: #2546, #956

Hi @RunDevelopment, I missed to save the dependency. Have added it to dev-dependency and committed.

@RunDevelopment How hard would it be to add to the download page? @ashwinjayan Is this something you'd be willing to tackle?
I do think it's a little curious we provide the JS minified and not the CSS so I'm open to adding this, but we should probs include the download page change as part of this.

How hard would it be to add to the download page?

Pretty easy from what I see. If plugin CSS was also minified, then this is the only line that has to be changed.

I'll close this now in favor of #3073.


mock: add initial eta parameter to protocolInfoPraos

Fixes #2235.

@mrBliss good catch. I had that diff stranded on a separate WIP branch.
I've copied it over here, rebased onto latest master, and now force-pushed. So this PR now handles mock Praos and pure Shelley (ie RealTPraos) ThreadNet tests.
P.S. My upcoming PR for Issue #2388 (which your Approval on PR 2490 has unblocked; thanks!) will make a similar change to the Cardano ThreadNet tests.

I fixed the last 2 mini tasks and optimistically rebased onto bors' latest candidate. I think in a a few tens of minutes this PR will be back down to two commits vs master and ready for Approval.

I fixed the last 2 mini tasks and optimistically rebased onto bors' latest candidate. I think in a a few tens of minutes this PR will be back down to two commits vs master and ready for Approval.

Perfect!

bors r+

bors r-

I touched the last commit and then force pushed, because GitHub was confused. Its UI was listing that last few commits merged into master as part of this PR. This is almost certainly because I had rebased onto bors' staging commit. I won't do that again :(

bors r+

I touched the last commit and then force pushed, because GitHub was confused. Its UI was listing the last few commits merged into master as part of this PR. This is almost certainly because I had rebased onto bors' staging commit. I won't do that again :(

I have done that a few times in the past and as far as I can remember, it always worked. Maybe just bad luck this time.


Uploading local plugins does not work

Right now I am trying to develop a plugin for neptune, I wrote a simple console.log and build it with "pnpm run build"
Then I clicked on the upload file and tried adding the build file into the plugin, but nothing really seems to work it is always "Failed to parse mainfest"
After looking into the code I seem to find that it searches for the manifest in the javascript, but in the local file the manifest and the js file are completly seperated
Am I missing something?
If yes, would it be helpfull to add it to the README?

Local plugins don't require a build step.
Encode your manifest by putting it at the top as a comment:
/* {   "name": "plugin name",   "author": "plugin author"   "description": "plugin description" } */


Tracking Issue for location-detail

Summary
RFC: #2091
Original issue: https://github.com/rust-lang/rust/issues/70580
Documentation: https://doc.rust-lang.org/nightly/unstable-book/compiler-flags/location-detail.html
Before stabilizing location-detail, I'd like to try integrating it with Cargo, in the spirit of https://github.com/rust-lang/cargo/issues/12739
Unresolved Issues

[ ] Should it support location-detail = false to mean "none"?
[ ] For multi-valued option, is it okay to support "file,line" as a string, or should it be ["file", "line"] or both?

Future Extensions
No response
About tracking issues
Tracking issues are used to record the overall progress of implementation.
They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions.
A tracking issue is however not meant for large scale discussion, questions, or bug reports about a feature.
Instead, open a dedicated issue for the specific matter and add the relevant feature gate label.

For multi-valued option, is it okay to support "file,line" as a string, or should it be ["file", "line"] or both?

IMO comma-separared values in TOML configuration are not preferred in Cargo.


DO NOT use self-signed certificate & reduce expiry date

Uses self-signed certificate is extremely insecure which is easy to suffer MITM. So if possible, NEVER use self-signed certificate.
The expiry date of certificate in default (3650 days) compare with Let's Encrypt (90 days) is too long! So if possible, reduce the expiry date, 90 days to 1 year is OK. The maximum better less than 1 year.  Concider use Let's Encrypt's certificate. It is free.

great. please send PR on that

The proper method is creating a self-signed ROOT CA, then signing a server cert with this ROOT CA.
XCA is a good cert manager tool.

I don't think auto-generated self-signed certificate is not a problem. Users can always replace auto-generated certificates with their own certificates. It up to users.

Oh, no. Maybe most of users doesn't know the risk of using self-signed certificate (sufter MITM) if they don't learn about computer. Maybe they only think it's easy to generate it. Unfortunately, in some countries, government could MITM, I'm not kidding. What's worse, when suffering MITM, users couldn't discover when using self-signed certificate, they still think the connection is "secure".
So, here are two way:

NEVER use self-signed certificate (the better choice).
Allow user use self-signed certificate, but show a security alert (the worse) and suggest him/her to register a trustable certificate.
Security is most important. Safety first! It's not difficult to make a Let's Encrypt's certificate. It's free.

well, any user including you can choose proper certificate when installing SE VPN. please define the scope of this issue.

Show a message such as:
Pay attention please/Warning: SE-VPN will use a self-signed certificate by default (which is easy to suffer MITM).
Do you want to continue?
You could also choose a trustable certificate.
Is this OK?

sounds reasonable. please send pull request

Nothing wrong with self-signed certificate so long as you can verify it some other way -  CA's do this.   Ironically (or more paradoxically), CA's are less secure for in part the reasons given as to why self-certs are.  You have to trust them, and for longer.  More often then not I want to know if a certificate changes.
x509 also leaks a metric shit ton of metadata.

@h1z1 I completely agree with you.

@h1z1 Yeah, maybe someone think CA doesn't trustable, but without CA, user need to check the public key/certificate of server like using SSH or at the risk of suffer MITM because every attacks could replace it easily. When user connect to a new server such as VPN Gate public VPN relay servers, they really don't want to check the public key/certificate of server, that's too troublesome. Use a trustable certificate - maybe someone doesn't trust the CA, but a certificate verified by CA could reduce the risk of suffer MITM.

user need to check the public key/certificate of server like using SSH or at the risk of suffer MITM because every attacks could replace it easily.

To understand why that is moot, one need only look at the number of  root CA certificates no plaguing the world.  Installed by default too.
I would say 99.99% of them are never used by users yet we are forced, by default, to accept and trust them?  Globally?  Most have names bearing nothing related to their source nor purpose.  Couple more interesting ones:
China Financial Certification Authority
Expires: December 30, 2029

Chunghwa Telecom Co., Ltd.
Expires: December 19, 2034

TWCA Root Certification Authority
Expires: December 31, 2030

Government Root Certification Authority
Expires: December 5, 2032

GUANG DONG CERTIFICATE AUTHORITY CO.,LTD.
Expires: December 31, 2040

Hongkong Post Root CA 1
Expires: May 15, 2023

Japan Certification Services, Inc.
Expires: April 8, 2029

XRamp Security Services Inc
Expires: January 1, 2035

The core issue is this push to remove any kind of user feedback when things DO go wrong.  Example is browsers no longer warn when certificates change.  Both Chrome and Firefox literally have hardcoded "logic" to deal with certs that were compromised.
The rather delicious irony is despite all the metadata in certificates, not one of them limits their scope to a particular domain.  Despite all the SSL/PKI implementations, not one of them allows conditional acceptance (say per session or timed).   You must accept their trust entirely, and that is asinine.
Simply being signed by a "trusted" CA should never have included future attestation.  The only real strength in public CA's was their death in the event a certificate was compromised.  Yet even western companies are unwilling to do that.

actually, SE supports "Server Certificate Verification". u can specify the server cert from "VPN Connection Settings" on client or cascade. it will verify the cert when connecting and failed if the server cert does not match client-side settings. self-signed cert is ok in this situtation.

well, it is really a user decision. indeed, user can install either self-signed or CA signed cert.
thank you, @claw6148


Virus

Is there an existing issue for this?

[X] I have searched the existing issues

I'm submitting a ...

[ ] bug report
[ ] feature request
[ ] support request --> Contact me over mail for support https://github.com/MShawon

Description
After running it on both my raspberry pi and my kali linux vm, both machines crash and then fail to boot, DO NOT DONWLOAD THIS
Environment
.

config.json
.

DO NOT DOWNLOAD THIS

People like you are why Github issues are a joke.


✕ unmet peer<EMAIL_ADDRESS>found 11.2.1

Environment
"db0": "0.1.4"
nodejs: v22.6.0
Reproduction
pnpm i better-sqlite3
Describe the bug
Please update the version of the dependency
Additional context
No response
Logs
No response

I think it is safe to update to v11 as long as you're not using node v16

But it always prompts this:
 WARN  Issues with peer dependencies found
apps/dashboard
├─┬ nuxt 3.13.0
│ └─┬ nitropack 2.9.7
│   └─┬ db0 0.1.4
│     ├── ✕ unmet peer<EMAIL_ADDRESS>found 11.2.1
│     └── ✕ unmet peer<EMAIL_ADDRESS>found 0.33.0
└─┬ typeorm 0.3.20
  └── ✕ unmet peer<EMAIL_ADDRESS>|| ^8.0.0 || ^9.0.0": found 11.2.1

Yes but it shouldn't be a real problem unless you're experiencing any issues because of it.

it will be fixed in next release we relax deps.


Fix compilation error: Auto-application to () is deprecated

New users will experience this issue on sbt run

Tested on Windows/Mac/Linux

Thanks @guangyusong for your contribution!
LGTM


Add a Slackbot for custom notifications

Add a Slackbot to connect to the NFLPool Slack channel to include notifictions for:

New user registration
User requested password reset
Submitted picks for a season
When stats are run and the database is updated

Committed in dev, needs to be tested:  a6ac5e42d1b477833536200fb7f3446c885165a4

Pushed


Task 3 - API status

[ ] Update the API entry point (api/v1/app.py) by replacing the current CORS CORS(app, origins="<IP_ADDRESS>") by CORS(app, resources={r"/api/v1/": {"origins": ""}}).
[ ] Change the route 1-hbnb to 2-hbnb in the file 2-hbnb.py (based on 1-hbnb.py)

Create a new template 2-hbnb.html (based on 1-hbnb.html) and update it:

[ ] Import the javascript static/scripts/2-hbnb.js in the  tag (instead of 1-hbnb.js)
Add a new DIV element in the HEADER tag:

[ ] Attribute ID should be api_status

[ ] Align to the right

[ ] Circle of 40px diameter

[ ] Center vertically

[ ] At 30px of the right border

[ ] Background color #cccccc

[ ] Add a class available for this new element in web_dynamic/static/styles/3-header.css:

[ ] Background color #ff545f

Write a javascript script (static/scripts/2-hbnb.js):

[ ] Based on 1-hbnb.js
Request http://<IP_ADDRESS>:5001/api/v1/status/:
If in the status is "OK", add the class available to the DIV#api_status
Otherwise, remove the class available to the DIV#api_status


Doc changes

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Updated documentation for AWS Secrets


link error

My project runs on Windows, there is an error undefined reference to EnumProcesses in c code.
I know the function EnumProcesses() defined in libpsapi.a, and i find this library in C:\Rust\bin\rustlib\x86_64-pc-windows-gnu\lib.
I tried to use object() and flag() in gcc-rs to link the library, but failed.
How can i fix it?

This sounds like your build script should contain the line:
println!("cargo:rustc-flags -l psapi");

Does that fix it for you?

I add this line into build.rs. When runs cargo.exe build --verbose, it prints Wrong output in build script of ...... : cargo:rusts-flags -l psapi.
What's wrong?

Ah sorry, cargo:rustc-flags=-l psapi is what it should print

Oh yes, think you very much!


Allow anchors with # href if they have no onClick handler

I want a navigatable link which takes one to the top of the page, not to any specific anchor. I am using  for that, like I do for any other section (). I understand the rationale behind disallowing # on anchors with onclick handlers, because they misuse the anchors, but # with no onclick sounds like a perfectly valid use case for me - it takes you to a section with no name, which also happens to scroll the browser all the way up.

Duplicate of #555.
Try #top.

Didn't know about #top, thanks.


Import history from old repository

I found a possibility (git-replace) to import the full history from the Launchpad repository, linking it to the GitHub commit history without rebasing (all the recent commits remain unchanged including hashes!)
In fact my fork at https://github.com/Ede123/scour contains the full history right now, see https://github.com/Ede123/scour/commits/39fb9eee021e328261075481a2addbdca2c6cf19.
I'm afraid GitHub does not support replacements in its front-end, so it will not show the combined history. However if one clones the repository locally and executes git fetch origin 'refs/replace/*:refs/replace/*' the full history will be available and visible when doing e.g. git log
Since GitHub does not allow me to create a PR for this (since there are obviously no changes when comparing):
Shall I describe the necessary steps in detail so someone with write access to the repository can re-do the import?

To be honest, I have never done that before, but I have been bitten by Git tricks modifying history before. So I'm a bit sceptical.
@Ede123 Could you describe the steps that you did? How would be try that here without risking screwing up the whole repo?
@codedread Is this (having complete history here) something you would see as important? You started this code base, so I think you should have final decision on this.

First of all: My approach does not modify history at all! That's the beauty of git-replace. The current commits remain completely unchanged. The commits from the history are simply added in parallel (i.e. have no connection to the current commits).
Only by using git-replace a virtual link between the two separate commit histories is created. This is done by virtually replacing one single commit of the current commits with a modified version that includes the the last commit of the old history as a parent.
If one does not fetch this replacement (which is stored in .git/refs/replace/ as a plain text file) with the command I posted above absolutely nothing will change. If one does fetch the replacement one will have the combined commit history.
For the whole procedure I first followed this guide to convert the Launchpad bazaar repository to git:
I then followed this explanation on StackOverflow to create the link using Git replace using the method described in the section "Using refs/replace/ mechanism".

I should add that I already used the history a lot, mainly to check whether the issues the unittests just unveiled where regressions of recent changes. Also I use git blame a lot to figure out why specific portions of code where written the way they are (often ancient commit messages contain a lot of useful information).

I don't have an opinion on how important the history is here.  As long as current maintainers and developers are happy - that sounds great! :)

As this was a freebie I just pushed the replacement to the main repository.
If you want to have the full commit history simply execute the command I already mentioned above:
git fetch origin 'refs/replace/*:refs/replace/*'


Update the readme with IBM Watson Support?

Do you support IBM Watson as mentioned in the description of the latest push ?
If yes, it could be good to update Readme.

IBM Watson support is going to be redesigned so we are rolling it back atm.


Add override() to override native implementation

Unfortunately, current browser implementations are unstable. Current Chrome's implementation does not work well but we cannot apply smoothscroll polyfill because containing scrollBehavior property. (We cannot delete that property with delete document.documentElement.style.scrollBehavior;!)
override() allows you to override native functions with this polyfill that works well.
Will resolve #52, #49.

+1 something like this is badly needed. Browser implementations are very patchy atm. As well as the the chrome flag: "Experimental Web Platform features" adding scrollBehaviour property and so negating the use of this polyfill. There's also a chrome flag for scrolling anchor links which again doesn't work very well at all. Please merge this or add similar way to force use of the polyfill. Thanks!

Thanks for the PR! I think we need to come up with other approach since this won't allow people inserting the script to override it, only people importing with npm.

Feature already supported by global settings, go to README to find out how to do it.
Feel free to reach out to me if you have questions.
Thanks for your contribution!


NFC - minor spelling tweaks under lite and lite/examples directories

This PR addresses minor spelling tweaks under tensorflow/lite and tensorflow/lite/examples directories.
follow-on of #35286

cc @mihaimaruseac


The 'pointerout' event cannot be triggered on the phone.

Use Chrome DevTools(Mobile Simulation):
https://pixiplayground.com/#/edit/vxt55MKGiGk3wC2h_~GsN
Is there any way to monitor pointerout events on mobile devices?

https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/pointerout_event


Documentation of GitHub packages is partly outdated

Code of Conduct

[x] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
https://docs.github.com/en/packages/learn-github-packages/connecting-a-repository-to-a-package#connecting-a-repository-to-a-user-owned-package-on-github
What part(s) of the article would you like to see updated?
When going on the packages-tab of my organization, there is no button to connect to a repository.
My view:

Shown in docs:

Additional information
No response

@Morinator Thanks so much for opening an issue! I'll triage this for the team to take a look :eyes:

Hi @Morinator, thanks for raising this issue. You're seeing that page because you do not currently have any packages owned by your organization. If you did, you would see a list of packages on this page. You could then click the package and, on the package's page, click Connect Repository.
I'll close this issue as no docs updates are required on this particular point. 🙂


[Automation] - Use the latest Rancher chart to use during the Rancher installation when the Jenkins job is recurring.

Rancher installation when the Jenkins job type
is recurring.

Summary
When the Job type is recurring in Jenkins get the latest Rancher chart to be used during the Rancher installation done by Corral.
This will allow to use the latest chart with the current *-head image.
The latest chart will be filtered by Rancher version 2.x (2.6, 2.7, 2.8 ..)
Technical notes summary
This change will allow the Dashboard tests package use the latest Rancher chart available, release candidate or release. This will allow using the more recent Rancher Image during helm install.
Areas which could experience regressions
Jenkins pipeline setup.

Complements: https://github.com/rancherlabs/corral-packages/pull/27

Unless @yonasberhe23 objects, i'd vote this can go straight in

Agreed. No objections from me.

Thanks for the reviews. Merging.


Introduce MockitoMockClassReference check

Opening PR as draft already to get some feedback on the best approach for the unimplemented test cases regarding type arguments and generics (see corresponding test).

Suggested commit message:
Introduce `MockitoMockClassReference` check (#454)

Flags Mockito mock and spy creation expressions that explicitly specify the
type of mock or spy to create, while this information can also be inferred from
context.

Description
Adds a bug check that flags usages of Mockito#mock(class) and Mockito#spy(Class) which can be replaced with the no-arg overload, as introduced in Mockito 4.10.0  (https://github.com/mockito/mockito/pull/2779). This is possible when the type this mock is assigned to is known and equal to the class passed to this method.
Some simple cases:
-    Foo foo = mock(Foo.class);
+    Foo foo = mock();

  Foo getFoo() {
-    return mock(Foo.class);
+    return mock();
  }

Edge-cases
Subtypes
We don't want to replace cases where the class passed is a subtype of the class that the mock is assigned to. For example (where Foo extends|implements Bar):
Bar bar = mock(Foo.class);
assertThat(bar).isInstanceOf(Foo.class);

Changing this would otherwise make the assertion fail.
Classes with generic type arguments
It is safe to mock classes with generic type parameters (e.g. List<E>) as the mock should be programmed either way based on the type of the type parameter. Therefore these are currently rewritten. For example:
-    List<Foo> foos = mock(List.class);
-    List bars = mock(List.class);
+    List<Foo> foos = mock();
+    List bars = mock();

Variably typed mocks
When the type of the mock is variable, especially when encapsulated in a method parameter, there can be problems when removing the argument. Therefore, currently, these cases are not supported. A simple case that could be rewritten is:
-Class<BigInteger> clazz = BigInteger.class;
-BigInteger mock = mock(clazz);
+BigInteger mock = mock();
}

However, when the variable is dynamic, it could lead to problems. For example:
-<T> T getMock(class<T> clazz) {
-  return mock(clazz);
+<T> T getMock() {
+  return mock();
}

@Test
void mockType() {
-  assertThat(getMock(BigInteger.class)).isInstanceOf(BigInteger.class);
+  assertThat((BigInteger) getMock()).isInstanceOf(BigInteger.class);
}

Non-explicitly typed mocks
When the mock is assigned to a non-explicitly typed variable (i.e. when using var), we can not simply drop the mock argument as otherwise Mockito could not derive its type. Thus we will not rewrite:
var foo = mock(Foo.class);

Had a quick look; I don't mind proposing a fix, but @Badbond if you wan to have a crack at it yourself, lemme know :)

Feel free to!

On the list it goes :smile:

Do we want to create an XXX to identify when we can drop a preceding suppression like here?

Good one. For this PR we should at least (manually?) clean up the impacted files. I see three options:

Extend this check to drop @SuppressWarnigs("unchecked") when making this change. Easiest, but rather specific.
Introduce a separate (ideally non-Mockito-specifc) check that identifies such unnecessary suppressions. Complexity TBD, but more in line with our "better to compose minimal improvements" philosophy.
Introduce an off-by-default shell script or compilesWithFix bug checker that flags an type of obsolete suppression. Complexity TBD.

Haha, passing the tree instead of calling either the getInitializer or getExpression with cast is big brain move 😄.

Tnx ;)

For this PR we should at least (manually?) clean up the impacted files.

Didn't notice that the diff referenced another repo :upside_down_face:. Anyway, options remain the same.

Added a commit with the XXX.
I'd like to propose the following. Create a GH issue for (1) and keep (2) for later. Although that is the best way to solve it, it sounds like quite an involved check that not everyone is able to pick up.

Added a commit with the XXX.
I'd like to propose the following. Create a GH issue for (1) and keep (2) for later. Although that is the best way to solve it, it sounds like quite an involved check that not everyone is able to pick up.

Having slept on it, I don't think (1) makes sense: an initial version of (2) could be one that only works for mock() calls.

Let's discuss offline what the best approach would be. For now I'd propose to merge once 💚 ! 🚀

Thanks for the tweaks @Stephan202! PR LGTM for merge. Very nice that you flag additional cases of multi-arg mocking where we can still omit the class as well as the usage within lambda expressions. Amazing polish of tests, comments and casting too :heart_eyes:.

Having slept on it, I don't think (1) makes sense: an initial version of (2) could be one that only works for mock() calls.

I would also think (2) is the best option to also gain the most value. Complexity indeed to-be-seen (likely as part of implementation), but it sounds to me that this can be a generic check flagging safe casts (to subtype/to same type/raw-to-raw) annotated with the unchecked suppression.


feat: create new, empty account when not in initial state

Closes #243

blocked by: https://github.com/kkrt-labs/keth/issues/242 (storage dict issue for test)


Enable PR format checker

WHAT
Let's enable format checker for the PRs.

mainly TypeScript (JavaScript) for now
expand to other files gradually

WHY
To make our codes clean and good readability.
INFO
I've used this as of now
npm run lint
bash infra/format $(ARGS)

(Anyone interested in this task can assign oneself and go on,)

#29 task should be prepared before to work on this

To do: enable clang format

done


PropertyCollector.collectMultiple: Encounter ERROR when fetching a list of VMs and at the same time some VMs are being destroyed

Hi all, I am using list_virtual_machines.rb in fog/fog-vsphere and at the same time some VMs are being destroyed in my vCenter Server by other staffs. Then I encountered the below ERROR:
RbVmomi::Fault: ManagedObjectNotFound: The object has already been deleted or has not been completely created
/usr/local/bundle/gems/rbvmomi-1.13.0/lib/rbvmomi/connection.rb:63:in `parse_response'
/usr/local/bundle/gems/rbvmomi-1.13.0/lib/rbvmomi/connection.rb:92:in `call'
/usr/local/bundle/gems/rbvmomi-1.13.0/lib/rbvmomi/basic_types.rb:213:in `_call'
/usr/local/bundle/gems/rbvmomi-1.13.0/lib/rbvmomi/basic_types.rb:76:in `block (2 levels) in init'
/usr/local/bundle/gems/rbvmomi-1.13.0/lib/rbvmomi/vim/PropertyCollector.rb:23:in `collectMultiple'
/usr/local/bundle/bundler/gems/fog-vsphere-0a9a52896c88/lib/fog/vsphere/compute.rb:171:in `convert_vm_view_to_attr_hash'
/usr/local/bundle/bundler/gems/fog-vsphere-0a9a52896c88/lib/fog/vsphere/requests/compute/list_virtual_machines.rb:51:in `list_all_virtual_machines'
/usr/local/bundle/bundler/gems/fog-vsphere-0a9a52896c88/lib/fog/vsphere/requests/compute/list_virtual_machines.rb:16:in `list_virtual_machines'

Moreover, I have added some fields like datastore, resourcePool, customValue, guestNetInfo and network in the hash(ATTR_TO_PROP) for your reference.
ATTR_TO_PROP = {
          id:                  'config.instanceUuid',
          name:                'name',
          uuid:                'config.uuid',
          template:            'config.template',
          parent:              'parent',
          hostname:            'summary.guest.hostName',
          operatingsystem:     'summary.guest.guestFullName',
          ipaddress:           'guest.ipAddress',
          power_state:         'runtime.powerState',
          connection_state:    'runtime.connectionState',
          hypervisor:          'runtime.host',
          tools_state:         'guest.toolsStatus',
          tools_version:       'guest.toolsVersionStatus',
          memory_mb:           'config.hardware.memoryMB',
          cpus:                'config.hardware.numCPU',
          corespersocket:      'config.hardware.numCoresPerSocket',
          overall_status:      'overallStatus',
          guest_id:            'config.guestId',
          hardware_version:    'config.version',
          cpuHotAddEnabled:    'config.cpuHotAddEnabled',
          memoryHotAddEnabled: 'config.memoryHotAddEnabled',
          firmware:            'config.firmware',
          annotation:          'config.annotation',
          # Patched by me
          datastore:           'datastore',
          resourcePool:        'resourcePool',
          customValue:         'customValue',
          guestNetInfo:        'guest.net',
          network:             'network'
        }.freeze

I suggest it should by-pass the VMs which are being destroyed instead of raising this error. Otherwise, I cannot get the list of other VMs if someone keeps destroying or cleaning up the VMs in my vCenter Server. Thanks

I'm incredibly sorry for somehow missing this and not following up! 😞
For this issue, I'd say that it's not right for rbvmomi to bypass the VMs being destroyed. rbvmomi is meant to mimic the web service API as closely as possible and this is how the PropertyCollector works. While rbvmomi does at some points provide some extensions to make things a bit easier, this is using the PropertyCollector directly (and I do realize that this is because there is no abstraction provided above this layer and that is why fog-vsphere is using it directly).
That said, you should be able to use rescue to bypass this issue as it comes up. fog-vsphere could do this for you in list_virtual_machines or you could choose to do this in your calling code. Either way would work.


Failed 'npm install most'

I'll get this error
npm ERR! 404 'most/multicast' is not in the npm registry.

Hey @syarul, most uses scoped packages.  Are you using a version of npm that supports scoped packages?

Ok, sure thing, I'll try that. Thanks for the super fast reply

No problem!


More updates for the cal/val delivery

This PR follows #35 and adds more updates on the RTC-S1 SAS for the cal/val delivery:

Update RTC-S1 product metadata;
Add option to dilate the layover/shadow mask;
Add option to skip process if output geocoded files exist;
Add layer name and description to GeoTIFF metadata;
Update software version from gamma v0.3 to calval v0.4.

Nice PR. My comments are as below - Seongsu

Thank you, @seongsujeong . I addressed all your comments. Please, let me know if you have any other comments/concerns.

Few more minor issues as below - S

Thank you, @seongsujeong . Just addressed them.


Interactive widgets in Jupyter Notebooks

It would be nice to have some interactivity in notebooks, like taking text input from the user or sliders and checkboxes. Python has this feature with ipywidgets - https://ipywidgets.readthedocs.io/en/latest/examples/Widget List.html
IFSharp also seems to have some basic checkbox controls here https://github.com/IvanAntipov/IfSharp.Widgets
For basic text input, the ReadLine() functionality mentioned in dotnet/try#156 would be nice to have.
Are there any attempts to provide this functionality? If not, is there any guidance on how we can create something similar to ipywidgets? I can find some basic examples on how to add javascript and custom html here https://medium.com/@jdchipox/how-to-interact-with-jupyter-33a98686f24e - can that approach work with this kernel?
Here is an article on using widgets in Python notebooks https://medium.com/@jdchipox/how-to-interact-with-jupyter-33a98686f24e

+1. Something like ipywidgets or even better, mathematica is a must in my opinion.

Hi @jonsequitur , I've forgotten, what's the status on widget support?  Anywhere to look or help?
I remember we discussed some aspects in a 1:1 but I can't track down my notes on this.
Thanks!

hi. just to check - is there any progress, documentation or pointers on this one? actually we are planning to integrate interactive with 3D visualizations - i think the same mechanisms would be needed here.
:)

FYI: check if this discussion relevant for 3D scientific visualization for dotnet Interactive.

With the additional functionality in #!connect recently added(Ref: #2791), I just gave a widget a whirl (specifically https://github.com/microsoft/powerbi-jupyter). As expected, widgets aren't solved with the update. Still the additional of cross kernel connect is a great addition.

@Snozzberries
Is it possible for your to share e.g. gif screen video of what you mean with your polyglot notebook?

Some stand-alone notebooks have been created by @powelstadnicki uses a custom handler for messages from Javascript back to the kernel

Some stand-alone notebooks have been created by @powelstadnicki uses a custom handler for messages from Javascript back to the kernel

@funkrider I looked for this guy on github, google, and twitter, and haven't been able to find anything from him. Do you have a link. I would love to see this in action

https://www.buymeacoffee.com/florencedev/posts


Advanced Screen Comparison vs Accept Test Case

Version used

AET 3.0

Context of the issue/feature
The 'Advanced Screen Comparison' button is not vertically centered
Steps to reproduce

Go to any report containing screen comparison test case
Look at the bar with 'Advanced Screen Comparison' and 'Accept Test Case' buttons
Note that the 'Advanced Test Case' button is not vertically centered

Appendix

Looks like the issue has been fixed.


Add appstudio-tasks to permitted task bundles list

This should get the e2e tests passing again.

This is low risk and might unblock https://github.com/redhat-appstudio/e2e-tests/pull/101 so I'm going to insta-merge it.


Feature gate ExternalPolicyForExternalIP not documented

This is a Bug Report

Problem:
The feature gate ExternalPolicyForExternalIP is not listed in https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/
Proposed Solution:
Add ExternalPolicyForExternalIP to the feature gate list
Page to Update:
https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/

Kubernetes Version:
v1.21
Additional Information:
Prompted by https://github.com/kubernetes/kubernetes/pull/101448
/language en
/kind bug
/sig network

@kubernetes/sig-network-misc we'd like this feature documented, even if it has already graduated


ford looks for nonexistent &noun marks on foreign ships

Poking someone's even app over the network, which uses the noun mark:
> :~hobten-hinrym/even &noun [27 0]
; ~hobten-hinrym not responding still trying
fame: no /~hobten-hinrym/home/163/mar/noun
ford: check [%noun [p=~hobten-hinrym q=%home r=[%ud p=163]] ~losfus-ropmex]
ford: vale %noun ~losfus-ropmex
mack
; ~hobten-hinrym is ok

I think this is an issue of /gall/ looking for a &noun mark, by the
semantics of remote poke
On Saturday, 16 July 2016, Raymond Pasco<EMAIL_ADDRESS>wrote:

Poking someone's even app over the network, which uses the noun mark:

:~hobten-hinrym/even &noun [27 0]
; ~hobten-hinrym not responding still trying
fame: no /~hobten-hinrym/home/163/mar/noun
ford: check [%noun [p=~hobten-hinrym q=%home r=[%ud p=163]] ~losfus-ropmex]
ford: vale %noun ~losfus-ropmex
mack
; ~hobten-hinrym is ok

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/urbit/arvo/issues/204, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABxXhqXgABWzlAlcqdtiBXEUE06KzLv5ks5qWVLVgaJpZM4JOGla
.


[MINOR][SQL] Fix log messages of DataWritingSparkTask

What changes were proposed in this pull request?
This PR fixes the log messages like attempt 0stage 9.0 by adding a comma followed by space. These are all instances in DataWritingSparkTask which was introduced at https://github.com/apache/spark/commit/6d16b9885d6ad01e1cc56d5241b7ebad99487a0c. This should be fixed in branch-2.4, too.
19/07/25 18:35:01 INFO DataWritingSparkTask: Commit authorized for partition 65 (task 153, attempt 0stage 9.0)
19/07/25 18:35:01 INFO DataWritingSparkTask: Committed partition 65 (task 153, attempt 0stage 9.0)

How was this patch tested?
This only changes log messages. Pass the Jenkins with the existing tests.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/13285/
Test PASSed.

Test build #108184 has started for PR 25257 at commit 6a8d4fe.

Thank you for review and approval, @gatorsmile !

Test build #108184 has finished for PR 25257 at commit 6a8d4fe.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/108184/
Test PASSed.

Merged to master and branch-2.4.

Thank you, @gatorsmile , @srowen , @HyukjinKwon .
Merged to master/2.4.

oops

Oh. Thanks!

During updating the repo, I noticed that it's merged already. :)


doc: update content on dockerTools.buildImage and follow doc conventions

Description of changes
This PR removes some outdated content, documents undocumented behaviour, and rewords some of the explanations of buildImage in the dockerTools section of the nixpkgs manual.
That subsection was also updated to follow the nixpkgs manual conventions.
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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/)
24.05 Release Notes (or backporting 23.05 and 23.11 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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/2024-01-11-documentation-team-meeting-notes-103/38124/1

@roberth let me know when you've finished a full review and I'll address all comments in one go. Thanks for reviewing!

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/2024-01-18-documentation-team-meeting-notes-105/38475/1


Consider deprecating Queulat

Problem

Remove the project dependency on Queulat.
Description

The project depends on a WordPress development framework called Queulat. The Queulat framework has some possible shortcomings

very limited documentation
limited community contribution
defining its own conventions

Additional context

Before making the decision whether to deprecate Queulat, it is good to

determine how Queulat is being used in the project
identify alternatives in the WordPress development ecosystem

these should be ideally part of WordPress core and not some third-party, proprietary plugin

Implementation

[x] I would be interested in implementing this feature.

How is Queulat used?
Queulat is used to

define the theme settings page
create custom WordPress metaboxes

What would be used instead of Queulat?
Use standard WordPress functions to define the theme options forms

https://blog.templatetoaster.com/wordpress-settings-api-creating-theme-options/

Use conventional WordPress code to define metaboxes.

https://developer.wordpress.org/plugins/metadata/custom-meta-boxes/

Related code
Queulat is used in the following files:
https://github.com/creativecommons/creativecommons-base/blob/39e72523afed695b4934f5cb131b14182e684345/inc/settings.php#L2-L11
https://github.com/creativecommons/creativecommons-base/blob/39e72523afed695b4934f5cb131b14182e684345/inc/metaboxes.php#L2-L5
https://github.com/creativecommons/creativecommons-base/blob/39e72523afed695b4934f5cb131b14182e684345/composer.json#L12-L17
What to avoid?
Avoid adding new plugins to this theme, particular those with premium extensions or features.

@hugosolar could you share some of your thoughts on the Queulat framework?

Hello @brylie
I agree about what you're saying. Queulat lacks of documentation, although in my opinion is a good tool for managing forms and metaboxes it saves a lot of time when you're building admin screens.
I think using WordPress itself will increase the development times but it's up to you.
I'd recommend this plugin instead

Fieldmanager

it has much more documentation, last release is from 2020 and it's approved by WP VIP platform.

It's just strange to me that basic form building isn't part of WordPress core. Forms seem like a major component. The lack of simple form building has led to a fragmented ecosystem of projects trying to provide that functionality.

I'd tend to agree with your opinion, I feel like WordPress lacks so many things. Although, some of the functionality made by Queulat in this theme can be moved to something more related to the WordPress core for instance Gutenberg blocks (which made the editor work so much easy) or maybe something like shortcodes (thinking in the classic editor which will be supported for another year I think)

I moved this to the active sprint, since I am currently researching to what extent Queulat is being used by themes.


Top qnames without redis

There is a problem. Previous written test wont work, they should be removed.


ceph-daemon: update broken OSD startup

This is to fix issue #212 introduced by pull request #207

Thanks!


Sorted insert for circular linked list

There will be given a sorted circular linked list, the task is to insert a new node in this circular list so that it remains a sorted circular linked list.
Input:
LinkedList = 1->2->4
(the first and last node is connected, 4 --> 1)
data = 2
Output: 1 2 2 4

please assign me this issue.

please assign me this issue.


VW MQB: Add FW for 2017 Seat Leon

name: Fingerprint
about: For adding fingerprints to existing cars
title: 'VW MQB: Add FW for 2017 Seat Leon'
labels: 'fingerprint'
assignees: ''
Discord username: olesalscheider

A couple things:

We try to maintain those firmware lists in sorted order. Can we have you move those additions to their sorted position within each list?
comma will need to know your dongle ID (looks like 3cfdec54aa035f3f) in order to verify and merge.

1. We try to maintain those firmware lists in sorted order. Can we have you move those additions to their sorted position within each list?

Sure, done.

2. comma will need to know your dongle ID (looks like `3cfdec54aa035f3f`) in order to verify and merge.

The device I used for testing has dongle ID 80ec17a2b40ba5f0. It is not mine, I only borrowed it for a few weeks - I hope that is ok.


[MIG-119] Add Velero PVB, PVR to discovery service

Is your feature request related to a problem? Please describe.
Progress reporting enhancements rely on reading Status of the PVB, PVR resources. It would be beneficial to add these resources to the discovery service to help mig-ui read the raw objects.
Describe the solution you'd like
Add PodVolumeBackup and PodVolumeRestore resources to the discovery service as done for storage classes here: https://github.com/konveyor/mig-controller/pull/705
Additional context
Add any other context or screenshots about the feature request here.

Closing this as this approach is no longer required for 1.4.0. All the useful information to derive the Progress Bar in the UI is already passed on in the progress field of MigMigration pipeline