Added documentation for the ARVR server classes

Just adding a bunch of documentation about the new ARVR classes.

@Noshyaar , where the last changes I did sufficient or did I miss some?

Seems fine, except I have seen somewhere that you shouldn't put blank lines between paragraphs (each line).
https://github.com/GDquest/godot-docs/blob/9cb30a854c784e1426e8ffcc3f20c1f7e3a3bfb4/community/contributing/updating_the_class_reference.rst

Write in a clear and simple language. Always follow the :ref:class_reference_styleguide to keep your descriptions short and easy to read. Do not leave empty lines in the descriptions: each line in the XML file will result in a new paragraph.

All new to me :) I'll remove the empty lines.
I guess some of the info might be better put in a tutorial or something so I guess I could shorten some of the things, though its also all pretty new stuff....

Ok, blank lines have been removed and I hope I found all the punctuation issues :)


Create config.yml

Adopt similar format and layout as https://github.com/marella/chatdocs/blob/main/chatdocs/data/chatdocs.yml
Should contain Discord key.
character.json is hardcoded, instead Character should be a configurable option.
Also, once ctransformers is implemented, Model details should be configurable too.

Committed
https://github.com/evangineer/alpaca-roleplay-discordbot/commit/d90d95c55bad5a965fa3036c5580bb0b860b729b


How to handle module environment dependencies?

This depends on #56 and #57 I guess. I have to use the same strategies by modules.

This is o3 deployment issue, it does not belong here.


[backport] Separate code and path arguments in RawModule

Backport of #2784
Was not cleanly cherry-picked

[automatic post] Jenkins, test this please.

Fixes in #2774 are mixed.
Please rebase on it after it will be mreged.

Jenkins CI test (for commit 0ff8c37f1e176c917029cb94dcf32de172591078, target branch v7) succeeded!

#2774 is merged. Could you rebase?

PTAL

Jenkins, test this please

Jenkins CI test (for commit 26de2b1448d5ddf2bb1da7572f4a0639fae4a76d, target branch v7) succeeded!

LGTM


Should be login with users like - manager ,waiter etc

Currently unable to login with user -manager or waiter ,for more details please refer the issue -https://github.com/devonfw/my-thai-star/issues/294

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

Hi @breglerj , Please review this PR and let me know if need some modification. Thanks


Accept postgres as an valid protocol

Accept postgres as valid protocol as indicated in the PostgreSQL Documentation. Fixes #8.

Thank you! Released as <IP_ADDRESS>


Track package version in CITATION.cff

Patch for previous PR - the version number in CITATION.cff was not noted in pyproject.toml, so commitizen would not know about it and therefore would not update it. May cause a conflict if the cff-version is ever the same as the package version (current cff-version is 1.2.0).

coverage: 68.615%. remained the same when pulling 318d55ad7c79da766dff3c6b479d56812489c3fd on ginger/citation-version into 9f0063c6274d3df35dc78ad2398f4517c9d13642 on dev.


EnvVar GOOGLE_APPLICATION_CREDENTIALS containing encoded JSON-object doesn't working in version 7.0

Describe the bug
Since version 6, it seems to be possible to pass the service account via GOOGLE_APPLICATION_CREDENTIALS env variable as an encoded JSON object:
https://github.com/kreait/firebase-php/blob/6.x/src/Firebase/Factory.php#L512
After upgrading to version 7.0, the service account isn't loaded anymore and causes an Unable to determine the Firebase Project ID exception.
The Upgrade 7.0 guide doesn't mention the removed possibility to pass the service account as a string-encoded JSON object.
Is it correct that this feature has been removed or has it been removed by accident?
Installed packages
kreait/firebase-bundle                 5.0.0     Symfony Bundle for the Firebase Admin SDK
kreait/firebase-php                    7.0.2     Firebase Admin SDK
kreait/firebase-tokens                 4.0.0     A library to work with Firebase tokens

PHP version and extensions
composer               2.5.1    Composer package
composer-plugin-api    2.3.0    The Composer Plugin API
composer-runtime-api   2.2.2    The Composer Runtime API
ext-ctype              8.1.14   The ctype PHP extension
ext-curl               8.1.14   The curl PHP extension
ext-date               8.1.14   The date PHP extension
ext-dom                20031129 The dom PHP extension
ext-fileinfo           8.1.14   The fileinfo PHP extension
ext-filter             8.1.14   The filter PHP extension
ext-ftp                8.1.14   The ftp PHP extension
ext-gd                 8.1.14   The gd PHP extension
ext-hash               8.1.14   The hash PHP extension
ext-iconv              8.1.14   The iconv PHP extension
ext-intl               8.1.14   The intl PHP extension
ext-json               8.1.14   The json PHP extension
ext-libxml             8.1.14   The libxml PHP extension
ext-mbstring           8.1.14   The mbstring PHP extension
ext-mysqlnd            0        The mysqlnd PHP extension (actual version: mysqlnd 8.1.14)
ext-openssl            8.1.14   The openssl PHP extension
ext-pcre               8.1.14   The pcre PHP extension
ext-pdo                8.1.14   The PDO PHP extension
ext-pdo_mysql          8.1.14   The pdo_mysql PHP extension
ext-pdo_sqlite         8.1.14   The pdo_sqlite PHP extension
ext-phar               8.1.14   The Phar PHP extension
ext-posix              8.1.14   The posix PHP extension
ext-readline           8.1.14   The readline PHP extension
ext-reflection         8.1.14   The Reflection PHP extension
ext-session            8.1.14   The session PHP extension
ext-simplexml          8.1.14   The SimpleXML PHP extension
ext-sodium             8.1.14   The sodium PHP extension
ext-spl                8.1.14   The SPL PHP extension
ext-sqlite3            8.1.14   The sqlite3 PHP extension
ext-tokenizer          8.1.14   The tokenizer PHP extension
ext-xml                8.1.14   The xml PHP extension
ext-xmlreader          8.1.14   The xmlreader PHP extension
ext-xmlwriter          8.1.14   The xmlwriter PHP extension
ext-zend-opcache       8.1.14   The Zend OPcache PHP extension
ext-zip                1.19.5   The zip PHP extension
ext-zlib               8.1.14   The zlib PHP extension
lib-curl               7.74.0   The curl library
lib-curl-libssh2       1.9.0    curl libssh2 version
lib-curl-openssl       <IP_ADDRESS> curl OpenSSL version (<IP_ADDRESS>)
lib-curl-zlib          1.2.11   curl zlib version
lib-date-timelib       2021.18  date timelib version
lib-date-zoneinfo      2022.7   zoneinfo ("Olson") database for date
lib-fileinfo-libmagic  540      fileinfo libmagic version
lib-gd                 2.0.35   The gd library
lib-gd-libjpeg         6.2      libjpeg version for gd
lib-gd-libpng          1.6.37   libpng version for gd
lib-iconv              2.31     The iconv library
lib-icu                67.1     The ICU unicode and globalization support library
lib-icu-cldr           37       ICU CLDR project version
lib-icu-unicode        13.0.0   ICU unicode version
lib-libsodium          1.0.18   The libsodium library
lib-libxml             2.9.10   libxml library version
lib-mbstring-libmbfl   1.3.2    mbstring libmbfl version
lib-mbstring-oniguruma 6.9.6    mbstring oniguruma version
lib-openssl            <IP_ADDRESS> OpenSSL 1.1.1n  15 Mar 2022
lib-pcre               10.39    The pcre library
lib-pcre-unicode       14.0.0   PCRE Unicode version support
lib-pdo_sqlite-sqlite  3.34.1   The pdo_sqlite-sqlite library
lib-sqlite3-sqlite     3.34.1   The sqlite3-sqlite library
lib-zip-libzip         1.7.3    The zip-libzip library
lib-zlib               1.2.11   The zlib library
php                    8.1.14   The PHP interpreter
php-64bit              8.1.14   The PHP interpreter, 64bit
php-ipv6               8.1.14   The PHP interpreter, with IPv6 support

Steps to reproduce the issue.
# Insert the commands issued in the terminal if they are needed
# to reproduce the issue. Otherwise, delete this code block.

// Insert the PHP code to reproduce the issue. Please ensure that it is code that
// can be copy pasted to reproduce it.

Error message/Stack trace
Message: "Unable to determine the Firebase Project ID" {"exception":"[object] (Kreait\\Firebase\\Exception\\RuntimeException(code: 0): Unable to determine the Firebase Project ID at /usr/src/app/vendor/kreait/firebase-php/src/Firebase/Factory.php:590)"}

Additional information
No response

Uh, that has been an accident, thank you for discovering it! I just confirmed the missing capability by adding a failing test and will work on a fix right away! 💪🏻

The behavior has been restored with dea8f61557b3456492061f416a6f6abda2ae5c50 and released with https://github.com/kreait/firebase-php/releases/tag/7.0.3. Thanks again for bringing this up, and please let me know if something still doesn't work! 🙏


URL link in RUP pdf

A Range Officer has identified that when they open their RUP in pdf and attempts to click on the URL in the "Additional Requirements" section:

they are led to a page that says:

Likely due to the text being cut-off in the pdf viewer, and the pdf viewer not being smart enough to rectify this.
If there is a way to make this text into a link to solve this problem, so the agreement holder and agrologist can click on the URL link in the pdf version of the RUP and be brought to the correct page.

Link in pdf is working :)


wrapQtAppsHook: correct skip directories heuristic

Motivation for this change
Fixes #69171 but still should achieve what https://github.com/NixOS/nixpkgs/commit/e55db0759c42cae9b9b8784dec386ff0b1abbc11 wanted to do.
I've built zoom-us and it's wrapped.
Note that https://github.com/NixOS/nixpkgs/commit/e55db0759c42cae9b9b8784dec386ff0b1abbc11 is on 19.09. We could either revert it there or backport this.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Notify maintainers
cc @

Something like https://github.com/NixOS/nixpkgs/commit/bbb2f93cee60f21224b16fce2f777f5fe9e21095 would be a better improvement. But I want to fix master and stable quickly.

+1 for reverting https://github.com/NixOS/nixpkgs/commit/e55db0759c42cae9b9b8784dec386ff0b1abbc11 on release-19.09 then. Sorry for introducing a bug.


Move spring.factories to imports file

Also, moving the file from spring-pulsar module to
spring-pulsar-boot-autoconfigure

@eddumelendez Many thanks for the PR. I am trying to do a local build from the PR branch and getting some test failures. Did you get all the tests green?

I just realized tests were broken. it should be fixed now

PR merged upstream after squashing the commits. Once again, thank you!


Initial draft of the type system API

For anyone who wants to see how this API is supposed to look like. I will accept feedback on the API direction and then start implementing the library.

Can we see the proposal of what is being implemented somewhere? Or is it all in code only so far?

@trusktr I've created an internal document that shows potential usage of this API before I started working on this. Note that the API has changed a bit while developing this PR, but the main ideas are still there.

