topical bibliographies

one thing we can do is include the category in the bib entry:
e.g.
keywords = {horizontal contestations},
we can have multiple if multiple apply:
e.g.
keywords = {horizontal contestations, vertical linkages},
then we can have in each topical area an automated listing of topics for that area:
see e.g.
Causal inference
which is produced like this:
## Short working papers
<!-- _pages/publications.md -->
<div class="publications">

  {% bibliography -f papers -q @*[keywords~=causal inference]* %}

</div>

The keyword is added to every bib entry and then the entries are sorted by year and topic or is the listing of topic suppose to be on a different page?

for the main pub list we could just sort by year;
but if we have topical pages we could then have topic specific
bibliographies
On Fri, Aug 2, 2024 at 3:03 PM Luisa-WZB @.***> wrote:

The keyword is added to every bib entry and then the entries are sorted by
year and topic or is the listing of topic suppose to be on a different page?
—
Reply to this email directly, view it on GitHub
https://github.com/wzb-ipi/wzb-ipi.github.io/issues/1#issuecomment-2265361811,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADBE57OPP3MY5W6RZGHOUZTZPN7Q5AVCNFSM6AAAAABL4HNDPWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRVGM3DCOBRGE
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

ah okay, yes that makes the most sense


Cannot find marriage potential partners (link from the Entry Information to the entries for the page in question broken)

eg link to https://beta.freebmd.org.uk/62715b989c5d614a4b480ccc/689360/same_page_entries?district=Malton&locale=en&page=311&quarter=5&record=3&volume=24
Search for Alcock marriage, North Yorkshire Jan to Mar 1838

This appears to be fixed in test3. Still fails in beta.

Now works as intended in both test3 and beta. Can be closed.


Can install on windows?

I have a windows 2012r2 server. Can install it on windows?

In theory, yes, but I have not practically checked it, so I am not able to help you.
I will leave the issue open for some time.

was too hard but did it XD

Cool :)
What problems did you have?

Yii migration doesn't work with mysql on utf8mb4 and changing default engine don't work for me so I set character set to utf8
And for workers find supervisor for windows but I don't sure if i configure it right or what because nothing happend with my accounts. Can you give me a valid supervisord.conf file? And if you know a better way for configure workers in windows please let me now
For cron job Im using task scheduler
In this screenshot it is normal to all these to be unset? For like 10-12 hours?

also get this error when run php fullPath/yii stats/update-accounts in cmd

I just look in db and there is no disabled column in account table
Is this a bug? or somthing I did wrong?

I just look in db and there is no disabled column in account table
Is this a bug? or somthing I did wrong?

This is a bug.
Which branch do you install?

I just look in db and there is no disabled column in account table
Is this a bug? or somthing I did wrong?

This is a bug.
Please, create a separate issue for this.

OK. I create that column manually and there is no error any more but still no update on stats
accounts and tags flag as invalid after run update-accounts and update-tags

From what you write, the worker does not work. The queue is not processed.
The command is executed quickly, because the task added only to the queue.
See what you have in the queue table in the database.
You can also try to start manually
yii queue/listen
I do not work with windows, so I can not help with system solutions.

Queue table is empty
start queue/listen manually nothing change

https://github.com/jakim/ig-monitoring/issues/119
Windows is not officially supported.
sorry


"Unknown Hue linking error" after upgrading HomeAssistant on RPi 3

Home Assistant release with the issue:

0.70.0
Last working Home Assistant release (if known):
Not sure, but perhaps 0.63.X  (or earlier)
Operating environment (Hass.io/Docker/Windows/etc.):

Raspbian
Component/platform:

https://www.home-assistant.io/components/hue/
Description of problem:
After upgrading HomeAssistant and Python (from 3.4 to 3.6), HomeAssistant can't find the HUE lights in the HABridge anymore.  If I go to Configurations -> Integrations, I can see the "Philips Hue Bridge" under "In Progress", but any attempt to click on "Configure" results in a "Unknown Hue linking error occurred"
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
hue:
  bridges:
    - host: <IP_ADDRESS>
      filename: phue.conf
      allow_unreachable: true
      allow_hue_groups: true

Traceback (if applicable):
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/hue/bridge.py", line 164, in get_bridge
    await bridge.initialize()
  File "/srv/homeassistant/lib/python3.6/site-packages/aiohue/bridge.py", line 43, in initialize
    result = await self.request('get', '')
  File "/srv/homeassistant/lib/python3.6/site-packages/aiohue/bridge.py", line 61, in request
    'Invalid content type: {}'.format(res.content_type))
aiohue.errors.ResponseError: Invalid content type: text/html

Additional information:
The HABridge was not touched: same configuration/everything as before the upgrade of the HA/python.  Also, Alexa can find all the lights defined in the HABridge.

Problem disappear once I upgraded HABridge from 3.5.1 to 5.2.1  (http://bwssystems.com)

I am not sure what you mean by stand alone home assistant.  I just downloaded the jar file for the new version and run it instead.  Same configurations, setups and everything as before.

It is ok to close the issue. Not any current bug.

I'm seeing the same issue with Python 3.7
I've been having the same issue, and have done a bit of investigation...
The error is caused by python3.7/site-packages/aiohue/bridge.py at line 62 it has
            async with self.websession.request(method, url, json=json) as res:
                if res.content_type != 'application/json':
                    raise ResponseError(
                        'Invalid content type: {}'.format(res.content_type))

looking at the URL it is calling...
http://xx.xx.xx.xx/api/<apikey>/lights/

or variations of.
This returns a type
text/html

although the content is JSON formatted.
Thus the error is thrown.
I don't know enough about what is happening here, but this may give someone else a clue.
Happy to test ideas.


MH-12852 Required fields not indicated in the event details and series details modals

Note that this PR does not address the following related issues:

MH-12853 Event details and series details modals suggest that empty required fields are saved

Hi @lkiesow Thanks for taking the review! I assume that you already have seen that the build of this PR breaks because of the silence detection module (#205)

Merged #205, and did a mergeback.  This should resolve things, hopefully.

Thanks @gregorydlogan! I've merged back r/5.x into this PR. Should build now.

Now also merged back r/5.x with #206


Enhancement: Make Uri a Layout parameter

It would be great if uri was a Layout parameter such as Index, DocumentType etc.
This would allow us to construct the connection string from environment variables eg.
<target type=ElasticSearch" uri="http://${environment:variable=ES_HOST}:9200" ... />

Bonus points if we can set connectionStringName and still have this functionality :smile:

The problem with making it a layout is that you need a logEvent object to evaluate it and you only get those when logging out.
It's not obvious and not great code but you can actually set the connectionStringName to the name of an environment variable and it will use it.

Worked around this by using Logstash instead of logging directly to elasticsearch.


Add ability to change Patchwork instance

Hi @FlorentRevest,
Thank you for your great extension! After noticing that it's only setup for kernel.org's patchwork instance, and after noticing the issue #1 that was already raised by others, I decided to make a small patch to allow the instance to be changed.
It's very basic and all it does is move the base URL to a VS code configuration setting. Just enough to allow the extension to work with any other instance.
Hope you'll give it a chance!
Thank you,
Luca

Thank you Luca! That patch looks good :) I never got around to writing it but that's pretty much what I had in mind as well.
I'm trying to publish the updated extension to the Marketplace but for some reason vsce publish just stays stuck for a while. It happened to me a few weeks back for another extension and I just had to try on another day and things magically worked... So you may have to wait until next week before this is published, bear with me ;)

Nice! That was shockingly quick for a Friday evening! Happy to wait for a couple of days, I've possibly waited the least for this ;)
Have a good weekend!

The update is now published :) Thanks again! https://marketplace.visualstudio.com/items?itemName=florent-revest.patchwork
Also, note for my self, I understood why vsce publish seemed stuck, I was ssh-ed into my workstation and for some reason vsce tried to show a keyring graphical popup which wouldn't render on the laptop I was connecting from... ¯_(ツ)_/¯ So the problem was between the keyboard and chair :)


adding new corpus problem

i am trying to add new corpus to train chatterbot but i have these errors
Traceback (most recent call last):
  File "C:\Users\user1\Desktop\py\mmm.py", line 23, in <module>
    "C:\Python27\Lib\site-packages\chatterbot_corpus\data\english\bank.corpus.js
on"
  File "C:\Python27\chatterbot\trainers.py", line 114, in train
    corpus_data = self.corpus.load_corpus(corpus)
  File "C:\Python27\lib\site-packages\chatterbot_corpus\corpus.py", line 71, in
load_corpus
    corpus = self.read_corpus(file_path)
  File "C:\Python27\lib\site-packages\chatterbot_corpus\corpus.py", line 39, in
read_corpus
    with io.open(file_name, encoding='utf-8') as data_file:
IOError: [Errno 22] Invalid argument: 'C:\\Python27\\Lib\\site-packages\\chatterbot_corpus\\data\\english\x08ank.corpus.json'

this the path for corpus:
chatterbot.train(
"C:\Python27\Lib\site-packages\chatterbot_corpus\data\english\bank.corpus.json"
)

