[webview_flutter_android] Security Vulnerability: Unrestricted File Access in WebView for Android SDK Versions < 29

What package does this bug report belong to?
webview_flutter
What target platforms are you seeing this bug on?
Android
Have you already upgraded your packages?
Yes
Dependency versions
pubspec.lock
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
  _fe_analyzer_shared:
    dependency: transitive
    description:
      name: _fe_analyzer_shared
      sha256: f256b0c0ba6c7577c15e2e4e114755640a875e885099367bf6e012b19314c834
      url: "https://pub.dev"
    source: hosted
    version: "72.0.0"
  _macros:
    dependency: transitive
    description: dart
    source: sdk
    version: "0.3.2"
  analyzer:
    dependency: transitive
    description:
      name: analyzer
      sha256: b652861553cd3990d8ed361f7979dc6d7053a9ac8843fa73820ab68ce5410139
      url: "https://pub.dev"
    source: hosted
    version: "6.7.0"
  args:
    dependency: transitive
    description:
      name: args
      sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6
      url: "https://pub.dev"
    source: hosted
    version: "2.6.0"
  async:
    dependency: transitive
    description:
      name: async
      sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
      url: "https://pub.dev"
    source: hosted
    version: "2.11.0"
  boolean_selector:
    dependency: transitive
    description:
      name: boolean_selector
      sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.1"
  build:
    dependency: transitive
    description:
      name: build
      sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0"
      url: "https://pub.dev"
    source: hosted
    version: "2.4.1"
  build_config:
    dependency: transitive
    description:
      name: build_config
      sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1
      url: "https://pub.dev"
    source: hosted
    version: "1.1.1"
  build_daemon:
    dependency: transitive
    description:
      name: build_daemon
      sha256: "79b2aef6ac2ed00046867ed354c88778c9c0f029df8a20fe10b5436826721ef9"
      url: "https://pub.dev"
    source: hosted
    version: "4.0.2"
  build_resolvers:
    dependency: transitive
    description:
      name: build_resolvers
      sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a"
      url: "https://pub.dev"
    source: hosted
    version: "2.4.2"
  build_runner:
    dependency: "direct dev"
    description:
      name: build_runner
      sha256: "028819cfb90051c6b5440c7e574d1896f8037e3c96cf17aaeb054c9311cfbf4d"
      url: "https://pub.dev"
    source: hosted
    version: "2.4.13"
  build_runner_core:
    dependency: transitive
    description:
      name: build_runner_core
      sha256: f8126682b87a7282a339b871298cc12009cb67109cfa1614d6436fb0289193e0
      url: "https://pub.dev"
    source: hosted
    version: "7.3.2"
  built_collection:
    dependency: transitive
    description:
      name: built_collection
      sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100"
      url: "https://pub.dev"
    source: hosted
    version: "5.1.1"
  built_value:
    dependency: transitive
    description:
      name: built_value
      sha256: c7913a9737ee4007efedaffc968c049fd0f3d0e49109e778edc10de9426005cb
      url: "https://pub.dev"
    source: hosted
    version: "8.9.2"
  characters:
    dependency: transitive
    description:
      name: characters
      sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
      url: "https://pub.dev"
    source: hosted
    version: "1.3.0"
  checked_yaml:
    dependency: transitive
    description:
      name: checked_yaml
      sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff
      url: "https://pub.dev"
    source: hosted
    version: "2.0.3"
  clock:
    dependency: transitive
    description:
      name: clock
      sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
      url: "https://pub.dev"
    source: hosted
    version: "1.1.1"
  code_builder:
    dependency: transitive
    description:
      name: code_builder
      sha256: "0ec10bf4a89e4c613960bf1e8b42c64127021740fb21640c29c909826a5eea3e"
      url: "https://pub.dev"
    source: hosted
    version: "4.10.1"
  collection:
    dependency: transitive
    description:
      name: collection
      sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
      url: "https://pub.dev"
    source: hosted
    version: "1.18.0"
  convert:
    dependency: transitive
    description:
      name: convert
      sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68
      url: "https://pub.dev"
    source: hosted
    version: "3.1.2"
  crypto:
    dependency: transitive
    description:
      name: crypto
      sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855"
      url: "https://pub.dev"
    source: hosted
    version: "3.0.6"
  dart_style:
    dependency: transitive
    description:
      name: dart_style
      sha256: "7856d364b589d1f08986e140938578ed36ed948581fbc3bc9aef1805039ac5ab"
      url: "https://pub.dev"
    source: hosted
    version: "2.3.7"
  fake_async:
    dependency: transitive
    description:
      name: fake_async
      sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
      url: "https://pub.dev"
    source: hosted
    version: "1.3.1"
  file:
    dependency: transitive
    description:
      name: file
      sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4
      url: "https://pub.dev"
    source: hosted
    version: "7.0.1"
  fixnum:
    dependency: transitive
    description:
      name: fixnum
      sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be
      url: "https://pub.dev"
    source: hosted
    version: "1.1.1"
  flutter:
    dependency: "direct main"
    description: flutter
    source: sdk
    version: "0.0.0"
  flutter_test:
    dependency: "direct dev"
    description: flutter
    source: sdk
    version: "0.0.0"
  frontend_server_client:
    dependency: transitive
    description:
      name: frontend_server_client
      sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694
      url: "https://pub.dev"
    source: hosted
    version: "4.0.0"
  glob:
    dependency: transitive
    description:
      name: glob
      sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.2"
  graphs:
    dependency: transitive
    description:
      name: graphs
      sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0"
      url: "https://pub.dev"
    source: hosted
    version: "2.3.2"
  http_multi_server:
    dependency: transitive
    description:
      name: http_multi_server
      sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b"
      url: "https://pub.dev"
    source: hosted
    version: "3.2.1"
  http_parser:
    dependency: transitive
    description:
      name: http_parser
      sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b"
      url: "https://pub.dev"
    source: hosted
    version: "4.0.2"
  io:
    dependency: transitive
    description:
      name: io
      sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e"
      url: "https://pub.dev"
    source: hosted
    version: "1.0.4"
  js:
    dependency: transitive
    description:
      name: js
      sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf
      url: "https://pub.dev"
    source: hosted
    version: "0.7.1"
  json_annotation:
    dependency: transitive
    description:
      name: json_annotation
      sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1"
      url: "https://pub.dev"
    source: hosted
    version: "4.9.0"
  leak_tracker:
    dependency: transitive
    description:
      name: leak_tracker
      sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
      url: "https://pub.dev"
    source: hosted
    version: "10.0.5"
  leak_tracker_flutter_testing:
    dependency: transitive
    description:
      name: leak_tracker_flutter_testing
      sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
      url: "https://pub.dev"
    source: hosted
    version: "3.0.5"
  leak_tracker_testing:
    dependency: transitive
    description:
      name: leak_tracker_testing
      sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
      url: "https://pub.dev"
    source: hosted
    version: "3.0.1"
  logging:
    dependency: transitive
    description:
      name: logging
      sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61
      url: "https://pub.dev"
    source: hosted
    version: "1.3.0"
  macros:
    dependency: transitive
    description:
      name: macros
      sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536"
      url: "https://pub.dev"
    source: hosted
    version: "0.1.2-main.4"
  matcher:
    dependency: transitive
    description:
      name: matcher
      sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
      url: "https://pub.dev"
    source: hosted
    version: "0.12.16+1"
  material_color_utilities:
    dependency: transitive
    description:
      name: material_color_utilities
      sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
      url: "https://pub.dev"
    source: hosted
    version: "0.11.1"
  meta:
    dependency: transitive
    description:
      name: meta
      sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
      url: "https://pub.dev"
    source: hosted
    version: "1.15.0"
  mime:
    dependency: transitive
    description:
      name: mime
      sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6"
      url: "https://pub.dev"
    source: hosted
    version: "2.0.0"
  mockito:
    dependency: "direct dev"
    description:
      name: mockito
      sha256: "6841eed20a7befac0ce07df8116c8b8233ed1f4486a7647c7fc5a02ae6163917"
      url: "https://pub.dev"
    source: hosted
    version: "5.4.4"
  package_config:
    dependency: transitive
    description:
      name: package_config
      sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.0"
  path:
    dependency: transitive
    description:
      name: path
      sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
      url: "https://pub.dev"
    source: hosted
    version: "1.9.0"
  pigeon:
    dependency: "direct dev"
    description:
      name: pigeon
      sha256: c0cf1bb291913ed09a2960986608710b4a27d494822092f5d880d701153e9b72
      url: "https://pub.dev"
    source: hosted
    version: "22.6.4"
  plugin_platform_interface:
    dependency: transitive
    description:
      name: plugin_platform_interface
      sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.8"
  pool:
    dependency: transitive
    description:
      name: pool
      sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a"
      url: "https://pub.dev"
    source: hosted
    version: "1.5.1"
  pub_semver:
    dependency: transitive
    description:
      name: pub_semver
      sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.4"
  pubspec_parse:
    dependency: transitive
    description:
      name: pubspec_parse
      sha256: c799b721d79eb6ee6fa56f00c04b472dcd44a30d258fac2174a6ec57302678f8
      url: "https://pub.dev"
    source: hosted
    version: "1.3.0"
  shelf:
    dependency: transitive
    description:
      name: shelf
      sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4
      url: "https://pub.dev"
    source: hosted
    version: "1.4.1"
  shelf_web_socket:
    dependency: transitive
    description:
      name: shelf_web_socket
      sha256: cc36c297b52866d203dbf9332263c94becc2fe0ceaa9681d07b6ef9807023b67
      url: "https://pub.dev"
    source: hosted
    version: "2.0.1"
  sky_engine:
    dependency: transitive
    description: flutter
    source: sdk
    version: "0.0.99"
  source_gen:
    dependency: transitive
    description:
      name: source_gen
      sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832"
      url: "https://pub.dev"
    source: hosted
    version: "1.5.0"
  source_span:
    dependency: transitive
    description:
      name: source_span
      sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
      url: "https://pub.dev"
    source: hosted
    version: "1.10.0"
  stack_trace:
    dependency: transitive
    description:
      name: stack_trace
      sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
      url: "https://pub.dev"
    source: hosted
    version: "1.11.1"
  stream_channel:
    dependency: transitive
    description:
      name: stream_channel
      sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
      url: "https://pub.dev"
    source: hosted
    version: "2.1.2"
  stream_transform:
    dependency: transitive
    description:
      name: stream_transform
      sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.0"
  string_scanner:
    dependency: transitive
    description:
      name: string_scanner
      sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
      url: "https://pub.dev"
    source: hosted
    version: "1.2.0"
  term_glyph:
    dependency: transitive
    description:
      name: term_glyph
      sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
      url: "https://pub.dev"
    source: hosted
    version: "1.2.1"
  test_api:
    dependency: transitive
    description:
      name: test_api
      sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
      url: "https://pub.dev"
    source: hosted
    version: "0.7.2"
  timing:
    dependency: transitive
    description:
      name: timing
      sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32"
      url: "https://pub.dev"
    source: hosted
    version: "1.0.1"
  typed_data:
    dependency: transitive
    description:
      name: typed_data
      sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006
      url: "https://pub.dev"
    source: hosted
    version: "1.4.0"
  vector_math:
    dependency: transitive
    description:
      name: vector_math
      sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
      url: "https://pub.dev"
    source: hosted
    version: "2.1.4"
  vm_service:
    dependency: transitive
    description:
      name: vm_service
      sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d"
      url: "https://pub.dev"
    source: hosted
    version: "14.2.5"
  watcher:
    dependency: transitive
    description:
      name: watcher
      sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8"
      url: "https://pub.dev"
    source: hosted
    version: "1.1.0"
  web:
    dependency: transitive
    description:
      name: web
      sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb
      url: "https://pub.dev"
    source: hosted
    version: "1.1.0"
  web_socket:
    dependency: transitive
    description:
      name: web_socket
      sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83"
      url: "https://pub.dev"
    source: hosted
    version: "0.1.6"
  web_socket_channel:
    dependency: transitive
    description:
      name: web_socket_channel
      sha256: "9f187088ed104edd8662ca07af4b124465893caf063ba29758f97af57e61da8f"
      url: "https://pub.dev"
    source: hosted
    version: "3.0.1"
  webview_flutter_platform_interface:
    dependency: "direct main"
    description:
      name: webview_flutter_platform_interface
      sha256: d937581d6e558908d7ae3dc1989c4f87b786891ab47bb9df7de548a151779d8d
      url: "https://pub.dev"
    source: hosted
    version: "2.10.0"
  yaml:
    dependency: transitive
    description:
      name: yaml
      sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5"
      url: "https://pub.dev"
    source: hosted
    version: "3.1.2"
