feat: Add Wikipedia ingest connector

Hello!
Pull Request overview

Add Wikipedia data connector for ingest.

I have ticked off the checklist.
The connector can process a Wikipedia page

and output the HTML,
the plain text contents,
and the summary.

No API key required

Also add test case verifying that 3 files are indeed created (one for HTML, one for text, one for the summary)

The data connector checklist

[x] Create a new module under unstructured/ingest/connector/ implementing the 3 abstract base classes, similar to unstructured/ingest/connector/s3_connector.py.

[x] The subclass of BaseIngestDoc overrides process_file() if extra processing logic is needed other than what is provided by auto.partition().

[x] Update unstructured/ingest/main.py with support for the new connector.
[x] Create a folder under examples/ingest that includes at least one well documented script.
[x] Add a script test_unstructured_ingest/test-ingest-<the-new-data-source>.sh. It's json output files should have a total of no more than 100K.
[x] Git add the expected outputs under test_unstructured_ingest/expected-structured-output/<folder-name-relevant-to-your-dataset> so the above test passes in CI.
[x] Add a line to test_unstructured_ingest/test-ingest.sh invoking the new test script.
[x] If additional python dependencies are needed for the new connector:

[x] Add them as an extra to setup.py.
[x] Update the Makefile, adding a target for install-ingest-<name> and adding another pip-compile line to the pip-compile make target. See this commit for a reference.
[x] The added dependencies should be imported at runtime when the new connector is invoked, rather than as top-level imports.

[x] Honors the conventions of BaseConnectorConfig defined in unstructured/ingest/interfaces.py which is passed through the CLI:

[x] If running with an .output_dir where structured outputs already exists for a given file, the file content is not re-downloaded from the data source nor is it reprocessed. This is made possible by implementing the call to MyIngestDoc.has_output() which is invoked in MainProcess._filter_docs_with_outputs.
[x] Unless .reprocess is True, then documents are always reprocessed.
[x] If .preserve_download is True, documents downloaded to .download_dir are not removed after processing.
[x] Else if .preserve_download is False, documents downloaded to .download_dir are removed after they are successfully processed during the invocation of MyIngestDoc.cleanup_file() in process_document
[x] Does not re-download documents to .download_dir if .re_download is False, enforced in MyIngestDoc.get_file()
[x] Prints more details if .verbose similar to unstructured/ingest/connector/s3_connector.py.

Details
Installation
I've added wikipedia as a dependency, installable via pip install unstructured["wikipedia"]. I ran pip-compile to add an requirements/ingest-wikipedia.txt file.
CLI Help
The usage of the unstructured-ingest CLI is now like so:
Usage: unstructured-ingest [OPTIONS]

Options:
  --s3-url TEXT                   Prefix of s3 objects (files) to download.
                                  E.g. s3://bucket1/path/. This value may also
                                  be a single file.
  --s3-anonymous                  Connect to s3 without local AWS credentials.
  --wikipedia-page-title TEXT     Title of a Wikipedia page, e.g. "Open source
                                  software".
  --subreddit-name TEXT           The name of a subreddit, without the "r\",
                                  e.g. "machinelearning"
  --reddit-client-id TEXT         The client ID, see https://praw.readthedocs.
                                  io/en/stable/getting_started/quick_start.htm
                                  l#prerequisites for more information.
  --reddit-client-secret TEXT     The client secret, see https://praw.readthed
                                  ocs.io/en/stable/getting_started/quick_start
                                  .html#prerequisites for more information.
  --reddit-user-agent TEXT        The user agent to use on the Reddit API, see
                                  https://praw.readthedocs.io/en/stable/gettin
                                  g_started/quick_start.html#prerequisites for
                                  more information.
  --reddit-search-query TEXT      If set, return posts using this query.
                                  Otherwise, use hot posts.
  --reddit-num-posts INTEGER      The number of posts to fetch.
  --re-download / --no-re-download
                                  Re-download files from s3 even if they are
                                  already present in --download-dir.
  --download-dir TEXT             Where s3 files are downloaded to, defaults
                                  to tmp-ingest-<6 random chars>.
  --preserve-downloads            Preserve downloaded s3 files. Otherwise each
                                  file is removed after being processed
                                  successfully.
  --structured-output-dir TEXT    Where to place structured output .json
                                  files.
  --reprocess                     Reprocess a downloaded file from s3 even if
                                  the relevant structured output .json file in
                                  --structured-output-dir already exists.
  --num-processes INTEGER         Number of parallel processes to process docs
                                  in.  [default: 2]
  -v, --verbose
  --help                          Show this message and exit.

Note the new Wikipedia-related argument: wikipedia-page-title. Note also that the title does not need to be exact, "Open source software" automatically redirects to Open-source software, for example.
Sample usage
Usage of the Wikipedia connector is very simple, see the following example:
unstructured-ingest \
    --wikipedia-page-title "Open Source Software" \
    --structured-output-dir wikipedia-ingest-output \
    --num-processes 2 \
    --verbose

Sample output
When running the above script, three separate files get created:

