coreapi-cli fails retrieving the schema

I can't retrive schema with coreapi client.
minimal example + error below
from apistar import App

app = App(
    routes=[],
    schema_url="/schema/")
if __name__ == '__main__':
    # app.serve(ho starun_wsgi(app)
    options = {
        'use_debugger': True,
        'use_reloader': True,
    }
    app.serve('<IP_ADDRESS>', 5000, **options)

"""

jim:$  coreapi get http://localhost:5000/schema/

Traceback (most recent call last):
  File "/home/jim/.local/bin/coreapi", line 11, in <module>
    load_entry_point('coreapi-cli==1.0.9', 'console_scripts', 'coreapi')()
  File "/home/jim/.local/lib/python3.6/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/home/jim/.local/lib/python3.6/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/home/jim/.local/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/jim/.local/lib/python3.6/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/jim/.local/lib/python3.6/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/home/jim/.local/lib/python3.6/site-packages/coreapi_cli/main.py", line 147, in get
    doc = client.get(url, force_codec=force_codec)
  File "/home/jim/.local/lib/python3.6/site-packages/coreapi/client.py", line 136, in get
    return transport.transition(link, decoders, force_codec=force_codec)
  File "/home/jim/.local/lib/python3.6/site-packages/coreapi/transports/http.py", line 380, in transition
    result = _decode_result(response, decoders, force_codec)
  File "/home/jim/.local/lib/python3.6/site-packages/coreapi/transports/http.py", line 294, in _decode_result
    result = codec.load(response.content, **options)
  File "/home/jim/.local/lib/python3.6/site-packages/coreapi/codecs/base.py", line 24, in load
    return self.decode(*args, **kwargs)
  File "/home/jim/.local/lib/python3.6/site-packages/coreapi/codecs/download.py", line 143, in decode
    os.rename(temp_path, output_path)
OSError: [Errno 18] Invalid cross-device link: '/tmp/tmpf4u4sowp.download' -> '/home/jim/.coreapi/downloads/schema'
"""

That looks like like a coreapi issue rather than an apistar issue, and may be particular to any environment where the temporary path is on a different file system to the output path.
https://stackoverflow.com/a/43967659/343614

Closed the equivalent issue in the (currently undocumented) APIStar client library... #450.
Not sure we'll address the issue in coreapi since we're in the process of moving away from it.


Update brands.txt

Adding brands that were listed in sidebar after searching for "battery organizer"

uxcell and KEEPOW both look kind sus to me.  are you sure about them?

I did find websites for both the companies you listed, but no, I am not sure about their authenticity.

KEEPOW: https://mykeepow.com/
uxcell: https://www.uxcell.com/index.php


Support proper updates in StringIndex

When you call index.add with an existing ID but a new vector, Voyager will correctly locate the correct spot in the graph to place the new vector and update all of the existing connections. However, the StringIndex abstraction does not support this behavior. As written, the string index will add a new vector and new ID if index.add is called with a name that is already present in the index, instead of updating the existing one.
Instead of adding a new item and keeping the old one around, Voyager should check the existing items list and update the underlying index accordingly with the new vector value so we don't end up with duplicate items in the index.

Hi @dylanrb123
Just as a doubt, does that imply doing a search algorithm on the HNSW algorithm to find the elements that already exist?

Hi @karchx, I updated the description of the issue to make it more clear. I'm not sure I fully understand your question but let me know if anything is still unclear.

@dylanrb123
you mean like checking If we already have this name in it and if use index of that name ?
eg.
public void addItem(String name, float[] vector) {
    int updateIndex = names.indexOf(name);
    if (updateIndex==-1) {
      int nextIndex = names.size();
      index.addItem(vector, nextIndex);
      names.add(name);
    } else {
      index.addItem(vector, updateIndex);
    }
}

Moving discussion about this from #64 to here.  Relevant comments:
From @markkohdev

In regards to upserting, after chatting with @dylanrb123 about this change, we don't think that this approach is how we would like to see this implemented. The implementation you have here results in traversal of the entire names list upon every addition in the worst case.
In order to support upserting functionality I think we would need a slightly more involved solution. I'll be implementing StringIndex in the C++ core soon enough and will implement this functionality there (and deprecate this class).
I would recommend removing the upsert functionality for the moment and reducing the scope of this PR. However, if you are very motivated to enable this functionality before StringIndex support in voyager core comes along we can discuss how we might support this using a naive implementation in Java (effectively utilizing parallel HashMaps instead of an ArrayList for managing the strings)

From @samek

Ok, I've removed the functionality.
But I'm keen on making this until we have whole string index in C++ core.
What did you have in mind should we use ConcurrentHashMap ?

As mentioned above, how we would probably want to see this implemented is a bit complicated as there are performance/memory implications for this to be enabled.
Let's start with how this would work in its basic form:

Instead of maintaining names as an List, we would manage two parallel HashMaps: one mapping str -> int ("strToInt")  and one mapping int -> str (intToStr)
Manage an AtomicInteger maxElementId which contains the current maximum ID (this will be used later)
When adding an item with a string key, first check strToInt for presence of that string key.

If it already exists, call to the core addItem(s) using the existing key.
If it doesn't exist, add generate a new int ID via maxElementId.getAndIncrement() and add the appropriate string and ints to the maintained maps.

When querying with a vector, take the IDs from the response and resolve them to their string keys using the intToStr map

Some details for consideration

This solution would increase the memory utilization substantially.  In order to combat this, we should consider providing a flag or perhaps even a derived class which would switch from list to the hashmap solution
As you mentioned in your comment, ConcurrentHashMap would likely be ideal here in case of JVM parallelism on top of Voyager's core parallelism

^ cc @dylanrb123

I have a WIP branch with this partially implemented using two ConcurrentHashMaps https://github.com/spotify/voyager/tree/upsert-string-index. As @markkohdev mentioned, that approach will substantially increase memory usage to support a feature that most people probably don't care about which is why I didn't finish the implementation. IMO it would be better to just wait until we pull this into the C++ code or make it configurable as Mark suggested.

@dylanrb123 for me it's important to be able to update existing record. Now question is will you finish this the way @markkohdev suggested or should I give it a go?


Update the project's README

This change is a part of #211. I rearranged the project's root README.md to prioritize someone who is coming to the project to get the latest version and install it. Not develop on the project.
I then added a section to show how to setup a machine to use minikube for developing the project. I wrote a script that gets called by a make command to make this convenient. I could probably setup this command to do hot reloading on the project but I held off for now since it creates another dependency and not everyone may want it.
Related issue:
#211
#154

Thanks for working on this! I think this is a good step to closing #154 as well, with #215 as the second half. I'll try to find time to review next week.

What was the problem with the minikube documentation ? It should lead to the same place, no ?
https://minikube.sigs.k8s.io/docs/
Latest Release: v1.31.1
https://github.com/kubernetes/minikube/releases
Version 1.31.1 - 2023-07-20

@afbjorklund I merged before refreshing and seeing your comment
I installed minikube using the getting started page. When I tried swapping cri-dockerd it gave me a number of errors. I checked the minikube version and it was older than the latest on the releases page. 1.28 if I remember correctly. I uninstalled and installed it using the 1.31 version and everything worked.
Thus, I pointed people to the latest release

I'm merging this in so I can use the dev setup without having to chain branches off of this one. Since this is mostly docs I don't see a risk and will address any changes we find as the updates are used.

No worries, but it seems that reason was that you installed an older release

All minikube releases are supposed to support docker (as the default container runtime), but k8s versions before 1.24 use the built-in dockershim


CI: PRs should be blocked if they don't supply a necessary migration

Per https://github.com/pypa/warehouse/pull/11238#issuecomment-1107343438: PRs that change the DB should also bundle their migrations, so the CI should enforce that.
cc @di

Alembic doesn't seem to provide any functionality to make this straightforward. A couple ways we could do this:

modifying the revision cli command to take a --test argument, and then determine if the alembic.commands.revision command returns anything
modify our configuration not to write an empty migration file (via this) and then check if anything is written (via git diff) when we run a migration. That might be annoying if anyone is using this to generate empty migration files