sdks:
  dart: ">=3.5.0 <4.0.0"
  flutter: ">=3.24.0"

Steps to reproduce

Create a WebViewWidget instance using the AndroidWebViewController in an Android app targeting SDK version <= 29.
Attempt to configure file access settings via the available controller methods.
Observe that access to directly modify _webView.settings or utilize setAllowFileAccess is not exposed through the AndroidWebViewController.

Expected results
File access should be manageable through accessible methods in AndroidWebViewController. The default should restrict unauthorized file access.
Applications (with Android apps targeting SDK version <= 29) using this configuration without adjustment may be susceptible to unintended file access, which could be exploited for unauthorized data retrieval.
Actual results
Developers are unable to explicitly set or manage file access configurations due to the protected nature of _webView.settings, limiting direct access to setAllowFileAccess.
Code sample
Code sample
Unfortunately, a precise code sample demonstrating this issue cannot be provided due to the encapsulated nature of access controls within `AndroidWebViewController`. The current API does not directly expose the settings needed to adjust file access permissions.

Screenshots or Videos
No response
Logs
No response
Flutter Doctor output
Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.24.3, on macOS 15.1.1 24B91 darwin-arm64, locale
    en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 16.0)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2024.2)
[✓] IntelliJ IDEA Ultimate Edition (version 2024.3)
[✓] VS Code (version 1.95.3)
[✓] Connected device (5 available)
[✓] Network resources

• No issues found!

Thanks for the report and potential fix. I see that in your fix, you have set setAllowFileAccess to false.
In this issue, for Android sdk >=30, the solution was to set it to true. Just posting here for reference.

In this issue, for Android sdk >=30, the solution was to set it to true. Just posting here for reference.

We set it to true only when someone explicitly calls loadFile, so we aren't changing the default security profile.

Applications (with Android apps targeting SDK version <= 29) using this configuration without adjustment may be susceptible to unintended file access

Capturing from the PR discussion: while this, and the official documentation sound like this is a targetSdk-controlled behavior, it is apparently actually a runtime behavior, affecting apps running on <=29 regardless of the build-time settings.

Retitling to reflect that this is not a security vulnerability; webview_flutter is a wrapper, and a wrapper that simply does not change OS default behavior does not constitute a security vulnerability. We should expose the API to allow application developers to choose to improve security by following the WebView documentation guidance, however.


fix: Ensure new flowchart nodes match properties of the starting node

This update ensures that new flowchart nodes created in the application match the properties of the starting node. By introducing a utility function for node creation, we maintain consistency in attributes such as dimensions, styling, and opacity across all flowchart nodes.
This improvement enhances the visual integrity of flowcharts and ensures that the behavior of new nodes is predictable.
Fixes: #8672
Ensures new flowchart nodes maintain consistent properties with the starting node, improving visual coherence.

https://github.com/user-attachments/assets/5bcb434a-7d56-4096-98ea-439026f081e0

@Mrazator @dwelle This PR addresses the issue where newly created flowchart nodes didn't match the properties of the starting node. I've added a utility function to streamline node creation, ensuring consistent dimensions, styles, and other attributes like opacity and stroke. This should enhance the overall experience by keeping all nodes visually and functionally aligned with the original.


[connectors] Make cluster/database and datasource/table read-only in views

In the CRUD views the cluster/database and datasource/table are required in the forms to ensure that either an added or edited entity is correctly assigned to the parent. This value is normally left blank however it does provide the ability for the user to re-assign (possibly without intent) an entity to another parent which is undesirable.
@mistercrunch ideally it would be great to simply hide these fields from the views, however this doesn't seem to be possible. The only viable solution I am aware of is simply to make the fields read-only per the suggestion outlined here.
Edit

Add
Note for adding we allow blanks otherwise the default displayed value is ill-defined entity even though the entity is correctly parented.

to: @graceguo-supercat @michellethomas @mistercrunch @xtinec

Codecov Report

Merging #7073 into master will increase coverage by 0.02%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master   #7073      +/-   ##
=========================================
+ Coverage   64.48%   64.5%   +0.02%
=========================================
  Files         421     421
  Lines       20547   20561      +14
  Branches     2250    2250
=========================================
+ Hits        13249   13263      +14
  Misses       7171    7171
  Partials      127     127

Impacted Files
Coverage Δ

superset/connectors/druid/views.py
67.74% <100%> (+1.52%)
:arrow_up:

superset/connectors/sqla/views.py
65.28% <100%> (+2.13%)
: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 30f88ca...ae13516. Read the comment docs.

I struggle with this in the past, seemed like an odd FAB requirement/bug. @dpgaspar may have some input/pointers as to how to fix this in FAB.

Hi @john-bodley, @mistercrunch
This seems to be nicely done. The readonly field gives some context to the users, and prevents mistakes.
I've removed the database field from the edit fields on TableModelView without problems.
The problem is with the related view CompactCRUDMixin on master detail (Table->Metrics or Table-Columns), showing a blank on the table field. This is working fine for the edit but seems strange when adding, right?

Personally all I remember is issues with the Inline elements on add and/or edit when the "parent" field is missing. In the example above it would be metrics and columns edit need to have the table field or they won't get attach to the table in their context.
Knowing it's an Inline, we probably should not even allow to alter the link to the parent.
Keep in mind now I think those are the last FAB Inline used in Superset I think, and we're moving away from this particular for as I've re-written the TableEditor in React.
Maybe the real action item here is deprecating the CRUD view for Tables. For that, we need to build our own CRUD list view.

Yes, probably the best plan of action. My two cents would be to implement it using React components backed by the "new" CRUD REST API.

@dpgaspar @mistercrunch is there any additional changes you are requesting from this PR?


Set up sections

Add a main element to the HTML body, and structure it with 4 section elements.

[ ]  Landing section with a class attribute of "hero"

[ ] Demo section with a class of "demo"

[ ] halogen UI section with a class of "app"

[ ] Color palette carousel section with a class of "palettes"

Note that no actual content needs to be added to these sections, this is just to layout the general structure within the  main element.

I can take this

I can take this


Bug: client: filesystem: write from action should not run if action not chosen

User intended to invoke actions.two through dagger do two and was surprised that actions.one was triggered by the fact that a client: filesystem: write: used actions.one's output.
They figured anything not related to the requested action would not run. In other words, they felt that anything related to actions.one would only execute if they asked for dagger do one.
https://discord.com/channels/707636530424053791/709803368318632038/1005489427797266516
package main

import (
  "dagger.io/dagger"
  "universe.dagger.io/docker"
  "dagger.io/dagger/core"
)

_#def
_#def: dagger.#Plan & {
  client: {
    filesystem: {
      folders: {
        read: {
          contents: dagger.#FS
        }
        write: {
          contents: actions.one.folders.output
        }
      }
    }
  }
  actions: {
    one: {
      build: docker.#Build & {
        steps: [docker.#Pull & {
          source: "alpine"
        }, docker.#Copy & {
          dest:     "/tmp/folders"
          contents: client.filesystem.folders.read.contents
        }, docker.#Run & {
          command: {
            name: "touch"
            args: ["/tmp/folders/test"]
          }
        }]
      }
      folders: core.#Subdir & {
        input: build.output.rootfs
        path:  "/tmp/folders"
      }
    }
    two: {
      build: docker.#Build & {
        steps: [docker.#Pull & {
          source: "alpine"
        }, docker.#Copy & {
          dest:     "/tmp/folders"
          contents: client.filesystem.folders.read.contents
        }]
      }
    }
  }
}

The "solution" at the moment is to use an environment variable or another action with a bool in it with default set to false. With an if guard around the client: filesystem: write one can use a --with on the command line to include the client bit in the plan.
dagger.#Plan & {
    client: {
      if actions.optional != false {
        filesystem: ....
      }
    }
    actions: {
        optional: bool | *false
    }
}

User asked if a file or FS tree under client could be set at optional or inactive by default like one can with client: env
package main
import (
    "dagger.io/dagger"
    "universe.dagger.io/docker"
)