Open-source software-1137981045-html.json:[
  {
    "element_id": "c9c406753ab759f8dc334ee03f09217f",
    "text": "Software licensed to ensure source code usage rights",
    "type": "UncategorizedText",
    "metadata": {
      "page_number": 1
    }
  },
  {
    "element_id": "2ce050895e07a33f4c9be32fdb948fa0",
    "text": "Open-source software shares similarities with ",
    "type": "Title",
    "metadata": {
      "page_number": 1
    }
  },
  {
    "element_id": "dbdf77bd9243c770e85ace8a13931703",
    "text": "free software and is part of the broader term",
    "type": "UncategorizedText",
    "metadata": {
      "page_number": 1
    }
  },
  {
    "element_id": "1f0c3fdc501f4323f1654785ad490e2f",
    "text": "free and open-source software.",
    "type": "Title",
    "metadata": {
      "page_number": 1
    }
  },
...

Note that this is output from the HTML parser, which splits up sentences unevenly like this due to the numerous URLs that are within the text. In practice, the .txt output will be more useful until the HTML reader is improved.
Open-source software-1137981045-txt.json:[
  {
    "element_id": "81d6e1df7a1c517883e41bf58b68266a",
    "text": "Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Open-source software may be developed in a collaborative public manner. Open-source software is a prominent example of open collaboration, meaning any capable user is able to participate online in development, making the number of possible contributors indefinite. The ability to examine the code facilitates public trust in the software.Open-source software development can bring in diverse perspectives beyond those of a single company. A 2008 report by the Standish Group stated that adoption of open-source software models has resulted in savings of about $60 billion per year for consumers.Open source code can be used for studying and allows capable end users to adapt software to their personal needs in a similar way user scripts and custom style sheets allow for web sites, and eventually publish the modification as a fork for users with similar preferences, and directly submit possible improvements as pull requests.",
    "type": "NarrativeText",
    "metadata": {}
  },
  {
    "element_id": "b2e8673b1d014f5dbc4ac8e715fe53c5",
    "text": "== History ==",
    "type": "Title",
    "metadata": {}
  },
  {
    "element_id": "d8acde877a487fd11dd16455a2f718ce",
    "text": "In the early days of computing, such as the 1950s and into the 1960s, programmers and developers shared software to learn from each other and evolve the field of computing. For example, Unix included the operating system source code for users. Eventually, the open-source notion moved to the wayside of commercialization of software in the years 1970–1980. However, academics still often developed software collaboratively. Examples are Donald Knuth in 1979 with the TeX typesetting system and Richard Stallman in 1983 with the GNU operating system. In 1997, Eric Raymond published The Cathedral and the Bazaar, a reflective analysis of the hacker community and free-software principles. The paper received significant attention in early 1998, and was one factor in motivating Netscape Communications Corporation to release their popular Netscape Communicator Internet suite as free software. This source code subsequently became the basis behind SeaMonkey, Mozilla Firefox, Thunderbird and KompoZer.",
    "type": "NarrativeText",
    "metadata": {}
  },
  {
    "element_id": "7add00725c0661516f473e16662b7415",
    "text": "Netscape's act prompted Raymond and others to look into how to bring the Free Software Foundation's free software ideas and perceived benefits to the commercial software industry. They concluded that FSF's social activism was not appealing to companies like Netscape, and looked for a way to rebrand the free software movement to emphasize the business potential of sharing and collaborating on software source code. The new term they chose was \"open source\", which was soon adopted by Bruce Perens, publisher Tim O'Reilly, Linus Torvalds, and others. The Open Source Initiative was founded in February 1998 to encourage use of the new term and evangelize open-source principles.While the Open Source Initiative sought to encourage the use of the new term and evangelize the principles it adhered to, commercial software vendors found themselves increasingly threatened by the concept of freely distributed software and universal access to an application's source code. Microsoft executive Jim Allchin publicly stated in 2001 that \"open source is an intellectual property destroyer. I can't imagine something that could be worse than this for the software business and the intellectual-property business.\" However, while free and open-source software has historically played a role outside of the mainstream of private software development, companies as large as Microsoft have begun to develop official open-source presences on the Internet. IBM, Oracle, Google, and State Farm are just a few of the companies with a serious public stake in today's competitive open-source market. There has been a significant shift in the corporate philosophy concerning the development of FOSS.The free-software movement was launched in 1983. In 1998, a group of individuals advocated that the term free software should be replaced by open-source software (OSS) as an expression which is less ambiguous and more comfortable for the corporate world. Software developers may want to publish their software with an open-source license, so that anybody may also develop the same software or understand its internal functioning. With open-source software, generally, anyone is allowed to create modifications of it, port it to new operating systems and instruction set architectures, share it with others or, in some cases, market it. Scholars Casson and Ryan have pointed out several policy-based reasons for adoption of open source – in particular, the heightened value proposition from open source (when compared to most proprietary formats) in the following categories:",
    "type": "NarrativeText",
    "metadata": {}
  },
  ...

Open-source software-1137981045-summary.json:[
  {
    "element_id": "81d6e1df7a1c517883e41bf58b68266a",
    "text": "Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Open-source software may be developed in a collaborative public manner. Open-source software is a prominent example of open collaboration, meaning any capable user is able to participate online in development, making the number of possible contributors indefinite. The ability to examine the code facilitates public trust in the software.Open-source software development can bring in diverse perspectives beyond those of a single company. A 2008 report by the Standish Group stated that adoption of open-source software models has resulted in savings of about $60 billion per year for consumers.Open source code can be used for studying and allows capable end users to adapt software to their personal needs in a similar way user scripts and custom style sheets allow for web sites, and eventually publish the modification as a fork for users with similar preferences, and directly submit possible improvements as pull requests.",
    "type": "NarrativeText",
    "metadata": {}
  }
]

This is the summary straight from the Wikipedia API.

These files are named like {wikipedia page title}-{last revision id}-(html|summary|txt)
Implementation details
The implementation involves three subclasses of WikipediaIngestDoc:

WikipediaIngestHTMLDoc
WikipediaIngestTextDoc
WikipediaIngestSummaryDoc

Each of these files update text and filename properties and the _output_filename method, while the heavy lifting is done in methods defined in WikipediaIngestDoc. For each page, one instance of each of these three classes is created, each responsible for one of the three output files. This implementation is quite modular.
Test case
As required, this PR implements a test case. However, as Wikipedia is constantly updated, we can't use an "expected output" folder. Instead, we test that indeed three files have been created.

Let me know if you need anything of me at this point! Also, notify me if I need to resolve any merge conflicts: I'll be ready to help out.

Tom Aarsen

This has served it's purpose - there's a PR on the upstream now.


Gua pass

Gua Pass is a Membership card issued by Gua DAO, the first investment-focused DAO for Bitcoin Ordinals. 'Gua' is a Web3 culture that has spontaneously formed within the Pixel Pepes community.

pls remove .idea directory


Corrected overview site

Fixes #1553
Screenshots for the change:

https://agbilotia1998.github.io/Webgen-overview/ - would work once site is published I've pushed the commit.

@geekyd done please review - https://agbilotia1998.github.io/Webgen-overview/

@geekyd done please review!

Looks fine for now, but we need to iterate it further on that.


Documentation for the Image Manifest V2 format

cc @jlhawn @bfirsh @dmcgowan @icecrime

This file should go in "docs/spec/manifest-v2-1.md".

One small nit, on top of @stevvooe notes, and that should be ready to go!

:heart_eyes:

Review feedback implemented.

LGTM!

Derek's feedback included.
I see light at the end of the tunnel.


[CRASH] (Enter your description here)

Hard crash experienced
Error details :

                        OS: Win32NT
                   Version: Microsoft Windows NT 10.0.22631.0
           OS Architecture: True
          APP Architecture: True
                  Language: Unknown
               APP Version: 3.0.1
                Executable: C:\Program Files\WingetUI\WingetUI.exe

Crash Message: The text associated with this error code could not be found.

Cannot locate resource from 'ms-appx:///Microsoft.UI.Xaml/Themes/themeresources.xaml'. [Line: 0 Position: 0]

Crash Traceback:

Hello,
Which .NET8 version do you have installed? (you can check this from Windows Settings -> Apps -> Installed Apps -> Find NEt Runtime/SDK)

No Net Runtime installed on my system.
Should I dl it?
[image: Mailtrack]
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality11&
Sender
notified by
Mailtrack
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality11&
04/10/24,
05:32:29 PM
On Wed, Apr 10, 2024 at 5:19 PM Martí Climent @.***>
wrote:

Hello,
Which .NET8 version do you have installed? (you can check this from
Windows Settings -> Apps -> Installed Apps -> Find NEt Runtime/SDK)
—
Reply to this email directly, view it on GitHub
https://github.com/marticliment/WingetUI/issues/2112#issuecomment-2048453032,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXPP4I6GNX3NZWZOLWL6AQTY4WUGXAVCNFSM6AAAAABGA75CSWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBYGQ2TGMBTGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

me too, my NET8 8.0.4

try following steps on #2000 to install  .net 8.0.2

Hello,
Please test this custom build and let me know if it works: https://drive.google.com/file/d/1NO8jhMDBPmMGvlnaW5MXv5vjYjvmFJLa/view?usp=sharing
Thanks!

Perfect.
Thanks for your prompt help.
[image: Mailtrack]
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality11&
Sender
notified by
Mailtrack
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality11&
04/11/24,
10:27:38 AM
On Thu, Apr 11, 2024 at 10:22 AM Martí Climent @.***>
wrote:

Hello,
Please test this custom build and let me know if it works:
https://drive.google.com/file/d/1NO8jhMDBPmMGvlnaW5MXv5vjYjvmFJLa/view?usp=sharing
Thanks!
—
Reply to this email directly, view it on GitHub
https://github.com/marticliment/WingetUI/issues/2112#issuecomment-2049811122,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXPP4I3AIVEU3H6QTTMVXXTY42MB7AVCNFSM6AAAAABGA75CSWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBZHAYTCMJSGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

So it does work?

Hello, everyone,
WingetUI 3.0.2 has been published. It fixes

Crashes with .NET Sdk 8.0.3 (no launch at all)
Crashes with .NET Sdk 8.0.4 (Cannot locate resource from 'ms-appx:///Microsoft.UI.Xaml/Themes/themeresources.xaml)
Crashes with the App Sdk (This app requires whe Windows App runtime) when it was already installed
Crashes when elevating WingetUI from non-admin users

WingetUI 3.0.2 can be downloaded directly from here. If the crashes persist, please reply here and I will reopen the issue.


Ability to import event types

Great tool, really really helpful 🙌 This is more of an info sharing issue than anything else, so feel free to close once you've seen it.
When using web3, I wanted a way to be able to use the same typed event handling function for both new events and for historical events. This means that event handling function can not be defined in-line, and therefore the function parameters need to be explicitly typed. Because these types aren't actually exported however, this is not easy to do.
To get at them, I've ended up with this EventType type:
export type EventType<E extends ContractEvent<any>> = Parameters<
  Extract<Parameters<E>[1], Function>
>[1]

which I use within my code like so:
type TransferEvent = EventType<Erc20Contract['events']['Transfer']>

I'm posting this issue as it may be helpful for other developers too. It may even make sense to make this, or something like it, directly available from the types.d.ts file.

This is a valid point thanks! I am gonna close this for now and if more people find this useful we can make your EventType type part of generated code or some helper lib.
I think using something like Erc20Contract['events']['Transfer'] is a way to go to get event type.

Thanks for sharing!
I also think it would be beneficial to export each event as a separate interface that people could import and us.

@AuHau I've added exactly this in https://github.com/ethereum-ts/TypeChain/pull/219 For now only for web3v1 branch.
I am gonna reopen this issue until it's merged.

https://github.com/ethereum-ts/TypeChain/releases/tag/v2.0.0

Many thanks @krzkaczor, much appreciated 🙇

Super-duper awesome! Thanks!


[4983] New rake task to update hesa_students table

Context
https://trello.com/c/45l1fWTK/4983-refresh-the-hesastudents-table-with-the-records-for-c22053-collection
There is work been done to remove the duplicate HESA trainees from Register after providers mistakely submitted trainees with the wrong HESA ID. Populating the hesa_students table with the latest HESA collection will help facilate this goal.
Changes proposed in this pull request

New rake task hesa:update_students_table
Migration file to add more fields to the hesa_students table after recent updates to Hesa::Parsers::IttRecord::TAG_MAP

Guidance to review

Run rake hesa:update_students_table
XML should be fetched and processed (takes awhile, but there is a progress bar)

Important business

[ ] Does this PR introduce any PII fields that need to be overwritten or deleted in db/scripts/sanitise.sql?
[ ] Does this PR change the database schema? If so, have you updated the config/analytics.yml file and considered whether you need to send 'import_entity' events?

NB: Please notify the #twd_data_insights team and ask for a review if new fields are being added to analytics.yml

 Refresh the hesa_students table with the records for C22053 collection


Improve Lighthouse Performance of Home Page

With the performance fixes and adjustments done in the previous tickets, it increased the performance for this page to not needing work


Prepare for v0.5.0 release

spotify-player has changed a lot since the version v0.1.0.
As the application has gradually become quite usable, v0.5.0 is going to be the release to be announced on public forums such as HN and Reddit.
To prepare for this release, things probably need to do:

[x] add a file logger.
[x] add a library page and use it as the welcoming page.
[x] handle playback change events not from interactions with the application's integrated client but from interactions with other clients through Spotify connect.
[x] improve README and documentations in general. Add a new demo/examples for v0.5.0-pre-release.

Hey @0323pin, I have published the new version v0.5.0 and made a HN post. You can check those out =)).
I probably will make another Reddit post later today. So stay tuned for that as well 💪

@0323pin posted in Reddit

@aome510 If I knew, I'd wait until today.
Posted yesterday on reddit, https://www.reddit.com/r/UsabilityPorn/comments/qlwo8b/frankenwm_living_in_the_tui/

wow that looks nice 💪 !

@aome510 feel free to use them, https://codeberg.org/pin/franken-nbsd/src/branch/main/home/.config/hn-tui.toml
https://codeberg.org/pin/franken-nbsd/src/branch/main/home/.config/spotify-player
I've just returned to a dark theme after more then a year using a light one.


[Feature]: Ice Floor Theo Toggle

Request Description
A toggle that let's theo slide along ice floors just as crystal bombs do. It's for a collab map i'm making, where it being theo is important.
Target Date
No response

The icy floor entity is really just a graphical entity, all the sliding logic is specific to the crystal bomb. Adding new holdables would require some complicated logic to be patched into Theo/jellies/etc. This might make more sense as a request to Vortex Helper since they already have a Floor Booster entity that has player friction?


[WIP] Swift 4

i've converted the project to swift 4
this also closes #1
As I explained in https://github.com/ProjectDent/LinkLabel/pull/2/commits/c5f1c0b64c523fcf79ddb81eafd15e56bc7b3ec7 I slightly changed the behavior of the pod
Todo:

[ ] update the version of the pod: i am not sure which version it should have @ProjectDent
[ ] check if i am missing anything

any comment @ProjectDent ?
i need your input regarding the todos :)

TouchGestureRecognizer is not correct for Swift 4

ping @ProjectDent @oliviertouron-playster

Thanks @fespinoza !
@ProjectDent @oliviertouron-playster why isn't this merged yet? 🤔


Enable Notifications for new messages

I see the code for notifications, but is there something need to enable notifications for new messages?