This could be difficult to do unless we want to give up on the ability to gracefully roll out a change that touches the database (which maybe we do, I'm not sure if anyone but me way early on ever used it in practice).
For instance, let's say you wanted to drop a column gracefully. You can do that by splitting the change up into two PRs:

Remove support for the column from the code, but leave it in the database.

This is needed because when we deploy, for a portion of time both the old and the new code base will be accessing the same database. So the old deploy that expects the column to be there needs to still have it be there, while the new code will gladly ignore an extraneous column.

Roll out a migration that just drops the column, bringing the database back into sync with the code.

There is similar patterns for adding columns, renaming columns, etc. I'm not sure that we ever really used that strategy much though, and I think we often just let the old deploys error out briefly. We could also just implement it as an advisory check, or provide a decent way to explicitly mark a PR as avoiding the check.

We could also just implement it as an advisory check, or provide a decent way to explicitly mark a PR as avoiding the check.

My 0.02c is for this pattern: I've used it successfully on other projects (usually gated with a label, e.g. no-migration-needed to tell the action to ignore any "missing" migrations).

#16483 should here - but it also might be in slight conflict with the gradual rollouts, so I'm not recommending use use that as a blocking operation, rather generate a red X for discussion.

To accommodate gradual rollouts, we can now have the database consistency check run, and if we deem the PR to need to go through anyhow, we can apply the skip-db-check label to the PR.
I think this is now complete, so I'm closing - let me know if there's something I missed!


Use Ronn to create man pages from MarkDown Documentation

We should create better MarkDown documentation and then split it into sections that http://rtomayko.github.com/ronn/ can easily consume to create man pages.
We can then use these MD files to help auto-generate the ReadME.md file

I don't think this issue is entirely relevant anymore. I'm going to close it.
I do, however, think that discussing an overall documentation strategy is worthwhile.


Request for mtdblock9 dumps, for working on firmware 4.4.6 support

Hello everyone,
I have a UFiber Loco, and it bugs me that this tool doesn’t work entirely on firmware 4.4.6; it supports an older version, 4.3.1. The problem I have, as well as others, is the MAC address. After flashing a new MAC address, rebooting the device, and running ifconfig, the new MAC address is only applied to gpon0.0 and veip0. All the other interfaces have the hardware MAC address, except br1 and br2 which have different values all together. (Oddly some interfaces like bcmsw, br0, eth0, and eth0.0 have 69 in there while gpon0 and gpondef have 68)
On the bottom of my loco, it says “Serial # UBNTC26813E0” and “MAC ID 1938G 7483C26813E0” where the interesting part is 74:83:C2:68:13:E0.
I have dumped mtdblock9 (you can accomplish the same using dd, but I have modified the project to make it easier [https://github.com/jspavlick/UFiber.Configurator/tree/dump-and-flash-mtdblock-9]) and found some interesting values. The dump is the exact same byte size as mtdblock3 which is what the original program dumps and flashes. On both 4.3.1 and 4.4.6, the “virgin” dumps of mtdblock9 are exactly the same and contain the hardware MAC address. However, when modifying the address and flashing it back, 4.3.1 doesn’t seem to care, but 4.4.6 gets very upset and fails to boot entirely. If I simply change the MAC from 74:83:C2:69:13:E0 to 75:83:C2:69:13:E0, reboot, then SSH into the device, the “welcome to UFiber!” Message at the top of the terminal shows me the 75 MAC address! Logging into the web interface “works” but then the interface is totally broken.

Inspecting the contents of /tmp/bootupmessages I see some interesting lines such as “<2>bcmsw: MAC address has not been initialized in NVRAM.” Running ifconfig shows me the very odd MAC address of 00:10:18:63:00:00, and I don’t see all the network interfaces. I’m missing gpon0, gpon0.0 (which remember, had the correctly flashed MAC address previously), gpondef, veip0, and veip0.1.
Finally, let’s get to the contents of mtdblock9. I will post mine here at the bottom of this issue. At the top of the file, we see my MAC address, twice, but slightly off. 7483C268 13E07683 C26813E0 EEC30777 0009910D FFFF000D. There is my MAC address, starting with 74, but then it repeats, starting with 76. Then some “magic bytes” then all FFFFFF. Later down in the file, the exact same “EEC30777 7483C268 13E07683 C26813E0” is found. There are the EEC3… magic bytes, along with my “repeated, off by 2 MAC address(es)” 0009910D is found one other place in the file, close by. However, FFFF000D is not.
I’ve played with these MAC address values, flashing back and forth. I can’t seem to get anywhere. I haven’t bricked my device, though. I think I’m close, though. I believe there is a checksum somewhere close-by that upon recalculating (as the main configurator program does) will fix everything. This is just a guess, though.
I am requesting others to share the contents of their mtdblock9 dumps along with their hardware MAC addresses. Maybe we can find something out by pattern matching. Any insight or help would be greatly appreciated. Thanks everyone.
Github won't allow me to upload a .bin file so I renamed the file .zip. If you attempt to unzip it, you'll get an error, I assume. Just rename it with extension .bin (or .img or whatever you'd like). Although, you can inspect it with xxd or any hex editor regardless of the extension.
virgin-4.4.6.zip

glad someone is working, i can test with a spare loco if needed.

I bought 1 UF-Loco and the seller sent me 3, I think all they are in v2.0.1.
One of them I just upgraded to v4.8.0, and is the one which I am uploading the dump.
@jspavlick I used your repo for generate the file.
### Original Image ###
--- NVRAM Information --
- mtdblock3 hash: d09c7089f431d2d0a6aa126b5a138cf4a0daf20a85549c769cfdbd56ce61c8f5
- NVRAM Version: 6
- Boot parameters: e=<IP_ADDRESS>:ffffff00 h=<IP_ADDRESS> g= r=f f=vmlinux i=bcm963xx_fs_kernel d=1 p=0 c= a=
- Board Id: UBNT_SFU_6848
- PSI size: 24
- Total MAC addresses: 5
- GPON MAC address: 78:8A:20:C0:A8:A6
- GPON Vendor Id: UBNT
- GPON Serial Number: 20c0a8a6
- GPON SLID (password):
- Checksum:<PHONE_NUMBER>

Serial: UBNT20c0a8a6
Mac ID: 1821G 788A20C0A8A6

fw-15102024-115000.zip

I did update and finish that python script and no dice. it didn't work. I could pretty it up and post it here, but I'm at a bit of a loss as what to do next. Maybe dive more into some findings I haven't posted here (strings that are shown in logs when booting up with a tampered mdtblock9 and where the strings exist in the binaries onboard the Loco, and where they show up in IDA, and where they are linked/referenced etc. This is getting a little out of my skill set and will require an untold amount of time for me to fix it, if I'm able to. It would be great if we had a MIPS expert or some such person who is "better than me" at this stuff haha.


Vickel: Watch wheels[\W_]+on[\W_]+rent(?!.ae(?<=wheelsonrent.ae))

Vickel requests the watch of the watch_keyword wheels[\W_]*+on[\W_]*+rent(?!\.ae(?<=wheelsonrent\.ae)). See the MS search here and the Stack Exchange search in text, in URLs, and in code.

wheels[\W_]*+on[\W_]*+rent(?!\.ae(?<=wheelsonrent\.ae)) has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


Swap A and B

Should we swap A and B?
https://docs.libretro.com/library/pcsx_rearmed/
https://docs.libretro.com/library/beetle_bsnes/
I think in most libretro cores B is meant to be the down most button and A is meant to be the right most.
That would also match the layout of Nintendo controllers (NES/SNES/Gameboy/N64) but it would conflict with the Xbox controller...
(But at the moment X and Y do not match the Xbox controller anyways)
I have not tried to play PS1 games, are cross and circle swapped?

@88hcsif : I think you are right. I indeed feel not natural with my key input but don't know why : D. I think we can swap it.

@sergystepanov Thanks for fixing this!
Do we need to change anything in https://github.com/giongto35/cloud-game/blob/master/web/js/input/joystick.js?
I only have a PS3 controller which currently needs a hack which probably I need to update.
I do not know how other controllers map the A and B buttons right now.


tasks/ssl.yml

Hello
Here is my hosts file
[sensu_masters]
debian21
[redis_servers]
debian20
[rabbitmq_servers]
debian19
[zones]
debian22
debian23
debian24
debian25
in main.yml i have sensu master to false as well as redis server set to false and the play stops with errors about SSLs
Do i have to create self signed certs and tell the role where to look for these ?

i see ssl.yml is being executed first and ssl_generate.yml later. Shouldn;t this be reversed ?

Correct, the role creates SSL certs on any host where sensu_master is true, so if that's not the case, you'll have to generate your own.

Hi
i have not used my own ssl , just what the role generated using the sensu tool but i get these errors for every host
here is an example
failed: [debian21] (item={u'dest': u'key.pem', u'src': u'/etc/ansible/data/dynamic/debian21/etc/sensu/ssl_generation/sensu_ssl_tool/client/key.pem'}) => {
"failed": true,
"invocation": {
"module_args": {
"backup": false,
"content": null,
"delimiter": null,
"dest": "/etc/sensu/ssl/key.pem",
"directory_mode": null,
"follow": false,
"force": true,
"group": "root",
"mode": null,
"original_basename": null,
"owner": "root",
"regexp": null,
"remote_src": true,
"selevel": null,
"serole": null,
"setype": null,
"seuser": null,
"src": "/etc/ansible/data/dynamic/debian21/etc/sensu/ssl_generation/sensu_ssl_tool/client/key.pem",
"unsafe_writes": null,
"validate": null
}
},
"item": {
"dest": "key.pem",
"src": "/etc/ansible/data/dynamic/debian21/etc/sensu/ssl_generation/sensu_ssl_tool/client/key.pem"
},
"msg": "Source /etc/ansible/data/dynamic/debian21/etc/sensu/ssl_generation/sensu_ssl_tool/client/key.pem not found"
}
failed: [debian19] (item={u'dest': u'key.pem', u'src': u'/etc/ansible/data/dynamic/debian21/etc/sensu/ssl_generation/sensu_ssl_tool/client/key.pem'}) => {
"failed": true,
"invocation": {
"module_args": {
"backup": false,
"content": null,
"delimiter": null,
"dest": "/etc/sensu/ssl/key.pem",
"directory_mode": null,
"follow": false,
"force": true,
"group": "root",
"mode": null,
"original_basename": null,
"owner": "root",
"regexp": null,
"remote_src": true,
"selevel": null,
"serole": null,
"setype": null,
"seuser": null,
"src": "/etc/ansible/data/dynamic/debian21/etc/sensu/ssl_generation/sensu_ssl_tool/client/key.pem",
"unsafe_writes": null,
"validate": null
}
},
"item": {
"dest": "key.pem",
"src": "/etc/ansible/data/dynamic/debian21/etc/sensu/ssl_generation/sensu_ssl_tool/client/key.pem"
},
"msg": "Source /etc/ansible/data/dynamic/debian21/etc/sensu/ssl_generation/sensu_ssl_tool/client/key.pem not found"

hi
what can i check to see why i get these errors ?

From that tree output, it looks like /etc/ansible/data/dynamic/debian21/etc/sensu/ssl_generation/sensu_ssl_tool/client/key.pem doesn't exist, and instead key.pem is at /etc/ansible/data/dynamic/debian21/etc/client/key.pem. Did you override any of the variables that effect the SSL path?
Also, if you're getting errors, please post those first, so we can avoid the XY problem: http://mywiki.wooledge.org/XyProblem

Hello smuth4
key.pem is where it should be
$ ls /etc/ansible/data/dynamic/debian21/etc/sensu/ssl_generation/sensu_ssl_tool/client/
cert.pem  key.pem
and this is the ssl.yml  which i have not messed with
`---
tasks/ssl.yml: Deploy the client SSL cert/key to client systems

include_vars: "{{ ansible_distribution }}.yml"

name: Ensure Sensu SSL directory exists
file:
dest: "{{ sensu_config_path }}/ssl"
state: directory
owner: "{{ sensu_user_name }}"
group: "{{ sensu_group_name }}"

include: ssl_generate.yml
when: sensu_ssl_gen_certs

name: Deploy the Sensu client SSL cert/key
copy:
src: "{{ item.src }}"
owner: "{{ sensu_user_name }}"
remote_src: "{{ sensu_ssl_deploy_remote_src }}"
group: "{{ sensu_group_name }}"
dest: "{{ sensu_config_path }}/ssl/{{ item.dest }}"
with_items:

{src: "{{ sensu_ssl_client_cert }}", dest: cert.pem}
{src: "{{ sensu_ssl_client_key }}", dest: key.pem}
notify: restart sensu-client service`

This seems very first similar to the first issue you reported, where a file existed but ansible wasn't seeing it. What was the solution to that problem?
Also, please either format the tree output properly, or use a tool like find which doesn't need to be formatted.

ok since all these machines are virtual i will redo everything and repost with any issues ( hopefully none )
i honestly can't remember how i solved that because i have been messing with this for 2 days straight and i tried many things but i think it was my ansible version.
i now have <IP_ADDRESS>

i downgraded ansible to ansible --version
ansible <IP_ADDRESS>
and the ssl issue is now resovled


Update sbt-scalafmt to 2.2.1

Updates org.scalameta:sbt-scalafmt from 2.0.7 to 2.2.1.
Release Notes/Changelog
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Have a fantastic day writing Scala!

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

labels: semver-minor

Codecov Report

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

@@            Coverage Diff             @@
##           master    #1306      +/-   ##
==========================================
+ Coverage   85.84%   86.08%   +0.23%
==========================================
  Files          74       74
  Lines        2537     2537
  Branches      108      108
==========================================
+ Hits         2178     2184       +6
+ Misses        359      353       -6

Impacted Files
Coverage Δ

...les/core/shared/src/main/scala/io/circe/Json.scala
77.57% <0%> (ø)
:arrow_up:

.../core/shared/src/main/scala/io/circe/Decoder.scala
85.79% <0%> (+0.53%)
:arrow_up:

...re/shared/src/main/scala/io/circe/JsonNumber.scala
93.97% <0%> (+1.2%)
:arrow_up:

...rc/main/scala/io/circe/numbers/BiggerDecimal.scala
86.54% <0%> (+1.75%)
:arrow_up:

Continue to review full report at Codecov.

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


Refactor order detail template

Description:
Refactor how the data was mapped because it has a slightly different structure for order details.
Screenshot:

🚀


Docs for durable object alarms

вт, 10 Май 2022, 18:49 cloudflare-pages[bot] @.***>:

Deploying with  [image: Cloudflare Pages] https://pages.dev  Cloudflare
Pages
Latest commit: 859a903
Status:  ✅  Deploy successful!
Preview URL: https://a4edcc44.cloudflare-docs-7ou.pages.dev
View logs
https://dash.cloudflare.com/?to=/:account/pages/view/cloudflare-docs/a4edcc44-ce88-4c27-aaeb-fc2387336c1d
—
Reply to this email directly, view it on GitHub
https://github.com/cloudflare/cloudflare-docs/pull/4362#issuecomment-1122569019,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWXY2IF6W7BI6NOQKTYETEDVJKAOXANCNFSM5VSBLOFQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Questions worth considering

how are alarms billed
how are they different from cron triggers
what are common use cases

If you want to link to the blog post that may help, but I think it'd be worth a note in the billing section either way


User Story: Validate URL

As a user I want to open my GitHub project board in Squello. In Squello 1.2, entering a wrong url (e.g. the repo url instead of the project url) throws a generic error after authentification information was added.
In order to save time, I would like a quick check whether I used a correct url directly after I input an url and a custom error (e.g. "We currently only support GitHub projects", "Please input the url of the project, not of the repository", etc) to undestand and fix the error faster.

Hi!
We now (as of this) release) support the board url and the repo url.
Additionally, we added some hints for invalid urls.
For reference our tracking issue: #28
Do you think there is still something missing regarding the board-selection?

I think supporting both repo urls and the board url is nice and worked for me. I also like the new hint.
One little bug:
If my credentials are invalid (e.g. because my token expired), trying to access a board through the repo url will give me the "invalid repo url" prompt. Trying to use a board url will ask me to check my credentials. The board url should probably also prompt the letter (or at least not show the wrong url prompt.

These issues should be fixed now (regarding the credentials).
(We are now requesting the repo and checking which specific error comes back)


About brain.recurrent.lstm() Training Data

Hi, I am new touch brain.js.
I am try to using your example ( children book )
I have few questions want to ask.

What’s the meaning of train error unit
e.g : 0.356345533563
If i get train error unit about 1.242335324,
Is that means always matching wrong ?

Is the training data set support other language ?
e.g only chinese, chinese and english words in 1 sentence

In the context of recurrent neural networks RNN, LSTM and GRU:

error is base 2 log probability
it'll work with any language.  Internally the network translates these to a matrix, so the values are only represented


MistralAI: Chat response leads to Exception in CreateResponse.php

I am using llphant (well, trying to..) to access the API of Mistral with the following code. Executing it leads to an exception like the following one.
It looks to me as if the structure of the response is different from what the OpenAI API PHP layer (used by MistralAIChat(?)) expects, maybe due to a change upstream in Mistral.
Please let me know if I can be of any further assistance debugging this.
$config = new OpenAIConfig();
$config->apiKey = $this->apiKey;
$config->url = $this->url;
$config->model=$this->model;
$chat = new MistralAIChat($config);

$chat->setSystemMessage ($sSystemPrompt);
$response = $chat->generateText($sMessage);

......

Uncaught TypeError: array_map(): Argument #2 ($array) must be of type array, null given in /var/www/html/itop320pro/env-production/itomig-ai-base/vendor/openai-php/client/src/Responses/Chat/CreateResponse.php:50
Stack trace:
#0 /var/www/html/itop320pro/env-production/itomig-ai-base/vendor/openai-php/client/src/Responses/Chat/CreateResponse.php(50): array_map()
#1 /var/www/html/itop320pro/env-production/itomig-ai-base/vendor/openai-php/client/src/Resources/Chat.php(35): OpenAI\Responses\Chat\CreateResponse::from()
#2 /var/www/html/itop320pro/env-production/itomig-ai-base/vendor/theodo-group/llphant/src/Chat/OpenAIChat.php(352): OpenAI\Resources\Chat->create()
#3 /var/www/html/itop320pro/env-production/itomig-ai-base/vendor/theodo-group/llphant/src/Chat/OpenAIChat.php(197): LLPhant\Chat\OpenAIChat->generateResponseFromMessages()
#4 /var/www/html/itop320pro/env-production/itomig-ai-base/vendor/theodo-group/llphant/src/Chat/OpenAIChat.php(66): LLPhant\Chat\OpenAIChat->generate()
#5 /var/www/html/itop320pro/env-production/itomig-ai-base/src/Engine/MistralAIEngine.php(126): LLPhant\Chat\OpenAIChat->generateText()
...

hey @dguembel-itomig thanks for bringing up this bug!

hey @dguembel-itomig . The bug is fixed. Tell me if it is well working for you?


return more info from form.validate

Please make sure these boxes are checked before submitting your PR, thank you!

[ ] Make sure you follow Element's contributing guide (中文 | English | Español | Français).
[ ] Make sure you are merging your commits to dev branch.
[ ] Add some descriptions and refer relative issues for you PR.

return errorList from form.validate.
compare to invalidFields(object), errorList(array) has a sequence, which is very useful in some condition

Issues without a valid reproduction link will be closed directly.

Issues without a valid reproduction link will be closed directly.

@iamkun ,how should I fix it? (and this is a pr not issue.)

It's better to open an issue as a feature request, before submitting this PR.


Updated Health Gorilla example with Account, Coverage, RelatedPerson

Before:  The Health Gorilla order Questionnaire prompted for "Bill To", but really only supported "patient".  Other options did not work, because the bot did not handle Account, Coverage, and RelatedPerson.
After:  We prompt the user to choose an Account in the  Questionnaire.  That puts a little more burden on setting up the Account resource, but at least everything is contained there.  That reduces the complexity of the bot, and allows for more work to be done before/outside of Health Gorilla.

coverage: 93.866%. remained the same when pulling 4d2ebfe3bca2684f7a7ed94691ccb76bf169f9e7 on cody-health-gorilla-billing into 3f9ec0b06a7bf8cb5020367c00e7b0be04d1899b on main.


Add a sanitizer for regex injection with CANON_EQ flag

This sanitizer looks good. Still, we should also add checks for regex injections of evil, a.k.a. fuzzer provided,  patterns.


fix(README): Adding optimize function to README

:tada: This PR is included in version 5.5.4 :tada:
The release is available on npm package (@latest dist-tag)
Your semantic-release bot :package::rocket:


GPGSignature and GPGKey don't support unrecognized_fields

Description of issue or feature request:
Signature and SSlibKey has field unrecognized_fields, but GPGSignature and GPGKey doesn't support that field. To provide consistency between all the Signatures and Keys that field must be added to GPGSignature and GPGKey.
Current behavior:
GPGSignature and GPGKey doesn't supports unrecognized_fields.
Expected behavior:
GPGSignature and GPGKey must support unrecognized_fields.
Originally posted by @lukpueh in https://github.com/in-toto/securesystemslib/pull/6#pullrequestreview-1044632067

Fixed by #486 and #488


Auto Distances Changed Randomly

In recent testing, after running and tuning an auto with pid working perfectly, all of the drive forward commands only went half the distance they were going for the past 20+ runs. It changed without downloading and nothing in the code changed that I could see, yet the robot only went half the distance. All the turns are accurate so the inertial is fine, but the drive-forward commands are about half of what they were the last time we ran it. Again nothing was rewired and the code wasn't changed, all the distances just shortened themself.

an example short auto


Nightshade: Import in FF doesn't work nested

I tried to implement your nightshade solution:
@import "/static/default.css";

html.dark {
    @import "/static/bootstrap-nightfall.min.css";
}

While it works in Chrome (well, I tested Edge...), Firefox throws this error in the console: (translated by me...)

Declaration expected, but found '@import'.  Skipping until the next declaration.

I found this in the MDN:

Imported rules must precede all other types of rules, except @charset rules; as it is not a nested statement, @import cannot be used inside conditional group at-rules.

So I suppose it isn't allowed like that?
Thanks for your work, I'll probably will use one of your other solutions, even though I liked the idea of having a bad bad switching button. :)

yes - the nested @import problem comes from SASS.  it's documented here: https://sass-lang.com/documentation/at-rules/import

Heads up! The Sass team discourages the continued use of the @import rule. Sass will gradually phase it out over the next few years, and eventually remove it from the language entirely. Prefer the @use rule instead.  [..]

This is a issue with Bootstrap core - so I can't fix it - and I don't think they can either as the @use requires namespacing, and BS5 wasn't built for that.   I hear rumors that this will be fixed in v6, but then again v6 will also have dark-mode.
Thanks for the thanks, and thanks for submitting the issue.
(Closing - can't fix)


Use enum types instead of status and constraint tables

http://www.postgresql.org/docs/9.1/static/datatype-enum.html
Will make our lives much easier in the long run, and remove a lot of tables from the schema.

Group resolution: we don't see any benefit from the current solution so closing.


Cannot serialize Symfony\Component\Cache\Adapter\FilesystemAdapter

Summary
When saving config for certain integrations via Oro admin, an exception is thrown which ends up displaying an error to the admin user
Steps to reproduce
Attempt to save the config for an integration
Actual Result
Config is saved, but an exception is logged, but the admin user sees two error messages:

Error: Unexpected content format.
There was an error performing the requested operation. Please try again or contact us for assistance.

Expected Result
No exception is logged, and admin user sees the success message: Integration saved
Details about your environment

OroPlatform version: 5.1.0
PHP version: 8.2.5
PostgreSQL version: 15.1 (Debian 15.1-1.pgdg110+1)

Additional information
request.CRITICAL: Uncaught PHP Exception BadMethodCallException: "Cannot serialize Symfony\Component\Cache\Adapter\FilesystemAdapter" at /oro/vendor/symfony/cache/Traits/FilesystemCommonTrait.php line 179 {"exception":"[object] (BadMethodCallException(code: 0): Cannot serialize Symfony\\Component\\Cache\\Adapter\\FilesystemAdapter at /oro/vendor/symfony/cache/Traits/FilesystemCommonTrait.php:179)\n[previous exception] [object] (BadMethodCallException(code: 0): Cannot serialize Symfony\\Component\\Cache\\Adapter\\FilesystemAdapter at /oro/vendor/symfony/cache/Traits/FilesystemCommonTrait.php:179)"} []

A fix is available here: https://github.com/oroinc/platform/pull/1101


Fix bug when choosing plan in Instances

Description
Changes proposed in this pull request:

Fix bug when choosing different plan in Instances

Related issue(s)
Fixes https://github.tools.sap/kyma/backlog/issues/2329

/retest


Otto deprecated

https://github.com/codepath/android_guides/wiki/Communicating-with-an-Event-Bus recommends Otto, but according to https://github.com/square/otto, the project's been deprecated in favor of RXJava/RXAndroid.
Likely related to #109

We have the beginning of an RxJava guide here as well. Maybe we should add a note to the event bus guide, that Otto is deprecated? RxAndroid is the way I think the world is moving even though there is this still somewhat maintained alternative.

cc @rogerhu

I looked at the approach with RxJava/RxAndroid (http://nerds.weddingpartyapp.com/tech/2014/12/24/implementing-an-event-bus-with-rxjava-rxbus/) and feel it's a step backwards.
EventBus 3.0 has gone the way of annotation libraries and seems to vastly have done better in the way of perf (http://nerds.weddingpartyapp.com/tech/2014/12/24/implementing-an-event-bus-with-rxjava-rxbus/). In fact it's far easier to use than Otto because it provides annotations for handling messages posted on a separate thread.

Update guides already to use EventBus library now.  Take a look.

Great, thanks! I agree RXJava is heavier weight than a simple event bus mechanism.

can anybody share with me some good example of RxAndroid please?

http://reactivex.io/tutorials.html @mikolasw

The reference from Otto is at http://nerds.weddingpartyapp.com/tech/2014/12/24/implementing-an-event-bus-with-rxjava-rxbus/.  It basically entails using a PublishSubject object of a generic type and emitting it from there.  Any subscribers downstream need to decode and do an instanceof check.

@mikolasw
https://github.com/anaselhajjaji/android-samples/tree/master/RxAndroidSample

@rogerhu …or use multiple PublishSubjects. Which may violate the spirit of a "bus" but may also result in a cleaner and less confusing implementation, with no need for instanceOf checks.

RxJava is best


chore: write access request for jwilliams-ocient

SUMMARY

I'm currently working on #22812 and am requesting write access to kick off CI runs without bugging the superset team 🙃 .
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

Interesting approach :)
We can't grant write access to the repo. Only Apache does that once you've been voted in as a committer.
I just re-ran the failing E2E tests on your PR to see if it passes this time, so hopefully we can merge that shortly. Nag me here or on Slack if it needs to be kicked again.
I'd rather merge that PR than clutter the changelog with this (or who knows how many others who use the same technique). Either way, you should be free of that approval burden once your first PR merges.

Thanks @rusackas! I went ahead and read the very thorough contribution guidelines (duh!) which clearly outline how to run the pre-commit checks locally. They pass on my end, hoping we're ready to ship after the next CI run. 🤞🏾
Apologies for the context switch, and thanks for your time!

I'll go ahead and close this PR and ping you directly on #22812 if the next CI run fails 🙃

Sorry for the flaky test headaches... There's a lot of effort ahead on that front. Thanks again for the contribution - it's merged!!


use SerialOutputSignals dictionary from spec

Description
The signal properties changed from rts,dtr, etc. to more verbose names: https://reillyeon.github.io/serial/#serialoutputsignals-dictionary
With this change I was able to upload a sketch to an UNO using chrome 86:

Type of change
Please delete options that are not relevant.

[ x] Bug fix (non-breaking change which fixes an issue)

Checklist:

[x ] My code follows the style guidelines of this project
[x ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[x ] Changes have been manually tested (please provide information on test platform using the fields below)

Test / Development Platform Information

Operating system and version
OSX 10.15.6
Avrgirl Arduino version
master branch
NodeJS version
12x, but this is browser
Arduino Board being used
UNO

@noopkat I put up a modified version of the web demo here:  https://firmata.netlify.app/
working on Uno and Mega, but Nano needs a fix still.

bless you @monteslu


Check revisions for all shim jars while build all

When building all shims, the code base for all the shims may be inconsistent, especially with databricks build.
Because of databricks shims are pulled from URM nightly build, and spar30x, 31x, 32x are built locally.
This contributes #3661
Signed-off-by: Chong Gao<EMAIL_ADDRESS>

build

I think we need this kind of validation script called  from dist/pom.xml in a verify phase the latest. Use of buildall is encouraged but it's optional and it's definitely not used by CI (yet).

I think we need this kind of validation script called from dist/pom.xml in a verify phase the latest. Use of buildall is encouraged but it's optional and it's definitely not used by CI (yet).

Maybe put into the package phase is better.

build

I'm not sure what is status of this, comment was made to put into package phase but updates here don't match, are you modifying this to go into the regular pom files?

@res-life  here is a perfect scenario that the validation you are working can help with https://github.com/NVIDIA/spark-rapids/pull/4265#issuecomment-985899707 .
Please undo the changes to buildall and call check-shims-revisions.sh by adding another execution to maven-antrun-plugin in dist/pom.xml . Please make sure that  your error message is part of the Maven exception

@gerashegalov  @tgravescs
The build all script invokes mvn package for dist module,  so added the check revisions script into package phase, or the build will skip this check. Is this ok?
Pushed --force because of messed up the code.

build

build

build


Merge latest translations

Fetching latest from Weblate before #2279 as it touches a language file. Also looks like there are conflicts to resolve.

Refer to this link for build results (access rights to CI server needed):
http://jenkins.terasology.org/job/TerasologyPRs/580/
Hooray Jenkins reported success with all tests good!

@Trekmarvel @Translator5 @rzats thanks for the translations! Could you confirm that they all made it OK? I had to commit one file manually and resolve some conflicts.
Should be able to check in Weblate shortly or just verify in the commits here and/or https://github.com/MovingBlocks/Terasology/commit/9a39a4497b05b220b56afbf7ee04b72cb5a7df85

Caught one spot where the merge reverted a small legit change: https://github.com/MovingBlocks/Terasology/commit/4d44f40237033ab8c518dfa68716f23239befb61 - at least I think legit!

German looks also good. Sorry for that while.


the "./configure" problem

I have downloaded pimd-2.3.2.tar.gz to my Fedora. After decompression,I run "./configure",then I got"FIXDEP  libite/lite.h missing ... fatal: Not a git repository.FAILED!  No Internet access?" What should I do?

Oups, that shouldn't happen with released tarballs! Did you really download the correct file, or was it one of the GitHub (Source code) download links?
This is the correct one

https://github.com/troglobit/pimd/releases/download/2.3.2/pimd-2.3.2.tar.gz

I just verified that it works by downloading to my Ubuntu 16.04. It configures and builds without a hitch.
GitHub fumbles quite badly when it comes to repositories that use GIT sub-modules. When I tag a release they create automated download links, like the "Download ZIP" button on the front page of each project. Unfortunately these automated download links do not contain the source for the sub-modules.  Their bad links are usually called:

2.3.2.zip,
2.3.2.tar.gz, or
master.zip

For the v2.4 series I plan to redo both configure and the GIT sub-modules. Migrate to pure autoconf/a

I downloaded from another link.Problem solved...Thanks for your help

@peacefill Phew, good to hear! :+1:


[T3A3][W14-A4] Amanda Choy

Ready for review

As stated in my comment on your T2A2, please use your full name (as in matric) in the title of your PRs! Also, for the commit messages, rather than stating which file you edited (which can be seen in the commit already), try to state the exact change(s) you did. Eg: Extract method ...


Setting wallet_scheme for postgres storage not working correctly

Hi All,
Background
I am currently using the bcgovimages/aries-cloudagent:py36-1.14-1_0.5.1 dockerhub image to stand up an instance of aries cloudagent. My understanding is the version of libindy/indysdk that comes with this image is version 1.14.0.
As a result of our infrastructure with postgres, we cannot use the default postgres scheme that creates a database per wallet, so we opted for MultiWalletSingleTable. Our other reason is that this particular strategy will skip the database/schema creation if it already exists and is set up (We have a scenario where we will be provisioning the postgres wallet DB before spinning up the cloud agents to improve security and not give the postgres user database creation roles).
Based off what I can see in the 1.14.0 indy sdk, using this strategy will attempt to create a database called wallets on the postgres instance (the database_name parameter in the config does not exist until indy sdk 1.15.0).
// _WALLETS_DB === 'wallets'
 let url_base = PostgresStorageType::_admin_postgres_url(&config, &credentials);
        let url = PostgresStorageType::_postgres_url(_WALLETS_DB, &config, &credentials);

        let conn = postgres::Connection::connect(&url_base[..], postgres::TlsMode::None)?;

        if let Err(error) = conn.execute(&_CREATE_WALLETS_DATABASE, &[]) {
            if error.code() != Some(&postgres::error::DUPLICATE_DATABASE) {
                conn.finish()?;
                return Err(WalletStorageError::IOError(format!("Error occurred while creating the database: {}", error)))
            } else {
                // if database already exists, assume tables are created already and return
                conn.finish()?;
                return Ok(());
            }
        }
        conn.finish()?;

If the database already exists, the code assumes the tables/schemas are created already. If the database doesn't exist the CREATE_MULTI_SCHEMA query will be run to set up the tables/schemas within the database.
        let conn = match postgres::Connection::connect(&url[..], postgres::TlsMode::None) {
            Ok(conn) => conn,
            Err(error) => {
                return Err(WalletStorageError::IOError(format!("Error occurred while connecting to wallet schema: {}", error)));
            }
        };

        for sql in &_CREATE_SCHEMA_MULTI {
            if let Err(error) = conn.execute(sql, &[]) {
                conn.finish()?;
                return Err(WalletStorageError::IOError(format!("Error occurred while creating wallet schema: {}", error)));
            }
        }
        conn.finish()?;
        Ok(())

The Problem
Any time we try to set the wallet scheme, the cloud agent fails to start up and returns:
E 2020-06-19T22:22:14.452583499Z 2020-06-19 22:22:14,452 aries_cloudagent.wallet.provider INFO Opening wallet type: indy

E 2020-06-19T22:22:14.461212446Z 2020-06-19 22:22:14,461 aries_cloudagent.wallet.plugin INFO Initializing postgres wallet

E 2020-06-19T22:22:14.478151798Z 2020-06-19 22:22:14,476 aries_cloudagent.wallet.plugin ERROR **Error unable to configure postgres stg: 210**

If we remove wallet_scheme, the agent successfully starts up and creates the wallet database.
Error code 210 as far as I know is a really generic WalletStorageError, so that does not help narrow down the issue.
My Configuration
Our wallet storage config is as follows:
// Unstringified
{
   "url":"localhost:5432",
   "wallet_scheme":"MultiWalletSingleTable"
}

// Stringified for command line input
--wallet-storage-config "{\"url\":\"localhost:5432\",\"wallet_scheme\":\"MultiWalletSingleTable\"}"

We have --wallet_storage_creds properly passing and include all 4 parametes (account, password, admin_account, and admin_password) as this was verified with the default strategy already.
Plans Going Forward & Questions
In version 1.14.0 of the indy sdk, the postgres plugin seems to have very little if any logging. As a secondary issue on top of that, I'm fairly certain that bcgovimages/aries-cloudagent:py36-1.14-1_0.5.1 (based off of von-image base image) does not turn on RUST_LOG, making it really hard to tell where its failing.
I would love to turn on RUST_LOG but I assume I would need access to the von-image py36 dockerfile so that I could rebuild the images/library myself with the logging turned on. However I can't seem to locate any up to date dockerfiles used to create the base von image that contains indy.
I have tried setting RUST_LOG as an environment variable on the container but that also does not work.

Does anyone have a link to/can provide the Dockerfile for bcgovimages/von-image:py36-1.14-1 ? Or is there a debug image floating around that has rust logging enabled?
Is there a future release of the cloud agent container planned soon, which pulls in libindy 1.15.0? The database_name feature is something I will absolutely need after this issue is solved.
Can anyone confirm that wallet_scheme is actually working correctly? Is there an easy way for me to run the test with a local postgres instance?
Its possible that it could be failing at the database creation stage since the error code returned might not be DUPLICATE_DATABASE but I have no idea if this is true or not based on the lack of logging

The source for von-image is here; https://github.com/PSPC-SPAC-buyandsell/von-image.  There is a link to the source on the Docker Hub page; https://hub.docker.com/r/bcgovimages/von-image.
The source for `` is here; https://github.com/bcgov/aries-cloudagent-container.  Similarily there is a link to the source on the Docker Hub page; https://hub.docker.com/r/bcgovimages/aries-cloudagent.
Examples of fully functional postgres wallet configurations can be found in the Docker configurations here;

https://github.com/bcgov/aries-vcr

https://github.com/bcgov/aries-vcr/blob/master/docker/docker-compose.yml#L156

https://github.com/bcgov/aries-vcr-issuer-controller

https://github.com/bcgov/aries-vcr-issuer-controller/blob/master/docker/docker-compose.yml#L72

The aries-vcr example also shows how to set the log levels for the agent.

Hi @WadeBarnes Thanks for the info, I'll take a look through and write back if I have any issues.
I did end up testing a local deployment and got everything working so it may have something to do with postgres roles/permissions of the admin/db users. I was able to get tracing turned on for the postgres plugin so I'm able to better debug it now.

Closing this as I solved my own issue.
Aries cloud agent is expecting escaped JSON strings, which can be a huge pita if you are using kubernetes k8 yaml files. In the end I had to use a configmap or a secret resource to properly pass the JSON, rather than defining it in the k8 file itself.
"{\"url\":\"localhost:5432\",\"wallet_scheme\":\"MultiWalletSingleTable\"}"

The second larger issue in my opinion, is that the plugin requires that you have an admin DB user with CREATEDB permissions. I think in many scenarios, you would not want to have a db user with this permission for security reasons, and you would want to pre-provision the wallet DB. This is currently unsupported as the code is checking for DUPLICATE_DATABASE error return, however if the user does not have CREATEDB then it will return a different error code. This is something I will take up on the indy sdk issue side.

@ianco

@msembinelli, If I had of known you were using k8s, I would have pointed you at our OpenShift deployment configurations;

https://github.com/bcgov/orgbook-configurations/blob/master/openshift/templates/agent/agent-deploy.yaml
https://github.com/bcgov/von-bc-registries-agent-configurations/blob/master/openshift/templates/agent/agent-deploy.yaml

I was trying to set up my wallet using postgres by:
sudo PORTS="11020:11020 11021:11021" ./scripts/run_docker start \
    --admin <IP_ADDRESS> 11021 --admin-insecure-mode \
    --endpoint http://<IP_ADDRESS>:11020 \
    --genesis-url http://localhost/genesis \
    --ledger-pool-name sandbox \
    --inbound-transport http <IP_ADDRESS> 11020 \
    --outbound-transport http \
    --label Faber \
    --log-level debug \
    --storage-type indy \
    --wallet-type indy \
    --wallet-storage-type postgres_storage \
    --wallet-storage-config "{\"url\":\"localhost:5432\",\"wallet_scheme\":\"DatabasePerWallet\"}" \
    --wallet-storage-creds "{\"account\":\"postgres\",\"password\":\"mysecretpassword\",\"admin_account\":\"postgres\",\"admin_password\":\"mysecretpassword\"}" \
    --wallet-name my_wallet \
    --wallet-key my_key \

But I keep getting this error: IO error during storage operation: IO error.
My complete logs are:
Sending build context to Docker daemon  18.03MB

Step 1/11 : FROM bcgovimages/von-image:py36-1.15-0

 ---> 00027bd43124

Step 2/11 : ENV ENABLE_PTVSD 0

 ---> Using cache

 ---> a27128eeda55

Step 3/11 : ADD requirements*.txt ./

 ---> Using cache

 ---> 0d9a1fcbe8a9

Step 4/11 : RUN pip3 install --no-cache-dir -r requirements.txt -r requirements.dev.txt

 ---> Using cache

 ---> bf6805ab868d

Step 5/11 : ADD aries_cloudagent ./aries_cloudagent

 ---> Using cache

 ---> 14d75cc347cd

Step 6/11 : ADD bin ./bin

 ---> Using cache

 ---> 3cd19b40d6c6

Step 7/11 : ADD README.md ./

 ---> Using cache

 ---> 0406d273a892

Step 8/11 : ADD setup.py ./

 ---> Using cache

 ---> 0d1592cc07d5

Step 9/11 : RUN pip3 install --no-cache-dir -e .

 ---> Using cache

 ---> 482b7d745cba

Step 10/11 : RUN mkdir logs && chown -R indy:indy logs && chmod -R ug+rw logs

 ---> Using cache

 ---> b9b30d71950d

Step 11/11 : ENTRYPOINT ["/bin/bash", "-c", "aca-py \"$@\"", "--"]

 ---> Using cache

 ---> 13c589140782

Successfully built 13c589140782

Successfully tagged aries-cloudagent-run:latest

2020-07-18 19:12:53,816 asyncio DEBUG Using selector: EpollSelector

2020-07-18 19:12:53,819 aries_cloudagent.core.plugin_registry DEBUG Loaded module: aries_cloudagent.protocols.out_of_band

2020-07-18 19:12:53,822 aries_cloudagent.core.plugin_registry DEBUG Loaded module: aries_cloudagent.protocols.trustping

2020-07-18 19:12:53,823 aries_cloudagent.core.plugin_registry DEBUG Loaded module: aries_cloudagent.protocols.routing

2020-07-18 19:12:53,824 aries_cloudagent.core.plugin_registry DEBUG Loaded module: aries_cloudagent.protocols.connections

2020-07-18 19:12:53,826 aries_cloudagent.core.plugin_registry DEBUG Loaded module: aries_cloudagent.protocols.issue_credential

2020-07-18 19:12:53,828 aries_cloudagent.core.plugin_registry DEBUG Loaded module: aries_cloudagent.protocols.present_proof

2020-07-18 19:12:53,830 aries_cloudagent.core.plugin_registry DEBUG Loaded module: aries_cloudagent.protocols.problem_report

2020-07-18 19:12:53,832 aries_cloudagent.core.plugin_registry DEBUG Loaded module: aries_cloudagent.protocols.discovery

2020-07-18 19:12:53,833 aries_cloudagent.core.plugin_registry DEBUG Loaded module: aries_cloudagent.protocols.introduction

2020-07-18 19:12:53,835 aries_cloudagent.core.plugin_registry DEBUG Loaded module: aries_cloudagent.protocols.basicmessage

2020-07-18 19:12:53,836 aries_cloudagent.core.plugin_registry DEBUG Loaded module: aries_cloudagent.protocols.actionmenu

2020-07-18 19:12:53,837 aries_cloudagent.core.plugin_registry DEBUG Loaded module: aries_cloudagent.holder

2020-07-18 19:12:53,848 aries_cloudagent.core.plugin_registry DEBUG Loaded module: aries_cloudagent.ledger

2020-07-18 19:12:53,877 aries_cloudagent.core.plugin_registry DEBUG Loaded module: aries_cloudagent.messaging.credential_definitions

2020-07-18 19:12:53,881 aries_cloudagent.core.plugin_registry DEBUG Loaded module: aries_cloudagent.messaging.schemas

2020-07-18 19:12:53,886 aries_cloudagent.core.plugin_registry DEBUG Loaded module: aries_cloudagent.revocation

2020-07-18 19:12:53,899 aries_cloudagent.core.plugin_registry DEBUG Loaded module: aries_cloudagent.wallet

2020-07-18 19:12:53,918 aries_cloudagent.wallet.provider INFO Opening wallet type: indy

2020-07-18 19:12:53,918 aries_cloudagent.wallet.plugin INFO Checking input postgres storage_config and storage_creds arguments

2020-07-18 19:12:53,918 aries_cloudagent.wallet.plugin INFO Initializing postgres wallet

2020-07-18 19:12:53,927 aries_cloudagent.wallet.plugin INFO Success, loaded postgres wallet storage

2020-07-18 19:12:53,928 indy.wallet DEBUG open_wallet: >>> config: '{"id": "my_wallet", "freshness_time": false, "storage_type": "postgres_storage", "storage_config": {"url": "localhost:5432", "wallet_scheme": "DatabasePerWallet"}}', credentials: '{"key": "my_key", "key_derivation_method": "ARGON2I_MOD", "storage_credentials": {"account": "postgres", "password": "mysecretpassword", "admin_account": "postgres", "admin_password": "mysecretpassword"}}'

2020-07-18 19:12:53,928 indy.wallet DEBUG open_wallet: Creating callback

2020-07-18 19:12:53,928 indy.libindy DEBUG create_cb: >>> cb_type: <class 'ctypes.CFUNCTYPE.<locals>.CFunctionType'>

2020-07-18 19:12:53,936 indy.libindy DEBUG create_cb: <<< res: <CFunctionType object at 0x7fda75c79a70>

2020-07-18 19:12:53,937 indy.libindy DEBUG do_call: >>> name: indy_open_wallet, args: (c_char_p(140576255613760), c_char_p(140576255103056), <CFunctionType object at 0x7fda75c79a70>)

2020-07-18 19:12:53,937 indy.libindy DEBUG _load_cdll: >>>

2020-07-18 19:12:53,937 indy.libindy DEBUG _load_cdll: Detected OS name: linux

2020-07-18 19:12:53,937 indy.libindy DEBUG _load_cdll: Resolved libindy name is: libindy.so

2020-07-18 19:12:53,937 indy.libindy DEBUG _load_cdll: <<< res: <CDLL 'libindy.so', handle 55c800c3e430 at 0x7fda75bef3c8>

2020-07-18 19:12:53,939 indy.libindy DEBUG set_logger: >>>

2020-07-18 19:12:53,943 indy.libindy DEBUG do_call_sync: >>> name: indy_set_logger, args: (None, None, <CFunctionType object at 0x7fda75c79c00>, None)

2020-07-18 19:12:53,943 indy.libindy DEBUG do_call_sync: <<< 0

2020-07-18 19:12:53,945 indy.libindy DEBUG set_logger: <<<

2020-07-18 19:12:53,946 indy.libindy DEBUG do_call: Function indy_open_wallet returned err: 0

2020-07-18 19:12:53,946 indy.libindy.native.indy.commands DEBUG 	src/commands/mod.rs:150 | WalletCommand command received

2020-07-18 19:12:53,947 indy.libindy DEBUG do_call: <<< <Future pending>

2020-07-18 19:12:53,948 indy.libindy.native.wallet_command_executor DEBUG 	src/commands/wallet.rs:142 | Open command received

2020-07-18 19:12:53,954 indy.libindy DEBUG _get_error_details: >>>

2020-07-18 19:12:53,955 indy.libindy DEBUG _get_error_details: <<< error_details: {'backtrace': '', 'message': 'Error: Wallet not found\n  Caused by: Plugin returned error\n'}

2020-07-18 19:12:53,955 indy.libindy DEBUG _indy_callback: >>> command_handle: 0, err , args: (0,)

2020-07-18 19:12:53,956 indy.libindy DEBUG _indy_callback: <<<

2020-07-18 19:12:53,956 indy.libindy DEBUG _indy_loop_callback: >>> command_handle: 0, err , args: (0,)

2020-07-18 19:12:53,956 indy.libindy WARNING _indy_loop_callback: Function returned error

2020-07-18 19:12:53,959 indy.libindy DEBUG _indy_loop_callback <<<

2020-07-18 19:12:53,959 indy.wallet DEBUG create_wallet: >>> config: '{"id": "my_wallet", "freshness_time": false, "storage_type": "postgres_storage", "storage_config": {"url": "localhost:5432", "wallet_scheme": "DatabasePerWallet"}}', credentials: '{"key": "my_key", "key_derivation_method": "ARGON2I_MOD", "storage_credentials": {"account": "postgres", "password": "mysecretpassword", "admin_account": "postgres", "admin_password": "mysecretpassword"}}'

2020-07-18 19:12:53,959 indy.wallet DEBUG create_wallet: Creating callback

2020-07-18 19:12:53,960 indy.libindy DEBUG create_cb: >>> cb_type: <class 'ctypes.CFUNCTYPE.<locals>.CFunctionType'>

2020-07-18 19:12:53,960 indy.libindy DEBUG create_cb: <<< res: <CFunctionType object at 0x7fda75c798e0>

2020-07-18 19:12:53,962 indy.libindy DEBUG do_call: >>> name: indy_create_wallet, args: (c_char_p(140576255614760), c_char_p(140576255103296), <CFunctionType object at 0x7fda75c798e0>)

2020-07-18 19:12:53,963 indy.libindy DEBUG do_call: Function indy_create_wallet returned err: 0

2020-07-18 19:12:53,963 indy.libindy DEBUG do_call: <<< <Future pending>

2020-07-18 19:12:53,963 indy.libindy.native.indy.commands DEBUG 	src/commands/mod.rs:150 | WalletCommand command received

2020-07-18 19:12:53,964 indy.libindy.native.wallet_command_executor DEBUG 	src/commands/wallet.rs:134 | Create command received

2020-07-18 19:12:53,964 indy.libindy.native.indy.commands DEBUG 	src/commands/mod.rs:150 | WalletCommand command received

2020-07-18 19:12:53,964 indy.libindy.native.wallet_command_executor DEBUG 	src/commands/wallet.rs:182 | DeriveKey command received

2020-07-18 19:12:55,222 indy.libindy.native.indy.commands DEBUG 	src/commands/mod.rs:150 | WalletCommand command received

2020-07-18 19:12:55,222 indy.libindy.native.wallet_command_executor DEBUG 	src/commands/wallet.rs:138 | CreateContinue command received

2020-07-18 19:12:55,287 indy.libindy.native.indystrgpostgres.postgres_storage DEBUG 	src/postgres_storage.rs:658 | Entering create_wallet

2020-07-18 19:12:55,287 indy.libindy.native.indystrgpostgres.postgres_storage DEBUG 	src/postgres_storage.rs:659 | setting up the admin_postgres_url

2020-07-18 19:12:55,287 indy.libindy.native.indystrgpostgres.postgres_storage DEBUG 	src/postgres_storage.rs:663 | connecting to postgres, url_base: "postgresql://postgres:mysecretpassword@localhost:5432"

2020-07-18 19:12:55,289 indy.libindy.native.indystrgpostgres ERROR 	src/lib.rs:190 | Create storage failed: IOError("IO error during storage operation: IO error")

2020-07-18 19:12:55,289 indy.libindy DEBUG _get_error_details: >>>

2020-07-18 19:12:55,290 indy.libindy DEBUG _get_error_details: <<< error_details: {'backtrace': '', 'message': 'Error: Wallet storage error occurred\n  Caused by: Plugin returned error\n'}

2020-07-18 19:12:55,291 indy.libindy DEBUG _indy_callback: >>> command_handle: 1, err , args: ()

2020-07-18 19:12:55,291 indy.libindy DEBUG _indy_callback: <<<

2020-07-18 19:12:55,292 indy.libindy DEBUG _indy_loop_callback: >>> command_handle: 1, err , args: ()

2020-07-18 19:12:55,292 indy.libindy WARNING _indy_loop_callback: Function returned error

2020-07-18 19:12:55,295 indy.libindy DEBUG _indy_loop_callback <<<

2020-07-18 19:12:55,296 aries_cloudagent.commands.start ERROR Exception during startup:

Traceback (most recent call last):

  File "/home/indy/aries_cloudagent/wallet/indy.py", line 188, in create

    credentials=json.dumps(self._wallet_access),

  File "/home/indy/.pyenv/versions/3.6.9/lib/python3.6/site-packages/indy/wallet.py", line 61, in create_wallet

    create_wallet.cb)

indy.error.WalletStorageError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):

  File "/home/indy/aries_cloudagent/commands/start.py", line 77, in init

    await startup

  File "/home/indy/aries_cloudagent/commands/start.py", line 27, in start_app

    await conductor.start()

  File "/home/indy/aries_cloudagent/core/conductor.py", line 144, in start

    public_did = await wallet_config(context)

  File "/home/indy/aries_cloudagent/config/wallet.py", line 16, in wallet_config

    wallet: BaseWallet = await context.inject(BaseWallet)

  File "/home/indy/aries_cloudagent/config/injection_context.py", line 126, in inject

    return await self.injector.inject(base_cls, settings, required=required)

  File "/home/indy/aries_cloudagent/config/injector.py", line 77, in inject

    result = await provider.provide(ext_settings, self)

  File "/home/indy/aries_cloudagent/config/provider.py", line 83, in provide

    self._instance = await self._provider.provide(config, injector)

  File "/home/indy/aries_cloudagent/config/provider.py", line 106, in provide

    instance = await self._provider.provide(config, injector)

  File "/home/indy/aries_cloudagent/wallet/provider.py", line 42, in provide

    await wallet.open()

  File "/home/indy/aries_cloudagent/wallet/indy.py", line 259, in open

    await self.create(self._auto_remove)

  File "/home/indy/aries_cloudagent/wallet/indy.py", line 197, in create

    ) from x_indy

  File "/home/indy/aries_cloudagent/wallet/indy.py", line 188, in create

    credentials=json.dumps(self._wallet_access),

  File "/home/indy/.pyenv/versions/3.6.9/lib/python3.6/site-packages/indy/wallet.py", line 61, in create_wallet

    create_wallet.cb)

aries_cloudagent.wallet.error.WalletError: Exception while performing indy operation: Error: Wallet storage error occurred

  Caused by: Plugin returned error

Shutting down

Does anyone have an idea about what the problem might be?

@Sarangc1203 this issue is closed so you should probably open a new issue (I think your error is different than the issue that was originally logged anyways).
When you open a new issue, can you also describe how you are starting your local indy network and postgres database?  The aca-py agent you are starting is running in a docker container so it may or may not be having issues connecting to your postgres sever.

@Sarangc1203 did you posted this as separate issue and happened to find any solution?

Yeah, I figured out how to get it working. Using the configuration mentioned above, the aca-py was looking for a postgres service inside the aca-py's docker container itself. The problem was that my postgres service was running as an independent service in another container. So to get it working I just had to expose and map the ports so aca-py could interface with the postgres service.
Apologies for not following up on this earlier, my laptop ran into some trouble.

thanks for revert @Sarangc1203 . been struggling with this for some time and not able to find solution. Have tried various things (i.e. run postgres on local machine, map ports of postgres container, run all containers with docker compose so that they are in same network etc.)
possible for you to post step by step instructions worked for you?
I also posted this as separate issue here - #720 to see if someone is able to advise what i am missing.
thanks again!


Fails with "too much recursion" on<EMAIL_ADDRESS>

Input:
// Click Build for the Bundled, Minified & Compressed package size
export * from "<EMAIL_ADDRESS>
Output:
Fetch<EMAIL_ADDRESS>
✘ [ERROR] too much recursion [plugin http-url]

http-url:https://unpkg.com/@ensdomains/address-encoder@1.1.1/dist/esm/coins.js:56:21:

      56 │ export { iost } from "./coin/iost.js";
         ╵                      ~~~~~~~~~~~~~~~~

I just tried running the build, it seemed to work with no errors, it could be a potential cache error, try running the build again in Incognito mode

I cleared browser cache and it builds now, not sure what it was before


Consumed note asset padding

When ingesting asset data associated with a consumed note from the advice provider as part of the prologue (#14) it will be helpful if the asset data is padded to be a multiple of the rate width.  This would involve padding with an additional word if the number of assets is an odd number.

closed by #55


does not work with ftp files (1.8.557 latest version for Chrome)

Link to PDF file (or attach file here): ftp://ftp.fernuni-hagen.de/pub/pdf/urz-broschueren/broschueren/a0279510.pdf
Configuration:

Web browser and its version: Chrome 61.0.3163.91
Operating system and its version: OSX 10.12.6
PDF.js version: 1.8.557
Is an extension: yes

Steps to reproduce the problem:

Go to ftp pdf like ftp://ftp.fernuni-hagen.de/pub/pdf/urz-broschueren/broschueren/a0279510.pdf2.
Get unexpected server error.

Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):

So I am guessing chrome users are kind of second class citizens in this case :(

According to https://bugs.chromium.org/p/chromium/issues/detail?id=435547#c46, this appears to be an upstream issue in Google Chrome itself rather than in the PDF.js extension.

I'm going to disable ftp support for Chrome 59+ because of the upstream Chrome issue.
I can think of a work-around to enable FTP display anyway, but I am not sure if that is worth the effort. @yashamon Would it be an acceptable solution for you to be able to open ftp PDFs in Chrome (either with the built-in viewer, if any, or as a download + drag file to Chrome)?
The work-around that I am thinking of relies on the fact that Chrome only allows ftp:-requests from ftp:-URLs:

Find any tab with the ftp: scheme.
If not found, open a temporary (inactive) tab with a ftp: URL.
Let the extension run a content script in the tab (from 1 or 2), and let that script fetch the ftp:-resource.
Send back the response to the original tab and show the PDF.

Now, if there is an existing tab with a ftp:-URL, then this work-around would barely have any noticeable difference when compared with the pre-Chrome 59 method. But if there is not such a tab (which I fully expect), then opening a tab can be confusing. But that confusion might be worth it, if the alternative is to not have an easy way to display PDF files.

Closing since #9595 is merged.

FYI: Upstream bug report to request access to ftp URLs: https://bugs.chromium.org/p/chromium/issues/detail?id=904455


Update SIMPLE IRA plan for 2025

It looks like congress passed the SECURE ACT 2.0, which includes some changes:

"Participants can now make after-tax Roth contributions to SIMPLE plans."
"Employers with 25 or fewer employees can automatically allow participants to contribute 110% of the SIMPLE IRA's annual IRS limit."
"Employers may elect to provide an additional contribution to each participant up to $5,000 or 10% of each participant's salary (whichever is less)."

Quotes from handout provided by American Century Investments.
Questions:

Why would somebody contribute Roth money to a SIMPLE IRA instead of just contributing it to their own Roth IRA?
Should FLP increase the match? Can a straight percentage match still be used or is it a one-time kind of thing?
Why is it defined as 110% as opposed to just upping the limits?

SIMPLE IRA have higher contribution limits, so doing your Roth that way could be good for somebody. Roth contributions must be matched same as the rest.
Contribution limit for 2025 is still $16k, whether that comes from Roth or pre-tax. The employer matches up to 3% of the employee's salary, whether their contributions are from Roth or pre-tax.
All the employer does is tell American Century how much is pre-tax and how much is post-tax (Roth). From there, Gusto needs to know the same information so it can pay the person properly, and ACI will send the correct tax forms to the person.
Is offering Roth required? Yes.

Why is it defined as 110% as opposed to just upping the limits?

Just because.
For this:

"Employers may elect to provide an additional contribution to each participant up to $5,000 or 10% of each participant's salary (whichever is less)."

It's a one-time thing some businesses are doing. I think we should skip it for now for simplicity and to be fair to others that are not able to get these benefits.

Changes

We have to start accepting Roth contributions.
Employees can contribute up to 110% of the 2025 limit.
We cannot match up to 4% because we're fewer than 26 employees.
We can do a one-time pre-tax bonus for all plan participants, if we want (but we probably don't).

This is done enough for now. I also need to inform people about this, which I'll do in a sec.


support for multiple environments

Sometimes multiple app id's / versions are required for Staging/Prod. Some config may also change depending on environment.
conf  {
    environments {
        prod {
            x = 10
        }
        qa {
            x = 20
        }
    }
}

currently glide doesn't support any such thing out of the box.

implemented in 052f8e43da52a8715333b59a4a335b048557ee29
We can specify env specific properties in glide.groovy file using special environments key, under which environment names (eg dev, prod) scope can contain env specific overrides.
app {
    name = "sample"
    version = "1"
}
environments {
    dev {
        app {
            name = "sample-dev"
        }
    }
}

in build.gradle, provide the env to load. There is nothing glide specific here. It is standard groovy ConfigSlurper mechanism.
glide {
    env = "dev"
}


Add Hashrocket's Today I Learned

Thanks for maintaining this project! This adds Today I Learned, an open-source project from Hashrocket.

Thanks!


feat(BTreeMapTransaction): delete data both in staging and original `…

…BTreeMapwhenremove` is called in transaction
I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
What's changed and what's your intention?
delete data both in staging and original BTreeMap when remove is called in transaction
if current design is intentional, we can retain current method and add a new method
Checklist
Documentation
If your pull request contains user-facing changes, please specify the types of the changes, and create a release note. Otherwise, please feel free to remove this section.
Types of user-facing changes
Please keep the types that apply to your changes, and remove those that do not apply.

Installation and deployment
Connector (sources & sinks)
SQL commands, functions, and operators
RisingWave cluster configuration changes
Other (please specify in the release note below)

Release note
Please create a release note for your changes. In the release note, focus on the impact on users, and mention the environment or conditions where the impact may occur.
Refer to a related PR or issue link (optional)

Seems that the current code will have bug when we first insert and then delete a key. Can we have some test case to cover such usage?

just added some tests


Issues in API Creation forms.

Issues:

Stepper should be consistent in all forms as APIProduct
Buttons should be next to each other.

Closed as above commit


Add composition roots for packages

Checklist

[ ] I have added tests
[ ] I have updated the docs and cheatsheet
[ ] I have not broken the cheatsheet
[x] https://github.com/cursorless-dev/cursorless/pull/1379/files#r1164301275

@auscompgeek wdyt?  In Mark Seemann's writing, he is pretty clear that you should not have a composition root in libraries, only in applications.  However, I'm not sure I understand why.  In this PR, having a composition root at the entrypoint of the library seems to make things a lot cleaner

ok @AndreasArvidsson updated based on today's session; will follow up with PR to merge cursorless-vscode and cursorless-vscode-core


How to implement Regular Expressions (Regex) with Java

How to implement Regular Expressions (Regex) with Java
Introduction paragraph (2-3 paragraphs):
Regular Expression popularly referred to as regex in the programming field is a specific and detailed combination of characters which form patterns that are thereon used to match the combination of characters in other Strings.
In this article, we will be introduced to the syntax of regex in Java. Learn the implementation of basic regex expressions, interpretation of the metacharacters in regex patterns, essence and benefits of applying regex in string input validations as compared to other approaches, some of the string methods that make use of regex, Java's Pattern and Matcher API's which are some of the other approaches to implementing regex.
Key takeaways:
At the end of the article, the reader should be able to:

Identify regex metacharacters and what each one represents.
deduce and interpret the pattern derived from the combination of regex metacharacters.
determine the appropriate use-cases of regex.

References:

https://docs.oracle.com/javase/8/docs/api/index.html?java/util/regex/package-summary.html
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
https://www.w3schools.com/js/js_regexp.asp
https://eloquentjavascript.net/09_regexp.html

@olu-damilare
Good afternoon and thank you for submitting your topic suggestion.
Your topic form has been entered into our queue and should be reviewed (for approval) as soon as a content moderator is finished reviewing the ones in the queue before it. 🚀

Hey 👀 @john-amiscaray @BrianaNzivu
You have experience in Java - what do you think about this topic?

Hey@ahmadmardeni1 👋🏾.
I think it can make a great how to guide article.
Regex is an upcoming trend in object oriented programming especially Java due to its redundant syntax.
I'd advice that he includes a little bit more detail compared to the reference articles linked  (Regex is used in more ways than what most of the articles are displaying).
I'd like to know your thoughts on this @john-amiscaray 🤔
Otherwise, I think it is a great topic. 🚀

Thank you!🚀 @BrianaNzivu
Approved - @olu-damilare - please make sure to include a little bit more detail compared to the reference articles linked (Regex is used in more ways than what most of the articles are displaying) as Briana said.

@ahmadmardeni1 @BrianaNzivu I'm not very familiar with regex so I don't think I can give a good opinion on what can be done differently from the reference articles but I also believe this could be a very useful topic. Regex seems like a pretty powerful tool that can be a little daunting for a beginner because of how weird and different it can look. I feel like done right, this could be a very useful article that could help beginners or even more advanced programmers who just haven't taken the time to learn regex like myself.


API request - body parser changed

solved - version 0.9.10, replaced body-parse npm with skipper that does also body parsing
Initial error comes form body-parser npm that in this particular situation doesn't parse the body for API server instance correctly.
This can be seen with releases lower than 0.9.10 when trying to POST/PUT information (CREATE, UPDATE)

solved - version 0.9.10, replaced body-parse npm with skipper that does also body parsing


Rollback<EMAIL_ADDRESS>only temp solution

Hi,
Having just upgraded to 1.4.10 I no longer have tsserver starting correctly.
CocCommand tsserver.restart gives me E492: Not an editor command: CocCommad tsserver.restart
When running CocInfo I cannot see ## Output channel: tsserver in the list either.
If I manually rollback to 1.4.9 by running npm install<EMAIL_ADDRESS>in the .config/coc/extensions directory it works again as expected.
More than willing to provide additional debug information as needed

Further observation: npm install<EMAIL_ADDRESS>and CocInstall<EMAIL_ADDRESS>fix coc, but the solution is limited, bec. if you try to CocUpdate then it automatically reverts back to @1.4.10 (even though it was completely removed from ~/.config/extensions/node_modules/).
Originally posted by @Annis-Monadjem in https://github.com/neoclide/coc-tsserver/issues/124#issuecomment-596082534

You just saved an absolute vim noob from a lot of frustration. Thanks! :D

Thank you! This should probably be rolled back until 1.4.10 works, I was really confused as to why it stopped working all of the sudden.

So many thanks bro. I wasted half of day to find your solution. It works like a magic.

You can still lock the version by using :CocList extensions then tabbing over coc-tsserver and locking it.

my auto completion simply stop working. You solved my problem, thanks!!!!!!

Thanks so much! It's surprising to find that my (neo)vim setup broke and it wasn't my fault.

Thanks!
And the install dir of coc-tsserver seems to be different on Windows, which could be shown by execuating :echo coc#util#extension_root() . For me, that's C:\Users\YOUR_USERNAME\AppData\Local\coc\extensions\.

If you want to use 1.4.10 you can also download the source and pack it yourself. The release works fine, but the one host on npm doesn't contain any code for some reason.

Oh my god, I've been debugging this thing for the past 2 days, I should really look at github more often THANKS!

Please upgrade to 1.4.11.


Bug fix/cinfra 475 fix assertion during leader change and commit response on failure

Scope & Purpose
Made test for https://arangodb.atlassian.net/browse/CINFRA-475 work:

Fixed test
Fixed transaction::Methods::~Methods() running into an assertion, because Exceptions in RocksDBTransactionState::doAbort() were not handled (This is what CINFRA-475 was about)
Fixed Manager::updateTransaction not handling exceptions from transaction::Methods::commit() (which lead to a failed commit not aborting the transaction) by making commit() (and abort() and finish()) noexcept

[X] :hankey: Bugfix
[ ] :pizza: New feature
[ ] :fire: Performance improvement
[ ] :hammer: Refactoring/simplification

Checklist

[ ] Tests

[ ] Regression tests
[ ] C++ Unit tests
[ ] integration tests
[ ] resilience tests

[ ] :book: CHANGELOG entry made
[ ] :books: documentation written (release notes, API changes, ...)
[ ] Backports

[ ] Backport for 3.9: (Please link PR)
[ ] Backport for 3.8: (Please link PR)
[ ] Backport for 3.7: (Please link PR)

Related Information
(Please reference tickets / specification / other PRs etc)

[ ] Docs PR:
[ ] Enterprise PR:
[ ] GitHub issue / Jira ticket:
[ ] Design document:

Jenkins failure is unrelated.


Create card... Component so can be used anywhere.

I would like to work on this issue as a gssoc contributor.
Thank you

oh great! please

hey? @Saloni0512 you can create a draft pR. So i can see the progress

Actually I haven't made much progress like I am still going through the codebase , I have my exams going on as well. Also can you elaborate a bit on what exactly I need to fix here. If you need this issue fixed immediately, then you can assign it to someone else.Sorry for the delay.

So when you go to your Gmail.. When you click on the profile a card comes in.  My exams will get over tomorrow,then I'll be free

I am facing difficulty in fixing this, you can assign the issue to someone else.

Ok cool @Saloni0512

I am facing difficulty in fixing this, you can assign the issue to someone else.

no problem. In this case, you can create PR and we can guide you. Keep contributing there can be small issues. Just check the website carefully.


Unable to browse the workbench when running SPFx project from docker container.

Category

[x] Question
[ ] Typo
[x] Bug
[ ] Additional article idea

Expected or Desired Behavior
when use docker created image for SPFx1.8 deveopment, after we execute docker run -it --rm --name spfx-mo --mount type=bind,source=c:/dockerprojects,destination=/usr/app/spfx -p 5432:5432 -p 4321:4321 -p 35729:35729 [image]:[SPFx1.8-Node8.15.0] to start a container, we should be able to browser to https://localhost:4321/temp/workbench.html to start a local bench. When you browser to https://sposite/_layouts/15/workbench.aspx. the SPO workbench cannot pick up the web part you hosted from container.
Observed Behavior
the browser always showed they cannot resolve  https://localhost:4321/temp/workbench.html. and spo workbench cannot load manifest file for web part.
Steps to Reproduce

create a Dockerfile to include the following

FROM node:8.15.0

EXPOSE 5432 4321 35729

RUN npm i -g gulp yo<EMAIL_ADDRESS>@pnp/office365-cli

VOLUME /usr/app/spfx
WORKDIR /usr/app/spfx
RUN useradd --create-home --shell /bin/bash spfx && \
    usermod -aG sudo spfx && \
    chown -R spfx:spfx /usr/app/spfx

USER spfx

CMD /bin/bash

run 'docker build -t imagefile . ' to create a docker image
run 'docker run -it --rm --name spfx-mo --mount type=bind,source=c:/dockerprojects,destination=/usr/app/spfx -p 5432:5432 -p 4321:4321 -p 35729:35729 [imagefile]' to start a container.
run yo @microsoft/sharepoint to create spfx 1.8 project.
run 'gulp serve'

Submission Guidelines
@waldekmastykarz had his own docker repository and also mentioned walk around at his know issue session. I also created a issues at nodejs/docker-node. it seems like they are questioning about if the process running on docker container is actually listening those ports. I am just wondering if this is a known issue from SPFX. if it's, any plan you can share with us?

Appears there's a PR in the @waldekmastykarz 's repo that they are working on upgrading the image to support v1.8... might be best to post your issue there as using Docker isn't the MSFT official way of developing SPFx...

+1 to @andrewconnell.
@frankchen76, I can confirm, I'm experiencing the same issue you are. No doubt there will be further guidance that comes out from the community to best accomplish using SPFx 1.8 with Docker, but here is some info I was able to find while testing for you:
I got the exact same 'npm ERR! code ELIFECYCLE' error you received in your linked issue over at 'nodejs/docker-node'. In fact if you create another Docker image, removing the npm install of the SPFx modules and then simply execute 'npm install node-sass', it will still fail with the same error.
That being said, I was able to find an extremely less then elegant workaround that did work for me. In another windows partition, where I have node installed directly, I was able to scaffold out an SPFx 1.8 web part successfully.
I then copied the "node_modules" folder from that partition, into my solution folder where my Docker Container SPFx solution was located. I had to then execute an "npm rebuild node-sass" and from there was able to perform a gulp serve or another "npm install" of another module and was able to proceed with normal development.
This is by no means a best practice work around. It could easily be considered a hacky coincidence and not one I would rely on long term, but it might work for you in the short term until the best option for Docker & SPFx 1.8 comes available?
As @andrewconnell  mentioned though, since using Docker isn't the official development pattern, posting the issue into Waldek's repo might be the best way to keep an eye on this. :)

@PopWarner and @andrewconnell thanks for your guys comments.
Based on what Developing using Docker mentioned in
Team-based development on the SharePoint Framework, the docker container is one of development environment approaches recommended by MSFT. I also tried SPFx 1.4 version running on docker with nodejs 6.11, it worked fine with same Docker for Windows. If there wasn't a change, it should be working for SPFx 1.8 and nodejs 8.x. As I mentioned in my question, even though @waldekmastykarz mentioned work around in his repro, I think we should be able to get clarification from MSFT if this is a designed change or not. I also raised this issue to nodejs/docker-node and was told that the issue might be caused by no listener inside the container. I hope someone from MSFT can clarify this. Thanks

@frankchen76 said:

the docker container is one of development environment approaches recommended by MSFT

I think using the word recommended isn't accurate. There are options listed there, but as you can see in the docs, it redirects you off the MSFT docs to learn how to use Docker. This isn't a use case they test for or officially recommend. Their guidance & what they test for is to install the generator globally on your local environment.
@frankchen76 said:

If there wasn't a change, it should be working for SPFx 1.8 and nodejs 8.x.

But clearly, something did change... it's not working :). No docker image is provided by Microsoft... the community is using the one created by @waldekmastykarz. As I said in my last response, this is something that appears others are hitting when you look at @waldekmastykarz's repo... so I'll reiterate it's more likely the best place to raise this question is over in his repo.

BTW, confirmed with @waldekmastykarz that posting issues specific to this docker image are more suited in the issue list in his repo... so I'll close this issue for now but recommend you post to his issue list linked above.


Define PiTR interval for GC and make it possible to specify per-tenan…

…t configuration parameters
refer #1320

I have rebased this PR on top of the main and moved compaction_target_size to per-tenant config.
Now I'm continuing review and going to fix the issue with possibly corrupted tenant config file mentioned above.

So, I've added checksum to tenant config file.
Now this file is saved when tenant is created and all other load functions expect the file to be there.
@LizardWizzard , could you take another look at the code and help me to combine that with tenant migration?

How about storing the config in a json or toml format? That would make it human-readable and editable.

How about storing the config in a json or toml format? That would make it human-readable and editable.

IMHO, it would be tricky to keep the consistency if we make it human-editable. When should we reload such config?
How can we make sure that it is not corrupted during tenant relocation (now it is protected with checksum)?
I would rather introduce zenith tenant config command  to update the config.

How about storing the config in a json or toml format? That would make it human-readable and editable.

IMHO, it would be tricky to keep the consistency if we make it human-editable. When should we reload such config? How can we make sure that it is not corrupted during tenant relocation (now it is protected with checksum)?
I would rather introduce zenith tenant config command to update the config.

+1
It is definitely easier to inspect config in text format. But it also instigate person to edit this file. And in this case we have inconsistency with control panel. Also I am not sure who and why will inspect this file. Certainly it may be useful during debugging. But in production we definitely need some other mechanism (GUI/CLI/...) to inspect configuration files. Especially if there will be thousands of clients.

We have a discussion with @hlinnaka but still do not come to the consensus:
I think that this PR is unrelated with #1386
#1386 provides on demand mapping of timestamp to LSN. It requires traversal of all XLOG_XACT_COMMIT records. Number of committed transaction can be very large, especially if cae of larger PITR interval.
I still thinking that users very rarely need to rollback to some particular point in time. To some particular snapshot or database state - yes. But time is not a precise instrument for rollback. It can be useful to perform some kind of time travel or "as of" queries (which results were returned by query yesterday or what plan was chosen for this query one hour ago). But for rollback we need more precise pointer.
This is why efficiency of such time->LSN mapping is not so important.
But if GC will have to performing this mapping before each GC iteration, it can just cause waste of resources (CPU  and disk).
The argument that layer file time may be not correct because of downloading layer from S3 seems to be not correct:
right now we do not have swapping to S3, so layers, may not be uploaded to S3, then evicted from page server and then reloaded on demand.
If we really consider S3 as main storage of data and pageserver - just as cache for most recently/frequently accessed data, then many things in page server have to be rewritten.
For example, GC should not try to drop any layers from local storage. It should only detect layers which can be deleted and then remove them from S3. In this case it can look at file creation date at S3, which should not be changed. And unloading layer should be triggered by completely different criteria than currently used in GC. We can unload layer at any moment when when there are more recent image layers and there is lack of free space at pageserver. And if evicted layer will needed,
it can be downloaded from S3.

@lubennikovaav

help me to combine that with tenant migration

Migration currently works on a per timeline basis, heavily relying on the s3, so it is a bit tricky. What will be the source of truth for these configs? Probably it will be the console. So I see two options:

Console uses API to fill correct config on pageserver. Existing tenant_create to load the initial config and a new endpoint (something like tenant_update) to change the config of the existing tenant.
As we discussed in the recent meeting about the synchronization, there was a desire to use etcd and subscriptions to changes instead of API requests from console to storage to utilize etcd for that.

IMO either of the options can be implemented separately. The second one needs some preparations that are not ready yet

The argument that layer file time may be not correct because of downloading layer from S3 seems to be not correct: right now we do not have swapping to S3, so layers, may not be uploaded to S3, then evicted from page server and then reloaded on demand.

And what about tenant migration between pageservers via S3?

The argument that layer file time may be not correct because of downloading layer from S3 seems to be not correct: right now we do not have swapping to S3, so layers, may not be uploaded to S3, then evicted from page server and then reloaded on demand.

What about tenant migration between pageservers via S3?

I wrote my thoughts about it in PITR Epic ticket: https://github.com/zenithdb/zenith/issues/1320#issuecomment-1091819948
Briefly: if we support swapping of layers to S3, then GC has to be also done at S3 and we can use timestamps of S3 files (which can not be changed because of migration or whatever else other reasons). And we do not need to perform GC at pageserver, we should only implement some eviction policy for layers.


How to handle multiple returned random variables

It would be nice if we could have distributions that return multiple random variables, as in
X, Y = MyFancyDist(a, b, c)

This is unfortunately incompatible with MyFancyDist being a class.
To support this, we could switch to distributions being implemented as functions.
We could build some machinery (e.g. using decorators) to make it simple to define distributions.

Superseded by #16


Migrate MySQL deployment

AsIs
Currently MySQL server for our FastAPI application has been deployed as Deployment resource on GKE cluster, and we have hosted several application onto this GKE cluster.
Since basically application will only use a single database in its instance, for reducing disk usage of GKE cluster node, it would be better to deploy a single MySQL server on GCE instance whose form factor is VM based.
ToDo

[x] install and setup MySQL server on GCE instance (depends on: https://github.com/hwakabh/6ow3idGirl/issues/68)
[x] update credentials for database connections

(Optional) Acceptance Criteria

confirm FastAPI app will start up without any error
migration by SQLAlchemy will be done and database schema will be applied to database on MySQL on GCE

Evidence: https://github.com/hwakabh/random-travelers/pull/97#issuecomment-1999892004


[Android] In a nested tab, can't navigate to another page

Context: On Android, I have a TabViewPagerAndroid inside a TabViewPagerPan (using react-navigation). When calling setPage of the TabViewPagerAndroid, the new page should appear.
Expected behaviour
The button at the bottom right is clicked and the corresponding page is focused.

Actual behaviour
The button at the bottom right is clicked but the corresponding page is not focused.
setPage is called but onPageSelected is not.

Code sample, screenshots
See above gifs
What have you tried

Changing lazy doesn't do anything
Forcing using TabViewPagerPan works but the implementation has wrong feelings in transitions (and you can't force it using react-navigation)
Setting an initialLayout to minimum { width: 1, height: 1 } fixes the issue. In order to have the full page rendered during the first render, I set it to Dimensions.get('window').

So there's a workaround (similar to #297), but it seems hacky.
Here are commits with the hacky workaround: react-native-tab-view ; react-navigation

I'm having a similar problem, and it seems to be happening in versions 0.0.65 through to 0.0.69. I'm using react-native-tab-view in the context of react-navigation. I have a tab bar that works perfectly fine on iOS, but on Android when I press on a tab to switch to it, the tab bar does not actually switch to the tab I pressed, it just does nothing. I know that the press itself is being registered (as a Navigation/NAVIGATE action is dispatched in response` but the tab bar just doesn't update to show the new correct tab.
I used your fix in https://github.com/Minishlink/react-navigation/commit/c326c9ba43e101d85b8e590ba9fba9ee0652d5c9 of setting initialLayout and this resolved the problem for me and got the tab bar to behave correctly.
Interestingly, the solution posted at https://github.com/react-community/react-navigation/issues/662#issuecomment-290938479 of setting swipeEnabled: false, animationEnabled: false (setting lazyLoad: true was not necessary for me) also resolve the problem for me.

I found a hacky workaround. If you don't mount the nested tabview same time as the parent tabview, the problem got resolved. For example, you can 1) set lazy loading and shift the tab with the nested tabview away from the 1st tab or 2) sacrifice performance and use a timer to trigger the mounting of the nested tabview. I found similar issues with other tabview/viewpager libraries as well. I suspect it's more related to the underlying Animate API.

amazing!!!


Changes in imported rules don't trigger reloads

Then ElastAlert checks for rule changes, it only checks the hash of the individual file and doesn't consider imported sections.

I reported this via the irc channel.
My use-case is this:
Since I have several rules that all use a common alert configuration, I chose to put the alert config in a separate file, and use the import alert-config-file function in the rules to simplify the configs.
This worked great, however I discovered that when changing the imported alert-config-file, that the changes don't get automatically "picked up" by the rule file change detection, as @Qmando detailed above, so a restart of the process is necessary.
I am a newcomer to Elastalert and haven't cracked open the code yet, but I will poke around and see if I can decipher any clues to getting this to work. Any pointers in the right direction would be appreciated.

This is still a problem