Add Tool-tips for retention period and manual contributor

Description
Feedback from TU Graz UAT included confusion on what a retention period and manual contributor were.  Clarification in the instructions and a short explanation as a tool-tip is the best solution
Sub issue of https://github.com/tuwien-csd/damap-frontend/issues/157
Describe the solution you'd like
Add a short explanation and tool-tip for retention period and manual contributor.
Update the instructions and related buttons as appropriate.
Additional context
See screenshots below.  Derek to add tooltip verbiage

@TomMiksa @ChristianeStork  What do you think about my suggested changes?
People involved in data management section:
•	Change instructions to:  In this step, you add people involved in the project and provide additional info about them, e.g., their role. In this example, the project leader’s info has already been added and marked as the contact person (note icon with person and envelope next to their name). You can add more contributors via the search field (ensure you select the appropriate database, e.g., ORCID), or manually via the “Add contributor manually button”.  Please provide a minimum of one contact person as well as a data manager (it can be the same person).
•	Change name of button to: Add contributor manually
•	Add Tooltip to Add contributor manually button
o	Use to add project contributor not found in database above
Repositories section
•	Change instructions for Repositories to:
o	Use repositories to sustainably manage your data after the project’s life and to make your data discoverable and reusable. If possible, use a domain specific repository for your data. The search filter below can help you to find one.
o	You’ll also want to set the time for how long your data should remain in the repository. This retention period can be selected in the Set retention period for datasets section
•	Add tooltip for Set retention period for datasets:
o	set the time for how long your data should remain in the repository


Repo sync for protected CLA branch

The pull request is created from master637460716993550397 to master to fix git push error for protected CLA branch

@ghogen : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@ghogen : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Develop

Introduction
This is a

[x] New feature
[ ] Fix for ...
[ ] General improvement
[ ] Backward incompatible change

It closes #
Describe the change
...
How to use it
...
Sample code

Codecov Report

Merging #1 into master will decrease coverage by 70.68%.
The diff coverage is 26.78%.

@@              Coverage Diff              @@
##             master       #1       +/-   ##
=============================================
- Coverage       100%   29.31%   -70.69%
- Complexity       14       47       +33
=============================================
  Files             1        4        +3
  Lines            35      116       +81
=============================================
- Hits             35       34        -1
- Misses            0       82       +82

Impacted Files
Coverage Δ
Complexity Δ

src/Exporter.php
0% <0%> (ø)
16 <16> (?)

src/Console/ClishCommand.php
0% <0%> (ø)
16 <16> (?)

src/Highlighter.php
100% <100%> (ø)
5 <3> (-9)
:arrow_down:

src/Pretty.php
100% <100%> (ø)
10 <10> (?)

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 4624d58...285182f. Read the comment docs.


[SPARK-48317][PYTHON][CONNECT][TESTS] Enable test_udtf_with_analyze_using_archive and test_udtf_with_analyze_using_file

What changes were proposed in this pull request?
This PR proposes to enable the tests test_udtf_with_analyze_using_archive and test_udtf_with_analyze_using_file.
Why are the changes needed?
To make sure on the test coverage
Does this PR introduce any user-facing change?
No, test-only.
How was this patch tested?
CI in this PR.
Was this patch authored or co-authored using generative AI tooling?
No.

Merged to master.


Support translucent color for ChromeLikeFilter

Setting a translucent color for ChromeLikeFilter creates PNGs that do not show the original icon below.

Will prepare a PR in a second.

Thanks a lot for this great plugin. Was looking forward to have support for adaptive icons and not it works. 🤟 Found some small issues while trying to integrate it into my current project. Hope my contribution helps.

Hey @brudaswen 👋 Thank's for reporting the issue and for the fix.
I merged the PR, and I'll try to figure out how to run screenshot tests tomorrow to make sure it doesn't break in the future. I'll try to make the release with your fixes by Monday morning.
And once again: thanks for the help 🙏


Upgrade to Klay successor

Seems like they have released a successor for Klay called ELK
https://github.com/OpenKieler/elkjs

Does anyone know if elkjs works with cytoscape? If so can you offer any clues as to how? I can't find a cytoscape extension for it but I'm new to this world so not sure if they are always needed.
Any ideas/suggestions/examples would be gratefully received! :-)

You could use it without an extension, but it would be the same amount of work as creating an extension that would be re-usable and would take advantage of a tighter integration with the Cytoscape.js API.

thanks for the tips! :-)

@jfstephe has created an extension: https://github.com/jfstephe/cytoscape.js-elk


Zenith: fix handling of list inputs

package main

import (
	"fmt"
)

type Test struct{}

type Foo struct {
	Msg string
}

func (m *Test) TestListInput(foos []Foo) string {
	return fmt.Sprintf("%+v", foos)
}

Currently fails when building the module w/ error 41: [0.44s] ./dagger.gen.go:4250:15: undefined: test
Something must have broken in handling of list input types at some point I'm guessing?
cc @jedevc @vito
This should at least work in terms of codegen, handling it in dagger call is also important but probably a separate task, unless of course we already handled it (cc @helderco)

@jedevc indicated this is a dupe of https://github.com/dagger/dagger/issues/5864


Issue with scroll to anchor

Issue scrolling to #: Browser/App does not scroll to id=<tag>
as detailed here:
https://github.com/EventedMind/iron-router/commit/65b844eb0d988d93b1ac8a5bf54966d4dd2f0c46#commitcomment-9236380
Workaround here:
Router.onAfterAction(function() {
    var self = this;
    // always start by resetting scroll to top of the page
    $(window).scrollTop(0);
    // if there is a hash in the URL, handle it
    if (this.params.hash) {
        // now this is important : Deps.afterFlush ensures that iron-router rendering
        // process has finished inserting the current route template into DOM so we
        // can manipulate it via jQuery, if you skip this part the HTML element you
        // want to scroll to might not yet be present in the DOM (this is probably
        // why your code fails in the first place)
        Tracker.afterFlush(function() {

            if (typeof $("#" + self.params.hash).offset() != "undefined"){
                var scrollTop = $("#" + self.params.hash).offset().top;

                $("html,body").animate({
                    scrollTop: scrollTop
                });

            }

        });
    }
});

courtesy: http://stackoverflow.com/questions/25301888/meteor-iron-router-router-go-callback-possible

Hi, I am having some additional issues with the work around:
I am inserting a new doc and then rendering it with id="some-hash-tag".
I am calling a function with a call back to ensure the doc is inserted but it seems like the router is trying to go to the page before the page has rendered.
Ie if I manually add the URL http://linktodoc#"some-hash-tag the browser scrolls to the correct postion.
If i try and do this programatically with something like Router.go('route1', {_id: someID}, {hash: someHashTag}); it does not scroll there.
Any hints / best practices for this, please?

I also have this issue.  I'm sending through href="{{pathFor 'help'}}#hash" but when it goes to the help#hash page it passes the id="hash" location ending up further down the page.

Try  href="{{pathFor 'somePage' hash=itemAnchor}} where itemAnchor is a Helper function that returns a string... or just hard code it, if that's what's needed.

I believe the problem I am having is that my page is not starting at the top - $('window').scrollTop(0); is not working.  If I reload the page it does the animation properly and goes to the correct position.  Is there something special I need to use $('window').scrollTop(0); ?

@andreayaya , use $(window).scrollTop(0) instead of $('window').scrollTop(0)

@adamgins , I cannot get the workaround work because hash element cannot be found from DOM for some reason.
if (typeof $("#" + self.params.hash).offset() != "undefined"){
         // unreachable code
}

Any ideas why this happens?


Python 3.6

The current code on master branch seems having some compilation issues with print function and tuple argument (PEP 3113) in Python 3.6.
I include my fixes here. FYI.
fix_python3.6.txt

Also, the current master branch seems only run on PYNQ v1.4.

We have just tested v2.0, and it seems working.


Hotspots disappearing after changing scenes

Following your example of a tour, https://pannellum.org/documentation/examples/tour/
If you create the hotspot dynamically  with addHotSpot method, the hotSpot disappears after changing scenes. The workaround I did, was to load the pano hotSpots on the onload event every time the scene changes.

The addHotSpot method adds the hot spots to the current view but doesn't modify the configuration, so this is the expected behavior.

so there is no way to change the configuration once the viewer has been instantiated? This would be necessary if you want to create tours dynamically


Update active-directory-conditional-access-automatic-device-registrat…

…ion-setup.md

Hi @JairoCadenaMicrosoft, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Jairo Cadena). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

@JairoCadenaMicrosoft : Thanks for your contribution to the Azure documentation! The author, @MarkusVi, has been notified to review your proposed change.


[BULK UPDATE] DocuTune - Fix build validation issues: docs-link-absolute (part 1)

Global effort to fix build validation errors
The Microsoft Skilling team is fixing build validation errors and specific brand inconsistencies in Microsoft technical documentation for the rest of FY23 Q1. This will help address various accessibility, security, and usability issues. This PR was generated using DocuTune. It includes only targeted fixes and minor formatting adjustments.
DocuTune PRs improve quality of technical content by finding and automatically correcting a broad set of issues only where the correction is suitable. Please review within five business days and merge or comment in the PR with any changes you'd like to see. Thank you!
CorrelationId: 0df9c2d6-63f8-4d1e-8b57-b33611a06514
InitiativeId: docutune-build-validation-issues-2022-05
PointOfContact: Alex Buck

#docutune-draft

Docs Build status updates of commit a10942c:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

cordovadocs/2015/change-cordova-version/change-node-version.md
:white_check_mark:Succeeded

cordovadocs/2015/first-steps/get-started-first-mobile-app.md
:white_check_mark:Succeeded

cordovadocs/2015/first-steps/get-started-with-ionic2.md
:white_check_mark:Succeeded

cordovadocs/2015/first-steps/getting-started-with-ionic.md
:white_check_mark:Succeeded

cordovadocs/2015/first-steps/getting-started-with-onsen2.md
:white_check_mark:Succeeded

cordovadocs/2015/first-steps/ios-guide.md
:white_check_mark:Succeeded

cordovadocs/2015/release-notes/release-update-10.md
:white_check_mark:Succeeded

cordovadocs/2015/release-notes/release-update-8.md
:white_check_mark:Succeeded

README.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

#docutune-ready

@jmatthiesen @kraigb @johnwargo
Please merge the changes in this PR. For more information, see the description at the top of this PR.
Any pre-existing build validation issues or insufficient Acrolinx scores should be addressed in a separate PR.
#docutune-request-approval


How to extract data in the CSV file, Also how to start pagination

Hi ,
I want to extract data in the CSV file but not able to find any code related to that please help
Also as now google console api allow to extract 25000rows/request i want to extract how to implement pagination to get all data of my site

Hi Shranik,
You can export to CSV fairly easily by converting your report to a pandas.DataFrame then using the DataFrame.to_csv method.
For example:
report = webproperty.query.range('today', days=-7).dimension('query').get()
df = report.to_dataframe()
df.to_csv('report.csv', index=False)