Notifications are enabled using a node.js server (I didn't put the code on github yet).
I've just seen that Firebase add "Functions" feature that allows to run server code, I'll check if the current code is working on Firebase, then I'll push it on github.

Excellent, thank you.
I look forward to that update..  (BTW, I can do some testing if you like as well)

Node.js script n the works?

I made a new repo

Thank you!

Hey I am unable to see messages and users in app plz tell my why this is happening  but messages are storing in firebase database but not fetching in app


Names for U+2a0d (⨍) and U+2a0f (⨏)

Description
These have no current names in typst. Should probably be something like integral.dash and integral.slash
Both are used for the average. I've seen the former more often, but "officially" in unicode it's the latter. Therefore integral.avg or integral.mean might be a bit opinionated.
Use Case
See above

The official unicode names are

U+2A0D Finite Part Integral
U+2A0F Integral Average with Slash
And while we're at it, we can add U+2A0E Integral with Double Stroke (⨎) as well

I would prefer the descriptive names, so integral.dash, integral.slash, integral.dash.double (or would it be integral.ddash? or even integral.eq?)

And while we're at it, we can add U+2A0E Integral with Double Stroke (⨎) as well

I didn't mention it only because I believe it's extremely rarely used, but I guess it can't hurt.


Write merkle root of deploys' approvals to global state after block execution

This PR introduces writing a Merkle root of deploy approvals after block execution, in order to allow later validation of these approvals.
Closes #3234.

bors merge

bors merge

bors merge


Dubious use of Ptime

Here.
Do you realize that you are computing local time here ? A quick look at the rest of the program seems to indicate that timestamps arguments are in UTC in the program --- also I wonder why you are not simply using Ptime.t values, since it would make completely unambiguous what we are dealing with here.
Ptime is precisely designed so that you never need to perform such computation yourself and treat tz offsets only as a rendering issue. Values of type Ptime.t are always in UTC (because that's where posix time lies is by definition), this is documented in the description of the type and it is even repeated in the documentation of Ptime.of_rfc3339 that the timestamp you get is in UTC.
Btw. I'm going to change the signature of Ptime.of_rfc3339 to make it less ugly. So do pin ptime on 83cad3e95707da872a4b rather than on master until I make a release (which should happen in the following days).

Thanks, well spotted.  I just (in 1b8bec2) got around to use Ptime.t instead of float, compute the timezone offset once at startup, and ignore the tz_offset from of_rfc3339.
Also thanks for the headsup regarding the upcoming API change.

fixed, depends on ptime now (and now using Ptime.t / Ptime.date instead of float)


Allow passing custom querystring parsing module

By default to use querystring, but it can be done to use qs passed from options for example. This would be the easiest fix for the querystring issues.

What ironic, haha.
Actually, I'm thinking that for that about months and that Octet and JSON could be done better.
@felixge actually why they are "custom streams" e.g. event emitters with .write and .end methods? Because the need for more stable 0.10 support?
And actually what you think about dropping Node < 4 support? /cc @felixge @pornel @badeball

@tunnckoCore I don't know what you mean by `custom streams. When I wrote this module, these were the only kind of streams that existed ;).
I'm also the wrong person to ask about dropping Node < 4 support. I don't know if that's a reasonable thing to do these days.

dropping < 4 support will allow using more stable and "real" streams using the stream module instead of eventemitter.
i said "custom streams", because streams are event emitters, but eventemitters are not streams. and so i believe these parsers can be transform or write streams.


Boards: arm: gd32a503v_eval: introduce gd32a503v_eval board

introduce gd32a503v_eval board
This is Gigadevice's first automotive chip with similar peripheral IP to STM32 or GD32.
due to the following requirement of the ECC memory:

I enabled CONFIG_PLATFORM_SPECIFIC_INIT and implement z_arm_platform_init function in soc.c to clear all memory in https://github.com/zephyrproject-rtos/zephyr/pull/52774/commits/da51427d6475c54b4674b65bbc412c8023e7a646 . Without clear memory, it will fall into ecc nmi exception after power off reboot.
I'm not sure if there is a better way to implement it.I split it from the soc implementation for review purposes.

todo:

[x] add documents for this board
[x] enable and test other gd32 peripheral

[x] pinctrl & gpio
[x] rcu
[x] USART
[x] dac
[x] WDT
[x] adc
[x] SPI

About the IIC driver:
This SOC use a different IP, it changes a lot, so I decided not to implement it in this PR

other gigadevice works:
#38657

@cameled
About FMC, I've checked https://github.com/zephyrproject-rtos/zephyr/pull/42809 , and I think gd32a50x series use GD32 FMC v2, can you confirm if it is correct?

gigadevice manual

@cameled
About FMC, I've checked #42809 , and I think gd32a50x series use GD32 FMC v2, can you confirm if it is correct?

gigadevice manual

Yes, it is.

Hi @feilongfl ,
In general you are doing a very good work. However, you need reorder you commits sequence as:

update hal
DTS
introduce SoC
drivers
4.1) driver DTS
4.2) drive itself
4.3) driver tests
board
samples

Why? If you look drivers: pinctrl: gd32: add gd32a50x support it requires a CONFIG_SOC_SERIES_GD32A50X which is defined later at soc: gd32a50x: introduce gd32a50x soc series. This is an inconsistent on the PR sequence that we need avoid.
I'll wait you reorder the PR sequence to start review : )

Hi @feilongfl ,
Please squash following commits:

Below 3 as soc: gd32a50x: introduce gd32a50x soc series
modules: hal_gigadevice: add defintions for GD32A50X
soc: gd32a50x: introduce gd32a50x soc series
soc: gd32a50x: clear ecc memory when system start
Below 2 as drivers: pinctrl: gd32: add gd32a50x support
include: pinctrl: gd32: add gd32a50x support
drivers: pinctrl: gd32: add gd32a50x support

Hi @feilongfl , please adjust the position of soc: gd32a50x: introduce gd32a50x soc series commit.

Hi @feilongfl ,
Please, rebase and fix conflict. After that update west.yml with new hash from hal.

Note: this was merged adding binaries (cmsis-packs) to the module. I don't think this is acceptable, nor Zephyr's responsability, to host CMSIS packs. Please send a PR removing that from upstream Zephyr.


DoctrineAnnotationFixer - Add template to ignored_tags

Using 'doctrine_annotation_braces' => ['syntax' => 'with_braces'] it wants to add () to the @template tag, but then phpstorm doesn't recognize the template as valid @template() T so @param T and @return T would be marked as not found.
This fixes it by adding the template keyword to the ignored list.
I saw that both phpstan https://phpstan.org/blog/generics-in-php-using-phpdocs and psalm https://psalm.dev/docs/annotating_code/templated_annotations/ use it without parentheses.
Did all the checks and updated the docs.

Any news on this? @keradus
Also why change the branch to 3.0?
From contributing "If you are fixing a bug or typo, improving tests or for any small tweak: the lowest branch where the changes can be applied. Once your Pull Request is accepted, the changes will get merged up to highest branches."
Would this fix, if merged, be merged to 2.x too?

Or should it be considered a bug?

Probably a bug since this wasn't the desired effect?

Thank you @akalineskou.

Thank you @akalineskou.

Coverage increased (+0.01%) to 92.304% when pulling fbc46e219eb661491abf14d9b70f36c4481e983b on akalineskou:2.19 into ef34976647d78f696dc1fe34d4550585aaea4dc8 on FriendsOfPHP:3.0.


Scaleway support

Yolo, I've got most of the terraform done for a Scaleway version into a Private VPC and stuff. Would you consider consuming it into the codebase if I gave you keys to my scaleway account to test it out in the next week or so?

Yes, absolutely. That would be wonderful. Thank you so much. Let me know when you're happy with me taking a look at it.
My email is<EMAIL_ADDRESS>if you want to share keys with me there.

@buggtb I've done a bit of work today on how I think the different provider sized should work - see #10 for what I've done.
If you have thoughts/feedback/criticisms etc, I'm very keen to hear it.

@mrsimonemms it looks good to me from a cursory glance. I'll sync up my code with your latest later and chuck it at the cloud and see how it goes.
I'm also working on a Flux CD "install" for the kubernetes resources because I'm a bit wary of the installer just chucking stuff at the cluster, I'd rather keep my configs in a Git repo so I can see/adjust/manage them. So I'm working on a couple of fronts trying to get stuff ironed out.

@buggtb Yeah, I like the idea of a Flux CD install too.
I'm going to have a play at getting an Azure provider working too. I think it'll be a good thing to then maybe write a guide on writing a new cloud provider together. A lot of this stuff is currently in my head, so it would be good getting it written down. I'd be very keen on your thoughts on that too.

Docuwhat? :)
On one of our JPL open source projects we're making good use of Gitbook's open source kindness and documenting stuff on gitbook which makes it easy to manage, maintain and for users to discover.
I would say probably a per provider readme in the repo, with some information about how it works and stuf, more technical, and then point people from the readme to an associated Gitbook page that demonstrates how to deploy Gitpod using the chosen provider in a more user friendly manner.

Yeah, I like Gitbook as well. That's a good shout using that.

Getting close, for some reason i'm serving http on an https port via the LB which is fun, but I'm nearly there. Always fun trying to unpick someone elses code to make stuff work in your own way! :)

I am understanding the SSL termination correctly arent I @mrsimonemms , the cert-manager will install certs in the required places and then should serve https traffic from the cluster? I'm not supposed to stick a cert over the front of it all am I?

Urf all that and it was a load balancer wiring issue...

I've done a first pass at Azure support which might help you with Scaleway #11
I managed to do it without making any real changes to the existing things, although I have made one change to the output of the VM to include both the FQDN and just the subdomain. As this gets exported from the module, it would be good to include this in your Scaleway provider.


CouchDB 2.2.0 support

Codecov Report

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

@@           Coverage Diff           @@
##           master     #105   +/-   ##
=======================================
  Coverage   96.38%   96.38%
=======================================
  Files          21       21
  Lines        1438     1438
=======================================
  Hits         1386     1386
  Misses         36       36
  Partials       16       16

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 ca04187...42155c6. Read the comment docs.


Code completion takes seconds using Control+Space

Using Control+Space for Content Assist takes up to 5 seconds. I have tested this both in eclipse 4.5.2 and 3.8.1. Is there any way this delay could be improved? There are no issues with automatic code completion (After "." is pressed).

Sorry, I'm not sure there is much I can do to fix this from the Eclipse side - that functionality comes entirely from the TypeScript team. One thing that might be worth checking is the version of Nodejs installed to ensure its the latest (newer versions tend to have better performance).

I upgraded from 4.3.1 to 5.8.0 - seems to take about half as long as it did for code completion. Not optimal, but a lot better. Thanks :-)