dagger.#Plan & {
    client: env: {
        // load as a string, using a default if not defined
        REGISTRY_USER: string | *"_token_"
        // load as a secret, but don't fail if not defined
        REGISTRY_TOKEN?: dagger.#Secret
    }

    actions: pull: docker.#Pull & {
        source: "registry.example.com/image"
        if client.env.REGISTRY_TOKEN != _|_ {
            auth: {
                username: client.env.REGISTRY_USER
                secret:   client.env.REGISTRY_TOKEN
            }
        }
    }
}

from https://docs.dagger.io/1203/client#environment-variables
Originally posted by @jpadams in https://github.com/dagger/dagger/issues/2470#issuecomment-1207444647

Just to help understand what's happening, this is a unique condition where if two read and write actions are defined for the same filesystem path, a forced dependency is created to make sure read always happens before write. This was to fix #1581:
https://github.com/dagger/dagger/blob/c3ac7a18e590cd715b4f3613bc5ca0344c09f506/pkg/dagger.io/dagger/plan.cue#L19-L23
You can go around it by choosing different filesystem keys and setting their path:
dagger.#Plan & {
	client: {
		filesystem: {
			source: read: {
				contents: dagger.#FS
				path:     "folders"
			}
			output: write: {
				contents: actions.one.folders.output
				path:     "folders"
			}
		}
	}

So it works as designed for one use case (target action doing both read and write), but is confusing in another (target action only doing one read/write, when defined as a pair).


[3.1.2] Replaced Long.parseLong with BigInteger.longValue

Long.toHexString produces 2-complement format for negative values and cannot be used securely with Long.parseLong(16) which cannot process 2-complement and expects a weird optional negative sign in front of a hex value. These two should never be used together, and ideally parseLong(16) should not be used at all, unless in a strictly bounded context. RPtr is used to store memory pointers and on 64-bit devices it is not bounded in any way and values can occupy the entire range of 64 long bits.

Published<EMAIL_ADDRESS>

Release: https://github.com/Emurgo/react-native-haskell-shelley/releases/tag/3.1.2


Expire header fix

Expire header can be an empty string, without this fix exception will be throw later on Invalid expires time specified

:+1: IMO :)
Can you submit this PR in its repository?
https://github.com/zendframework/zend-http
Thanks a lot!

Ok

Please add a unittest, because it is missing at this moment.

@gianarb closed in favor of PR above
@Martin-P will consider adding test case if needed later


Documentation still uses profiles.json and global object

In line 1 of SettingsSchema.md,
# Profiles.json Documentation

should be fixed to
# Settings.json Documentation

In line 49~50 of UsingJsonSettings.md,
These global properties can exist either in the root json object, or in an
object under a root property `"globals"`.

should be fixed to
These global properties can exist in the root json object.

You're not wrong


Parents info on the participant's details

There is no info on the parents when we just "view" the participant.
We need to click on modify to see the parents names and surnames, is it normal?
Every other info is visible before asking to modify the participants infos.

[ ] Add parent name-surname in record_id template
[ ] Pass parent name-surname as data in prepare_participants function


Flutter

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[ ] Have you tested your manifest locally with winget install --manifest <path>?
[X] Does your manifest conform to the 1.5 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Install gave error from my tests because of malwares found (but windows defender does not find any).
Not sure if everything is correct.
This solves https://github.com/microsoft/winget-pkgs/issues/95594, https://github.com/microsoft/winget-pkgs/issues/18414 and https://github.com/flutter/flutter/issues/57674
Microsoft Reviewers: Open in CodeFlow

@microsoft-github-policy-service agree

I think I've done what was necessary, I do not know why validation is failing

Automatic Validation ended with:

Installation failed with exit code -1978335141

Manual Validation ended with:

2023-11-22 10:45:51.436 [CLI ] Unable to locate nested installer at: C:\Users\User\AppData\Local\Temp\WinGet\Google.Flutter.3.13.9\extracted\flutter\bin\dart.exe

Apparently the file doesn't have an EXE extension in the ZIP folder.

Well, that was obvious... sorry. Didn't notice that.

Automatic Validation ended with:

An error occurred trying to start process 'C:\Users\validator\AppData\Local\Microsoft\WinGet\Links\flutter.exe' with working directory 'D:\TOOLS'. The specified executable is not a valid application for this OS platform.

@wingetbot waivers Add Validation-Executable-Error

what is the status of this package? It produces a not 64bit package error for flutter when run.

I'am not an expert, but there is no error on my side with flutter create my_app and flutter run for browser.

Seems like this was deleted in https://github.com/microsoft/winget-pkgs/pull/131091


To inject http repositories into all services and integrations.

At the moment, the services and integrations were using the concrete class rather than interface.  It should be changed to use interface instead

An example of the change
https://github.com/nemtech/nem2-sdk-typescript-javascript/pull/380/commits/3f950ba44d6f21b9d8d70a4f201f82d913896388#diff-7c3513151c4050e9fcc3c044925b201bL44


update delete functionality

Description

Fixes #116

Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings
[x] New and existing unit tests pass locally with my changes
[x] I have maintained a clean commit history by using the necessary Git commands
[x] I have checked that my code does not cause any merge conflicts

Screenshots (if applicable)

I had made the changes in delete functionality to make it properly work.
@theashikagupta  @yashmandi

Add screen recording @VivekShahare04

@VivekShahare04 any updates?

@yashmandi  I already changed the functionality and already made a pull request please check it .
actually my local server is not working due to some system issue so, i am attaching updated code recording please look into it.
https://github.com/user-attachments/assets/09356eb5-58d0-4e2f-8d67-b13f95415f3f
@theashikagupta added screen recording of changed code.

contritbutor inactive, hence closing


Made examples a package

@ahmetalpbalkan This should fix the CI build.
Signed-off-by: Brendan Dixon<EMAIL_ADDRESS>

Hi @brendandixon, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

Lgtm. Feel free to merge once you fix the comment above if it makes sense. Log.fatal is mode idiomatic although it doesnt give the same execution flow.

Also spotted some struct initializations in storage example where you could have used struct initializer instead of assignment.  Point me to specifics and I'll fix later.

Just search for {} in storage.go

@ahmetalpbalkan Yah, right. Searching for {} returns all those interfaces as well. :) I'll find / fix later.

You have interfaces in arm/examples?

@ahmetalpbalkan Oh, I thought you meant in arm generally. No worries. I'll fix them.


Autopilot CSV file lists PKID field

The later MS Autopilot PowerShell scripts and the MS OEM Autopilot documentation do not include the PKID.
There should be a note on this page that the PKID (Windows Product ID) is deprecated and is not recommended.
This is causing some customer confusion when they insist data is missing.
Please update the associated documentation.
We have previously asked and some web facing documents were updated, but apparently not this one.
Thank you,
<EMAIL_ADDRESS>
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: e26d3ae8-ca76-7931-4ed1-191c5f2c1bd2
Version Independent ID: 0f149a35-4e08-ccfb-8281-7afc7cf1c170
Content: Device list CSV-file
Content Source: Office365-Admin/misc/device-list.md
Service: o365-administration
GitHub Login: @Sirkkuw
Microsoft Alias: sirkkuw

@dugatlin I have updated the topic.

@dugatlin  Thank you for this.


A new language :) Brazil

Interesting app, could you add the Brazilian Portuguese language? thanks

Ok, I will add the langauge in next update ;)


Module level directives cause errors when bundled, "use client" in "node_modules/.pnpm/@tanstack+react-query<EMAIL_ADDRESS>was ignored.

Describe the bug
in vite4

Your minimal, reproducible example
build error
Steps to reproduce
pnpm run build
Expected behavior
wu
How often does this bug happen?
None
Screenshots or Videos
No response
Platform
node build
Tanstack Query adapter
None
TanStack Query version
4.28
TypeScript version
No response
Additional context
No response