Your issue is pin-pointed with this statement right here:
```'IOError: [Errno 22] Invalid argument: 'C:\Python27\Lib\site-packages\chatterbot_corpus\data\english\x08ank.corpus.json'````
You can solve this with:
chatterbot.train( r'C:\Python27\Lib\site-packages\chatterbot_corpus\data\english\bank.corpus.json' )

@saraalosaid any updates about this issue?

i try chatterbot.train(r'C:\Python27\Lib\site-packages\chatterbot_corpus\data\english\bank.corpus.json') but it gives me the same error

Q&A sample corpus I was able to add and it worked fine.. used the same syntax wat described in the docs ...


Timestamp is not able to run the equiv-timeline suite

Timestamp needs to implement instant equals as well as datamodel equivalence  by dropping values to utc and not relying on ionDecimal for seconds/milliseconds equivalence.

fixed #150


New code of conduct

From https://github.com/caskroom/homebrew-cask/pull/8378#issuecomment-67958058:

I haven’t been following the evolution of the contributor covenant, but I’d say it’s probably best to not update it here, and come up with our own version. My concerns about it are roughly the same, except now @ndr-qef’s thoughts and proposals have been ignored for even longer.

@ndr-qef I’d love to see our code of conduct updated by you without worrying about ties to other CoCs; just carte blanche (no pressure intended) on all your concerns and opinions of what a good one should be (we could work on wording and length later).

I’d like for us to have a better code of conduct than what we currently do. Ideally, @ndr-qef could write us one that addressed all of his concerns, but if someone can write one that fixes all the problems he identified, that’d be fine too.

Some other resources to use as inspiration/foundation include:

http://geekfeminism.org/about/code-of-conduct/
http://www.haskellnow.org/wiki/CodeOfConduct (based on the above)
http://www.haskellnow.org/wiki/OutreachResources (for even more links)
https://www.python.org/psf/codeofconduct/

Thank you @maxnordlund, big thumbs up to that. Will have a read.

Are those resources mixable? I think and hope not!

@dardo82 What do you mean? The idea is to write a new code of conduct, and do so by not forgetting good ideas from existing ones, not just jumble existing ones together.

Some choices are needed then...

@ndr-qef Are you interested in pursuing this? If not, we’ll default to the contributor covenant again (updated to the latest version). Apple’s adoption of it for Swift development should bring with it some needed attention, and if there are holes that manifest, they should show up more readily.

My suggestions are unfortunately immaterial without validation from competent community figures. I agree that the best solution is adopting a standard CoC, which has the immediate benefit of being established and familiar.

Hi folks!
I ended up swinging around to our CoC just now due to some activity in another thread, realized it was a bit old, and found my way here.
Some great clarifying work has been done in the latest version (1.4) of the Contributor Covenant - work that has drawn praise from critics of certain details in prior versions.
There has also been a bunch of work done compiling reasons enforcement language is important to a CoC, which was one of the issues in question over in https://github.com/ContributorCovenant/contributor_covenant/issues/17.
Might we be able to build consensus amongst @caskroom/maintainers for an update to Contributor Covenant v1.4?

Pretty impartial to a code of conduct. I get why it's there, but... - my gut feeling is "be excellent to others" and "give people the benefit of the doubt". Generally I'll just lock unproductive discussions, and I'm not (personally) willing to do any further enforcement - it just doesn't seem to be a fruitful use of my time.
That being said, I try to be fairly polite in comments and PRs, and if this is just a codification of that, sure, why not.

(FWIW - though I'm off the day-to-day project work nowadays, I'd happily volunteer to help run the CoC reporting pipeline.)

@phinze I had been thinking about this for a while and think its a good idea.
The reason I haven’t done so yet is due to their paragraph regarding where to report CoC violations. We’re all volunteers and don’t have an HR department, or the like. My initial reaction has always been to put my email there, but what if the reporter has an issue with me? This will always an issue to a degree, but the person reviewing the cases can’t be someone that can be a trigger for a complaint. On the other hand, the person reviewing needs to be someone that actually interacts with the community, to be an effective judge.
A possible solution would be to include multiple email addresses. If you have an issue with one maintainer, contact another. I didn’t yet have the opportunity to discuss that with the rest of the team, however.
Another issue, and I want to be clear I’m not in the “CoCs are useless” camp, is that I don’t actually think the CoC would be a good tool to solve the kinds of issues we face where it would actually be applicable.
We have very few situations where a user is disrespectful, and so far those have come always from users that present an entitled attitude towards the homebrew-cask team and/or our contributors, have never before contributed to or even interacted in issues in homebrew-cask, and generally have a short github contributions graph. What this means is the type of users with a bad attitude we find are the ones making demands from people working for free, while likely not having much of an idea of what that means firsthand. I argue those users won’t know or care about CoCs, because it won’t affect them either way.
On to us (and myself specifically). As you know, though I always write with good intentions, my tone could (and I say that proudly, instead of “can”1) be disproportionately harsh. That, I believe, stopped being the case a long while ago, even before I took the reins of the project. Like @adidalal2, I believe in always assuming what others wrote was done so with the best of intentions (doing so helps clear ambiguous situations for the best) and in never being disrespectful in replies. That doesn’t mean we can’t be stern and assertive, though, and I find it best to do so in cases where the aforementioned entitled users are concerned.
This is where CoCs might be a false crutch to lean on. I’ve seen Apple’s Swift team closing an issue with something like “this doesn’t adhere to our CoC”, and that is, to an extent, a cop-out that doesn’t address the issue (I’m saying this in general, and not necessarily leaning on that particular case). To me, telling the user exactly why their attitude is unacceptable is much more honest. Many of them act like (and sometimes even outright say) they’ll “go somewhere else” as a threat, like if that were significant or even made sense (remember, these are users that never contributed, even in discussions), and I have no issue with them leaving. On the contrary, I appreciate it! Burnout is a real issue and I don’t want it happening to me or the rest of the team. Again, though, I still try to never be disrespectful to them, and if an occasional more abrasive line is to slip through in the heat of the moment (perhaps because I’m replying on a phone and can’t easily reread everything in context), I’m quickly to fix that. I’m fortunate to know other members of the team read most issues, and they’ll give needed feedback if required3.
Other maintainers have the same attitude and try to be as welcoming as possible. When a user comes in from nowhere (i.e. an unknown to the project) guns blazing making demands and one-sided arguments (usually very wrong because they didn’t bother to ask or look for context or reasonings), though, then all bets are off and they will be asked to leave.
Basically, in a huge wall of text and some context regarding our usual problematic cases, I agree with @adidalal completely.

1 No one is flawless, so eventually a “can” might be the case, but those are few and further apart as time passes.
2 Which is one of the nicest, most polite maintainers I’ve ever seen, in any project. I say “maintainer” but not even that is needed. Even before he was a maintainer with us he was already incredibly helpful and courteous to other users. Definitely one of the reasons that compelled me to invite him to the project.
3 I recall a specific incident when after my reply to a user that had directly insulted a member of the team and a contributor, even though I tried to be as calm as possible in my reply, I wasn’t sure if I had accomplished that, but got positive feedback on it even without requesting it, which was reassuring.

@vitorgalvao lovely wall of text, very informative, and I agree/recognize myself on pretty much everything. I too have come across as harsh not to long ago, but that got resolved quickly.
One thing that may elude people, is that the CoC also acts as a way for those that don't conform to the norm to feel accepted. Even though you don't treat contributors differently, for those on the outside so to speak might not be willing to take the risk if there aren't a clear stance of what is acceptable or not.
This is especially hard to comprehend for those within the norm, as it isn't something you think about in general, hence the term norm. Hell, I make so many assumptions every day, and hope that they aren't wrong. Most of the time they aren't, but the times they are, it really stings.

Closed by https://github.com/caskroom/homebrew-cask/pull/19152.
@maxnordlund Thank you for the feedback, it’s always good to know when a wall of text was enjoyable and not a waste. Also, I completely see your point:

the CoC also acts as a way for those that don't conform to the norm to feel accepted.

And agree that is a worthwhile goal/reason to have it. Like you said, we don’t treat contributors differently (as long as everyone is amicable), but there’s really no way for a newcomer to know that.

This is especially hard to comprehend for those within the norm

Very much agreed, as well.


CI: add cron and workflow dispatch

For a low-traffic repo it's especially useful to run CI in cron, so any new incompatibility has a chance to be noticed before users start reporting it.
I also added workflow_dispatch for manual CI trigger, and some minor cleanup.

@agoose77 - This is good to go, too, CI failure is unrelated and is fixed in #115


stack-buffer-overflow of ImageReadICS

Hi
I found an crash erro.
System info：
Ubuntu 20.04 : clang 10.0.0 , gcc 9.3.0
DIPliB Release  v3.0.0
commit:7db848500f4cc5db676b32e9a95dcbc94d976339
[poc2.zip](https://github.com/DIPlib/diplib/files/6966702/poc2.zip) (edit: careful with this, looks malicious)

Verification steps：
1.Get the source code of DIPliB
2.Compile the DIPliB and poc.c
$ cd diplib
$ mkdir build && cd build
$ cmake ../ -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_FLAGS="-O2 -fno-omit-frame-pointer -g -fsanitize=address" -DCMAKE_CXX_FLAGS="-O2 -fno-omit-frame-pointer -g -fsanitize=address"
$ make -j 32
$ sudo make install
$ cp src/libDIP.so ./
$ clang++ -g poc.cc -O2 -fno-omit-frame-pointer -fsanitize=address  -fsanitize-coverage=bb -I/usr/local/include -lDIP -L. -Wl,-rpath,. -o poc

3.run poc
$ ./poc crash.ics

asan info
=================================================================
==3089305==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffd029cb0e8 at pc 0x7f3d94d20309 bp 0x7ffd029ca450 sp 0x7ffd029ca448
READ of size 8 at 0x7ffd029cb0e8 thread T0
    #0 0x7f3d94d20308 in IcsReadIcs /home/topsec/Downloads/diplib/dependencies/libics/libics_read.c:900:45
    #1 0x7f3d94ce8157 in IcsOpen /home/topsec/Downloads/diplib/dependencies/libics/libics_top.c:133:17
    #2 0x7f3d92cf4f4f in dip::(anonymous namespace)::IcsFile::IcsFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*) /home/topsec/Downloads/diplib/src/file_io/ics.cpp:262:42
    #3 0x7f3d92ce7d64 in dip::ImageReadICS(dip::Image&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, dip::DimensionArray<dip::Range> const&, dip::Range const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/topsec/Downloads/diplib/src/file_io/ics.cpp:437:12
    #4 0x4c894f in dip::ImageReadICS(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, dip::DimensionArray<dip::Range> const&, dip::Range const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/local/include/diplib/file_io.h:89:4
    #5 0x4c894f in main /home/topsec/Downloads/diplib/build/poc.cc:19:19
    #6 0x7f3d919840b2 in __libc_start_main /build/glibc-eX1tMB/glibc-2.31/csu/../csu/libc-start.c:308:16
    #7 0x41d5bd in _start (/home/topsec/Downloads/diplib/build/poc+0x41d5bd)

Address 0x7ffd029cb0e8 is located in stack of thread T0 at offset 3208 in frame
    #0 0x7f3d94d188af in IcsReadIcs /home/topsec/Downloads/diplib/dependencies/libics/libics_read.c:373

  This frame has 13 object(s):
    [32, 40) 'saveptr.i2073' (line 244)
    [64, 1088) 'line.i' (line 199)
    [1216, 1224) 'saveptr.i' (line 201)
    [1248, 1256) 'fp' (line 376)
    [1280, 1283) 'seps' (line 379)
    [1296, 2320) 'line' (line 380)
    [2448, 2800) 'order' (line 390)
    [2864, 2952) 'sizes' (line 391)
    [2992, 3080) 'origin' (line 392)
    [3120, 3208) 'scale' (line 393) <== Memory access at offset 3208 overflows this variable
    [3248, 3600) 'label' (line 394)
    [3664, 4016) 'unit' (line 395)
    [4080, 4088) 'saveptr' (line 398)
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
      (longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-buffer-overflow /home/topsec/Downloads/diplib/dependencies/libics/libics_read.c:900:45 in IcsReadIcs
Shadow bytes around the buggy address:
  0x1000205315c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x1000205315d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x1000205315e0: 00 00 00 00 00 00 00 00 00 00 f2 f2 f2 f2 f2 f2
  0x1000205315f0: f2 f2 00 00 00 00 00 00 00 00 00 00 00 f2 f2 f2
  0x100020531600: f2 f2 00 00 00 00 00 00 00 00 00 00 00 f2 f2 f2
=>0x100020531610: f2 f2 00 00 00 00 00 00 00 00 00 00 00[f2]f2 f2
  0x100020531620: f2 f2 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x100020531630: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x100020531640: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f2 f2
  0x100020531650: f2 f2 f2 f2 f2 f2 00 00 00 00 00 00 00 00 00 00
  0x100020531660: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==3089305==ABORTING

Thank you,
Product Security

Please check this link
https://cwe.mitre.org/data/definitions/121.html

This is an actual typo in libics. I will submit a pull request upstream.
Sorry for misjudging you. I would suggest, next time you submit broken image files in a bug report, that you explain what you did to the file and why. Dumping broken files like this without explanation is very suspicious.
I will look into these other two reports as well.
Thank you.


Modify run.sh

Fix run.sh to work as intended

Done. Tested in UNIX Environment, works as expected and runs the bot appropriately.

Done. Tested in UNIX Environment, works as expected and runs the bot appropriately.


Suggestion: Change or remove the color scheme in the radial histogram

As discussed here, the rainbow colormap is not ideal for the data visualization in this project. It is likely better to use a uniform color for the radial histogram.

Perhaps the "pies" could be in two alternating shades of the same hue to still convey the center and radial direction. If changed to just a single uniform blob it wouldn't communicate the direction as clearly.


x86: start pcie in early init level.

Move PCIe to EARLY and UART to pre-kernel level.
Fixes various bugs where uart driver was started too late (in
post-kernel).
Fixes #62761
Fixes #62717
Signed-off-by: Anas Nashif<EMAIL_ADDRESS>

Just to summarize, we have the following dependency graph on any platform that enables ACPI and has its UART as a PCIe device:
ns16550 -> PCIe -> ACPI
AFAIK, one reason why ACPI is POST_KERNEL is that ACPICA depends on the libc heap (malloc) being available. I'm not sure if I looked at the right place, but based on lib/libc/common/source/stdlib/malloc.c it looks like the libc heap is indeed initialised only at POST_KERNEL level at least in some build configurations:
https://github.com/zephyrproject-rtos/zephyr/blob/d8b153e00f06d8b9943da3d477afc2c5d8fad250/lib/libc/common/source/stdlib/malloc.c#L263
So, to be able to move all these things earlier one would either need to eliminate the malloc dependency, or then initialize the libc heap much earlier.
@najumon1980 does the above seem like a correct assessment? Did I miss or misunderstand something?

Could we use kernel heap? https://docs.zephyrproject.org/latest/kernel/memory_management/heap.html

AFAIK, one reason why ACPI is POST_KERNEL is that ACPICA depends on the libc heap (malloc) being available.

hmm, I do not see ACPI in post kernel, i.e. when building for ehl or rpl

Najumon has PRs in review

Actually, I was wrong: after looking at the ACPICA Zephyr adaptation code it's using k_malloc() and not malloc(). k_malloc() in turn seems to use this heap:

if acpi and those depend on it need to be in post kernel, that is a major problem IMO.
The original code was putting pcie in pre kernel and pushing uart to post maybe because we were not getting the priorities right or whatever in one single init level which is a workaround that does break things, i..e how can you have uart in post kernel and uart console (depdending on uart device) in pre kernel?

Actually, I was wrong: after looking at the ACPICA Zephyr adaptation code it's using k_malloc() and not malloc(). k_malloc() in turn seems to use this heap:

if acpi and those depend on it need to be in post kernel, that is a major problem IMO. The original code was putting pcie in pre kernel and pushing uart to post maybe because we were not getting the priorities right or whatever in one single init level which is a workaround that does break things, i..e how can you have uart in post kernel and uart console (depdending on uart device) in pre kernel?

ACPI is not only dependent on HEAP memory, but other factor like it need more stack than what available in pre-kernel (where it use interrupt/exception stack instead of main stack). I will debug further this issue in ACPI context and update you.

ACPI is not only dependent on HEAP memory, but other factor like it need more stack than what available in pre-kernel (where it use interrupt/exception stack instead of main stack). I will debug further this issue in ACPI context and update you.

I'd assume that the early (interrupt?) stack size is configurable, and the platforms that use ACPI have plenty of memory, so it should be possible to just increase it.

Hi, I created following PR as an alternative for this PR fix to issues: Fixes https://github.com/zephyrproject-rtos/zephyr/issues/62761 and Fixes https://github.com/zephyrproject-rtos/zephyr/issues/62717
https://github.com/zephyrproject-rtos/zephyr/pull/64473

@nashif , looks the up_squared board currently using in your val is very old and our customers might not use currently. So it will great if you are able to upgrade to latest Upsquared board which is based on Alder Lake N (which we already enabled support). You can find board details: https://up-shop.org/default/ups-pro-7000-series.html

The issue with ACPI root caused: ns16550 driver init hung if configure as PRE_KEREREL_1 is due to HPET timer init priority (PRE_KEREREL_2) which is lower than ns16550. This is because acpi internally use sys_clock_cycle_get_64 and this cause issue since HPET was not insatiate at the time. Any way this issue will to happen with latest mainline code due to recent change to use apci_tsc timer as system timer. I also provided following a PR: https://github.com/acpica/acpica/pull/905 which will remove acpi DSDT API limitation of PRE_KEREREL_1.
Your this PR can be merge and will not break existing ADL platform.

@najumon1980 @nashif  do you plan to return to this?

@najumon1980 @nashif do you plan to return to this?

For the UART (remove dependency on parent node init level), I already added the changes as part of another PR (https://github.com/zephyrproject-rtos/zephyr/pull/62993).

@najumon1980 @nashif do you plan to return to this?

For the UART (remove dependency on parent node init level), I already added the changes as part of another PR (#62993).

@najumon1980  please provide a standalone fix that can be applied to the tree now without having to wait for a complete rework. This is a real problem we have right now in the tree and many tests are failing.

@najumon1980 @nashif do you plan to return to this?

For the UART (remove dependency on parent node init level), I already added the changes as part of another PR (#62993).

@najumon1980 please provide a standalone fix that can be applied to the tree now without having to wait for a complete rework. This is a real problem we have right now in the tree and many tests are failing.

I created the PR: https://github.com/zephyrproject-rtos/zephyr/pull/65428 and waiting for confirmation on testing few Intel platform


Support using variables in include location

This change will allow you to use variables from bootstrap.properties inside an include location.
closes #53

Couldn't variables come from more places than bootstrap.properties?

Couldn't variables come from more places than bootstrap.properties?

@cherylking I'm sure they can but right now it doesn't support variables at all.  To me this is very similar to what was already done in io.openliberty.tools.common.arquillian.util.HttpPortUtil:
https://github.com/OpenLiberty/ci.common/blob/d0453a7ab12fa550845076eb1416e8df7d8d0abe/src/main/java/io/openliberty/tools/common/arquillian/util/HttpPortUtil.java#L83-L94

@cherylking any more questions on this?

No more questions. I see the point of getting some basic support in for this.

@cherylking thanks for merging this.  I apologize for not getting the comments added.  Totally slipped my mind.  Do you have any sort of idea when this will make it into a release of the maven plugin? Appreciate all your help!

@klieber It's already in the 3.0.1 release...make sure you use the new groupid io.openliberty.tools. Be aware that there are a lot of new/changed functionality in the 3.0.1 release. See the release notes here: https://github.com/OpenLiberty/ci.maven/releases/tag/liberty-maven-3.0/


move nginx port from 80 to 3030 in examples

says "dev environment" more

[x] move in godot3-dedicated-example
[x] move in godot3-nakama3-example

(this does raise the question of how to easily swap to 80/443 but save that for production. it could reference a different build service in the servers/docker-compose.yml file perhaps, e.g. web-production.)

solved within individual repos


anchors not working with table driven tests / multiple t.Cmp calls

I'm building some Stripe tests with large, deeply nested structs, where using anchors is very helpful. They work great when I have a single test, but if I'm calling t.Cmp multiple times or have table driven tests, anchors are being compared against the wrong values. Since the anchors have to be set outside the inner test run loop, I'm not sure how td knows when to iterate between them. Am I doing something incorrectly?
Table driven test
func Test_payInvoiceWithStripe(stdT *testing.T) {
	tdt := td.NewT(stdT)

	tests := []struct {
		name                  string
		stripeCustomerID      string
		stripePaymentMethodID string
		wantPaymentIntent     *stripe.PaymentIntent
		wantErr               error
	}{
		// lots of tdt.A
	}

	stripeClient := client.New(apiKey, nil)
	invoice := &billingpb.Invoice{
		InvoiceId:            111,
		AccountId:            22222,
	}

	for i, tt := range tests {
		tdt.Run(tt.name, func(t *td.T) {
			gotPaymentIntent, err := chargeCustomer(context.Background(), stripeClient, tt.stripeCustomerID, tt.stripePaymentMethodID, invoice, int64(i))
			if tt.wantErr == nil {
				t.CmpNoError(err)
			} else {
				t.Cmp(e.Cause(err).(*stripe.Error), e.Cause(tt.wantErr).(*stripe.Error))
			}
			t.Cmp(gotPaymentIntent, tt.wantPaymentIntent)
		})
	}

Output
        DATA.ChargeID: values differ
        	     got: "ch_3KH0DO4HQ2O7mN7V1o3cxNfi"
        	expected: "<testdeep@anchor#12>"

Thanks for a great library!

Hi @derekperkins and happy new year !
Anchors are only valid for the next Cmp call to avoid filling memory uselessly.
But, if you want they persist, you can call AnchorsPersistTemporarily as in https://go.dev/play/p/8qmvkWMhtxi
This way, the cleaning of anchors is delayed until cleanup and so all registered anchors are usable by all following Cmp calls.
As you can see in the playground example, it works even in your sub-test case because when Run is called, the registered anchors are inherited.

That worked great, thanks for the heads up @maxatome!


MRC-1657: Update docker build based on feedback

Dockerfile

We probably should depend on R version 4 now

Best practice for apt installation is apparently:

RUN apt-get update && apt-get -y install --no-install-recommends \
    <packages> \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

The lines:

COPY docker/bin /usr/local/bin/
RUN sed  -i'' '/mran.microsoft.com/d' /usr/local/lib/R/etc/Rprofile.site

have stopped working for us in the past - see vimc/orderly/docker/Dockerfile for an alternative approach where we just replace the whole Rprofile.site

You do not need the last line installing traduire from remotes (and avoiding that will help with API-limits hit by remotes)

I thought that we were dropping INLA?

I have had mixed (i.e., low) success with RcppEigen compiling correctly in docker - it gets regularly killed due to running out of RAM in orderly container builds

Others

Do you want the docker/clear_docker script? Do you use it?
The two conditionals in docker/common could be merged
The docker/test script looks wrong to me as you start it as a daemon (i.e., backgrounded). So the exit code will always be 0 - at the same time the container will eventually exit as there is no daemon process.
Can you please add an MIT licence as LICENSE.md or similar?

Dockerfile

We probably should depend on R version 4 now
Best practice for apt installation is apparently:

RUN apt-get update && apt-get -y install --no-install-recommends \
    <packages> \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

The lines:

COPY docker/bin /usr/local/bin/
RUN sed  -i'' '/mran.microsoft.com/d' /usr/local/lib/R/etc/Rprofile.site

have stopped working for us in the past - see vimc/orderly/docker/Dockerfile for an alternative approach where we just replace the whole Rprofile.site

You do not need the last line installing traduire from remotes (and avoiding that will help with API-limits hit by remotes)
I thought that we were dropping INLA?
I have had mixed (i.e., low) success with RcppEigen compiling correctly in docker - it gets regularly killed due to running out of RAM in orderly container builds

Others

Do you want the docker/clear_docker script? Do you use it?
The two conditionals in docker/common could be merged
The docker/test script looks wrong to me as you start it as a daemon (i.e., backgrounded). So the exit code will always be 0 - at the same time the container will eventually exit as there is no daemon process.
Can you please add an MIT licence as LICENSE.md or similar?

I think all these changed except a couple have been made.

Asked Jeff about RcppEigen, he thinks it is used by TMB so I have left it in. We could try and remove it and see if it works without it
Left in the line COPY docker/bin /usr/local/bin/ we still need this for making the install scripts available
re the docker/test script, I've removed the -d flag. Mostly here I just want to test that I can bring up the container, unless there is something more useful I can test?

Can you please add the buildkite badge to the README please and configure buildkite to ping back on PRs?

Thanks, added the badge. Buildkite is reporting back in the list of checks atm. Or you mean something else?

Sorry I missed the pingback as I'd expected it to show a different looking list!


identifier

how to know / get own "identifier" in replt

identifier has nothing to do with lavalink, it's up to you to name it


ENH: add user and assistant name to chat

There's not a OpenAI compatible way to pass the user and assistant name.
In this case, we need to use the low level API generate and piece together a prompt based on the chat history.


Calendar month names are not always visible

Describe the bug
It's possible to use CalendarDatePicker in such a way that the month names in the year view are not generated. The control displays blank tiles instead.
To Reproduce

Start the Control Gallery and navigate to the CalendarDatePicker tab
Open the calendar pop-up on any of the controls inside the tab
Click on the current year, at the top of the pop-up
Click outside the pop-up so that it closes
Re-open the pop-up
Click on the current year again

You will see this:

Expected behavior
Month names should always be visible in the year view, like this:

Desktop (please complete the following information):

OS: Windows
Version 11 preview 1

Through devtool I can see the text value is already assigned.
And it works fine if compositor is disabled. seems to be a regression.


Git clone command correction

https://ngsi-ld-tutorials.readthedocs.io/en/latest/iot-agent-json.html shows:
git clone https://github.com/FIWARE/tutorials.IoT-Agent.git
should be changed to
git clone https://github.com/FIWARE/tutorials.IoT-Agent-JSON.git
But for the tutorials.IoT-Agent-JSON repository the issue was already fixed (see also https://github.com/FIWARE/tutorials.IoT-Agent-JSON/issues/3).
Given that tutorials.IoT-Agent-JSON is a submodule of tutorials.NGSI-LD, perhaps it's missing a submodule update? (i.e. point tutorials.IoT-Agent-JSON to latest version)

the link https://fiware-tutorials.readthedocs.io/en/stable/iot-agent-json/index.html shows the same issue (it's from a different repository?)

Fixed https://github.com/FIWARE/tutorials.NGSI-LD/commit/aac17f2


Improve xml index expr type checking

Purpose
This is the master branch PR of https://github.com/ballerina-platform/ballerina-lang/pull/22088
This PR limit the index access expression on xml to just int type.
This means previously allowed xml child access using xml index expressions are no longer supported. And this also fixes the BAD-SAD error when index is not a int or string.
Fixes https://github.com/ballerina-platform/ballerina-lang/issues/22052
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[ ] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

Merging #22106 into master will not change coverage by %.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #22106   +/-   ##
=======================================
  Coverage   14.59%   14.59%
=======================================
  Files          51       51
  Lines        1411     1411
  Branches      219      219
=======================================
  Hits          206      206
  Misses       1189     1189
  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 0f0b160...f42f931. Read the comment docs.


firebase refresh fails when test zip file doesn't exist

Describe the bug
Running flank firebase refresh for ios project fails when the test zip file does not exist, while it does not use it.
We use run the tests in async mode in our CI setup, and then we run the refresh later from another machine. If it is not necessary we don't want to be moving the test zip file just for the refresh to run.
To Reproduce
Flank version: v20.08.2

Build app and run flank firebase test ios run --async
Store matrix_ids.json
On clean workspace (another machine) restore the matrix_ids.json and run 'flank firebase refresh'
See error '/home/runner/_work/ios/ios/UITests-Build.zip' not found (UITests-Build.zip)

Expected behavior
We expect not to look for the zip file and run the refresh.
Details (please complete the following information):
version: v20.08.2
revision: 5f9a81d148ae89a84e5c12410eef75ea9abbf698

Additional info
When we "fake" the zip file just by creating empty file, the refresh run is ok - indicating that the zip file is not even used at all during the refresh command.

This is a cool use case! Agreed this is a bug. I've added this to the ranked column. You can see the columns by installing Zenhub.
https://www.zenhub.com/extension


Depth lines don't line up across blank lines

Suppose I have a function in which there's a blank line. In this event, the vertical depth lines don't line up with the non-blank lines above and below.

Thanks for the bug report.
I don't know what's causing this. Perhaps it's a WPF-related bug. The code that renders indent lines is at https://github.com/fsprojects/VisualFSharpPowerTools/blob/38715049c6c3a5b03478dd19bac47ac2c94a6382/src/FSharpVSPowerTools.Logic/DepthAdornmentManager.fs#L120-L162.
Mark this up-for-grabs. It would be great if someone can investigate further.

I can't reproduce the non-alignment bug on my machine, but I do notice that the vertical lines are sometimes cut across (horizontally). This occurs also in @frankshearar's screenshot (you have to really zoom in to see it), between the first two lines, then after the "async" line and finally, after the second blank line. These cuts occur randomly, and seemingly regardless of blank lines.
Here's another example, with nonsense code and a lot of zooming to make it more conspicuous (though the cuts are still pretty small):

I'd be happy to try to work on this bug, but for the time being I can only reproduce the other problem that wasn't explicitly mentioned here.

@yever I no longer reproduce the original bug either. Feel free to send a pull request fixing the horizontal cuts there.

I found it!
This line defines an "adornmentHeightFudgeFactor" which is set to 0.0, but as the comment above it goes:
// Amount to increase the adornment height to ensure there aren't gaps between adornments
// due to the way that layout rounding changes the placement of these adornments.
// Can see the bug if you set this to zero and scale the editor window to e.g. 91%, though for now I don't care

Well, increasing it does the trick. I played around with it, and 0.2 seems to be the smallest number that makes the gap disappear even in 400% zoom (on my screen that has 4K resolution).
I'll go make a PR.


Update SocketClientService to support custom paths

Information
Problem: Default value for Socket.io server path is '/socket.io'. If you use some custom path for production code configuration, then your tests will fail as SocketClientService ignores that.
I've added path parameter to the get() so in tests, you could use the same path as for production code.
Without that parameter Socket Manager uses default path '/socket.io' and fails to connect.

Type
Breaking change

Fix
No

Usage example
Example to use your feature and to improve the documentation after merging your PR:
const CUSTOM_WS_PATH = "/ws";

before(PlatformTest.bootstrap(Server, {
    platform: PlatformExpress,
    listen: true,
    httpPort: 8999,
    ...
    socketIO: { path: CUSTOM_WS_PATH }
}));

const service = PlatformTest.get<SocketClientService>(SocketClientService);
const client = await service.get("/test", CUSTOM_WS_PATH);

For more details see here: https://github.com/tsedio/tsed/blob/production/packages/third-parties/socketio/test/socket.integration.spec.ts
Todos

[ ] Tests
[ ] Coverage
[ ] Example
[*] Documentation

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 95.719%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
4229

Relevant Lines:
4237

💛  - Coveralls

Hello @dimaKudr
Thanks a lot for this improvement. There is a small issue with the linter ;).
When it’s fixed I’ll merge and release this pr :)
see you
Romain

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

v6.95.4
GitHub release

Your semantic-release bot :package::rocket:


Permanent settings / remember settings from last time

It would be nice to have some kind of profiles we could use. an option to save a permanent profile with a drop down box to choos from and perhaps some functionality that remembers the last setup of options.
Wonderful project, thanks @jhj0517

The feature for load & cache parameters is applied in #255.
You can update defaults in default_parameters.yaml.
If you have any problems with it, please let me know!


Is it possible to create a element out of a javascript domelement?

I need to access the PropertiesDialog, which takes an element argument.
The argument I want to pass I only have access to as a JS dom element.... Is there anyways for me to create a new CT element out of this?
I'm not sure what the CT element class is even really called....

@shockdot there's no Element class in CT. CT provides an editor (e.g a set of tools and a UI) but the actual editable elements and the management of a tree of editable elements is provided by the ContentEdit library documented here: http://getcontenttools.com/api/content-edit and available as source here: https://github.com/GetmeUK/ContentEdit.
Even though you could probably generate an editable element on the fly to send the properties dialog, e.g (http://getcontenttools.com/api/content-edit#text):
# Create an editable element on the fly
element = new ContentEdit.Text('p', {'class': 'foo'}, 'some content')

# Set up the dialog
modal = new ContentTools.ModalUI()
dlg = new ContentTools.PropertiesDialog(element)

# Show the dialog
ContentTools.EditorApp.get().attach(modal)
ContentTools.EditorApp.get().attach(dialog)
modal.show()
dialog.show()

I have something like this..

Some text goes here</span and also here

I've done so using a span tool that ive added myself. Next I've added another tool that opens up the PropertiesDialog, similar to the inspector... However this tool uses the start & end indexes to locate the first level parent of the selected content in the element variable that is fed to all the tools "apply" function.
Now in this case when I use this custom tool, I call it the Properties tool, it should edit the closest inner html tag to the selection. In this case, if I had the word "goes" highlighted when it was pressed it would contain a link to the element goes here.
Now what I expect to be able to do is use this element to create an object of the same type of the "element" variable that is fed into all apply functions in each tool. So that I can create a properties dialog using the selected element and not the root element (p). So when I call the PropertiesDialog, instead of it being for the p tag it will be for the span tag.
Literally I'm done everything and am just missing this one step...

@shockdot well you can certainly follow the example from my last comment and specify a span instead of a p tag:
element = new ContentEdit.Text('span', {}, 'goes here')
You will have to manually manage the save action for the properties dialog but a ContentEdit.Text element wont care what tag name you give it.

I was able to produce the desired functionality by just replacing parts of the element variable like so...
      var element_j = $(element._domElement);       if(element_j)       {         selected = $(":contains(" + element._domElement.innerText.substring(from, to) + ")", element_j);         element._cached = $(selected).html();         element._domElement = selected[0];         element._tagName = $(selected).prop("tagName").toLowerCase();       }
Not sure if this is an acceptable solution, or if it will produce unforseen issues. However, I'm starting to test it now. If it all works the only thing left is for me to convert this into coffee(going to take forever since I don't know coffee, if anyone wants to help out and do that for me thatd be great -.-).

Hmm so I tried this...
selected = new ContentEdit.Text($(selected).prop('tagName'), {}, element._domElement.innerText.substring(from, to));
And it didn't produce any errors but it also didn't change anything. I'm assuming this is because we actually only created a completely new ContentEdit.Text instead of create a new one that is linked to the original dom_element...

That's correct, you need to manually manage the save action for the properties dialog to update the content of your element per any changes to the inner element.

Okay well that wasn't working out well entirely... So I took to another route... This time I made the properties dialog appear when ever I apply the span element for the first time...
They way it works is...
User selects a section of text, clicks the span element for the first time, properties window opens, they select the class, click apply. Then it adds the tag to the selection. Simple. It works great.
Only issue now is when we try to remove the span element by clicking the span tool again it doesn't remove it...
Not sure why...
This is my code for the apply function... I expected that if the isApplied condition gets thrown that any tag in the selection with span in it gets removed... Unless I'm mistaken and it just does a character match of wild card? Which thinking about it now it might....?
    @apply: (element, selection, callback) ->
        # Apply the tool to the current element
        element.storeState()

        [from, to] = selection.get()

        if @isApplied(element, selection)
            element.content = element.content.unformat(
                from,
                to,
                new HTMLString.Tag(@tagName)
                )

            element.content.optimize()
            element.updateInnerHTML()
            element.taint()

            element.restoreState()

            callback(true)
        else
            # Set-up the dialog
            app = ContentTools.EditorApp.get()

            # Modal
            modal = new ContentTools.ModalUI()

            # Open a Properties Dialog to choose a class...
            temp_span = new ContentEdit.Text(@tagName, {}, "");
            dialog = new ContentTools.PropertiesDialog(temp_span);

            # Support cancelling the dialog
            dialog.bind 'cancel', () =>
                dialog.unbind('cancel')

                modal.hide()
                dialog.hide()

                if @element.restoreState
                    @element.restoreState()

            # Support saving the dialog
            dialog.bind 'save', (attributes, styles, innerHTML) =>
                dialog.unbind('save')

                attributes = {}

                classes = "";
                for name, value of attributes

                    # The `class` attribute has to be handled differently from other
                    # attributes as CSS classes should only be set using the
                    # add/removeCSSClass methods.
                    if name == 'class'
                        # If the value is null (marked for remove) default it to an
                        # empty string so all classes will be safely removed.
                        if value == null
                            value = ''

                        # Add the classes to the classes list....
                        classes += value + " "
                    else
                        attributes[name] = value

                # Apply the style changes
                for cssClass, applied of styles
                        classes = cssClass + " "

                # Apply the classes attribute...
                attributes["class"] = classes

                element.content = element.content.format(
                    from,
                    to,
                    new HTMLString.Tag(@tagName, attributes)
                    )

                # Get rid of the selector...
                modal.hide()
                dialog.hide()

                element.content.optimize()
                element.updateInnerHTML()
                element.taint()

                element.restoreState()

                callback(true)

            app.attach(modal)
            app.attach(dialog)
            modal.show()
            dialog.show()

The documentation for HTMLString explains how unformat works in terms of matching, you can find it here: http://getcontenttools.com/api/html-string#string (under s.unformat(from, to, tags...))
As per the docs because a HTMLString.Tag instance is passed to unformat the span must match exactly, that is  want be matched, you'll need to either send a tag with matching attributes for the span or instead of sending a Tag send just the tagName, e.g 'span'.

Perfect! Using just the tag name worked :) Thanks for the guidance.

np - glad it's working for you


docs: material ui branding again

@oliviertassinari 's PR from a couple months ago go erased from git history somehow. Re-implementing #4986

Oh nice, thanks


[core] timing support

Hi,
for framerate-independent animations it would be great to have support for timing stuff (get current time in ms or something like that). There are already support-routines in core, but they're not exposed to the user.

Yes, also related to https://github.com/raysan5/raylib/issues/399
Looking for best way to expose GetCurrentTime(), it depends on multiple platforms...

GetTime() function exposed to user on commit https://github.com/raysan5/raylib/commit/5290390494c23055c689c183aea6d88039b0d5fb


Compatibility with other search related extension

contextual-wiktionary did work fine but until i installed some other search related extension and tried them. Since then, the option appear in the contextual menu, but it does nothing at all : no popup window appears and no error in the console.
AFAIK I switched all the other recently installed extension OFF, but contextual-wiktionary still doesnt work.
Is there a known way i can fix this issue ?
How can i better diagnose the issue so as to provide usefull debug data ?
With Firefox 108.0.2 (64 bits) on Ubuntu 22.10

Hi, is the extension button visible in the menubar?

No, since i asked FF to not display it.
I went to Customize toolbar so as to display the button and now the popup "define" window appears OK.
I suppose it's not possible to both have this sort of popup display and no button.
Thanks a lot for your answer.


Adds SemanticsNode Finders for searching the semantics tree

Pulled FinderBase out of Finder

FinderBase can be used for any object, not just elements
Terminology was updated to be more "find" related

Implemented WidgetFinder using FinderBase<Element>

Backwards compatibility maintained with _LegacyFinderMixin

Introduced base classes for SemanticsNode finders
Introduced basic SemanticsNode finders through find.semantics
Updated some relevant matchers to make use of the more generic FinderBase

Closes #123634
Closes #115874
Pre-launch Checklist

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

cc: @bartekpacia
Here's the PR that cleans up the Finder API (as well as pulled out a generic base class for it.
Turns out the toString issue had a reason, there isn't a way to do custom formatting of the Actual part of the expect call without using toString, but I did add a parameter to the toString method to be able to actually describe just the finder itself, and the results are where that description is created.

nit: looks like the analyzer is unhappy about a space somewhere...

About the deprecations: I am very much against introducing replacement APIs without deprecating the old ones - even if this state is just intended to last a short period of time. Having two sets of APIs without clear marking which one is supposed to be used is creating user confusion, we have seen this before. Furthermore, if we delay the deprecation we may realize too late that for one reason or another we cannot actually deprecate the old API and then we are stuck with both. Also, even when the intention is to follow up with the deprecations right away, intentions and plans change and then things get forgotten. I just recently fixed a "TODO: deprecate this" four years after the reason to deprecate it became true and had to do a bunch of extra clean-up because people continued to use the not-yet-deprecated property in their code since they had no better way of knowing that they weren't supposed to.
I agree that it may not be practical to do all of these deprecations in this PR. For that, we have options. Some examples:

When it comes to renaming things, we can do the rename deprecation first (e.g. rename Finder to WidgetFinder, add a deprecated typedef) in a separate PR upfront.
We can chose to not introduce a replacement API at all (e.g. decide that Finder is a fine name and not introduce WidgetFinder).
We can chose to delay introducing the replacement to a future point in time (e.g. keep Finder for now and then in a follow-up rename it to WidgetFinder, we just need to accept that that may never happen, but we will not end up in a two APIs state).
...

When it comes to deprecating a thing, we also need to evaluate whether the deprecation is worth it. We don't want to create too much churn for our developers without clear benefit for them. Right now, we enjoy there good will and they let use evolve the APIs to make them better. But if we - in their eyes - abuse that good will, people may become grumpy and less receptive to these kind of deprecations.
To evaluate whether a depreciation is worthwhile, we should collect some data. For each deprecation it would be worthwhile to collect:

How many lines of code need to be migrated in our own repository? In google3? For out customer tests, including the packages repository?
Can these deprecations be auto-migrated by dart fix?
How would one migrate to the new APIs?
What is the developer facing benefit for doing these migrations?

The last 3 points are what one would typically also cover in a migration guide. It is a good exercise to write this before doing the deprecations to make sure we have good reasons for it - and to illustrate that doing this is worthwhile.
Lastly, some concrete thoughts on some of the deprecations proposed:

Finder -> WidgetFinder seems to have a rather low return on investment. Sure, we should have used that name from the beginning. If almost nobody is affected by this rename we can still do it, but if it affects hundreds of callsides outside of our direct control I would lean away from it.

Finder.evaluate is called almost 3,000 times in google3. That's a lot of code that needs to be migrated. I am wondering if we instead should save everyone the trouble and design the new capabilities around this exiting API.

There's also some more guidance around this in our wiki: https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes


Deselect the calendar

Hi all
It is possible to deselect the calendar, once a date got selected.
What I mean consider following images:
Date got selected:

Is there any function available to make the calendar to initial state:

Thanks

Hi,
what is your usecase? If you deselect it where the focus would go?
cheers,
Vladimir (OpenUI5)


iOS App - Improvements (Battery Usage and Usability Feature)

Hi,
Just wanted to share some observation on the iOS app.
1 - Battery drains faster if the NetBird app is left Connected continuously. FYI, I had the same issue in the past with the Wireguard app, and it seemed to be due to DNS going through the VPN rather than staying "local". Could there be some similar possible improvements on the mobile app to help reduce battery usage ?
2 - In my case, I have multiple exit nodes possible, but I want to be able to opt-in rather than them being automatically selected when I connect to netbird . Is there a way for the app to "remember" the last state and start from that ?
Thanks,

+1 on battery drain issue - it’s much worse than the Wireguard iOS client with Wireguard DNS. Screenshot shows WG battery drain between 1800-2200 (left side). Netbird battery drain to the right of that.


User registration and authentication

Create a User model and use Devise to support allowing users to register themselves and sign in and sign out of the application.

I'd like to snag this one. :-)


Collapse calender getting gone

It's easy to getting gone after  it scrolled,any ideas?

I also encountered this problem,This is very serious


[Snyk] Security upgrade @backstage/theme from 0.0.0-use.local to 0.1.1

Snyk has created this PR to fix 1 vulnerabilities in the yarn dependencies of this project.
Snyk changed the following file(s):

plugins/splunk-on-call/package.json

Note for zero-installs users
If you are using the Yarn feature zero-installs that was introduced in Yarn V2, note that this PR does not update the .yarn/cache/ directory meaning this code cannot be pulled and immediately developed on as one would expect for a zero-install project - you will need to run yarn to update the contents of the ./yarn/cache directory.
If you are not using zero-install you can ignore this as your flow should likely be unchanged.

⚠ Warning
Failed to update the yarn.lock, please update manually before merging.

Vulnerabilities that will be fixed with an upgrade:

Issue
Score

Regular Expression Denial of Service (ReDoS) SNYK-JS-CROSSSPAWN-8303230
  170

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
Max score is 1000. Note that the real score may have changed since the PR was raised.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Regular Expression Denial of Service (ReDoS)

:tada: Snyk checks have passed. No issues have been found so far.
:white_check_mark: security/snyk check is complete. No issues have been found. (View Details)
:white_check_mark: license/snyk check is complete. No issues have been found. (View Details)


docs: add note about lzma linking

Based on conversation: https://discord.com/channels/1030247538198061086/1197630564254101618/1252718001241722972

Datafusion added static linking themselves as part of the 37.1 release.  Are we certain this is still needed?

https://github.com/apache/datafusion/pull/9311

Are we certain this is still needed?

Perhaps not. I suppose the user must have been on a version with an older datafusion. I will close this for now.


Provide a build option to trade correctness for speed (e.g. rerun failed tests only)

Expected Behavior
gradle :test --failed would inspect the previous execution and filter by any test classes that failed.
If the previous test execution results do not exist or cannot be read, no filter is applied and we run all tests.
Demo: https://asciinema.org/a/alielycyjjkst2niborcey95w
Current Behavior
This does not exist today, sadly.
Context
Other build tools like Rake and SBT have a nice feature that allows one to re-run just failed tests. Some systems re-run the all tests if none have failed.
This was spiked by @big-guy in #2036 and sadly died in discussion because we wanted to make it more generic. I believe that doing this much smaller amount of work (as opposed to generic check --failed) would do what 90% of users want and so I advocate for doing this.

I don't think that discussion resulting in something bigger, just something more general.

As discussed on our meeting, we don't want to make it specific to test tasks. At the same time there is no need to to make it work for everything right away. We can introduce a build option (e.g. --fast-feedback) and then let the test task be the first that reacts to it.

Related topic that this could evolve into: https://martinfowler.com/articles/rise-test-impact-analysis.html

This isn't about trading off correctness, it's about narrowing the question that Gradle will answer so that it can give the answer more quickly. Gradle will (or should) still apply all the usual correctness constraints in answering the question.

Well, only rerunning failed tests for instance is not correct, my changes could have broken other tests that were green before. I'll change it to "so the user can trade corrrectness for speed". Gradle itself will of course answer the less rigid answer as correctly as usual.

Bummer that we deprioritized this. I thought this was very complementary to --fail-fast because one could run with --fail-fast, then --failed-only until passing, thus ensuring a tight development loop.

I don't see how that would work yet. Fail fast aborts on the first failure. Fast feedback would only rerun that single failed test. So you still wouldn't know about all the other things that might be broken. You would need to constantly alternate between the two. Better do a full test first and then fast feedback till all are fixed.
What do you mean by deprioritize? We just merged fail fast and are still ironing out its edges, so there really wasn't any time to design this yet.

Well it went from "Sprint Backlog" to "Backlog", sir ;)
I suppose different projects and people will have different preferences on the use here, but I still think this'll be useful so I hope we can get to it, non-urgently.

Closing as we decided to go with always running failed tests first.


ARROW-7999: [C++] Fix crash on corrupt List / Map array input

Found by OSS-Fuzz

AppVeyor build: https://ci.appveyor.com/project/pitrou/arrow/builds/31236073

cc @wesm @emkornfield

Will merge if no-one comments on this. @xhochy

@pitrou To review this it would be interesting for me where this did crash.

Ok, I sent them privately. Also, if you want to be able to view the issues on OSS-Fuzz, you can tell me a Google account to add to https://github.com/google/oss-fuzz/blob/master/projects/arrow/project.yaml


Release workflows broken

Expected behavior
As a developer of IDEasy, I want automated workflows that build releases so that I can download the latest SNAPSHOT or publish an official release.
Actual behavior
Both the nightly-build workflow and the release workflow are broken.
Error from the log:
[ERROR] Failed to execute goal org.sonatype.plugins:nexus-staging-maven-plugin:1.6.13:deploy (injected-nexus-deploy) on project ide-cli:
Failed to install artifact com.devonfw.tools.IDEasy:ide-cli:tar.gz:linux:2024.03.001-alpha-SNAPSHOT: /home/runner/work/IDEasy/IDEasy/cli/target/ide-cli-linux-x64.tar.gz (No such file or directory) -> [Help 1]

Steps to reproduce (bug) / Use Case of feature request (enhancement)

See the nightly build workflow or run it manually

Related/Dependent Issues
#221
Comments/Hints:
This is where the release file for linux is defined and should be deployed:
https://github.com/devonfw/IDEasy/blob/8e44c02fffb25707b176042d53d4c564113fc0f0/cli/pom.xml#L155
As this used to work before and it now fails the question is:
Are all release packages not build anymore and therefore the file does not exist?
Or are they build but somehow now located in a different directory or with different name so they are not found?
Affected version:

OS: Linux, maybe all

Looking at the logs in more detail, I can find that the linux release is the first one trying to be installed what immediately fails:
[INFO] Installing /home/runner/work/IDEasy/IDEasy/cli/target/ide-cli-2024.03.001-alpha-SNAPSHOT.jar to /home/runner/work/IDEasy/IDEasy/documentation/target/nexus-staging/deferred/com/devonfw/tools/IDEasy/ide-cli/2024.03.001-alpha-SNAPSHOT/ide-cli-2024.03.001-alpha-SNAPSHOT.jar
[INFO] Installing /home/runner/work/IDEasy/IDEasy/cli/.flattened-pom.xml to /home/runner/work/IDEasy/IDEasy/documentation/target/nexus-staging/deferred/com/devonfw/tools/IDEasy/ide-cli/2024.03.001-alpha-SNAPSHOT/ide-cli-2024.03.001-alpha-SNAPSHOT.pom
[INFO] Installing /home/runner/work/IDEasy/IDEasy/cli/target/ide-cli-2024.03.001-alpha-SNAPSHOT-sources.jar to /home/runner/work/IDEasy/IDEasy/documentation/target/nexus-staging/deferred/com/devonfw/tools/IDEasy/ide-cli/2024.03.001-alpha-SNAPSHOT/ide-cli-2024.03.001-alpha-SNAPSHOT-sources.jar
[INFO] Installing /home/runner/work/IDEasy/IDEasy/cli/target/ide-cli-2024.03.001-alpha-SNAPSHOT-javadoc.jar to /home/runner/work/IDEasy/IDEasy/documentation/target/nexus-staging/deferred/com/devonfw/tools/IDEasy/ide-cli/2024.03.001-alpha-SNAPSHOT/ide-cli-2024.03.001-alpha-SNAPSHOT-javadoc.jar
[INFO] Installing /home/runner/work/IDEasy/IDEasy/cli/target/ide-cli-linux-x64.tar.gz to /home/runner/work/IDEasy/IDEasy/documentation/target/nexus-staging/deferred/com/devonfw/tools/IDEasy/ide-cli/2024.03.001-alpha-SNAPSHOT/ide-cli-2024.03.001-alpha-SNAPSHOT-linux.tar.gz

This is nothing in the log before saying that the linux release was ever build.

The other relevant part seems to be this one:
https://github.com/devonfw/IDEasy/blob/8e44c02fffb25707b176042d53d4c564113fc0f0/cli/pom.xml#L274-L275
And here:
https://github.com/devonfw/IDEasy/blob/8e44c02fffb25707b176042d53d4c564113fc0f0/cli/pom.xml#L17
If I get this correctly it worked as following:

on each OS we build the native-image (ideaasy or ideasy.exe) via the native-maven-plugin in the native profile
the same native profile also runs maven-assembly-plugin with the exec.xml
these results had been build into the target folder.
the aggregated build then does the deployment of the 3 OS specific together so that we either get a release for all 3 OS or none if some of them fails (if I understood it correctly - I am just reverse-engineering the workflow YAML, pom.xml, exec.xml.
to do so, the native image releases get moved as this is where we broke it:
Before:

mv ./natives/* ./cli/target/

After the change:
mv ./natives/* ./cli/target/package/bin/

So if I got all correct, we assumed that the 3 matrix OS builds only build the native image and then on the aggregated build we run the assembly to package it. However, that assumtion was wrong so this change needs to be reverted.

Verified fixed as now the releases are published and contain both native-image and wrapper script in bin folder as expected.


Layout Issues

Hello @bvaughn, thank you for implementing this library.
I have a few issues while integrating this library into an existing project and would like to give some feedback. :)
I have seen that you are currently rewriting some internals, so maybe all my points are already known, but maybe it will help, I don't know. :)
I have an application with a pretty basic layout.

A left sidebar, the content and a right sidebar.
The user has the possibility to resize, expand or collapse the sidebars.
The sidebar state (collapse state and width in pixel) is stored in local storage.

After I found this library and I wanted to replace our own sidebar logic with this much more elegant library.
Thereby I have the following issues:

Since our current layout uses state variables to decide weather the sidebars should be visible, I chose the approach to conditionally render the sidebars. However, if I conditionally toggle the left sidebar, the size of the right sidebar changes as well (although I am using pixel units). This behavior may be caused by this: If an autoSaveId is provided, layouts will be stored separately for each panel combination.

Because of this, I tried the imperative approach. At first it looked good: If the user toggles a sidebar, it does not effect the width of the opposite sidebar. The issue have is the following: If a sidebar is collapsed, the user reloads the page and afterwards expands the sidebar again, it does not expand to its previous width.

Third I tried to grab the size of the panel in onResize() and provide it as defaultSize to the Panel. There, although I am using pixel units, I get percentage values, so I switched the layout to percentage. This solution finally worked for me, however it feels more like a workaround for me.

A last note: In our application I am now using the imperative API to collapse the sidebars. Therefore the sidebars have to be collapsible. But I don't want the auto-collapse behavior. It would be nice if it could be configured seperately.
Thanks again for this great library. :)

Hey @dawi. I'm not sure what I can do with this issue. Without a repro, there's nothing I can really look at.
If you want to use pixel based constraints, I suggest waiting for v56 (#182) since that should hopefully simplify things a lot.

Hey @bvaughn, I think I will wait for v56 then as you suggested. :)

Thanks!


Create object via factory

Hello,
I added Jil to my project and I have the classical error "Expected a parameterless constructor".
I use interfaces instead of concrete classes so this result is totally natural.
My question is : Is there a way to use a factory (or another way) to create object for a specific type ?
Thanks :-)
(Sorry for my bad english)

Jil should try and create default implementations of interfaces when needed, can you provide code to reproduce of this error?

I'm trying Jil as an alternative and have a similar problem. Why is it looking for a constructor for an interface? It is even null.
`void Main()
{
var obj = new TestClass(){test1 = 10};
var json = JSON.Serialize<TestClass>(obj);
Console.WriteLine(json);
var obj2 = JSON.Deserialize<TestClass>(json);

}
public class TestClass
{
public int test1 { get; set; }
public Dummy test12 { get; set; }
public IDummy test13 { get; set; }
}
public class Dummy : IDummy
{
public Dummy()
{
}
}
public interface IDummy
{
}`


Permission handling for android in case of base64 sharing

Handling of android permissions in case of sdk version greater than 22. It is handled by checking if the sharing options contains url(s) and if they do and they are base64 strings, then check for write storage permission and proceed accordingly. If the permission is denied, then the share is rejected with 'Permission denied' error.
Also gradle tools version is made generic to tackle errors in projects using gradle version lesser than this library.

I see a great job here. I would just fix gradle version to at least 3.0.0, since this is on 4.8 (https://gradle.org/releases/).
Thanks for this awesome job.

@kkbhav e-mail me, please.
I'll invite you to slack channel, if you want.

@jgcmarins Should i do the await async changes, or just the gradle changes?

I'd change for the async/await pattern and merge it.
Nice work.

I think you can address @jgfidelis comments and keep mine for another PR. Let's test this new gradle approach

@jgfidelis @jgcmarins  I have made async await changes. Please have a look and merge the changes. Also, CI tests failed somewhere, can you please check what was the error.

some warnings from CI:
WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.

CI is also failing:
> Task :lint FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':lint'.
> Could not resolve all files for configuration ':lintClassPath'.
   > Could not find org.jetbrains.trove4j:trove4j:20160824.
     Searched in the following locations:
       - file:/opt/android-sdk-linux/extras/m2repository/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.pom
       - file:/opt/android-sdk-linux/extras/m2repository/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.jar
       - file:/opt/android-sdk-linux/extras/google/m2repository/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.pom
       - file:/opt/android-sdk-linux/extras/google/m2repository/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.jar
       - file:/opt/android-sdk-linux/extras/android/m2repository/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.pom
       - file:/opt/android-sdk-linux/extras/android/m2repository/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.jar
       - https://repo.maven.apache.org/maven2/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.pom
       - https://repo.maven.apache.org/maven2/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.jar
       - https://maven.google.com/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.pom
       - https://maven.google.com/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.jar
       - file:/root/app/node_modules/react-native/android/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.pom
       - file:/root/app/node_modules/react-native/android/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.jar
     Required by:
         project : > com.android.tools.lint:lint-gradle:26.3.0-alpha01 > com.android.tools.external.com-intellij:intellij-core:26.3.0-alpha01

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 9s
20 actionable tasks: 20 executed
Exited with code 1

@jgcmarins can you help me out here. I don't know how to fix this.
Also, how do I email you. I do not have your email-id

@kkbhav join community here: https://join.slack.com/t/rn-community/shared_invite/enQtMzY0MDgxODcwOTYyLWEwNWY3Njc0Mzg1MzllYWVhNTU4NTY5MGY5NjQ2ZWM1MGFkY2QzMTljYWY2NzE0NTU4MmM3NTBkY2ZiZmIzMWY

@kkbhav no problem.
Since this pull request is from your fork, I can't work on it.
Could you please import this PR to a branch on the project?
You have access to that \o/

@jgcmarins hey, I have added new branch named android-permissions
Also now CI checks are showing as passed.

Hello everyone, i am using react native 0.56 version right now, and i founded some error with the build.gradle on react-native-share mudule inside node module, and i just ccomment the dependencies code like this:
dependencies { provided "com.facebook.react:react-native:+" // compileOnly "com.facebook.react:react-native:${safeExtGet('reactNativeVersion', '+')}" // compile "com.android.support:appcompat-v7:${safeExtGet('supportLibVersion', '27.1.0')}" }
I don't know what happen next if i do this, but at least it's run properly on my project for now. Hope this will help you all in the future. Sorry if my english doesn't spelling well.

@umar2731 could you try master branch.
We've already fixed it.


Allow updating check_date from the editor

Even when the POI tile shows a green checkbox. Maybe just use smaller hardcoded threshold, like a week.
Related to #378.

Done in 2.0.


AMKT [amkt]

Opening this as a way to get feedback on what is pretty close to the PR we're ultimately going to create.
I noticed there wasn't any non-delegative QV so I went ahead and created that.

Sure, I can try that. For my curiosity, what is the benefit to using a strategy as opposed to the basic operators/Math library directly?

Hey! I used the math strategy and removed the new quadratic balance of strategy I had added. Let me know if you'd still like me to use math for the multiplication as well. I saw that it wouldn't reduce code elsewhere and make the code in this strategy harder to read so I wanted to get your opinion on that before I made that change.

It is easy to maintain, Reduces duplicate code, also helps users understand that it just does math and not any complex calculation

@ChaituVR The proposed changes have been implemented, could we get this reviewed?

Hi @ChaituVR we have reviewed the changes proposed.

Hey, @RatanRSur @JamesEBall You still need this?

Yup! I'll be updating it very soon.

Hey! Would love your eyes on this again.
One thing to note is that we will need to change the AMKT address at some point but we need it to point to the current address for testing purposed.

@RatanRSur Hey, i still feel like you can use math strategy for this. you tried it?

@RatanRSur Yes yes but you can use the math strategy in your space directly and use the multiply operation. (I mean no need of a separate strategy for this) Try and let me know :)

Oh! As in don't even submit a PR.

Great. I'm trying that now but I'm getting some issues. Will ask for help on the discord.


How to play contineous sound

Hi how to play below pitch
let pitch =[48, 50, 52, 54, 55, 57, 59, 60];
let instrument =73;

play and stop. I tried
this.midiSounds.playChordNow(48, [73], 2);

Use long duration


Unable to use vue components

I installed the @abgov/vue-components package via the following statement:
npm install @abgov/vue-components
This was successful and added the package to my dependencies.  However, I was unable to import any of the library components to register them for use by my app.
The following statement:
import { GoAButton } from "@abgov/vue-components";
would create the following error:
ERROR in D:\Projects\GOV-AB\Housing\housing-application-portal\src\index.ts(5,27)       TS7016: Could not find a declaration file for module '@abgov/vue-components'. <EMAIL_ADDRESS>implicitly has an 'any' type.   Try "npm i --save-dev @types/abgov__vue-components" if it exists or add a new declaration (.d.ts) file containing "declare module '@abgov/vue-components';"
I was able to use the error to come up with a solution by adding an abgov.d.ts file with the following contents:
declare module '@abgov/vue-components';
I believe this should be part of the npm package itself though.

Hey @kirk-govab
The design system team is focusing on getting the current components released as web components which then can be "wrapped" in different JS frameworks to suit the needs of different projects.
In the interim, I suggest getting in touch with @peterghugov he should be able to help you get up and running!


Test various values of FM functions parameters

Try out different values of the parameters to see the influence on the matching results.

We're trying out the various functions on cropped images from ID documents, to simulate better the real use case. These are our three base test images:
crop 1

crop 2

crop 3

Here is the result of the feature matching with all default options, 5 best matches, showDistance=true

The matching is really bad. The question is why.

I implemented a feature to montage allowing to display images on top of each other, so that the results are more readable.
After fixing a few bugs, the algorithm is starting to work pretty well.


Hardcoded random interval

Hi,
Neat project :)
However, when you use the --random option, it will always get a comic between ID 100 and 999.
I've created a branch when I have corrected it, but it says I don't have permission to push a new branch.
Can you correct it, or grant permission to push changes into a new branch and create pull request?
Thanks in advance!

Hey!
Can you directly create a pull request on the master branch? I'd like all the contributions on the master branch itself.

The working of the pull request is this:

you have a master branch, you dont commit / push to master branch
some contributor creates a branch from master, let's call it side_branch. Commits changes to that branch and pushes that branch into github.
then the contributor can create a pull request, in which it is requested to move the content from the side_branch to the master. When you accept it, the side_branch can be deleted and there is 1 new commit in the master: the merge commit.

(sorry for the long tale if you already familiar with git)
I created a branch and when I tried to push it, the remote refused saying that I don't have permission for it. That's why I told you to correct this bug or enable pushing new branches.


Update Go Version and Alvarium SDK for CI/CD Annotations

Fix #9
The main changes are:

Update the Go version in the Dockerfiles from 1.17 to 1.22. This allows us to use the slog package, which is a dependency of the project-alvarium/alvarium-sdk-go package.
Update the project-alvarium/alvarium-sdk-go dependency to the latest version. This enables us to use the CI/CD annotation types, which are required for the Jenkins pipeline integration.
Run go mod tidy to clean up the go.mod file and the go.sum file. This removes any unused dependencies and adds any missing ones.

The screenshots below show the scoring apps running with the CI/CD annotations and the latest alvarium-sdk-go version:

Screenshot 1: The scoring app logs showing the alvarium create with CI/CD annotations (source-code and vulnerability)

Screenshot 2: The scoring app logs showing the alvarium mutate with CI/CD annotations (checksum)

Screenshot 3: Arango UI showing the graph of CI/CD annotations generated by the Jenkins pipeline

@michaelehab I'll approve this as changes look good and you have work pending on this review. However in your next round of commits please address the gofmt warnings that are emitted during make test.

@michaelehab Also, I noticed that while the Dockerfiles are updated to use the go1.22 Alpine base image the local go.mod is still pointed to 1.21. Please leave the go.mod at 1.21 for now.


Re-add Discord RPC

Add Discord RPC so that you could flex on your friends (if you had any)

Discord RPC currently works, however it isn't completed yet.