Feature request: show us intl keys

I am using a us-intl layout on windows and linux and i am missing letters like Ö, Ñ and Ø in the drawings.
I would like to see a blue layer like here: https://en.wikipedia.org/wiki/QWERTY#/media/File:KB_US-International.svg
Bonus: Ideally you could also specify that you are using i.e. a spanish, french or german layout and then the output is adapted to that language.

I think this is a duplicate of #32, except for the bonus section. That would require shipping data files that contain display forms of various keyboard layouts. Perhaps it would be possible by automatically parsing cldr files similar to https://github.com/joelspadin/zmk-locale-generator, while extracting shift/ralt keycodes.

Re: the bonus section, it is relatively simple to simply re-implement the zmk_keycode_map or qmk_keycode_map in your config. For example I've done this in my config in order to draw the UK layout.

Hi there. I'm experimenting with this feature, since the current behavior generates really ugly looking images on my setup:
https://github.com/paoloantinori/zmk-config-zen-2/raw/uk/keymap-drawer/corneish_zen.svg?raw=true
So far I've found that a funny improvement is to just make the zmk-locale-generator generated headers unavailable.
If that happens, instead of resolving the definitions, the original key is maintained, which is already a good improvement, moving from this:
layers:
  BASE:
  - - {t: '(ZMK HID USAGE(HID USAGE KEY, HID USAGE KEY KEYBOARD Q))', h: ESC}
    - {t: '(ZMK HID USAGE(HID USAGE KEY, HID USAGE KEY KEYBOARD W))', h: TAB}
    - (ZMK HID USAGE(HID USAGE KEY, HID USAGE KEY KEYBOARD E))
    - (ZMK

to this:
layers:
  BASE:
  - - {t: GB Q, h: ESC}
    - {t: GB W, h: TAB}
    - GB E
    - GB R

Just to make a little progress here I've even added an extra config param to keymap-drawer:
parse_config:
  remove_prefixes:
    - "GB"

just to simplify the manipulation that led me to this output:
layers:
  BASE:
  - - {t: ' Q', h: '$$mdi:keyboard-esc$$'}
    - {t: ' W', h: '$$mdi:keyboard-tab$$'}
    - ' E'
    - ' R'

with a very acceptable improvement over the output:
https://github.com/paoloantinori/zmk-config-zen-2/blob/visual_editor/keymap-drawer/corneish_zen.svg
But, I was hoping to have a real permanent solution to this approach and I've got a tip from @nickcoutsos who nicely shared his pre processing approach:
https://github.com/nickcoutsos/keymap-editor/discussions/141#discussioncomment-7492891
I've managed to have his script working, so I see a path for a smart detection and delegation of the parsing logic to zmk-locale-generator libraries to avoid rewriting code from scratch.
I stopped here and decided to ask for feedback on this thread because zmk-locale-generator seems not to be a published dependency and I have no idea what could be the best course of action to consume those modules from withing this project.
Open to any feedback!

Locale headers like that are where our assumption of "preprocessed keycodes look like the short keycodes in Codes breaks down, sadly. After reading your comment I thought about the issue further.
I think one main assumption we can make is the following:

KD should (ideally) work with keycodes in the user's chosen keyboard layout, not the underlying HID keycodes as ZMK resolves the headers to.

This means a mapping {DQT: '"'} in zmk_keycode_map should convert GB_DQT (shift+2) to " during parsing, not DQT (shift+' in US layout).

There are two ways I can think of how to approach to achieve this:

Preprocess everything like we do now, but find a way to resolve the long form locale header outputs to the short form, e.g. ZMK HID USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_Q)) gets converted to Q. This can be achieved using keys.h. Then, these can be converted to the "right" legends for the user's locale, either through:

a user-provided zmk_keycode_map (like MattSturgeon did https://github.com/caksoylar/keymap-drawer/issues/50?notification_referrer_id=NT_kwDOAHgxhLI3NzA4OTYyODQzOjc4NzY5OTY#issuecomment-1742788151)), or
a user-provided locale ID, which can map to a set of pre-generated keycode maps (through ZMK locale generator)

Instead of the preprocessor applying the header-based layout translation and us undoing it, find a way to prevent it from being applied in the first place, then use the usual zmk_keycode_map

how to disable the preprocessing for just that header? (special comment syntax in keymap? // keymap-drawer: ignore)
need a way to remove the locale prefix (like your config option), needs user input

Looks like 2. is what you ended up on with above, but I am not sure how using ZMK locale generator helps here -- full disclosure, I don't get what Nick's script is exactly doing.
One fundamental issue I see is that you don't know how the header was generated exactly, i.e. what locale and what prefix is used (from the discussion, looks like Nick makes some assumptions on that). Related to that and the two sub-bullets above, it looks like this cannot be fully automated.
Anyway, 2. seems like a better way to go overall to me. Just need to figure out the preprocessor bit somehow. Maybe Nick's script that you got working is working around some of these issues?

The script is mostly doing what zmk-locale-generator's batch_generate.py does to generate the header files, but as JSON files and with a subset of the values.
As an example,
{
  "locale": "de",
  "keys": [
    ...,
    {
      "names": [
        "DE_CAPITAL_SHARP_S",
        "DE_CAPITAL_ESZETT",
        "DE_CAPITAL_SZ"
      ],
      "symbol": "\u1e9e",
      "modifiers": [
        "LS",
        "RA"
      ]
    },
    ...
  ]
}

Turning that into a flat map is left as an exercise for the reader, but the idea is that I can

Parse #include "keys_de.h" and know that the user probably wants the German language header
Load keys_de.json from my locales, and
When encountering a key binding with the identifier DE_CAPITAL_SHARP_S (or one of its aliases), I can render the given symbol, and
When displaying the keycode picker and the active selection is DE_CAPITAL_SHARP_S I can disable the given modifiers, because they are being sent regardless.

So my assumptions is basically that: if someone uses zmk-locale-generator's headers they'll stick with that naming convention. Conversely, if someone has a "keys_de.h" header that is legitimately something besides a set of localized keycodes the result will just be that my app will show a list of keycodes that they don't have a reason to use.

Thanks Nick, seeing the output was helpful!
One thing your approach made me realize is that perhaps it is OK to assume certain things about the locale generator headers. Specifically, if we assume headers are only among the pre-generated ones, we can automate things quite a bit:

Figure out what the user locale is from the #include filename
Consequently, know what the prefix is for that locale
Pre-generate and activate whatever mapping we prefer using that info
which sounds like your approach, essentially.

I can see how this could be used by keymap-drawer in the following way:

Look for the #include pattern, from which determine the locale (falling back to en etc. if not found)
Pre-generate default zmk_keycode_maps for each locale in releases, going from HID keycode spec (long form of) LS(RA) (which the preprocessor would resolve to) to display form `"\u1e9e"
Load default map for locale, union it with a user-provided zmk_keycode_map after removing the locale prefixes to look up keycodes
Do the mapping as usual

I think that sounds less hacky than approach 2, but it constrain us to the assumption that users are using locale headers from releases.

Meanwhile, I think it is a good idea to add #define KEYMAP_DRAWER to my preprocessor input so users can use #ifndef KEYMAP_DRAWER guards in their keymap files if they like to.

Thanks for looking into this. The issue I have found in my experiments with zmk_keycode_map cannot be used as is, due to a split() call that otherwise separates the spaces generated definitions like (ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_A))
Here I'm hacking things badly just to see if it can work and it seems so. But to keep things simple I've replaced the separating space in the keybinding, and also removed it in zmk_keycode_map
'(ZMK_HID_USAGE(HID_USAGE_KEY,HID_USAGE_KEY_KEYBOARD_A))': 'A'
'(ZMK_HID_USAGE(HID_USAGE_KEY,HID_USAGE_KEY_KEYBOARD_B))': 'B'

https://github.com/caksoylar/keymap-drawer/compare/main...paoloantinori:keymap-drawer:multi_language?expand=1
This code works fine  in my test

For now, before a better/automated solution can be implemented as discussed above, I implemented these two things brought up by @paoloantinori 's approach:

Add a way to modify keymap parsing without affecting the ZMK build: https://github.com/caksoylar/keymap-drawer/commit/1652cf92d1f077056e4d0f879253c4e9ceed45c5
Add a config for removing prefixes from keycodes before any further processing: https://github.com/caksoylar/keymap-drawer/commit/a91689cd6a02abb239cc923273cdebc70329b3c0

When you combine these two, you should be able to implement the following workaround for locale headers:

Put the locale header #include in a define guard so it isn't processed by keymap-drawer:#ifndef KEYMAP_DRAWER
#include "keys_gb.h"
#endif

Specify the locale prefix in the config: draw_config.zmk_remove_keycode_prefix = ["GB_"]

Then any &kp GB_XX will be processed as &kp XX and you can further use parse_config.zmk_keycode_map to map XX to a legend, if you wish.

Thank you so much for this!! It works really well.
I noticed a small problem in 1652cf9: It still uses the excluded header in parse_config.raw_binding_map as it doesn't add the define in preprocess_extra_data in dts.py

@englmaxi Great catch, thank you! Should be fixed by 01c7d665cb74991f2a65628fdb8c1b345dbba34a.

I ran into this same problem today, because I use the same trick as zmk-locale-generator to do Colemak at the OS level instead of in my firmware. The #ifndef KEYMAP_DRAWER worked perfectly! Thank you all for the fix


Implement KCP payment method

First, create a request to Adyen:
POST https://checkout-test.adyen.com/v40/payments

{
  "amount":{
    "currency":"KRW",
    "value":1000000
  },
  "reference":"123",
  "paymentMethod":{
    "type":"kcp_creditcard"

  },
  "returnUrl":"https://your-company.com/checkout/",
  "merchantAccount":"CommercetoolsGmbHDE775"
}

Redirect user to the URL in the response.

Not valid anymore with https://github.com/commercetools/commercetools-adyen-integration/releases/tag/v5.0.0, I am closing the issue.


Improved Doc for Cyences v4.1.0

Seems like you created the ransomware branch from this branch. Github auto merged when i merged the ransomware PR. 😅 . I think. It's fine

Ohh I see. I think this is fine but as well, no major change.


KVM-CI: Cleanup before cloning rusty-hermit

I suspect, the reason for recent CI failures is that a KVM-CI-run did not complete and clean up after itself. So why not clean up, before cloning?

bors r+


Option to specify iteration count for PKCS#8

See: https://github.com/openssl/openssl/blob/master/apps/pkcs8.c#L210
PKCS#8 only allows you to set the password iterations to 1, but it doesn't allow you to actively change the iteration count.

fixed here 8a6c6bbf21cc11ea0fed69a106250af0d734d786, no ?

I think so too, so closing.


Add onPress for polygons and polylines on iOS and Android

Adds onPress handlers for polygons and polylines.

On Android, uses the native setOnPolygonClickListener and setOnPolylineClickListener
On iOS, loops overlays in handleMapTap and finds if the tap is inside a polygon, or if the closest polyline is within 10 pixels of the tap.

Oh this is awesome why not merged yet? :)

@felipecsl Hi, can you please take a look? :+1:

Android code looks mostly good, just some nits :+1

Cool, android changes made. Let me know if any iOS changes are needed. I have tested this in my own applications, but not extensively.

android changes look good to me. someone else should review the iOS ones (i cant :))

@felipecsl Thanks you.
not sure who we can ping about the iOS part any ideas?

maybe @spikebrehm can help

@spikebrehm Hi, any chance you can take a look at this? I really need this thing, thank you so much!

Thanks @frankrowe, this looks good!
Can you please update the example app with example usage of this feature?  I'll go ahead and merge now, and if you can please follow up with another PR with the examples, I would appreciate it 🍻.

Great! I will add an example as soon as I can.

@frankrowe it should be used like that?
<MapView.Polygon
   onPress={(e) => {
    console.log(e, 'pressed polygon');
}}/>

I can't make it work for some reason

Hey @voidale yes that is correct usage. I added examples in PR https://github.com/airbnb/react-native-maps/pull/793 can you check if that works?

@frankrowe I'm trying to test this update but I used npm to install the module. Since the npm version hasn't been updated recently I'm assuming the only way to get this upgrade is through installing the module from github?

I installed the update from github(not npm since the version hasn't been updated) and onPress is working on Android. Using Genymotion emulator Android API 23


Can't install futhark

I am getting the following error when trying nimble install futhark. I have also attempted to link to clang directly, and install head version, same result:
Hint:  [Link]
/usr/bin/ld<EMAIL_ADDRESS>in function `toNimType__opir_u191':
@mopir.nim.c:(.text+0x12f1): undefined reference to `clang_Type_getValueType'
collect2: error: ld returned 1 exit status
Error: execution of an external program failed: 'gcc   -o '/tmp/nimble_80717/githubcom_PMunchfuthark_#head/opir'

OS version: Ubuntu 20.04.2 LTS (on WSL2, 64bit)
Nim version: 2.0.2
Clang version: 10.0.0-4ubuntu1

That's a very old version of Clang. Futhark hasn't been tried with anything lower than 15. Also you might need a separate libclang package.


[HUDI-5095] Flink: Stores a special watermark(flag) to identify the c…

Change Logs
Fixed #7098 Hold a event time instance in each write task to evaluate the progress for write data
Impact
No Impact ，User can disable it use config
Risk level (write none, low medium or high below)
low
Documentation Update
No
Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

Please fix checkstyle to pass ci.

@codope  @danny0405  @yuzhaojing @XuQianJin-Stars
all the discussion and check style issues had been fixed and CI passed already

@hudi-bot run azure

@hudi-bot run azure

@hudi-bot run azure

@hudi-bot run azure

Can we fetch the event time through the payload clazz event time field we the HoodieRecordPayload#getInsertValue is invoked ? And we can finalize the max timestamp in the coordinator when commit the metadata.
@danny0405  thanks for your suggestion, it's  import for me
the reason why i think we need implement in this way is :

I think this is a lightweight and common behavior, no matter what type of payload it is used. if we implement this base on payload, it may be limited by payload class between flink and spark/presto eg.
for later we may need to add some metric  for the flink write function eg: processing latency metric , and also need to extract the timestamp from the record
implement base payload may change some code in common module such as modify the HoodieAppendHandler or HoodieMergeHandler


sidecar header does not have proper contrast in patternfly themes

We aren't properly defining the sidecar-header colors for patternfly themes, both light and dark.

current buggy look:

this would be more in line with the other themes:


Node submodules not being published

I think we're failing to release our @googleapis node submodules, see this bug report

This has been fixed as of Friday.


C++: Fix FP for expression SFINAE with decltype

Fixes #2382.
I've checked that the modified query has no results on the project where the FP was found: https://lgtm.com/query/6046279876493370503/

I've added a commit with a similar change in ExprHasNoEffect.ql. Here are the query console results before and after.


Implement a 'repeat while' macro

The repeat while loop from Perl 6 comes in two flavors:
repeat {
    # ...
} while some_condition();

repeat while some_condition() {
    # ...
}

These both have the same semantics (evaluate the condition after each iteration, not before), but they also don't fall under #80, and so they would seem to require some sort of is parsed functionality.

Hm. I wonder if the following use case doesn't indeed push my from being a statement form (like in Python) to being a term (like in Perl 6):
repeat while !valid_command(my command = prompt("> ")) {
    say("Invalid command: ...");
}
# do something reasonable with `command`

I hesitate to complicate the language needlessly, but this arguably mostly moves complexity around. Arguably #199 wouldn't survive such a change, though. (Or would it? Could a multiple-variable my co-exist on the statement level with a single-variable my on the term level? At the very least, it'd introduce some degree of grammar ambiguity.)

Coming back and reading the previous comment more than half a year later, and especially in the face of #279 (seemingly) taking us the other direction, I don't see how just declaring my command; on top of the loop is that arduous. The variable is meant to be used after the loop anyway, so why not just declare it visibly above the loop?

What I really came in here to say is that we should make sure that repeat while works fine with next and last from #325. Which, yes, implies that we have some control flow protocol à la #145.


delete #dev command and allow polls after #unlock

Enabled links preview after #unlock command

@delivrance it seems like it is ok now. check it out


Avoid readonly modifier in Crosshair's HLine and VLine

Feature Suggestion
Feature description: Avoid the readonly modifier in Crosshair public members HLine and VLine, to make them consistent with plottables HLine and VLine.
As shown in #2007, this is actually possible, resulting in lines which are directily user-draggable:
        VLine1 = formsPlot1.Plot.AddVerticalLine(23, Color.Blue);
        VLine1.DragEnabled = true;

        HLine1 = formsPlot1.Plot.AddHorizontalLine(.2, Color.Green);
        HLine1.DragEnabled = true;

However, trying the same with plottable Crosshair doesn't seem to work:
           var crossHair = this.formsPlot1.Plot.AddCrosshair(0, 0);
           crossHair.VerticalLine.DragEnabled = true;
           crossHair.HorizontalLine.DragEnabled = true;    // still, both vertical and horizontal lines can't be user-dragged after this

It seems that plottable Crosshair lines are readonly, preventing them to be modified (i.e. modifying their DragEnable property):
https://github.com/ScottPlot/ScottPlot/blob/13f91b04afe774b4385671a997a987d703866083/src/ScottPlot4/ScottPlot/Plottable/Crosshair.cs#L26-L28
And plottables VLine and HLine are just public, so there's no problem modifying the DragEnable property:
https://github.com/ScottPlot/ScottPlot/blob/13f91b04afe774b4385671a997a987d703866083/src/ScottPlot4/ScottPlot/Plottable/VLine.cs#L13
I don't know what are the reasons for that, but it could be a nice modification in order to make it possible for someone to implement snapping for Crosshair as suggested in #2007 and implemented in #2008 and #2017.

Hi @arthurits, thanks for suggesting this! Sorry for my late reply (#2034)
The lines in question are here
https://github.com/ScottPlot/ScottPlot/blob/e43e1fc4e45c6d35094cc99a0db04dc76c333a2a/src/ScottPlot4/ScottPlot/Plottable/Crosshair.cs#L26-L28

I don't know what are the reasons for that

No strong reason! I'll remove the readonly now, and let me know if it doesn't solve your original issue 👍


Introduce semantic-release for releasing versions

We've already started following AngularJS commit guidelines. Let's move one step further and automate versioning using semantic-release tool.

@tadayosi do you still think it's worth the effort?

@alexkieling Depending on how Hawtio.next will be shaped, it's still good idea to me to consider utilising a tool like semantic-release to ease our future releases.


Possibility to make Kanban (Board) columns persistent

What would you like to be added?
Currently when a column in Board view has no cards/notes in it it will disappear. It would be great to be able to keep columns even when there is no note in that column.
Why is this needed?
I'd like to lay out the board structure before adding notes. Also it happens during the completion of a project that a column is temporarily empty (for example, if I have a column "On hold", but no task is currently on hold). In the moment, in which the column becomes empty it disappears and breaks the Kanban board structure.

If you go to the Table view, click the three dots for the column you're using for your status, and then select Configure field, you can add the columns you want to persists under Options.

Oh thank you, I completely overlooked that! Makes things so much easier, thanks for pointing out.


MSID: 92426 Version: 2 DOI: 10.1101/2<IP_ADDRESS>4346

MSID: 92426
Version: 2
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>4346
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=92426
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>4346

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/92426v2
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>4346
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/92426/v2/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

warn: [mixed-citation-other-publication-flag] mixed-citation in reference (id=c2) has a publication-type='other'. Is that correct?


Roll engine b1779e7d95ea..90fcaff9008e (1 commits)

https://github.com/flutter/engine/compare/b1779e7d95ea...90fcaff9008e
git log b1779e7d95ea812ced2f4993932bdb2325f5a8ba..90fcaff9008e04b71c00cd6ce27ae335c299c8a6 --no-merges --oneline
90fcaff90 Roll src/third_party/skia 2ed90e152d47..33c1b315265c (1 commits) (flutter/engine#7940)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (amirha@google.com), and stop
the roller if necessary.

Auto-roller completed checks. About to merge.


[HUDI-287] Remove LICENSE and NOTICE files in hoodie child modules.

Changes:

Remove LICENSE and NOTICE files in hoodie child modules
Also remove developers and contributor section from pom
Also ensure any failures in validation script is reported appropriately
Make hoodie parent pom consistent with that of its parent apache-21 (https://github.com/apache/maven-apache-parent/blob/apache-21/pom.xml)

Jira: https://jira.apache.org/jira/projects/HUDI/issues/HUDI-287

Did you verify that the files are automatically included into the jar?

Did you verify that the files are automatically included into the jar?

Yes, They are present in the jars.
For e:g:
varadarb-C02SH0P1G8WL:target varadarb$ jar tf hudi-common-0.5.1-SNAPSHOT.jar | grep META-INF
META-INF/
....
META-INF/LICENSE
META-INF/NOTICE
.....


Update the content schemas rake task to build_schemas

The name of the rake task to rebuild the content-schemas has been changed from build to build_schemas when it was moved out of the govuk-content-schemas repo and into the publishing repo

Yes I agree but I'm not sure we have an example to link to just yet 🤔, I started making the changes but couldn't see links to replace all the links we had


PANIC: called Result::unwrap() on an Err value: Could not parse stored DateTime string: 2020-11-27 01:17:30 (input contains invalid characters)

Hi Prisma Team! My Prisma Client just crashed. This is the report:
Versions

Name
Version

Node
v12.18.2

OS
darwin

Prisma Client
2.12.1

Logs
  prisma-client { clientVersion: '2.12.1' }
  plusX Execution permissions of /Users/d/w/lam/gtway/node_modules/.prisma/client/query-engine-darwin are fine
  plusX Execution permissions of /Users/d/w/lam/gtway/node_modules/.prisma/client/query-engine-darwin are fine
  plusX Execution permissions of /Users/d/w/lam/gtway/node_modules/.prisma/client/query-engine-darwin are fine
  plusX Execution permissions of /Users/d/w/lam/gtway/node_modules/.prisma/client/query-engine-darwin are fine

This maybe of interest:
at PrismaClientFetcher.request (/Users/d/w/lam/gtway/node_modules/@prisma/client/runtime/index.js:79363:15)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

Also, this was the table definition in sqlite:
create table users (
    id integer primary key autoincrement,
    ntlogin text,
    name text,
    is_active int default 1,
    is_admin int default 0,
    created_at TIMESTAMP  DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP  DEFAULT CURRENT_TIMESTAMP
);

insert into users(name, ntlogin, is_admin) values ("Kenobi, Obi Wan", "owkenobi", 1);

Also, happy Thanksgiving!

Hi @debdude
Sorry for the late response here.
Thanks for the details, I can reproduce this issue.
Posted a reproduction here: https://github.com/harshit-test-org/prisma-issue-client-941.  We should fix this.

Hi @debdude
Sorry for the late response here.
Thanks for the details, I can reproduce this issue.
Posted a reproduction here: https://github.com/harshit-test-org/prisma-issue-client-941.  We should fix this.


Agent crashes as soon as it joins

https://pastebin.com/j0e5cxCu
It seems like its an issue with memory.py

This will be fixed in next push (v. soon!)

Hi @odm7341 ,
Could you please confirm if our latest push solves your issue?

Hi @odm7341 !
Following up on @snyxan comment above and checking in if our latest commit fixed the issue mentioned.

Yes, I can confirm the the bot no longer crashes

Great, thanks! I'll close the issue then but please feel free to reopen or make a new one if you have more trouble!


[Suggestion] Target Host support hostname entry

Description
Monitor Target Host now only support ipv4, ipv6 and domain name entries.
But in some situations, we only have the hostname of a target, which has no dot in the string.
Can we change the DOMAIN_SCHEMA pattern to support hostnames?
a working regex pattern is ^[-_a-zA-Z0-9.]{0,99}$
i can create a pr if needed
Task List
No response

👍👍 Hi, this is indeed. very welcome help us modify code and submit PR


Why do scripts executed under win fail to produce the directory C: \ tars \ cpp?

C：C:\tars\cpp , 这个是框架编译完, install出来的。cmake —build . —config Release —target install
就会到C:\tars\cpp, 然后就到这个目录下, 执行安装脚本。

It still can't, I tried several times according to the instructions, and then compiled all the exes, which means target install didn't execute.

E：It may be a Windows permission problem. Use the administrator user to open CMD. Otherwise, Disk C will not write.
C：可能是windows权限问题，用管理员用户打开cmd，否则C盘不让写。

Still not. A directory of Disk C has not been generated.

There is a compilation error of demouitl, and other running scripts have not reported an error.

E：That's what caused it. Mask this, do not compile demoutil, and remove "add" subdirectory (utildemo).
C：就是这个引起的。把这个屏蔽掉，不编译demoutil，把"add_subdirectory(UtilDemo)"去掉。


Get dropped item coordinates?

I'm trying to compute the item position when dropping it.
The event object doesn't give me enough info:

How can I do this?

As a work around, I'm tracking mouse position:
useEventListener("mousemove", (event: any) => {
    setMouseCoord({ x: event.clientX, y: event.clientY });
});

Having the item position (not only delta) in the event object would be very helpful


Feature/add malawi holidays

Missing Eid al-Fitr public holiday as the date of Eid depends on the sighting of the moon, there may be variations in the exact date that is celebrated around the world. The announcement of the exact dates of Eid Al-Fitr may not happen until close to the start of Ramadan.

Pull Request Test Coverage Report for Build 909

57 of 57 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 908:
0.0%

Covered Lines:
9184

Relevant Lines:
9184

💛  - Coveralls

Hi @pietervdw115
very good work, thank you very much!
Merging in beta, cheers!


toast notifications for status of changed username/email/password update in /my/settings

Removed svelte-french-toast (I didn't like the way it looked. And figured I could make my own toast component natively that would be easier to use, and more customizable).

Implementing new native toast component where needed...


Voice changes too much

They aren't same person's voice everytime. How to change it to one person's voice instead of a different voice everytime python -m bark --text "Hello, my name is Suno." --output_filename "example.wav"

You need to specify a voice, or a history prompt.
python -m bark --text "Hello, my name is Suno and I am voice 6." --history_prompt 'v2/en_speaker_6' --output_filename "06_example.wav"

@JonathanFly How do I do this in python code. Doe the "geenrate_audio" function have this as an argument?

@PhilipAmadasun There is a parameter you can pass to set the voice.
audio_array = generate_audio("TEXT_PROMPT", history_prompt="v2/en_speaker_6" )
The voices available here.
https://suno-ai.notion.site/8b8e8749ed514b0cbf3f699013548683?v=bc67cff786b04b50b3ceb756fd05f68c

@PhilipAmadasun There is a parameter you can pass to set the voice.
audio_array = generate_audio("TEXT_PROMPT", history_prompt="v2/en_speaker_6" )
The voices available here. https://suno-ai.notion.site/8b8e8749ed514b0cbf3f699013548683?v=bc67cff786b04b50b3ceb756fd05f68c

This is correct, but there are many other voices you can use. You can save any random Bark output as a new voice .npz file and use it in the future.

@JonathanFly Are there parameters to make the model run faster for  real time?


Spreadsheet Updater

Github Issue: [#NUM](add link)
Description
Updated the code for the Hitide spreadsheet updater
Overview of work done

Updated the code to get the data for the newest requirements
Fixed linting and flake8 warnings

Overview of verification done
Executed spreadsheet update locally
PR checklist:

[x] Linted
[x] Updated code
[ ] Updated changelog
[x] Tested changes

See Pull Request Review Checklist for pointers on reviewing this pull request

was there a reason where the naming style was set to camel case?

was there a reason where the naming style was set to camel case?

To be able to make a difference between a method and a variable inside the code by first glance instead of confusing them and taking time to trying to find out where things are coming from.

was there a reason where the naming style was set to camel case?

To be able to make a difference between a function and a variable inside the code by first glance instead of confusing them and taking time to trying to find out where things are coming from. Note: A function's input parameter seems to be covered by the method's naming style instead of the variable's naming style in pylint though...

i see in the pylintrc the naming style was camel case. Thanks for the explanation on why there was a mix of camel case and snake case. Although im not sure this would make the code more readable since its mixed and standard for python is snake case. Even though we may mix it like this other libraries don't.

was there a reason where the naming style was set to camel case?

To be able to make a difference between a function and a variable inside the code by first glance instead of confusing them and taking time to trying to find out where things are coming from. Note: A function's input parameter seems to be covered by the method's naming style instead of the variable's naming style in pylint though...

i see in the pylintrc the naming style was camel case. Thanks for the explanation on why there was a mix of camel case and snake case. Although im not sure this would make the code more readable since its mixed and standard for python is snake case. Even though we may mix it like this other libraries don't.

You are right, I somehow missed it. I will change the camelCases to snake_cases too, so it will be consistent in the code.

@Phoeneix can you pull the latest develop branch into this again and retest everything?
Thanks!


Adding custom Service

Hi, is there a way to add custom service?
The custom URL option works but how to add the custom url as another service?
2.0.8 version on Archlinux

Please refer to issue #41 which covers doing this via the config file. In the next release (hopefully coming soon) it will be built into the GUI which will make it super easy!


Missing error when validating via form options instead of via field

Describe the bug
When using the (Zod) validator on the form options (passing to useForm) instead of using it directly on the field, there is no entry in the errors/touchedErrors array.
Works (directly on field)

Doesn't work (passing to useForm)

Your minimal, reproducible example
https://codesandbox.io/p/devbox/nifty-voice-rzmgm9?file=%2Fsrc%2Findex.tsx
Steps to reproduce
There are two forms in the repro example.
The first form uses a validator on the form.Field. Everything works as expected.
The second form uses a validator on the form options. Now, there is no error.
Expected behavior
Validation errors are put on the errors/touchedErrors field, no matter where validation took place.
How often does this bug happen?
Every time
Screenshots or Videos
No response
Platform

TanStack Form adapter
react-form
TanStack Form version
v0.19.1
TypeScript version
v5.4.5
Additional context
No response

Away from a computer right now. Are you checking against the field errors or the form errors. This is a bit confusing, but form validation like this doesn't set field errors, it sets form errors

Are you checking against the field errors or the form errors.

Yep, was using the FieldInfo helper from the examples.

it sets form errors

You're right, the validation message exists on field.form.state.errors, thanks!

This is a bit confusing

I have to agree that this is confusing, as one would always need to look for multiple places.
Also, it seems that the form has no touchedErrors like a Field has?
Helper component for reference:
function FieldInfo({ field }: { field: FieldApi<any, any, any, any> }) {
  // This is empty when using the "form" validator (but not for the "field" validator)
  console.log("field touchedErrors", field.state.meta.touchedErrors);
  // ...but not empty for the form's `errors`
  console.log("form errors", field.form.state.errors);
  return (
    <>
      {field.state.meta.touchedErrors.length === 0 ? (
        "No errors"
      ) : field.state.meta.touchedErrors ? (
        <em>{field.state.meta.touchedErrors}</em>
      ) : null}
    </>
  );
}

FWIW we're actually planning on removing touchedErrors 😅
Also, we're gonna make the story of form->field validation easier here:
https://github.com/TanStack/form/pull/656
Closing as both are a WIP, but thanks for the feedback and detailed report 😇


roswell: <IP_ADDRESS> -> 24.10.115

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/roswell/versions.
meta.description for roswell is: Lisp implementation installer/manager and launcher
meta.homepage for roswell is: https://github.com/roswell/roswell
meta.changelog for roswell is: https://github.com/roswell/roswell/blob/v24.10.115/ChangeLog
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 24.10.115 with grep in /nix/store/clwvg1sqrv8hki947r2kpdy1p9wjl58x-roswell-24.10.115
found 24.10.115 in filename of file in /nix/store/clwvg1sqrv8hki947r2kpdy1p9wjl58x-roswell-24.10.115

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

roswell

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/clwvg1sqrv8hki947r2kpdy1p9wjl58x-roswell-24.10.115 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A roswell https://github.com/r-ryantm/nixpkgs/archive/3560ef60c04fb3c6c70f42fc55c7b50d72091a68.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/3560ef60c04fb3c6c70f42fc55c7b50d72091a68#roswell

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/clwvg1sqrv8hki947r2kpdy1p9wjl58x-roswell-24.10.115
ls -la /nix/store/clwvg1sqrv8hki947r2kpdy1p9wjl58x-roswell-24.10.115/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 1 package built:

roswell

Maintainer pings
cc @vale981 for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

@NixOS/nixpkgs-merge-bot merge

haha i see :)
looks good to me!

@SuperSandro2000 this is good to merge


[BEAM-2103] Documenting Python 3 support

Document Python 3 support in Beam starting from 2.14.0

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Closing this PR because it picked up my Java catalog changes. Opening a new one on a clean branch.


Make Git.remote and Git.revision mandatory fields.

Is your feature request related to a problem? Please describe.
Some optional fields should be mandatory and vice versa.
Describe the solution you'd like
export type CiEnvironment = {
  name: string
  url: string
  buildNumber: string
  git?: Git
}

export type Git = {
  remote: string
  revision: string
  branch?: string
  tag?: string
}

If remote or revision cannot be determined, don't create a Git object at all. Those two fields are the bare minimum for useful git information.

WDYT @davidjgoss @aurelien-reeves

I agree with this proposition 👍


fix: missing constraint components

I missed some constraint components in the original merge request, and the tests were passing misleadingly since I forget to add comparing constraint components in the __eq__ function.
This also makes it so a node can have multiple constraint components. This is needed for the constraint components for minCount and maxCount and also for qualifiedValueShape constraint components. The MinLengthConstraintComponent, MaxLengthConstraintComponent and the Min/MaxExclusive/InclusiveConstraintComponents are now also inside the constraint component attribute for consistency.

The reason why we include the constraint component information in the slsparser is because we want to:

be able to generate a validation report based on the information from the SANode tree
accurately recreate the original shapes graph (or as good as is possible/needed)
In general, we want to have information about which constraint components were actually used in the shapes graph (in comparison to what is "logically" used according to the SANode tree).

My remark is: maybe we should be careful with the constraint components used in the (qualified)min/maxcount case. Only add mincount if it was used, only add maxcount if it was used etc. For example, if maxcount was not used in the shapesgraph, there is no need to mention maxcountconstraintcomponent in the SANode. Do you agree?
This is not critical for now, it has not much impact and is probably a hassle to add properly. But I will make a note on it anyway, if you agree.

I agree with you. After thinking about this again I realized for my use case it would be nice to know if a maxCount is truly in the original shapes graph or not, so I'll go quickly do that.


feat(ui): show association error in association dialog

Fixes #3801

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3899

Relevant Lines:
19672

💛  - Coveralls

Supersided by #3804


spent field in the /txs/utxo endpoint

We would like to introduce a new field in the /txs/utxo in the outputs, something like spent: null if unspent or spent: 39b034e60e9f16ecd5ceaafac4584c4908816233e431d871a519331ab2e96c3f#0 if spent.

just a nitpick, we could do the parsing instead of leaving it to the devs
spent: {
   tx_hash: string;
   output_index: number;
}

I would go with consumed_by_tx, similar to a field named in cardano-db-sync when tx_out.consumed feature is enabled, completely omitting the index due to performance and since refering to input indices is not really common. If really needed one can find it by looking up the referred spending tx.
Now this can be implemented in two ways

simply using the consumed_by_tx field available when insert options has tx_out.consumed (we already require custom insert options due to TX CBOR endpoint, I think this needs docs entry)
using a slower subquery

(
    SELECT txs.hash
    FROM tx txs
    JOIN tx_in txis ON (txis.tx_in_id = txs.id AND txis.tx_out_index = txo.index AND txis.tx_out_id = txo.tx_id)
)  AS "consumed_by_tx"
-- where txo is used as part of the main query

I would also keep this as null for collateral UTxOs as it's not quite clear how that should be implemented nor it is tracked by db-sync similar to consumed_by_tx field.


Feature - Callback OnFieldUnmarshalled

Hi,
I am trying to create a parser for flat models where I keep track of unmarshalled columns.
My first approach wast to use iterator but it has a + 500 - 600 ns overhead.
After that i tried Decoder and the overhead dropped.
I am not happy with the performance as it is 5x slower than just decoding.
Is there any possibility to extend Decoder so each time it decodes a property it sends back the name of that property?

Do you call iter.ReadMapCB to get every field's name string of your struct while parsing? I think that's the only way to get the field's name string while parsing. Maybe you can try Any.Keys(), though I don't think it will be faster than using iterator directly.

@AllenX2018  thanks for the reply
The code that uses the Iterator is slower.
Here is a sample of it
it := jsoniter.Parse(jsoniter.ConfigDefault, r.Body, 64)
	if it.Error != nil {
		return nil, it.Error
	}

	bindingMap := bindingMaps[t.Type()]
	columns := make([]string, 0, len(bindingMap))
	key := it.ReadObject()
	if it.Error != nil {
		return nil, it.Error
	}

	for key != "" {
		valType := it.WhatIsNext()
		if valType == jsoniter.ObjectValue || valType == jsoniter.ArrayValue {
			return nil, errors.New("ParseModel supports only flat object model")
		}

		fIndex, ok := bindingMap[key]
		if !ok {
			return nil, errors.New("could not bind to model: key " + key)
		}

		it.ReadVal(t.Field(fIndex).Addr().Interface())
		if it.Error != nil {
			return nil, errors.New("could not bind to model")
		}

		columns = append(columns, key)

		key = it.ReadObject()
		if it.Error != nil {
			return nil, it.Error
		}
	}

	return columns, nil

The version with decoder first unmarshalls into map[string]jsoniter.RawMessage then iterates the map to unmarshall each field. Maybe this happens because the number of properties is too small (I am testing with 2 properties)

I run some benchmark between using iterator and decoder according to your description, you can check the test case on https://play.golang.org/p/3QKtzFv4sCK. In my environment, it didn't show that using decoder is faster:
BenchmarkIterator-12             2485971               485 ns/op             336 B/op          8 allocs/op
BenchmarkDecoder-12               923878              1289 ns/op            1360 B/op         18 allocs/op

@AllenX2018 Thanks for your time. My aim was to test only a method in a http handler and due to inexperience I am doing it wrong
//Benchmark test before when decoder was fast
handler := func(w http.ResponseWriter, r *http.Request) {
		for i := 0; i < b.N; i++ {
			bop := New(w, r)
			var m model
			bop.ParseModel(&m)
		}
	}

//New way of testing where iterator is faster
for i := 0; i < b.N; i++ {
		r := httptest.NewRequest("POST", "http://example.com/foo", bytes.NewReader(json))
		r.Header.Add("Content-Type", "application/json")
		r.Header.Add("Content-Length", strconv.Itoa(len(json)))

		w := httptest.NewRecorder()
		handler(w, r)
}

Is there any way to test just the block inside handler?

I am closing this as it seems that testing was not correct.
Thanks again for your time @AllenX2018


A simple Container Source for Apache Kafka

adding a simple Kafka source, that is exectured via the Container Source

A general comment - would it make sense to make this an optionally transactional source? Sarama seems to expose Kafka transactions.

mind taking a look, @dubee @nak3 @yuzisun

plan is to close #148
Based on this simple SRC the idea is to turn that into a full
CRD/controller, w/ kubebuilder (like all others), instead of operator sdk
For now this would be a first source for Kafka, directly from this
community
On Wed 13. Mar 2019 at 20:25, James Dubee<EMAIL_ADDRESS>wrote:

@dubee commented on this pull request.
In
contrib/kafka-container-source/samples/sources_v1alpha2_kafka_container_source.yaml
https://github.com/knative/eventing-sources/pull/246#discussion_r265294705
:

@@ -0,0 +1,14 @@
+apiVersion: sources.eventing.knative.dev/v1alpha1
+kind: ContainerSource
+metadata:

name: my-kafka-source
+spec:
image: github.com/knative/eventing-sources/contrib/kafka-container-source/cmd
args:

'--bootstrap=kafkabroker.kafka:9092'

Curious about the args here. Seems the other event sources have custom
defined labels for arguments instead of using the args field.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/knative/eventing-sources/pull/246#pullrequestreview-214165241,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJnzqWDrK5Qm-uhkq3vIWzKli1TQjKdks5vWVC6gaJpZM4brXx4
.

--
Sent from Gmail Mobile

which one wins? https://github.com/knative/eventing-sources/pull/148

this ;-)
Simon will close his.
On Wed 13. Mar 2019 at 21:44, Scott Nichols<EMAIL_ADDRESS>wrote:

which one wins? #148
https://github.com/knative/eventing-sources/pull/148
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/knative/eventing-sources/pull/246#issuecomment-472594491,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJnztWbX24BlCWgW0nzTPxArPekwgK2ks5vWWDrgaJpZM4brXx4
.

--
Sent from Gmail Mobile

@matzew lgtm :thumbsup:

How did you test it? I have deployed my-kafka-source and it seems to work but I see no events or logs?
$ k logs my-kafka-source1-nfhkk-64f6b4544b-ghmsr
Error from server (BadRequest): a container name must be specified for pod my-kafka-source1-nfhkk-64f6b4544b-ghmsr, choose one of: [source istio-proxy] or one of the init containers: [istio-init]
$ k logs my-kafka-source1-nfhkk-64f6b4544b-ghmsr  -c source
$

I tried to use dumper sink from contrib/gcppubsub but I may be missing something about sink setup and allowing egress to Kafka broker? My setup files are in  https://github.com/aslom/knative-kafka-source

How did you test it? I have deployed my-kafka-source and it seems to work but I see no events or logs?
$ k logs my-kafka-source1-nfhkk-64f6b4544b-ghmsr
Error from server (BadRequest): a container name must be specified for pod my-kafka-source1-nfhkk-64f6b4544b-ghmsr, choose one of: [source istio-proxy] or one of the init containers: [istio-init]
$ k logs my-kafka-source1-nfhkk-64f6b4544b-ghmsr  -c source
$

I tried to use dumper sink from contrib/gcppubsub but I may be missing something about sink setup and allowing egress to Kafka broker? My setup files are in https://github.com/aslom/knative-kafka-source

Hmm, looks like you only have a source named istio-proxy and container named istio-init running in that pod.
Here's what I get:
$ kubectl get pods
NAME                                           READY     STATUS    RESTARTS   AGE
test-kafkaeventsource-ntppc-6fb4c9c6d5-s2h4d   1/1       Running   0          43h

$ kubectl logs test-kafkaeventsource-ntppc-6fb4c9c6d5-s2h4d
2019/03/13 20:42:10 Received {"msg": "This is a test<PHONE_NUMBER>"}

Right,  I am doing tests like:
oc logs -f my-kafka-source-XXX-XXXXXXX-XXXX -c source

@n3wscott I've updated the source to use the 0.4.0 API for CloudEvents. Nice job there, btw.
Also, the #148 has been closed - so, this is ready to go in :wink:

@dubee There is component 'source' and I used '-c source'
Any suggestions how I can debug it - what can I check?

I can see those errors - how can I see what is causing it? Can I get logs for how .yaml file is processed.

@aslom it works here ...
do you get messages in the linked dumper ?
do you have access to the kakfa, from the source

@aslom you have a bug:
Sink:
  API Version:  eventing.knative.dev/v1alpha1
  Kind:         Service
  Name:         message-dumper1
Spec:

Channel ... or the API Version should be serving...

I was trying to figure out what is source of errors and looked into
k logs -f controller-manager-0 -n knative-sources

but I could not figure out what I am doing wrong with yaml file
https://github.com/aslom/knative-kafka-source/blob/master/sources_v1alpha2_kafka_container_source2.yaml
that I am getting that security error:
{"level":"warn","ts":1552673064.7327013,"logger":"fallback","caller":"sdk/reconciler.go:75","msg":"Failed to reconcile &TypeMeta{Kind:,APIVersion:,}: services \"message-dumper1\" is forbidden: User \"system:serviceaccount:knative-sources:controller-manager\" cannot get resource \"services\" in API group \"\" in the namespace \"default\""}

complete log https://github.com/aslom/knative-kafka-source/blob/master/controller-log1.txt

@aslom for "source to service" (instead of channel (and subscription to a channel, via service), do this:
apiVersion: sources.eventing.knative.dev/v1alpha1
kind: ContainerSource
metadata:
  name: my-kafka-source
spec:
  image: quay.io/redhatdemo/kafka-src
  args:
    - '--bootstrap=my-cluster-kafka-bootstrap.myproject.svc.cluster.local:9092'
    - '--topic=my-topic'
    - '--groupId=foobar'
  sink:
    apiVersion: serving.knative.dev/v1alpha1
    kind: Service
    name: message-dumper

NOTE: the api version, on the sink

@matzew I used your configuration to cusotme to my kafka broker:
https://github.com/aslom/knative-kafka-source/blob/master/kafka-source3.yaml
and I could see messages in logs :)
 k logs my-kafka-source3-bqq2c-54cd746549-gzh9n -c source
2019/03/15 18:38:11 Received Test1
2019/03/15 18:38:11 Received Test3
2019/03/15 18:38:11 Received Test4
2019/03/15 18:38:11 Received Test5
2019/03/15 18:38:11 Received Test7
2019/03/15 18:38:11 Received Test8
2019/03/15 18:38:11 Received Test9
2019/03/15 18:38:11 Received Test10

I still see errors but it seems that kafka-source container is created using your image:
$ k describe containersource.sources.eventing.knative.dev/my-kafka-source3
Name:         my-kafka-source3
Namespace:    default
Labels:       <none>
Annotations:  kubectl.kubernetes.io/last-applied-configuration:
                {"apiVersion":"sources.eventing.knative.dev/v1alpha1","kind":"ContainerSource","metadata":{"annotations":{},"name":"my-kafka-source3","nam...
API Version:  sources.eventing.knative.dev/v1alpha1
Kind:         ContainerSource
Metadata:
  Creation Timestamp:  2019-03-15T18:37:28Z
  Generation:          1
  Resource Version:    1038319
  Self Link:           /apis/sources.eventing.knative.dev/v1alpha1/namespaces/default/containersources/my-kafka-source3
  UID:                 628e4b3b-4751-11e9-9b4c-6a1a8c1e2bee
Spec:
  Args:
    --bootstrap=<IP_ADDRESS>:9092
    --topic=test
    --groupId=foobar
  Image:  quay.io/redhatdemo/kafka-src
  Sink:
    API Version:  serving.knative.dev/v1alpha1
    Kind:         Service
    Name:         message-dumper
Status:
  Conditions:
    Last Transition Time:  2019-03-15T18:37:41Z
    Severity:              Error
    Status:                True
    Type:                  Deployed
    Last Transition Time:  2019-03-15T18:37:41Z
    Severity:              Error
    Status:                True
    Type:                  Ready
    Last Transition Time:  2019-03-15T18:37:28Z
    Severity:              Error
    Status:                True
    Type:                  SinkProvided
  Sink Uri:                http://message-dumper.default.svc.cluster.local/
Events:
  Type    Reason    Age   From                         Message
  ----    ------    ----  ----                         -------
  Normal  Deployed  20s   container-source-controller  Created deployment "my-kafka-source3-bqq2c"

Do you know what is meaning of those errors? Or I should treat it as log messages with 'Severity:              Error' ?!

@aslom I think all is good

@matzew could you point to documentation/examples how to see events coming form kafka event source?
Do you use message dumper (or anything like that ) with kafka-source? I have tried commented out version of yaml:
apiVersion: serving.knative.dev/v1alpha1
kind: Service
metadata:
  name: message-dumper1
  namespace: default
spec:
  runLatest:
    configuration:
      revisionTemplate:
        spec:
          container:
            image: github.com/knative/eventing-sources/cmd/message_dumper

but I am getting this cryptic error sink does not contain address?
{"level":"warn","ts":1552680010.971433,"logger":"fallback","caller":"sdk/reconciler.go:75","msg":"Failed to reconcile &TypeMeta{Kind:,APIVersion:,}: sink \"default/message-dumper1\" (serving.knative.dev/v1alpha1, Kind=Service) does not contain address"}

The yaml used, commands and controller logs I am getting:
https://github.com/aslom/knative-kafka-source/blob/master/dumper1a.yaml
https://github.com/aslom/knative-kafka-source/blob/master/apply-log5.txt
https://github.com/aslom/knative-kafka-source/blob/master/controller-log5.txt
Or should I use channel as it is in sample yaml?
  sink:
    apiVersion: eventing.knative.dev/v1alpha1
    kind: Channel
    name: testchannel

And then connect message dumper to testchannel?
Or try to use event display? https://github.com/knative/eventing-sources/pull/249
(not sure how to apply one PR on top of another ...)

here is my SVC:
https://gist.githubusercontent.com/matzew/63fbc95c358b59e9db8fce256c605189/raw/6bc665def95ef279b9ff89936892af9a8b218069/ksvc.yaml
and here is the SRC->SVC link:
https://gist.githubusercontent.com/matzew/85c84146fcc045c154f221e1b6233859/raw/6b52f7e0bcc3a31adc78a2fd67c1053c820f2ab9/src_svc.yaml
I than do
 oc logs -f message-dumper-00001-deployment-65d9759c8b-4mzjv -c user-container

and see the events in the dumper.

once this is in, @aslom I will update the knative/docs repo with a detailed tutorial

using #249 from @n3wscott is a good idea for the docs repo, thanks @aslom

@matzew I have used your .yaml and your docker images but I am not able to get it running.
I think it may be because it missing revisions? Should I deploy additional .yaml files for message-dumper?
Status:
  Conditions:
    Last Transition Time:        2019-03-15T23:33:43Z
    Status:                      Unknown
    Type:                        ConfigurationsReady
    Last Transition Time:        2019-03-15T23:33:43Z
    Message:                     Configuration "message-dumper8" is waiting for a Revision to become ready.
    Reason:                      RevisionMissing
    Status:                      Unknown
    Type:                        Ready
    Last Transition Time:        2019-03-15T23:33:43Z
    Message:                     Configuration "message-dumper8" is waiting for a Revision to become ready.
    Reason:                      RevisionMissing
    Status:                      Unknown
    Type:                        RoutesReady
  Latest Created Revision Name:  message-dumper8-cpx5h
  Observed Generation:           1
Events:
  Type     Reason        Age                From                Message
  ----     ------        ----               ----                -------
  Normal   Created       23s                service-controller  Created Configuration "message-dumper8"
  Normal   Created       23s                service-controller  Created Route "message-dumper8"
  Normal   Updated       23s (x3 over 23s)  service-controller  Updated Service "message-dumper8"
  Warning  UpdateFailed  23s                service-controller  Failed to update status for Service "message-dumper8": Operation cannot be fulfilled on services.serving.knative.dev "message-dumper8": the object has been modified; please apply your changes to the latest version and try again

and in controller logs still getting 'sink "default/message-dumper8" (serving.knative.dev/v1alpha1, Kind=Service) does not contain address' - I have no idea what that means ...
{"level":"info","ts":1552692922.2316618,"logger":"fallback","caller":"sdk/reconciler.go:52","msg":"Reconciling &TypeMeta{Kind:,APIVersion:,} default/my-kafka-source8"}
{"level":"warn","ts":1552692922.2416136,"logger":"fallback","caller":"sdk/reconciler.go:75","msg":"Failed to reconcile &TypeMeta{Kind:,APIVersion:,}: sink \"default/message-dumper8\" (serving.knative.dev/v1alpha1, Kind=Service) does not contain address"}

Here are logs and config files I used:
https://github.com/aslom/knative-kafka-source/blob/master/dumper8.yaml
https://github.com/aslom/knative-kafka-source/blob/master/kafka-source8.yaml
https://github.com/aslom/knative-kafka-source/blob/master/apply-log8.txt
https://github.com/aslom/knative-kafka-source/blob/master/controller-log8.txt

@aslom I am not sure what's wrong on your cluster.
I've also tried w/ the event-display from @n3wscott and did a ko apply -f on his branch...
see: https://github.com/knative/eventing-sources/pull/249#issuecomment-473511903
it all works very nicely and fine

Thanks @matzew for your help. I will ask in slack channel and/or knative-dev mailing list

@dubee now with the #264 should we still leave this open? Would have loved to work together on a controller for a source ;-)

@aslom, I was thinking why the k8s api server didn't catch the incorrect API version in
API Version:  eventing.knative.dev/v1alpha1
Kind:         Service
and this might be the reason: validation of custom objects was added in k8s 1.13 https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/#validation, and can be disabled.

I fav. of working on #264, I am closing this ...


Documentation/manual/internal small fix: correct code snippet by removing Kotlin's val

Coverage remained the same at 85.259% when pulling ea565f540da95d1a9efe5afc812e7b03440e67ff on baronlior:master into 30f5cfe1bc9e86c12a78037400fabc509524f940 on dropwizard:master.


Not compatible with Unity 2018.1.6+

It's sad this is not compatible with Unity 2018.1.6+ as this requires DirectX9 and that version of Unity supports DirectX11 only. Will this asset still be updated? While the screen effects still work, I am experiencing white squarish flashing lights with this asset enabled.
Edit: I checked and disabled Bloom in Post Processing and it seemed to work again.

Thanks for your report.
This asset isn't currently updating due to I'm busy on my academic works.
However, I shall update for Unity 2018+ in the near future.

Hello. Do you plan an update for Unity 2019?

HDRP?


lavapack: Deprecate global,self as aliases for globalThis

Follow-up to #459, which did the corresponding change in core.

Updated to address potentially unaccounted for cases


Derivatives?

Thank you for your excellent works!
I searched and it seems Zernike derivatives have not yet been implemented. Any plans for that, or which part of the code could you suggest to modify for that purpose?
Thanks,
WDC

Hi! Yes, that'd be a useful feature. But at the moment I have no plans / time for it. There isn't support for that in the code. I guess the derivatives / integrals can themselves be expanded in Zernike coefficients. So some methods should be added that compute the vector of Zernike coefficients for the derivative out of a given vector of the coefficients of the original function to derive. Something like (zc_dx, zc_dy) = rzern.derivative(zc).

Thank you for the reply! That is exactly how I ended up with.
Based on your code, I have implemented a derivative version for the real Zernike case. The idea is to have additional functions that:

dZk_dr(): Computes the derivatives of Zk w.r.t. rho, which involves derivatives of radial() function.
dZk_dtheta(): Computes the derivaives of Zk w.r.t.  theta, which involves derivatives of angular() function.
Combine dZk_dr and dZk_dtheta in a chain-rule sensoe to complish the full derivatives w.r.t. x and y.

I will likely submit a PR in near future when I have time to test it thoroughly ...

@realWDC could you please share the above.
@jacopoantonello @realWDC also is there an existing implementation to compute the Curvature at a given point?
Thanks!

@realWDC could you please share the above.
@jacopoantonello @realWDC also is there an existing implementation to compute the Curvature at a given point?
Thanks!


[Doc Improvement][Document localization schema v1.17]

Documents v1.17 of the localization schema.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/resources/schema/localization-schema.md
99
3
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/resources/schema/localization-schema.md
99
3
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

@surbhigupta12 as this is simply a reflection of the already approved/published v1.17 loc schema, could we move forward with publishing? (I verified that it matches the schema XPaths and limits.) Thanks!

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/resources/schema/localization-schema.md
99
3
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/resources/schema/localization-schema.md
99
4
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/resources/schema/localization-schema.md
99
4
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/resources/schema/localization-schema.md
99
4
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.


Include test folder in CODEOWNERS

Include test folder in CODEOWNERS

This is an additional update linked to #29.


set version to 2.2.2

in order to publish a new version.

Codecov Report

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

@@           Coverage Diff           @@
##           master     #110   +/-   ##
=======================================
  Coverage   90.22%   90.22%
=======================================
  Files          12       12
  Lines         174      174
  Branches        7        7
=======================================
  Hits          157      157
  Misses         17       17

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 510447b...be8c211. Read the comment docs.

👍

:+1:


ISPN-10884 Expose indexing/querying operations and stats for a cache

https://issues.jboss.org/browse/ISPN-10884
:beetle:  plus a required bug fix:

https://issues.jboss.org/browse/ISPN-10930

:hammer: and the also required MassIndexer changes:

https://issues.jboss.org/browse/ISPN-10932
https://issues.jboss.org/browse/ISPN-10933

:bulb:  Suggestion for review: per JIRA

There is one related test failure, looking...

Should be fine now

I have created https://issues.jboss.org/browse/ISPN-10953 to add support in the CLI

@gustavonalle conflict

rebased @tristantarrant

There is one test failure I need to fix, wait a bit before integrating

I don't think the issue is caused by changes in this PR. A Cache manager took 5min to stop and it was killed:
java.lang.RuntimeException: Test timed out after 300 seconds
	at java.base@11.0.3/jdk.internal.misc.Unsafe.park(Native Method)
	at java.base@11.0.3/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
	at java.base@11.0.3/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081)
	at app//org.jgroups.protocols.pbcast.ViewHandler.waitUntilComplete(ViewHandler.java:100)
	at app//org.jgroups.protocols.pbcast.CoordGmsImpl.leave(CoordGmsImpl.java:50)
	at app//org.jgroups.protocols.pbcast.GMS.down(GMS.java:1054)
	at app//org.jgroups.protocols.tom.TOA.down(TOA.java:80)
	at app//org.jgroups.protocols.FlowControl.down(FlowControl.java:295)
	at app//org.jgroups.protocols.FlowControl.down(FlowControl.java:295)
	at app//org.jgroups.protocols.FRAG3.down(FRAG3.java:135)
	at app//org.jgroups.stack.ProtocolStack.down(ProtocolStack.java:928)
	at app//org.jgroups.JChannel.down(JChannel.java:627)
	at app//org.jgroups.JChannel.disconnect(JChannel.java:428)
	at app//org.infinispan.remoting.transport.jgroups.JGroupsTransport.stop(JGroupsTransport.java:762)

Maybe @danberindei is familiar with this issue?

In any case, the PR is good to go

@gustavonalle the test thread is waiting for the GMS monitor, which is held by this thread:
"jgroups-8,ManualIndexingTest-NodeA-39509" #4798 prio=5 os_prio=0 cpu=5.68ms elapsed=302.98s tid=0x00007fd1d89e9000 nid=0x5bdc waiting on condition  [0x00007fd1531f4000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at<EMAIL_ADDRESS>Method)
	- parking to wait for  <0x00000000c160eeb0> (a java.util.concurrent.CompletableFuture$Signaller)
	at java.util.concurrent.locks.LockSupport.parkNanos(java.base@11.0.3/LockSupport.java:234)
        ...
	at org.infinispan.util.concurrent.CompletionStages.join(CompletionStages.java:73)
	at org.infinispan.remoting.transport.jgroups.JGroupsTransport.receiveClusterView(JGroupsTransport.java:722)
	at org.infinispan.remoting.transport.jgroups.JGroupsTransport$ChannelCallbacks.up(JGroupsTransport.java:1448)

@wburns looks a lot like https://issues.jboss.org/browse/ISPN-10915

That should no longer possible since we throw a different exception now (it would have propagated a NPE instead) https://github.com/infinispan/infinispan/commit/36b4be126c394eaf37cb09aa2a4e933cc1cedf48.

oh well you copied the stack trace :P

I forgot to add a stack trace to the JIRA when I created it, but the stack trace is from https://ci.infinispan.org/job/Infinispan/job/PR-7579/5/artifact/query/ :)


Handle metadata and metadata filtering, better handle configuration

Now one can set :metadata and :metadata_filter configuration options. This will allow for instance to push only certain logs to CloudWatch based on metadata.
For instance with this configuration
config :logger,
  backends: [{CloudWatch, :cloud}]

config :logger, :cloud,
  log_group_name: "group",
  log_stream_name: "stream",
  metadata: [:m1, :m2],
  metadata_filter: [m3: 123]

only log messages with metadata :m3 set to 123 will be sent to CloudWatch. Since :m3 is not present in the :metadata list its value will not be included in resulting log message.
I changed a little bit how the configuration is taken (see the updated README) allowing multiple configurations.
The code is largely inspired by https://github.com/onkel-dirtus/logger_file_backend
I also add .formatter.exs and formatted the code if you don't want to include the formatting change or have it in a separate PR I can remove the commit or split PRs.

Hi @albertored,
Thank you very much for you contribution! I have set some time aside tomorrow to review and test your changes. I will keep you posted!
One thing I noticed from a quick glance is that the changes do not appear to be backwards compatible with the current configuration. Is it possible to support both formats? If that's a lot of work, I'm fine with bumping the major, but if we can keep it backwards compatible, that would be very nice.
Thanks again!

Hi @lboekhorst, the configuration is already backward compatible with the current one, I just modified the README to make it more clear about this point, the first version was indeed misleading.
Thanks!

All done. I added the last elixir version in travis.yml since formatter was not present in version 1.5

Perfect, thanks!
Il mer 15 mag 2019, 08:34 Laurens Boekhorst<EMAIL_ADDRESS>ha
scritto:

Merged #12 https://github.com/lboekhorst/cloud_watch/pull/12 into
master.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/lboekhorst/cloud_watch/pull/12?email_source=notifications&email_token=ABLDQOBTGWLZUH6VELBHCJTPVOVHDA5CNFSM4HMENOYKYY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGORONZL7Y#event-2342229503,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABLDQOBR5LA56H7U22LKTJTPVOVHDANCNFSM4HMENOYA
.


Etcd connectivity from outside kubernetes

I would like to be able to allow etcd clients running outside of kubernetes to access the service.
Version: v0.2.5
I don't believe this is currently possible since clients will be asked to resolve a dns entry provided by the servers which is not available outside of Kubernetes.
I first mentioned this issue here: https://github.com/coreos/etcd-operator/issues/964.

etcdctl --endpoints $ETCDCTL_ENDPOINTS ls
Error:  client: etcd cluster is unavailable or misconfigured; error #0: dial tcp: lookup optest1-0002.optest1.optest1.svc.cluster.local on <IP_ADDRESS>:53: no such host
; error #1: dial tcp: lookup optest1-0000.optest1.optest1.svc.cluster.local on <IP_ADDRESS>:53: no such host
; error #2: dial tcp: lookup optest1-0001.optest1.optest1.svc.cluster.local on <IP_ADDRESS>:53: no such host
error #0: dial tcp: lookup optest1-0002.optest1.optest1.svc.cluster.local on <IP_ADDRESS>:53: no such host
error #1: dial tcp: lookup optest1-0000.optest1.optest1.svc.cluster.local on <IP_ADDRESS>:53: no such host
error #2: dial tcp: lookup optest1-0001.optest1.optest1.svc.cluster.local on <IP_ADDRESS>:53: no such host

I would like to be able to allow etcd clients running outside of kubernetes to access the service.

do you think creating an kubernetes service with external lb will solve your problem? you can configure it yourself. we could write up a doc about how to fill in the label selector in the service.

I've edited the ${clusterName}-client to be a load balancer instead of ClusterIP, and that allows curl to work with the service perfectly.  However with etcdctl or confd, the servers provide a clientUrl, which the clients use to talk to the servers individually.  Since this clientUrl is not resolvable, the client process dies, see details above.  Ideally I would like to be able to provide a real domain to etcd-operator to use as the clientUrl on each server.

I've edited the ${clusterName}-client service to be "LoadBalancer" instead of "ClusterIP", and that allows curl to work with the service perfectly. However with etcdctl or confd, the servers provide a clientUrl, which the clients use to talk to the servers individually. Since this clientUrl is not resolvable, the client process dies, see details above.

You can configure etcdctl to not sync with the clusters to update its clientURLs. It should solve the problem. When you use any sort of LB, you should not sync with etcd's clientURLs.

Ideally I would like to be able to provide a real domain to etcd-operator to use as the clientUrl on each server.

Can you give me an example? maybe a step by step configuration you would like to see?

Cool, so the main reason I needed this was for confd, which looks like they have fixed this no-sync issue in 0.12.0: https://github.com/kelseyhightower/confd/pull/329#issuecomment-186081714.
I'm sure a doc on creating an external service would be useful.
Many thanks.


Opt token are digits, not integers

Indeed, generated tokens can start with '0'. If we use an IntegerField into the form, the 0 will desapear and the value becomes invalid
Description

Replace the IntergerField by RegexField for otp_token into AuthenticationTokenForm
Motivation and Context

generated tokens can start with '0'. If we use an IntegerField into the form, the 0 will desapear and the value becomes invalid
How Has This Been Tested?
Manual test: Tested by entering valid tokens starting with '0' and invalid tokens (alpha, length< totp_digits, length> totp_digits, ...)
Screenshots (if appropriate):
Types of changes

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

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

I'm not convinced that this is a bug - the number of required digits is static as I understand it. For example, a TOTP device/app will always return the same number of digits meaning there's no difference between int('0072') and int(72).

@moggers87 you're probably right but user complains that when they receive a generated token starting with '0', the '0' is removed when the form is submitted and the validation fails for the given token.

I think that with this change, mobile devices won't show the on-screen number keyboard.

@lmignon ah, sorry I misunderstood what the issue was.
I've not tested this claim, but according to this stackoverflow answer it's possible to convince mobile browsers to only display the number pad on a text field using the pattern attribute. Does the RegexField populate that attribute or is it just a backend check?

@moggers87

Does the RegexField populate that attribute or is it just a backend check?

Yes It's just a backend check.

The referenced answer from SO works as advertised on my iPhone. Not sure about Android, can anyone verify this?
I've updated the code according to this:
    otp_token = forms.RegexField(label=_("Token"),
                                 regex=r'^[0-9]*$',
                                 min_length=totp_digits(),
                                 max_length=totp_digits())
    otp_token.widget.attrs.update({
        'autofocus': 'autofocus',
        'pattern': '[0-9]*', # hint to show numeric keyboard for on-screen keyboards
    })

@lmignon, do you think you could rebase your patch and add a test?

Patch rebased including tests in #479.


Install Starship to local bin

Just add --bin-dir ~/.local/bin and remove become: true

Wrong repo but done now in dotfiles repo