Why was this closed? I am also seeing this error:
vite v4.2.1 building for e2e...
transforming (38<EMAIL_ADDRESS>level directives cause errors when bundled, "use client" in<EMAIL_ADDRESS>was ignored.
transforming (68<EMAIL_ADDRESS>level directives cause errors when bundled, "use client" in<EMAIL_ADDRESS>was ignored.
Module level directives cause errors when bundled, "use client" in<EMAIL_ADDRESS>was ignored.
[...]

Both Vite and Tanstack query are up to date.


Cherry pick: Make test_handle_time more stable (#3821)

Signed-off-by: Breezewish<EMAIL_ADDRESS>
What have you changed? (mandatory)
This PR cherry picks #3821 to release-2.1 branch.
Fix https://github.com/tikv/tikv/issues/4247

/run-all-tests tidb=release-2.1 pd=release-2.1 tidb-test=release-2.1 tidb-private-test=release-2.1

/run-all-tests tidb=release-2.1 pd=release-2.1 tidb-test=release-2.1 tidb-private-test=release-2.1


Permission to libdns/nicrudns

Hi!
Some time ago I have contributed (https://github.com/libdns/libdns/pull/68) nic.ru DNS API, you have created repo https://github.com/libdns/nicrudns , but I ahve not permission for publish:
$ git push origin master
ERROR: Permission to libdns/nicrudns.git denied to maetx777.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Can u help me? What I am doing wrong?

You have already been invited to the repo, you just need to accept the invitation.

I saw your other comments here and here. Sorry for the delay, but please be patient while I am sick with covid. I have been trying to rest a lot.


Deployment failed

I am trying to deploy marbles chaincode using ibm-blockchain-js.
Here is my Code:
// Starting out by requiring all dependancies
var Ibc = require ('ibm-blockchain-js');
 var ibc = new Ibc();
// Then define new instances that will be needed

var chaincode = {};

// configure ibc-js sdk by defining options
var options = {
    network:{
      peers: [{
        "api_host": "xxxxxxxxxxxxxxx",
        "api_port": 444,
        "api_port_tls": 444,
        "id": "xxxxxx",
        "api_url": "http://xxxxxx.us.blockchain.ibm.com:444"
      }],
      usrers: [{
        "username": "user_type1_0",
        "secret": "xxxxx",
        "enrollId": "user_type1_0",
        "enrollSecret": "xxxxxxx"
      }],
      options:{
        quiet: false,
        timeout: 60000
      }
    },
    chaincode:{
            zip_url: 'https://github.com/ibm-blockchain/marbles-chaincode/archive/master.zip',
            unzip_dir: 'marbles-chaincode-master/part2',
            git_url: 'https://github.com/ibm-blockchain/marbles-chaincode/part2',
            deployed_name: null
        },
  };

// Load the Marbles2 chaincode, with defined options, and return call-back-when-ready function.
ibc.load(options, cb_ready);

// Define the call-back-when-ready function returned above
// call-back-when-ready function has err
function cb_ready(err, cc){
	//response has chaincode functions
  //app1.setup(ibc, cc);
  //app2.setup(ibc, cc);
	// if the deployed name is blank, then chaincode has not been deployed
	if(cc.details.deployed_name === null){
        cc.deploy('init', ['99'], {save_path: './cc_summaries', delay_ms: 60000}, cb_deployed);
  	}
  	else{
  		console.log('chaincode summary file indicates chaincode has been previously deployed');
      cb_deployed();
	}
}
// Step 5 ==================================
    function cb_deployed(err){
        console.log('sdk has deployed code and waited');
        //chaincode.query.read(['a']);
    }

When I try to execute I got the deployment error 400. Here is my logs looks like:
[ibc-js] Peer:  864acfab0a734673a4f99844a8b02129-vp0-864acfab0a73...:444
[ibc-js] No membership users found after filtering, assuming this is a network w/o membership
[ibc-js] removing temp dir
[ibc-js] Downloading zip
redirect... https://codeload.github.com/IBM-Blockchain/marbles-chaincode/zip/master
[ibc-js] Downloading zip
[ibc-js] Unzipping zip
[ibc-js] Unzip done
[ibc-js] Scanning files [ 'part2_chaincode.go' ]
[ibc-js] Parsing file for shim version
[ibc-js] Found shim version: github.com/openblockchain/obc-peer/openchain/chaincode/shim
[ibc-js] Parsing file for invoke functions - part2_chaincode.go
[ibc-js] Found cc invoke function:  init
[ibc-js] Found cc invoke function:  delete
[ibc-js] Found cc invoke function:  write
[ibc-js] Found cc invoke function:  init_marble
[ibc-js] Found cc invoke function:  set_user
[ibc-js] Found cc invoke function:  open_trade
[ibc-js] Found cc invoke function:  perform_trade
[ibc-js] Found cc invoke function:  remove_trade
[ibc-js] Parsing file for query functions - part2_chaincode.go
[ibc-js] Found cc query function:  read
[ibc-js] load_chaincode() finished
[ibc-js] Deploy Chaincode - Starting
[ibc-js] 	function: init , arg: [ '99' ]
 Waiting...

[https POST - z] /devops/deploy
body: {"type":"GOLANG","chaincodeID":{"path":"https://github.com/ibm-blockchain/marbles-chaincode/part2"},"ctorMsg":{"function":"init","args":["99"]}}
[https POST - z] Status code: 400
[https POST - z] Error - status code: 400 {"Error": "Must supply username for chaincode when security is enabled."}
[ibc-js] deploy - failure: 400
Any Help would be helpful. Thanks in advance.

looks like you using a Bluemix network is that correct?
does your code literally have these x's:

you will need to edit that following: configure the sdk for your blockchain network

Yes, I am using bluemix network.
I dont have xxxx values, I just replaced my original values with xxx in code snippet above.
My actual code has:
peers: [{
"api_host": "864acfab0a734673a4f99844a8b02129-vp0.us.blockchain.ibm.com",
"api_port": 444,
"api_port_tls": 444,
"id": "864acfab0a734673a4f99844a8b02129-vp0",
"api_url": "http://864acfab0a734673a4f99844a8b02129-vp0.us.blockchain.ibm.com:444"
}],

ha ok had to make sure.
so looking closer at your logs this line is bad:
[ibc-js] Found shim version: github.com/openblockchain/obc-peer/openchain/chaincode/shim
nobody should be using obc-peer based shim anymore, its months old.  looking at your options.chaincode field is the cause of the problem.  change it to:
chaincode:{
			zip_url: 'https://github.com/ibm-blockchain/marbles/archive/v1.0.zip',
			unzip_dir: 'marbles-1.0/chaincode/part2',
			git_url: 'http://gopkg.in/ibm-blockchain/marbles.v1/chaincode/part2',
}

I have made those changes: Now logs looks like:
[ibc-js] Peer:  864acfab0a734673a4f99844a8b02129-vp0-864acfab0a73...:444
[ibc-js] No membership users found after filtering, assuming this is a network w/o membership
[ibc-js] removing temp dir
[ibc-js] Downloading zip
redirect... https://codeload.github.com/IBM-Blockchain/marbles/zip/v1.0
[ibc-js] Downloading zip
[ibc-js] Unzipping zip
[ibc-js] Unzip done
[ibc-js] Scanning files [ 'part2_chaincode.go' ]
[ibc-js] Parsing file for shim version
[ibc-js] Found shim version: github.com/hyperledger/fabric/core/chaincode/shim
[ibc-js] Parsing file for invoke functions - part2_chaincode.go
[ibc-js] Found cc invoke function:  init
[ibc-js] Found cc invoke function:  delete
[ibc-js] Found cc invoke function:  write
[ibc-js] Found cc invoke function:  init_marble
[ibc-js] Found cc invoke function:  set_user
[ibc-js] Found cc invoke function:  open_trade
[ibc-js] Found cc invoke function:  perform_trade
[ibc-js] Found cc invoke function:  remove_trade
[ibc-js] Parsing file for query functions - part2_chaincode.go
[ibc-js] Found cc query function:  read
[ibc-js] load_chaincode() finished
[ibc-js] Deploy Chaincode - Starting
[ibc-js] 	function: init , arg: [ '99' ]
 Waiting...

[https POST - r] /chaincode
body: {"jsonrpc":"2.0","method":"deploy","params":{"type":1,"chaincodeID":{"path":"http://gopkg.in/ibm-blockchain/marbles.v1/chaincode/part2"},"ctorMsg":{"function":"init","args":["99"]}},"id":1478546709432}
[https POST - r] Status code: 200
 deploy resp error - there is no chaincode hash name in response: { jsonrpc: '2.0',

error:
{ code: -32602,
message: 'Invalid params',
data: 'Must supply username for chaincode when security is enabled.' },
id:<PHONE_NUMBER>432 }

ok so next problematci log line is:
[ibc-js] No membership users found after filtering, assuming this is a network w/o membership

you are likely using ibc v1.2.8 which has a filter_users() function that will remove enroll Ids from your mycreds.json file that do not contain type1 in their name. this function was removed in v1.3.0, you could upgrade to ibc v1.3.0 and see if that gets you further... but i'm concerned as to why it didn't find any type1 enrollIds in your list.
double check your options.network.users array.

I have upgraded to the 1.3.0 version but having the same issue.
I have the valis users values, I can deploy the same chaincode with these user credentials through blockchain UI, But not using nodejs sdk.
logs now looks like:
ibc-js] Peer:  864acfab0a734673a4f99844a8b02129-vp0-864acfab0a73...:444
[ibc-js] No membership users found, assuming this is a network w/o membership
[ibc-js] removing temp dir
[ibc-js] Downloading zip
redirect... https://codeload.github.com/IBM-Blockchain/marbles/zip/v1.0
[ibc-js] Downloading zip
[ibc-js] Unzipping zip
[ibc-js] Unzip done
[ibc-js] Scanning files [ 'part2_chaincode.go' ]
[ibc-js] Parsing file for shim version
[ibc-js] Found shim version: github.com/hyperledger/fabric/core/chaincode/shim
[ibc-js] Parsing file for invoke functions - part2_chaincode.go
[ibc-js] Found cc invoke function:  init
[ibc-js] Found cc invoke function:  delete
[ibc-js] Found cc invoke function:  write
[ibc-js] Found cc invoke function:  init_marble
[ibc-js] Found cc invoke function:  set_user
[ibc-js] Found cc invoke function:  open_trade
[ibc-js] Found cc invoke function:  perform_trade
[ibc-js] Found cc invoke function:  remove_trade
[ibc-js] Parsing file for query functions - part2_chaincode.go
[ibc-js] Found cc query function:  read
[ibc-js] load_chaincode() finished
[ibc-js] Deploy Chaincode - Starting
[ibc-js] 	function: init , arg: [ '99' ]
 Waiting...

[https POST - b] /chaincode
body: {"jsonrpc":"2.0","method":"deploy","params":{"type":1,"chaincodeID":{"path":"http://gopkg.in/ibm-blockchain/marbles.v1/chaincode/part2"},"ctorMsg":{"function":"init","args":["99"]}},"id":1478548790829}
[https POST - b] Status code: 200
 deploy resp error - there is no chaincode hash name in response: { jsonrpc: '2.0',

error:
{ code: -32602,
message: 'Invalid params',
data: 'Must supply username for chaincode when security is enabled.' },
id:<PHONE_NUMBER>829 }

any update?

I don't know the reason but, I have changed my user to credentials to user_type1_1. Then run the deploy code and looks like it is working fine.
Example app listening at localhost:8081
info: [ibc-js] Peer:  864acfab0a734673a4f99844a8b02129-vp0-864acfab0a73...:444
info: [ibc-js] Registering  864acfab0a734673a4f99844a8b02129-vp0-864acfab0a73...:444  w/enrollId - user_type1_1
info: [ibc-js] Registration success x1 : user_type1_1
info: [ibc-js] removing temp dir
info: [ibc-js] Downloading zip
info: redirect... https://codeload.github.com/maruthidonthi/AssetTransfer/zip/master
info: [ibc-js] Downloading zip
info: [ibc-js] Unzipping zip
info: [ibc-js] Unzip done
info: [ibc-js] Scanning files 0=README.md, 1=chaincode.go
info: [ibc-js] Parsing file for shim version
info: [ibc-js] Found shim version: github.com/hyperledger/fabric/core/chaincode/shim
info: [ibc-js] Parsing file for invoke functions - chaincode.go
info: [ibc-js] Parsing file for query functions - chaincode.go
warn: ! [ibc-js] Warning - did not find any invoke functions in chaincode's "Invoke()", building a generic "invoke"
info: [ibc-js] Found cc invoke function:  invoke
warn: ! [ibc-js] Warning - did not find any query functions in chaincode's "Query()", building a generic "query"
info: [ibc-js] Found cc query function:  query
info: [ibc-js] load_chaincode() finished
info: [ibc-js] Deploy Chaincode - Starting
info: [ibc-js] 	function: Init , arg: 0=80
info:
 Waiting...

info:
 deploy success [waiting another 45 seconds]

info: 	 c43f457b07c5ac1e91df98b6b794f6d67310c839d884b28d6b4a646b712678348e1e70150a92804d0843da93b322e87ce93fc1326e26ab2dbd1783361b4b4afd
info: [ibc-js] Deploy Chaincode - Complete


Move release process in CI only

Let's not have to execute reveranymore locally.
Probably backport to molfeat as well once done.

Done with https://github.com/datamol-io/datamol/blob/34a79e7018215bb1fda7e537081dc05e93ffdb9d/.github/workflows/release.yml and https://github.com/datamol-io/datamol/blob/34a79e7018215bb1fda7e537081dc05e93ffdb9d/rever.xsh
I will backport it to molfeat.


Sort events by starting time. Fixes #172

Description
Sort events by starting time
Type of change
Please select everything applicable. Please, do not delete any lines.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Issue

[x] Is this related to a specific issue? Is so please specify: #172

Checklist:

[x] I have executed npm run lint and resolved any outstanding errors. Most issues can be solved by executing npm run format
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings

Just curious. Why the spread operator? Would this work without it?

From what I read, it's a bad practice to mutate state or props directly. Although it works without spread

@Caleb-Cohen there's no downside to using the spread operator here instead of .split(), just personal preference.
@romanstetsyk agreed, it's a good call to copy instead of mutate here.


OrderingType is not converted to string during query execution

Hello
Here is a minimalist code that reproduces the issue:
from pyravendb.store import document_store
from pyravendb.data.query import OrderingType

store = document_store.DocumentStore(urls=['http://<IP_ADDRESS>:8080'], database='my_database')
store.initialize()

with store.open_session() as session:
    query = session.query(collection_name='flowrates').order_by_descending('flow_rate', ordering=" AS long").take(1)
    results = list(query)
    print(results)

with store.open_session() as session:
    query = session.query(collection_name='flowrates').order_by_descending('flow_rate', ordering=OrderingType.long).take(1)
    results = list(query)
    print(results)

The query is successful while the second raises an exception:
Traceback (most recent call last):
  File "D:\gitlab\minimalist.py", line 14, in <module>
    results = list(query)
  File "C:\Users\me\AppData\Local\Programs\Python\Python39\lib\site-packages\pyravendb\store\session_query.py", line 101, in __iter__
    return iter(self._execute_query())
  File "C:\Users\me\AppData\Local\Programs\Python\Python39\lib\site-packages\pyravendb\store\session_query.py", line 781, in _execute_query
    query = self._build_query()
  File "C:\Users\me\AppData\Local\Programs\Python\Python39\lib\site-packages\pyravendb\store\session_query.py", line 137, in _build_query
    return "".join(query_builder)
TypeError: sequence item 4: expected str instance, OrderingType found

Here is a patch that solves the issue:

Is this really a bug or am I using the API incorrectly?
More details about my environment:
> python --version
Python 3.9.2
> pip list | grep raven
pyravendb                    <IP_ADDRESS>

I am running Windows 10.

Thanks for creating this issue @Bktero, you are using the API correctly.
We've fixed this bug and released a new version of the 5.0 client (<IP_ADDRESS>) available on PyPI :>

This solves the issue. Great! :)


Is it possible to query only with selected elements of the vector?

For example, find items similar to the the first n elements of the vector, ignoring the others.
Thanks!

Yes, it is possible and should work (to some extent).
You can do it with the C++ interface by defining a new space, which has a switch for changing the effective vector length. Or, alternatively, just alter *dist_func_param_ (which is the dimensionality of the L2 and cosine spaces passed to distance function) between the insertions and queries.

Thanks for the suggestion!


Add "Camera Move Relative" event

Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Adds "Camera Move Relative" event.

What is the current behavior? (You can also link to an open issue here)
There is currently no way to move the camera relative like you can with actors.

What is the new behavior (if this is a feature change)?
Adds in a way to move the camera relative.

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
None that I am aware of.

Other information:
This requires pull request 147 of GBVM, as I am unaware of any other way to get the camera position without adding a vm_camera_get_pos command.

Closing as it is out of date. May consider resubmitting in the future.


Add skeleton of test_upgrade_with_auto_upgrade_latest_engine_enabled()

Signed-off-by: Chris Chien<EMAIL_ADDRESS>https://github.com/longhorn/longhorn/issues/4726
https://github.com/longhorn/longhorn/issues/4730
Add skeleton of test_upgrade_with_auto_upgrade_latest_engine_enabled

Suggest removing the () in the commit message and adding a reference to the issue so its easier to track.

Hi @khushboo-rancher ,
Yes I will add those steps into the exist case, skeleton were separated was due to concern about easily reading


Allow docs to show unstable features

We could simply do this with cfg(feature = "unstable"), but I think we can do better by using crates.io/crates/instability. We will more than likely want to PR (or fork) that crate to add #![feature(doc_cfg)] support so that our unstable APIs are still discoverable.
We don't have to use instability, and could roll our own but I think one thing that is non-negotiable is having doc_cfg support, else our docs will be pretty sparse.

With the doc_auto_cfg feature, individual API elements don't need to be annotated. I believe we don't need to fork instability to get this working.

Apparently they also mark macro output https://github.com/ratatui/instability/blob/e365305716159aa89f1ce13d3e99e5e8c4438ad0/src/unstable.rs#L364

I was curious what it needs to tag feature-dependent API, and this is all I had to do for rtt-target. Then, building docs with (sorry for PowerShell) $Env:RUSTDOCFLAGS="--cfg docsrs"; cargo +nightly doc --all-features -p rtt-target displayed the tags correctly.


Migrate to CircleCI 2.0

Also use go 1.10.3.

Okay this is finally ready.

PTAL

Addressed jzila's comments from https://github.com/keybase/kbfs/pull/1621 by moving down the checkout step


Replace security-constraint with filter

Originally reported by: Ingvord (Bitbucket: Ingvord, GitHub: Ingvord)

When built-in authentication mechanism is used Tomcat does not return proper HTTP headers (Access-Control-Origin and Credentials). This causes issues in 3rd party apps accessing this server. Specifically, AJAX response is not being propagated to app and therefore app can not distinguish error, xhr.status == 0 and not 401. See. for instance, tango-webapp issue 42

Bitbucket: https://bitbucket.org/hzgwpn/mtangorest.server/issue/148

This issue must be solved by deployment


https://api.github.com/hooks does not include 'web'

The https://api.github.com/hooks endpoint does not include web. This would be nice so I could get the list of supported_events for it in case it is subject to change in the future.

Hey @johnsheehan! We don't currently have plans to return "web" as a returned service from /hooks. I'll pass your idea about being able to listen for new events within webhooks to the larger team though. In the meantime, your best bet is to watch https://developer.github.com/changes for any updates. :smile:


Bump version to 2.0.0a1 for an alpha release

Bump the version to 2.0.0 alpha release 1.

@abrookins - can you restart the job that failed? https://github.com/aio-libs/aioredis-py/actions/runs/712470893 the timeout was too short, and the job was killed

Alpha release 2.0.0a1 is now available on PyPI.

Sorry I couldn't make it for the review! Classes kinda swamped me today. Thanks for pushing it out and I hope everyone has fun with it! Cheers to no hiccups!


Confusion about TF frames used

So we have these frames map_frame, tracking_frame, and published_frame. On my robot I have an existing TF frame that looks like this:
world -> base -- comes from robot odometry
base->imu --comes from URDF
base->lidar --comes from URDF
I have IMU messages published in the imu frame, and the world->base frame comes from odometry. My question is, what should I be setting map_frame, tracking_frame, and published_frame to? The documentaiton seems to suggest that published_frame must both exist already in the TF tree, and simultaneously it gets published by cartographer.
This seems like a catch-22 to me, and indeed when I set published_frame to base I get TF lookup errors saying that there are competing publishers for the world->base transform.

I ran into these same issues myself last week as I got odometry up and running.
REP-105 is useful - http://www.ros.org/reps/rep-0105.html
Note - I'm going to use slightly different naming conventions to what you're using, which are fairly consistent with REP-105 and my current setup.  Instead of world I have map, instead of base I have base_link
In this case, you want the transform tree to be as follows:
map->odom->base_link
Your odometry solution should publish the transform between odom and base_link
Set up your configuration file so that tracking_frame is base_link and published_frame is odom - with use_odometry set to true and provide_odometry_frame set to false - Cartographer will publish the transform between map and odom.
published_frame and tracking_frame are the same in some of the examples - you'll note that these examples do NOT have odometry provided by the base, and instead Cartographer provides the odometry.
Note:  Something I've said here might be wrong.  In which case, we both need the same assistance...  But the configuration I describe above seems to be working well for me.

I can relate to the confusion, since I had some trouble grasping the concepts of ROS's TF tree as well. @Entropy512 is exactly right in the description and REP 105 is the authority on this.
What helped me is groking the following facts:

TF is a tree, and there is only ever exactly one for a ROS setup.
odom and map are fixed reference frames, i.e. both usually describe 'distance from origin of the robot in meters`.
map is your coordinate frame of the world, @mklingen called it world, but map is the ROS terminology.
odom is also fixed, but base_link -> odom is meant to be changing smoothly over time, i.e. never suddenly jumping.

For example, after turning your robot on, odom -> map is identity, and for a while odom -> base_link and map -> base_link will very similar. The odom transform will drift over time, so loose it's metric exactness - but it will be smooth, so you can use arithmetic over this to figure out how your robot moved between two time stamps and make decisions locally.
The map transform will jump - most strongly when loops are closed. It will always answer the question 'how have I moved from my starting pointmost accurately. Thesejumpswill be fully contained inodom->map` transform, which will change non-smoothly.

Ah, I see, I was missing an intermediate frame. So my new TF tree should be
map -> odom --provided by cartographer
odom -> base_link -- provided by odometry
base_link -> ... -- provided by urdf
With tracking_frame set to imu, published_frame set to odom and  use_odometry=true, provide_odometry_frame=false.  It would help to have these frames better documented.

It would help to have these frames better documented.

Yes, that is probably true. Since you just went through the understanding process just now, you are especially well suited to documenting them in a way that will be helpful to the next person. Could you draft a PR?

Hello ! I am currently facing the same kind of problem. When I checked my TF on rviz (it works fine with gmapping), it did not work at all until I find this post and changed the published_fame to odom. But now, I can see the Tf but it seems that my robot frames doesn't move, instead my odom frame is going backward and obviously no map is created. When I launch roswtf it tells me that the tf_static of rviz and the tf_static of cartographer_node are unconnected. Might that be related and then do you have any idea on how to fix it ?

Hi everybody!
I have the same config file:
map_frame = "map",
  tracking_frame = "base_link", --"imu_link",
  published_frame = "odom", --"base_link",
  odom_frame = "odom",
  provide_odom_frame = false,
  use_odometry = true,

But when I turn on the robot (pioneer p3at) with RosAria that gives me Odometry and publish the odom -> base_link transform, cartographer doesn't publish map -> odom transform.
Any suggest?
Thank You so much in advance.

Hi everybody!
I have the same config file:
map_frame = "map",
  tracking_frame = "base_link",
  published_frame = "odom",
  odom_frame = "odom",
  provide_odom_frame = false,
  use_odometry = true,

But when I turn on the robot (pioneer p3at) with RosAria that gives me Odometry and publish the odom -> base_link transform, cartographer doesn't publish map -> odom transform.
Any suggest?
Thank You so much in advance.

I have a similar setup and use the same lua params, and although the output map looks good, I don't see cartographer cartographer publish any transform from map->odom or odom->base_link. But when I set published_frame = "base_link" and provide_odom_frame = true, I do see cartographer publish both of those params. Is Cartographer not supposed to publish any transforms in the former configuration?


[1.3.6-prepare][Improvement][Server&UI] Update worker group ip and unify form model #4982

pr #4982

@zhuangchong @break60 please take a look(UI)

Please solve e2e, thank you！

Please solve e2e, thank you！

Done


Using view components for shared forms

Please add information and an example on how to use view components for shared forms in Razor pages. For example, imagine a login form that needs to be used on multiple Razor pages. Further, some of those pages have various bits of logic that depend on whether a user is logged in. In that case, the view component cannot handle the POST (by checking Request.HasFormContentType and using Request.Form), because it would only be invoked after the page has started to render. Bits of the page before the view component is invoked would decide that the user isn't logged in (possibly by looking at session state). Bits of the page after the view component is invoked would decide the user is logged in.
The best I've come up with is adding a controller that the shared login form posts to. When the controller is done, it redirects back to the originating URL (included as a hidden form field). However, it's unclear in this case how to handle redisplaying the form with errors when model state is invalid.
When the shared form is included on a Razor page, it's also unclear how to pass complex or large amounts of data back to it from the controller without resorting to session state or temp data (we're trying to avoid these for scalability reasons). For example, imagine the login form has an email and password field initially, but displays more rich information about a user once they've logged in. How can the controller get information about the user back to the view component if the component is invoked from a Razor page?
Conceptually, I'd love to be able to do "return Page(pageName, someModel)", where someModel gets passed to the view component (perhaps via a property on it), but something like this isn't possible to my knowledge.
Is this a scenario better handled by views than pages?

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

ID: 9d2902f4-b6fd-ba1c-6762-d7c26f5eb4b9
Version Independent ID: b5715d72-5f10-bb93-1051-7f06dfa9cde8
Content: View components in ASP.NET Core
Content Source: aspnetcore/mvc/views/view-components.md
Product: aspnet-core
Technology: aspnetcore-mvc
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

Thank you for contacting us. Due to a lack of activity on this discussion issue we're closing it in an effort to keep our backlog manageable. If you believe there is a concern which hasn't been addressed, please file a new issue.


eachKeyMappedToAnArrayLike is broken in 3.5.23

The method now requires an exact match of the key, where it did not in the past. It's broken on the provider side, because I switched back to 3.5.21 in that project and the test passed.
Consumer side test:
`
@Pact(provider = "donuts-ws", consumer = "donuts-consumer")
public RequestResponsePact getAllDonutsByFloorFragment(PactDslWithProvider builder) {
    DslPart body =
            new PactDslJsonBody()
                    .eachKeyMappedToAnArrayLike("6")
                    .stringType("description", "Hostess Fruit Pies")
                    .integerType("id", 14)
                    .stringType("creator", "Loren")
                    .integerType("quantity", 8)
                    .object("location")
                    .integerType("floor", 6)
                    .stringType("room", "south break room")
                    .closeObject();

    return builder.given("there are Hostess Fruit pies available")
            .uponReceiving("a request for all available snacks mapped by floor")
            .method("GET")
            .path("/donuts/byFloors")
            .willRespondWith()
            .status(200)
            .matchHeader("Content-Type", APPLICATION_JSON)
            .body(body)
            .toPact();
}

@Test
@PactVerification(fragment = "getAllDonutsByFloorFragment")
public void canRequestAllDonutsMappedByFloor() throws IOException {
    DonutsClient donutsClient = new DonutsClient(httpClient, moshi, mockProvider.getConfig().getHostname(), mockProvider.getPort());
    Map<String, List<Snack>> snacks = donutsClient.fetchAllSnacksMappedByFloor();

    assertThat(snacks, Matchers.hasKey("6"));
}`

Provider side test:
 @State("there are Hostess Fruit pies available")     public void getSnacksMappedByFloor() {         when(mockSnackDao.loadCurrentSnacks(any(LocalDateTime.class), any(), anyInt(), anyString(), anyString(), anyInt(), anyInt(), anyString()))                 .thenReturn(                         Collections.singletonList(defaultSnack.setDescription("Hostess Fruit Pies").setLocation(new Location(7, "north break room")).build()));     }
Relevant pact file section:
 {             "description": "a request for all available snacks mapped by floor",             "request": {                 "method": "GET",                 "path": "/donuts/byFloors"             },             "response": {                 "status": 200,                 "headers": {                     "Content-Type": "application/json"                 },                 "body": {                     "6": [                         {                             "creator": "Loren",                             "quantity": 8,                             "description": "Hostess Fruit Pies",                             "location": {                                 "floor": 6,                                 "room": "south break room"                             },                             "id": 14                         }                     ]                 },                 "matchingRules": {                     "header": {                         "Content-Type": {                             "matchers": [                                 {                                     "match": "regex",                                     "regex": "application/json"                                 }                             ],                             "combine": "AND"                         }                     },                     "body": {                         "$.*": {                             "matchers": [                                 {                                     "match": "type",                                     "min": 0                                 }                             ],                             "combine": "AND"                         },                         "$.*[*].description": {                             "matchers": [                                 {                                     "match": "type"                                 }                             ],                             "combine": "AND"                         },                         "$.*[*].id": {                             "matchers": [                                 {                                     "match": "integer"                                 }                             ],                             "combine": "AND"                         },                         "$.*[*].creator": {                             "matchers": [                                 {                                     "match": "type"                                 }                             ],                             "combine": "AND"                         },                         "$.*[*].quantity": {                             "matchers": [                                 {                                     "match": "integer"                                 }                             ],                             "combine": "AND"                         },                         "$.*[*].location.floor": {                             "matchers": [                                 {                                     "match": "integer"                                 }                             ],                             "combine": "AND"                         },                         "$.*[*].location.room": {                             "matchers": [                                 {                                     "match": "type"                                 }                             ],                             "combine": "AND"                         }                     }                 }             },             "providerStates": [                 {                     "name": "there are Hostess Fruit pies available"                 }             ]         }
With the current version of Pact, the provider side test passes if I make the location floor 6 and fails if I make it floor 7.
Let me know if you need any more of my code.

Could you provide the debug logs of the failing provider test?

Of course, sorry! And again, I'll note that this passes with 3.5.21.
`donuts-consumer-java - a request for all available snacks mapped by floor(com.clearwateranalytics.pact.DonutsConsumerPactTest)  Time elapsed: 0.16 s  <<< FAILURE!
java.lang.AssertionError:
0 - $ -> [{mismatch=Expected 6=List(Map(quantity -> 8, location -> Map(floor -> 6, room -> south break room), description -> Hostess Fruit Pies, creator -> Loren, id -> 14)) but was missing, diff={

"6": [

"7": [
{

       "quantity": 8,

       "quantity": 1,
      "location": {

           "floor": 6,

           "room": "south break room"

           "floor": 7,

           "room": "north break room"
      },

       "lastModified": "2018-11-05T13:59:23.926",
      "description": "Hostess Fruit Pies",

       "creator": "Loren",

       "id": 14

       "creator": "loren",

       "id": 1,

       "created": "2018-11-05T13:59:23.923"
  }}]

Results:
Failures:
DonutsConsumerPactTest.donuts-consumer-java - a request for all available snacks mapped by floor
0 - $ -> [{mismatch=Expected 6=List(Map(quantity -> 8, location -> Map(floor -> 6, room -> south break room), description -> Hostess Fruit Pies, creator -> Loren, id -> 14)) but was missing, diff={

"6": [

"7": [
{

       "quantity": 8,

       "quantity": 1,
      "location": {

           "floor": 6,

           "room": "south break room"

           "floor": 7,

           "room": "north break room"
      },

       "lastModified": "2018-11-05T13:59:23.926",
      "description": "Hostess Fruit Pies",

       "creator": "Loren",

       "id": 14

       "creator": "loren",

       "id": 1,

       "created": "2018-11-05T13:59:23.923"
  }}]`

Due to issue #759 I had to disable the wild card matching by default. There is a Java system property you can use to enable it: pact.matching.wildcard. Just set it to true.

Hmm. I have already changed the test in question to not use that method (as a workaround, but I probably won't change it back), and I'm generally encouraging people to use the lambda library, which does not have an equivalent to it. In order to use the java system property, I would need to make sure it was set that way in our Jenkins builds, and I don't know that I want to do that by default since, based on the other case you tagged, there's potential it could break other tests. I feel this method was always kind of a poor man's version of the regex keys I requested a while back anyhow. So I think I'm just going to tell people to avoid this method.
My main concern is that we had no warning that the internal logic had changed. We had tests that were already written using this method that were passing on old versions of pact and started breaking on new versions because we didn't know we needed this system property all of a sudden. I'm trying to get more people to start using Pact at our company, but it doesn't help when the library doesn't maintain backwards compatibility.
Maybe you should deprecate the method? At least that would provide some warning to people.

Sorry, I thought it was documented in the release notes. It was documented in https://github.com/DiUS/pact-jvm/tree/master/pact-jvm-consumer-junit#matching-any-key-in-a-map-331250 (see further notes section).


upgraded to carbon-react 8.0.1 and dependencies

upgraded carbon-react and included it's dependencies.

Tested creation of a new carbon app. Checked it would open in Safari, Chrome, Firefox, IE11 and Edge browsers and that the relevant tests ran without error. Testing passed ✅


Sitemap Handler produces urls with undefined protocol

Type: minor
Describe the bug
The sitemap handler uses req.protocol to determine wether to use http or https for the links it returns:
https://github.com/reactioncommerce/example-storefront/blob/ddd0d069ae9f4498b98c8ca8acb79aa532bd3126/pages/api/sitemap.js#L12
req.protocol is an express feature not present in nextsjs api routes.
All it does is return req.connection.encrypted ? "https" : "http"
To Reproduce
Steps to reproduce the behavior:

Set up a Sitemap in the api
Check /sitemap.xml on your storefront, urls start with undefined://

Expected behavior
The urls in the sitemap contain the protocol that was used when requesting the sitemap.
Additional context
I tried to easily fix this by adding req.connection.encrypted ? "https" : "http" in the place of req.protocol, but the result on production deployments was that it always returns http - Could be, because the Reverse Proxy is handling SSL Termiantion, so nextjs is in fact not using https internally. This would mean that the same issue should've been present in older releases using express, but I currently have no production deployment for that at hand to verify it.
Maybe expess also does other thing to determine the requested url, and to my surprise I found no quick way in the next api routes to retrieve it properly.
Solution
I think the original approach of building the shop url by parsing req.protocol and req.headers.host separetely to get the url isn't really necessary anyway, and we could just resort to using CANONICAL_URL for this instead.

@willopez Maybe we could merge a quick fix prior to the next release? - I will prepare something now.

Sounds good


drivers: clock_control: Avoid using kernel api in timing critical code

drivers: clock_control: Avoid using kernel api in timing critical code
When shell was enabled then high frequency stopping and starting
was logged using k_uptime_get(). This function is locking interrupts
and clock starting happens in time critical code in bluetooth stack.
Converted to use direct reading from RTC used for system timer. HW
register is read directly so it can be used in time critical code.
The drawback is potential invalid values reported if high frequency
clock does not change state for RTC counter span (512 seconds).
drivers: timer: nrf_rtc_timer: Expose RTC counter bit width
Exposed RTC counter bit width in the header to allow using
is by external components.
Fixes #29994.

As k_uptime_get cannot be used in critical part I switched to use z_nrf_rtc_timer_read which read NRF_RTC1->COUNTER. This has one limitation: it wraps every 512s but it is used only to print debug information in shell command so it's better than nothing.

Closing this one, will provide alternative solution.


New coding standard

Usage of the newly introduced zendframework/zend-coding-standard for CS checks.

move phpunit to "require" section in composer.json, also, this should belongs to develop branch, after it pointed to develop, please rebase agains develop.

https://github.com/zendframework/zend-mail/pull/121
every other PR regarding the coding standard was against master, why should we do it differently in this case?

upping phpunit was went to develop, and I think goes to master without coding fix will go bugs, please check #43 for the phpunit 5 & 6 compat fix

not entirely sure but i think i just screwed up, didn't i?

You can do with the following steps:
git checkout develop
git pull git@github.com:zendframework/zend-test.git develop
git checkout new-coding-standard
git rebase develop

at this stage, you can fixes the conflicts (don't commit), then do
git add .
git rebase --continue

Next, do force push:
git push --force origin new-coding-standard

Lastly, point the PR to develop branch via "Edit" button in PR title, select "base" branch to develop.

seems to look good now


HMAN-493 Functional Test and Clear Helm Release options for Non-service Apps

JIRA link (if applicable)
HMAN-493 "Next Hearing Date Updater - for preview pipelines enable cleanup of helm release on success"
Change description

Allow option of using functional tests on PREVIEW for nonServiceApp, i.e. enableFullFunctionalTest(…).
Allow option of using clearHelmRelease on PREVIEW for nonServiceApp, i.e. enableCleanupOfHelmReleaseOnSuccess().

Tested in:
Test pipeline: hmcts/ccd-next-hearing-date-updater#114:

Run 1: before enabling  functional tests, clearHelmRelease.  (config ccd-next-hearing-date-updater 402a433)
Run 2: after enabling clearHelmRelease. (config ccd-next-hearing-date-updater 323ba69)
Run 5: after enabling functional tests & clearHelmRelease. (config ccd-next-hearing-date-updater 5b7f6d9)
Run 6: after enabling functional tests & clearHelmRelease. and after TEST_URL patch 62efcd6999f9d1785fb9f8212ad4acab76480e8a.

NB: evidence also attached to ticket.

This PR has been retired after relase of #980.  Remaing FunctionalTest stage changes have been moved to #987.


Not able to launch gitea repo in codespaces

Description
I tried it launch the repo in codespace but could not set up the db _
i had also tried to set the local db using docker container of mysql using cmd docker run --name gitea-mysql -e MYSQL_ROOT_PASSWORD=gitea -e MYSQL_DATABASE=gitea -e MYSQL_USER=gitea -e MYSQL_PASSWORD=gitea -p 3306:3306 -d mysql:latest
but it got exited and complains that port 3306 is already occupied
Screenshots

Gitea Version
Gitea version: f4b8f6fc4 built with GNU Make 4.3, go1.23.1
Can you reproduce the bug on the Gitea demo site?
Yes
Operating System
windows amd64
Browser Version
chrome 	V8 <IP_ADDRESS>

Please confirm the database host name is <IP_ADDRESS>?

yes

How do you run Gitea? 127.0.01 commonly means they are in the same machine.

i just spinned up the codespace installed deps using make and launched a web gui of gitea
thats where i got this error ☝

We close issues that need feedback from the author if there were no new comments for a month. :tea:


Fix a return value when our component has been torn down

I ran into this bug while working for a client who is using ember-light-table.  We sometimes tear down the table due to user interaction, which can end up hitting this ember-scrollable bug.
If the ember-scrollable component is torn down mid-way through the createScrollbarAndShowIfNecessary, https://github.com/alphasights/ember-scrollable/blob/master/addon/components/ember-scrollable.js#L250 blows up.  It's expecting an array to be returned from createScrollbar at all times, but we were returning an undefined value instead.
Thanks for all your work on this! ❤

thanks for this :smiley:
I understand why it would blow up because createScrollbar expects the array, but I don't know how this happens.
it's only ever called: https://github.com/digabit/ember-scrollable/blob/55537f1ad588190c94d3a95137e0e80843688315/addon/components/ember-scrollable.js#L148
and indirectly through https://github.com/digabit/ember-scrollable/blob/55537f1ad588190c94d3a95137e0e80843688315/addon/components/ember-scrollable.js#L490..L508
so if https://github.com/digabit/ember-scrollable/blob/55537f1ad588190c94d3a95137e0e80843688315/addon/components/ember-scrollable.js#L247 occurs, I don't know how by line 250 the component would be destroyed, unless you're allowed to interrupt synchronous code which would be head scratchy

I understand why it would blow up because createScrollbar expects the array, but I don't know how this happens

Yes, that's what had me scratching my head as well.  Doesn't seem like we should even be getting to that point in the code if the isDestroyed flag is set.  We weren't seeing this when the app was on 2.8, but as part of our upgrade to 2.12 it's been showing up consistently. I'm able to regularly reproduce that particular issue in tests (and can trigger it in our production app as well). Hence the PR 😀
Tweaked the code here, so tests should be passing now

weird... sorry that's been happening.
would you mind removing https://github.com/digabit/ember-scrollable/blob/master/addon/components/ember-scrollable.js#L247..L249 as we don't actually need that defensive programming there if we're doing it properly with your bugfix in the subsequent call

@alexander-alvarez Done.  Tested it on our app and it's working as desired too

@offirgolan this is g2g


Cleanup shim manager configuration

Keep platforms configuration on task manager and add environment config for shims. The sched_core config is very runtime specific and does not need to be a top level configuration, rather just being able to add environment variables is much more useful. Renamed the shim manager plugin to io.containerd.shim.v1.manager rather than io.containerd.shim.v1.shim, which was a recent change after config version 2.
ctr plugins ls now shows
...
io.containerd.shim.v1                  manager                  -              ok
io.containerd.runtime.v2               task                     linux/amd64    ok
...

LGTM


Fix discovery phase to fail (issue #112)

Now the pipeline will fail if the Pester discovery phase fails. Prior if discovery failed the pipeline still passed (issue #112).

This change is

@raandree would you mind review this one?

@raandree thank you for the review! Releasing a new version shortly.


Xajax debug interface missing?

When I attempt to use the xajax debug window:
'$this->xajax->setOption('core.debug.on', 1);'
I get the javascript alert:
The xajax.debug javascript component could not be included. Perhaps the URL is incorrect?
URL: //assets.lagdo-software.net/libs/xajax/js/latest/xajax.debug.js

Fixed in commit #c07cf6611dcaa64ec938accda6608c1794bdaf49.
The javascript file //assets.lagdo-software.net/libs/xajax/js/latest/xajax.debug.js was not loaded even when the debug option is set to true.

Fixed in commit c07cf6611dcaa64ec938accda6608c1794bdaf49.
The javascript file //assets.lagdo-software.net/libs/xajax/js/latest/xajax.debug.js was not loaded even if the debug option was set to true.


Enhancement: Allow specifiying a certificate with password when o365 login

Currently the CLI supports only certificates that are not protected. Let's explore whether we can add support for protected by password certificates.
Currently we can do that to login with cert:
 login --authType certificate --certificateFile /Users/user/dev/localhost.pfx --thumbprint 47C4885736C624E90491F32B98855AA8A7562AF1

Adding additional option --certificatePassword [certificatePassword] would be required.

I am proposing the use of node-forge to read personal information exchange (.pfx) files to then get the access token.
Instead of introducing new options, I will reuse the existing --password option and when it is specified with authentication type of certificate can be considered as the password of the pfx file. So for example the command will look like:
o365 login --authType certificate --certificateFile /Users/user/dev/localhost.pfx --thumbprint 47C4885736C624E90491F32B98855AA8A7562AF1 --password 'pass@word1'

I already started working on this. @waldekmastykarz  please let me know if you have other ideas.

Looks good @VelinGeorgiev. Let's get it in! 👍

I am working on it. There is only one last piece to be done. We should expecting that feature in dev next week.

Support for .PFX (with password) is now in the latest beta. Have a try and let me know if any issues
@mpriem tagged for visibility.


BUG: Require changes in Footer

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Description
Require changes in the footer section. Remove underlines from links in the footer for better website appearance.
Screenshot:

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Hello @CSEdgeOff , I would like to help you with this footer section. I can improve its appearance. Please assign this to me.

pls assign me under gssoc 24

#296

#296 dk


flutter build aot --preview-dart-2 does not compute dependencies correctly

Dependencies file generated by the gen_snapshot would be empty for --preview-dart-2 mode because gen_snapshot does not load any source code itself.
Instead we need to extend front-end server to collect and generate dependencies.

build/aot/snapshot.d that defines dependencies for 'app.dillis produced by the frontend compiler as part ofbuild aot --preview-dart-2`.
That file is being overwritten by gen_snapshot though

Is this still relevant?

I think this is obsolete.


update the gradient do not need freeze one of network?

when update the gradient , did not freeze g or d in code
`
@tf.function
def train_step(lr, hr):
with tf.GradientTape(persistent=True) as tape:
sr = generator(lr, training=True)
hr_output = discriminator(hr, training=True)
sr_output = discriminator(sr, training=True)
        losses_G = {}
        losses_D = {}
        losses_G['reg'] = tf.reduce_sum(generator.losses)
        losses_D['reg'] = tf.reduce_sum(discriminator.losses)
        losses_G['pixel'] = cfg['w_pixel'] * pixel_loss_fn(hr, sr)
        losses_G['feature'] = cfg['w_feature'] * fea_loss_fn(hr, sr)
        losses_G['gan'] = cfg['w_gan'] * gen_loss_fn(hr_output, sr_output)
        losses_D['gan'] = dis_loss_fn(hr_output, sr_output)
        total_loss_G = tf.add_n([l for l in losses_G.values()])
        total_loss_D = tf.add_n([l for l in losses_D.values()])
    grads_G = tape.gradient(
        total_loss_G, generator.trainable_variables)
    grads_D = tape.gradient(
        total_loss_D, discriminator.trainable_variables)
    optimizer_G.apply_gradients(
        zip(grads_G, generator.trainable_variables))
    optimizer_D.apply_gradients(
        zip(grads_D, discriminator.trainable_variables))

    return total_loss_G, total_loss_D, losses_G, losses_D

`

Does this mean the loss will always be NAN with this code?

Does this mean the loss will always be NAN with this code?

no it is also can  convergence


[TC-564] emcr date migration

TC-0564
Objective:

set date -7 hours (to PST from UTC) for emcr date approved/date applied

I'm actually thinking this should just be a query we run rather than a migration


create-snowpack-app: interactive mode

Background
Create Snowpack App has come a long way, and we now have 10+ official templates and many more community ones. As our community & ecosystem have grown, we've run into a few problems:

TypeScript & JavaScript create 2x the number of templates, one for each language. They look almost identical, but need to be maintained individually.
CSA apps set you up with an application structure, but almost no plugins provided by default. It's still up to you to go out and find the plugins that you want without much guidance from us.
No good way to upgrade after initializing your app.

Goals

Build a new CLI that walks you through setting up your app, and then creates that directory.
Build a new page of snowpack.dev that walks you through setting up your app, and then gives you a zip folder to download. (alternatively, generates the exact CLI command that you can run to generate the app, no questions asked)

Feature Request: New Interactive Creation Mode
npx create-snowpack-app

> Welcome to Create Snowpack App!

> Q: What are you building today?
> A: Single Page App, Static Website, etc.

> Q: What UI library/framework would you like to use?
> A: React, Preact, Svelte, Vue, None

> Q: Would you like to use TypeScript?
> A: Y/N

> Q: Would you like to use a CSS pre-processor?
> A: Sass, Less, PostCSS, None

> Q: Would you like to use X? (We can just keep recommending plugins, until you say done)
> A: Yes, No, I'm done, you can set up my app now)

> Great, your app is being created.
> Done! Your app is now ready!
> [INSTRUCTIONS]

Each of these answers would get saved, and then your project would be generated based on these answers. Instead of needing a full template for each permutation, each answer would instead provide 1 piece of the site:

UI framework = App.xxx (jsx, svelte, vue)
JS vs. TS = App.xxx (jsx vs. tsx, svelte (ts), vue (ts))
CSS pre-processor = App.xxx (css, scss, less)
Use X? = add a plugin, make some additional one-off changes if needed

I'm sure it won't be quiet as easy as I'm trying to make it sound here, but it should hopefully be much easier to maintain than our current setup.
Implementation-wise, each answer would provide each UI library/framework would have a JS & TS version of the component itself
Future: Interactive Upgrade Mode
This isn't necessarily a part of this design, but just a peek at where we could go from here.
Once we start thinking of this as an interactive tool and not just a "template copy-paste-from-github" tool, we can start to add more features around maintenance of your snowpack app. Instead of trying to manage some master config for you, we could have an upgrade/check/doctor command that is automatically added as an upgrade script in your app, that scans your project for deprecated/outdated config/plugins/patterns and helps you upgrade.

Update: I reserved create-snowpack so that you'll be able to run npm init snowpack. That also is nice because it means we can develop this entirely in a new package without worrying about "breaking changes" to the current CLI

@FredKSchott Would it be worth having Snowpack as an org? That would allow us to use @snowpack/create and not have to worry about reserving package names.

We already have @snowpack as an org! But, I thought npm init only worked with the unscoped create-* package names.

@gr2m I just added a note about browser support: If we're going to do this work, I'd like it to run in both the browser and the command line, so that we can create a "config generator" on the snowpack.dev website using the exact same library. If that's too difficult, lets chat about it in person.

@FredKSchott Hmmm, I can't find the repo that I was thinking of that did the scoped but with npx you can do npx @snowpack/create. I think with npm init you can do npm init --scope=@snowpack? But very unsure about the npm init

@olyno created an interactive CLI to create a snowpack project at https://github.com/frontend-templates-world/new-snowpack-project, see their comment at https://github.com/snowpackjs/snowpack/discussions/1023#discussioncomment-105791
@olyno I'm checking out new-snowpack-project right now, it looks great 👍🏼 It's not quite what Fred describes above, but it's great nevertheless. I'll give you some feedback on your repository.
Would you like to collaborate on the interactive CLI which would move away from templates and instead create a new app based on choosing aspects of your app?

Build a new page of snowpack.dev

@FredKSchott you mean "on snowpack.dev", basically a web-based UI that lets you create the app?

and then gives you a zip folder to download

I think we can  do one better: login with your GitHub account and we will create a GitHub repository for you. We could still provide a zip download, but I think using a GitHub app to create the repository might be preferable because it would allow us to setup some repository settings that might be helpful

Once we start thinking of this as an interactive tool and not just a "template copy-paste-from-github" tool, we can start to add more features around maintenance of your snowpack app. Instead of trying to manage some master config for you, we could have an upgrade/check/doctor command that is automatically added as an upgrade script in your app, that scans your project for deprecated/outdated config/plugins/patterns and helps you upgrade.

Instead (or besides) adding scripts that you have to run manually, we can install a snowpack GitHub app which does these checks for you and creates issues/PRs to help you keep it up-to-date.

@FredKSchott can you clarify what you had in mind for the effect of the "What are you building today?" question?

Would you like to collaborate on the interactive CLI which would move away from templates and instead create a new app based on choosing aspects of your app?

Sure I could! I think it will be harder to generate a new app from scratch using a CLI without a lot of issues as conflicts, but it can be a really good challenge if it can be done 😃

We can start out with a minimal set of questions/answers, and then iterate on it, one step at a time 👍🏼

Awesome y’all, can’t wait!
Re: what are you building today: I was trying to get at the difference between a MPA vs a SPA. Basically:

multi-page app: HTML based page with a single component on it.
single-page app: HTML wrapper with a single App.js component

Tbh the distinction isn’t important at the moment, so ignore this question/idea for now.

@FredKSchott correct me if I got anything wrong, but for a first version, we want to ask 3 questions, and keep the current templates
> Q: What UI library/framework would you like to use?
> A: React, Preact, Svelte, Vue, None

> Q: Would you like to use TypeScript?
> A: Y/N

These two questions should result in one of the templates we have today: https://github.com/snowpackjs/snowpack/tree/master/create-snowpack-app
Special template cases are currently

minimal
11ty

let's ignore these for now.
The 3rd question would be about selecting plugins: https://github.com/snowpackjs/snowpack/tree/master/plugins. Adding a plugin always means to

Add it as dev dependency
Create (or add to) snowpack.config.json's "plugins" key: ["<package name>", {}]

@Olyno does that all make sense?

Sure it does, I'm on it 😄

awesome, please let me know if there is anything I can help with!

@gr2m Ok so I did some works about the project, and it should be good now. Can you have a look in before I merge it, and potentially give me a feedback?

Absolutely! I'll have a look today

@melissamcewen and I had a bad experience today publishing the @snowpack/app-template-blank template. Because the package.json is both used for the actual npm package, as well as the thing that gets instantiated for new projects, I was throwing template snapshot tests… because I was preparing something for npm.
I think the snapshot tests have other problems, but they work for now. But them snapshotting actual code that is committed to VC seems like a bad pattern (I say that being the person that I think set it up 😛 ).
I’d love to move to a world where the README.md, package.json, and everything else is just auto-generated by this tool (and we only snapshot generated code instead)

Not related to @drwpow's problem, but if anyone can try the new version of the create-snowpack-app cli (0.2.0), feebacks are welcome 😃

Hi! I really appreciate all the efforts of the Snowpack team to create the best bundler! So, I'd like to help on this issue by working on templates for any framework or technology.

@VanishMax that's great! Is there any that you are particularly interested in? Always best to scratch your own itch!
You could also help us by testing the upcoming, interactive CLI: https://github.com/frontend-templates-world/create-snowpack-app-interactive


Testing

This request is to move the changes made to the Testing branch in Sprint 2 to the main production branch. Changes include the creation of a index page, a menu bar, styling, and a page to reach out to the site creators.

Merged test code that group members tested with the production branch.


Add support for custom keys

Is your feature request related to a problem? Please describe.
Hey 👋. I would like if a feature to midnight would be added that you could add custom fields, e.g. of that button is pressed do this, e.g. push this keyboard button
Additional context
Some mods don't work correctly e.g. Shoulder Surfing Reloaded with midnight so they can't be activated though Midnight controls

Closing, alredy asked


Fix create_folders.bat

Use %% in the create_folders.bat script instead of a single %

This closes issue #22