Hello, just for info, why is the autocompletion almost immediate in Visual Studio Code ? How does the autocompletion works with eclipse-typescript ? Do you use the typescriptServices, or a tsserver running in background (https://github.com/Microsoft/TypeScript/pull/2041) ?

Hmm, that's weird. The Eclipse plugin is just using the TypeScript language services which are running via a custom server (not tsserver - it came out well after this project was established). Perhaps there are some unnecessary disk operations or something similar? Perhaps someone would be interested in profiling the bad performance?


Update to newest release of ecstatic

Test files included in older release break Jenkins CI server.

#134 was merged and updated the ecstatic version to 0.6.1:
https://github.com/nodeapps/http-server/pull/134/files#diff-b9cfc7f2cdf78a7f4b91a753d10865a2R64


watcher index is not automatically created on first start

When kaae app is starting it does not check for the watcher index and nothing is displayed on the home page.
I've noticed a network error on /list url :
{statusCode: 404, error: "Not Found",…}
error: "Not Found"
message : "[index_not_found_exception] no such index, with: {"resource.type":"index_or_alias","resource.id":"watcher","index":"watcher"} :: {"path":"/watcher/_search","query":{"allow_no_indices":false},"statusCode":404,"response":"{\"error\":{\"root_cause\":[{\"type\":\"index_not_found_exception\",\"reason\":\"no such index\",\"resource.type\":\"index_or_alias\",\"resource.id\":\"watcher\",\"index\":\"watcher\"}],\"type\":\"index_not_found_exception\",\"reason\":\"no such index\",\"resource.type\":\"index_or_alias\",\"resource.id\":\"watcher\",\"index\":\"watcher\"},\"status\":404}"}"
statusCode: 404

So I've create a dummy document in a watcher index, and now the page is displayed correctly.
Can you add a test and create the index if it does not exists on the first start ?

Hi @seuf Thanks for the report! We're in early stage so this is very useful.
I'll add output in case of no watchers found to suggest the user create one

or maybe in the install explanation, just add a requirement to manually build the index,  maybe an example will help:
curl -XPUT 'http://localhost:9200/watcher/' -d '{
"settings" : {
"index" : {
"number_of_shards" : 1
}
}
}'

There's already a function function createKaaeIndex just need to set it in place... work in progress

Woo, not resting ;)
Thanks!

https://github.com/elasticfence/kaae/commit/b128bd384b53ec6ca5a7717381d6adfa5101113c should do the job. Could you give it a shot and confirm?

hi,
i had kaae installed and index already created.
removed old kaae (git) folder, did a "full" install/build (git clone, npm , remove old plugin,  new plugin install)
stop kibana -> deleted all watcher* indexes -> start kibana (no indexes created)
opened kaae (the ui for watchers is empty / without the ability to add, no index created)
tried to use the spy and save new watcher, didn't show the new watcher in kaae plugin)
and index wasn't created.
and better to have 1 shard for small amount of data and 1 replica than 2 shards and 0 replica :)
Regards.

Could you attach the kibana logs?

hi,
stop kibana -> clean logs -> start kibana
tried to open kaee watchers tab, and tried to save + edit from the spy.
10x!
kibana.stdout.txt
kibana.stderr.txt

Hi,
found the issue, your create command uses name: but should be index:
replacing:
name: config.es.alarm_index,
with
index: config.es.alarm_index,
and now indexes are been created :)
10x!

Excellent! Thank You both guys


Add ability to "rotate" through all panes with a single keyboard shortcut

One thing iTerm offers is the ability to rotate forwards and backwards through all panes without needed to choose to navigate "up" or "down" vs "left" or "right." For example, in the following pane layout:

Pressing the "right" hotkey would go from 1 > 2 > 3 > 4 and then back to 1 when pressed from pane 4. The "down" hotkey would do the same, while "left" or "up" would go in reverse.
I took a stab at this and it appears to be working fine, including with permutation. It introduces a new "rotate" config key that turns it on.
Happy to open a PR if you'd like.

Hi @ericbiewener !
Thank you for your feedback.
What you describe: isn't the default behaviour of Select Next/Prev Pane in Hyper?
This default shortcut in Hyper will be configurable in next release (currently possible in master).
Or maybe I'm missing the point.

 Wasn't aware of that hotkey. Glad to hear it will be configurable in the next release -- the current one is a bit tough!


feature request: compact directory entries

Did you check existing requests?

[X] I have searched the existing issues

Describe the feature
VSCode has an option in the tree browser to compact folders, wherein if a folder only has a single child they get combined into a single tree element. The nvim-tree plugin also has a similar feature outlined here.
I was think it would be cool to have a similar option in oil. Basically, if we open up the directory with the following tree:
❯ tree
.
├── foo
│   └── bar
│       └── baz.txt
├── multiple
│   ├── a.txt
│   ├── b.txt
│   └── c.txt
└── one
    └── two
        ├── a.txt
        └── b.txt

The oil buffer would have the following content:
multiple/
one/two/
foo/bar/baz.txt

Provide background
I commonly work in Java-based languages where it is common to have directories with either only a single directory or a single file. This feature would make it faster to navigate down the directory tree in these cases, and also make these single directory cases move obvious when navigating an unfamiliar directory structure.
What is the significance of this feature?
nice to have
Additional details
No response

I agree, navigation through empty folders in Java/Kotlin is pretty annoying. I wrote a simple binding to make it faster:
vim.api.nvim_create_autocmd("FileType", {
  group = group,
  pattern = "oil",
  callback = function(event)
    local function navigateDeeper()
      vim.cmd("norm j")
      require("oil").select()

      vim.defer_fn(function()
        if vim.fn.line("$") == 2 then
          navigateDeeper()
        end
      end, 50)
    end

    vim.keymap.set("n", "<leader><cr>", function()
      navigateDeeper()
    end, { buffer = event.buf })
  end,
})

It's not perfect, because some delay is required as select doesn't happen instantly.

This is unlikely to ever happen. There are fundamental UX challenges around what happens if you delete or edit one of these compact directories? If you have foo/bar/baz/, how would you enter the foo/bar/ directory? On top of the UX, this would add significant complexity to the resolution logic in the code.

This is unlikely to ever happen. There are fundamental UX challenges around what happens if you delete or edit one of these compact directories? If you have foo/bar/baz/, how would you enter the foo/bar/ directory? On top of the UX, this would add significant complexity to the resolution logic in the code.

Instead of changing the core of navigation you could just provide an action to navigate quickly through empty dirs, something like the code I provided, but without delays :).

I would accept a PR to add such an action. Should be relatively straightforward; just check if the entry under the cursor is a directory and, if so, check if it has a single child dir. Repeat until the number of children != 1 and enter that directory.

If you have foo/bar/baz/, how would you enter the foo/bar/ directory?

I mean the general idea is you wouldn't enter the foo/bar/ directory. If you needed to create a new file at that level, you could add a new entry at the root level and append the same foo/bar/ directory to that entry. E.g. in the above example you could add a new line to the buffer that says foo/bar/cat.txt and the existing file create logic would handle it properly. The buffer would then also change to only show foo/bar/ since bar now has 2 files.
We could also easily support a toggle operation to toggle between the compact and expanded views, which would allow users to navigate to these directories if they need to (similar to how g. toggles hidden directories).


Deploying bosh stem cell in AWS

Hi,
I am trying to deploy stem cell building VM in AWS.  But for some reason I was not able to ssh in to Instance. I made sure my security rule has SSH access. I am new to AWS and Vagrant. Please help.
sudo vagrant up remote --provider=aws
Bringing machine 'remote' up with 'aws' provider...
==> remote: HandleBoxUrl middleware is deprecated. Use HandleBox instead.
==> remote: This is a bug with the provider. Please contact the creator
==> remote: of the provider you use to fix this.
remote: The Berkshelf shelf is at "/home/dthaluru/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150612-25468-gozwoh-remote"
==> remote: Sharing cookbooks with VM
==> remote: Updating Vagrant's Berkshelf...
==> remote: DEPRECATED: Your Berksfile contains a site location pointing to the Opscode Community Site (site :opscode). Site locations have been replaced by the source location. Change this to: 'source "https://supermarket.chef.io"' to remove this warning. For more information visit https://github.com/berkshelf/berkshelf/wiki/deprecated-locations
==> remote: Resolving cookbook dependencies...
==> remote: Fetching 'stemcell-golang' from source at sites-cookbooks/stemcell-golang
==> remote: Using golang (1.5.0)
==> remote: Using stemcell-golang (0.0.1) from source at sites-cookbooks/stemcell-golang
==> remote: Vendoring golang (1.5.0) to /home/dthaluru/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150612-25468-gozwoh-remote/golang
==> remote: Vendoring stemcell-golang (0.0.1) to /home/dthaluru/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150612-25468-gozwoh-remote/stemcell-golang
==> remote: Warning! The AWS provider doesn't support any of the Vagrant
==> remote: high-level network configurations (config.vm.network).
Thanks,
Divya

I was able to fix this issue. When ever I am trying from VPN network I have above issue other wise it works. I don't know the exact root cause, but it looks this way.


Add "cache" function to allow pauses and/or go back in a livestream

A "cache" function would be helpful to allow:

Go back a few seconds or minutes
Pause a livestreaming, and maintain a cache so that you can resume later.

Linux Mint developers created the "cache" function on Hypnotix and is really useful.
https://github.com/linuxmint/hypnotix
Would it be possible to implement that feature in IPTVnator ?
Thanks for your great work !

I can press pause and it will continue playing from that point.
So it already seems to be working.


Fixes adding auto-complete suport for language field with long CVs. #27

https://github.com/ucsdlib/horton/issues/27

@ucsdlib/developers We'd like to get this merged in so we can move away with Hyrax development. Any concerns please note via a review in this PR, otherwise, it would be nice to get this merged today. Thanks.

👍

:+1:


Various improvements in Contribute section

Any news?

LGTM otherwise. Thanks

/lgtm

@lex111 will you please rebase? Thanks!

@lex111 this has been pending for 2 weeks with the need to rebase. Please reopen if you'd like to continue working on it after rebasing.
/close


chore(main): release matterbridge-home-assistant 0.2.0

:robot: I have created a release beep boop
0.2.0 (2024-06-09)
Features