// A typed function that initializes a whole generic type system
// Every type has a `literal` that can be seen as its "source"
// We clarify that each literal is of type `AstNode`
const typeSystem = createTypeSystem<AstNode>();

// primitives
const stringType = typeSystem.primitive('string');
const numberType = typeSystem.primitive('number');
// Create an `any` type and set is as the top type of the type system
const anyType = typeSystem.primitive('any').top();

// operators
const plus = typeSystem.operator('+');
// the 'operate' function returns a `Disposable`
// In case we allow user-contributed operator overloads, these need to be deleted at some point
plus.operate({
	operands: stringType,
  result: stringType
});

plus.operate({
  operands: [stringType, numberType],
  order: 'flexible' // 'strict' would mean that number + string would not be valid here
  result: stringType
});

//
plus.operate({
  operands: [stringType, anyType],
  result: stringType,
  priority: -1
});

// classes, structs, interfaces
// These structures are classified as "categories"
const classType = typeSystem.category('class');
const interfaceType = typeSystem.category('interface');
const structType = typeSystem.category('struct');

classType.assignable(classType, (from, to) => {
  // This is likely the default implementation for any complex type structure
  // This will likely be exposed as `defaultNamedAssignability`
  if (from.literal === to.literal) {
	  return true;
  }
  if (from.super.some(e => typeSystem.isAssignable(e, to)) {
    return true;
  }
  return false;
});
classType.assignable(interfaceType, defaultNamedAssignability);
structType.assignable(structType, defaultNamedAssignability);
structType.assignable(interfaceType, defaultNamedAssignability);
interfaceType.assignable(interfaceType, defaultNamedAssignability);
// In addition, the library also exports a `defaultStructuralAssignability` function
// This allows for example for a fully structural type system (such as TypeScript) or a partially structural type system
// Such a type system can for example use named assignability for classes, while using structural assignability for interfaces

// These types can then be specialized to create their class/struct/interface instances
const classInstance = classType.get(classLiteral);
// `classInstance` is an disposable instance of the type system.
// It features the same API and can be used to implement more complex type behavior

// This is an example of a user defined implicit casting function
// Like most things, it returns a disposable
classInstance.assignable((from, to) => {
  return typeSystem.isAssignable(implicitCastingType, to);
});

// Example of a user defined explicit casting function
classInstance.castable((from, to) => {
  return typeSystem.isAssignable(explicitCastingLiteral, to);
});

// Complex type instances can also be generic
// We first have to define the type parameters
const genericSimpleType = typeSystem.typeParameter({
  name: 'T';
});

const genericConstraintType = typeSystem.typeParameter({
  name: 'T2',
  // A constraint if effectively just a function with (Type) => boolean
  // The type system object provides a few default constraints (such as `extends`)
  contraints: [
    typeSystem.extends(someClassLiteral)
  ]
});

const genericInstance = classType.get({
 literal: classLiteral
 parameters: [genericSimpleType, genericConstraintType]
});

// The generic types can be accessed using the `genericInstance`
const typeParameters = genericInstance.typeParameters

// A generic class can be specialized with type instances
const genericInstanceWithArguments = genericInstance.typeArguments([
  T1Instance,
  T2Instance
});

// Language validators need to assert that T2Instance fits the constraints
typeSystem.assertConstraints(typeParameters[1], T2Instance);

// All types can have members
// push also returns a disposable
// This allows to declare partial classes or extension functions/properties
// And also remove them on an update of their declaring document/class
classInstance.members.push(...members);

// Delegate types
const delegateInstance = typeSystem.delegate({
  // names are usually optional throughout the whole type system
  // The type system needs to support inline types
  name: '...',
  literal: delegateLiteral,
  parameters: [],
  returnType: ...,
  generics: []
});

// Union types
const unionInstance = typeSystem.union({
  literal: unionLiteral,
  generics: [ /** can also support generics */ ]
});

Here are my general thoughts about this API proposal:

I am thinking of splitting the "type graph" (as mentioned by Ben above) and functionalities working on the type information. Maybe, we could apply the "service-oriented" design of Langium here as well. That would ease to exchange, configure and replace implementations depending on customer needs.
Additionally, we could separate higher-level features (e.g. isAssignable) and lower-level algorithms (e.g. getCommonSuperType) for better reuse and customization.
I propose to integrate at least one simple application example for the API as early as possible and directly into the source code, e.g. the pasted code snippet or another simple application.

Some more things we probably need:

functions to produce nice error messages
a nice API for ..., depending on the customer's DSL:

mapping terms/expressions with types
relating types to each other, e.g. sub/super types


Allow to provide no --settings-path nor --settings-json to kwctl run

If kwctl run is not provided with --settings-path or --settings-json, assume an empty setting contents and forward this empty settings to the policy, that will default and validate as it desires.
The check to not allow bioth to be provided must be kept though.

Implemented.


Optimizer rules should work with qualified column names

Note: migrated from original JIRA: https://issues.apache.org/jira/browse/ARROW-10894
We have a number of optimization rules that deal with column names represented by strings.
In order to support qualified field names in queries we need to update these rules to work with a data structure representing optionally qualified column names instead.
Suggested data structure:
{code:java}
struct ColumnName {
qualifier: Option,
name: String
} {code}

this can be assigned to me since it is covered by #55


Using a dot in the title when creating a new project

I'll creating new project with
crystal init app foo.bar,
This will generate file with name foo.bar.cr with the following contents
module Foo.bar
end
compiler sends
unexpected token: .
I think it would be more correct to choose one of the following variants of generations:
Foo::Bar
Foobar
Foo
etc

Or refuse anything that isn't a sound shard name, as per the spec? which... doesn't actually specifies that the name must be alphanumeric —it's only implicit.

Thanks for the tip

No, thanks for reporting, that's something I didn't think of.
It could be helpful to validate the naming and properly report a problem, since we use it for the folder but also as namespace, which led to the issue you met.


Database retention TTL is not respected by Data Updater Plant in object aggregated interfaces

When data is sent on a device owned interface with aggregation object, database_retention_ttl is not used when inserting data in the database

Closed by #502


Add a gradle plugin project for parity with maven

Hi, I really like ActiveJDBC and thought it might be useful to have a proper gradle plugin.
The custom build script example in javalite/activejdbc-gradle works just fine (in fact the plugin is 99% just the code from the example), but does have the drawback that if the instrumentation process were ever to change everyone who copied the example would need to update their build.
If you are not interested in having this as part of the main repository let me know. I just assumed since the maven plugin is here perhaps you would want to merge in a gradle one too.
Testing
I converted the gradle example to use the plugin here so you can see the difference in the build script. Please note that the version linked there assumes that the plugin was published (it obviously has not been) and when I was testing there was an additional mavenLocal() repository configuration in the build script[1].
[1] I also converted it to H2 instead of MySQL but I can revert that if it is not wanted

This is looking great, and I will merge  this PL. However, I have no experience with Gradle, so will rely on you for supporting this plugin:)

@jasoma , code is in the repo, but the artifact is not released because there is no pom.xml. Should I Create a pom in the same way as for any other Java library?

@jasoma also, here: https://github.com/jasoma/activejdbc-gradle/blob/gradle-plugin/build.gradle#L9 you refer to plugin version 1.4.9. It is certainly not released yet :). Are you sourcing it locally?

There is a gradle plugin for publishing artifacts to maven, as an intermediate step it can will create (and then discard) a pom file. I can look into having it keep the pom file around or set it up to just publish directly from gradle?

Your correct I was just sourcing the plugin locally in that branch for testing. Once it was actually published I was going to submit a pull request for the gradle example.

@ipolevoy should I upgrade the plugin and the example to be using activejdbc 1.4.11? right now they are both using 1.4.9

@jasoma, I changed the versions to 1.4.11, and added a pom file: https://github.com/javalite/activejdbc/issues/421
However, the jar file does not include the Groovy source files, because they are.. source files. If you know how to build Gradle plugins into a jar file, can you send a second pull request?
I will then publish this as a snapshot here: http://repo.javalite.io/org/javalite/. Once you verify this is working as expected, I will release entire framework so that your plugin gets into Maven Central.

@jasoma, see sources here: https://github.com/javalite/activejdbc/tree/master/activejdbc-gradle-plugin

@ipolevoy I was setting up the gradle build to have a publish step, you can see the diff here: https://github.com/jasoma/activejdbc/commit/6fbcbd912c020391b4ae75351e20fee382a9aea6
That would have included source and doc jars but would have required maintaining a separate publish workflow[1]. I'll admit to not knowing anything about how maven publishing normally works. If having the pom file you wrote is enough I can just update the build to produce source/doc jars as well?
[1] You would need to create a local properties file with credentials and signing keys, see the end of http://mike-neck.github.io/blog/2013/06/21/how-to-publish-artifacts-with-gradle-maven-publish-plugin-version-1-dot-6/

@ipolevoy I've created pull requests for both options:

direct publish from gradle
generate the extra artifacts

If neither of them does the trick let me know.

@jasoma ,  I just realized that the build is broken. Can you please take a look and let me know what is needed to fix it?
thanks

In the mean time, I will turn this module off


en/glossary: use title for all Pod occurrences

Use title case for all the Pod occurrences which appear in the English localization of the rkt glossary term.

/lgtm
/approve


Flickering

the menu just keeps flickering sometimes, and just stops and starts ranomly

can you please provide the following:

Windows (or wine) version
your (i)GPU
Geode version
any other installed mods

@zeozeozeo Windows 11, AMD R7 250 2GB, Geode Version v3.1.1, GD 2.206, Mod list in this sorry i have too many mods to type : Geode 2024-07-06 21.43.42.log
,AMD Screen Overlay/ Sidebar, Driver Details : Software Version - 2022.0802.1058.19750
Driver Version - <IP_ADDRESS>-220802a-382934C-RadeonSoftware
Provider - Advanced Micro Devices, Inc.
2D Driver Version - <IP_ADDRESS>4
Direct3D® Version - <IP_ADDRESS>94
OpenGL® Version - 29.20.11000.14830
AMD Audio Driver Version - <IP_ADDRESS>
Vulkan™ Driver Version - 2.0.179
Vulkan™ API Version - 1.2.170
Windows Version - Windows 10 (64 bit)
Also i enabled image enhancing and amd anti-lag, with amd enhanced sync, surface format optimization, amd enhanced tessellation mode, and that's about it

@zeozeozeo and also steam and discord overlay was used

This could be happening due to the CCEGLView hook interfering with the Steam or Discord overlay, although I don't see how that could be the case.
https://github.com/zeozeozeo/zcblive-geode/blob/cf9fe22ed7347338ee0c243570531a9b94b2fb24/src/main.cpp#L71-L79
Try the following and please respond if something fixes your case:

If GD is in exclusive fullscreen mode, try switching to borderless fullscreen or windowed.
Try disabling the Steam overlay.
Try disabling the Discord overlay.
Try disabling Radeon Anti-Lag.
Try disabling Enhanced Sync.
Update your drivers.

I cannot reproduce this on Windows 10 22H2 + GeForce Game Ready Driver 556.12 and on Windows 10 22H2 + latest Polaris drivers with FreeSync and Enhanced Sync enabled.

going to reopen this


[QUESTION]Reasons to search for an appetizer for receiving a 409 error

Write your question
Why is it necessary to search for all events and provide them to users when a subscription event occurs?
Additional context
Put anything that adds context to your question.  Environment, goal, etc.
https://github.com/mitchwadair/tesjs/blob/fe4a9f54874898b3c7b6f1ae96e5c3f277bc7b42/lib/tes.js#L149
When an already registered event (409error) occurs, it always searches for all events and returns the event.
If a duplicate subscription event occurs when there are all 100,000 events,
You must proceed up to 100 seeks.
Without internal caching
If multiple duplicate events occur, systemic problems may occur.
Is there any reason for this?
For those who have already registered
stream.online, stream.offline, channel.update
If an event is registered, you must perform a full search at least 3 times.

This is kind-of tricky, and 100% subject to input/change.  The current API design for TES is that when a consumer attempts to create a subscription, they will get back the details of their subscription from the promise.  This means that if the subscription exists already and they attempt to create another one, it should still return the details of the subscription for them to use.  I do recognize this is a pretty inefficient solution to this problem, so I am definitely reconsidering that design.  The main goal for this library, in my opinion, is to stay as light-weight as possible while also providing consumers with value by reducing the work needed to work with EventSub.  For this reason, I decided to try and avoid storing too much data in memory (i.e. keeping track of all subscriptions internally).
So, as you highlighted, this all becomes a problem with high-volumes of subscriptions.  There are a lot of challenges related to how EventSub works and using/developing TES.  I think the main situation where this will occur is when restarting a TES application.  If the consumer is making a bunch of subscriptions on start-up it can become a problem quickly.  But an internal cache does not solve this issue, as that would be lost when shutting down the app.  The one optimization I currently have in place for this is using the getSubscriptionByType function to reduce the number of API calls being made, but that only helps so much.  Ideally, a developer should work on having a good flow for creating/deleting subscriptions that would mitigate the issue of having to search through thousands of subscriptions however.
For example, say you were working on some kind of notification service; A user might log in to your service and enable notifications for some event.  This would be the trigger to subscribe to the event for that user.  Then, later, they decide to stop getting those notifications and disable them.  This would be the trigger to unsubscribe.  There are related challenges with this as well, since you need to have a subscription id to delete/unsubscribe (and therefore do the problematic search anyways).  But this is where a developer might come up with their own way of storing/handling subscription info, like using a database or something of that sort (or even storing to a file).
So all in all, I think from a design perspective, it should probably be on the developer to maintain some store of their subscriptions in whatever way they see fit.  But that said, I do this considering design change on the part of this specific case is reasonable.  One solution we could consider is only returning subscription info on a successful subscription creation.  This would mean that if a subscription exists already and returns a 409, that TES would inform the consumer and they would handle it however they please.  I kind-of like this solution, as it puts more control into the hands of the developer rather than making opinionated decisions for them.
I am all-ears for additional suggestions or feedback so go for it if you have any.

There doesn't seem to be any reason to return 100% of information about subscriptions.
If a 409 error occurs due to Twitch's own subscription request failure, this is not handled by the library, but the client user has to handle it, and users who want to use the library lightly by using the library agree fully on that part do.
However, the subscription form is inefficient for many library users, and it is recommended to at least give users a choice.
If many users proceed with development without recognizing that there is a corresponding part before opening the library, a problem with the web service itself occurs, and in addition to the library, the rate limit (https://dev.twitch.tv/docs/api/guide#rate-limits), I think that there may be enough possibilities.

Yep I definitely agree. That is a good point on rate limiting as well. I think a design change should be made to be on the user to handle the errors.


no notification sound except system default

Please search to check for an existing issue (including closed issues, for which the fix may not have yet been released) before opening a new issue: https://github.com/k9mail/k-9/issues?q=is%3Aissue
Expected beh
4 email accounts, set different notification sound, like in the public version
Actual behavior
Get system default sound with main account, no sound with other accounts. I prefer the public version but on Android 10 there is no message actions, like no way to reply, etc. Very frustrating.
Using these betas, but issues, can deal with the interface even though the old list was preferred, but no sound is a huge problem
Steps to reproduce

Set up 4 accounts
2.set different notification sounds on each account
3.get mail, no sound, or only system default sound on first account

Environment
K-9 Mail version: newest
Android version: 10 on Motorola
Account type (IMAP, POP3, WebDAV/Exchange):imap
Please take some time to retrieve logs and attach them here:

For me it's also very annoying that I'm not able to set a different notification sound. It seems also not possible to set it for the whole app.
K-9 version: 5.717
Android version: 10

Starting with Android 8 notification sounds can only be changed using the system's notification UI. In K-9 Mail go to Settings > [Account] > Notifications > Notification settings, press the 'Messages' text under the account name (in the example the account is called "Test") you want to configure.

In the future please use the forum for support requests.


VM: generate ssh key file if needed

fix #1093
@tjprescott, if this conflicts with your upcoming change, I can merge it after yours.

@yugangw-msft yes, this will conflict with my changes for certain.

LGTM :) Feel free to merge after CI done.


For many small stream writes, RecyclableMemoryStream is slower than other implementations

For a project which implements its own buffered memory stream I added the int Read(Span<byte> buffer) and void Write(ReadOnlySpan<byte> buffer) signatures and compared the performance of MemoryStream, ArraySegmentStream (custom based on ArrayPool) and RecyclableMemoryStream.
To my surprise, RecyclableMemoryStream is always outperformed by MemoryStream and ArraySegmentStream by a factor of two, as if the Write(ReadOnlyMemory<byte>) is not properly implemented or disabled in RecyclableMemoryStream?
see benchmark results here: https://github.com/OPCFoundation/UA-.NETStandard/pull/2556
see results of BinaryEncoderRecyclableMemoryStream vs BinaryEncoderArraySegmentStream and BinaryEncoderMemoryStream.
Any idea what could be wrong in the benchmark or why RecyclableMemoryStream.Write is always slower?

Ben surely has the definitive answer here.
I can tell some of my findings - a few months ago I profiled a scenario
where multiple little chunks were written to the stream by a BinaryWriter
class. The profiler signaled as the hottest path, the logic inside
RecyclableMemoryStream that determines which reusable memory block(s)
should receive the write operations, which in essence, involved a division
to find the block, followed by a modulus operation to find the offset in
the block (both operations are relatively expensive, even on modern CPUs).
At a later revision, this was modified to take advantage of a Math.DivRem
operation that apparently gives the division and the reminder on a single
operation; unfortunately, this is not as fast as it could be - behind the
scenes,  some versions of the runtime still perform a division operation
followed by a modulus operation, while others are a little bit faster, as
they compute the reminder  by performing a subtraction and a
multiplication.  There is an open request for an optimization (e.g. in x86,
the IDIV operation returns the quotient and the reminder on a single
operation), however it seems that the design of the IL jitter makes taking
both results difficult to implement).  Here is the link to that request: Can
"Math.DivRem" do division operation only once? · Issue #4155 ·
dotnet/runtime (github.com) https://github.com/dotnet/runtime/issues/4155.
Perhaps this could be optimized for the case of sequential writes (by
tracking the current write position and the reminding available bytes?),
but in my use cases, the relative "slowness" of the write operations is
more than compensated by the massive drop in GC pressure.
Our internal RPC framework virtually became allocation-free (as well as
copy-free, as packet interleaving for channel multiplexing is directly
writing the recyclable blocks to the socket) on both ends, thanks to
RecyclableMemoryStream.
On Wed, Mar 27, 2024 at 2:43 AM Martin Regen @.***>
wrote:

For a project which implements its own buffered memory stream I added the int
Read(Span buffer) and void Write(ReadOnlySpan buffer)
signatures and compared the performance of MemoryStream, ArraySegmentStream
(custom based on ArrayPool) and RecyclableMemoryStream.
To my surprise, RecyclableMemoryStream is always outperformed by
MemoryStream and ArraySegmentStream by a factor of two, as if the
Write(ReadOnlyMemory) is not properly implemented or disabled in
RecyclableMemoryStream?
see benchmark results here: OPCFoundation/UA-.NETStandard#2556
https://github.com/OPCFoundation/UA-.NETStandard/pull/2556
see results of BinaryEncoderRecyclableMemoryStream vs
BinaryEncoderArraySegmentStream and BinaryEncoderMemoryStream.
Any idea what could be wrong in the benchmark or why
RecyclableMemoryStream.Write is always slower?
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/Microsoft.IO.RecyclableMemoryStream/issues/339,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABRR7UQTHKOCAOOBKITDSTLY2J2BNAVCNFSM6AAAAABFKNPV62VHI2DSMVQWIX3LMV43ASLTON2WKOZSGIYTAMJZGY4TSNA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Thanks @sgorozco, this is in fact whats happening here, a BinaryWriter writes a lot of little chunks (e.g. int, byte, etc) for a OPC UA binary encoder. The Write implementation should only copy the small chunks into the buffer, keep two indexes (one for the actual buffer, one for the write pointer into the actual buffer). An overflow may split the write and allocates a new buffer or moves to the next buffer. Thats it. I would be interested to see why a division is necessary.

As an additional sidenote, turns out that in my JSONEncoder Tests where writing uses StreamWriter in contrary to BinaryWriter above, RecyclableMemoryStream outperforms all other stream implementations... this is currently our main use case so technically I'm a happy camper with the current implementation.

Yeah, the issue with lots of small writes is something that has come up a few times before. Unfortunately, it just wasn't optimized for that scenario. The workaround would be to operate directly on the buffer, but not all APIs will support that, and that does defeat the purpose of using a stream.
A way to fix this would be to change the source of truth for the current position. Currently, we store a long position, that we then convert to block/offset on every necessary operation, which involves, as you noted, two divisions. We could change this to track the block/offset instead, and then when we need the position, do the multiply+add, which should be much faster. Alternatively, we could just track both values and keep them in sync, but I suspect this doesn't offer any additional benefit (we'd be doing the multiply+add anyway, or a lot of individual adds).
I'd have to think about any negative performance ramifications (e.g., calling Position is much more expensive), but perhaps it's not so bad. I'll ponder it.


v0.13.0 breaks compatibility with all older middlewares

