ERROR:  does not have a library for the current platform - GDNative on iOS, Godot 3.0 Beta 2

Godot version:

Godot 3.0 Beta 2 official
C++ GDNative in question that I tested was built for macOS (x86_64), and iOS (arm64, armv7, armv7s).

I tested it successfully with macOS, but faced with error for iOS.
I included 2 projects to test this issue out

Godot project which includes with built libraries for both platform in question
Exported iOS project with further build settings setup (steps included at the end of this issue)

OS/device including version:

iOS 11.2.5
macOS 10.13

Issue description:
Create a simple GDNative in C++, then integrate with Godot project. Try to export into iOS project using an updated & fixed iOS export template found here. Built and run project successfully on iOS device, but then during run-time it shows error as follows
2018-01-08 07:57:08.876729+0800 ios-export[1646:597846] [DYMTLInitPlatform] platform initialization successful
*********** main.m
running app main
2018-01-08 07:57:11.569809+0800 ios-export[1646:597729] +[CATransaction synchronize] called within transaction
after init super 0x104d0a300
2018-01-08 07:57:11.769958+0800 ios-export[1646:597729] Metal GPU Frame Capture Enabled
2018-01-08 07:57:11.776568+0800 ios-export[1646:597729] Metal API Validation Enabled
******** screen size 640, 1136
after init gles 0x104d0a300
******** adding observer for sound routing changes
******** adding observer for keyboard show/hide
glview is 0x104d0a300
Path: /var/containers/Bundle/Application/2F76ED70-16B6-42B3-BEDE-D4B11A5C7789/ios-export.app
godot_iphone /var/containers/Bundle/Application/2F76ED70-16B6-42B3-BEDE-D4B11A5C7789/ios-export.app/ios-export
cwd /private/var/containers/Bundle/Application/2F76ED70-16B6-42B3-BEDE-D4B11A5C7789/ios-export.app
os created
setting data dir to /var/mobile/Containers/Data/Application/C7E48CA1-B536-4BEB-9E40-51C6DFAB79E6/Documents from /var/mobile/Containers/Data/Application/C7E48CA1-B536-4BEB-9E40-51C6DFAB79E6/Documents
setup 0
cadisaplylink: 1start animation!
******** screen size 640, 1136
2018-01-08 07:57:12.137619+0800 ios-export[1646:597729] +[CATransaction synchronize] called within transaction
2018-01-08 07:57:12.140697+0800 ios-export[1646:597729] +[CATransaction synchronize] called within transaction
2018-01-08 07:57:12.147198+0800 ios-export[1646:597729] +[CATransaction synchronize] called within transaction
2018-01-08 07:57:12.202078+0800 ios-export[1646:597729] OpenGL ES 3.0 Renderer: Apple A9 GPU
OpenGL ES 3.0 Renderer: Apple A9 GPU
2018-01-08 07:57:12.210221+0800 ios-export[1646:597729] GLES3: max ubo light: 102
GLES3: max ubo light: 102
2018-01-08 07:57:12.210376+0800 ios-export[1646:597729] GLES3: max ubo reflections: 113, ubo size: 144
GLES3: max ubo reflections: 113, ubo size: 144
2018-01-08 07:57:12.349320+0800 ios-export[1646:597729] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2018-01-08 07:57:12.350798+0800 ios-export[1646:597729] [MC] Reading from public effective user settings.
2018-01-08 07:57:12.542211+0800 ios-export[1646:597729] ARVR: Registered interface: Native mobile
ARVR: Registered interface: Native mobile
2018-01-08 07:57:12.629283+0800 ios-export[1646:597729] **ERROR**: Condition ' status != 0x8CD5 ' is true.
2018-01-08 07:57:12.629323+0800 ios-export[1646:597729]    At: drivers/gles3/rasterizer_storage_gles3.cpp:6334:_render_target_allocate() - Condition ' status != 0x8CD5 ' is true.
**ERROR**: Condition ' status != 0x8CD5 ' is true.
   At: drivers/gles3/rasterizer_storage_gles3.cpp:6334:_render_target_allocate() - Condition ' status != 0x8CD5 ' is true.
2018-01-08 07:57:12.630568+0800 ios-export[1646:597729] **ERROR**: Condition ' status != 0x8CD5 ' is true.
2018-01-08 07:57:12.630594+0800 ios-export[1646:597729]    At: drivers/gles3/rasterizer_storage_gles3.cpp:6334:_render_target_allocate() - Condition ' status != 0x8CD5 ' is true.
**ERROR**: Condition ' status != 0x8CD5 ' is true.
   At: drivers/gles3/rasterizer_storage_gles3.cpp:6334:_render_target_allocate() - Condition ' status != 0x8CD5 ' is true.
2018-01-08 07:57:12.741109+0800 ios-export[1646:597729] **ERROR**:  does not have a library for the current platform
2018-01-08 07:57:12.741181+0800 ios-export[1646:597729]    At: modules/gdnative/nativescript/nativescript.cpp:995:init_library() - Condition ' lib_path.length() == 0 ' is true.
**ERROR**:  does not have a library for the current platform
   At: modules/gdnative/nativescript/nativescript.cpp:995:init_library() - Condition ' lib_path.length() == 0 ' is true.
2018-01-08 07:57:12.743976+0800 ios-export[1646:597729] **SCRIPT ERROR**: Attempt to call function 'new' in base 'NativeScript' on a null instance.
2018-01-08 07:57:12.744023+0800 ios-export[1646:597729]    At: <built-in>:3:_ready() - Attempt to call function 'new' in base 'NativeScript' on a null instance.
**SCRIPT ERROR**: Attempt to call function 'new' in base 'NativeScript' on a null instance.
   At: <built-in>:3:_ready() - Attempt to call function 'new' in base 'NativeScript' on a null instance.
2018-01-08 07:57:13.227255+0800 ios-export[1646:597729] [Error] setCurrentGameFromInternal: ignoring -- nil bundleIdentifier :(null)
2018-01-08 07:57:13.331679+0800 ios-export[1646:597729] [Error] _authenticateUsingAlert:Faied to authenticate player with existing credentials.Error: Error Domain=GKErrorDomain Code=15 "The requested operation could not be completed because this application is not recognized by Game Center." UserInfo={GKServerStatusCode=5019, NSLocalizedDescription=The requested operation could not be completed because this application is not recognized by Game Center., NSUnderlyingError=0x1c445e390 {Error Domain=GKServerErrorDomain Code=5019 "status = 5019, no game matching descriptor: ios:org.godotengine.iosgame2:1.0:1.0+-1" UserInfo={GKServerStatusCode=5019, NSLocalizedFailureReason=status = 5019, no game matching descriptor: ios:org.godotengine.iosgame2:1.0:1.0+-1}}}
2018-01-08 07:57:13.362115+0800 ios-export[1646:597729] [Error] startAuthenticationForExistingPrimaryPlayer:Failed to Authenticate player.Error: Error Domain=GKErrorDomain Code=15 "The requested operation could not be completed because this application is not recognized by Game Center." UserInfo={NSLocalizedDescription=The requested operation could not be completed because this application is not recognized by Game Center.}

From full log above, the relevant part is as follows
2018-01-08 07:57:12.741109+0800 ios-export[1646:597729] **ERROR**:  does not have a library for the current platform
2018-01-08 07:57:12.741181+0800 ios-export[1646:597729]    At: modules/gdnative/nativescript/nativescript.cpp:995:init_library() - Condition ' lib_path.length() == 0 ' is true.
**ERROR**:  does not have a library for the current platform
   At: modules/gdnative/nativescript/nativescript.cpp:995:init_library() - Condition ' lib_path.length() == 0 ' is true.
2018-01-08 07:57:12.743976+0800 ios-export[1646:597729] **SCRIPT ERROR**: Attempt to call function 'new' in base 'NativeScript' on a null instance.
2018-01-08 07:57:12.744023+0800 ios-export[1646:597729]    At: <built-in>:3:_ready() - Attempt to call function 'new' in base 'NativeScript' on a null instance.
**SCRIPT ERROR**: Attempt to call function 'new' in base 'NativeScript' on a null instance.
   At: <built-in>:3:_ready() - Attempt to call function 'new' in base 'NativeScript' on a null instance.

If things run properly, it should print out followings
test
1
True

and shows Godot sprite on screen. If not, it should not print anything, and Godot sprite wouldn't show on screen.
Steps to reproduce:

Try to run Godot project (see attached file) on macOS first to see whether it works
You can directly open attached exported Xcode project then run on iOS device to see the problem, or try to re-export iOS project from Godot editor again.
If you re-export from editor, you need to configure the following for Xcode project

Click on project name at Project Navigator panel, then click on General. At Embedded Binaries, add libsimple_library_ios_fat.dylib for both of occurrences.
At build settings, search for Library Search Paths, then add $(SRCROOT)/ios-export/dylibs/simple_library (this will allow compilation process to succeed, and be able to find our shared library as copied into dylibs/simple_library automatically by exporting process).
At build settings again, search for Runpath Search Paths, then add @executable_path/Frameworks (for some reason, I need this to be able to successfully initialize Godot at startup. If not, it crashes even before Godot'd be loaded).

Run the project.
You will see the error log like above, and see no expected results printed or any Godot sprite on screen.

Minimal reproduction project:

Godot project
Exported Xcode Project

Edit
I included information from executing otool -L libsimple_library_ios_fat.dylib here as well as reference. I have to set it to @rpath/libsimple_library_ios_fat.dylib via install_name_tool command in order to let linking step be able to find and pass through.
libsimple_library_ios_fat.dylib (architecture armv7):
	@rpath/libsimple_library_ios_fat.dylib (compatibility version 0.0.0, current version 0.0.0)
	/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 400.9.1)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.0.0)
libsimple_library_ios_fat.dylib (architecture armv7s):
	@rpath/libsimple_library_ios_fat.dylib (compatibility version 0.0.0, current version 0.0.0)
	/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 400.9.1)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.0.0)
libsimple_library_ios_fat.dylib (architecture arm64):
	@rpath/libsimple_library_ios_fat.dylib (compatibility version 0.0.0, current version 0.0.0)
	/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 400.9.1)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.0.0)

Does anyone have an example on how to specify the .a library in the .gdnlib file? E.g. Where (method) it should be and how to send/receive params for/from the .a lib? (Should we use call_deferred in this case as well?)

Can anyone still reproduce this bug in Godot 3.2.3 or any later release?

I'll close this as nobody else has been able to reproduce this recently.

Not sure if this is a misconfiguration of mine and at all related to this issue - but whenever I export my barely started project on Linux and there are the Godot Git plugin libraries in the project root, I get:
ERROR: initialize: No library set for this platform
   At: modules/gdnative/gdnative.cpp:290.

Everything seems to work fine though. Just the error is there. If I remove just the two git_api.* files, no error message there. I also tried excluding the files from the export dialog but that doesn't help.

Not sure if this is a misconfiguration of mine and at all related to this issue - but whenever I export my barely started project on Linux and there are the Godot Git plugin libraries in the project root, I get:
ERROR: initialize: No library set for this platform
   At: modules/gdnative/gdnative.cpp:290.

Everything seems to work fine though. Just the error is there. If I remove just the two git_api.* files, no error message there. I also tried excluding the files from the export dialog but that doesn't help.