added docker build and publish (#23) (77daa30)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/t0bst4r/matterbridge-home-assistant/releases/tag/matterbridge-home-assistant-v0.2.0 :sunflower:


Button icons not coming up

I trying to use appengrid. I am not getting the icons as in demo. they are coming as plain buttons without any text.
can someone help me out?
this is my folder structure:
root/
css/
Jqueryui
appendgrid css
images/
icons
js/
Jquery
appengrid js
remaining code as given in the demo.

Albert, is pagination available in appendgrid? how can i keep pagination? can you please help?

Hi praveens96,
Sorry that paging is not available. You may take a look on fix header demo if you don't want a long table on screen. Thanks!


[KYUUBI #5877][FOLLOWUP] Dumps python object to json at last

:mag: Description
Issue References 🔗

This is a followup of #5877.
Before that, all the code node are NormalNode.
And all the exception of NormalNode will be caught and raise ExecutionError.
https://github.com/apache/kyuubi/blob/e2d9a8efb6ed3398c05ba76f4a5f10f6a0eef792/externals/kyuubi-spark-sql-engine/src/main/resources/python/execute_python.py#L74-L95
But since #5877, for MagicNode, it invoke execute_reply_error to return error as result instead of raising ExecutionError.
And the returned error will be cast to str in execute_reply by json.dumps().
https://github.com/apache/kyuubi/blob/e2d9a8efb6ed3398c05ba76f4a5f10f6a0eef792/externals/kyuubi-spark-sql-engine/src/main/resources/python/execute_python.py#L147-L155
And then it will throw exception in output = result.pop("text/plain", ""), because here the result is a python str instead of python object.
https://github.com/apache/kyuubi/blob/e2d9a8efb6ed3398c05ba76f4a5f10f6a0eef792/externals/kyuubi-spark-sql-engine/src/main/resources/python/execute_python.py#L211-L225
23/12/20 00:04:22 ERROR ExecutePython: python worker exit
23/12/20 00:04:22 ERROR ExecutePython: Traceback (most recent call last):
23/12/20 00:04:22 ERROR ExecutePython:   File "/hadoop/1/yarn/local/usercache/b_stf/appcache/application_1701822894495_1546794/container_e3973_1701822894495_1546794_01_000001/tmp/kyuubi-f9a43e80-749d-4fb4-b0a1-280533c4aa4c/execute_python.py", line 497, in <module>
23/12/20 00:04:22 ERROR ExecutePython:     sys.exit(main())
23/12/20 00:04:22 ERROR ExecutePython:   File "/hadoop/1/yarn/local/usercache/b_stf/appcache/application_1701822894495_1546794/container_e3973_1701822894495_1546794_01_000001/tmp/kyuubi-f9a43e80-749d-4fb4-b0a1-280533c4aa4c/execute_python.py", line 485, in main
23/12/20 00:04:22 ERROR ExecutePython:     result = execute_request(content)
23/12/20 00:04:22 ERROR ExecutePython:   File "/hadoop/1/yarn/local/usercache/b_stf/appcache/application_1701822894495_1546794/container_e3973_1701822894495_1546794_01_000001/tmp/kyuubi-f9a43e80-749d-4fb4-b0a1-280533c4aa4c/execute_python.py", line 264, in execute_request
23/12/20 00:04:22 ERROR ExecutePython:     output = result.pop("text/plain", "")
23/12/20 00:04:22 ERROR ExecutePython: AttributeError: 'str' object has no attribute 'pop'
23/12/20 00:04:23 ERROR ExecutePython: Process has died with 1

In this pr, I invoke json.dumps at last instead of in execute_reply.
Describe Your Solution 🔧
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Types of changes :bookmark:

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Test Plan 🧪
Behavior Without This Pull Request :coffin:
Behavior With This Pull Request :tada:
Related Unit Tests

Checklists
📝 Author Self Checklist

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] This patch was not authored or co-authored using Generative Tooling

📝 Committer Pre-Merge Checklist

[ ] Pull request title is okay.
[ ] No license issues.
[ ] Milestone correctly set?
[ ] Test coverage is ok
[ ] Assignees are selected.
[ ] Minimum number of approvals
[ ] No changes are requested

Be nice. Be informative.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (bd379c5) 61.61% compared to head (b6d6bb2) 61.57%.
Report is 1 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #5886      +/-   ##
============================================
- Coverage     61.61%   61.57%   -0.04%
  Complexity       23       23
============================================
  Files           613      613
  Lines         36327    36327
  Branches       4974     4974
============================================
- Hits          22382    22370      -12
+ Misses        11554    11553       -1
- Partials       2391     2404      +13

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

I merge it into #5881


Backend: Email Verification for User Registration

As part of our user registration process, we aim to enhance security and user experience by implementing an email verification service. This will ensure that the users are using legitimate email addresses and also provide an added layer of protection against bots and unauthorized registrations.
Goals:

Integration with Email Service: Integrate the backend with an email service (e.g., SendGrid, Mailgun, or SMTP configurations) to facilitate the sending of verification emails.

Generating Verification Token: When a new user registers, generate a unique verification token for the user.

Storing the Token: Store the generated token with a timestamp in the database. This token will be used later for validation purposes.

Sending Verification Email: Send an email to the user with a link to verify their account. The link should contain the generated token.

Handling Verification: Once the user clicks on the link, validate the token. If the token is valid, mark the user's email as verified in our system.

Expiration of Token: Ensure that the verification token expires after a set duration (e.g., 24 hours) for security purposes.

Error Handling: Proper error messages should be shown for invalid or expired tokens.

[ ]  Integrate with chosen email service and configure necessary credentials.
[ ]  Create a service to generate, store, and validate verification tokens.
[ ]  Implement the email sending mechanism with a constructed verification link.
[ ]  Handle the endpoint where users will be directed after clicking on the verification link.
[ ]  Update the user's status in the database upon successful verification.
[ ]  Implement error handling for token-related issues.

Notes:

AWS SES is used as email service.
bunchup.com.tr` domain is configured to be domain of verification mails. (no-reply.bunchup.com.tr)

These required configuring DNS setting of domain name via hosting provider platform.

#285


Reading Queries from Config yaml

Fixes #3
This PR makes the queries, read from the Config File. So, as to support more meshes that have different  queries.
@grampelberg

Fixed @grampelberg

Oops, Didn't recognise the linting issues from golangci-lint, Now updated the PR to pass it.
Expect a PR with circleci integration next :)


Revert fix for wm 2023 and remove unused code

Summary
As we have a solution for https://github.com/ros2/rmw_cyclonedds/issues/461, we can revert the republishing as described in https://github.com/bit-bots/bitbots_main/issues/266. The fix is also in the ansible and should be deployed to the robots. I also deleted some related unused code.
Still needs testing on the robot.
Related issues
Closes #266
Checklist

[x] Run colcon build
[x] Write documentation
[ ] Test on your machine
[ ] Test on the robot
[x] Create issues for future work
[x] Triage this PR and label it

Yes, it certainly is!


game definitions

bless is made first for godot, which is our first and main export target. in the future it could be that unreal and unity users could extend bless..
So this makes me think about Quake .fgd - a file that is read by the map, a file that is exported from godot/qodot (or the engine you are using). it is a middleman for data as it is configurable and usable from both the map editor and the game engine.
The qodot method is to setup your classes in the .fgd, enemies, items, lights, moving geometry, doors. This assigns a script/node type to that class, its all done in the inspector.
So the idea is that the map editor reads this data, and gives UX in the map editor to place these entities in your map.
With that you can place scripts/scenes
related:
#14
#15
#24

done


chore: Temporarily disable updating release notes on release PR

Turns out you can manually disable certain workflows. Who knew?!


Incompatibility with terra 0.24 BaseEstimator

Describe the bug
The Estimator class in this package passes a named parameter to Terra's BaseEstimator which has been removed from the BaseEstimator interface.
Steps to reproduce
from qiskit_ibm_runtime import Estimator, Options
options = Options()
Estimator(options=options)

Produces:
File ~/miniconda3/envs/qiskit-0.24.0/lib/python3.10/site-packages/qiskit_ibm_runtime/estimator.py:149, in Estimator.__init__(self, circuits, observables, parameters, service, session, options, skip_transpilation)
    110 """Initializes the Estimator primitive.
    111
    112 Args:
   (...)
    143         Ignored ``skip_transpilation`` is also specified in ``options``.
    144 """
    145 # `self._options` in this class is a Dict.
    146 # The base class, however, uses a `_run_options` which is an instance of
    147 # qiskit.providers.Options. We largely ignore this _run_options because we use
    148 # a nested dictionary to categorize options.
--> 149 super().__init__(
    150     circuits=circuits,
    151     observables=observables,
    152     parameters=parameters,
    153 )
    155 if skip_transpilation:
    156     deprecate_arguments(
    157         "skip_transpilation",
    158         "0.7",
    159         "Instead, use the skip_transpilation keyword argument in transpilation_settings.",
    160     )

Expected behavior
No error.
Suggested solutions
Don't pass circuits to super().__init__.
Additional Information

qiskit-ibm-runtime version:

qiskit-terra version: 0.24.0

Python version: 3.10
Operating system: macOS

I guess this is a duplicate of #813 .

This was fixed by https://github.com/Qiskit/qiskit-ibm-runtime/pull/797 which is in the newest release, 0.9.4


Merge New Renderer

This merges the pipelined-rendering branch into main, which adds the new Bevy renderer as an opt-in alternative to the current renderer. This can be tested by adding PipelinedDefaultPlugins instead of DefaultPlugins (and using the types from the crates in the pipelined folder).
The many changes here are not intended to be reviewed in this PR. They have already been through the normal review process, just on the pipelined-rendering branch. Generally if you do find an issue, open a bug and we can resolve it in a follow up PR prior to making the new renderer the default. If you find a change that you believe shouldn't be merged now (especially if it affects the user experience in DefaultPlugins), feel free to call it out and we can adjust if we need to.
Also note that there is still plenty of work to merge before release and the new render isn't quite ready for all scenarios yet. The point of this PR is to move all development on to main and start preparing for the Bevy 0.6 release.
For more context on the new renderer, the discussions / prs that brought us here, and the remaining work to be done check out this tracking issue: #2535.
This is irregular, but this PR will not be merged with bors (or squash merged). I want to preserve the history to properly credit the people involved and to more accurately capture the history of the renderer's development.

So the plan for now is to let them both operate in parallel, then fully remove the old renderer in time for the release?
What are we missing for feature parity? Just UI?

So the plan for now is to let them both operate in parallel, then fully remove the old renderer in time for the release?

Yup! I'd like to remove the current renderer ASAP though. As soon as we have feature parity.

What are we missing for feature parity? Just UI?

Yup UI is the last piece!

:O I can't wait to try this soon!

@cart If I'm not mistaken, I think this PR is missing #3165 (which I accidentally pulled into one of my rebases). So that PR is currently not merged into the main branch.

Oof very nice catch. @DJMcNab I can create a new pr on your behalf (with your commit intact) or you can create a new one targeting main. Your call!

Looks like thats the only missing commit (because I merged that after creating the branch in this pr).

I'm not bothered either way
I won't be able to make a new PR until much later today, if I can do so today.


change kcc config url

use dynamic endpoint instead of static file

we don't want to have our endpoint in a public repo


Installation question

I'm currently on develop branch of qtile and installed one with pip3 install -e ..
Does this layout support develop branch and how can I install it without replacing my current installation (qtile-plasma package loads stable version of qtile by dependencies). I'm not a Python developer, so question might be silly, but nevertheless.

The layout should run fine with the current  develop branch. Of course I can't guarantee that it won't introduce layout-breaking changes in the future.
If you want to install a package without dependencies you can do it like this:
pip install qtile-plasma --upgrade --no-deps

Turns out I'm getting the same bug as #10.


ICA algorithms crash if features are empty

If you do
feats = RealFeatures()

ica=FastICA()
ica.apply(feats)

you get an eigen3 error (cryptic) due to the NULL matrix in the features. This should rather be a nice error message (coming from a REQUIRE in the ICA base class or so)
@MikeLing this one is for you

https://github.com/shogun-toolbox/shogun/pull/3887


fix: cosmetic issue template

Unclear why, but previous attempt at creating a new issue template didn't work. I think it didn't like the multiple labels...

Codecov Report

Merging #11176 into master will decrease coverage by 10.68%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master   #11176       +/-   ##
===========================================
- Coverage   65.89%   55.20%   -10.69%
===========================================
  Files         828      403      -425
  Lines       39120    13371    -25749
  Branches     3687     3424      -263
===========================================
- Hits        25778     7382    -18396
+ Misses      13235     5797     -7438
- Partials      107      192       +85

Flag
Coverage Δ

#cypress
55.20% <ø> (-0.62%)
:arrow_down:

#javascript
?

#python
?

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

Impacted Files
Coverage Δ

...uperset-frontend/src/dashboard/util/dnd-reorder.js
0.00% <0.00%> (-100.00%)
:arrow_down:

...rset-frontend/src/dashboard/util/getEmptyLayout.js
0.00% <0.00%> (-100.00%)
:arrow_down:

...rc/dashboard/util/getLayoutComponentFromChartId.js
0.00% <0.00%> (-100.00%)
:arrow_down:

...dashboard/components/resizable/ResizableHandle.jsx
0.00% <0.00%> (-100.00%)
:arrow_down:

.../src/dashboard/util/getFilterScopeFromNodesTree.js
0.00% <0.00%> (-93.48%)
:arrow_down:

superset-frontend/src/common/components/Modal.tsx
6.66% <0.00%> (-93.34%)
:arrow_down:

...uperset-frontend/src/utils/getClientErrorObject.ts
0.00% <0.00%> (-89.19%)
:arrow_down:

.../src/dashboard/components/FilterIndicatorGroup.jsx
11.76% <0.00%> (-88.24%)
:arrow_down:

...c/explore/components/controls/withVerification.jsx
9.09% <0.00%> (-87.88%)
:arrow_down:

...src/dashboard/components/gridComponents/Header.jsx
10.52% <0.00%> (-86.85%)
:arrow_down:

... and 647 more

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 ad25063...55603a5. Read the comment docs.


install: reject bucket names containing dots to prevent HTTPS errors

This commit adds a validation which ensures the --oidc-storage-provider-s3-bucket-name
flag does not contain dots (.), because such buckets will have invalid certificates that
cause the OIDC provider setup to fail in ways that are hard to diagnose.
See: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html
Checklist

[x] Subject and description added to both, commit and PR.
[ ] ~Relevant issues have been referenced.~
[ ] ~This change includes docs.~
[ ] ~This change includes unit tests.~

/lgtm


STABO ACE Menu

Add to ACE actions - ideally into the same section as fast roping. See if we can use an ACE action for the sandbag with timer.

Easy to do for actions done from the chopper (deploy stabo, drop stabo)
Harder for action on the dropped sandbag

Will not do it


Regression in 1.2.0

Hi, I noticed a regression between version 1.2.0 and 1.1.0 when trying to run licensed status on a project which has a dependency on libv8:

/Users/User/.rvm/gems/ruby-2.5.1/gems/licensed-1.2.0/lib/licensed/source/bundler.rb:74:in `block in specs_for_dependencies': Unable to find a specification for libv8 (>= 6.3) in any sources (RuntimeError)

This error happens on both a mac + ubuntu with v1.2.0, but does not happen on v1.1.0

Replicating
With the following Gemfile:
# frozen_string_literal: true

source "https://rubygems.org"

git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }

gem "mini_racer"

Gemfile.lock
GEM
  remote: https://rubygems.org/
  specs:
    libv8 (6.7.288.46.1)
    mini_racer (0.2.0)
      libv8 (>= 6.3)

PLATFORMS
  ruby

DEPENDENCIES
  mini_racer

BUNDLED WITH
   1.16.1

.licensed.yml
sources:
  rubygem: true

Running the following with licensed 1.2.0 currently fails:
licensed status

Version 1.2.0
/Users/User/.rvm/gems/ruby-2.5.1/gems/licensed-1.2.0/lib/licensed/source/bundler.rb:74:in `block in specs_for_dependencies': Unable to find a specification for libv8 (>= 6.3) in any sources (RuntimeError)

Version 1.1.0
licensed status
Checking licenses for example: 3 dependencies
FFF

Warnings:

/private/tmp/example/.licenses/rubygem/bundler.txt:
  - cached license data missing

/private/tmp/example/.licenses/rubygem/libv8.txt:
  - cached license data missing

/private/tmp/example/.licenses/rubygem/mini_racer.txt:
  - cached license data missing

3 dependencies checked, 3 warnings found.

Extra debugging
I can see that licensed is trying to check the following spec_path locations:
/Users/user/.rvm/gems/ruby-2.5.1/specifications/mini_racer-0.2.0.gemspec
/Users/user/.rvm/gems/ruby-2.5.1/specifications/libv8-6.7.288.46.1.gemspec

It's dying currently dying on libv8, but I can tell that the gemspec actually has an extra operating system extension that licensed wasn't expecting:
$ ls /Users/user/.rvm/gems/ruby-2.5.1/specifications/ | grep libv8
libv8-6.7.288.46.1-x86_64-darwin-16.gemspec

The file name extension is slightly different on Ubuntu too.

:wave: I'm getting ready to release the next version of licensed and wanted to clear up the regression ASAP.  I've opened https://github.com/github/licensed/pull/72 as a small fix to find a specification object that contains platform information, so that the platform will be included in spec.full_name


[Feature Request] Field Addons / Inline Forms

For our application, we'd like:

The ability to style the form and/or individual fields as bootstrap inline-forms, and
The ability to add bootstrap input-group-addons to the fields themselves ( just icons / glyphs / etc; not other form inputs)

I think that the easiest way to do this would be to:

Fork ASF,
Add an option ( inlineBootstrap ), defaulting to false, to the globalOptions, as well as to each of the existing fields,
If inlineBootstrap is set globally (for the whole form) and/or locally (for the field) the decorator widget should show an inline-version of the field rather than the standard.
Add two options (fieldAddonLeft and fieldAddonRight) to the existing fields,
If an add-on option is set, then the field is displayed inside of a bootstrap input group, and the value of the option is used as the contents of the input-group-addon span.

Most importantly if we built this, would the maintainer be receptive to merging the changes, assuming sufficient code quality?
And, any suggestions on a better way to do it?

The goal BTW is to be able to attach icons to fields like so:

I can't speak for @davidlgj but if the code is clean i can't see why we wouldn't merge it.

See #275

Same as @Dervisevic said :)

@quietlyconfident  I'll try to merge it tomorrow... have you done any work on doing inline forms? It's an often requested feature and I was hoping to soon look into it.

I've made a bunch of inline forms manually (e.g. just writing HTML with
bootstrap styles) but not with ASF.  Left to our own devices we will
probably implement it within the next month or two for our application and
I'd be happy to contribute it.
-e
On Thu, Mar 5, 2015 at 9:46 AM, David Jensen<EMAIL_ADDRESS>wrote:

@quietlyconfident https://github.com/quietlyconfident I'll try to merge
it tomorrow... have you done any work on doing inline forms? It's an often
requested feature and I was hoping to soon look into it.
—
Reply to this email directly or view it on GitHub
https://github.com/Textalk/angular-schema-form/issues/273#issuecomment-77375542
.

@quietlyconfident wondering if you've made any headway on the inline forms for ASF?
looking at implementing them as my next task...

Hello-
No, I moved onto other projects and it isn't looking like I'll get to it
anytime soon.  Go for it!
-e
On Tue, May 26, 2015 at 1:59 PM, plong0<EMAIL_ADDRESS>wrote:

@quietlyconfident https://github.com/quietlyconfident wondering if
you've made any headway on the inline forms for ASF?
looking at implementing them as my next task...
—
Reply to this email directly or view it on GitHub
https://github.com/Textalk/angular-schema-form/issues/273#issuecomment-105619673
.


extension v1.0.88 installs but 2 pods keep failing

Hi,
Installing arcml extension (v1.0.88) from scratch (EKS) seems to work well, but the following pods keep failing:
This is a 3 node cluster (2 CPU and 1 GPU).
Code for arcml-healthcheck.agent==AgentWarning. All others mention passed.
fluent-bit (ns==azureml)
Of a total of 3 pods, 2 of them are correctly scheduled to the CPU nodes, while the one targeting the GPU node is not. (yes, I know that below it says that 2 nodes didn't match...)
0/3 nodes are available: 1 Too many pods, 2 node(s) didn't match Pod's node affinity/selector.

k8s-host-device-plugin-daemonset (ns==azureml)
Of a total of 3 pods, 2 of them are correctly scheduled to the CPU nodes, while the one targeting the GPU node is not. (yes, I know that below it says that 2 nodes didn't match...)
0/3 nodes are available: 1 Too many pods, 2 node(s) didn't match Pod's node affinity/selector.

arc-monitoring/fluentd (ns==kube-system)
Quite often this specific container will die with the following error
terminated
Reason: OOMKilled - exit code: 137

arcml-healthcheck
agent:
  code: AgentWarning
  message: '{"aml-operator":0,"amlarc-identity-controller":0,"amlarc-identity-proxy":0,"arcml-extension-kube-state-metrics":0,"azureml-fe":0,"azureml-ingress-nginx-controller":0,"cluster-status-reporter":0,"csi-blob-controller":0,"gateway":0,"inference-operator-controller-manager":0,"metrics-controller-manager":0,"relayserver":0,"volcano-admission":0,"volcano-controllers":0,"volcano-scheduler":0};
    {"csi-blob-node":0,"fluent-bit":1,"k8s-host-device-plugin-daemonset":1}; {"alertmanager-alertmanager":0,"prometheus-prom-prometheus":0};
    {}; Pod/fluent-bit-xfvxc: 0/3 nodes are available: 1 Too many pods, 2 node(s)
    didn''t match Pod''s node affinity/selector.; Pod/k8s-host-device-plugin-daemonset-h89kt:
    0/3 nodes are available: 1 Too many pods, 2 node(s) didn''t match Pod''s node
    affinity/selector.; {"alertmanager-alertmanager-0":0,"aml-operator-f4dbcb94f-qw9vl":0,"amlarc-identity-controller-55f7f6779d-xrt8t":0,"amlarc-identity-proxy-5f487dcb5d-lgd2f":0,"arcml-extension-kube-state-metrics-7dd684b99b-9r86g":0,"azureml-fe-c84555dbd-tpbzm":0,"azureml-ingress-nginx-controller-8654ff5bf7-hh2gm":0,"cluster-status-reporter-79d6cdd98c-6s2nb":0,"csi-blob-controller-7bbcfd86b8-xhvnn":0,"csi-blob-node-b8dvv":0,"csi-blob-node-k26hv":0,"csi-blob-node-k4w79":0,"fluent-bit-kn5jt":0,"fluent-bit-q9wp6":0,"fluent-bit-xfvxc":1,"gateway-857cb858fb-p5mw9":0,"inference-operator-controller-manager-6449465c5-tqr2p":0,"k8s-host-device-plugin-daemonset-46gjh":0,"k8s-host-device-plugin-daemonset-h89kt":1,"k8s-host-device-plugin-daemonset-skxjm":0,"metrics-controller-manager-84f8fbc55f-8xdvc":0,"prometheus-prom-prometheus-0":0,"relayserver-859fc798d8-4h25t":0,"relayserver-859fc798d8-9pl9z":0,"volcano-admission-74f559c556-svc4h":0,"volcano-controllers-56894dd996-d8zx4":0,"volcano-scheduler-774bd78f4-lsx7h":0}; '
  suggestion: https://github.com/Azure/AML-Kubernetes/blob/master/docs/troubleshooting.md
network:
  code: Passed
  message: '[{"url":"pypi.org:443","err":null},{"url":"ppa.launchpad.net:80","err":null},{"url":"myregistry.azurecr.io:443","err":null},{"url":"archive.ubuntu.com:80","err":null},{"url":"security.ubuntu.com:80","err":null},{"url":"northeurope.api.azureml.ms:443","err":null},{"url":"northeurope.experiments.azureml.net:443","err":null},{"url":"myaccount.blob.core.windows.net:443","err":null},{"url":"help.kusto.windows.net:443","err":null},{"url":"myaccount.table.core.windows.net:443","err":null},{"url":"myaccount.queue.core.windows.net:443","err":null}]; '
  suggestion: ""
prometheus:
  code: Passed
  message: 'Found prometheus operator: prometheus-ks-kube-prometh-prometheus; '
  suggestion: ""

Ideas welcomed.
Thx

@zetiaatgithub , could you help take a look?

Hi @joaocc ,  As the error message says, there are too many pods running on the GPU node. You can run command below to check pod limitation for your GPU node
kubectl describe nodes <gpu-node-name> | grep -C 8 pods
and run this command to check how many pods are running on your GPU node
kubectl get pod -A -o wide | grep <gpu-node-name> | wc -l
If this is the problem, you could consider removing useless pods on the GPU node or increasing pod limit to mitigate the problem.
2 node(s) didn't match Pod's node affinity/selector means the other two CPU nodes don't meet node affinity requirement. This is in line with expectations. For how Daemonset pods are scheduled, you can refer to this https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/#how-daemon-pods-are-scheduled
The error of arc-monitoring/fluentd pod is also caused by insufficient resources. Cleaning up useless pods may help. If it doesn't work, you can file a support ticket for Arc team for help.

I was in the AKS mindset of 110-250 pods per node, and i just noticed the limit in this case was 35! 🤦♂ Should have checked the basics. Sorry for the trouble.


Close / Disable Info Window

Close / Disable Info Window
I need the ability to just disable info window so it does not popup - I can get this working on iOS by just setting the selected pin again but this does not work for Android.
PLATFORMS

[x] Android
[ ] iOS
[ ] UWP

Could you try below code?
This is disable Pin selecting.
map.PinClicked += (sender, e) =>
{
    e.Handled = !map.IsEnabled;
};

Hi Amay,
I've tried and it still ignores anything I place in the brackets:
					myMap.PinClicked += (sender, e) =>
					{
                        DisplayAlert("Test","test","ok"); //display doesn't show up
						e.Handled = !myMap.IsEnabled; // pin popup still appears
					};


Grid x and y axis doesn't draw fully

Operating system or device - Godot version:
MacOS 10.11.6
4K Monitor
Issue description (what happened, and what was expected):
If i use the 2D editor the x and y axis are not fully drawed. This only happens since 2.1 and in combination with a 4K Monitor. With version 2.0 everything alright.
Steps to reproduce:
Open Godot 2.1 RC2 and go to 2D Mode
Link to minimal example project (optional but very welcome):

Can confirm, seems like it is limited by the bounding box of the scene.

The 2.1 branch is no longer actively worked on by engine developers, unless critical fixes are needed for current games in production. As such we are now closing non-critical bug reports affecting only the 2.1 branch.
Please comment if this was incorrectly triaged and is still relevant in 3.x versions.


Next

This looks really awesome so far! 🚀
But there seems to be a small time discrepancy between audio and video. Depending on the input the delay is ~ 10 seconds per hour.


clrDgColType='number' broken

Describe the bug
clrDgColType='number' is not doing any actual filtering
How to reproduce
https://stackblitz.com/edit/clr-basic-datagrid-4zdewf?file=src%2Fapp%2Fbasic-datagrid.component.html
Steps to reproduce the behavior:

Go to stackblitz above
Click on id filter
Enter any value
See no filtering happening

Expected behavior
Rows filtered according to filter input
Versions
App

Angular: 8
Clarity: 2.4.2

Additional notes
Same breakage visible in the official docs: https://clarity.design/documentation/datagrid/binding-properties
The filter on the 'wins' column is broken

I think that this is a regression on an old issue - I can't find now the issue but will submit a PR with a fix..

@bdryanovski did you backport this to v2 & v3? If so please close this out.

It looks like this is working for v2 but not v3. We're hoping to upgrade to v3 once it is fixed. Is there any progress on it?

@bdryanovski
Has this been backported to v3?

From what I'm seeing these changes are already part of v3.

If there is some issue with that on v3 that could be something else. I gonna check it now, but the commit is part of the v3 log.
I gonna need some time to verify this.

Cool. Thanks. Just checking. If it has been fixed and merged, mind closing it?

It's an open issue, I manage to reproduce it.
I don't have a quick solution on top of my head, I may have to rework some of the code here and there to fix it.
For now the workaround for this issue is to change the order of the props:
<!-- from this -->
<clr-dg-column  clrDgField="id" clrDgColType="number">User ID</clr-dg-column>

<!-- to this -->
<clr-dg-column clrDgColType="number" clrDgField="id" >User ID</clr-dg-column>

The issue comes from when and how the @Inputs are assign. The clDgField depends on the value of clrDgColType to work.
The strange thing is that this was and works for v2 but not for v3, from this, I could assume that this is a valid issue for v4 (did not test it) From the history I'm seeing that we made some changes on how we set and assign the properties for v3 release and Angular9 so this could be a regression from there.
Gonna try to provide a fix for the next release, for now, the workaround is making it non-blocking issue.

@bdryanovski
has this been ported to v4 for tomorrow's release?

@mathisscott yep!
Here is the PR #4941 of that.
Also closing the issue - it seems that I didn't do that when I merged them :)


Discussion: Re-think Virtual metadata and Complex fields

Is your feature request related to a problem? Please describe.
There is a clear need for DSpace to have structured fields. Sometimes we call or referred them as hierarchical metadata or nested metadata.
«Basic Nested/hierarchical metadata  (e.g. dates on a Person's affiliation with an OrgUnit)» (DS9 discussion topics)
As an example for what could be dc.contributor.author, where we need to represent data, structurally based on the related entities and nested data:
{
      "dc.title":"Graça, Paulo",
      "person.affiliation": {
          "dc.title":"DSpaceORG",
          "orgunit.identifier": {
                "orgunit.identifier.name":"ROR",
                "orgunit.identifier.id":"123456789",
           }
      }
}

In the example above, we are presenting a structured dc.contributor.author field, related with a Person (entity) and that person with an Organization or OrgUnit, based on an affiliation field. And also a structured field for a particular identifier of type ROR.
Another example could be a dc.relation field of a Publication associated with a Funded Project. Like:
    "dc.title":"Funded Project title",
    "project.amount": 100000
    "project.funder": {
           "dc.title": "Funder",
            "orgunit.identifier": {
                "orgunit.identifier.name":"ROR",
                "orgunit.identifier.id":"123456789",
           }
     }

Describe the solution you'd like
DSpace has an implemented concept of virtual metadata. You can add fields to your item that belong to related entities, through Relationships. That feature only enable you to bring static pairs field=value to the related item.
Like:
dc.contributor.author = Smith, John

The required configuration:
    <util:map id="isAuthorOfPublicationMap">
        <entry key="dc.contributor.author" value-ref="publicationAuthor_author"/>
...
    </util:map>
    <bean class="org.dspace.content.virtual.Concatenate" id="publicationAuthor_author">
        <property name="fields">
            <util:list>
                <value>person.familyName</value>
                <value>person.givenName</value>
                <value>organization.legalName</value>
            </util:list>
        </property>
        <property name="separator">
            <value>, </value>
        </property>
        <property name="useForPlace" value="true"/>
        <property name="populateWithNameVariant" value="true"/>
    </bean>

We need to add a layer on top of it to enable Structured data (like a new org.dspace.content.virtual.StructuredField):
    <util:map id="isAuthorOfPublicationMap">
        <entry key="dc.contributor.author" value-ref="publicationAuthor_structuredAuthor"/>
...
    <bean class="org.dspace.content.virtual.StructuredField" id="publicationAuthor_structuredAuthor">
        <property name="map">
            <map>
                <entry key="dc.title" value-ref="publicationAuthor_author"/>
                <entry key="person.affiliation" value-ref="publicationAuthor_affiliation"/>
...
            </map>
    </bean>
    <bean class="org.dspace.content.virtual.Concatenate" id="publicationAuthor_author">
...
    </bean>

What I described so far is the approach for entities with relationships, metadata that is shown on an entity that belongs to a related entity, that depends on a relationship. But I understand that the concept of virtual metadata shouldn't rely only on entities. For instance, we could add a virtual metadata field for the Access Status of a Publication. The access status is a runtime costly operation to determine, based on the resource policy, if the item is in Open Access status or any other state. In the retrieval we need to constantly verify what is the value for each item, based on it's bitstreams. If this field were a Publication's virtual metadata field, the value could be somehow stored or temporarily cached, avoiding the extra processing.
This virtual metadata field could be based on the dspace.itemType of an item. With this, we could extend the current data.
In order to make it possible, we need to refactor the org.dspace.content.virtual.VirtualMetadataPopulator, to not rely only on the relationship, having the current solution as a particular case of a type of virtual metadata.
    <bean class="org.dspace.content.virtual.VirtualMetadataPopulator">
        <property name="map">
            <map>
                <entry key="isAuthorOfPublication" value-ref="isAuthorOfPublicationMap"/>
                <!-- relations based on OpenAIRE guidelines -->
                <entry key="isContributorOfPublication" value-ref="isAuthorOfPublicationMap"/>
            </map>
        </property>
    </bean>

Additional information
Besides Virtual Metadata, DSpace would also need to support Complex Fields on several other Areas like Discovery/Solr storing and Retrieving, OAI, Restful retrieving responses.
I can clearly see benefits on performance and usage boost if, for searching purposes, we rely only on Solr to retrieve the stored structured data. Without having the need to perform Postgres queries, or minimize them to the bare minimum.
As an example, our system that has Access Status feature enabled performs a total of 856 database queries for a single user only to show two pages: The homepage with the last 5 submitted records and a search result with 10 records.
This type of structured fields could open DSpace to advanced features like be compatible with:
https://openaire-guidelines-for-cris-managers.readthedocs.io/en/v1.2.0/cerif_xml_publication_entity.html

I agree this relates back to the "Basic Nested/hierarchical metadata (e.g. dates on a Person's affiliation with an OrgUnit)" topic listed on the 9.0 discussion topics.  So, I'll link this ticket from that page.  (There's no guarantees this topic will be scheduled for 9.0, but this discussion ticket may still be a useful resource in prioritization)
I also want to point out here that we may want to look at how this has been done in the DSpace-CRIS product, as (if I remember correctly) they already support these complex / hierarchical fields and have compatibility with CERIF.  So, we may want to compare any new brainstorms to their existing approach before doing any major prototyping/dev work on this ticket.


Retry reply

Why are these changes needed?

There are situations when I want to resample a message, instead of using one from a sequence of messages in the cache.
That is, sometimes I want to stop at some point in the middle of such sequence of cached messages, and fork the "history".
For that, I'd need to signal the agent.generate_reply() to not go along with the cache this time, but sample one from the API (assuming we are using openai) instead.
I've needed this feature in a couple of projects when I introduce some rule-based checks on a given reply, and if it doesn't comply them, I need to signal the next agent to generate a reply discarding the one it had in a previous reply.
Another simple and gross solution would be the delete the whole cache, but that would remove the history of valid messages. So nope.
I introduced a use_cache argument in agent.generate_reply(..., use_cache) and all upstream locations. But... there are so many upstream locations I need to patch, which hints me that maybe I'm doing something wrong.
What do you guys think?
Related issue number

Checks

[ ] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[ ] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[ ] I've made sure all auto checks have passed.

I think instead of making these changes, you can take a look at the new cache module.
You can clear the cache (or use a new one) after each generate reply.
from autogen.cache import Cache

with Cache.disk(cache_seed=1) as cache:
  agent.client_cache = cache
  agent.generate_reply(…)
  cache.clear() # or create a new one next time.

If you use the same cache_seed each time it will reuse the same cached responses from before.

I think instead of making these changes, you can take a look at the new cache module.
You can clear the cache (or use a new one) after each generate reply.
from autogen.cache import Cache

with Cache.disk(cache_seed=1) as cache:
  agent.client_cache = cache
  agent.generate_reply(…)
  cache.clear() # or create a new one next time.

If you use the same cache_seed each time it will reuse the same cached responses from before.

I think instead of making these changes, you can take a look at the new cache module.
You can clear the cache (or use a new one) after each generate reply.
from autogen.cache import Cache

with Cache.disk(cache_seed=1) as cache:
  agent.client_cache = cache
  agent.generate_reply(…)
  cache.clear() # or create a new one next time.

If you use the same cache_seed each time it will reuse the same cached responses from before.

Sir, this is the kind of solution I looking for. I already tested it on my pipeline 😀
Just to make sure I understand (I did some testings though), this creates an ephemeral cache, right? I mean, next time this block executes, it'll create an independent cache instance with seed=1, w/o remembering anything from the past instances of seed=1, right?
Btw, that clear() method must be used like cache.cache.cache.clear() because that autogen Cache class doesn't have a clear() method directly.

this creates an ephemeral cache, right? I mean, next time this block executes, it'll create an independent cache instance with seed=1, w/o remembering anything from the past instances of seed=1, right?

Actually if you use the same seed it will use the same cache instance. So the cache is not ephemeral. If you want to resample a specific response, just use different cache_seed, and pick one you want to continue the conversation. Cache is based on input messages.

Btw, that clear() method must be used like cache.cache.cache.clear() because that autogen Cache class doesn't have a clear() method directly.

Ahw you got me :D
Btw if you are interested you are welcome to write a tutorial chapter on caching. See #1702

Btw, that clear() method must be used like cache.cache.cache.clear() because that autogen Cache class doesn't have a clear() method directly.

Ahw you got me :D
Btw if you are interested you are welcome to write a tutorial chapter on caching. See #1702

Will take a look at the tutorial ticket!

@jimsrc do you want to put this PR to close for now? We can add more improvement in a future PR


Spelling correction from bBains to Brains

Description
Found a spelling error at the end of section 3.5.  in the paragraph under Figure 5:Brains, Miners, and Validators
Each of the 1024 Brains in BasedAI’s network is capable of accommodating up to 256 validators (V) and 1792 miners (M). It is anticipated that a majority of Brains will not use all validator and miner slots in early stages of the network, however all bBains have the same max capacity."Cheers
(Optional:) Please add any files, screenshots, or other information here.
I am reading the HTML version of the whitepaper.
(Required) What is this issue most closely related to? Select one.
Other
Internal issue ID
15a7aa50-996c-4a46-9b3d-7e05c41eb529
Paper URL
https://arxiv.org/html/2403.01008v1
Browser
Chrome/<IP_ADDRESS>
Device Type
Android

Please contact the authors directly for questions on document content.
This repository only tracks the quality of the experimental HTML format.


add kailua house (maybe)

don't see ha gow
https://www.yelp.com/biz/kailua-house-kailua

https://www.kitv.com/news/new-chinese-restaurant-kailua-house-has-grand-opening-for-fathers-day/article_799463be-2c5d-11ef-a374-5ba9eac322b6.html


netlify redirects: branch 1.14

This is a Bug Report
/kind bug
This PR is under the #19624 umbrella :open_umbrella:
This PR refers to redirects from the 1.14 branch.
Problem:
Netlify plans to update how they interpret redirect rules.
Netlify suggests the following entries may be affected by the new rules:
/zh/docs/ ...
/zh/docs/home/ 301 ...
Proposed Solution:
Review the entries in /static/_redirects and update based upon the Netlify recommendations:
https://community.netlify.com/t/changed-behavior-in-redirects/10084.
Page to Update:
/static/_redirects

/assign

/priority important-soon

Note: Netlify listed only two possible issues with the 1.14 release branch.

/cc @kubernetes/sig-docs-zh-owners @kubernetes/sig-docs-en-owners
Would you check the release-1.14 branch.
There appears to be a _redirects file under content\zh. This should be removed?
I plan to add the /zh/docs to the root _redirects file (like the other localization entries).

Changes merged.
/close


Feature: Add the ability to compute metrics per group and then aggregate

Changelogs

Add support for a new metric type that computes a score per group and then aggregates the scores.
Reworked the structure for metrics, allowing for configurable metrics.
Fixed a minor bug in the n_test_datapoints method

Checklist:

[ ] Was this PR discussed in an issue? It is recommended to first discuss a new feature into a GitHub issue before opening a PR.
[X] Add tests to cover the fixed bug(s) or the newly introduced feature(s) (if appropriate).
[ ] Update the API documentation if a new function is added, or an existing one is deleted.
[X] Write concise and explanatory changelogs above.
[X] If possible, assign one of the following labels to the PR: feature, fix, chore, documentation or test (or ask a maintainer to do it for you).

RxRx3-Core calculates the metric first per treatment, before aggregating into a final score.
This caused some issues for our current Metric system. Up until this point, each metric in Polaris could be uniquely identified by a string label. We rely on this assumption throughout the code base (e.g. to serialize / deserialize metrics). In this PR, however, we're introducing a new grouped metric. This metric kind wraps another metric with additional logic and - importantly - is configurable through several variables. This implies that a simple string label can no longer uniquely identify a metric.
This raised the following questions:

How should we serialize metrics moving forward?

How do we save metrics in the benchmark object?
How do we reference those metrics in the results object?

How do we change the serialization without breaking backward's compatibility?

@jstlaurent I decided to add back a name property to the Metric which uniquely identifies the metric within the context of a benchmark. This drastically simplified changes on the Hub side because I didn't have to work with the Metric model_dump. In the vast majority of cases, this property is set automatically and people don't have to worry about it.


[Shared Lending Platform] update to newest design / copy

updates the copy on the following pages to align with figma designs and discussion:

unauthenticated landing page
complete user profile form
warning message for personal email
authenticated landing form
view user profile
view institution details

Great! 🎉


Message with newline?

Hi Paul, I am looking for the syntax of sending messages with the newline (the carriage return equivalent) in yowsup2. Do you know how to do it?

Have you tried simply including "\n" in your message string?

Hi @Dargmuesli thanks, I already found the right way. Putting the \n was not working because I was using '\n' instead of "\n".  Thanks for response.
My main problem now is this:  https://github.com/tgalal/yowsup/issues/1305#issuecomment-243695724
Do you have any experience with this?

No, unfortunately I cannot help you there as I'm using yowsup myself since yesterday only :D
But I'll try to get the rough idea of its usage in the next days and maybe I'll be able to help you then. But for me it's difficult to understand too, so I can't promise you anything here... :/

It's ok! Many thanks!

I'll email you if I find anything interesting (or you can email me). For now, you can close this issue i think. :)