You'll need to have pandas installed. If you don't already:
$ pip install pandas

By default, the package will paginate through all the data in your site unless you use query.limit. Feel free to increase the page size from 5,000 to 25,000 and submit a pull request!
Thanks,
Josh

Hey Josh ,
Thanks for the reply!
I am an initial stage python learner, just want to confirm where to add the line of code in the file to increase the limit to request from 5k to 25k
I basically started from this query
import searchconsole
account = searchconsole.authenticate(client_config='auth/client_secrets.json')
webproperty = account['https://www.example.com/']
report = webproperty.query.range('today', days=-7).dimension('query').get()
print(report.rows)

Hi Shranik,
No worries that you're just getting started - this would be a perfect first issue if you're interested.
You'd need to:

Fork the repository.
Checkout the paginate branch.
Modify the code in to increase the pagination step. This is all contained in query.py and is referenced in a few places.
Commit your changes with a description of what you've modified.
Submit a pull request here on GitHub with your changes.

Look forward to hearing from you if you're up for it.
Cheers,
Josh

@luismarcanth implemented this in #9 and I've merged it with the master branch. Thanks!


GH-10574: Added Automated Cypress Test to verify 'M15011 - Emojis show as jumbo in reply thread'

Summary
Added Automated Cypress Test to verify 'M15011 - Emojis show as jumbo in reply thread"
Ticket Link
Fixes https://github.com/mattermost/mattermost-server/issues/10574
Related Pull Requests
None

Hi @saturninoabril
Thanks for your review comments. I have updated the test accordingly.

Hi @saturninoabril,
Regarding your point Test requirement is for reply thread (or RHS). However, this selector targets the one on center post (see screenshot)., it wasn't mentioned in the original ticket, i.e. https://github.com/mattermost/mattermost-server/issues/10574 to validate the Emoji only in RHS. Currently, once I post a reply to a message, I am once again getting the last Post ID and checking the size of the Emoji. Please let me know if this specifically needs to be validated in RHS window?
Also, regarding your point This (last()) only checks whether the last emoji is jumbo. However, it should check whether all emojis in the last reply post are all jumbo., as I post new replies, I am validating the size of emoji immediately. Do I also need to validate whether the Emoji size remains as is for each of the previous testcases?

Confirmed, it's for RHS (or reply thread) as stated in the ticket "Test Key: M15011 - Emojis show as jumbo in reply thread"
Don't need on previous test cases.  Only all emojis on the reply's last post.  So if such post has 2 emojis, then it should validate those 2.

Hi @saturninoabril,
Updated the test based on your new comments.

Thanks @saturninoabril for the guidance


SSL error while requesting gemini://kennedy.gemi.dev/

While requesting gemini://kennedy.gemi.dev/ with:
(phos/gemini:request "gemini://kennedy.gemi.dev/")

... I receive an SSL error:
A failure in the SSL library occurred on handle #.(SB-SYS:INT-SAP #X802D9A000) (SSL_get_error: 1). ERR_print_errors(): 001E600308000000:error:0A000126:SSL routines:ssl3_read_n:unexpected eof while reading:/usr/src/crypto/openssl/ssl/record/rec_layer_s3.c:308:
   [Condition of type CL+SSL::SSL-ERROR-SSL]