ERROR: initialize: No library set for this platform
   At: modules/gdnative/gdnative.cpp:290.

Exactly the same problem with the same conditions here with Godot v3.3.rc6 under Arch Linux.

@knochenhans Since this issue is very old by now, I'd advise opening a new issue with a minimal reproduction project attached.


GitHub: New Team for Factory-X Shared Services

Product GitHub team name:

fx-shared-services
GitHub users to invite:

dg-tsy
Maintainer of the new GitHub Team:

dg-tsy
validation / approved by:
dg-tsy

@ds-lcapellino is this teams different to the already existing factory-x teams?
As already discussed with @ds-meberle and @ds-hzimmer yesterday ... i am only able to add Catena-X members to this teams. For @dg-tsy its OK. But if there are other people, not beeing part of Catena-X you have to rethink the possibilities to access ArgoCD

In that case @stephanbcbauer please add @dg-tsy to the existing factory-x team. For now there is no need for a new team.

@dg-tsy right now you are a pending member. Please accept the invitation.

@dg-tsy by accepting the invitation, you should have access to the following tools:

https://vault.core.catena-x.net
https://argocd.factory-x.catena-x.net
https://grafana.factory-x.catena-x.net/login

@stephanbcbauer Thanks. I have accepted the invitation now.

@ds-lcapellino Thanks. I can access the Argocd and Grafana now. How do I get the token for Vault?

@dg-tsy for Vault you need to select OIDC and the role factory-x to authenticate.

@ds-lcapellino Thanks. That works like a charm!
Now only thing pending is how do I add other members to this team. As I understood, instead of creating a new team, I have been added to the existing "factory-x" team, which is fine for me. Can I get the maintainer role in this team so that I can add other team members?

@dg-tsy your team members must be part of the Catenax-ev org: https://github.com/catenax-eV. If you're missing someone there, please get in touch with @stephanbcbauer.
@stephanbcbauer is it ok to make Deepak a team
maintainer?


As a customer I want to understand what's changing about logs so I can adjust our processes and tooling to match without it being an emergency

De-prioritizing - this issue is to move to something other than logsearch for our ELK stack, which is not in the plan any time soon.

@karareinsel given your previous note on this, I think we're good to close it.


feat(frontend): include License Agreement link in landing page

Motivation
We add a link to the License Agreement in the main page, when logged out, below the Authenticate button.

Also, unsolicited design feedback, should the font size be a bit smaller?

@peterpeterparker yes, you are correct: the plan is to show it everywhere (even after logged in actually); however, I didn't refactor it in a single component already because I am not sure it will be done in the same way in all instances.
I imagine that for all the uses of ButtonAuthenticate will be the same (so, yes, signer standard too), but I would prefer to await the Design team and refactor in another PR. WDYT? Do you prefer to hold this one and confirm with Design Team first?


A question about how the script works

Hi friend, I want to apply a script to mi 11 ultra, will this script not delete application data? Is it possible to use it on an already configured phone with an unlocked bootloader?

hyperos firmware

Hi too friend, adbloat asks for user to uninstall third-party apps but keep it's data. If you want nothing to be remove or reset just say no in script. :)

Thank you very much, I will try to apply the script)


Edits Not Persisting

The first change to an entity remains, though any following changes cause a crash.

Fixed as of 3f8811d.


Discuss the best way to disable options in BrickPi & PiStorms not available.

At the moment, some features are not available for every hardware, so it is necessary to think in the best way to disable that options.
Options:

Raise exceptions
Not do anything

En both cases, it is necessary to write some message on logs.
Example:

For BrickPi & PiStorms uses, brake method is not available.

Maybe the discussion start describing what features are commons among the different platforms and what platforms has special features.
Special features:

Display
Buttons
Sound
Motors
-- Some Stop methods

If in next iterations, EV3Dev improve the platform the implementation should be upgraded.

Actions:

Review Stop methods on regulated motors.

Related issue:
https://github.com/ev3dev-lang-java/ev3dev-lang-java/issues/189

It is necessary to review the examples to remove any referece to Features not common in order to have Universal code to be executed in every platform.


Add Country Selector Dropdown with Flags and Phone Codes in the Contact Form

I propose adding a Country Selector Dropdown to the form, featuring flags and phone codes for all countries, alongside a designated space for users to enter their phone numbers. This enhancement will simplify the process of selecting the correct country and code, allowing users to easily find their respective codes without manual searching.
Implementing this feature will improve the user experience by reducing errors and ensuring accurate phone number entry. It will create a more inclusive platform for a global audience, demonstrating a commitment to accessibility and professionalism while streamlining form completion for users.
Please give me this issue to work on it ASAP. This is for GSSoC'24-Extd.
Thank you.

hey, can i be assigned?

Hi, @aslams2020 I am working on it today. I will send it at EOD (31st October, EST time). Thank you

@aslams2020 sent my pull request. Could you confirm everything is okay?


Client version too new api level 139 vs 140

Problem/Motivation

Cannot pull or import an image oznu/homebridge

Expected behavior

Successful import of tar file or image pull

Actual behavior

Error message and no image found

Steps to reproduce

Attempt to pull the image

Proposed changes

Fix api version mismatch

Tried using 1.39 for DOCKER_API_VERSION and DOCKER_COMPOSE_VERSION in the imported image tar file but still getting the error.

This is addressed in the current dev version of the add-on and will be published on the next release.


Update sbt to 1.5.3

Updates org.scala-sbt:sbt from 1.5.2 to 1.5.3.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-sbt", artifactId = "sbt" } ]

labels: library-update, semver-patch

Codecov Report

Merging #985 (5ea608a) into develop (fdb127b) will increase coverage by 0.03%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop     #985      +/-   ##
===========================================
+ Coverage    89.57%   89.60%   +0.03%
===========================================
  Files          119      119
  Lines         9871     9871
  Branches       511      511
===========================================
+ Hits          8842     8845       +3
+ Misses        1029     1026       -3

Impacted Files
Coverage Δ

.../main/scala/com/twitter/algebird/Successible.scala
91.66% <0.00%> (-4.17%)
:arrow_down:

.../main/scala/com/twitter/algebird/BloomFilter.scala
93.80% <0.00%> (-0.89%)
:arrow_down:

...src/main/scala/com/twitter/algebird/Interval.scala
73.04% <0.00%> (-0.87%)
:arrow_down:

.../scala/com/twitter/algebird/immutable/BitSet.scala
97.00% <0.00%> (+0.64%)
:arrow_up:

...a/com/twitter/algebird/immutable/BloomFilter.scala
95.90% <0.00%> (+1.63%)
:arrow_up:

.../main/scala/com/twitter/algebird/JavaMonoids.scala
79.66% <0.00%> (+1.69%)
:arrow_up:

...main/scala/com/twitter/algebird/monad/Reader.scala
58.82% <0.00%> (+5.88%)
:arrow_up:

Continue to review full report at Codecov.

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


Ability to connect to different hubs with different app keys

Describe Your Problem:

I have two different connector hubs with different app keys I want to connect to the plugin. Entering the information from one works perfectly. When entering the second ip address I get an error after restart: TypeError: Cannot read properties of undefined (reading 'currentPosition')
at ConnectorAccessory.updateDeviceStatus (/usr/local/lib/node_modules/homebridge-connector-hub/src/connectorAccessory.ts:154:43)
Adding an extra platform by entering the json manually results in a warning when restarting: The dynamic platform ConnectorHub from the plugin homebridge-connector-hub seems to be configured multiple times in your config.json. This behaviour was deprecated in homebridge v1.0.0 and will be removed in v2.0.0!
Unfortunately this solution does not work, since the second Blinds are not showing up in Home Kit.
How can I connect both hubs to the plugin?
Logs:
Show the Homebridge logs here, remove any sensitive information.

Plugin Config:
Show your Homebridge config.json here, remove any sensitive information.

Screenshots:

Environment:

Plugin Version: 1.0.9
Homebridge Version: 1.6.1
Node.js Version:
NPM Version:
Operating System: Raspberry Pi

Hi @DrSok - from your message above, it seems that the plugin is receiving a response from the hub that does not contain the standard, expected message contents; specifically, on this line it appears that the data field does not exist. Can you try installing the latest release 1.1.0 and turn on debug logging? I've included extra logging which should show the contents of this malformed message before the crash.

A quick followup: local testing indicates that this error is what happens when an invalid connector key is supplied, which makes sense in your scenario, since you are only able to enter a single key, and so the key is invalid for your second hub. I'll put up a beta version soon which handles this scenario without crashing, and which also allows multiple keys to be configured.

After some trial and error I got everything working by connecting both hubs with one controller app, so that they used the same api-key. In the plugin I used that (single) api-key and entered both ip-addresses.


Add rapidsai and rapidsai-nightly channels

Request from @jakirkham on behalf of the RAPIDS team.

Added rapidsai and rapidsai-nightly channels

Thank you! 😀
cc @datametrician

So I tried running this, but am not seeing anything. Though this could totally be user error. Pointers would be welcome 🙂
$ condastats overall --monthly --data_source rapidsai cudf
Series([], Name: counts, dtype: int64)

I only updated the hourly files, which are used in this repo. condastats is using the summarized monthly data files, which have not been updated yet.  I will update the monthly files today .

Thanks Sophia! Please let us know when you need us to try things out again 😉

Updated the monthly files. Please try again! 🙂

Looks good. Thanks for your help Sophia! 😄
$ condastats overall --monthly --data_source rapidsai cudf
pkg_name  time
cudf      2018-10      93.0
          2018-11    1038.0
          2018-12     807.0
          2019-01    1503.0
          2019-02    2702.0
          2019-03    4586.0
          2019-04    5245.0
          2019-05    4576.0
          2019-06    3470.0
          2019-07    5546.0
          2019-08    2825.0
          2019-09    2244.0
          2019-10    3330.0
          2019-11    2669.0
          2019-12    2129.0
Name: counts, dtype: float64

@sophiamyang @jakirkham those seem like only stable, shouldn't nightlies be included?

Nevermind, if you remove rapidsai it includes both stable and nightly, thanks everyone

Yeah you can also select the nightlies specifically if you want to break them out.
$ condastats overall --monthly --data_source rapidsai-nightly cudf
pkg_name  time
cudf      2019-02       19.0
          2019-03     2538.0
          2019-04     1874.0
          2019-05     8161.0
          2019-06    12589.0
          2019-07     6480.0
          2019-08    11840.0
          2019-09     6232.0
          2019-10     9025.0
          2019-11    13241.0
          2019-12     6453.0
Name: counts, dtype: float64

That doesn't look right. I haven't included the rapidsai-nightly channel yet. Let me take a look.

Right I did include both rapidsai and rapidsai-nightly channels.


Populating plain and html text

Can I populate both the plain and html text of the email using Razor?

You can now do this :)
There is are "PlaintextAlternative" methods now. (as of v2.1.0).


ERROR! In the relationship between Customer and User, User is not declared.