Hey @oscarotero,
Version v0.13.0 of middleware/utils is wreaking havok on previous versions of all your middleware/* packages.
Here is the issue I am facing.
I'm using your middleware/whoops package.
I'm stuck with v0.4.1 because I'm using http-interop/http-middleware v0.4 in my own middlewares.
Everything was working flawlessly until you introduced v0.13.0 of middleware/utils.
The problem:
v0.13.0 removes "http-interop/http-middleware": "^0.5" .
https://github.com/middlewares/utils/commit/296dc6129e934ac0db20f279d962cad46226cde3
Because of this, middleware/whoops v0.4.1 becomes compatible with  middleware/utils v0.13.0.
When I install middleware/whoops v0.4.1, I'm installing middleware/utils v0.13.0, instead of middleware/utils v0.11 (which is the latest compatible version).
I see 2 possible ways to solve this problem.
Solution 1:

add a conflict section to your composer.json to state that middleware/utils conflicts with  "http-interop/http-middleware": "*" .

It's easy, but it will only solve the problem if you remove the v0.13.0 tag from middleware/utils. Not very clean, but possible.
Solution 2:

Go through all your packages, all tags and change the dependency from "middleware/utils": "~0.8" to "middleware/utils": ">=0.8 <0.13"

It's cleaner but it requires a hell lot more work to solve.
Whatever solution you choose, I'll be happy to contribute PRs.

Thanks for reporting!
I'm inclined for the solution 1, which although is not the ideal currently (I'm agree that delete a tag and create again is not clean), it's what I had to do before release this version. What do you think? Do you like to work in a PR?

PR sent. Thanks for the quick reply!


OS Frozen

Hi
I used your API but each time i use it tear down my system ?

Hi,
can you provide more details about the issue? as this is very generic and non reproducible


Configure Sample to be deployable to Bluemix

Have the Sample app leverage swift-cfenv and create a Procfile so that it may run on Bluemix

Duplicate of IBM-Swift/Kitura#427


chore: simplified the code and removed unnecessary commentary

@fchollet, thank you! Just added the files.


Unique indexes do not seem to work in combination with document inheritance

When using this combination the unique index is not created in the database. However, creating an instance of the DocumentStore does not complain about this inability. I might be missing something though as I am just started using Marten.
using Marten.Schema.Identity;
using System;

namespace MartenComputedIndex
{
    class JobPosition
    {
        public Guid Id { get; set; }
        public int ExternalKey { get; set; }
    }

    class ExternalJobPosition : JobPosition
    {
        public ExternalJobPosition(string title, int externalKey)
        {
            ExternalKey = externalKey;
        }
    }

    public class Program
    {
        static void Main(string[] args)
        {
            using (var store = StartDocumentStore())
            {
                // Clear all data from postgresql tables
                store.Advanced.Clean.CompletelyRemoveAll();

                using (var session = store.OpenSession())
                {
                    // Insert first job position
                    session.Store(new ExternalJobPosition(title: "Job 1", externalKey: 1));
                    session.SaveChanges();

                    // Insert second job position with another external key
                    session.Store(new ExternalJobPosition(title: "Job 2", externalKey: 2));
                    session.SaveChanges();

                    // Save changes should throw because externalKey: 1 is already used in another job position
                    session.Store(new ExternalJobPosition(title: "Job 1", externalKey: 1));
                    session.SaveChanges();
                }
            }
        }

        static DocumentStore StartDocumentStore()
        {
            return DocumentStore.For(_ =>
            {
                _.Connection("connectionstring");
                _.AutoCreateSchemaObjects = AutoCreate.All;
                _.DefaultIdStrategy = (mapping, storeOptions) => new CombGuidIdGeneration();
                _.UseDefaultSerialization(nonPublicMembersStorage: NonPublicMembersStorage.NonPublicSetters);

                // Define inheritance structure (Removing this line will result in a unique index)
                _.Schema.For<JobPosition>().AddSubClass<ExternalJobPosition>();

                // Using a computed index does not seem to work
                _.Schema.For<ExternalJobPosition>().UniqueIndex(x => x.ExternalKey);

                // Using a duplicated index does not seem to work either
                //_.Schema.For<ExternalJobPosition>().UniqueIndex(UniqueIndexType.DuplicatedField, x => x.ExternalKey);
            });
        }
    }
}

It does seem to work if I put the UniqueIndex on the class where the property is defined. But only when that class is the base of the inheritance structure, using it on a subclass still wont work. If I move the property to be indexed to a subclass it wont work
//_.Schema.For<JobPosition>().UniqueIndex(x => x.ExternalKey);
_.Schema.For<ExternalJobPosition>().UniqueIndex(x => x.ExternalKey);

@sensoryoverload Few things to note when you use document hierarchies/inheritance:

_.Schema.For<JobPosition>().AddSubClass<ExternalJobPosition>();, this line tells Marten that these classes have document hierarchies
All the documents pertaining to the hierarchies gets stored in one table and Marten provides you the ability to query on base class or sub classes. When defining any indexes including unique indexes, it can be applied only on base classes (you have already observed as the behavior).
There are few limitations when would want to use the document hierarchies and unique indexes on sub classes.

If you did not register document hierarchies i.e. _.Schema.For<JobPosition>().AddSubClass<ExternalJobPosition>(); then Marten will treat JobPosition and ExternalJobPosition to stored as documents in separate tables. In this case, when you define unique indexes, it gets added to different tables.
I think we have to update the docs to add some clarity around the limitations of using unique indexes on sub classes in the document hierarchies.

Thanks for the response. In retrospect, I should have known that what I tried would not work.


Trigger check global lock automatically when use @GlobalLock

Why you need it?
For now when use @GlobalLock, have to add "for update" in the sql. I hope we can add “for update” automatically when use @GlobalLock with select.
If you want to optimize it, please comment "Please assign it to me" is this issue.
How it could be?
Other related information

Please assign to me

Please assign to me


No notification is printed when Bluetooth radio state is changed via Bluetooth setting

IAsyncAction radio(){
for (Radio radio1 : co_await Radio::GetRadiosAsync())
{
if(radio1.Kind() == RadioKind::Bluetooth)
{
printf("\t Priyanka  %ls\n", radio1.Name().c_str());
radio1.StateChanged(&Radio_StateChanged);
}
}
}
void  Radio_StateChanged(Windows::Devices::Radios::Radio const& sender, Windows::Foundation::IInspectable const& args) {
printf("\t Radio_StateChanged %ls\n", sender.Name().c_str());

}

Closing. No doc issue reported.
For community assistance with development questions, there are our forums, and StackOverflow.
For completeness, here are a few more developer support resources.
-The Feedback Hub app is the right place to lobby for a change, a feature, or to make a suggestion.
For developer issues, or suspected product bugs, contact Microsoft Support. A support engineer will look at the repro and see whether the issue is a Microsoft product bug, or something else. If it's a bug with a Microsoft product then the ticket will be free of charge.
The Windows developer support site explains other support options.
The Visual Studio developer community is available, and responsive. The former User Voice feature is now there on the Suggest a feature tab, if you want to lobby for a change, a feature, or to make a suggestion.
If you receive assistance via any support resource, and you believe that information would help us improve the docs, then please come back and let us know.


Simplify titles in Topics Section

Bug/issue #, if applicable: 117443238
Summary
Only render fragments as titles in the topics section if it has a valid hash (and therefore is an overloaded symbol).
Testing
Manual testing / Unit test
Steps:

Symbol pages without hash(overload) should be rendered using its full name as title in the topics section.
Symbol pages with hash should be rendered with fragment as title, like before, in the topics section.

Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[x] Added tests
[x] Ran npm test, and it succeeded
[ ] Updated documentation if necessary

@swift-ci test


Check Vulkan SDK version and fail CMake configuration if < some min version

As we're finding that older Vulkan SDK versions have limited support for timeline semaphores (https://github.com/google/iree/issues/1576 in the loader, and in validation layers), it will help to flag older versions during configuration. We can gate this check on if Vulkan support is enabled: https://github.com/google/iree/blob/e2aad2882908a00fb9feb2db054b3b70111476ad/CMakeLists.txt#L88-L93
After calling FindVulkan(), we can do something like this: https://github.com/KhronosGroup/Vulkan-ExtensionLayer/blob/8a457f8552d8d47ce3a96ed80a714ff6396f8ad8/CMakeLists.txt#L145-L155 to extract the SDK version. Currently FindVulkan() is optional and non-blocking due to https://github.com/google/iree/issues/1778, but we could also fold it into the IREE_TARGET_BACKEND_Vulkan_SPIRV check.
cc @benvanik @antiagainst

Obsolete?

Obsolete?

As stated, I believe so. We can create new issues for further Vulkan configuration problems.


dvc.org seems to contain not-implemented changes

After talking with @efiop, it seems to me that dvc.org is deploying development version.
Two users have reported not-working functionality which seems to be designated for 2.0:
https://discord.com/channels/485586884165107732/485596304961962003/796664903179698178
https://discord.com/channels/485586884165107732/485596304961962003/796376985362366464
@jorgeorpinel @shcheklein do we have some docs tag that could be deployed until 2.0 is ready?

Yeah we have merged some 2.0 PRs to master already because it's difficult to manage both without #2006.
There is a v1 branch I maintain that doesn't have any 2.0 stuff but it's also a bit outdated in other regards. We plan to use that for when we have #2006 but if you guys deem it necessary, we can deploy it to production for now to avoid confusing users.
Another alternative is to add warnings like in https://dvc-landing-2-0-pipelin-enhjqc.herokuapp.com/doc/user-guide/dvc-files/advanced-dvc.yaml but we would need to identify which 2.0 changes have been merged and I don't remember (we could look it up from recent PRs or just based on the used complains above).
I could do any of that. Please lmk @shcheklein

Yeah we have merged some 2.0 PRs to master already because it's difficult to manage both without #2006.
There is a v1 branch I maintain that doesn't have any 2.0 stuff but it's also a bit outdated in other regards. We plan to use that for when we have #2006 but if you guys deem it necessary, we can deploy it to production for now to avoid confusing users.
Another alternative is to add warnings like in https://dvc-landing-2-0-pipelin-enhjqc.herokuapp.com/doc/user-guide/dvc-files/advanced-dvc.yaml but we would need to identify which 2.0 changes have been merged and I don't remember (we could look it up from recent PRs or just based on the used complains above).
I could do any of that. Please lmk @shcheklein

https://discord.com/channels/485586884165107732/485596304961962003/796664903179698178
https://discord.com/channels/485586884165107732/485596304961962003/796376985362366464

@pared I checked these 2 (config --list and multi-cmd dvc.yaml) and trying to insert an alerts seems overkill for those 2 small ones. I think we can probably live with this until the release? 🙂
The 2.0 dvc.yaml stuff does have the warning for now: https://dvc.org/doc/user-guide/dvc-files/advanced-dvc-yaml

https://discord.com/channels/485586884165107732/485596304961962003/796664903179698178
https://discord.com/channels/485586884165107732/485596304961962003/796376985362366464

@pared I checked these 2 (config --list and multi-cmd dvc.yaml) and trying to insert an alerts seems overkill for those 2 small ones. I think we can probably live with this until the release? 🙂
The 2.0 dvc.yaml stuff does have the warning for now: https://dvc.org/doc/user-guide/dvc-files/advanced-dvc-yaml

@jorgeorpinel I guess we can, the main point of this issue was to check whether there was some problem with the deployment of docs. I guess we need to just keep it and ask users to wait a little bit more for those features.

@jorgeorpinel I guess we can, the main point of this issue was to check whether there was some problem with the deployment of docs. I guess we need to just keep it and ask users to wait a little bit more for those features.

Agreed, and thanks for the reminder! We haven't forgotten and are tracking 2.0 docs progress in #2026.
Closing this since there's no problem in deployment and to reduce the number of issues outstanding.

Agreed, and thanks for the reminder! We haven't forgotten and are tracking 2.0 docs progress in #2026.
Closing this since there's no problem in deployment and to reduce the number of issues outstanding.


Improve rendering Spring configuration name on UI

Description
Current representation of configs name on UI is the following:

Fully qualified name for Java configs
Full path for xml files

Expected behavior
It is suggested to show just simple names for the config if it is unique in project
otherwise:

still use fqn for Java configs
relative path to project for xml configs

Potential alternatives
Should be discussed with a team.

Potential alternative: display options the same way it's done in the top opened files tab list in Intellij IDEA itself (up to first folder required to uniquely identify the file among the other options)

Possible enhancement:

Preview list items with Java class and xml file icons
Group Java class and xml configurations
Disable Mocking strategy label when configuration is selected

About suggested enhancements:

A good idea, if it is not hard to implement. May be for further iterations.
Andrey implemented grouping to show all java configs before all xml configs
Mocking strategy is disabled when config is selected. If you found a scenario with another behavior, show it to me, please.

I mean something like this

Currently the combo box gets disabled, but the label next to it does not

I agree, points 2 and 3 will be implemented.
Name pruning idea is also good.

Point 3 is fixed here https://github.com/UnitTestBot/UTBotJava/pull/2088

Point 2 is fixed in #2090

Names shortening is fixed in https://github.com/UnitTestBot/UTBotJava/pull/2096


Marshalling Rust enums

How can I marshal a Rust enum to Gluon? I only need an untagged enum, but I assume there is some way to marshal enums that are only made up of types that implement VmType. I know you can simply define the enum in Gluon, but that is really inconvenient when you it to be part of a native module, so that you can import from the same module as the functions that take it as argument.
If this is possible, it would probably not hurt to add a marshalling chapter in the book, explaining how to work with complex types. I'll try to do that as soon as I get it working :)

Hello!
So there is a marshalling example at https://github.com/gluon-lang/gluon/blob/master/examples/marshalling.rs which I believe should cover what you want, it is slightly awkward in how you need to use the generated code but it should at least be automatic once you get past that.
Having a chapter covering the topc in the book would definitely be a good idea as well.

Thanks, that seems like I can make it work!
So as far as I can tell, I'll have to generate the source code for the enum and then load it as a module I can import from the actual module I want to expose. Does that mean I have to always write a Gluon wrapper for my module?
Lets say I want to add some module like this:
let module = record! {
    function => primitive!(2 some_function),
};

Ideally I could just add an enum that my function needs like this:
let module = record! {
    function => primitive!(2 some_function),
    Enum => some_macro!(Enum),
};

If I understand the example correctly, what I have to do instead is:

generate the code for the enum and add it as module
add the module containing the functions I want to add
create a third module that imports both the enum and the functions and exposes them as a single module

It just seems like a lot of work for something that seems to be a quite common use case. Is it simply not possible to add a type using the record! macro?

It just seems like a lot of work for something that seems to be a quite common use case. Is it simply not possible to add a type using the record! macro?

Yeah, that is not very user friendly. It is possible to extend record! to support types as well though, I started to add it with https://github.com/gluon-lang/gluon/pull/540 as it will make it possible to export some types in the standard library as well (which currently cannot be refereed to from gluon scripts). Still need to verify that it works as I want on the http example though which needs to do this as well.

Looks great!
I'll try to make things works on my side, and then add some stuff to the docs. With the new record macro, would you still need to use serde for making enums work? Even if it's a lot of boilerplate otherwise, you could probably use a derive macro for that (I was thinking about doing something similar for implementing Userdata).

With the new record macro, would you still need to use serde for making enums work?

Yep, long term it might be worthwhile to add a dedicated trait + derive but it isn't anything I have planned yet. The serde integration is nice regardless though as types from external crates is more likely to have an implementation of Serialize/Deserialize than "GluonMarshal".
I don't think I have an issue open for a "GluonMarshal" trait so if you find some case which Serialize/Deserialize do not cover feel free to open an issue for it to gather some motivating usecases.

The Getable/Pushable pair of traits is probably what should become a more general GluonMarshal pair of of traits.

The serde integration is nice regardless though as types from external crates is more likely to have an implementation of Serialize/Deserialize than "GluonMarshal".

Yeah, that makes sense. I have played around with the api, and to me Getable/Pushable are really what's annoying to implement. Being able to automatically generate Gluon code for your types is really helpful, but most people would probably be fine with having to do that manually anyway.
Deriving Getable and Pushable seems to be fairly straight forward for most cases, I think I'll have a look and try to implement at least a basic macro for that.

Closed by #541.


Remove functions from artifact module

Signed-off-by: Jason Lowe-Power<EMAIL_ADDRESS>

I'm not sure what the point of these functions was... I don't see them being used anywhere.
I think they really should be functions of the database, if we want to do that. I'm trying to remove as much of the implicit database connections as possible.

These functions provide a flexible interface to users to search for artifacts of particular type or name in the database and potentially download any associated files. They are referred in the gem5art documentation here: https://gem5art.readthedocs.io/en/latest/main-doc/artifacts.html#searching-the-database

What if instead we required that you passed a db instance into each of these functions.
The problem I'm trying to solve is the reliance on an implicit DB right now

Ok, let me know what you think @ayaz91. I also updated the documentation in this PR


Can`t change the service name in chinese .

Describe the bug
I  run the memos with docker-compose , Id like to change the service name in chinese , but I found that it cant be saved .
Steps to reproduce

Click 'setting'.
Click 'System'
edit the "service name" in  chinese .
Click the save button , nothing happened .

The version of Memos you're using
0.19.1
Screenshots or additional context
No response

Cannot reproduce. Please show more logs about the error?


[User Story] Implement APScheduler-based daemon/processor

We had a vote on how to move forward with our processor daemons and agreed to migrate over to ApScheduler. Currently, the only scheduled coroutine solution we have in place is Tornado. ApScheduler was chosen for its focus on job scheduling (tornado also contains webserver capabilities). Priorities have shifted, so this task is backlogged for now.
Implement a POC listener based on APScheduler (replace tornado?)

@kthblmfld Let's discuss the pros & cons of this change...  do we really need it for the first release?

duplicate of tmobile\sawtooth-next-directory 119


Add rand unitary initialization of Chain

Summary
In Tenet v0.3.0 we added the possibility to initialize an MPS or MPO using Gram-Schmidt in order to create a state that is directly unitary. This feature could be added now into Qrochet.

We could also implement the "eye" initialization.


Dead battery on Airthings wave leads to "leak alert" on apple home app

I too really appreciate the integration now possible with home bridge and your Airthings plug in!
I recently ignored low battery alerts on my Airthings Wave Plus.  When the battery finally died, I got an "leak" alert from my apple home app.
That all cleared up when I replaced the battery but it led me to wonder.... The word "leak" implies a water leak to me, but perhaps you mean a radon leak?    Still it's an odd word.
In any event, I found it odd that I would get a warning about a problem when I simply had a dead battery.

Made a number of improvements in v1.0.0 to improve validation around sensor data updates and prevent some HomeKit exceptions. Cannot guarantee those changes will solve this specific issue, but please re-open if it reoccurs and provide debug log output if possible.


feat: add check for function onBeforeTransaction

Description
Checks a function is provided for the onBeforeTransaction

Fixes # (issue)
Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own changes
[x] I have run yarn lint to make sure my changes pass all tests
[x] I have run yarn test to make sure my changes pass all linters
[x] I have pulled the latest changes from the upstream main branch
[x] I have tested both the react and the CDN versions on local and integration environments
[x] I have added the necessary labels to this PR in case a new release needs to be published after merging into main (e.g. release and patch)

Contribution guidelines
For contribution guidelines, styleguide, and other helpful information please
see the CONTRIBUTING.md file in the root of this project.

:rocket: PR was released in v2.18.1 :rocket:


Excessive cool-down periods

Cool-down is occurring almost every request, possibly an issue with countdown?

Fixed: f8584909e7b0c13fb71b7189ad55a2e6d97f4e17


MS SQL user should not be in sysadmin group to use non-default schema

Environment

Documentation version: 7.0
Part of the documentation: Manual
Existing page: https://doc.cuba-platform.com/manual-7.1/db_schema_connection.html

Description of the bug or enhancement
MS SQL docs:
The value of DEFAULT_SCHEMA is ignored if the user is a member of the sysadmin
fixed server role. All members of the sysadmin fixed server role have a default
schema of dbo.

The custom schma should be defined in the user default schema. in this case the tables are created there, not DBO


Move test

contains BC break because StateStore is now an interface. use LMDBStateStore for the previous functionality.


Allow clientside validation of dialog fields [Finishes #146312755]

PV https://www.pivotaltracker.com/story/show/146312755

@miq-bot add_label fine/no
@miq-bot add_label catalogs
@miq-bot add_label enhancement

@miq-bot add_label ux/review

Screen shots of what the clientside validation errors look like.

This screenshot shows validation on submit of a form.

This is very nice. the only missing information is why is not valid but this will come from the other requirements where we can put an information that will provide some information when clicking on it or mouse over it.

@Loicavenel , I created two messages for errors , "field doesn't match required format" and "field is required".   This goes back to our discussion last week with the greater issue of how do we deal with translating error messages.  I chose the "field doesn't match required format" message as a default for regex errors since we don't currently support any type of custom error messages at the api level and I couldn't think of something to really clearly indicate, "User got the regex wrong".

@ManageIQ/core-ux for your review :)
/cc @Loicavenel

@chalettu we need to add a better "description" so people know what is wrong

Closing this, as Chris has stated that this will be rolled into the fix with the dialog merge to the ui-components.


Add changefreq and priority to the sitemap.

Hey,
I just started using this library and it looks great so far. I was wondering if it was possible to also add the changefreq and priority properties to each URL that gets exported in the sitemap.
Let me know,
Thanks!

Hi, of course give me a couple of hours and a will see it.

Thank you!
I also had another question and this may be NextJS specific more than the library, but if we use exportPathMap to generate the dynamic routes, do we have to write out all our routes manually? Because that is what I am currently doing right now.
I have manually written the normal routes and then programmatically generated the dynamic ones.

Hey, I added support for config per route to add changefreq and priority.
Check it.
And answering your last question... yes, you have to do it manually :(


Add an option to set a fixed socket path.

Following https://github.com/Klafyvel/REPLSmuggler.jl/issues/10, it would be interesting to have a configuration option that fixes the name of the julia socket used rather than asking it to the user.
The most flexible way would be to allow the user to specify a lua function in the configuration, whose task would be to return a path to the socket. For example:
{
  "klafyvel/nvim-smuggler",
  opts = {
    socket_choice_function = function()
      local last_pane_id = trim(vim.fn.system('tmux display -pt "{last}" "#{pane_id}"'))
      return "~/juliasockets/" .. last_pane_id
    end
  },
  dependencies = { "nvim-neotest/nvim-nio" },
}

And then, with https://github.com/Klafyvel/REPLSmuggler.jl/pull/12, you could have in your startup.jl file something like (not tested):
atreplinit() do repl
  using REPLSmuggler
  io = IOBuffer()
  run(pipeline(`tmux display -p "#{pane_id}"`, io))
  name = filter(!isspace, String(take!(io)))
  smuggle(name, basepath="~/juliasockets")
end

What do you think @fredrikekre?

Thanks for looking into this.
For me the extra configurability with a basepath isn't necessarily necessary, but specifying the socket name in REPLSmuggle.smuggle() would be great and then the same discovery mechanism that you have already now can be used on the neovim side.


Hamburger Menu Design

Currently, when in a small window or on a phone or tablet, the hamburger menu is activated an all navbar options are put inside. Some items should remain outside the hamburger menu, as there is room and the current items in the hamburger menu are not intuitive and have buggy behavior.

Consider leaving Profile and Create outside of the hamburger menu. The notification bell is missing from this view and needs to be added.

@Castronova adding you as I believe this pertains to the Pages and General HS Components category. Can you please review and verify if this is a bug? If not, please update the label accordingly. Thank you.


[apps] gsuite app timestamp fix and schema update

to: @jacknagz
cc: @airbnb/streamalert-maintainers
size: small
resolves N/A
Background
Discovered a pretty obscure bug that crashed the gsuite app on deploy with the following Traceback:
File "/var/task/app_integrations/apps/app_base.py", line 398, in do_gather
logs = self._gather_logs()
File "/var/task/app_integrations/apps/gsuite.py", line 120, in _gather_logs
pageToken=self._next_page_token
File "/var/task/googleapiclient/discovery.py", line 744, in method
for pvalue in pvalues:
TypeError: 'int' object is not iterable

Changes

Determined that the startTime parameter was getting passed a value of 0 and the google api client does not like integers much :)
Moving the storing of the initial timestamp out of the init to avoid being set to 0.
Updating gsuite:reports schema to include nested fields and updating test event to reflect real data (ie: uniqueQualifier is now an int).
Updates to box dependencies readme to fix issues I noticed during testing.

Testing

Deployed changes and working as expected. All rule/unit tests passing.

Coverage increased (+0.003%) to 95.354% when pulling 4d92bcb63072ffecca943c6de85e2fa20d81e763 on ryandeivert-gsuite-update into 1c0006010d61459d714f0daf158680f8ad4bf77a on master.

Coverage increased (+0.003%) to 95.354% when pulling f4563376bc1a4192ea0a525668452f437cd98f36 on ryandeivert-gsuite-update into a4de47bc3fd991e495523d84e6e9b9a6cfac6a12 on master.


Remove mention of md5 checksums from BagIt Spec and profile

Is your feature request related to a problem? Please describe.
Aurora is now running on CentOS 8, which does not support md5 checksums for security reasons.
Describe the solution you'd like
Remove all mentions of md5 checksums from the RAC BagIt spec as well as the sample BagIt Profile.

There's no mention of md5 in the BagIt profile. Do we need to exclude md5 in the profile, or leave it as is? https://gist.github.com/HaSistrunk/65d59e558c436b9d934d98fd8fb0f575

The BagIt Profile Spec has Manifests-Required and Manifests-Allowed keys which control what checksum algorithms are required and allowed respectively. Currently we don't use either of those keys, which means that any and all algorithms are allowed. I'm proposing we add an array to the Manifests-Allowed key which explicitly excludes md5.

Ok, that makes sense. I've made that update on the gist. Manifests-Allowed includes sha256 and sha512.


Error Reading Rustc Version

I'm getting an error when trying to install an i686 toolchain on my x86_64 WLS Ubuntu 16:
$ rustup install nightly-i686-unknown-linux-gnu
info: syncing channel updates for 'nightly-i686-unknown-linux-gnu'
info: latest update on 2018-10-10, rust version 1.31.0-nightly (96cafc53c 2018-10-09)
info: downloading component 'rustc'
 76.8 MiB /  76.8 MiB (100 %)  70.2 MiB/s ETA:   0 s
info: downloading component 'rust-std'
 52.6 MiB /  52.6 MiB (100 %)   8.2 MiB/s ETA:   0 s
info: downloading component 'cargo'
  4.4 MiB /   4.4 MiB (100 %)   2.6 MiB/s ETA:   0 s
info: downloading component 'rust-docs'
  9.0 MiB /   9.0 MiB (100 %)   4.0 MiB/s ETA:   0 s
info: installing component 'rustc'
info: installing component 'rust-std'
info: installing component 'cargo'
info: installing component 'rust-docs'

  nightly-i686-unknown-linux-gnu installed - (error reading rustc version)

I've tried installing against multiple other recent nightlies with the same issue.

Same here. From ubuntu subsystem for windows I want to cross compile for raspberrypi.
Cross compiling seem to not work so well yet
$ rustup toolchain install nightly-armv7-unknown-linux-gnueabihf
info: syncing channel updates for 'nightly-armv7-unknown-linux-gnueabihf'
info: latest update on 2019-08-22, rust version 1.39.0-nightly (e44fdf979 2019-08-21)
info: downloading component 'rustc'
 50.7 MiB /  50.7 MiB (100 %)   4.7 MiB/s in 10s ETA:  0s
info: downloading component 'rust-std'
180.2 MiB / 180.2 MiB (100 %)   3.9 MiB/s in 41s ETA:  0s
info: downloading component 'cargo'
  4.2 MiB /   4.2 MiB (100 %)   4.2 MiB/s in  1s ETA:  0s
info: installing component 'rustc'
 50.7 MiB /  50.7 MiB (100 %)  13.8 MiB/s in  3s ETA:  0s
info: installing component 'rust-std'
180.2 MiB / 180.2 MiB (100 %)  29.5 MiB/s in  6s ETA:  0s
info: installing component 'cargo'

  nightly-armv7-unknown-linux-gnueabihf installed - (error reading rustc version)

info: checking for self-updates

$ rustup install nightly-2019-08-22-armv7-unknown-linux-gnueabihf
info: syncing channel updates for 'nightly-2019-08-22-armv7-unknown-linux-gnueabihf'
info: latest update on 2019-08-22, rust version 1.39.0-nightly (e44fdf979 2019-08-21)
info: downloading component 'rustc'
 50.7 MiB /  50.7 MiB (100 %)   4.5 MiB/s in 11s ETA:  0s
info: downloading component 'rust-std'
163.4 MiB / 180.2 MiB ( 91 %)   3.6 MiB/s in  1m 29s ETA:  4s
180.2 MiB / 180.2 MiB (100 %)   4.1 MiB/s in  1m 32s ETA:  0s
info: downloading component 'cargo'
info: installing component 'rustc'
 50.7 MiB /  50.7 MiB (100 %)  13.8 MiB/s in  3s ETA:  0s
info: installing component 'rust-std'
180.2 MiB / 180.2 MiB (100 %)  29.5 MiB/s in  6s ETA:  0s
info: installing component 'cargo'

  nightly-2019-08-22-armv7-unknown-linux-gnueabihf installed - (error reading rustc version)

info: checking for self-updates

In both of these cases you've installed a toolchain which your platform is unable to execute.
In OP's case, x86_64 WSL likely doesn't come with the i686 libc by default and thus won't be able to run it.
In the second case, if you want to cross-compile, install the toolchain for your HOST system, and then add the relevant target using rustup target add.

Shouldn't it still provide a much more informative error message? I mean it does actually say it was installed - then you have to keep reading further to realize that isn't the case

Rustup has no way of knowing for sure if the toolchain can run or not (e.g. on Linux, binfmt-misc means you could use qemu-user to emulate the architecture and thereby "natively" execute foreign binaries) as such it is just doing as you told it.


OpenCV_FOUND is set to False.

>>cmake ..
Install prefix is set to: C:/Program Files (x86)/PyOpenPose
Generating with build type:
-- OpenCV ARCH: x86
-- OpenCV RUNTIME: vc12
-- OpenCV STATIC: ON
CMake Warning at C:/Users/YongWook/AppData/Local/Continuum/anaconda3/envs/pose2pose/Library/OpenCVConfig.cmake:166 (message):
  Found OpenCV Windows Pack but it has no binaries compatible with your
  configuration.

  You should manually point CMake variable OpenCV_DIR to your build of OpenCV
  library.
Call Stack (most recent call first):
  CMakeLists.txt:49 (find_package)

CMake Error at CMakeLists.txt:49 (find_package):
  Found package configuration file:

    C:/Users/YongWook/AppData/Local/Continuum/anaconda3/envs/pose2pose/Library/OpenCVConfig.cmake

  but it set OpenCV_FOUND to FALSE so package "OpenCV" is considered to be
  NOT FOUND.

-- Configuring incomplete, errors occurred!
See also "C:/Users/YongWook/Documents/GitHub/PyOpenPose/build/CMakeFiles/CMakeOutput.log".

After installed opencv3 with command of conda install -c menpo opencv3, I tried to cmake in the build folder. The installed cv2's version is 3.1.0.
But OpenCV_FOUND is set to FALSE though the package configuration file has been found. They say it has no binaries compatible with the configuration.
Is there any way to solve this problem except pointing the OpenCV_DIR to CMAKE?

You need the opencv dev package because the C++ part of PyOpenPose uses the opencv headers.
As far as I know the conda package only contains the dlls + python wrappers. Get the windows dev package of opencv from the official opencv site.

Thank you for the answer. I decided to use opencv and other libs which are provided by openpose.
Anyway, I needed to use cmake which is intalled by conda install.


Positioning tooltip according to mouse position

Is a way to position tooltip that follows a mouse position ? Something like in this example: https://bl.ocks.org/mbostock/1087001

I am unable to get my groupLabel to display in the tool tip. The subGroup Labels display with no problem. What am I missing? My file is attached. Thanks ever so much for any assistance.
groupedHorizontal-1.html.zip

Closing as stale/not-a-bug.  Could you please use StackOverflow for general questions?  I'd like to keep the Issue tracker focused on bugs.


Improve log message for connection errors

Logging a number is confusing:
W0103 20:25:17.030653 31955 stmgr-client.cpp:94] Could not connect to stmgr stmgr-147 running at <host>:<port> due to: 1

Not sure if important but please do not expose internal service hostname to the public

yes - please remove the host name,

thanks @objmagic for pointing it out. updated it.

got paged this morning and confused by these unclear log messages again...


Adding support for Spider Z (a clone of L1)

@AlexxIT
Thanks for the great job done once again with the latest version!
There has been a long time since I wanted to ask to add support for a clone of the L1 rgb controller called "Spider Z" that is distributed in some countries including Russia as the original L1. It's discovered as a plain switch under the integration and you have to manually edit the devices.py file to make it be discovered as an rgb controller (by replacing the device number from 137 to 33). Not too much effort, but you have to do it after every update. So please could you include that in your next version.

No problem. Will be in next release

Благодарю!

https://github.com/AlexxIT/SonoffLAN/releases/tag/v3.3.1


ENV Files Need Consolidating and Refactoring

We have too many .env files, and pretty much everything in the Makefile needs values from both/all.
We need to revisit this in order to streamline dev setup.
A full review of the two .env files, plus what's actually needed for debugging locally, should take place.

The reason for a separate .env file for the core TRE deployment, to the devops/bootstrap, was that will likely have multiple TRE environments, hence TRE_IDs, sharing the same ACR etc.
From a GitHub actions perspective its repository secrets vs environment secrets.
Agree needs some thought.

Tasks to complete the story:

Have one config file at root (remove the previous ones)
Consider what should be  the config file format:  yml/json...
Auth setup updates the new config file
Making sure all make commands are working
Decide how should we handle the private.env?  Make sure the local debugging works.
Consider all the .env.sample files, how are we handling them? for example: /workspaces/AzureTRE/templates/workspaces/base/.env.sample
Update the Deployment Repo
Update documentation

@martinpeck @marrobi @tamirkamara WDYT? Anything you would like add?

Another item we might want to include is how to migrate existing settings to the new file.

Out of JSON and YAML, I'd probably suggest that YAML is the better one given that these files will be edited by humans.
That said, have we considered TOML as the format?
It's closer to what we have (name/value pairs), while allowing us to have a little more structure.
Also, it's very easily loaded in our Python code (via https://pypi.org/project/tomli/)
Just a thought. Please ignore it if you feel

Out of interest, why are we considering YAML/JSON etc? Is that because it's easier to parse programatically, or because it allows us to add structure?
At the end of the day, we still "flattern" these files into environment variables. I assume any additional structure/hierarchy will, presumably, get lost once we export the name/value pairs as environment variables.
So, if the change of format is...

to make things more readable
to better group/structure the values

... but, we're still expecting them to be edited by hand, then we want to make reading/editing as easy as possible and as error free as possible, even if that makes parsing/processing the files a little harder for us. For me, that makes TOML a slightly better choice as it's easy to read, easy to edit, and probably quite easy to migrate from .env files.

@martinpec
I think at this point we have quite a lot of configuration, it would be good to group and organize settings (hierarchical) to make it more readable. Another requirement would be that we are able to validate it ahead  and support basic types.
Therefore I think the ini and TOML formats are less relevant for us, since they are not hierarchical. They also quite verbose and not obvious to use.(For example, the [[syntax]] representing an array). These formats are recommended when you don't have a lot of configuration but I think we do and it comes out quite long and hard to read.c
Considered also to use Json - but it doesn't allow to add comments. Since we ask customers to fill those config files, comments and guidance is important in our case.
Therefore I think a good format for us would be yaml.
WDYT?

also read that for TOML different parsers will operate in subtly different ways that can lead to often obscure edge case bugs regarding the way whitespace is used, case sensitivity, comments and escape characters.

Not a lot of hierarchy, but at this point it is good to have it. Adding here an example for TOML env file: https://github.com/gazreese/gazreese.com/blob/c4c3fa7d576a4c316f11f0f7a652ca11ab23586d/Hugo/config.toml (also showing the double brackets I meant). I think people are more familiar with yaml, TOML it is too verbose and less clean in my opinion.

Ah....lists of "objects". Got it.
I agree...the primary contributors to this project are probably more familiar with YAML, and we already have instance of YAML files in our repo, and we probably have YAML extensions for VS Code enabled too. For these reasons alone it probably wins. If we were using project.toml files for our Python project or for our tests then that might be different.
I'm not sure I agree that TOML is more verbose (compared to YAML). I also think that YAML might allow us/encourage us to add more complexity to our config than we need.
I still think we should throw together an example of what the end-state might look like before we go ahead and change all the ENV files to YAML. It would be good to see an example of the final YAML file we're aiming for before we convert all of our code/scripts.

Here is my suggestion for the config.yml file (I'd be happy to hear your thoughts/additions/changes):
# After you have replaced all the __CHANGE_ME__ values in this file, you need to
# run `make auth` to setup the Auth.

management:
  location: __CHANGE_ME__
  mgmt_resource_group_name: __CHANGE_ME__
  mgmt_storage_account_name: __CHANGE_ME__
  terraform_state_container_name: tfstate
  acr_name: __CHANGE_ME__
  # Azure Resource Manager credentials used for CI/CD pipelines
  arm_subscription_id: __CHANGE_ME__

  # If you want to override the currently signed in credentials
  # You would do this if running commands like `make terraform-install DIR=./templates/workspaces/base`
  # arm_tenant_id: __CHANGE_ME__
  # arm_client_id: __CHANGE_ME__
  # arm_client_secret: __CHANGE_ME__

tre:
  tre_id: "__CHANGE_ME__"
  # If your local machine/build agent cannot get the public IP
  # address from https://ipecho.net/plain, then you can circumvent
  # this by setting this Environment variable. This blockage can
  # be caused by trying to deploy TRE in an Office environment where
  # this website is blocked. This value is the public facing IP
  # address of the deploying machine.
  # public_deployment_ip_address: __CHANGE_ME__
  defaults:
    core_address_space: "<IP_ADDRESS>/22"
    tre_address_space: "<IP_ADDRESS>/12"

    core_app_service_plan_sku: "P1v2"
    resource_processor_vmss_sku: "Standard_B2s"
    enable_airlock_malware_scanning: false

    # TODO: move to RP default with https://github.com/microsoft/AzureTRE/pull/2634
    workspace_app_service_plan_sku: "P1v2"
    # Uncomment to disable the UI provided as part of this repo
    # deploy_ui: false

resource_processor:
    # The number of processes to start in the resource processor VMSS image
    # resource_processor_number_processes_per_instance: 5

    # This setting provides a way to pass environment values to the resource processor to use as a source of bundle parameter values
    # For example, to specify your image_gallery_id for use in VM user resources with custom VM images:
    # rp_bundle_values: {"image_gallery_id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/<your-rg>/providers/Microsoft.Compute/galleries/<your-gallery-name>"}

authentication:
  aad_tenant_id: "__CHANGE_ME__"
  # Setting AUTO_WORKSPACE_APP_REGISTRATION to false will create an identity with `Application.ReadWrite.OwnedBy`.
  # Setting AUTO_WORKSPACE_APP_REGISTRATION to true will create an identity with `Application.ReadWrite.All` and `Directory.Read.All`.
  # When this is true, create Workspaces will also create an AAD Application automatically.
  # When this is false, the AAD Application will need creating manually.
  auto_workspace_app_registration: true
  # Setting AUTO_WORKSPACE_GROUP_CREATION to true will create an identity with `Group.ReadWrite.All`
  auto_workspace_group_creation: false

developer_settings:
  # Locks will not be added to stateful resources so they can be easily removed
  # stateful_resources_locked: false

  # If you want to use TRE_URL to point to your local TRE API instance,
  # uncomment and set this variable
  # tre_url: __CHANGE_ME__

  # This setting will enable your local machine to be able to
  # communicate with Service Bus and Cosmos. It will also allow deploying
  # the base workspace.
  # enable_local_debugging: true

  # Used by the API and Resource processor application to change log level
  # debug: true


Timeline - Set custom time with click

Can be possible to set the custom time by cliking on any space of the timeline? This could be a way to set this custom time in addition to the drag & drop...

I guess you could attach your own click handler to the container of the Timeline, and do something on that click. The Timeline of the successor of chap-links-library, vis.js, has a click event built-in, and has a helper function to easily get the time where the mouse clicked.

Thanks for you answer. I'll use the vis.js!


Add upload progress indicator

(new PR due to my bad branching habits, sorry for churn)
Uploads are slow on a RPi Zero, so it's helpful to know that it hasn't just totally stalled.
Also, the linters noted in the contributing docs reformatted index.tsx.
Screenshot of progress upload attached!

Awesome, thanks for your work on this @terabyte128!


better reporting of json processing failures for metronome

add disk to json if not provided.
provide back meaningful message for json processing failures.

thanks @kensipe, some small comments.

@tamarrow
Thanks for the feedback!!!!  this is a MUCH better way of handling this and now works for all situations of JSON entity processing.   The issue with JSON processing failure is it is too hard to know why.  now the information comes back from the service is provided to the user.  For example:
dcos.errors.DCOSUnprocessableException: Error while fetching [http://ken-qyxk6-elasticl-ots5puw3smfz-1917677140.us-west-2.elb.amazonaws.com/service/metronome/v1/jobs/pikachu/schedules]: HTTP 422: {"message":"Object is not valid","details":[{"path":"","errors":["Wrong type. Expected object, was string."]}]}
or
raise DCOSUnprocessableException(response) dcos.errors.DCOSUnprocessableException: Error while fetching [http://ken-qyxk6-elasticl-ots5puw3smfz-1917677140.us-west-2.elb.amazonaws.com/service/metronome/v1/jobs]: HTTP 422: {"message":"Object is not valid","details":[{"path":"/run","errors":["Property disk missing"]}]}
This needs to be combined with 836.

@tamarrow rebased!

@tamarrow you are correct on the try block with the new change.   rebased and ready.

thanks @kensipe will merge when tests pass :)


[FEATURE]: Add continuous deployment

Is your feature request related to a problem? Please describe.
Add continuous deployment via Render.

Describe the solution you'd like
Add the repo on Render.
@sDev67 We can do it together just to show you.
Describe alternatives you've considered
No response
Acceptance Criteria

[ ] Continuous deployment is online

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Out of scope.


Transport Layer Module design.

Adding the new transport layer (#1025) means probably changing the java module design.
Current modules are described at : https://github.com/eclipse/leshan/wiki/Modules
Here is a proposal for a new design :

@JaroslawLegierski, @Warmek do you have any opnion about this ?
I try to get feedback before to do this very impacting changes.

@JaroslawLegierski, @mgdlkundera, I would like to do that renaming soon.
So if you have any opinion ?
I think we will be able to do this once we have the minimum viable feature for write attributes in master. (https://github.com/eclipse-leshan/leshan/pull/1514#issuecomment-1957229543)

This is implemented by #1628.
Finally, I decide to go with leshan-demo-??? for demo and leshan-lwm2m-??? for library.
So when modules are sorted by alphabetic order, they are grouped by kind (demo, transport, lwm2m)
Here is renaming details :
leshan-bsserver-demo ─────────────► renamed by ──────► leshan-demo-bsserver
leshan-client-demo ───────────────► renamed by ──────► leshan-demo-client
leshan-server-demo ───────────────► renamed by ──────► leshan-demo-server
leshan-server-core-demo ──────────► renamed by ──────► leshan-demo-servers-shared
leshan-core-demo ─────────────────► renamed by ──────► leshan-demo-shared

leshan-integration-tests ─────────► not changed ─────► leshan-integration-tests

leshan-client-core ───────────────► renamed by ──────► leshan-lwm2m-client
leshan-core ──────────────────────► renamed by ──────► leshan-lwm2m-core
leshan-server-core ───────────────► split in ──┬─────► leshan-lwm2m-server
                                               └─────► leshan-lwm2m-bsserver
leshan-server-redis ──────────────► renamed by ──────► leshan-lwm2m-server-redis

leshan-client-cf ─────────────────► split in ──┬─────► leshan-tl-cf-client-coap
                                               └─────► leshan-tl-cf-client-coap-oscore
leshan-server-cf ─────────────────► split in ──┬─────► leshan-tl-cf-server-coap
                                               ├─────► leshan-tl-cf-bsserver-coap
                                               ├─────► leshan-tl-cf-bsserver-coap-oscore
                                               └─────► leshan-tl-cf-server-coap-oscore

leshan-core-cf ───────────────────► split in ──┬─────► leshan-tl-cf-shared
                                               └─────► leshan-tl-cf-shared-oscore

leshan-tl-javacoap-client ────────► renamed by ──────► leshan-tl-jc-client-coap
leshan-tl-javacoap-client-coaptcp ► renamed by ──────► leshan-tl-jc-client-coaptcp
leshan-tl-javacoap-server ────────► renamed by ──────► leshan-tl-jc-server-coap
leshan-tl-javacoap-server-coaptcp ► renamed by ──────► leshan-tl-jc-server-coaptcp
leshan-tl-javacoap-core ──────────► renamed by ──────► Leshan-tl-jc-shared

I know some will think that there is now too much module and this is painful but the project is growing and modularity will help for maintainability.
Note that some packages are renamed too but your IDE should fix it using kind of "Organize Import" feature.

In today's SNAPSHOT I see that there are two packages org.eclipse.leshan.server and org.eclipse.leshan.servers. Two import statements I stumbled upon are
import org.eclipse.leshan.server.security.Authorizer
import org.eclipse.leshan.servers.security.Authorization

Are you aware of this naming? I found it slightly confusing at first glance, but I did not have the time to look into whether you wrote down some reasoning already. sorry bout that.

Yep that still a bit complicated to me to find good name :grin:
The **.servers.** packages are in **-servers-shared modules.
Those modules are shared between LWM2M Server and LWM2M Bootstrap Server code.
Do you think I should remove the s ?


Tailwind classes do not work as prop of component

Describe the Bug
I am creating some small components to which other tailwind classes can be added as porps, but they are not being visible, but if I passed any other word as a class it works.
Here is a little demo:
with Tailwind classes
import React from 'react'
import { Text, Container } from '@react-email/components'

import { Main } from '../src/layout/CleanLayout'

const ComponentX = ({className}) => {
  return <p className={`mb-8 text-red-500 ${className}`}>Im a component

}

export default function Email() {
  return (

      <Container className="px-4">
        <Text className="text-3xl">Hello world</Text>
        <ComponentX className="text-blue-500 bg-black" />
      </Container>

  )
}

and this is the output of the component:

Im a component

with Tailwind classes and random words
import React from 'react'
import { Text, Container } from '@react-email/components'

import { Main } from '../src/layout/CleanLayout'

const ComponentX = ({className}) => {
  return <p className={`mb-8 text-red-500 ${className}`}>Im a component

}

export default function Email() {
  return (

      <Container className="px-4">
        <Text className="text-3xl">Hello world</Text>
        <ComponentX className="text-blue-500 bg-black foo bar" />
      </Container>

  )
}

and this is the output of the component:

Im a component

Which package is affected (leave empty if unsure)
@react-email/tailwind
Link to the code that reproduces this issue
i dont have
To Reproduce
Just create a simple component like example on description
Expected Behavior
I expect that tailwind classes can be passed as properties of a component.
What's your node version? (if relevant)
20.11.0

I think this might be happening because they are being turned into styles to your component and passing them as props.
Try taking a style prop into the underlying element for ComponentX to see what happens.
I also saw something related to this when someone was asking about how they could use tailwind-merge with our Tailwnd component. This is certainly a bug that causes unexpected behavior, some case we are missing to add treatment for, but these kinds of experiments might reveal a bit of insight into what is happening here.

this way?
because i have the same behavior
const ComponentX = ({ className }) => {
  return (
    <p className={`mb-8 text-red-500`}>
      Im a component

  )
}

export default function Email() {
  return (

      <Container className="px-4">
        <Text className="text-3xl">Hello world</Text>
        <ComponentX className="text-blue-500 bg-black foo bar" />
      </Container>

  )
}

  Im a component

I mean like this
const ComponentX = ({ className, style }) => {
  return (
    <p className={`mb-8 text-red-500 ${className}`} style={style}>
      Im a component

  )
}

export default function Email() {
  return (

      <Container className="px-4">
        <Text className="text-3xl">Hello world</Text>
        <ComponentX className="text-blue-500 bg-black foo bar" />
      </Container>

  )
}

Well, it works only if the added class does not exist before, see class text.
const ComponentX = ({ className, style }: { className?: string; style?: any }) => {
  return (
    <p className={`mb-8 text-red-500 ${className}`} style={style}>
      Im a component

  )
}

export default function Email() {
  return (

      <Container className="px-4">
        <Text className="text-3xl">Hello world</Text>
        <ComponentX className="text-blue-500 bg-black foo bar" />
      </Container>

  )
}

Im a component

the class text-blue-500 does not apply because text-red-500 exists.

Ok, so this seems like another issue, then there are two things that break this:

Components without a style prop that have classNames do not work

Ok, so this seems like another issue, then there are two things that break this:

Components without a style prop that has classNames does not work properly
Styles from class names do not take priority based on the same order Tailwind does

I think your second issue there also would be helped a lot by being able to use tailwind merge here.

What we currently do on the Tailwind component is do a pass over the JSX tree
while inlining styles for everything, including components.
This is probably what is generally harmful here, maybe what we should do instead is inline styles
for only elements and components define a wrapper component around them that
uses Tailwind on its resolved children only.
Lmk if this makes sense in your situation here, tailwind merge's behavior is also something to consider
but I also think this should get that up and running as expected as well.

Waiting on #1124 to be merged before working on this.

I have the same issue, tailwind color classes dont apply when above pattern is followed. Its becoming very difficult to build components that can be reused with this bug around.

Weirdly, for me this somehow worked - for my Text wrapper component

I had to remove all the inline styles
passed the ...props to the Text component

const Text = ({ underline, className = "", italic, bold, children, ...props }) => {
    var finalClasses = twMerge(className, underline ? 'underline' : '', italic ? 'italic' : '', bold ? 'font-bold' : '', commonStyleClasses, "inline")

    return <Text className={finalClasses}
        {...props}
    >{children}</Text>
}

I have no idea how or why this works, would be great if you can shed some light, as its very counter intuitive and is very different from how developers usually build components

I'm also seeing this.
If i make a component like this:
export const Paragraph = ({
  children,
  className,
  style,
  strong,
  ...props
}: ParagraphProps) => {
  const classes = cn(
    'text-black text-m font-normal not-italic leading-normal',
    { 'font-bold': strong },
    className
  )

  if (props.test) {
    console.log('[P] classes', classes)
  }

  return (
    <Text className={classes} style={style} {...props}>
      {children}
    </Text>
  )
}

and then use it like this:

  If you need to reschedule or cancel your call

The rendered paragraph has font-weight 700 instead of 600 and I see this in the terminal:
[P] classes text-m not-italic leading-normal font-semibold
[P] classes text-m not-italic leading-normal font-bold

So it looks like the first render(?) has the correct class, but the second does not…

I'm also seeing this.
If i make a component like this:
export const Paragraph = ({
  children,
  className,
  style,
  strong,
  ...props
}: ParagraphProps) => {
  const classes = cn(
    'text-black text-m font-normal not-italic leading-normal',
    { 'font-bold': strong },
    className
  )

  if (props.test) {
    console.log('[P] classes', classes)
  }

  return (
    <Text className={classes} style={style} {...props}>
      {children}
    </Text>
  )
}

and then use it like this:

  If you need to reschedule or cancel your call

The rendered paragraph has font-weight 700 instead of 600 and I see this in the terminal:
[P] classes text-m not-italic leading-normal font-semibold
[P] classes text-m not-italic leading-normal font-bold

So it looks like the first render(?) has the correct class, but the second does not…

yup, same behaviour - kind of goes against the purpose of building your own components, hope this gets fixed sometime soon

@gabrielmfern Am I right in thinking that we need https://github.com/resend/react-email/pull/1383 merged before this issue can be fixed? Do you think any extra changes will be required on top of those included in #1383 to fix the problem outlined in this issue?

@WillsB3 I actually have a fix for this on a branch, but there's no PR for it yet. It requires #1383 to be merged for it to work properly.

#1383
Any updates on this or a temporary workaround?

Hey everyone, I was able to find a way to fix this without #1383 and it works so much better than before. I have just released this on<EMAIL_ADDRESS>or<EMAIL_ADDRESS>Let me know if it works on the new version.


Rename "Parameter Call" to something that makes sense

File this under: I don't know why I did this 🤣
Structs (Stocks, Flows, and Components) are basically like objects:
def foo = flow{
		buzz: new bar,
		fizz: func{
			if buzz.a > 2{
				buzz.a -> b;
			}else{
				buzz.a = 10;
			}
			buzz.b -> 1;
		},
	};

def bar = stock{
			a: 10,
			b: 20,
		};

Each has a set of features that are kind of like properties or methods.  These features ARE treated as parameters when represented in LLVM IR, but it's still a pretty confusing name.
A Fault spec works is by connecting Stocks and Flows together to represent resource use in a system (see Thinking In Systems for more about this style of modeling) Struct properties can be static values, instances of connecting structs, or functions. When referenced with the construction [structName].[property] if the feature is a function, Fault will execute the function.
Assuming we can come up with a more sensible name this is basically a find and replace job after that, with the guiding hand of unit tests to help 🤣

Just needs a name for this to be ready to start? What about StructProp or StructProperty?

Correct!
I was thinking of just renaming them to Call or something :/ StructProperty would work but I used that already in the AST for something else that's typically over-engineered as well.