Backtrace:
  0: (CL+SSL::SSL-SIGNAL-ERROR #.(SB-SYS:INT-SAP #X802D9A000) #<FUNCTION CL+SSL::SSL-READ> 1 0)
  1: ((:METHOD TRIVIAL-GRAY-STREAMS:STREAM-READ-SEQUENCE (CL+SSL::SSL-STREAM T T T)) #<unavailable argument> #<unavailable argument> #<unavailable argument> #<unavailable argument>) [fast-method]
  2: ((:METHOD STREAM-READ-SEQUENCE (TRIVIAL-GRAY-STREAMS:FUNDAMENTAL-INPUT-STREAM T)) #<CL+SSL::SSL-STREAM for #<FD-STREAM for "socket <IP_ADDRESS>:55400, peer: <IP_ADDRESS>:1965" {11030091C3}>> #(35 32..
  3: ((FLET FLEXI-STREAMS::FILL-BUFFER :IN FLEXI-STREAMS::READ-SEQUENCE*) 1024)
  4: ((:METHOD FLEXI-STREAMS::READ-SEQUENCE* (FLEXI-STREAMS::FLEXI-UTF-8-FORMAT T T T T)) #<FLEXI-STREAMS::FLEXI-UTF-8-FORMAT (:UTF-8 :EOL-STYLE :LF) {1102DF97F3}> #<FLEXI-STREAMS:FLEXI-IO-STREAM {1102DF97..
  5: ((SB-PCL::EMF TRIVIAL-GRAY-STREAMS:STREAM-READ-SEQUENCE) #<unused argument> #<unused argument> #<FLEXI-STREAMS:FLEXI-IO-STREAM {1102DF9783}> "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0..
  6: ((:METHOD STREAM-READ-SEQUENCE (TRIVIAL-GRAY-STREAMS:FUNDAMENTAL-INPUT-STREAM T)) #<FLEXI-STREAMS:FLEXI-IO-STREAM {1102DF9783}> "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0..
  7: (PHOS/GEMINI::READ-ALL-STRING #<FLEXI-STREAMS:FLEXI-IO-STREAM {1102DF9783}>)
  8: ((:METHOD PHOS/GEMINI:REQUEST (T)) "gemini://kennedy.gemi.dev/") [fast-method]
  9: (SB-INT:SIMPLE-EVAL-IN-LEXENV (PHOS/GEMINI:REQUEST "gemini://kennedy.gemi.dev/") #<NULL-LEXENV>)
 10: (EVAL (PHOS/GEMINI:REQUEST "gemini://kennedy.gemi.dev/"))

This doesn't appear on all requests.  E.g. I can request gemini://duncan.bayne.id.au/ and it's fetched without any errors.
Unsure at this point whether this is an SSL error with kennedy.gmi.dev, or an OpenSSL bug, or an issue with phos.
versions

FreeBSD 14.1-RELEASE-p4
GNU Emacs 29.4
SBCL 2.4.8
OpenSSL 3.0.13 30 Jan 2024 (Library: OpenSSL 3.0.13 30 Jan 2024)

I think this indicates an unexpected termination by the server.  I'll let the maintainer of the server know, in case this is something they can / should fix on their end.

From the error message it seems to me that the server is not using close_notify.  i.e. the server is not closing the tls layer correctly.  There is one fairly popular server implementation that does this (drew devault' server, don't remember the name right now) and is also no longer maintained, but can't say it's that for sure.
I'll look better into it later anyway, thank you for the report!

I believe there's an option in OpenSSL to hack around it - SSL_OP_IGNORE_UNEXPECTED_EOF.  See https://github.com/openssl/openssl/issues/18866#issuecomment-1194219601.

And, thank you for the library :)  I'm planning to use it to drive https://mastodon.bsd.cafe/@daily_gemini_capsule

Yep, kennedy.gemi.dev does not properly send close_notify. It's built on .NET, and last time I checked that level of control of TLS wasn't exposed. Let me see if things have changed.  While technically this is a violation of the spec, it is probably something a client library needs to tolerate.
I discuss this and other spec and implementation oddities in detail here: gemini://gemi.dev/weird.gmi

@acidus99 thanks for confirming.  I knew that a fair amount of servers don't properly use close_notify, and in fact in my other two clients I'm still treating this condition as "a warning" and doesn't raise an error.  I just forgot to do the same here (and in my clojure library as well probably.)  Also, thanks for linking your oddities lists, I'll take some inspiration from it for some additional tests!
@duncan-bayne I agree that we should somehow paper over this, but I'm still unsure how.  Ideally, these servers should be eventually fixed and in a hypothetical future we should be able to remove this workaround.  I see three possible way to improve phos:

just ignore that specific error, in N years/decades we could revisit this choice
add a :ignore-missing-close-notify parameter, then flip its default in N years/decades
add a restart-case around it: this way it's easier for consumers to choose where to see this case and eventually how to handle it.  An interactive client may want to inform the user, while a non-interactive one may opt-in to ignore the issue.

I'm prepending for the last one, but I'm open to suggestions :)
Thank you!

Thanks for this @duncan-bayne and @omar-polo. I went looking and updated my code so that Kennedy is properly sending a close_notify alert. Mozz's portal show its now working:

@omar-polo if you do fix this, I'm happy to setup a older version that doesn't properly set close_notify so you can test your fix

Thanks @acidus99!  That works a treat, and I can now retrieve gemini://kennedy.gemi.dev/ with phos.


Web Page Summarizer Extension

Is your feature request related to a problem? Please describe.
I'm always frustrated when I come across lengthy articles or web pages and don't have the time to read through all the content. It can be challenging to quickly understand the main points of the content, especially when under time constraints.
Describe the solution you'd like
I would like an extension that automatically summarizes web pages, highlighting the key points and main ideas. The summary should be displayed in a clean and readable format, allowing users to quickly grasp the essential information without reading the entire article.
Describe alternatives you've considered

Manual Summarization: Manually skimming through articles to find key points, which is time-consuming and inefficient.
Bookmarking Articles: Saving articles to read later, which often results in an overwhelming backlog of unread content.
Using Existing Summary Tools: There are some online tools for text summarization, but they are not integrated into the browsing experience and often require copying and pasting content manually.

Additional context
An integrated summarization extension would enhance productivity and improve the user experience by providing quick insights into web content. This would be particularly useful for students, researchers, and professionals who frequently encounter lengthy documents.
What problem is this feature trying to solve?
This feature aims to solve the problem of information overload and time constraints by providing concise summaries of web content. It helps users quickly understand the main points without having to read through entire articles or documents.
How do we know when the feature is complete?

The extension successfully summarizes the content of web pages and displays it in a popup or sidebar.
Users can adjust the length of the summary.
Important sentences and key points are accurately highlighted.
The extension works seamlessly across various types of web pages and articles.
User feedback indicates improved productivity and satisfaction with the summarization results.

I am contributing upon Gssoc24

@Sulagna-Dutta-Roy please assign me the issue

Kindly check if the 200 points crossed or not. And check this Issue #1100 @NAVJOT-786


Overlapping dependencies from proto compiler and rules_swift_package_manager

Hello,
I have a project where I rely on Swift NIO directly within my library. I also have some code that uses swift GRPC.
 I've attached bazel query png's that show an example of where this happens in my project with the Swift Atomics dependency.
The result is a bunch of compilation errors about overlapping module names. For example:
bazel-out/ios_sim_arm64-fastbuild-ios-sim_arm64-min17.0-applebin_ios-ST-2f808fb2bd56/bin/external/rules_swift_package_manager~~swift_deps~swiftpkg_swift_nio/CNIOAtomics.rspm_modulemap/_/module.modulemap:1:8: error: redefinition of module 'CNIOAtomics'
module "CNIOAtomics" {
       ^
bazel-out/ios_sim_arm64-fastbuild-ios-sim_arm64-min17.0-applebin_ios-ST-2f808fb2bd56/bin/external/rules_swift~~non_module_deps~com_github_apple_swift_nio/CNIOAtomics_modulemap/_/module.modulemap:1:8: note: previously defined here
module "CNIOAtomics" {

rules_jvm_external has an Override generated targets feature where some external dependencies can be mapped to different labels. It would be helpful to have such an override mechanism available in rules_swift_package_manager.

Another note - in case other folks happen across this issue with the same problem.
I was able to overcome this issue by creating separate swift_proto_compiler targets in my project and passing these to swift_proto_library -
load("@rules_swift//proto:swift_proto_compiler.bzl", "swift_proto_compiler")
load(
    "@rules_swift//proto/compilers:swift_proto_compiler_macros.bzl",
    "GRPC_VARIANT_CLIENT",
    "GRPC_VARIANT_SERVER",
    "GRPC_VARIANT_TEST_CLIENT",
    "PROTO_PLUGIN_OPTIONS",
    "PROTO_PLUGIN_OPTION_ALLOWLIST",
)
load(
    ":macros.bzl",
    "make_grpc_swift_proto_compiler",
)

swift_proto_compiler(
    name = "swift_proto",
    plugin = "@rules_swift//tools/protoc_wrapper:ProtoCompilerPlugin",
    plugin_name = "swift",
    plugin_option_allowlist = PROTO_PLUGIN_OPTION_ALLOWLIST,
    plugin_options = PROTO_PLUGIN_OPTIONS,
    protoc = "//tools/protoc",
    suffixes = [".pb.swift"],
    visibility = ["//visibility:public"],
    deps = [
        "@swiftpkg_swift_protobuf//:SwiftProtobuf",
    ],
)

make_grpc_swift_proto_compiler(
    name = "swift_server_proto",
    variants = [GRPC_VARIANT_SERVER],
)

make_grpc_swift_proto_compiler(
    name = "swift_client_proto",
    variants = [GRPC_VARIANT_CLIENT],
)

load("@bazel_skylib//lib:dicts.bzl", "dicts")
load("@rules_swift//proto:swift_proto_compiler.bzl", "swift_proto_compiler")

# NOTE: The ProtoPathModuleMappings option is set internally for all plugins.
# This is used to inform the plugins which Swift module the generated code for each plugin is located in.
PROTO_PLUGIN_OPTION_ALLOWLIST = [
    "FileNaming",
    "Visibility",
]
PROTO_PLUGIN_OPTIONS = {
    "Visibility": "Public",
}
GRPC_VARIANT_SERVER = "Server"
GRPC_VARIANT_CLIENT = "Client"
GRPC_VARIANT_TEST_CLIENT = "TestClient"
GRPC_VARIANTS = [
    GRPC_VARIANT_SERVER,
    GRPC_VARIANT_CLIENT,
    GRPC_VARIANT_TEST_CLIENT,
]
GRPC_PLUGIN_OPTION_ALLOWLIST = PROTO_PLUGIN_OPTION_ALLOWLIST + [
    "KeepMethodCasing",
    "ExtraModuleImports",
    "GRPCModuleName",
    "SwiftProtobufModuleName",
] + GRPC_VARIANTS

# NOTE: As of Swift 5.6, the TestClient flavor is deprecated in grpc-swift.
# This is because they are not sendable and needed to be marked as unchecked sendable for async/await.
# We might just want to drop support for it during this migration.

def make_grpc_swift_proto_compiler(
        name,
        variants,
        plugin_options = PROTO_PLUGIN_OPTIONS):
    """Generates a GRPC swift_proto_compiler target for the given variants.

    Args:
        name: The name of the generated swift proto compiler target.
        variants: The list of variants the compiler should generate.
        plugin_options: Additional options to pass to the plugin.
    """

    # Merge the plugin options to include the variants:
    merged_plugin_options = dicts.add(
        plugin_options,
        {variant: "false" for variant in GRPC_VARIANTS},
    )
    for variant in variants:
        merged_plugin_options[variant] = "true"

    swift_proto_compiler(
        name = name,
        protoc = "//tools/protoc",
        plugin = "@swiftpkg_grpc_swift//:protoc-gen-grpc-swift",
        plugin_name = name.removesuffix("_proto"),
        plugin_option_allowlist = GRPC_PLUGIN_OPTION_ALLOWLIST,
        plugin_options = merged_plugin_options,
        suffixes = [".grpc.swift"],
        deps = [
            "@swiftpkg_swift_protobuf//:SwiftProtobuf",
            "@swiftpkg_grpc_swift//:GRPC",
        ],
        visibility = ["//visibility:public"],
    )

@AttilaTheFun Didn't you recently perform some work refactoring addressing this type of overlap from third-party dependencies?

@ed-irl I created the new swift_proto_library rule with customizable swift_proto_compiler targets specifically to address this issue.
Previously, the old swift_proto_library implementation could only use the SwiftProtobuf and grpc-swift dependencies defined in the rules_swift repository. As a result, I would get duplicate symbol errors if there were differing versions of SwiftProtobuf and grpc-swift included by rules_swift and rules_swift_package_manager.
The new implementation allows you to define your own swift_proto_compiler targets using whatever plugins or dependencies you want -- they don't even need to be protoc based. I also updated this repository to add a directive to specify which compiler targets to add to the generated swift_proto_library targets.
@cgrindel I actually have an old PR that never merged demonstrating this feature:
https://github.com/cgrindel/rules_swift_package_manager/pull/1019
I was not able to merge that previously, because on Ubuntu the Swift Atomics library crashes without the always link flag.
I fixed this in the rules_swift repo here:
https://github.com/bazelbuild/rules_swift/blob/master/third_party/com_github_apple_swift_atomics/BUILD.overlay#L17
In order to merge that PR, we need to add the alwayslink flag to the generated swift_library targets. I'm not sure if there is a good heuristic for when it is necessary. If there is a way to patch the generated build file with RSPM, I could fix it that way too.

In order to merge that PR, we need to add the alwayslink flag to the generated swift_library targets. I'm not sure if there is a good heuristic for when it is necessary. If there is a way to patch the generated build file with RSPM, I could fix it that way too.

A good heuristic does not come to mind. Perhaps we can add a bzlmod tag class that allows a client to configure attributes for Swift products.
That having been said, I am trying to understand why this case requires the flag. 🤔

@cgrindel It was specifically the ManagedAtomic type in swift atomics that was failing on ubuntu.
I think the flag was not necessary on apple platforms because their linker has different default behavior.
The flag controls whether the linker should ignore object files that are unreferenced elsewhere in the program.
In Swift, you can extend types to conform to a protocol outside of their defining file / module. I believe in this case an extension was "falling off" and the program was crashing at runtime.
There was some discussion around whether this should just be the default for swift_library.
As for RSPM, I think a tag class that allows this to be configured on a per-dependency basis sounds good. If you add that, I'm happy to rebase the PR and get it working again.
https://stackoverflow.com/questions/48653517/what-does-bazel-alwayslink-true-mean

It is probably worth capturing the build options from SPM to see how it builds the packages in question. Usually issues with missing symbols have to do with the deployment of shared libraries. That does not seem relevant here. 🤔

@cgrindel I did actually diff the flags when going down that rabbit hole.
IIRC the flags weren't meaningfully different (before I added the alwayslink flag), but Apple ships a modified LLVM toolchain with Xcode, so their linker has different default behavior.
On ubuntu we were using the vanilla LLVM and swiftc, so we needed the flag.


Active HUDs Disappear when riding a mount (such as a horse)

I am wondering if in the next release you can work towards the active HUDs staying visible when riding a mount, because in the current state of the mod, all active HUDs provided by your mod will disappear when you ride a mount, and they then reappear when you dismount the mount.
It could be nice to see HUDs (such as the compass hud + coordinate hud for example) while riding a mount like a horse.
Although, I will note that when using a feature such as the "Mob Info" HUD, it works just fine where when looking at a mob it will display the information above it (like health) properly when on or off of a mount.

I believe this was a bug and has been fixed in the WIP beta version. I'm not sure, so I'll check and make sure it is by the next release. Thank you.

Testing indicates that this issue has been fixed. Closing until the issue arises again.


Bug: About Inline Dataview Field Separator

When I try to assign a note with multiple parents, parent:: [[A]] [[B]] works but parent:: [[A]], [[B]] doesn't. Seems like the separator , breaks something.

@zcysxy can you test out 0.11.7 and let me know if this issue is fixed :)

@SkepticMystic Yeah it's fixed, thanks for the quick fix!


hmm.json issue

{
  "name": "funkin.vis",
  "type": "haxelib",
  "version": null
},

are you sure "haxelib" have "funkin.vis"?
branch: useGrig

It needs a bit of configuring to work. First you need to set funkin.vis in Funkin to use 'useGrig' branch:
    {
      "name": "funkin.vis",
      "type": "git",
      "dir": null,
      "ref": "useGrig",
      "url": "https://github.com/FunkinCrew/funkVis"
    }

Next you'll also have to add grid.audio lib through hmm git grig.audio https://gitlab.com/haxe-grig/grig.audio.git cbf91e2180fd2e374924fe74844086aab7891666
Then you have to update Project.xml to use grig.audio too:
        ...
	<haxelib name="hxCodec" if="desktop" unless="hl" /> <!-- Video playback -->
	<haxelib name="funkin.vis"/>
	<haxelib name="grig.audio"/> <!-- Add this line -->

working! thanks!

 You can now close this issue

this code for funkinVis is being develop tested or its done? because the nene visualizer seems kinda broken, right part doesnt visualize correctly

this code for funkinVis is being develop tested or its done? because the nene visualizer seems kinda broken, right part doesnt visualize correctly

use
analyzer = new SpectralAnalyzer(snd._channel.__source, 8, 0.01, 30);
not
analyzer = new SpectralAnalyzer(snd._channel.__source, 7, 0.01, 30);

this code for funkinVis is being develop tested or its done? because the nene visualizer seems kinda broken, right part doesnt visualize correctly

I'm not too sure either but from what I see it still needs some tweaking, compared to the web version visualizer it looks pretty different.


feat(ZeebeSourceTask): use manual polling instead of job worker

use manual polling instead of job workers
add backoff which is controlled by inflight requests and does not block
in case there are still commits going on
backoff duration is also used for long polling duration and can be limited
by REQUEST_TIMEOUT_CONFIG
remove POLL_INTERVAL_CONFIG as it's not needed anymore
do not sync on job completion, as it's lost completes are handled by Zeebe
timeout logic and will be retried by kafka after new activation
add commit callback to complete all inflight jobs on stop of the connector

Great - thanks! Looks good to me - fixes https://github.com/zeebe-io/kafka-connect-zeebe/issues/27

Thanks @npepinpe for the quick review. I applied your review hints with https://github.com/zeebe-io/kafka-connect-zeebe/commit/18c34fd3aaea31647a0470f66f6d35fc01e49560 and https://github.com/zeebe-io/kafka-connect-zeebe/commit/ebc570ac6d713a141c44ff709bea9ba903f28cff


[SPARK-18145] Update documentation for hive partition management in 2.1

What changes were proposed in this pull request?
This documents the partition handling changes for Spark 2.1 and how to migrate existing tables.
How was this patch tested?
Built docs locally.
@rxin

Test build #69373 has started for PR 16074 at commit 49eff17.

Test build #69374 has started for PR 16074 at commit 9ee308a.

Test build #69373 has finished for PR 16074 at commit 49eff17.

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

Merged build finished. Test PASSed.

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

Test build #69374 has finished for PR 16074 at commit 9ee308a.

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

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

Merged build finished. Test PASSed.

LGTM merging in master/branch-2.1.


Exit when child process terminates

Mimic strace as suggested in https://github.com/i-ky/basset/pull/2#issuecomment-2136059723:

When command exits, strace exits with the same exit status.  If
command is terminated by a signal, strace terminates itself with
the same signal, so that strace can be used as a wrapper process
transparent to the invoking parent process.

This supersedes #2.

Why do you treat child pid 0 specially (in while (auto pid = wait()) ) and effectively just exit the program?
Technically, wait() can return pid 0 and it's not an failure.  In practice, pid 0 is a special process on (most?) OSes and never be a child of any other process but the while still looks odd to me.

In practice, pid 0 is a special process on (most?) OSes and never be a child of any other process

That was the main reason why I was a bit lazy to handle this case. I am not sure if basset will work on any OS except Linux, because it relies on procfs, which seems to be Linux-specific. Therefore portability is not that important anyway.
That said, I will not object if you fix this issue in a PR.


/play not working

I do "/play", but the slash command does not appear and I cannot search. And it doesn't work on some commands. I may have done the installation wrong. Can you reach me on discord? For installation

In your config.js file, make sure you have the MUSIC {} category enabled otherwise nothing will show up. Also, what is your discord?


DragonTamer - Learning Experience wording

I noticed that it asks if you want to put a card under a dragon before the draw actually happens. If this is correct, it should probably say "...when you draw a card, you may first put a card in your hand under a dragon." If it should trigger after the card draw, letting the player put the drawn card under a dragon, then it should probably say "...when you draw a card, you may then put a card in your hand under a dragon". Just to make the effect clear.

Triggers are hard @-@

Triggers are hard @-@


[Host.Outbox | Host.Outbox.Sql] Poor performance when publishing outbox messages

The performance of the outbox plug-in can be greatly improved; especially when publishing messages from the outbox/db.
A few of the issues:
SQL:

PK of outbox table is using a clustered index with a unique identifier
Locking of the table updates all undelivered rows instead of just those included in the batch
Updating of delivery status is by multiple statements instead of a table-valued parameter (TVPs)
Only a single application instance can spool messages (always FIFO, but not always required).

Host:

Interceptors are executed on initial publish (before outbox) and again when being submitted to message bus (after outbox)
Messages are trickle fed from the outbox to the message bus even when providers support batches

Proposal:

Improve SQL schema, indexes and queries
Apply an order to the outbox interceptor so that it is always the last interceptor to run (and skip running interceptors when publishing from outbox)
Modify MessageBusBase.ProduceToTransport to accept batches of messages for the same bus and path
Modify OutboxSendingTask to group messages for the same bus and path together and submit to MessageBusBase.ProduceToTransport directly without having to traverse through the pipeline stack again.
Submit batches of messages to buses that support it while continuing to trickle feed to those that don't

I am prepping a quick benchmark test to be able to assess the gains of this PR.
Once I have something, I will report here.

I'm busy refactoring the OutboxSenfingTask to drop support for non-IMessageBulkProducer providers as you suggested.
As part of it, I'm also changing the lock to renew on a timer instead of killing the batch process. This should provide a little more safety when handling issues like ASB throttling.
I have also uncovered a potential critical issue which I'm putting a fix in for -the DeliveryAttempt value is set, but never evaluated. If a message ended up being too big for the queue to accept (for example), the current implementation will just keep trying indefinitely. Apart from the obvious resourcing problem, it would eventually lead to all available 'slots' in the batch being taken by such failures and the outbox stalling. I am just going to limit the attempts without delays, etc for now as it is an edge case. More can come later.

@EtherZa the baseline test + 2 more lighter enhancements is in #263. Feel free to comment.
Ideally, I would merge this to master, and if you could rebase your changes after.
Considering if it's worth including another transport that will not support bulk produce to get a feel if the gains are due to SQL improvements (lock acquiring logic, indexes) or due to bulk send to the underlying transport.

@zarusz I have a cursory glance at #263.
There are two other aspects that you may want to include for pure outbox testing:

Consider dumping a large batch of messages into the outbox table outside of the pipeline (seed the table) to isolate the sql/batching from the natural population. The outbox read will far out perform single insertions.
Batching is unfairly favoured when there is only one bus/path combination (every iteration will be piped as a batch if the transport supports it) as opposed to multiple batches per bus/path/iteration.
There are two batching limits in play. The OutboxSettings.PollBatchSize and MaxMessagesPerTransaction. The later is a internal maximum batch size for each transport. ASB and AEH have the value set at "100" (max for TransactionScope support), while the other providers are all set to "1" by default (no batching). Performance of the "1" providers will be degraded compared to the original implementation as it currently will make a single sql update per sent message. This needs to change.

I am still trying to work out how/if TransactionScope can be used to wrap the bus/sql publish/update without escalating to a DTC.

It was fixed via #261.


flip-flop loaded into yosys becomes always block which feeds into itself, preventing gate-level simulation

Steps to reproduce the issue
Use the folowing yosys script on the following .sv file:
read_verilog -sv synth_out.sv
write_verilog 0.v

Where synth_out.sv is
module synth_out(
    input clk,
    input rst,
    input a,
    output reg out
);
    reg next_out;

    always @(*) begin
        next_out = 0;

        if(a) begin
            next_out = 1;
        end
    end

    always @(posedge clk, posedge rst) begin
        if(rst) begin
            out <= 0;
        end else begin
            out <= next_out;
        end
    end
endmodule

Examine 0.v, it contains an always block that feeds into itself:
  always @* begin
    if (\$auto$verilog_backend.cc:2083:dump_module$3 ) begin end
    _0_ = _2_;
    (* src = "prot/synth_out.sv:12.9-14.12" *)
    casez (a)
      /* src = "prot/synth_out.sv:12.12-12.13" */
      1'h1:
          _2_ = 1'h1;
      default:
          _2_ = 1'h0;
    endcase
  end

You can see that _2_ is both an input into the block, modifying the value of _0_, and also an output, according to the value of a. This means that if the value of a changs, this block needs to be scheduled twice, but it will only be scheduled once, since the write to 2 won't retrigger the block, since it's being modified by the block itself. Thus gate-level simulation of this code fails.
You can test this code using the following driver code:
module synth_out_test();
    reg clk;
    reg out;
    reg rst;
    reg a;

    synth_out synth_out1(
        .clk(clk),
        .out(out),
        .rst(rst),
        .a(a)
    );

    initial begin
        clk = 1;
        forever begin
            #5 clk = ~clk;
        end
    end

    initial begin
        $monitor("clk=%0b rst=%0b out=%0b a=%0b", clk, rst, out, a);
        rst = 1;
        a = 0;
        #10
        rst = 0;
        #10

        assert(~out);

        #10
        assert(~out);
        a = 1;

        #10
        assert(out);

        #10
        assert(out);

        #10;
        $display("done");

        #100 $finish;
    end
endmodule

This works fine on the original .sv file, but fails on the .v file written by yosys. eg using iverilog:
iverilog -g2012 prot/synth_out.sv prot/synth_out_test.sv && ./a.out

vs
iverilog -g2012 0.v prot/synth_out_test.sv && ./a.out

Expected behavior

behavior when using the original verilog file, and the yosys loaded verilog file should be identical
yosys should not create an always block that updates itself, so taht a needed second run of the block is never triggered
this would allow me to run gate-level simulation

Actual behavior

yosys creates an always block that updates itself, and requires a second evaluation, but is never scheduled, since a simulator will not schedule blocks that are only triggered by themselves
gate-level simulation, eg using iverilog, of synthesized code from yosys does not match the behavior of the original files, nor match the intentions of the original code.

Ok. So, big nuance. It looks like if I go all the way throuhg synthesis, and then test the synthesized verilog in later stages it works ok in fact :) (I just have to make sure to run my asserts not exactly on the clock edge, but slightly after it, which makes total sense).
i.e. using the following yosys script:
write_verilog build/netlist/0.v
flatten
write_verilog build/netlist/1.v
synth
write_verilog build/netlist/2.v
techmap;
write_verilog build/netlist/3.v
dfflibmap -liberty {args.cell_lib}
write_verilog build/netlist/4.v
abc -liberty {args.cell_lib}
write_verilog build/netlist/5.v
clean
write_verilog build/netlist/6.v

write_rtlil build/rtlil.rtl
write_verilog build/netlist.v
ltp
sta
stat

... then 2.v, 3.v, 4.v, 5.v, and 6.v all work ok, as long as, as stated, I offset my tests slightly so tah the asserts dont land exactly on the clock edge, which makes total sense realy, in retrospect.

Actually, I feel that it should be possible to change inputs on a positive clock edge, since this is what will happen with synchronized flip-flop inputs.
Similarly, I feel that it should be possible to assert synchronous outputs on the positive clock edge.
What this means is that 4.v, 5.v and 6.v are broken too, but for a different reason. I will log a separate issue for that. (this issue is about 0.v, and 1.v being broken)

Nearly all passes in yosys only work on designs that have had hierarchy and proc called on them. Those two passes are kind of "the back end of the frontend", and only after that is the in-memory design actually an elaborated netlist. At that point it can be safely exported to verilog.
The following script:
read_verilog -sv synth_out.sv
hierarchy -top synth_out
proc
write_verilog 0.v

results in this file:
/* Generated by Yosys 0.15+40 (git sha1 305f94a28, clang 11.0.3 -fPIC -Os) */

(* top =  1  *)
(* src = "issue3234.sv:1.1-24.10" *)
module synth_out(clk, rst, a, out);
  (* src = "issue3234.sv:9.5-15.8" *)
  wire _0_;
  (* src = "issue3234.sv:17.5-23.8" *)
  wire _1_;
  (* src = "issue3234.sv:9.5-15.8" *)
  wire _2_;
  wire _3_;
  wire _4_;
  (* src = "issue3234.sv:4.11-4.12" *)
  input a;
  wire a;
  (* src = "issue3234.sv:2.11-2.14" *)
  input clk;
  wire clk;
  (* src = "issue3234.sv:7.9-7.17" *)
  wire next_out;
  (* src = "issue3234.sv:5.16-5.19" *)
  output out;
  reg out;
  (* src = "issue3234.sv:3.11-3.14" *)
  input rst;
  wire rst;
  (* src = "issue3234.sv:17.5-23.8" *)
  always @(posedge clk, posedge rst)
    if (rst) out <= 1'h0;
    else out <= _3_;
  assign _3_ = _4_ ? (* full_case = 32'd1 *) (* src = "issue3234.sv:12.12-12.13|issue3234.sv:12.9-14.12" *) 1'h1 : 1'h0;
  assign _0_ = _2_;
  assign _1_ = next_out;
  assign _4_ = a;
  assign _2_ = _3_;
  assign next_out = _3_;
endmodule

which looks like the correct behavior.

So, from a practical point of view, yes, I simply skip the first couple of lowered outputs, and start from 2.v, in my script.
That said, I would point out that the manual that Clifford/Claire wrote contains the following, which suggests that the 'front-end' only comprises lexing and parsing:

I feel that the doc could perhap be updated at some point, to state that running simulation on the first couple of lowered outputs are not supported, prior to running proc, but I'll go ahead and close this issue. Thanks! :)


UsageGraphError:  Graph.addNode: the "UBERON:0013702" node already exist in the graph.

I am getting this error when running flatmap-viewer.
UsageGraphError: Graph.addNode: the "UBERON:0013702" node already exist in the graph. #30

I don't notice it affecting the functionality of the flatmap at all, but it does break the tests that get run on flatmapvuer
To reproduce:

clone this branch:
https://github.com/Tehsurfer/mapintegratedvuer/tree/marker-clustering

Put the .env.local file I sent into the root directory of the repo if you don't already have those variables

npm run serve should produce the error, scroll up to the top it should be one of the first 5

What map GUID is giving this error? On what map server??

flatmap-viewer2.9.3
https://github.com/AnatomicMaps/rat-flatmap/blob/027dc313b3ce6d84818eb47505ad7632143da624/manifest.json
mapcore-demo.org/devel/flatmap/v4/flatmap/

Wait, that isn't the GUID is it, how to do you get the GUID?

All looks well with the code and the source data (it's a JSON file at here, and it contains just a single UBERON:0013702 node). Running your code doesn't show the error:

What I do get though, as a result of a sidebar search for Heart, is:

hmm ok give me a moment to fix the other error messages and then I'll be able to see how to reproduce this one more easily

Ah yeah sorry about that you actually need these steps to reproduce it:

clone this branch:
https://github.com/Tehsurfer/mapintegratedvuer/tree/marker-clustering

Put the .env.local file I sent into the root directory of the repo if you don't already have those variables

npm run serve

Change the species of the map, top right:

See my question on Slack to @alan-wu:

what exactly happens when a flatmap’s species is changed? Is a new flatmap instance created by calling MapManager.loadMap()? Or does the vuer remember previously loaded map instances and switch back??

There are no issues with flatmap-viewer when loading maps for a different species.


merge package template from Kronos-Tools/npm-package-template

Updated standard to latest version

Codecov Report

Merging #281 into master will increase coverage by 0.82%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #281      +/-   ##
==========================================
+ Coverage   88.42%   89.25%   +0.82%
==========================================
  Files           1        1
  Lines         216      214       -2
==========================================
  Hits          191      191
+ Misses         25       23       -2

Impacted Files
Coverage Δ

src/module.js
89.25% <0%> (+0.82%)
: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 62cf99d...5055391. Read the comment docs.

Codecov Report

Merging #281 into master will increase coverage by 0.82%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #281      +/-   ##
==========================================
+ Coverage   88.42%   89.25%   +0.82%
==========================================
  Files           1        1
  Lines         216      214       -2
==========================================
  Hits          191      191
+ Misses         25       23       -2

Impacted Files
Coverage Δ

src/module.js
89.25% <0%> (+0.82%)
: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 62cf99d...5055391. Read the comment docs.


UI freeze when attaching JanusSession

I am using this package in Flutter web and this line of code janusSession.attach<JanusVideoCallPlugin>(); makes UI to freeze for 1-2 seconds. How can I fix it?

Which version are you using and which flutter version?
Coz this shouldn't freeze ui maybe you are using it in throttled network condition either way its hard to comment without reproducing your issue

Version of janus_client is 2.2.14, flutter is 3.10.0. There is how I use it
Future<void> initJanus(RTCVideoRenderer remoteRender) async {
    janusClient = JanusClient(
      refreshInterval: 10,
      transport: WebSocketJanusTransport(url: Constants.janusSocket),
      withCredentials: true,
      apiSecret: Constants.janusApiSecret,
      iceServers: [
        RTCIceServer(
          urls: Constants.stunServer,
          username: Constants.stunUser,
          credential: Constants.stunPassword,
        )
      ],
    );
    session = await janusClient.createSession();
    videoCallPlugin = await session.attach<JanusVideoCallPlugin>();
    final userid = settings.userId;
    final name = settings.fullUserName;
    await remoteRender.initialize();
    await videoCallPlugin.register('${userid!}///$name');
    temp = await createLocalMediaStream('remoteVideoStream');
    await initAudioBridge();

    videoCallPlugin.remoteTrack?.listen(
      (event) async {
        if (event.track != null && event.flowing == true) {
          temp?.addTrack(event.track!);
          remoteRender.srcObject = temp;
          remoteRender.muted = false;
          // this is done only for web since web api are muted by default for local tagged mediaStream
        } else {
          temp?.removeTrack(event.track!);
        }
      },
    );

    videoCallPlugin.typedMessages?.listen(
      (event) async {
        await videoCallPlugin.handleRemoteJsep(event.jsep);
        Object data = event.event.plugindata?.data;
        if (data is VideoCallRegisteredEvent) {
          callState.add(CallState.ready());
        }
        if (data is VideoCallIncomingCallEvent) {
          callState.add(CallState.incoming(message: '', callerName: data.result!.username!, jsep: event.jsep!));
        }
        if (data is VideoCallAcceptedEvent) {
          callState.add(CallState.inCall(type: CallType.single));
        }
        if (data is VideoCallCallingEvent) {
          callState.add(CallState.outgoing(message: 'Call'));
        }
        if (data is VideoCallHangupEvent) {
          callState.add(CallState.hangup());
        }
      },
    );
  }

Are you calling initJanus from ui tree itself?

Not directly. From ui I call presenter method and then presenter calls this initJanus
  @override
  Widget build(BuildContext context, WidgetRef ref) {
    final webRtcPresenter = ref.watch(webRTCPresenterProvider.notifier);

    useEffect(
      () {
        Future.delayed(
          Duration.zero,
          () => webRtcPresenter.load(),
        );

        return () {};
      },
      const [],
    );

Why you calling expensive and uncertain operation in the build method in the first place try moving initJanus in didDepedencyChanged hook and you will no longer have ui freezes its not an issue with library itself, its something you need to keep in mind while developing flutter application never put api call or i/o operations in build method closing this.


keep getting an error message that the Feature Timeline failed to load Azure DevOps Services

I was able to pull up the Feature timeline view a couple of times, but now all I’m getting is the message below….

Feature timeline and Epic Roadmap by Microsoft DevLabs failed to load.Learn More about this extension, including available support options.

We are having the same issue on Epic Roadmap.  Please advise a fix.  Thank you.

Sorry, but this code in this repo is not currently being maintained. We recommend you use the Delivery Plans feature that is core to Azure DevOps.


Implement markpaid

Fixes #52

LGTM but might need to rewrite markPaid field to be a list of strings like tags, instead of a String. Will open issue on it


Conflicts of interest

If a proposed decision of the participant is concerned with an actual or proposed transaction or arrangement with the organization in which a participant is interested, that participant is not to be counted in the decision-making process for quorum or voting purposes.

Hi @AtJano
Great that you are interested in 4Minitz.
Nevertheless your enhacement idea seems a little bit blurry to me.
Could you work out some details? What do you want to achive?
Maybe you can formulate one or more user stories (in form of the user story template)?
Maybe add a precise example with "Alice" and "Bob"?

Let's say that in the meeting a item is about the promotion/process/conduct of Mr. Smith, because there is conflitct of interest he has to leave the room/meeting for this item (and can't vote), but he may return for the other items.

No upvotes, no pull requests, no "me too".
Will close this issue as "won't fix"


Simplified methods that take a T-instance as IN-parameter

Imagine we have the following scenario:
[AttributeUsage(AttributeTargets.Property)]
public sealed class SectionNameAttribute : Attribute
{
  /// <exception cref="ArgumentNullException"><paramref name="sectionName" /> is <see langword="null" />.</exception>
  public SectionNameAttribute([NotNull] string sectionName)
  {
    if (sectionName == null)
    {
      throw new ArgumentNullException(nameof(sectionName));
    }
    this.SectionName = sectionName;
  }

  [NotNull]
  public string SectionName { get; }
}

public sealed class FooConfiguration
{
  [SectionName("Bar")]
  public Bar Bar { get; set; }
}

This is an abstract definition of a configuration file, which is used in a repository like:
var configuration = Configuration.LoadFromFile(path);

var fooConfiguration = new FooConfiguration();
foreach (var propertyInfo in typeof(FooConfiguration).GetProperties())
{
  var sectionNameAttribute = propertyInfo.GetAttributes<SectionNameAttribute>().SingleOrDefault();
  if (sectionNameAttribute != null)
  {
    var sectionName = sectionNameAttribute.SectionName;
    var section = configuration.GetSectionsNamed(sectionName).FirstOrDefault();
    if (section != null)
    {
      // verison 1:
      var mappedSection = section.ToObject<>(); // NOT WORKING, no generic type here ...
      // version 2: (would have to new the property before)
      var mappedSection = propertyInfo.GetValue(fooConfiguration, null);
      section.SetValuesTo(mappedSection); // NOT WORKING, not taking .GetType() into account
    }
  }
}

Therefore I've changed the behavior to take the concrete type, which is returned by .GetType(), into account.

Currently this can only be achieved, by going down the rabbit hole:
var methodInfo = typeof(Section).GetMethod("SetValuesTo");
methodInfo.MakeGenericMethod(propertyInfo.PropertyType);
methodInfo.Invoke(section,
                  new[]
                  {
                    mappedSection
                  });

So if I understood correctly, the aim is to abstract the entire configuration file.
And to accomplish this, you assign sections to the properties of FooConfiguration objects via custom attributes.
Is that correct?
If so, it would indeed make sense to replace (or at least extend) the generic mapping methods by non-generic overloads.


Request: enable "indexType" on MySQL dialect.

I want to create spatial index to specific column by using this feature.
I know knex.raw make it possible to do.

This is very important, how can I create an index of type FULLTEXT?

@douglasjunior with knex.schema.raw() at least. I cannot remember if passing index type was already fixed.

@douglasjunior According to documentation, it is supported, see https://knexjs.org/#Schema-index
If you try and it doesn't work, please consider raising a PR with failing test for it, then we could address it rapidly.

I'm writing a PR right now. 😆

Done #2890.

@knex: perhaps close, as indexType was added with #2890.

  await knex.schema.alterTable('article_attribute', (table) => {
    table.index('value_text', 'article_attribute_value_text', 'FULLTEXT');
  });


add initial poc for code review llm

test webhook

🔍 Code review in progress... Please wait.

Code Review for README.md
READABILITY:

Consider using a more descriptive variable name to improve readability.
Add comments explaining the purpose of the function or method.

TESTABILITY:

Write unit tests for all functions and methods to ensure they work as expected.
Use assertions in your tests to validate that the output matches the expected result.

SECURITY:

Ensure that all dependencies are up-to-date and have known vulnerabilities.
Implement input validation to prevent security risks like SQL injection or cross-site scripting (XSS).

Code Review for projects/ai_code_reviewer/.gitignore
READABILITY:

Consider using a more descriptive variable name instead of 'x'.

TESTABILITY:
SECURITY:
Code Review for projects/ai_code_reviewer/.python-version
READABILITY:

Consider using a more descriptive variable name instead of 'x'.

TESTABILITY:

Add unit tests for the function to ensure its correctness.

SECURITY:

Ensure that user inputs are properly validated and sanitized to prevent security vulnerabilities such as SQL injection or cross-site scripting (XSS).
Use secure coding practices to prevent common security threats like buffer overflows, integer overflow, and format string attacks.

Code Review for projects/ai_code_reviewer/README.md
READABILITY:

The function 'process_user_input' should have a clear docstring explaining its purpose and parameters.

TESTABILITY:

Add unit tests for the function 'process_user_input' to ensure it works as expected.

SECURITY:

Use of eval() function can lead to code injection. Consider using safer alternatives like ast.literal_eval().
The return type of the function should be explicitly defined in its signature and return a boolean value for consistency.

Code Review for projects/ai_code_reviewer/code_reviewer.py
READABILITY:

The code diff contains a lot of unnecessary whitespace and indentation which can make it harder to read and understand. Consider simplifying the code structure for better readability.

TESTABILITY:

The code diff includes changes that could improve testability by adding more assertions or using different testing frameworks. This will help ensure that the code is robust and reliable.

SECURITY:

The code diff contains potential security vulnerabilities such as SQL injection, cross-site scripting (XSS), and command injection. Consider implementing input validation and sanitization to prevent these vulnerabilities.

Code Review for projects/ai_code_reviewer/config.py
READABILITY:

Consider using a more descriptive variable name instead of 'settings'.

TESTABILITY:
SECURITY:
Code Review for projects/ai_code_reviewer/examplediff.txt
READABILITY:
TESTABILITY:
SECURITY:
Code Review for projects/ai_code_reviewer/main.py
READABILITY:

The function 'process_user_input' has a try-except block without any specific error handling. It may hide unexpected exceptions and make the code harder to debug.

TESTABILITY:
SECURITY:

The use of eval() function in the 'process_user_input' function is not recommended due to potential security risks. Consider using safer alternatives like ast.literal_eval().
Missing type hints for input and output parameters in the 'process_user_input' function.

Code Review for projects/ai_code_reviewer/models/__init__.py
READABILITY:

Consider using a more descriptive variable name instead of 'x'.

TESTABILITY:

Add unit tests for the function to ensure its correctness.
Consider using mock objects or fixtures for testing external dependencies.

SECURITY:

Ensure that user inputs are properly validated and sanitized to prevent security vulnerabilities such as SQL injection or cross-site scripting (XSS).
Use secure coding practices, such as input validation and output encoding, to protect against common web application security threats.

Code Review for projects/ai_code_reviewer/models/code_review_feedback.py
READABILITY:

Consider using a more descriptive variable name to improve code readability.

TESTABILITY:

Add unit tests for the new function to ensure its correctness.
Consider using mock objects or test doubles to isolate the function from external dependencies.

SECURITY:

Ensure that user inputs are properly validated and sanitized to prevent security vulnerabilities such as SQL injection or cross-site scripting (XSS).
Use secure coding practices, such as using parameterized queries or prepared statements, to protect against SQL injection attacks.

Code Review for projects/ai_code_reviewer/pyproject.toml
READABILITY:
TESTABILITY:

Consider adding unit tests for the project's main components to ensure they work as expected.

SECURITY:
Code Review for projects/ai_code_reviewer/settings.toml
READABILITY:

Consider using a more descriptive variable name instead of 'llm'.

"

}

]

}

}

}

.


amenity/childcare icon

Over on the Name Suggestion Index I've noticed the icon for amenity/childcare is returning an error, and wanted to see if this was due to a file renaming from fas-child.svg to fas-child-reaching.svg
Re: nsi-7330

From looking into this it appears to be a taginfo file the NSI is using that's that's out of date.


Fix CCU registers for XMC4

Summary
Fix registers definition for CCU (Capture/Compare Unit) on XMC4
Impact
Original register definition ( https://github.com/apache/nuttx/pull/11600) missed the fact that there were multiple CCU modules AND multiple slices in each of this modules. This PR fixes that by adding related registers
Testing
Tested that on XMC4800 relax
@trns1997 @leducp  @Rdk-T

Hi @nicolas71640 nice contribution! We need more people using XMC4 and contributing code to it!

@nicolas71640 please fix the commit name to something like:
"arch/xmc4: Fix CCU registers"
Please fix the comment issues:
/* CCU40 CC40 Slice Register */ <<--- space after Register

Since many people approved and the commit title explains what it does...


feature: migrate showDialog to use multi-window

This relies on the engine built from this branch: https://github.com/flutter/engine/pull/56094
Design doc: https://docs.google.com/document/d/1eQG-IS7r4_S9_h50MY_hSGwUVtgSTRSLzu7MLzPNd2Y/edit?tab=t.0
This PR is a part of a group of PRs. Going from first to last, these must be merged in the following order:

#157515
#157517
#157518
#157519
#157520
#157521
#157522
#157523
#157524
#157525

Features:

Migrate showDialog to use multi-window
Add a showDialog application to the api_multiwindow examples

https://github.com/user-attachments/assets/8362c945-59e6-4deb-aecd-846f2ba5512b
Pre-launch Checklist

[x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[x] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
[x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
[x] I signed the [CLA].
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is [test-exempt].
[x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported.
[x] All existing and new tests are passing.

My feedback is based on your video:
You should hide the dialog until the first frame is rendered, in this special case you should also think about a borderless Window and make that inverse black rounded edges transparent.


Db contrib/waltz 3245 spindle app group

#3245

This pull request introduces 1 alert when merging fb2a566db312333c5769f601b8a3c0f491aebea4 into 18b62f9f1300d720ca59c9013cc5c9f651570a90 - view on LGTM.com
new alerts:

1 for Superfluous trailing arguments

Comment posted by LGTM.com


Markdown Conversion

This is a major refactoring of the site to use Markdown for content pages.
@rfblue2, @PaliC the site is now reformatted so that the <article> tag contains the main content on all pages. (Not that this is necessary given #15.)
Closes #10
Closes #14

LG

@dfan97 Please QA at earliest convenience


layer.getData() for more than one pixel at time

Is your feature request related to a problem? Please describe.
I was waiting for #13338 and #13389 for some time and this is a wonderful surprise for me. Thank a lot.
with ol.source.GeoTiff I have reduced and dropped a lot of software (es: mapserver, mapcache) that take me a lot of time and resources.
So what about a layer.getData() that returns all the tile buffer?
o better a layer.getData(extent) that returns the buffer that cover the requested extent.
This can lead to a next level in processing by moving some algorithm from server-side to client-side saving time, server-resources and avoiding latency.
For example I think at DEM ( Digital Elevation Model ) and some other related algorithm.
May be It could be possible to calculate on-the-fly the flow-direction or flow-accumulation or some other index.
This is just an idea that have to be improved.
One obstacle could be that some tile has to be merged before processing.
In addition to the tile-buffer we need some meta information like coordinates of the origin, pixelsize...etc.
Indeed pixelsize could be recalculated but is not the same.
What do you think about?

I think a getTileData method for DataTile and GeoTIFF sources could be useful general purpose utility, as suggested in https://github.com/openlayers/openlayers/issues/13197#issuecomment-1010074927 along with a corresponding getTileImage method for TileImage sources as in https://github.com/openlayers/openlayers/issues/13500#issuecomment-1076891620.   In those cases the methods are used to interchange between data and image formats to overcome the limitations of one format, but they could have other uses.  For your requirements you could determine the tiles needed using the tilegrid forEachTileCoord and getZForResolution methods.

Just wanted to refresh, un-stale, and upvote this feature request. It would be very helpful to have a getTileData method that would provide an array of values for a specified extent, I think almost everyone using DataTIle or GeoTIFF would benefit from it. Please consider implementing it in one of the upcoming versions. Thank you!


Standardize presentation of parameters and data structures

Looking at the current state of the spec documents from a high level, they do
not feel consistent in how the various parameters and data structures are
presented. This is a result of having preferred to create an
approachable prose driven style vs. a more bare bones approach like
the Beacon Chain, which is a valid approach but it has the downside of being more difficult to skim for critical definitions.
I think we should shift towards a structure that makes params and types more prominent, and more consistent in their presentation.
Proposal

Review all specs docs.
Add a  Definitions section immediately after the intro with the following sections (as needed):

Parameters
Type Aliases
Data Structures

Some examples to follow include:

https://eips.ethereum.org/EIPS/eip-2930#definitions
https://github.com/protolambda/EIPs/blob/2e3ba319f47dd691276c8f2be3fe7ce4ea31df76/EIPS/eip-4844.md#specification

Personally I'd like to see an explanation as to why this is so useful, because I just don't see it.
It's a bit dispiriting to start a document with a long list of definitions for which you have absolutely no context.
It's only useful once you already understand the specification and just need to look up things.
If furthermore, these definitions are not repeated at the point where they are explained, this organization actively hampers understanding, as one has to navigate back and forth (or not).
I'd also say that while Ethereum does indeed do it like that, a lot of other specifications (including the yellowpaper and most specs I've read, mostly in the domain of compilers and networking) don't do it this way. I think I can't think of another one (though I'm sure it exists).
A "reference" section (at the end) or document with only definitions might be useful however (and indeed, you do find this in serious specs, e.g. the Java language specification has an appendix with a consolidated grammar, which is otherwise spread out throughout the spec). If we should do this, we need to be wary of duplication (maybe find some way to automatically include text snippets from a single source).

It's a bit dispiriting to start a document with a long list of definitions for which you have absolutely no context.
It's only useful once you already understand the specification and just need to look up things.

Exactly :)
The spec has at least two audiences, implementers and everyone else.
I think this kind of section is especially useful to implementers, but also auditors once they've already read the spec to get context.

A "reference" section (at the end) or document with only definitions might be useful however...

I'm fine with moving this content to the end of the document. Would that work for you, or are there other changes to its presentation you'd suggest?

I'm fine with moving this content to the end of the document. Would that work for you, or are there other changes to its presentation you'd suggest?

I think I'd like the structures introduced throughout, and then copied at the end, to avoid a very tedious act of jumping back and forth. It's a bit more work to maintain, but it's much better for the reader. Would that be acceptable?


fix(tools.uri) normalization function excessive percent decoding

Summary
This is alternative to PR #8139 where we actually fix the normalization function to not do excessive percent-decoding on normalization.
When we added normalization kong.tools.uri.normalize, that function does percent-decoding on everything, except for the reserved characters.
That means that we basically percent-decode more than just the ranges of ALPHA (%41–%5A and %61–%7A), DIGIT (%30–%39), hyphen (%2D), period (%2E), underscore (%5F), or tilde (%7E). (so called Unreserved Characters)
Issues resolved
Fix #7913, FTI-2904
Alternative Implementation
See #8139

Hmm. RFCs are always a chore to interpret. It seems like the original mistake was that normalization was implemented with the assumption that unreserved chars == (all chars - reserved chars), which, as you know, turns out to be incorrect (according to the RFC).
IMO instead of over-decoding and re-encoding we should just fix the logic to be more selective in our decoding, according to the chars in section 2.3:

unreserved  = ALPHA / DIGIT / "-" / "." / "_" / "~"

I put a draft/poc of this in another branch (fix/uri-normalize-unreserved 6313dd22f38fb1d9678026bc76fe0494a1bc3d1a). Maybe take a look and tell me what you think?

Hmm. RFCs are always a chore to interpret. It seems like the original mistake was that normalization was implemented with the assumption that unreserved chars == (all chars - reserved chars), which, as you know, turns out to be incorrect (according to the RFC).
IMO instead of over-decoding and re-encoding we should just fix the logic to be more selective in our decoding, according to the chars in section 2.3:

unreserved  = ALPHA / DIGIT / "-" / "." / "_" / "~"

I put a draft/poc of this in another branch (fix/uri-normalize-unreserved 6313dd2). Maybe take a look and tell me what you think?

@Michael Martin yes, we discussed this with @Datong. The thing is that I am not sure which one is better. More selective percent decoding or not. I am not sure can there ever be things already percent decoded in ngx.var.request_uri or not. Do you? If there could be, then those need to be normalized back to percent encoded form. Similar question goes to route.paths.
Also the escaping includes % in non escape chars which is rather questionable.

If someone wants to work or try different approaches, here is a list that need to be taken in account:
definitions:
reserved chars: ! * ' ( ) ; : @ & = + $ , / ? % # [ ]
unreserved: - _ . ~
alphanumeric: a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9
other: * (meaning any char that is not mentioned above)
dot processing:
/. AND /./
/.. AND  /../
/%2e AND /%2e/
/.%2e AND /.%2e/
/.%2E AND /.%2E/
/%2e%2E AND /%2e%2E/
etc.
merge slashes (this is generally thought to be good thing to do, but it might change semantics in some cases):
//
/a//b
etc.
given this:
/ä/a/%2e./a%2E//a/%2e/./a/../a/%2e%2E/%5f%99%af%2f%2F
should normalize (I think) to this:
/%C3%A4/a./a/_%99%AF%2F%2F
What happens there?
ä -> being percent encoded to %C3%A4
%2e -> being uppercased to %2E
// -> slashes being merged
%5f -> being percent decoded to _
/../ -> dot segment being processed
/%2e/ -> dot segment being processed
/a%2E/ -> dot being percent decoded to /a./
In general:

unreserved and alphanumeric should be percent decoded
reserved should be kept as is (no percent decoding, no percent encoding) BUT percent encoded forms should be turned to uppercase
rest should be percent encoded

Then you need to implement dot processing.
Current issue with kong.tools.uri.normalize:

it over percent decodes
it does not percent encode

Pinged @dndx about this in a side channel, but I think the remaining unsolved item is what to do with input that contains raw unicode that is not percent-encoded. I believe this is what @bungle was trying to address by wrapping everything with escape().
Let's take /ö and /%2F%C3%B6, for instance. My opinion is that, from the router's perspective, these two paths should be treated as equivalent (though, enforcing this behavior has some interesting potential for breakage since today Route.paths will happily accept both as distinct inputs). Is that something we need to also to address in this PR (actually I'm not even sure if we have consensus on that being the "correct" behavior)?

My opinion is that, from the router's perspective, these two paths should be treated as equivalent

I share this view.

though, enforcing this behavior has some interesting potential for breakage since today Route.paths will happily accept both as distinct inputs). Is that something we need to also to address in this PR (actually I'm not even sure if we have consensus on that being the "correct" behavior)?

We run the normalization both to route.paths and to ngx.var.request_uri. If you have both forms in your DB:
/ö

and:
/%C3%B6

or even:
/%C3%b6

these should turn the path to:
/%C3%B6

And similarly we do it in ngx.var.request_uri. If people used this to mean different paths, it is breaking. But I consider it a fix rather than feature. So it was not working properly in a first place, and people who relied on it, will have to adapt. The change is for better in my opinion, even with a slight change for breakage on configs that rely on this undocumented bug.

@flrgh @bungle In order to make our internal behavior less confusing, I proposed during the last meeting that we keep everything internal to Kong non-normalized and escape the path right before we send it to the upstream. Reason being dealing with non-encoded paths internally makes most sense from a API perspective, and it avoids any confusion about whether something should be percent encoded or not.
So in case of /uri/ö, everything that uses the URI within Kong should see the utf-8 character as-is. Let's say if we have a request transformer config that transform the URI into /foo/ö, the request transformer should never need to know whether it needs to escape the utf-8 character, and the user, when using "ö" inside their config, should not need to lookup the hex representation of it.
Then, before Kong sends the request to the upstream, it encodes any character that is not reserved and not standard ASCII. For example, it will encode ö to  %C3%B6 but will not encode / (as it is a reserved character).
IMO this behavior is a lot less confusing from a user and plugin's perspective. We ensure a unified representation when dealing with the URI within Kong.
With that, it seems that maybe https://github.com/Kong/kong/pull/8140/files#diff-093344a0609553c69b475fb5cbd57a202796383eb6fca553d26ac6a1f40d4492L1353 need to be reverted back so the behavior is actually correct afterwards.

With that, it seems that maybe https://github.com/Kong/kong/pull/8140/files#diff-093344a0609553c69b475fb5cbd57a202796383eb6fca553d26ac6a1f40d4492L1353 need to be reverted back so the behavior is actually correct afterwards.

Instead of doing escape there, should we do normalize instead. And if so, I think we need to escape on normalize.

Also, be noticed that we only handle percent encodings, but not others in regex, so if someone writes a regex router path like "\中文", it will never match.

The key points that people argue with are:

Normalization regex is not practical, so we need a standard(normalized) format for users to match with, and that is an interface detail;
As we decide to unify the format of URI of all uses in kong, the plugins (especially external plugins) need to deal with the returned value, and it may contain characters with unknown or even illegal encoding (or even a binary string, containing characters including "\0")

The "normalized format" should also serve as a standard format and a unified format.
I've discussed #2 with @fffonion offline, and we agree that it's fine for external plugins to have bytes as the return type for get_uri.

Tested with Nginx:
location ~ ^/id/(?<id>\S+)$ {
    # use variable $myvar here
    return 200 "$id";
}

We got 404 for /id/test%20space, and 200 with message .. for /id/%2e%2E.
So, this solution is consistent with Nginx.

[x] Correct normalization behavior
[x] Apply normalization to all URI-related interfaces
[ ] Document normalization process to URI-related interfaces
[ ] Stop percent decoding regex path


How to stop CMakeTools from passing CMAKE_BUILD_TYPE to cmake?

Conan will not generate multi config file otherwise.

What generator are you using?
CMake Tools is passing CMAKE_BUILD_TYPE only for single-config generators.
https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html
https://cmake.org/cmake/help/v3.9/prop_gbl/GENERATOR_IS_MULTI_CONFIG.html


Release: 12.07.2022

:tada: This PR is included in version 1.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Update CODEOWNERS

What this PR does / why we need it:
Add johnsonshih to code owner list
Special notes for your reviewer:
If applicable:

[ ] this PR has an associated PR with documentation in akri-docs
[ ] this PR contains unit tests
[ ] added code adheres to standard Rust formatting (cargo fmt)
[ ] code builds properly (cargo build)
[ ] code is free of common mistakes (cargo clippy)
[ ] all Akri tests succeed (cargo test)
[ ] inline documentation builds (cargo doc)
[x] all commits pass the DCO bot check by being signed off -- see the failing DCO check for instructions on how to retroactively sign commits

Thanks for all of the great work @johnsonshih! 🥳


Please allow resizing of "unread" widget, or provide 1x1 widget

Hi !
Apparently (at least on my LG G4 5.1 Lollipop with trebuchet as home app), the "unread" widget is always 1x2. It doesn't seem to need that much space (1x1 should be fine), and it's not possible to resize it.
It would be nice to have a resizable one, or at least 1x1 widget provided.
Cheers !
nodens

Fixed in the dev branch


Taskbar does not run properly on Android-x86

On Android-x86 9.0-r2 taskbar cannot open its settings dialog. It seems to crash: "Taskbar keeps stopping".
Furthermore, the title bar buttons of freeform windows don't work. The left button does nothing (no idea what it's supposed to do), the middle one seems to minimize the app (if that's its purpose) and the right one (fullscreen?) renders the background black, but the window remains unchanged.

@ib there are some improvements(including problems you mentioned) after Android-x86 9.0 r2, but it doesn't been released with Android-x86 9.0 r3. If you want it, you can show your need for Android-x86 9.0 r3 at Android-x86 Google groups.
If Taskbar crashes on Android-x86 9.0 r2, it's better if you could provide stack-trace of crashing.

there are some improvements(including problems you mentioned) after Android-x86 9.0 r2, but it doesn't been released with Android-x86 9.0 r3

I have compiled the pie-x86 branch of Android-x86 myself now. (Wow, that took a while!)
Taskbar is now version 6.1.1 and behaves much better. The settings dialog can be opened and the fullscreen title bar button works too.
However, although you can configure windows to open "large", it does not have any effect. Instead, Taskbar remembers the position and size changed by the user for each window, even if that is not configured. A bug?
The left and center title bar buttons still leave me stumped. While the middle one does something like minimizing, the left one does nothing. (Is there no description of the buttons anywhere?)

I have compiled the pie-x86 branch of Android-x86 myself now. (Wow, that took a while!)
Taskbar is now version 6.1.1 and behaves much better. The settings dialog can be opened and the fullscreen title bar button works too.

Cool. I know building Android-x86 is difficult for many guys. Congratulations.

However, although you can configure windows to open "large", it does not have any effect. Instead, Taskbar remembers the position and size changed by the user for each window, even if that is not configured. A bug?

It's not a bug. It's a feature. I have patched frameworks/base to persist window bounds.

The left and center title bar buttons still leave me stumped. While the middle one does something like minimizing, the left one does nothing. (Is there no description of the buttons anywhere?)

Could you provide a screenshot for title bar? I can explain functions of those buttons. Some are added by me, and some are added by @electrikjesus.

It's not a bug. It's a feature. I have patched frameworks/base to persist window bounds.

In this case, the settings for the default window size on opening (as the setting to always save window sizes) don't make sense anymore, do they?
Could you please point me to the commit? I'm just curious.
It seems that Android-x86's packages-apps-Taskbar is pretty far behind this master repository. Would it make sense to pull the missing commits before I build Android-x86?

Could you provide a screenshot for title bar? I can explain functions of those buttons.

Here you are.

Could you please point me to the commit? I'm just curious.

The change of ActivityLaunchParamsModifier in https://osdn.net/projects/android-x86/scm/git/frameworks-base/commits/f3b4e6b21d6372c2118cf7f200469c897b296929.

It seems that Android-x86's packages-apps-Taskbar is pretty far behind this master repository. Would it make sense to pull the missing commits before I build Android-x86?

I don't know whether Taskbar can built with hidden API helper library added recently. But you can try, or use older version before adding hidden API helper library.

Here you are.

The four buttons are for: pip, minimize, maximize(fullscreen) and close. See https://osdn.net/projects/android-x86/scm/git/frameworks-base/blobs/pie-x86/core/res/res/layout/decor_caption.xml.

I don't know whether Taskbar can built with hidden API helper library added recently.

It could not. (Your recent patch only came after I had tried.) Instead, I patched Android-x86 to not include Taskbar, which allows installing the most recent version now.

The four buttons are for: pip, minimize, maximize(fullscreen) and close.

Thank you for the explanation.
However, I don't notice any difference between the minimize button and the close button. The close button does not close (quit) the application, but sends it to the background. The same seems to happen when minimizing, doesn't it?
Maybe I am going to remove all the header buttons except for minimizing and maximizing and see how that goes.
There are a few Taskbar features that I would like to be improved:

The start menu grid is tiny. It would be useful if its size (rows / columns) could be configured.

I don't like the windows flying in and out on launch and close. (I was able to stop that with a developer option, but maybe a Taskbar option would be useful.)

If possible, the close button should actually close the application (like the close button in overview mode).

If possible, the recent apps should be exactly those that are still running in the background.

However, I don't notice any difference between the minimize button and the close button. The close button does not close (quit) the application, but sends it to the background. The same seems to happen when minimizing, doesn't it?

Close button will close app, and it will quit. Minimize button just moves app to back.

Maybe I am going to remove all the header buttons except for minimizing and maximizing and see how that goes.

The logic is simple, and you can read code to investigate the behavior of captionbar buttons.

The start menu grid is tiny. It would be useful if its size (rows / columns) could be configured.

Does not Taskbar have this function? It's a good feature. I think you can file a new issue for it if there is no other existing issue for it. Maybe cc @farmerbb for this feature request.

I don't like the windows flying in and out on launch and close. (I was able to stop that with a developer option, but maybe a Taskbar option would be useful.)

In higher Android version, Launcher can use system callback to control app opening/closing animations. The Launcher3 is an example. But I don't know whether it's open for normal app, instead of system app. Anyway, we can use gradle to build Launcher3, and maybe we can use hidden API stub mechanism to enable those APIs if they are hidden APIs, although I don't think it is a good idea for normal Launcher app. If you want to build Taskbar with system app, maybe you can investigate it. :)

If possible, the close button should actually close the application (like the close button in overview mode).

I think this button works for it. But it will not remove cache/history from system, and it's the reason you can see it on overview window/recents. You can use adb shell ps -A to check its' process state after clicking close button(it should work for normal app without hack process restarting mechanism).

If possible, the recent apps should be exactly those that are still running in the background.

I don't know what you mean this statement. Could you explain it more?

It could not. (Your recent patch only came after I had tried.) Instead, I patched Android-x86 to not include Taskbar, which allows installing the most recent version now.

Maybe you can try again. I have tested it for Android-x86 pie.

If possible, the close button should actually close the application (like the close button in overview mode).

I think this button works for it. But it will not remove cache/history from system, and it's the reason you can see it on overview window/recents.

I see. Well, the feature request would be to clean up cache/history then.

If possible, the recent apps should be exactly those that are still running in the background.

I don't know what you mean this statement. Could you explain it more?

The recent apps to display shouldn't be any apps I've used, but those apps that are currently still active in the background (i.e. not closed, not quit).
There is code for it (showRunningAppsOnly()), but Taskbar seems to have to be system app for this (don't know if this is a technical requirement). Currently (with my approach) it's easy to deinstall or update Taskbar.

I see. Well, the feature request would be to clean up cache/history then.

I think we should keep this behavior. The cache of snapshot can help to improve cold-starting experience.

The recent apps to display shouldn't be any apps I've used, but those apps that are currently still active in the background (i.e. not closed, not quit).

The same as above.

I don't know whether Taskbar can built with hidden API helper library added recently.

Maybe you can try again.

I did. It works like a charm now. Thank you very much for the patch.
Building as a system app has the advantage that I can now choose only the running apps as "recent apps". The disadvantage is that updating Taskbar requires recompiling it and updating Android-x86.
Not an easy decision.

If possible, the close button should actually close the application (like the close button in overview mode).

I think this button works for it.

It doesn't seem to do that.

You can use adb shell ps -A to check its' process state after clicking close button

I did. The process remains existent until using the close button in the overview mode.

I dont know how to build. please help share iso for r3, since i do have same problem with taskbar button ( maximize and minimize )
Thank You

@phicha20224
Which build do you mean? Both of them (Android-x86 and Taskbar) are not so easy to explain.


[Proposal] Add Monero (XMR) as a donation option

Hey.
I want to support you and donate some XMR.
Choose your wallet here: https://www.getmonero.org/downloads/
Ping me please with @ when you add a Monero wallet address.
A very cool Gallery app!
Thanks.

@TheFuzzStone
48JMiDR8mZiEis8V5pWtxv3r121K6fqqZfhajiewCbff27GnucdyLfkQ12Fr6ZM1eR9Botdu3Rx1bidmHyLTZBWnJ4AJKot

@IacobIonut01, done. Thanks for the cool app. :)


Update Release Branch

Feature Request or Enhancement
Summary of Request
Hi, the devel branch is significantly ahead of the release tag. Could a new release tag be cut from the devel branch please.
Describe Alternatives You've Considered
None

hi @zac90
This should all be fixed now i hope.
many thanks
uk-bolly

Yep thanks.


 This type is incompatible with
672:   ajaxSetup(options: JQueryAjaxSettings): void;
                          ^^^^^^^^^^^^^^^^^^ JQueryAjaxSettings. See lib: interfaces/jquery.js.flow:672

Found 1 error

$ cat foo.js
// @flow -*- indent-tabs-mode: nil; tab-width: 2; js2-basic-offset: 2; coding: utf-8 -*-
$.ajaxSetup({
  url: "ping.php"
});

$ cat .flowconfig
[ignore]

[include]

[libs]
interfaces/

[options]

$ flow version
Flow, a static type checker for JavaScript, version 0.32.0

Am I missing something obvious here? It seems like this ought to work …

Seems like this is https://github.com/flowtype/flow-typed/pull/37#issuecomment-214628450

@unhammer try changing the JQueryAjaxSettings declaration from a class to an interface.

I tried that, but then I start to get errors that beforeSend is required.  I'm not sure how to make it optional, as I'm in the same boat as @unhammer (https://github.com/flowtype/flow-typed/pull/37#issuecomment-249144410)


[FEATURE] Checkboxes

Hey @harshhhdev! 🚀 great work! I just sponsored you (via HyperisAi) as a thank you for this command bar. It’s so easy to use and work with ✨
Is your feature request related to a problem? Please describe.
I have one problem: the command bar we’re building should have checkboxes built in (for a filtering function). Is that something you could build?
Describe the solution you'd like
Here’s a great example from Linear:

hey @heymartinadams! thank you for the sponsorship :)
i'm willing to build this out for you.
i'll get on it as soon as the other issues you've opened are fixed.

Thank you so much @harshhhdev! Honestly, I sponsored you because I was so impressed by what you built, not to get you to fix bugs/build additional features (although I won’t mind if you do).
Tried cmdk and a few other command bars, and yours stands out by far imo.


Langchain text splitters need a functionality to store chunk metadata

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code
    texts = []
    all_items = os.listdir("files/")
    for _, item in enumerate(all_items):
        print("Processing file: {}".format(item))

        # Generate a unique id for each document
        unique_id = str(uuid.uuid4())
        text_splitter = RecursiveCharacterTextSplitter(chunk_size=200, chunk_overlap=0, add_start_index=True)
        loader = PDFMinerLoader("files/{}".format(item), extract_images=True)
        docs = loader.load_and_split(text_splitter)

        # Add unique id and line range to each document
        for doc in docs:
            doc.metadata["unique_id"] = unique_id

        texts.extend(docs)

    return texts

Error Message and Stack Trace (if applicable)
No response
Description
Langchain text splitters needs a functionality to store chunk metadata. Either a start and end line number in pdf or coordinates in pdf.
Currently its not possible in the text splitters.
There are 2 options for this to store the chunk information.

Store from and to line.
{
"chunk": "reversible llowing ......",
"pageNumber": 1,
"fromLine": 27,
"toLine": 40,
"documentId": "8a385d38-63ed-4821-a5c2-2e7309d5a256"
},

storing the coordinates of a chunk

{
"text": "\n Coach : the ai chatbot - We will have several coaches with different names, each with a unique",
"coordinates": [
{
"x": 54,
"y":<PHONE_NUMBER>925
},
{
"x":<PHONE_NUMBER>54038,
"y":<PHONE_NUMBER>425
}
],
"pageSize": {
"width": 612,
"height": 792
},
"pageNumber": 1
},
Looking for some help here. Thanks!
System Info
$ pip freeze | grep langchain
langchain==0.1.9
langchain-community==0.0.24
langchain-core==0.1.40
langchain-openai==0.0.8
windows
python 3.11

I am also interested in the answer.
I split my documents with RecursiveCharacterTextSplitter and want to add the start and end line of the chunk in the metadata for each chunk.
How can I do so?