INFO! Generating jdls .\apps.jdl
ERROR! An error occured while running jhipster:jdl#parseJDL
ERROR! ERROR! In the relationship between Customer and User, User is not declared. If 'User' is a built-in entity declare like 'Customer to User with builtInEntity'.
Error: In the relationship between Customer and User, User is not declared. If 'User' is a built-in entity declare like 'Customer to User with builtInEntity'.
at checkForAbsentEntities (file:///C:/Users/micha/AppData/Roaming/npm/node_modules/generator-jhipster/dist/jdl/validators/jdl-with-application-validator.js:155:15)
at file:///C:/Users/micha/AppData/Roaming/npm/node_modules/generator-jhipster/dist/jdl/validators/jdl-with-application-validator.js:97:13
at file:///C:/Users/micha/AppData/Roaming/npm/node_modules/generator-jhipster/dist/jdl/models/jdl-object.js:183:13
at file:///C:/Users/micha/AppData/Roaming/npm/node_modules/generator-jhipster/dist/jdl/models/jdl-relationships.js:78:13
at Array.forEach ()
at JDLRelationships.forEach (file:///C:/Users/micha/AppData/Roaming/npm/node_modules/generator-jhipster/dist/jdl/models/jdl-relationships.js:77:24)
at JDLObject.forEachRelationship (file:///C:/Users/micha/AppData/Roaming/npm/node_modules/generator-jhipster/dist/jdl/models/jdl-object.js:182:28)
at checkForRelationshipErrors (file:///C:/Users/micha/AppData/Roaming/npm/node_modules/generator-jhipster/dist/jdl/validators/jdl-with-application-validator.js:95:19)
at file:///C:/Users/micha/AppData/Roaming/npm/node_modules/generator-jhipster/dist/jdl/validators/jdl-with-application-validator.js:50:17
at file:///C:/Users/micha/AppData/Roaming/npm/node_modules/generator-jhipster/dist/jdl/models/jdl-object.js:73:13
ERROR! An error occured while running jhipster:jdl#customizeApplication
ERROR! An error occured while running jhipster:jdl#configure
ERROR! An error occured while running jhipster:jdl#generateJson
ERROR! An error occured while running jhipster:jdl#generate
force .yo-rc.json

It looks like you're trying to use JHipster 8 beta for this. This repository's JDL expects you to use JHipster 7. If you want to use JHipster 8, this JDL should work:
/*
 * This is a microservice e-commerce store sample with Gateway and three microservice applications.
 * This uses eureka for service discovery and OIDC authentication.
 * This also creates the required Kubernetes deployment manifests.
 */

application {
  config {
    baseName store
    applicationType gateway
    packageName com.okta.demo.store
    serviceDiscoveryType eureka
    authenticationType oauth2
    prodDatabaseType postgresql
    cacheProvider hazelcast
    buildTool gradle
    clientFramework react
  }
  entities *
}

application {
  config {
    baseName product
    applicationType microservice
    packageName com.okta.demo.product
    serviceDiscoveryType eureka
    authenticationType oauth2
    prodDatabaseType postgresql
    cacheProvider hazelcast
    buildTool gradle
    serverPort 8081
  }
  entities Product, ProductCategory, ProductOrder, OrderItem
}

application {
  config {
    baseName invoice
    applicationType microservice
    packageName com.okta.demo.invoice
    serviceDiscoveryType eureka
    authenticationType oauth2
    prodDatabaseType postgresql
    buildTool gradle
    serverPort 8082
  }
  entities Invoice, Shipment
}

/**
 * Entities for Store Gateway
 */

// Customer for the store
entity Customer {
    firstName String required
    lastName String required
    gender Gender required
    email String required pattern(/^[^@\s]+@[^@\s]+\.[^@\s]+$/)
    phone String required
    addressLine1 String required
    addressLine2 String
    city String required
    country String required
}

enum Gender {
    MALE, FEMALE, OTHER
}

relationship OneToOne {
    Customer{user(login) required} to User with builtInEntity
}

service Customer with serviceClass
paginate Customer with pagination

/**
 * Entities for product microservice
 */

// Product sold by the Online store
entity Product {
    name String required
    description String
    price BigDecimal required min(0)
    itemSize Size required
    image ImageBlob
}

enum Size {
    S, M, L, XL, XXL
}

entity ProductCategory {
    name String required
    description String
}

entity ProductOrder {
    placedDate Instant required
    status OrderStatus required
    code String required
    invoiceId Long
    customer String required
}

enum OrderStatus {
    COMPLETED, PENDING, CANCELLED
}

entity OrderItem {
    quantity Integer required min(0)
    totalPrice BigDecimal required min(0)
    status OrderItemStatus required
}

enum OrderItemStatus {
    AVAILABLE, OUT_OF_STOCK, BACK_ORDER
}

relationship ManyToOne {
	OrderItem{product(name) required} to Product
}

relationship OneToMany {
   ProductOrder{orderItem} to OrderItem{order(code) required} ,
   ProductCategory{product} to Product{productCategory(name)}
}

service Product, ProductCategory, ProductOrder, OrderItem with serviceClass
paginate Product, ProductOrder, OrderItem with pagination
microservice Product, ProductOrder, ProductCategory, OrderItem with product

/**
 * Entities for Invoice microservice
 */

// Invoice for sales
entity Invoice {
    code String required
    date Instant required
    details String
    status InvoiceStatus required
    paymentMethod PaymentMethod required
    paymentDate Instant required
    paymentAmount BigDecimal required
}

enum InvoiceStatus {
    PAID, ISSUED, CANCELLED
}

entity Shipment {
    trackingCode String
    date Instant required
    details String
}

enum PaymentMethod {
    CREDIT_CARD, CASH_ON_DELIVERY, PAYPAL
}

relationship OneToMany {
    Invoice{shipment} to Shipment{invoice(code) required}
}

service Invoice, Shipment with serviceClass
paginate Invoice, Shipment with pagination
microservice Invoice, Shipment with invoice

/**
 * Deployments
 */

deployment {
  deploymentType kubernetes
  appsFolders [store, invoice, product]
  dockerRepositoryName "deepu105" // @Replace With Your Docker repo name@
  serviceDiscoveryType eureka
  kubernetesServiceType LoadBalancer
  kubernetesNamespace jhipster
}

Ok cool.  Thanks!  I will give this a try.  😊
From: Matt Raible @.>
Sent: Friday, June 23, 2023 9:16 AM
To: oktadev/okta-jhipster-k8s-eks-microservices-example @.>
Cc: Michael McCarthy @.>; Author @.>
Subject: Re: [oktadev/okta-jhipster-k8s-eks-microservices-example] ERROR! In the relationship between Customer and User, User is not declared. (Issue #2)
It looks like you're trying to use JHipster 8 beta for this. This repository's JDL expects you to use JHipster 7. If you want to use JHipster 8, this JDL should work:
/*

This is a microservice e-commerce store sample with Gateway and three microservice applications.
This uses eureka for service discovery and OIDC authentication.
This also creates the required Kubernetes deployment manifests.
*/

application {
config {
baseName store
applicationType gateway
packageName com.okta.demo.store
serviceDiscoveryType eureka
authenticationType oauth2
prodDatabaseType postgresql
cacheProvider hazelcast
buildTool gradle
clientFramework react
}
entities *
}
application {
config {
baseName product
applicationType microservice
packageName com.okta.demo.product
serviceDiscoveryType eureka
authenticationType oauth2
prodDatabaseType postgresql
cacheProvider hazelcast
buildTool gradle
serverPort 8081
}
entities Product, ProductCategory, ProductOrder, OrderItem
}
application {
config {
baseName invoice
applicationType microservice
packageName com.okta.demo.invoice
serviceDiscoveryType eureka
authenticationType oauth2
prodDatabaseType postgresql
buildTool gradle
serverPort 8082
}
entities Invoice, Shipment
}
/**

Entities for Store Gateway
*/

// Customer for the store
entity Customer {
firstName String required
lastName String required
gender Gender required
email String required pattern(/^[^@\s]+@[^@\s]+.[^@\s]+$/ mailto:+@[^@\s]+\.[^@\s]+$/ )
phone String required
addressLine1 String required
addressLine2 String
city String required
country String required
}
enum Gender {
MALE, FEMALE, OTHER
}
relationship OneToOne {
Customer{user(login) required} to User with builtInEntity
}
service Customer with serviceClass
paginate Customer with pagination
/**

Entities for product microservice
*/

// Product sold by the Online store
entity Product {
name String required
description String
price BigDecimal required min(0)
itemSize Size required
image ImageBlob
}
enum Size {
S, M, L, XL, XXL
}
entity ProductCategory {
name String required
description String
}
entity ProductOrder {
placedDate Instant required
status OrderStatus required
code String required
invoiceId Long
customer String required
}
enum OrderStatus {
COMPLETED, PENDING, CANCELLED
}
entity OrderItem {
quantity Integer required min(0)
totalPrice BigDecimal required min(0)
status OrderItemStatus required
}
enum OrderItemStatus {
AVAILABLE, OUT_OF_STOCK, BACK_ORDER
}
relationship ManyToOne {
OrderItem{product(name) required} to Product
}
relationship OneToMany {
ProductOrder{orderItem} to OrderItem{order(code) required} ,
ProductCategory{product} to Product{productCategory(name)}
}
service Product, ProductCategory, ProductOrder, OrderItem with serviceClass
paginate Product, ProductOrder, OrderItem with pagination
microservice Product, ProductOrder, ProductCategory, OrderItem with product
/**

Entities for Invoice microservice
*/

// Invoice for sales
entity Invoice {
code String required
date Instant required
details String
status InvoiceStatus required
paymentMethod PaymentMethod required
paymentDate Instant required
paymentAmount BigDecimal required
}
enum InvoiceStatus {
PAID, ISSUED, CANCELLED
}
entity Shipment {
trackingCode String
date Instant required
details String
}
enum PaymentMethod {
CREDIT_CARD, CASH_ON_DELIVERY, PAYPAL
}
relationship OneToMany {
Invoice{shipment} to Shipment{invoice(code) required}
}
service Invoice, Shipment with serviceClass
paginate Invoice, Shipment with pagination
microservice Invoice, Shipment with invoice
/**

Deployments
*/

deployment {
deploymentType kubernetes
appsFolders [store, invoice, product]
dockerRepositoryName "deepu105" // @Replace With Your Docker repo name@
serviceDiscoveryType eureka
kubernetesServiceType LoadBalancer
kubernetesNamespace jhipster
}
—
Reply to this email directly, view it on GitHub https://github.com/oktadev/okta-jhipster-k8s-eks-microservices-example/issues/2#issuecomment-1604272018 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AAZUGP54SC5QG5ZWH6RRYGDXMWJIVANCNFSM6AAAAAAZDRUOL4 .
You are receiving this because you authored the thread.  https://github.com/notifications/beacon/AAZUGP2KIHPHZ2BL65CSOELXMWJIVA5CNFSM6AAAAAAZDRUOL6WGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTS7T47ZE.gif Message ID: @.*** @.***> >


Fix comments of schema compatibility strategy.

Motivation
Fix comments of schema compatibility strategy.
Modifications
Change comment of SchemaCompatibilityStrategy.BACKWARD and SchemaCompatibilityStrategy.FORWARD
Does this pull request potentially affect one of the following parts:
If yes was chosen, please highlight the changes

Dependencies (does it add or upgrade a dependency): (no)
The public API: (no)
The schema: (yes)
The default values of configurations: (no)
The wire protocol: (no)
The rest endpoints: (no)
The admin cli options: (no)
Anything that affects deployment: (no)

Documentation

Does this pull request introduce a new feature? (no)

Merged in 2.3.1 at
f3a77b7


When it will be updated to 1.17?

I am working on that right now. If there are no issues, it should be up in under an hour


added thomas id for Darin LaHood

Looks goods  :+1: . Congress scraper shows correct ID from source http://thomas.loc.gov/cgi-bin/bdquery/?&Db=d114&querybd=@FIELD(FLD004+@4((@1(Rep+LaHood++Darin))+02295))


Colour support

Hi all,
I've been working on a SSD1351 driver crate based on the work done with the ssd1306. I am at the point where I want to start integrating embedded_graphics traits for more advanced graphic work. The SSD1351 being a 16bit colour display driver the current u8 for colour is not going to work, and in the future this crate should probably be able to support even higher colour depths.
Just wanted to kick off some discussion on the matter :)

Hey, thanks for commenting! I saw your driver added to the awesome embedded Rust list, congrats :). Colour support is definitely on the roadmap, I just haven't needed it personally yet. I was thinking of defining an associated type for the Drawing trait, although I don't know if that would be enough. Do you have an idea of how you'd want this problem approached? Ideally it would support anything from single bit colour all the way up to 24 bit (and further?) for any type of display.

How would an colour assiociated type work with the current Drawing trait?

Not sure yet! Probably some type/struct exported from the crate that the interface can use. It would then be up to the display driver implementors to convert the Color type (or whatever) that's returned from a pixel iterator into something the display itself can understand. I'll do some experimenting when I've got a spare mo.

Hey, I've been a bit busy the last week but I have some time this week so based on the what you've said so far I'd like to get a rough implementation working. I plan on changing the Drawing trait to looking something like this
pub trait Drawing {
    /// Generic Color type
    type Color;

    /// Draw an object from an iterator over its pixels
    fn draw<T>(&mut self, item_pixels: T)
    where
        T: Iterator<Item = (drawable::Pixel, Self::Color)>;
}

where Pixel is basically an coord, with no colour information.
And the implementation of the new trait would look something like this
impl<DI> Drawing for GraphicsMode<DI>
where
    DI: DisplayInterface,
{
    // the SSD1351 uses 16bit colours
    type Color = u16;

    fn draw<T>(&mut self, item_pixels: T)
    where
        T: Iterator<Item = (drawable::Pixel, Self::Color)>,
    {
        for (pos, color) in item_pixels {
            self.set_pixel(pos.0, pos.1 color);
        }
    }
}

I'll have a stab and see where I get.

That's exactly what I was thinking. The driver implementor (in your case the ssd1351 crate) should  also export that Color type so that users of the crate can use it their own code as well I think. Doesn't make much sense for a u16, but for richer Color types it would. Looking forward to seeing what you come up with!

After an hour or two of playing, I have a functioning implementation. I ended up changing the draw method in the drawing trait to this
pub trait Drawing {
    /// Generic Color type - implemented by driver crates
    type Color;

    /// Draw an object from an iterator over its pixels
    fn draw<T>(&mut self, item_pixels: T, color: Self::Color)
    where
        T: Iterator<Item = drawable::Pixel>;
}

Moving the colour declaration here makes the u8 color in Pixel redundant, so I have changed Pixel type definition to
pub type On = bool;

/// A single pixel
pub type Pixel = (UnsignedCoord, On);

The primitives have had their color field removed, and thier iterators now return the new pixel type eg Some((coord.to_unsigned(), true)).
Finally the implementation of the new drawing trait looks like this
impl<DI> Drawing for GraphicsMode<DI>
where
    DI: DisplayInterface,
{
    /// Exported Color type from ssd1351 crate
    type Color = Color;

    fn draw<T>(&mut self, item_pixels: T, color: Self::Color)
    where
        T: Iterator<Item = drawable::Pixel>
    {
        for (pos, set) in item_pixels {
            if set {
                self.set_pixel(pos.0, pos.1, color);
            }
        }
    }
}

What do you think?

That's a good start, but I think the pixel value must be given by the created object. draw() should support drawing objects that have changing colours of their yielded pixels (think a computed gradient or greyscale/colour images, etc) which means the object is responsible for tracking that pixel colour.
Can you open a PR with your changes so we can track progress? It's easier than pasting code blocks into issue comments I think :)

I started an experiment and it turned into a full PR at #41. Sorry if I stepped on your toes. Let me know what you think in that thread! Hopefully it solves your problem in an elegant-ish way.

Ah, I've just submitted mine too, I think I might have overcomplicated my solution slightly, lol.


Maintenance status of markdown-it

👋 Would anyone be able to shed light on the maintenance status of markdown-it at this point?
The last commit was over 10 months ago now, and there seems to be no activity from maintainers in issues, including those reporting breakages in some usages of the library, nor in PRs attempting to fix issues with the library.
Is markdown-it abandoned, or am I misinterpreting the inactivity? Are the current maintainers interested in taking on new maintainers from the community if folks were interested in helping out?

cc @puzrin @rlidwka as y'all seem to be the folks that were maintaining this historically?

Is markdown-it abandoned [..] ?

I think your question is answered :(
Last commit was exactly 1 year ago.

If someone ends up forking, be sure to add a note here please.

This package is maintained. All security fixes are released ASAP. His package is stabl

👋 While I appreciate that security fixes are shipped, it feels a bit disingenuous to call this fully maintained when there aren't responses to PRs and issues for over a year in some cases...

As i said, that's opinion based. Pending PRs do not reflect that importance.

#916 is a bug that breaks the library... it was filed in February. Another user filed the same report again in #958 last week. I filed #901 in November of last year to update that dependency, which will resolve that bug...

In a changing ecosystem, being stable is not always an option. This package still doesn't ship ESM modules, for example (https://github.com/markdown-it/markdown-it/issues/862), which has been a thing for at least 3 years, and is becoming a requirement for many build setups.

#916 is a bug that breaks the library... it was filed in February. Another user filed the same report again in #958 last week. I filed #901 in November of last year to update that dependency, which will resolve that bug...

IMO that's bundler issue, if it tries the wrong dependency version. There are only 2 PR to think about:

your one, postponed as not critical (can use build from dist is problems with bundler)
unicode dependency - postponed because pinning to v2 can break compatibility with old browsers, and also kind of bundler-related.

In a changing ecosystem, being stable is not always an option. This package still doesn't ship ESM modules, for example (#862), which has been a thing for at least 3 years, and is becoming a requirement for many build setups.

Since things are changed "slowly", it's difficult to detect moment when ESM support become mandatory. As far as I remember, I changed bundler to rollup, to add ESM-compatible build into dist sometime. But then "some shit" happened in the world, topic was not actively pushed and was left floating in the middle state.
@marijnh , @MattIPv4 Bros, I'm sorry for lack of communication, and appreciate your contribution into this package. I respect your opinion and understand it can differ from my own. So, if you can give me list of concrete issues, really critical from your point of view, I will try to resolve.

From my perspective, it'd be nice to see the entities update land, and ESM support.

Could you check result of this PR https://github.com/markdown-it/markdown-it/pull/863/files ? Are ESM exports as expected or some tweaks needed?

I'll try to find some time next week to run this locally and see if it behaves as expected 👍 Without testing, but looking at the diff, my concern would be that bundlers might start picking up the pre-bundled version, causing bundles to get larger as dependencies couldn't be de-duped.

Could you check result of this PR https://github.com/markdown-it/markdown-it/pull/863/files ? Are ESM exports as expected or some tweaks needed?

I've added a comment to #863

package.json update would be a breaking change. I'd prefer do things in 2 steps:

release 13.1 with merged entities & esm build in dist - this can be done very quickly.
then, sometime... rearrange markdown and all plugins in this org to pure esm with es5 fallback and appropriate package.json updates. For v14.

To be on the safe side, you could add a wildcard export like this
  "exports": {
    ".": {
      "import": "./dist/esm/markdown-it.mjs",
      "require": "./index.js"
    },
    "./*": {
      "require": "./*",
      "import": "./*"
    }
  },

That way, imports of the root will properly use the ESM build, but direct subpaths are also still supported.

As the PR author, I just noticed this thread. I'll update it to include the exports with the wildcard as mentioned here. Thanks!

As the PR author, I just noticed this thread. I'll update it to include the exports with the wildcard as mentioned here. Thanks!

IMO it's better to leave it as is to keep compatibility, I could release v13.1 with couple of PRs. Then rewrite to esm and release v14.

There should be no breaking change in behavior from adding ESM outputs (the CJS stuff should work exactly as it used to).

Released new version, including plugins.

I hope, all pending issues are now fixed
markdown-it-emoji changed exports. Everything else should be transparent, including CJS use,
CJS/UMD builds no longer transpiled to strict es5 (drop ancient browsers support). If you wish to transpile at your side, polifills for the .fromCharCode() set of methods are needed.

If anything else is required - let me know. Thank you very much for your help!


Consider making image feature extractor a public API

The image feature extractor is used by the image classifier and image similarity toolkits; however, it could provide useful lower-level functionality if anyone wanted to train more unique types of models on top. It would return a feature representation of images, which could potentially be useful for more use cases.

I'm a little hestitant to add a public API without a clear use case that we want to support. Do other people have thoughts here?

Dup of #1916


feat: update Go to 1.22

1.22 improves printing of regular expressions.
See https://github.com/golang/go/issues/57950
See https://go-review.googlesource.com/c/go/+/507015

@itchyny I would appreciate a new release for go 1.22.

Do you use this package as a library? Or command line tool from the releases?

As a library, which means it's probably not an issue, just thought it would make sense.

I don't think I have to update the version then. I'll find my time to bump up for the releases some time. Thanks for letting me know, anyway.


Add getlandr.io Netlify site redirects.

Change-type: patch
Signed-off-by: Carlo Miguel F. Cruz<EMAIL_ADDRESS>

@cmfcruz i though the transformer would be removed :/

@balena-ci I self-certify!

@balena-ci retest

@balena-ci retest


Added Username in game response data

Related Issues
Fixes #10
Description
I have added the username in the payload that was being sent in response data in the game.dart file.

give @ritvij14 25 points


azure view is missing

this is what i am seeing on latest insider:

expected:

This is intentially, it is in the connection dialog now as a tab.


Cross button alignment issue in alert banners

The cross (close) button in the alert banners is aligned properly when the banner text lie only in 1 line.
But the alignment is wrong when the text goes on the 2 line.
For one line:

For two line:

claim

@zulipbot claim

Huh, this issue was reported in #19770 and closed in #19991. Was the fix incorrect, or is this a regression?

PR #19991 only fixed the cross button alignment for compose_not_subscribed banner. The cross button alignment issue is still present on other banners.

@zulipbot claim


Implement predefined field constraints

This fails in CI for now, it depends on https://github.com/bufbuild/protovalidate/pull/246.
Assuming you have protovalidate cloned in the parent folder of protovalidate-go, and that you've ran make conformance after checking out https://github.com/bufbuild/protovalidate/pull/246, the following command can be used to test against the local protovalidate. This will not currently pass all the way; it will have two failures that are fixed by https://github.com/bufbuild/protovalidate/pull/245.
(rm -fr .tmp/protovalidate; buf generate ../protovalidate/proto/protovalidate -o .tmp/protovalidate; mv .tmp/protovalidate/internal/gen/buf .tmp/protovalidate; rm -fr .tmp/protovalidate/internal; cd .tmp/protovalidate; go mod init buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go; go mod tidy; cd ..; go mod edit -replace=buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go=./.tmp/protovalidate && go mod tidy) && go build -o protovalidate-conformance-go ./internal/cmd/protovalidate-conformance-go && ../protovalidate/.tmp/bin/protovalidate-conformance --strict --strict_message --strict_error ./protovalidate-conformance-go

FYI: Some changes are being worked on with regards to compatibility. For posterity sake I want to write an explanation. In particular, I noticed some rather serious problems with how our approach to resolving unknown extensions would interplay with users that need to use dynamic descriptor sets; we were relying on the GlobalTypes registry to resolve extensions, but this would not work for users that many have multiple sets of file descriptor sets that are distinct, as the user will not be able to register them. To rectify this I unified the code that resolves extensions for all constraint options.
Now there are tests that should ensure any proto.Message with field constraints will always resolve, no matter if they're using the concrete gencode types, somehow an incompatible gencode type (e.g. if the protovalidate package path changes), a dynamicpb.Message, or if the field constraints are hidden away in unknown fields. In addition, to ensure predefined field constraints are resolved correctly, the user can pass in an extension resolver when creating a validator. Otherwise, GlobalTypes will be used, which works in all of the obvious cases. Similar adaptations will probably be needed for other versions (I already added it to the Java runtime.)
There's actually quite a few bits of nuance I ran into that made this tricky. For example, we cannot mutate the return value of Options() - it is illegal to do so according to protoreflect and would not be goroutine safe anyway, which would probably surprise people since it would only ever come up in edge cases.
Despite this, we do have at least one win: it is possible to avoid RangeExtensions while still not panicing, because we can use ProtoReflect().Get() instead, which is exactly what proto.GetExtension does internally anyways. Then later on, we can use the same logic we normally would to determine if a reparse is necessary.
The code winds up having to do up to four field presence checks:

On the concrete fields, using the normal extension tag number
On the concrete fields, using the legacy extension tag number
On the reparsed unknown fields, using the normal extension tag number
On the reparsed unknown fields, using the legacy extension tag number

The reparsed checks have to be done separately because again, we can't actually mutate the field options, so we have to reparse into a new message and check that. However this should not be a major concern, since this step is cached.
A net effect of this is that the conformance test suite runner is even more agnostic to the input data, and previous versions of the conformance test suite should work correctly with the new runner.
That said, at the moment this is only backward compatibility and not forward compatibility. If you use a standard constraint that is too new, it will not work, just as it currently does not work. I am going forward with the assumption that this is OK but it may warrant some thought so I'll ask a couple folks their thoughts anyways.

Update: Added a WithAllowUnknownFields option which defaults to false. That way, the default behavior doesn't allow missing definitions to result in silently-broken validation. This is another breaking change, although in theory there is no way it can break anyone, because the version that adds it will also be the version that adds custom predefined rules, and by definition has a superset of all standard constraints ever defined prior.
I have also been investigating to ensure that our changes do not tank performance. Performance is mostly within margin of error although the switch to proto2 has increased the number of allocations in the invalid path (because the violation structure with proto2 explicit field presence is full of pointer-chasing.) I think it isn't worth investing any time into. Not sure what you could really do to improve that; string interning would probably help but I think it would be extremely unlikely to matter in real world use cases.

Unfortunately I am currently blocked on getting the upstream protovalidate changes released for the moment so I have made some temporary adaptations in 040b31c2d53e1bafbd79c8f362c9a419cf72253f that will make the diff as close to possible as the actual final diff. I'm hoping that we can get the protovalidate changes released before end-of-week but getting some eyes on the changes here would be great either way.

Protovalidate 0.8.1 is out now so I've reverted the temporary changes and updated to it. We should be good to go.

For example, we cannot mutate the return value of Options() - it is illegal to do so according to protoreflect and would not be goroutine safe anyway, which would probably surprise people since it would only ever come up in edge cases.

It doesn't sound like this PR mutates any return value of Options() but I am curious for my own knowledge why protovalidate go needs to mutates this value ever 👀

The reason why it might need to mutate the Options() data is because we need to reparse the options. The normal reparse logic we'd use in Go just does a merge-parse directly into the protoreflect.Message, but doing so here would be illegal, so we do it into an empty FieldOptions instead and then loop over those fields separately.


Subdomain Support

I wanted to use reverse proxy to link to different versions of my code (main, beta, alpha) but I have the problem that my certificate is only valid for the main domain. While I am not entirely sure whether certbot makes the domains as one certificate it definitely allows you to request multiple domains.
After trying, due to it being similar to Certbot and it not working I had a fast look. It didn't seem to me like this is currently supported.
I also used a hack to not need to give my code sudo permission nor the annoying all java programs sub 1024 ports. Instead, I went in and used the debug feature that seems to exist to set a port manually and tell my firewall to port forward.
Having support for that officially could be interesting for others.
Also I want to point out that this is my first time working with reverse proxies and I am not very experienced with Spring either.

@HacktheTime Thanks for your feedback,
Is it the case shown here (case A):

Or the case shown here (case B, embedded):

You want to implement?

I would encrypt all websites.
Also as reverse proxy I planned to use nginx
All the Websites run on sperate jars.

Not sure that I understand your use case, is it like this?

On first look seems like it. But I don't understand what you mean with the dotted beta line.

Hm I think I found something which still is incorrect possibly.
NGINX is also on the same Server.
IMA go through everything as far as I can think of.
The main url is just example.com.
Beta is beta.example.com
Alpha is alpha.example.com.
My Versions are just seperate jar files executed seperately on the same server. Basically a copy of the current version on push.
Alpha is actually running on my localhost during development and I use SSH port forwarding to make it available though my public Server.
Goal is too have all pages encrypted.
Obviously I need to copy the keys to my local PC using sth like scp before start up.
The reason to use a reverse proxy is so you add the version in front if non main and you get put on the right port. Right now I just use setting a port in the address.
I think best would be if the certificate is valid for the main website and sub domains at the same time. Means even if someone manually specifies the port with main website they don't get an invalid encryption error.

@HacktheTime I think Traefik-proxy is better suited for your problem, it would be hard to solve it within the scope of this project:
here is an example docker-compose config:
# Launch sequence
# 1. docker stack init your-stack
# 2. docker network create web --scope swarm -d overlay
# `docker stack deploy --compose-file docker-compose.yml your-stack`

version: "3.3"

services:
  ################################################
  ####        Traefik Proxy Setup           #####
  ###############################################
  traefik:
    image: traefik:v2.0
    restart: always
    container_name: traefik
    ports:
      - "80:80" # <== http
      - "443:443" # <== https
    command:
      #- "--log.level=DEBUG"
      # - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.letsencryptresolver.acme.tlschallenge=true"
      -<EMAIL_ADDRESS>      - "--certificatesresolvers.letsencryptresolver.acme.storage=/letsencrypt/acme.json"
    volumes:
      - ./ssl/letsencrypt:/letsencrypt
      - /var/run/docker.sock:/var/run/docker.sock # <== Volume for docker admin
    networks:
      - web # <== Placing traefik on the network named web, to access containers on this network
    labels:
      #### Labels define the behavior and rules of the traefik proxy for this container ####
      - "traefik.enable=false" # <== Enable traefik on itself to view dashboard and assign subdomain to view it

  ################################################
  ####        Application services          #####
  ###############################################

  some-ui:
    image: project/frontend-image
    depends_on:
      - some-backend
    networks:
      - web
    labels:
      - "traefik.enable=true"
      - "traefik.backend=some-ui"
      - "traefik.http.routers.some-ui.rule=Host(`first-your-domain.com`)"
      - "traefik.http.routers.some-ui.tls.certresolver=letsencryptresolver"

  some-backend:
    restart: always
    image: project/backend-image
    networks:
      - web
    labels:
      - "traefik.enable=true"
      - "traefik.backend=some-backend"
      - "traefik.http.routers.some-backend.rule=Host(`second-your-domain.com`) && PathPrefix(`/api-proxy`)" # Stripping /api-proxy from backend requests
      - "traefik.http.routers.some-backend.middlewares=some-backend-stripprefix"
      - "traefik.http.routers.some-backend.tls.certresolver=letsencryptresolver"
      - "traefik.http.middlewares.some-backend-stripprefix.stripprefix.prefixes=/api-proxy"

  some-other-ui:
    image: project/other-frontend-image
    depends_on:
      - some-backend
    networks:
      - web
    labels:
      - "traefik.enable=true"
      - "traefik.backend=some-other-ui"
      - "traefik.http.routers.some-other-ui.rule=Host(`third-your-domain.com`)"
      - "traefik.http.routers.some-other-ui.tls.certresolver=letsencryptresolver"

networks:
  web:
    external: true

You mentioned a "your-stack" I didn't have one previously so just sth random like "website" will do?
(my applications were not running in docker previously)
Changes I need to do are
Email<EMAIL_ADDRESS>the domains with
url1: first-your-domain.com
url2: second-your-domain.com
url3: third-your-domain.com
right?
however, how exactly does this redirect them to the right ports?
I mean they run on different ports after all on the same server. But
https → http
alpha +2 → 8062, 8072
beta +1 → 8061, 8071
main +0 → 8060, 8070
because normally from what I saw they try to detect that automatically but in my case every of them does the same things in most parts.

First of all, this would require to deploy all your apps inside docker containers (within docker-compose infrastructure)
Yes, you need to supply:

email -<EMAIL_ADDRESS>LetsEncrypt will send you mails there
Domains:
url1: first-your-domain.com
url2: second-your-domain.com
url3: third-your-domain.com
these are the domains of your services, note that for some-backend there is also && PathPrefix(/api-proxy) that removes prefixes

however, how exactly does this redirect them to the right ports?
All those containers live in web network, Traefik will route the requests to containers, because all of them use labels telling how to interpret each of that

your-stack is simply docker stack name - https://docs.docker.com/reference/cli/docker/stack/


How to add a term to an expression

I have tried these ways but they both give the wrong result:
import xdeps as xd

dct = {'a':1, 'b':2, 'c':3}
manager = xd.Manager()
dref = manager.ref(dct, 'dct')
dref['a'] = 10
dref['b'] = 20
dref['c'] = 30
assert dref['a']._get_value() == 10
dref['sum'] = dref['a'] + dref['b']
assert dref['sum']._get_value() == 30
dref['sum'] += dref['c']
print(dref['sum']._value) # this gives 90 (should give 90)

dct = {'a':1, 'b':2, 'c':3}
manager = xd.Manager()
dref = manager.ref(dct, 'dct')
dref['a'] = 10
dref['b'] = 20
dref['c'] = 30
assert dref['a']._get_value() == 10
dref['sum'] = dref['a'] + dref['b']
assert dref['sum']._get_value() == 30
manager.tasks[dref['sum']].expr += dref['c']
print(dref['sum']._value) # this gives 30 (should give 60)
dref['a'] = 10
print(dref['sum']._value) # this gives 30 (should give 60)

Quick reply without testing and without looking at the code, I might say something wrong.
The first approach cannot work because it is equivalent to write in madx sum:=sum + c
The second approach cannot work because it changes the expression of the task but it does register the new dependencies.
The approach that should work is:
newexpr = manager.tasks[dref['sum']].expr + dref['c']
dref['sum']=newexpr

I understand that this is cumbersome and a convenient API should be added but it needs some thoughts (probably first approach should be feasible but might be more confusing)
I have also noticed a potential bug when overwriting a previous definition. This needs some careful testing...

Fixed by 589045c


Risk of deadlock?  I don't think so, but...

At a glance, these four rules seem to be a recipe for deadlock:
1.3

onSubscribe, onNext, onError and onComplete signaled to a Subscriber MUST be signaled in a thread-safe manner—and if performed by multiple threads—use external synchronization.

2.7

A Subscriber MUST ensure that all calls on its Subscription take place from the same thread or provide for respective external synchronization.

3.2

The Subscription MUST allow the Subscriber to call Subscription.request synchronously from within onNext or onSubscribe.

3.10

While the Subscription is not cancelled, Subscription.request(long n) MAY synchronously call onNext on this (or other) subscriber(s).

request/onNext
If a Publisher thread locks the Subscriber per 1.3 and calls a version of onNext that attempts to lock the Subscription per 2.7, while a Subscriber thread locks the Subscription per 2.7 and calls a version of request that attempts to lock the Subscriber per 1.3, the threads will deadlock.
Do the synchronous calls allowed by 3.10 and 3.2 require external synchronization per 1.3 and 2.7?
I think the answer is "no", but the reason is subtle.
If request is called in multiple threads, the callers would synchronize on the Subscription.  If request does not synchronize on the Subscriber when calling onNext, then there is no effective synchronization with callers of Subscriber methods that synchronize on the Subscriber.  Are there any such callers?

If the Publisher is synchronous, then the only callers of onNext will be the callers of request, which are effectively synchronized with each other.

If the Publisher is asynchronous, then its implementation of request will probably not make synchronous calls to onNext in the first place.

This should be guaranteed:
X.1

A Subscription produced by an asynchronous Publisher MUST NOT synchronously call onNext from within request.

X.2

An asynchronous Subscriber MUST NOT synchronously call request from within onNext.

onSubscribe/request
I think it's safe for an asynchronous Subscriber to lock the Subscription in onSubscribe to synchronously call request, because although the caller of onSubscribe may hold the lock on the Subscriber, no Subscriber thread would be trying to obtain the locks in the opposite order at the time onSubscribe is called.
request/onError
I think it's safe for a Subscription produced by an asynchronous Publisher to lock the Subscriber in request to synchronously call onError (rule 3.9), because although the caller of request may hold the lock on the Subscription, no Publisher thread would be trying to obtain the locks in the opposite order.  Again, the statefulness of Subscriber prevents the calls that could deadlock from occurring at the same time.
Assuming my "X" rules are followed, is there any other situation where a thread would try to lock both the Subscriber and the Subscription?

If a Publisher thread locks the Subscriber per 1.3 and calls a version of onNext that attempts to lock the Subscription per 2.7, while a Subscriber thread locks the Subscription per 2.7 and calls a version of request that attempts to lock the Subscriber per 1.3, the threads will deadlock.

None of the rules requires you to lock on these components because most logic around them can be and is achieved in a lock-free manner in the major 3 implementations. In RxJava specifically, there is a rule for the operators that one should not call onXXX while holding any lock because that may lead to deadlocks.

Do the synchronous calls allowed by 3.10 and 3.2 require external synchronization per 1.3 and 2.7?

In theory, no; in practice, yes. request implementation has to be thread-safe and reentrant-safe because a request may come at any time from any thread to the Publisher/Subscription. If it's the same thread, then you may end up with a recursive call between request and onNext which may lead to stack overflow. Often, the two safety requirement can be achieved via the same trampolining and non-blocking logic (queue-drain, atomic state changes, actor message queues).

Assuming my "X" rules are followed, is there any other situation where a thread would try to lock both the Subscriber and the Subscription?

The main idea of Reactive-Streams is the non-blocking backpressure, thus when we (I assume) think about our existing and proven implementations, we avoid thinking in locks around signals entirely.

@akarnokd What does "external synchronization" mean, then, if not the use of a lock?  A lock-free (or in actuality, locks-hidden) approach may work, but is it spec-compliant and guaranteed interoperable with spec-compliant implementations?

How would a Subscriber from an external library know about which objects to lock on your particular implementation? What if someone uses a guard object internally instead of locking on the Subscription?
Synchronization in the spec doesn't mean Java's synchronized keyword but it refers to mean which by calls, events appear to be happening sequentially or in a serialized fashion (the database terminology, not the object-to-bytes fashion).

How would a Subscriber from an external library know about which objects to lock on your particular implementation?

The wording of the spec strongly implies that the objects to lock are the Subscriber and the Subscription.

What if someone uses a guard object internally instead of locking on the Subscription?

Then their implementation would be non-compliant.
The spec should say what it means, and "external synchronization" means something very specific.  You are interpreting the spec as if it said that Subscriber and Subscription should be thread-safe.  But the spec very clearly says that the burden of thread safety is on their callers.

@kjkrum Thanks for asking this question which reveals that the external synchronization phrase needs to be in the glossary!
What is  meant by external synchronization is that access needs to be coordinated outside of the  spec so that from a spec point-of-view (to the observer) it is thread safe from a sequencing perspective.

All right, thanks for clarifying.  (And thanks for not biting my head off.)

@kjkrum You're most welcome. Thank you for pointing out this weakness in the documentation! :)

Assign milestone 1.0.1?


Run tests against kong gateway nightly

Is there an existing issue for this?

[X] I have searched the existing issues

Problem Statement
We have created GH action to run integration tests against kong nightly build to test the compatibility with kong gateway 3.0, but we stopped it since the test is unstable. Now kong gateway is expected to be released soon, we need to restart the tests for compatibility tests
Proposed Solution

enable test-nightly action in a cronjob.

Additional information
No response
Acceptance Criteria

[ ] test-nightly could run to test compatibility with kong 3.0.

daily tests for Kong 3.0 compatibility tests is covered by #2870.


NWM Viewer - Improve Workflow

The layout of the controls on the page needs to reflect the intended user workflow.  The additions of the Add Watershed and Subset Watershed functionality is a bit confusing because it is largely independent from the other search/visualization functionality.   This may be improved by adding a radio button select "search be comid" or "search by area" which controls the search options below.  Moreover, the subset watershed button should probably be at the bottom of the page.

fixed on apps server

This issue was moved to CUAHSI-APPS/nwm-forecast-viewer#17


THREE.math is renamed to THREE.mathUtils and breaks location based logic

Describe the bug
ar-threex-location-only.js throws an error when using new THREEx.LocationBased(...).
Uncaught TypeError: Cannot read properties of undefined (reading 'degToRad')
    at t._haversineDist (ar-threex-location-only.js:1:3186)
    at t._gpsReceived (ar-threex-location-only.js:1:2848)
    at ar-threex-location-only.js:1:1902

This happens because three.js has renamed the object THREE.math to THREE.mathUtils.
(changelog: https://github.com/mrdoob/three.js/releases/tag/r113)
I suggest updating the logic so it works with the latest three.js version. However this may break existing usages that make use of the older three.js version. I suggest putting a clear disclaimer or making the code backwards compatible.
(ar.js logic that uses Math: https://github.com/AR-js-org/AR.js/blame/8662537d2dc1701afc4eadfbf7b04db3341199de/three.js/src/location-based/js/location-based.js#L161)
To Reproduce
Steps to reproduce the behavior:

use three.js version 0.113.0 or higher
call const arjs = new THREEx.LocationBased(scene, camera);

Expected behavior
The code does not throw an error
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: MacOS Ventura
Browser Chrome

Smartphone (please complete the following information):

Device: Google Pixel 6
OS: Android
Browser Chrome

I same issues, I downgrade to r0.146.0 for the same with the repo but still happens. @JvJefke do you know if the revision of ThreeJs will work?

Likewise, this breaks with version 1.4.x of A-Frame, which uses a recent version of three.js

@tranhogdiep
I downgraded three.js to 0.112.0 and that seemed to fixed it for now.

https://github.com/AR-js-org/AR.js/pull/523 would fix this.


hook up travis

probably best to use encrypted variables for the clientID/secret in the config.js

travis is running the tests, now we just need to get the tests passing.

closed via #48 by the endlessly impressive (and modest) @kneemer


Remove support for Travis CI

Now that Github Actions CI is working we can remove Travis.
Closes #89

Looks good to me!


3D Tiles - External tileset fix

Related to discussion in https://github.com/AnalyticalGraphicsInc/cesium/pull/4287#issuecomment-283354556
The changes here are from @JPhPons
This fixes an issue with different LODs rendering above each other in some cases when using external tilesets.
Since the tree traversal will be overhauled in https://github.com/AnalyticalGraphicsInc/cesium/pull/5128 it should be fine to merge these changes, even though I feel the underlying problem is maybe a smaller fix. I tested with a few different tilesets and things run smoothly.
The test failure is unrelated:
culls when out of view and cull is true
     Scene/ModelInstanceCollection

I thought this was gone in https://github.com/AnalyticalGraphicsInc/cesium/pull/5100 but I'll have to look into it some more.

@lilleyse is this fixed in #5128 as well?  If not, please add this to the 3D Tiles roadmap.

Thanks @lilleyse @JPhPons!


Arc 1422 add repo sync state fk

What's in this PR?
Add a FK to RepoSyncStates to Subscriptions.
Why
Keep data integrity.
Added feature flags
N/A
Affected issues
ARC-1422
How has this been tested?
Local
Unit test
Whats Next?
Run DB migration on stg/prod.

the migration is all fine and good, but I think you might be forgetting to update the model to reflect the database changes

Good question, I thought about this and settle down on NOT having any model changes. With cascade on delete and update, it doesn't seems like we need to change any model files?

@gxueatlassian It's optional, but with sequelize you can get the "related" models automatically within another one.  It's a nicety that's kinda cool because you don't have to do extra calls to the DB, if you get the model, you'll get it's children automatically.


Invalid category must result in help message

Same as #22 for category
Actual:

Expected:
error in category value ('NTIA-minimum-element') should be reported with a help message
The exit code should not be 0

fixed in v0.0.7


Scale map tiles to dpi/Calculate largest available zoom level dynamically

Since we are beholden to the Android Canvas integer based coordinate system, if we are using a tile size of 256 pixels then we can support up to zoom level 22. However if we use a tile size of 512 pixels, we now have to support a map size that is now double the map size at 256 pixels, and therefore, we can only support up to zoom level 21.
This causes problems when calling toProjectedPixels() since the numbers will now overflow if we can't support our MAXIMUM_ZOOMLEVEL constant which is 22.
Fixing this will close #13, #49, #68.

Thank you @kurtzmarc that seems to have done the trick for the maps themselves. I can confirm that they are now readable on the high density devices I am testing with.
However, I still seem to have an issue with the text I am placing into Markers on the map (using ItemizedOverlayWithFocus and OverlayItem). This text on the highlighted marker is still too small to be readable in much the same way the streets and labels used to be too small. Was this fix intended to address this or am I supposed to be adjusting the text size myself somewhere?

@silviokuehn The Android canvas uses integers for its coordinate system. Overflow happens at 2^31-1. If we have a tile size of 512 then MapSize(22) = 2^31. (we could probably get away with using 22 since it will only overflow by one pixel, but anything higher than that would be more greatly affected)

@mrachelski The ItemizedOverlayWithFocus uses its own Paint objects to determine the text size. If you extend the overlay you can change the parameters of mDescriptionPaint and mTitlePaint. But really, ItemizedOverlayWithFocus is really old and outdated. You'd probably have better luck with osmbonuspack.

hi, i've found a slight issue here,
calling mapView2.setTilesScaledToDpi(false);
produces a different effect to doing nothing at all.
You probably need to add a call to TileSystem.setTileSize whenever a tilesource is set.

I'm not sure what you're saying here. When you call mapView.setTileSource() it calls updateTileSizeForDensity() which calls setTileSize().

I don't think I ever call mapView.setTileSource()
My setup looks like this:
mapView = new org.osmdroid.views.MapView(
                getActivity(),
                100,
                new DefaultResourceProxyImpl(getActivity()),
                maptilbasic,
                null);

mapView.setTilesScaledToDpi(false);

Without the last line, I end up with difference sized map tiles.

Okay, I think I see what's happening now. You're right, we need that initial TileSystem.setTileSize() adjustment when a tileSource is set.

That should fix that issue. Thinking more long-term, we really should pass the tileSize in to all the TileSystem methods rather than try to keep a static field for it.

There is a commit connected to this issue that broken the tile loading:
Commit d75b60c
There is at least 1 issue on the mailing list connected to this:
Issue 1
Reverting that commit makes tile loading from asset all good again.

Any updates to this? setTilesScaledToDpi(true) works great, but makes everything very pixelated.  Is there an way to make MapView render dpi dependent, rather than scaling up?

I don't know if this is related with this issue. When I display map tiles which looks great on desktop/laptop on cellphone, it become very small even if I
mapView.setTilesScaledToDpi(false);
Currently I manually call setTileSize as a workaround.
TileSystem.setTileSize((int) (aTileSource.getTileSizePixels() * density * 0.5));
Don't know if there is any better way...

resolved with #488

Tried the new version on my Nexus 5.

.setTilesScaledToDpi(false); too small that anything could be read (that's okay, as scaling off)
.setTilesScaledToDpi(true); still pixelated, and text not really good readable (at least the small street names)

@gsantner maybe we can make the scaling factor dynamic or have a developer override.

Having a developer override for the scaling factor would be great. With the new devices, it is becoming harder to read the maps.


Semantic Segmentation Error on ADE20K

Thank you for your outstanding work. When I try to train ViT-S/16 with UperNet as the task layer, I got the error:
KeyError: "EncoderDecoder: 'VisionTransformer is not in the backbone registry'"
I find the issue Semantic Segmentation on ADE20K

Solution --> Starting a new terminal window after the installation resolved the issue. This issue could also appear due to GPU - cuda version mismatch.

But it didn't work. Also I checked the description of mmsegmentation v.12.0, VisionTransformer backbone is not yet supported. Hope you can provide some help.

Solution --> Add code in test.py:
from mmcv_custom import train_segmentor


Add Shaderc and  SPIRV-Cross bindings?

Hello,  I would like to know if there are any plans to add Shaderc  and SPIRV-Cross.

I'd like to keep this open for tracking

#1201 adds a SPIRV-Cross submodule and the native CI workflow to build it, all someone needs to do is plumb it up to publish the shared libraries, and point the generator to it


fix(js/plugins/ollama): reconfigure ollama embedding

Should resolve https://github.com/firebase/genkit/issues/1080
Also enabled the tests for this plugin.
Checklist (if applicable):

[x] Tested (manually, unit tested, etc.)
[x] Docs updated

closing in favour of PR to next here


Use annotation files to run DSC

This idea popped up during my discussion with Wei earlier today when I try to explain the DSC annotation mechanism. He seems to think running the DSC and annotate it after is counter-intuitive I've convinced him why it makes sense yet we both find it can be useful if we can also give names to DSC sequence we are interested in beforehand so that we can run them exclusively. Need some work though and it will break some existing features but I'll update the doc as I make the changes. I make this proposal  No. 4 on my current TODO list.

I agree with Wei that naming as you run is the natural way to think about
this as a user...
The exception is when you start running all combinations of parameters
rather than just a select group of methods. Then it becomes easier to just
run everything and annotate after.
I am more interested in the former application, where you have to think
hard before running a method rather than running all parameter
combinations. But I think both are of interest.
Matthew
On Jan 30, 2017 18:16, "gaow"<EMAIL_ADDRESS>wrote:

This idea popped up during my discussion with Wei earlier today when I try
to explain the DSC annotation mechanism. He seems to think running the DSC
and annotate it after is counter-intuitive I've convinced him why it makes
sense yet we both find it can be useful if we can also give names to DSC
sequence we are interested in beforehand so that we can run them
exclusively. Need some work though and it will break some existing features
but I'll update the doc as I make the changes. I make this proposal No. 4
on my current TODO list.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/stephenslab/dsc2/issues/49, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABt4xcwT_QtfKhJG3LDA9bW5hwF4fmaGks5rXn1tgaJpZM4LyFqu
.

Another feature we need when doing this is to allow for combination of logic across parameters. Currently we have:
large_sample:
  simulate:
    N: % N > 100

small_feature:
  simulate:
     P: % P < 10

But the concept of large or small here is relative. We should allow for tags such as:
small_n_large_p:
   simulate: N < P

large_n_small_p:
   simulate: P < N

Still have to give some more thoughts syntax-wise but this is the feature we currently lack.

The simple version (without parameter logic) is essentially automatic annotation. I'm closing this ticket because it does not seem annotation is welcomed / appreciated so let's not to make it any more complex for now.

if the idea is implemented into dsc configuration it is essentially #69


StandardUICommandPage is content missing in menu item on 17134 build

Describe the bug
CalendarViewPage crashes on RS4 with Xaml Parse exception.
Steps to reproduce the bug
Steps to reproduce the behavior:

Launch XCG on RS4 device
Click on StandardUICommand page

Version Info

[x] App downloaded from Store

If so, which version? (Found on the Settings page of the app.)
<IP_ADDRESS>

Windows 10 version:

[x ] April 2018 Update (17134)

Device form factor:

[x ] Desktop

no repro on 1.2.26


[Feature] Create a UI

Move "Online" visual to the top left corner

Center the title and slider


Updating plugins

We should add a command for updating plugins which have been installed to a sidekick cli.
PluginsUpdateCommand
The usage could look like this: <my_cli> sidekick plugins update <plugin> [version]
The implementation can be similar to UpdateCommand

Download the plugin at the specified version (or latest if none was given)
Run <plugin>/tool/update.dart and pass it the name of the cli, the currently installed plugin version, as well as the target version
The update.dartscript must be implemented by the plugin author. If possible, he can implement automatic migrations. If there are breaking changes without automatic fixes, information messages can be printed or thrown here.
Update the minimum constraint of the plugin dependency in the cli

Update check
How do we let the user know that an update for one of his plugins is available?
It would be nice to do an update check for a specific plugin only when a command of that plugin is run. However, I don't know how we can map the plugin which is currently being run to the plugin it comes from.
An easier way would be to do an update check for every installed plugin when running any command except the PluginsUpdateCommand.
But how do we know which plugins have been installed to the cli?

We could save the information in the sidekick section of pubspec.yaml. A list of all plugins which have been installed under sidekick: plugins: [...]. When installing a plugin, we add its entry to that list.
Read all direct dependencies from the cli's pubspec.yaml. Filter dependencies which themselves have a direct dependency on sidekick_plugin_installer - those are sidekick plugins.

Maybe a short addition it would be great to see which plugins are installed from the CLI
cm plugins list
> You have following plugins installed
> plugin_one
> plugin_two

Another idea is like a favorite plugins that will be visible. Something like:
cm plugins install
- [x] sidekick_vault - A short descritption
- [ ] dockerize_sidekick_plugin - A short description

You can find more relevant plugins here: https://pub.dev/packages?q=topic%3A+sidekick-plugin


crc32_combine failure in ZLIB_COMPAT mode

This is a follow-up to https://github.com/zlib-ng/zlib-ng/issues/1234 which is concerned with getting zlib-ng working with my Perl bindings for zlib, namely Compress::Raw::Zlib.
I've been playing with getting zlib-ng built in  ZLIB_COMPAT  working with a development copy of  my code (downstream issue for this work is https://github.com/pmqs/Compress-Raw-Zlib/issues/9).
I started by building zlib-ng from source  with ZLIB_COMPAT enabled. I think that is all I need to do to get a zlib-compatible library. Please shout if I need something else.
cmake -GNinja -DZLIB_COMPAT=ON  ..

That built fine.
Next step is to get  Compress::Raw::Zlib to use the zlib-ng library. That can be done as follows
$ ZLIB_LIB=/media/paul/Linux-Shared/base/git/zlib-ng/build ZLIB_INCLUDE=/media/paul/Linux-Shared/base/git/zlib-ng/build BUILD_ZLIB=0  perl5.32.1 Makefile.PL
Parsing config.in...
Auto Detect Gzip OS Code..
Setting Gzip OS Code to 3 [Unix/Default]
Looks Good.
Up/Downgrade not needed.
Generating a Unix-style Makefile
Writing Makefile for Compress::Raw::Zlib
Writing MYMETA.yml and MYMETA.json

First issue are some compiler warnings when I build the Perl bindings to zlib
$ make
Skip blib/lib/Compress/Raw/Zlib.pm (unchanged)
Running Mkbootstrap for Zlib ()
chmod 644 "Zlib.bs"
"/usr/bin/perl5.32.1" -MExtUtils::Command::MM -e 'cp_nonempty' -- Zlib.bs blib/arch/auto/Compress/Raw/Zlib/Zlib.bs 644
x86_64-linux-gnu-gcc -c  -I/media/paul/Linux-Shared/base/git/zlib-ng/build -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g   -DVERSION=\"2.103\" -DXS_VERSION=\"2.103\" -fPIC "-I/usr/lib/x86_64-linux-gnu/perl/5.32/CORE"  -DNO_VIZ -DZ_SOLO   -DGZIP_OS_CODE=3 -DUSE_PPPORT_H Zlib.c
In file included from Zlib.xs:758:
constants.h: In function ‘constant’:
constants.h:461:18: warning: assignment to ‘IV’ {aka ‘long int’} from ‘void *’ makes integer from pointer without a cast [-Wint-conversion]
  461 |       *iv_return = Z_NULL;
      |                  ^
In file included from Zlib.xs:34:
Zlib.xs: In function ‘XS_Compress__Raw__Zlib_crc32_combine’:
/media/paul/Linux-Shared/base/git/zlib-ng/build/zlib.h:1812:27: warning: implicit declaration of function ‘crc32_combine64’; did you mean ‘crc32_combine’? [-Wimplicit-function-declaration]
 1812 | #    define crc32_combine crc32_combine64
      |                           ^~~~~~~~~~~~~~~
/media/paul/Linux-Shared/base/git/zlib-ng/build/zlib.h:1812:27: note: in definition of macro ‘crc32_combine’
 1812 | #    define crc32_combine crc32_combine64
      |                           ^~~~~~~~~~~~~~~
Zlib.xs: In function ‘XS_Compress__Raw__Zlib_adler32_combine’:
/media/paul/Linux-Shared/base/git/zlib-ng/build/zlib.h:1811:29: warning: implicit declaration of function ‘adler32_combine64’; did you mean ‘adler32_combine’? [-Wimplicit-function-declaration]
 1811 | #    define adler32_combine adler32_combine64
      |                             ^~~~~~~~~~~~~~~~~
/media/paul/Linux-Shared/base/git/zlib-ng/build/zlib.h:1811:29: note: in definition of macro ‘adler32_combine’
 1811 | #    define adler32_combine adler32_combine64
      |                             ^~~~~~~~~~~~~~~~~
rm -f blib/arch/auto/Compress/Raw/Zlib/Zlib.so
LD_RUN_PATH="/media/paul/Linux-Shared/base/git/zlib-ng/build" x86_64-linux-gnu-gcc  -shared -L/usr/local/lib -fstack-protector-strong  Zlib.o  -o blib/arch/auto/Compress/Raw/Zlib/Zlib.so  \
   -L/media/paul/Linux-Shared/base/git/zlib-ng/build -lz   \

chmod 755 blib/arch/auto/Compress/Raw/Zlib/Zlib.so
Manifying 1 pod document

The warning about Z_NULL is my problem, but I think the others look like like issues in zlib-ng.
Next problem is the crc32_combine test fails in my test harness
$ make test
"/usr/bin/perl5.32.1" -MExtUtils::Command::MM -e 'cp_nonempty' -- Zlib.bs blib/arch/auto/Compress/Raw/Zlib/Zlib.bs 644
PERL_DL_NONLAZY=1 "/usr/bin/perl5.32.1" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/000prereq.t ...... # Running Perl version  5.032001
t/000prereq.t ...... 1/1 #
#
# perl                  5.032001
# Compress::Raw::Zlib   2.103
# zlib_version          1.2.11.zlib-ng
# ZLIB_VERNUM           0x12bf
# zlib-ng               Yes
#   ZLIBNG_VERSION      2.1.0.devel
#   ZLIBNG_VER_MAJOR    2
#   ZLIBNG_VER_MINOR    1
#   ZLIBNG_VER_REVISION 0
#   ZLIBNG_VER_STATUS   0
#   ZLIBNG_VER_MODIFIED 0
#   ZLIBNG_VERNUM       0x2010000
#
#
t/000prereq.t ...... ok
t/01version.t ...... ok
t/02zlib.t ......... 1/353
#     Failed test (t/02zlib.t at line 1097)
#          got: '18446744072013011631'
#     expected: '2598427311'
# Looks like you failed 1 test of 353.
t/02zlib.t ......... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/353 subtests
t/07bufsize.t ...... skipped: Lengthy Tests Disabled
t/09limitoutput.t .. ok
t/18lvalue.t ....... ok
t/19nonpv.t ........ ok
t/99pod.t .......... skipped: Test::Pod 1.00 required for testing POD
t/meta-json.t ...... skipped: Test::CPAN::Meta::JSON required for testing META.json
t/meta-yaml.t ...... skipped: Test::CPAN::Meta required for testing META.yml

Test Summary Report
-------------------
t/02zlib.t       (Wstat: 256 Tests: 353 Failed: 1)
  Failed test:  309
  Non-zero exit status: 1
Files=10, Tests=511,  1 wallclock secs ( 0.07 usr  0.01 sys +  0.59 cusr  0.09 csys =  0.76 CPU)
Result: FAIL
Failed 1/10 test programs. 1/511 subtests failed.
make: *** [Makefile:1054: test_dynamic] Error 255

This is the test that is failing
SKIP:
{
    title "crc32_combine";

   skip "crc32_combine needs zlib 1.2.3 or better, you have $Zlib_ver", 1
        if ZLIB_VERNUM() < 0x1230 ;

    my $first = "1234";
    my $second = "5678";

    my $crc1 = Compress::Raw::Zlib::crc32($first);
    my $crc2 = Compress::Raw::Zlib::crc32($second);

    my $composite_crc = Compress::Raw::Zlib::crc32($first . $second);

    my $combined_crc = Compress::Raw::Zlib::crc32_combine($crc1, $crc2, length $second);

    is $combined_crc, $composite_crc ;
}

I assume that crc32_combine  should work identically to the zlib version?
Interestingly the adle32_combine function didn't have a problem.

The crc32_combine difference is caused by sign extension. Basically it needs to clear higher 32-bits.
FFFFFFFF9AE0DAAF
000000009AE0DAAF

@pmqs Would you please test with PR #1263 and verify whether that fixes the problem?

@pmqs Would you please test with PR #1263 and verify whether that fixes the problem?

@Dead2  yes, that sorts the compiler warnings (apart from Z_NULL which I need to deal with at my end) and the test failure
$ make test
"/usr/bin/perl5.32.1" -MExtUtils::Command::MM -e 'cp_nonempty' -- Zlib.bs blib/arch/auto/Compress/Raw/Zlib/Zlib.bs 644
PERL_DL_NONLAZY=1 "/usr/bin/perl5.32.1" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/000prereq.t ...... # Running Perl version  5.032001
t/000prereq.t ...... 1/1 #
#
# perl                  5.032001
# Compress::Raw::Zlib   2.103
# zlib_version          1.2.11.zlib-ng
# ZLIB_VERNUM           0x12bf
# zlib-ng               Yes
#   ZLIBNG_VERSION      2.1.0.devel
#   ZLIBNG_VER_MAJOR    2
#   ZLIBNG_VER_MINOR    1
#   ZLIBNG_VER_REVISION 0
#   ZLIBNG_VER_STATUS   0
#   ZLIBNG_VER_MODIFIED 0
#   ZLIBNG_VERNUM       0x2010000
#
#
t/000prereq.t ...... ok
t/01version.t ...... ok
t/02zlib.t ......... ok
t/07bufsize.t ...... skipped: Lengthy Tests Disabled
t/09limitoutput.t .. ok
t/18lvalue.t ....... ok
t/19nonpv.t ........ ok
t/99pod.t .......... skipped: Test::Pod 1.00 required for testing POD
t/meta-json.t ...... skipped: Test::CPAN::Meta::JSON required for testing META.json
t/meta-yaml.t ...... skipped: Test::CPAN::Meta required for testing META.yml
All tests successful.
Files=10, Tests=511,  1 wallclock secs ( 0.07 usr  0.01 sys +  0.62 cusr  0.07 csys =  0.77 CPU)
Result: PASS


Close menu on mouseout

I've gone through the demo and doc on the project landing page several times, and looked at the component source, but haven't been able to determine how to have the menu close on a mouseout (i.e. when focus leaves the menu container).  The only ways I can find for the menu to close is via menu item selection or if there is a click somewhere outside the menu.  At this point I'm assuming it's not possible, so I am submitting a feature request.  Apologies if I'm missing something.  Thanks.

You're right, I'd need to refactor the code a bit to give you control over that.
The way I'd like allow for this feature is to use a single <ng-template> for the whole context menu contents instead of having the user provide a different <ng-template> for each context menu item.  That way you could simple put a (mouseout) listener on that item.  It would also remove the need for a lot of the config options that are there now.
divider, passive, enabled and visible would no longer be necessary.  menuClass and useBootstrap4 would be unnecessary as well.
Making sub menus work correctly might be a little tricky, but definitely possible.
I think I would keep all those config options in place as deprecated and the default template would make them function the way they do now, but any template override could ignore them.  I don't want to make an actual breaking change until I've figured out how to use schematics to automatically upgrade people.
Sorry for the long reply.  Just trying to share what I'm thinking.  I don't have a timeline on any of this.


Integration of HQS automatic backend selection

Is this something we want in sQUlearn rather than autoqml-lib?

Currently update the branch to current squlearn level

I hope that is now done


Adding integration with microsoft teams and fss

Hey Team,
Created a MS teams integration for C1-FSS,
I used the Slack integration code as Teams uses web hook similar with Slack.
Also added doc on how to deploy
Thanks,
Justin

Please also modify the commit message to follow Conventional Commits specification. A feat:  prefix would be enough.
Reference contribution guide.


Wire up the search box to do something

Currently when I enter a full street address and click "Search" I just get a message that says "Search text must be at least 4 character(s)."

@jagthedrummer I am unable to reproduce this in the latest versions of IE, Firefox, and Chrome. Are you using Safari?


fix: Exit and return success when posting CCAM limited support

Quick fix for a bug introduced with the refactor.
After putting a cluster in limited support for ccam there was no return statement, failing on a subsequent call to non existent aws.Client and failing the pipeline.
Now it should return nil when it put a cluster in ccam limited support and end the run correctly.

/retest

/retest

/retest

/retest


Navigation menu animation pop-in after the second hover

Open navigation menu demo
Hover over "Getting Started" dropdown to show the menu for the first time, works as expected
take mouse off the "Getting Started"
Hover once again over "Getting Started"
The menu slides in from the left or something
now Take mouse entirely off the menu
Hover over the second element, "Overview"
The previous "Getting started" menu is opened for a split second and the "Overview" pops in immediately, causing visual flash and jump

The popup slide-in animations should behave to avoid the visual "pop" effect.

This looks like it's a problem that's already present in the primitive:
https://kobalte.dev/docs/core/components/navigation-menu

fixed: https://github.com/kobaltedev/kobalte/pull/456


Make an embedable widget to help with adoption & contributions

Inspiration: https://www.buymeacoffee.com/
How it might work:

every campaign generates an embeddable widget
people can click on widget to go to the contributions page

Rationale:
I think a huge part of the UX is to enable fund recipients to growth hack their own campaigns. This is of course, not the only manifestation of that idea.

https://github.com/enabledao/enable/projects/1#card-27784840


Reenable expect test based test that fails on debian/arch

Test 0005 is failing, meaning it must be disabled, we need to understand why, but I can't reproduce the problem on my machine.
https://github.com/andrewchambers/janetsh/blob/master/test/cases/0005-tabcompletion
https://builds.sr.ht/~ach/job/62002
Temporarily disabling the test until we can work out what is wrong.
It is a very important test as interactive tests will be important in the future.
Easiest way to try it on your machine is to manually run ./support/ci.sh after removing the early exit in the test.

These tests have been replaced with a more reliable test.


In-view Optimizations

Adds off method to registries ( https://github.com/camwiegert/in-view/pull/63 )
Adds proxy to global check
Removes global options, allows individual options per selector. If selector exists with different options, it generates a new one instead of overriding it.
Adds support for Nodes and NodeList, modified from https://github.com/camwiegert/in-view/pull/41
Moves offset, threshold and test functions to override options on a registry.
Adds method to get a registry by selector name

Why hasn't this been merged yet? What a PITA! I'm trying to see if this is going to work with AJAX requests (doesn't seem to trigger on dynamic content), but the current build seems to be from 2 years ago :/

@youradds I agree. I recommend switching to https://github.com/aFarkas/lazysizes. It integrates the intersectionObserver API and MutationObserver too, so it just loads dynamic content. With in-view, you'd have to trigger a check right after.

@Ifre thanks - will check that now :)