Opt-In for Mare

A couple friends and I think it would be nice to have an optional sort of toggle to enable the use of Moodles on other players when Individually Sync'd with them using Mare. It has a lot of potential in the Roleplay scene as well as simply messing with friends. #

I plan on adding a whitelist system eventually where you can list the names of players who are allowed to apply Moodles to your own StatusManager, but it will take some time to implement.

That sounds awesome! I look forward to it!


config.openIdConfiguration is not a function

Hello guys,
I need to make the skipAccessTokenParsing false so i can have my session maxAge equal to the expireAt of the token.
When i do this i get the error config.openIdConfiguration is not a function in the /runtime/server/lib/oidc.ts:214:1, dont understand what is causing this, i just know that config is just a variable containing my oidc provider configurations.
Any clue about this?
Thanks,
Diogo

Hey,
Which provider are you using, can you please share your package version and nuxt.config.ts?

Hello!
I'm using the v0.17.0.
The provider i'm using an external oidc provider (ping identity).
My nuxt.config.ts:

Anything else please feel free to ask!
Thanks a lot

When I had this issue using a custom oidc, I had to point openIdConfiguration to the path of my OpenID provider configuration endpoint so in the providers oidc config I did this:
// @ts-expect-error
openIdConfiguration: 'http://localhost:3001/oidc/.well-known/openid-configuration',

Your URL will be different and  I believe the error comes from this line: https://github.com/itpropro/nuxt-oidc-auth/blob/e79f8565515e81826af48a3eca44d61018861cc1/src/runtime/server/handler/callback.ts#L129
Alternatively, you can set validateAccessToken and validateIdToken, which should bypass the code.

When I had this issue using a custom oidc, I had to point openIdConfiguration to the path of my OpenID provider configuration endpoint so in the providers oidc config I did this:
// @ts-expect-error
openIdConfiguration: 'http://localhost:3001/oidc/.well-known/openid-configuration',

Your URL will be different and I believe the error comes from this line:
https://github.com/itpropro/nuxt-oidc-auth/blob/e79f8565515e81826af48a3eca44d61018861cc1/src/runtime/server/handler/callback.ts#L129
Alternatively, I believe you can set validateAccessToken and validateIdToken to false, which should bypass the code.

We don't need to bypass that code, as it checks if you provided a string and then uses the string as the url for the fetch call.
Please try to use 0.18.0, I am not sure if 0.17.0 was already checking for string input.
I would try to get token validation to work (if your IdP provides parseable and validateable strings of course) as it provides higher security, especially in enterprise scenarios.

Hello guys,
So i have now the 0.18.0 and after changing the code to include a proxy in the ofetch call (i need to do this because my company dont allow requests without a proxy configured) and also configuring the openIdConfiguration in the nuxt.config now i get the error "Token validation failded: TypeError: Invalid URL code: 500. "
Don't understand it because the url .../.wellknown/openid_configuration works when using the browser.
Can't see in the error the callstack but i presume the error is here (callback.ts):

Did this also hapen to anyone?
Thanks,
Diogo

Hello guys,
So i have now the 0.18.0 and after changing the code to include a proxy in the ofetch call (i need to do this because my company dont allow requests without a proxy configured) and also configuring the openIdConfiguration in the nuxt.config now i get the error "Token validation failded: TypeError: Invalid URL code: 500. " Don't understand it because the url .../.wellknown/openid_configuration works when using the browser.
Can't see in the error the callstack but i presume the error is here (callback.ts):

Did this also hapen to anyone?
Thanks, Diogo

I am facing the same problems.

Hello guys,
So i have now the 0.18.0 and after changing the code to include a proxy in the ofetch call (i need to do this because my company dont allow requests without a proxy configured) and also configuring the openIdConfiguration in the nuxt.config now i get the error "Token validation failded: TypeError: Invalid URL code: 500. " Don't understand it because the url .../.wellknown/openid_configuration works when using the browser.
Can't see in the error the callstack but i presume the error is here (callback.ts):

Did this also hapen to anyone?
Thanks, Diogo

Can you please create a new issue for that and share the exact error from the console, so it can be reproduced? Thanks!


Issue-3234: Rename default in role_entity to defaultRole

Describe your changes :
see #3234

Type of change :

[x] Improvement

Frontend Preview (Screenshots) :
For frontend related change, please link screenshots of your changes preview! Optional for backend related changes.

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] I have performed a self-review of my own.
[ ] I have tagged my reviewers below.
[ ] I have commented on my code, particularly in hard-to-understand areas.
[ ] My changes generate no new warnings.
[ ] I have added tests that prove my fix is effective or that my feature works.
[x] All new and existing tests passed.

Reviewers

@harshach  This parameter is also used in UI codebase, we need to change that too.
Besides that these changes look good from backend

@Sachin-chaurasiya check if we need to make any changes on the UI side

https://github.com/open-metadata/OpenMetadata/blob/main/openmetadata-ui/src/main/resources/ui/src/pages/RolesPage/RolesPage.component.tsx#L172

@Sachin-chaurasiya check if we need to make any changes on the UI side

@harshach, Changes for UI is done.


expanduser on Windows does not correctly interpret forward slash

>>> import os.path
>>> os.path.expanduser('~/.pyquil_config')
'C:\Users\Steven/.pyquil_config'

It should be 'C:\Users\Steven.pyquil_config' (note the 3rd backslash)
I believe the correct line is os.path.normpath(os.path.expanduser('~/.pyquil_config')) but this needs to be tested on a Windows machine.

Is this actually a problem? I just tested it and windows tolerates forward slashes (as well as back slashes / mixed) for paths

A user on the community Slack channel identified this as a problem (Windows 10, Python 3.6). When we changed the forward slash to a backslash it started working.


Platformio erases bootloader on samd21

Operating system:
Ubuntu 14.04
PlatformIO Version (platformio --version):
version 2.11.2.dev2
Description of problem
I uploaded some code on Sparkfun's samd21 mini breakout board and the tool erased the bootloader. The
device does not run the code nor does it accept code anymore.
The content of platformio.ini:
[env:zero]
platform=atmelsam
framework=arduino
board=sparkfun_samd21_mini_usb
# Make sure RingBuffer.h doesn't have SERIAL_BUFFER_SIZE defined
build_flags = -I include/ -I include/ros_lib  -DSERIAL_BUFFER_SIZE=5000

Additional info
The code being uploaded was fairly large and the "blink" example uploaded correctly without issues. This problem was replicated on two separate boards.

Hi @bhavyangupta !
I've just uploaded a simple blink project to sparkfun_samd21_mini_usb and it works well.
Does your code work as expected in Arduino IDE? I don't think we could completely erase the bootloder, but could you try to press the Reset button two times very quickly?

Hi @valeros
I agree, a simple blink code uploads well on my system as well. I have tried pressing the reset button twice and the device doesn't enter the bootloader mode anymore. Since this has happened with two boards, I think there is some issue with the tool. I am currently testing if the IDE is able to upload the same code to a new board that "bricked" the other two boards.

Hm, that's not good. Where can I find a project to reproduce the issue?

I just verified that the code uploads correctly when I use a Windows pc and upload via platformio's Atom integration. When I try to upload the same code on linux it gives "device not found " error. Is there a reason why same code would upload correctly via windows but not through linux?

@bhavyangupta have you installed https://github.com/platformio/platformio/blob/develop/scripts/99-platformio-udev.rules ?

@ivankravets The udev rules are installed. I tried uploading code from a Windows machine and OSx and it works perfectly with Atom integration. On my laptop, it fails when I use the IDE and the CLI with following error message:
[Tue Aug  2 18:03:02 2016] Processing zero (platform: atmelsam, board: sparkfun_samd21_mini_usb, framework: arduino, build_flags: -I include/ -I include/ros_lib)
----------------------------------------------------------------------------------------------------------------------------------------
MethodWrapper(["upload"], [".pioenvs/zero/firmware.bin"])
Looking for upload port/disk...

Warning! Please install `99-platformio-udev.rules` and check that your board's PID and VID are listed in the rules.
https://raw.githubusercontent.com/platformio/platformio/develop/scripts/99-platformio-udev.rules

Auto-detected: /dev/ttyACM0
BeforeUpload(["upload"], [".pioenvs/zero/firmware.bin"])
Forcing reset using 1200bps open/close on port /dev/ttyACM0
Waiting for the new upload port...
"/home/bhavya/.platformio/packages/tool-bossac/bossac" --info --port "ttyACM0" --erase --write --verify --reset --debug -U true .pioenvs/zero/firmware.bin
No device found on ttyACM0
scons: *** [upload] Error 1
===================================================== [ ERROR ] Took 3.39 seconds =====================================================

Another observation is that the code does upload successfully if I try multiple times. This seems like the delay between Waiting for the new upload port and the bossac command isn't long enough so the new device doesn't enumerate sometimes - causing upload failure.

When you see "No device found on ttyACM0", could show me an output of pio serialports list?

@ivankravets  Here you go:
/dev/ttyACM0
------------
Hardware ID: USB VID:PID=1B4F:0D21 LOCATION=1-3
Description: ttyACM0

Could you try the latest development version?
pip install -U https://github.com/platformio/platformio/archive/feature/issue-739-samd21.zip

Thanks.

@bhavyangupta do you have any news? Could you try https://github.com/platformio/platformio/issues/739#issuecomment-239869318?

@ivankravets  Sorry I haven't been able to check this out yet, however, I have not had the problem ever again - and the tool has been working perfectly since then. Should I close this issue? I will re - open if the problem re-appears?

Yep, please close it and reopen when will have problems.

Thanks a lot for the help along the way guys! This is a great tool and has made my life so much easier!


list: refreshing the Selection List options, selects all options if any one is selected

Bug, enhancement request, or proposal:

CodePen and steps to reproduce the issue:
StackBlitz which demonstrates the issue:
https://stackblitz.com/edit/angular-lddven
Detailed Reproduction Steps:

Create a mat-selection-list with a repeater for mat-list-option for an array.
Tick one option
Refresh the list data source array

What is the expected behavior?
No options are ticked or same options are ticked
What is the current behavior?
All options are ticked on refresh
What is the use-case or motivation for changing an existing behavior?
Reloading the list should not tick all options
Which versions of AngularJS, Material, OS, and browsers are affected?

AngularJS: 8.2.14
AngularJS Material: 8.2.3
OS: Windows
Browsers: Chrome, Edge, Firefox tested

That's because the options don't have a value so technically they're all the same. It'll work if you set a value like this: [value]="doc".


Export data from interactive learning

Proposed changes:

Retrieved the file format from the path in write_stories_to_file and passed it as a param to the tracker
Added a method in Story structure to retrieve the story steps as yaml
Updated a method in YAMLStoryWriter to be called in the added method
Called method to dump the story in tracker according to the retrieved format

Status (please check what you already did):

[ ] added some tests for the functionality
[ ] updated the documentation
[x] updated the changelog (please check changelog for instructions)
[x] reformat files using black (please check Readme for instructions)

Is this PR related to some RASA issues? Can you please add it to the PR description?

Did you run tests? In my machine, some errors were shown.  Please, run the test routine and correct it.

Please implement tests for this functionality too.


fix(TaskPill): fix customStatusIcon bug

What
Closes #227
Description

Go to http://custom-status-fix.surge.sh
Navigate to PIpelines -> Task Nodes demo
Verify that customStatusIcon is applied

Type of change

[ ] Feature
[x] Bugfix
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

Screen shots / Gifs for design review
Before

After

Preview: https://react-topology-pr-topology-229.surge.sh


Support for Blue Pill

So-called "Blue Pill" is generic development board with STM32F103C8T6 MCU (20KB SRAM, 64KB FLASH), available from Chinese vendors & sellers on ebay, aliexpress or banggood, see the description. It's cheap and manufacturing quality is "good enough for this price" (usually below $2 incl. shipping on aliexpress).
The support included in this PR is preliminary, basic tests that do not require additional peripherials pass, including venerable blinky. HAL and CMSIS files are copied & modified from NUCLEO-F103RB. Only GCC_ARM support as I don't have any other toolchain on linux.
EDIT: I signed the agreement, I have developer.mbed.org account with the same name as here.

Haven't tried it locally ,but looks that it has all required parts.
CC @bco2stm @adustm

Hello @zgoda,
Can you rename the directory and name of your board under mbed environment ? You could add the bluepill in the name (something like TARGET_BLUEPILL_F103C8).
Generic should not be used here.

please rename 'features' in the targets.json to 'device_has'

At current state of code in master this does not compile.

I've read thoroughly the committers guide but current state of this PR still seems unclear for me - what does "needs: work" label means?
And another question, what is preferred workflow for syncing forks with upstream, rebase or merge? I am just cautious to not do any unnecessary mess with my PR.

And another question, what is preferred workflow for syncing forks with upstream, rebase or merge? I am just cautious to not do any unnecessary mess with my PR.

Rebase is preferred

I've read thoroughly the committers guide but current state of this PR still seems unclear for me - what does "needs: work" label means?

Means that there's some work to be done. this way it was to rebased, to applied changes from master (sorrry for the recent changes in targets), please update this patch.

I want to run more tests, preferably in a kind of automated mode. The only way for loading the firmware on this board that does not require manual intervention is by ST-Link - is there any way to do this with current test launcher? From the quick look at the source and command line options for singletest.py this is not supported but perhaps I don't see something less obvious?

cc @PrzemekWirkus @bridadan please read the comment about.

cc @PrzemekWirkus @bridadan please read the comment about.

Update?
The PR looks good to me.

+1

on the forum there is write that this implementation have timing problem:
This vulnerability (HSE on board xtal) is affects not only Bluepill or even F103. For most (all?) Mbed STM32 is a problem in mbed library, on using the library HAL (version 1.4.4 and later). In short, the reason is the change in the function HAL_RCC_OscConfig. The result is incorrect system clock initialization (clocked 64MHz from HSI instead of quartz precise 72MHz), despite xtal connected to the STM32. This defect makes it impossible to use of USB in the project or other precise timing applications, for example.  But the majority of the official mbed boards STM uses a clock from an external source (ST-Link MCO) or HSI. Therefore, the problem is not so visible.
is it true ?
I use EmBlock offline, is there a guide or tutorial for compile offline this mbed-os master branch ?


Update version

What is easy way to update the version ?

Sadly there is no super easy way at this stage.
This is what I do, basically going through the install sequence, but copying my settings over to the new install

ssh to the server in my home folder (ie. /home/admin) and rename (or remove) any old version that is sitting in my /home/admin folder (mv directadmin_cloudflare_dns old_directadmin_cloudflare_dns)
git clone https://github.com/pjjonesnz/directadmin_cloudflare_dns.git
cd directadmin_cloudflare_dns/da_cloudflare_dns_sync
run composer install (requires you to have composer installed on your system - if you don't then see https://getcomposer.org/download/ - follow the Command-line installation)
Copy your existing Cloudflare email and password (found in the old file /usr/local/directadmin/scripts/custom/dns_write_post.sh) and paste into the new dns_write_post.sh ../dns_write_post.sh
If you are on a recent version and have any domains configured in /usr/local/directadmin/scripts/custom/da_cloudflare_dns_sync/domains - then copy those files cp /usr/local/directadmin/scripts/custom/da_cloudflare_dns_sync/domains/* /home/admin/directadmin_cloudflare_dns/da_cloudflare_dns_sync/domains/
Rename the old script in the da scripts custom folder mv /usr/local/directadmin/scripts/custom/da_cloudflare_dns_sync/ /usr/local/directadmin/scripts/custom/previous_version_da_cloudflare_dns_sync/
Rename the old dns_write_post.sh ```mv /usr/local/directadmin/scripts/custom/dns_write_post.sh /usr/local/directadmin/scripts/custom/previous_dns_write_post.sh
sudo cp -r /home/admin/directadmin_cloudflare_dns/* /usr/local/directadmin/scripts/custom/
Test that everything is running. If so remove the old folder moved in step 7. rm -rf /usr/local/directadmin/scripts/custom/previous_version_da_cloudflare_dns_sync/ and remove the old dns_write_post.sh rm /usr/local/directadmin/scripts/custom/previous_dns_write_post.sh

Sorry that it's not easy.  I'm currently working on turning this into a DirectAdmin plugin, which would make life so much easier and updates automatic, but I need some more time...


Strange UX for Mod List Mute/Block Actions

Steps to Reproduce

Go to a mod list like this one
Click the "Subscribe" button in the top left, next to an overflow menu

Actual behavior: populates a secondary menu with Mute/Block options, which are actions that don't follow from the verb "subscribe"
Expected behavior: "subscribe" would follow all of the accounts.
Attachments

What platform(s) does this occur on?
iOS, Android, Web (Desktop), Web (Mobile)
Device Info
I tested on Chrome Mac OS X and iPhone 13 mini, but it is not device-specific.
What version of the app are you using?
iOS <IP_ADDRESS>0 89cff31b6 (prod) / Web Build version: 1.92.1; Bundle info: dfbfcdd (prod); Bundle date: 24110420; Platform: web
Additional Information
While the user would expect "subscribe" to follow all of the accounts, the block/mute are the useful actions on a mod list.
So the fix here is likely to change the text from "subscribe" to "moderate", or something along those lines.

Correlated to this bug is the settings UI. While "blocked" and "muted" are top level items here, the moderation lists are not subsequently separated into "muted" vs "blocked". This is sort of an inverse discoverability issue where, in order to find out the state of the moderation list subscription, you have to click all the way into a list to find out which was selected.
While this correlated settings issue might warrant a separate bug report, it felt related enough to a rethink of this UI issue around the term subscribe that I thought it worth adding as a comment here.

I think this is the same as #5269.

@scottdotweb - it is! Will close.


fix: ts-monitor does not release file handle

Signed-off-by: shilinlee<EMAIL_ADDRESS>

What problem does this PR solve?

Issue Number: close #60
What is changed and how it works?
Close the file when function return
How Has This Been Tested?

[X] Test_Collect_MetricFiles

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

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@78faa32). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #61   +/-   ##
=======================================
  Coverage        ?   62.37%
=======================================
  Files           ?      302
  Lines           ?    70360
  Branches        ?        0
=======================================
  Hits            ?    43889
  Misses          ?    23367
  Partials        ?     3104

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

thx @shilinlee


Option to remember the MFA device

Description
According to the documentation, the MFA device could be remembered for a
limited time if user asks for it.
This PR implements it.
+info:
https://developer.okta.com/docs/api/resources/authn#verify-factor
Related Issue
Solves #109.
How Has This Been Tested?
I made some tests with my work accounts.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] 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.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

Any chance to get this PR merged?
Thanks!

Guys, this would be really nice to have.
Any chance to get this soon?

+1 to the previous comments. It would improve my workflow a lot!

@Sector95 any chance to merge this PR? Thanks!

Looks good, sorry for the delay, and thanks for the PR!


Default folder not showing in light theme after applying customization

[x] I'm sure this issue is not a duplicate?

The default folder is not showing in light themes when the user selects Apply Icons Customization.
This is a bug I introduced when I increased the code coverage by tests. I distinctly remember that I wasn't sure how to cover the toggle folders presets.

Also in dark theme the specific folder icons get changed to the default folder icon.


Tweaking repmgr failover settings making the cluster unstable

Hello!
While testing failover management provided by PostDock [PostgreSQL 10 repmgr 3.3] using k8s/example2-single-statefulset, I wanted to reduce the time taken to promote replica to master from 15 seconds to 1 second. For this I reduced updated following parameters for repmgrd:
reconnect_attempts=1
reconnect_interval=1
Then we killed master using "kubectl delete pod"
I have observed that the master comes back again and joins the cluster as "master" causing the cluster to become unstable. This happens only if the above two configurations for repmgr are tweaked, and works fine with the default configuration. Are there any other dependent parameters that also need to be updated?

Attached are logs for the master pod after being restarted by statefulset controller:

Setting up STOP handlers...
STARTING SSH (if required)...
cp: cannot stat '/home/postgres/.ssh/keys/*': No such file or directory
No pre-populated ssh keys!
SSH is not enabled!
STARTING POSTGRES...
SETTING UP POLYMORPHIC VARIABLES (repmgr=3+postgres=9 | repmgr=4, postgres=10)...
TUNING UP POSTGRES...
Configuring /var/lib/postgresql/data/postgresql.conf

Will add configs to the exists file
Adding config 'wal_keep_segments'='250'
Adding config 'shared_buffers'='300MB'
Adding config 'archive_command'=''/bin/true''
Adding config 'shared_preload_libraries'=''repmgr_funcs''
2019-03-07 11:03:02.689191+00
Ex-Master restarted as slave to sleep for 15 seconds to enable cluster to elect new master
Check all partner nodes for common upstream node...
Checking NODE=mysystem-db-node-0.mysystem-db...
psql: could not connect to server: Connection refused
Is the server running on host "mysystem-db-node-0.mysystem-db" (<IP_ADDRESS>) and accepting
TCP/IP connections on port 5432?
Skipping: failed to get master from the node!
Checking NODE=mysystem-db-node-1.mysystem-db...

Pretending master role node - mysystem-db-node-1.mysystem-db
Checking NODE=mysystem-db-node-2.mysystem-db...
Pretending master role node - mysystem-db-node-1.mysystem-db
Auto-detected master name: 'mysystem-db-node-1.mysystem-db'
The node was acting as a master before restart!
Current master is mysystem-db-node-1.mysystem-db. Will clone/rewind it and act as a standby node...
Setting up repmgr...
Setting up repmgr config file '/etc/repmgr.conf'...
Setting up upstream node...
cat: /var/lib/postgresql/data/standby.lock: No such file or directory
Previously Locked standby upstream node LOCKED_STANDBY=''
Waiting for upstream postgres server...
Wait schema replica_db.repmgr_mysystem_cluster on mysystem-db-node-1.mysystem-db:5432(user: replica_user,password: *******), will try 30 times with delay 10 seconds (TIMEOUT=300)
Schema replica_db.repmgr_mysystem_cluster exists on host mysystem-db-node-1.mysystem-db:5432!
Waiting for upstream node id replica_db on mysystem-db-node-1.mysystem-db:5432(user: replica_user,password: *******), will try 30 times with delay 10 seconds (TIMEOUT=300)
Upstream node id 1001 received from host mysystem-db-node-1.mysystem-db:5432!
REPLICATION_UPSTREAM_NODE_ID=1001
Sending in background postgres start...
Waiting for upstream postgres server...
Wait schema replica_db.repmgr_mysystem_cluster on mysystem-db-node-1.mysystem-db:5432(user: replica_user,password: *******), will try 30 times with delay 10 seconds (TIMEOUT=300)
Schema replica_db.repmgr_mysystem_cluster exists on host mysystem-db-node-1.mysystem-db:5432!

Instance has been set up already.
Rewinding to the latest state
Archiving configs
ERROR: connection to database failed: could not connect to server: Connection refused
Is the server running on host "mysystem-db-node-0.mysystem-db" (<IP_ADDRESS>) and accepting
TCP/IP connections on port 5432?

Start server to be able to rewind (weird hack to avoid dirty shutdown issue)
waiting for server to start....2019-03-07 11:08:23.233 UTC [166] LOG:  listening on IPv4 address "<IP_ADDRESS>", port 5432
2019-03-07 11:08:23.233 UTC [166] LOG:  could not bind IPv6 address "::1": Cannot assign requested address
2019-03-07 11:08:23.233 UTC [166] HINT:  Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
2019-03-07 11:08:23.253 UTC [166] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2019-03-07 11:08:23.291 UTC [167] LOG:  database system was interrupted; last known up at 2019-03-07 11:03:08 UTC
2019-03-07 11:08:23.313 UTC [167] LOG:  database system was not properly shut down; automatic recovery in progress
2019-03-07 11:08:23.324 UTC [167] LOG:  redo starts at 0/4000028
2019-03-07 11:08:23.325 UTC [167] LOG:  invalid record length at 0/5005010: wanted 24, got 0
2019-03-07 11:08:23.325 UTC [167] LOG:  redo done at 0/5004FD8
2019-03-07 11:08:23.325 UTC [167] LOG:  last completed transaction was at log time 2019-03-07 11:03:39.55614+00
2019-03-07 11:08:23.395 UTC [166] LOG:  database system is ready to accept connections
done
server started
Removing unactive replication slots of partners
Getting slots from master node
repmgr_slot_1002
Closing slots which exist on master node
Closing slot repmgr_slot_1002

Closing slot which current master used on the node

Closing slot repmgr_slot_1001

Stop server
2019-03-07 11:08:23.618 UTC [166] LOG:  received fast shutdown request
waiting for server to shut down....2019-03-07 11:08:23.625 UTC [166] LOG:  aborting any active transactions
2019-03-07 11:08:23.627 UTC [166] LOG:  worker process: logical replication launcher (PID 173) exited with exit code 1
2019-03-07 11:08:23.627 UTC [168] LOG:  shutting down
2019-03-07 11:08:23.684 UTC [166] LOG:  database system is shut down
done
server stopped
Creating replication slot for the standby in case it's not there
cat: /var/lib/postgresql/data/recovery.conf: No such file or directory
Rewind to the host mysystem-db-node-1.mysystem-db
servers diverged at WAL location 0/5005010 on timeline 1
rewinding from last common checkpoint at 0/4000060 on timeline 1
Done!
Restoring configs
NOTICE: 0 files copied to /var/lib/postgresql/data
Tell repmgr to follow upstream for the node
NOTICE: looking for configuration file in current directory
NOTICE: looking for configuration file in /etc
NOTICE: configuration file found at: /etc/repmgr.conf
DEBUG: slot name initialised as: repmgr_slot_1000
DEBUG: do_standby_follow()
ERROR: connection to database failed: fe_sendauth: no password supplied

Stop server
pg_ctl: PID file "/var/lib/postgresql/data/postmaster.pid" does not exist
Is server running?
Configuring /var/lib/postgresql/data/postgresql.conf
Will add configs to the exists file
Adding config 'wal_keep_segments'='250'
Adding config 'shared_buffers'='300MB'
Adding config 'archive_command'=''/bin/true''
Adding config 'shared_preload_libraries'=''repmgr_funcs''
Starting postgres...
Waiting for local postgres server recovery if any in progress:LAUNCH_RECOVERY_CHECK_INTERVAL=30
Recovery is in progress:
2019-03-07 11:08:25.972 UTC [264] LOG:  listening on IPv4 address "<IP_ADDRESS>", port 5432
2019-03-07 11:08:25.972 UTC [264] LOG:  listening on IPv6 address "::", port 5432
2019-03-07 11:08:25.996 UTC [264] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2019-03-07 11:08:26.035 UTC [273] LOG:  database system was interrupted while in recovery at log time 2019-03-07 11:04:49 UTC
2019-03-07 11:08:26.035 UTC [273] HINT:  If this has occurred more than once some data might be corrupted and you might need to choose an earlier recovery target.
2019-03-07 11:08:26.069 UTC [273] LOG:  redo starts at 0/4000028
2019-03-07 11:08:26.088 UTC [273] LOG:  consistent recovery state reached at 0/5022770
2019-03-07 11:08:26.088 UTC [273] LOG:  invalid record length at 0/5022770: wanted 24, got 0
2019-03-07 11:08:26.088 UTC [273] LOG:  redo done at 0/5022738
2019-03-07 11:08:26.088 UTC [273] LOG:  last completed transaction was at log time 2019-03-07 11:08:23.794413+00
2019-03-07 11:08:26.158 UTC [264] LOG:  database system is ready to accept connections
RECOVERY_WAL_ID is empty!
Not in recovery state (anymore)
Waiting for local postgres server start...
Wait schema replica_db.public on mysystem-db-node-0.mysystem-db:5432(user: replica_user,password: *******), will try 60 times with delay 10 seconds (TIMEOUT=600)
Schema replica_db.public exists on host mysystem-db-node-0.mysystem-db:5432!
Unregister the node if it was done before
DELETE 1
Registering node with role standby
INFO: connecting to standby database
ERROR: this node should be a standby (user=replica_user password=replica_pass host=mysystem-db-node-0.mysystem-db dbname=replica_db port=5432 connect_timeout=2)
Starting repmgr daemon...
[2019-03-07 11:08:56] [NOTICE] looking for configuration file in current directory
[2019-03-07 11:08:56] [NOTICE] looking for configuration file in /etc
[2019-03-07 11:08:56] [NOTICE] configuration file found at: /etc/repmgr.conf
[2019-03-07 11:08:56] [INFO] connecting to database 'user=replica_user password=replica_pass host=mysystem-db-node-0.mysystem-db dbname=replica_db port=5432 connect_timeout=2'
[2019-03-07 11:08:56] [INFO] connected to database, checking its state
[2019-03-07 11:08:56] [ERROR] This node is marked as inactive and cannot be used for failover
[2019-03-07 11:08:56] [HINT] Check that 'repmgr (master|standby) register' was executed for this node
[2019-03-07 11:08:56] [INFO] repmgrd terminating...

We resolved the issue by updating the postgres/entrypoint.sh to first sleep to allow cluster to elect a new master, and then delete contents of PGDATA to erase its historical data so as to allow it to come back as standby
cat $MASTER_ROLE_LOCK_FILE_NAME
if [ -f "$MASTER_ROLE_LOCK_FILE_NAME" ]; then
SLEEP_TIME= 15
echo ">>> Ex-Master restarted as slave to sleep for $SLEEP_TIME seconds to enable cluster to elect new master"
sleep $SLEEP_TIME
echo ">>> Deleting contents of PGDATA"
rm -rf $PGDATA/*
fi


Feedback from porting DataTables

Hi,
Following on from the merge of #347 I've spent some time today experimenting some more with DataTables and Cash. There are a few things that have cropped up, which I thought I'd bring up to see if you would take them as pull requests or not.
Missing utility methods:

$.map
$.inArray
$.merge

There is something different between the return from $.fn.map in jQuery and Cash as well, but I've not tracked down what yet. I think it is related to non-DOM elements in the collection.
The final thing I've noticed is that when creating an element, in jQuery you can specify parameters as an object in the second parameter - e.g.:
$('<div>', { id: 'whatever' })

That can obviously be replaced with:
$('<div>').attr('id', 'whatever')l

but before I go rewriting my code, is there any desire to see that ability in Cash as well to increase jQuery compatibility? I guess it comes down to how close to jQuery do you want it to be (without it just being jQuery obviously!).

$.map: I think this makes no sense to implement anywhere, Array.prototype.map is supported from IE9.
$.inArray: There's the relatively new Array.prototype.includes for this, but if you need to support older browsers there's Array.prototype.indexOf which you can use to implement that pretty easily, and that's supported since Chrome v1.
$.merge: This also makes no sense to implement anywhere, you can just use arr1.push ( ...arr2 ), or arr1.push.apply ( arr1, arr2 ) if you don't want to transpile your code.
$('<div>', object): This maps directly to $('<div>').attr(object), so implementing it doesn't really add much, I think it would be better to have a slightly smaller library instead. But if you can implement that and at the same time squeeze enough bytes out of the library so that the entire thing is no larger than it is now when minified and gzipped then I guess we could add support for this

As a rule of thumb I'd say:

If you need some major feature that Cash doesn't implement (animation, ajax etc.) that's never going to get implemented, so you'll have to stick with jQuery or find another library for that particular feature
If you need some minor feature that Cash doesn't implement then probably we are not going to implement that either, unless you really can't do the same thing in a slightly different way with Cash, for example
If Cash implements something that jQuery implements but our implementation works differently then we should generally align our implementation with jQuery's, but there are some exception to this, mostly mentioned in the migration guide (some things in jQuery don't make a lot of sense to me, like some of its methods work with plain objects too for some reason)

Agreed - they can all be implemented quite easily ($.map will need a little more work since it needs to cope with both objects and removing null values to make it match the jQuery API rather than the ES spec). My reasoning for seeking them to be included in Cash is to increase its utility. I could implement aliases for these methods in DataTables, but it just moves the extra code there, and also to the other libraries that would also look to use Cash as a jQuery replacement.
I certainly don't mind moving things around in DataTables a bit (like the attributes), but writing utility functions when including a utility library feels a little redundant. That said, I love Cash - and I really do want to ship support for it with DataTables (indeed, already made a few changes to remove jQuery specific stuff like a leading > in a selector).

I understand your point, at the same time though if jQuery didn't have $.map either and you asked for a function like that to be added in Cash I would have said that that's a ridiculous function to add, not just in Cash but anywhere probably, so should we now add it just because jQuery has it? I don't think so, in fact I think jQuery should probably remove it.
Unfortunately that makes writing something that's compatible with both libraries a bit harder, but we've got to draw the line somewhere about what we can and can't add to Cash, and if this line doesn't even exclude something like $.map I'm not sure what it should exclude then.

Fair point! To a large extent, a lot of the utility methods that jQuery makes available are largely redundant with the newer changes in ES. At some point I'll need to make the decision of dropping legacy browsers and to what extent and strip out my calls to such methods.
I'll see how small I can make these methods and if it is sensible to then include them into DataTables.


Improving the README documentation for clarity and better examples

Fixed some small grammar mistakes. Fixed an error in the Table of Contents and headers. Added yarn for install. Simplified and expanded the Basic example to show a full working document, and provided the resulting code for clarity. Added more variables to the Dynamic Values example, including showing passing a value as a prop for clarity, and provided the resulting code for clarity.

lgtm, thanks!


Scope for pl version

I see that in redflags-auto.sh @dzierzy you have set --scope=epf while docs are saying that scope shsould mention tender ids or years to process. Is it a temporary hack?
Shouldn't we introduce a new parameter that specifies what source should be imported (like Hungarian TED or Polish mojepanstwo) and the scope could be left as it is?

I've used --scope parameter to point to different source of data to process. As API mojepanstwo.pl doesn't allow to filter procurement ids at all I've used it as a final solution.

@juzraai is what I'm asking resolved by changing gear configuration?

Creating a custom scope is a/the good solution if you don't want to use TED.
Besides changing scope, indeed, removing TED-related gears from configuration is the other thing needed to avoid TED.

Ok, thanks!


Parse error I cannot debug

mfl.zip

curl -d '{"text" : "**** TRADE ALERT ****\nSuck Bosa Deez Nuts gave up\n\n1.16\n\nDr. Funke’s 100 Perc gave up\n\n2.04\n4.04\n5.04\n", "bot_id" : "a059a2091ee2d4268d6a9a0a28"}' -H 'Content-Type: application/json' https://api.groupme.com/v3/bots/post
Traceback (most recent call last):
File "/home/zanophol/mdl6tradebot/tradebot.py", line 116, in
groupMe(s)
File "/home/zanophol/mdl6tradebot/tradebot.py", line 110, in groupMe
os.system(cmd)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 91: ordinal not in range(128)


Opening a schematic file (*.sch)

Hi all,
I have some problems with the MTB3_001 board (tactile sensor board) - (https://github.com/robotology/icub-support/issues/275), so I'm trying to get schematic of it. What I found on the svn repository is this one:
https://svn.robotology.eu/repos/iCubHardware-pub/trunk/electronics/public/MTB/Schematics/MTB3_REV1/
But I'm not able to open the schematic file (*.sch) . What kind of software should I use? (on Ubuntu or Windows)
Any tips would be appreciated.
Thanks.

@maggia80 might help in this case, I guess.

There is an error in the filename, but the pdf of the schematic is in the same folder and it is the MTB3-002.pdf


mysql57: 5.7.25 -> 5.7.27 [backport]

(cherry picked from commit 88770b01d5399c987e539896f28b38609d93e8f6)

Motivation for this change

minor version bump
CVE-2019-2566
CVE-2019-2581
CVE-2019-2592
CVE-2019-2614
CVE-2019-2627
CVE-2019-2628
CVE-2019-2632
CVE-2019-2683
CVE-2019-2737
CVE-2019-2738
CVE-2019-2739
CVE-2019-2740
CVE-2019-2741
CVE-2019-2755
CVE-2019-2757
CVE-2019-2758
CVE-2019-2774
CVE-2019-2778
CVE-2019-2791
CVE-2019-2797
CVE-2019-2805
CVE-2019-2819
backport of #65950

Changelog
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Notify maintainers
cc @

@andir I'm hoping to solve the darwin build problem (which is not the same as the mysql update to master) in the next few days. Of course if anyone has a mac and wants to help that would be appreciated :smile:

(The Darwin build was already problematic.)


[dockerhub] fix broken boolean logic

Motivation
Prevent builds against the "auto" branch targeting "master" branch in bors from generating docker files.   Broke it over the weekend.
Have you read the [Contributing Guidelines on pull requests]
Y
Test Plan
Local bash testing (time for a bash unit testing framework?) and soon CI auto branch.
Related PRs
None

@bors-libra r+

:pushpin: Commit 451cd91 has been approved by metajack

:hourglass: Testing commit 451cd91c858b1f96de201b0113c32d7c76bb3b01 with merge 75776b8aaaae01d28e6aa4e9b94b8a0bcc9501a4...

:boom: Test timed out

@bors-libra retry

:hourglass: Testing commit 451cd91c858b1f96de201b0113c32d7c76bb3b01 with merge 7a40b2369d0bc29cd996da6ea49082034a7c5636...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: metajack
Pushing 7a40b2369d0bc29cd996da6ea49082034a7c5636 to master...


feat(panel): spread widgetRenderState in the options in panel

Summary
This PR spreads widgetRenderState in the options of hidden, collapsed and templates in panel.
Example
const breadcrumbInPanel = panel<typeof breadcrumb>({
  collapsed({ canRefine }) {
    return canRefine === false;
  },
  templates: {
    header({ canRefine }) {
      return `Breadcrumb that can${canRefine ? '' : "'t "} refine`;
    },
    footer:
      'The panel collapses if it cannot refine. Click "Home". This panel will collapse and you will not see this footer anymore.',
  },
})(breadcrumb);

* PR title is updated (because we don't pass the `widgetRenderState` object anymore)

Done.

* Lint is fixed
* Bundle size is increased

This is based on feat/render-state. The type errors and the bundle size issue comes from there. So I will fix it there.


Jesse: Watch universatpro.com

Jesse requests the watch of the watch_keyword universatpro\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

universatpro\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


_locateClickable, _locateCheckable and _locateFields helpers on WebDriver

Close #117.

Please fix failing tests.
Also you should not update documentation manually but use dockblocks for methods, and docs will be generated with gulp documentation

Thanks!


WIP: Fix golint tests

golint now expects a variable of non basic type
as a key to context.WithValue.

@cheungpat, thanks for your PR! By analyzing the annotation information on this pull request, we identified @rickmak to be a potential reviewer

Merge via 4de4041


Improve check for component class

Need
Sometimes Browserify returns an empty object for a module, thus passing this condition
And throwing an error when trying to call the component class from that module
Deliverables

Check if Class is a function before calling it, catch exception for children

[ ] 0.2.x #89
[ ] 0.3.x (with tests)

:+1:


Fix Bing API search issue

Q
A

Bug fix?
[x]

New feature?
[ ]

New sample?
[ ]

Related issues?
NA

What's in this Pull Request?
Looks like for there has been some change in the office 365 backend due to which the image picker stopped working for web search. I checked the network tab and saw that the endpoint has changed, so made the change accordingly.

Thank you @gautamdsheth for the fix!


Monitor: Avoid failing the entire CLI on missing curses module.

Import-catch philosophy similar to the one used in #265 for matplotlib.

Coverage decreased (-0.09%) to 96.404% when pulling 3e1e7e928480b40b8daa9defc8e32d0dffc2f4f7 on AxelVoitier:curses-dep into b05ac86779482b0bda6b65007073461c19998dce on eerimoq:master.

I agree that a subparser must not to render the others unusable. That said, I suppose the ncurses is not the only module which cannot be assumed to be unconditionally available, i.e., it's probably better to catch import errors for all subparsers here?

I was initially going for such a thing. But it was rightly commented in here that it could lead to user confusion if some subcommands were missing.
We could provide alternate subparsers in case of import error. But that seems more work than this solution.
In theory, you could indeed miss any module as someone can customise its python installation as it wishes (even beyond the provided config flags). That would be particularly the case for embedded systems where you may want to aim for a minimal footprint.
Here I think it's more pragmatic to see this on a case by case basis. Curses is one of the standard modules that typically gets disabled. Buildroot has an option for it for instance (that's how it bothered me). I have heard it might also be disabled by some Windows builds?
Another typically disabled standard module is sqlite3. Cantools does not seem to depend on it (as far as my testing about it went some times ago). But it might lurk in a dependency (in particular diskcache).
I gave a look at the other subparsers and could not spot obvious cases of standard modules I know to be typically disabled.
I would say that if someone goes as far as stripping down most of python standard libs but still want to use some cantools CLI subcommands, then maybe they could just patch it locally. Or open an issue/PR for it here.

I see. How much work would it be to implement an "Error subparser" which behaves just like the monitor subparser in this branch if ncurses is not available but with a customizable error message? (e.g., f'Module {subparser_name} not available: {exception}')

Here I think it's more pragmatic to see this on a case by case basis.

I agree. I still prefer a generic solution if it is not much more work than the whack-a-mole one, though...

 If it turns out that the generic approach is too ugly, let's merge this PR as-is...


⚠ API - Lens has degraded performance

In a3670be, API - Lens ($LENS_API_URL) experienced degraded performance:

HTTP code: 503
Response time: 314 ms

Resolved: API - Lens performance has improved in 1d966b9 after 6 minutes.


The graph disappears when scrolling

Lightweight Charts™ Version:  4.1.1
Steps/code to reproduce:
Scroll graph to the right in the sandbox below.
Actual behavior:
The graph suddenly disappears when scrolling. The bug disappears if you interact with the price scale before scrolling.
Expected behavior:
The graph should be scrolled without rendering falling.
CodeSandbox/JSFiddle/etc link:
https://jsfiddle.net/mk4s12e9/

I believe that the issue is caused by the price values being provided as strings instead of numbers. The API expects that value should be a number. The production version of the library won't check that the data provided is correct and in some cases will partially work.
If you use the development version of the library (for example<EMAIL_ADDRESS>then you will get an error message about the data being incorrect:
Error: Assertion failed: Area series item data value must be a number, got=string, value=35443.561360715


Unable to use Lambda for Bank SOAP API calls using node.js

We are trying to make a call with SOAP Bank APIs but it did not work. due to not server Authorized due to IP changing automatically.
Do you anyone have option for it?

Have you tried using a VPC config, so your Lambda function uses an IP in your VPC?  You can then control what IP address it gets when going out of your VPC and onto the Internet using various different methods.


Parser creation does not end

Describe the bug
I am trying to create a DBC file parser. The parser creation step does not finish in a timely manner and uses too much RAM (more than 30 minute and 8 Gb).
To Reproduce
I have reduced to problem to only one rule and simplified it. (In practice this is the symbol definition in the DBC) Try the following script:
from lark import Lark

grammar="""
start : [ "a" ["b"]  ["b1"]  ["b2"]  ["b3"] ["c"]  ["c1"]  ["c2"]  ["c3"] ["d"]  ["d1"]  ["d2"]  ["d3"] ["e"]  ["e1"]  ["e2"]  ["e3"] ["f"]  ["f1"]  ["f2"]  ["f3"]]
"""
parser = Lark(grammar, parser='lalr', lexer='contextual')

This is not a bug, but the expected behavior. Internally, your nice human understandable EBNF grammar gets turned into easy to optimize and fast BNF grammar. This step includes maybe expansion:
start: "a" ["b"]

becomes
start: "a"
     | "a" "b"

and
start: ["a"] ["b"]

becomes
start:
     | "a"
     | "a" "b"
     | "b"

which means that every maybe in a single rule doubles the number of expansion that are generated. You have 21 maybes, which means 2**21 = 2,097,152 expansions. This takes a lot of time, and a lot of memory to process.
Solution: Don't have many maybes in a single rule. Split them up:
start : [ "a" b c d e f ]
b: ["b"]  ["b1"]  ["b2"]  ["b3"]
c: ["c"]  ["c1"]  ["c2"]  ["c3"]
d: ["d"] ["d1"]  ["d2"]  ["d3"]
e:  ["e"]  ["e1"]  ["e2"]  ["e3"]
f:  ["f"]  ["f1"]  ["f2"]  ["f3"]

or even, if you truly want them all in one tree in the result:
start : [ "a" _b _c _d _e _f ]
_b: ["b"]  ["b1"]  ["b2"]  ["b3"]
_c: ["c"]  ["c1"]  ["c2"]  ["c3"]
_d: ["d"] ["d1"]  ["d2"]  ["d3"]
_e:  ["e"]  ["e1"]  ["e2"]  ["e3"]
_f:  ["f"]  ["f1"]  ["f2"]  ["f3"]

This is the central issue for this: #506

Thank you for the explanation. Indeed with the suggest modification it is now working.


subType

I've been looking at generic statement templates, and I don't quite yet understand subType.
There are various indications that subType is used as given in the Vocabulary document. However, that simply defines it as "Identifies the sub genre of any application" with only 1 example (and that example is defined in tincan as a platform). Do we have a list of subTypes somewhere?
Alan

Some of my confusion may be caused by Moodle and Blackboard variously described as "platform" and / or "application".
Example
"object": {
  "objectType": "Activity",
  "id": "https://courses.alpha.jisc.ac.uk/moodle",
  "definition": {
    "type": "http://activitystrea.ms/schema/1.0/application",
    "name": {
      "en": "University of Jisc VLE"
    },
    "extensions": {
      "http://xapi.jisc.ac.uk/subType": "http://id.tincanapi.com/activitytype/lms"
    }
  }
}

This object is used in login. I'm not sure why we need the subType extension here. Wouldn't it be simpler to put "http://id.tincanapi.com/activitytype/lms" into definition.type? That would mean 'Student logs in to LMS'; and the Context can carry context.platform = Moodle, for human readability, while machines can read id="https://courses.alpha.jisc.ac.uk/moodle".
I guess there is a reason for this structure. I would be grateful if someone could enlighten me!

I suspect the origin of this is an activitystreams pattern but I think the rationale is OK.
People may log into PCs and into software. object.definition.type will discriminate between these two while the verb logged-in remains the same. Having "application" as the type rather than VLE means we can easily query over several applications as aggregate activity. e.g. a portal, separate forum, vle. The subType gives us the ability to drill down should we need to.
The application type is a VLE. We hava generic subType extension which can be used to communicate the more refined type of application, or whatever other object.definition.type may be in the statement (i.e. we only ever need to look in subType, no matter what the parent type)
We might have two Moodles. Each would be subType = vle and both would be platform=Moodle. But their object ids woud differ.
We might have Moodle and Blackboard.... platforms differ.
We would assume that the Moodles at different sites are generally fairly similar but also expect that Bb would differ from Moodle in the usage patterns. Hence platform is useful not just for people.

Ah, so it's primarily differentiating between logging into PCs (or other hardware) and into software? And then for easy parsing of all the 'application' ones.  That makes sense.

From Mondays Call:

Clarify subtype in documentation. (These will be advised by domain specific experts. These might be generated on the fly.)
Group vocab,  Group what we already have, produce an hirarchy of type and then subytpes. We need input from domain experts here!
Subtype is wrong in the vle resource viewed statement. Update this when the documentation is updated.
mint a new activity type 'Other'

Related to #163 #144

Quite a few tickets, #166, #163, #144 and the development of the repo need the vocab hiraichary we discussed on May 22nd. If I remember correctly, this requires some domain experts to go and have a look at the vocab page and split the activity types into core and subtypes. I've updated the vocab page so that we have headings for activity types and subtypes. I think it needs a bit more documentation too - but the activity types need sorting.
I'll add this to todays call to check, we are on the same page.

Just bumping this issue: I think domain experts were going to have a look at the vocab page in v1.0 and start to group activity types into core and subType? This is a bottleneck for quite a few issues I think. This week we only discussed UDD so didn't get to bring this up. I seem to remember the discussion was @alanepaull @arc12 @michaelwebbjisc . I've created a subType section on the vocab page, but I think we need some domain expert input here.


Undo Slide After Close

After a user slides the activity, I show a confirmation dialog. If they click cancel, I need to undo the slide and show the activity again. How can I do this?

This is beyond the scope of the library and can be implemented in your own application.
I would look into using the startActivityForResult(...) and onActivityResult(...) methods in Activity to determine if the user has closed your activity. Then just show the Activity that was slid away using an activity transition if you want it to slide back.


ReduceStreamer: Server info file /var/run/numaflow/reducer-server-info is not ready

Describe the bug
I'm testing the ReduceStreamer rc in python.
The reduce vertex keeps receiving data in the isb, but no output.
Numa keeps logging Server info file /var/run/numaflow/reducer-server-info is not ready. What does this mean?
My reducer example is sliding window with length: 60s / slide: 10s, and emitting each datum directly to NonBlockingIterator.
To Reproduce
Relevant code snippets:
from collections.abc import AsyncIterable

from pynumaflow.reducestreamer import Message, Datum, Metadata, ReduceStreamAsyncServer, ReduceStreamer
from pynumaflow.shared.asynciter import NonBlockingIterator
import json

class ReduceCounter(ReduceStreamer):
    def __init__(self, counter):
        print("ReduceCounter init")
        self.counter = counter

    async def handler(
        self,
        keys: list[str],
        datums: AsyncIterable[Datum],
        output: NonBlockingIterator,
        md: Metadata,
    ):
        print("ReduceCounter handler")
        async for _ in datums:
            print("ReduceCounter async")
            self.counter = 1
            msg = json.dumps({
                "count": self.counter,
            })
            await output.put(Message(str.encode(msg), keys=keys))

if __name__ == "__main__":
    print("Starting processor1")
    grpc_server = ReduceStreamAsyncServer(ReduceCounter, init_args=(0,))
    grpc_server.start()

apiVersion: numaflow.numaproj.io/v1alpha1
kind: Pipeline
metadata:
  name: pipeline-vibrationsensor
spec:
  vertices:
    # Pipeline input
    - name: in
      scale:
        min: 1
      source:
        kafka:
          brokers:
            - kafka-broker:9092
          topic: mytopic
          consumerGroup: my-consumer-group
        transformer:
          builtin:
            name: eventTimeExtractor
            kwargs:
              expression: sprig.trim(string(json(payload).timestamp))
    # Process
    - name: reduce-sliding
      partitions: 1
      udf:
        container:
          image: processor1:local
        groupBy:
          window:
            sliding:
              length: 60s
              slide: 10s
          keyed: false
          storage:
            persistentVolumeClaim:
              volumeSize: 10Gi
              accessMode: ReadWriteOnce
      containerTemplate:
        env:
          - name: NUMAFLOW_DEBUG
            value: "true" # DO NOT forget the double quotes!!!
    # Display the aggregated info in the log
    - name: log-output
      scale:
        min: 1
      sink:
        log: {}
  edges:
    - from: in
      to: reduce-sliding
    - from: reduce-sliding
      to: log-output

Expected behavior
One async event outputted per input when processing the window.
Screenshots

Environment (please complete the following information):

Kubernetes: kind version 0.22.0
Numaflow: v1.2.0-rc3
pynumaflow: 0.7.0a0

Additional context
numa logs:
Loading logs...
2024-04-13T14:41:17.432598047Z INFO numaflow.ReduceUDF-processor commands/processor.go:48 Starting vertex data processor {"version": "Version: v1.2.0-rc3, BuildDate: 2024-04-09T04:15:55Z, GitCommit: 4e172e808d31659b2364088d8a07fcf6381d4040, GitTag: v1.2.0-rc3, GitTreeState: clean, GoVersion: go1.21.9, Compiler: gc, Platform: linux/amd64"}
2024/04/13 14:41:17 Server info file /var/run/numaflow/reducer-server-info is not ready...
2024/04/13 14:41:18 Server info file /var/run/numaflow/reducer-server-info is not ready...
2024/04/13 14:41:19 Server info file /var/run/numaflow/reducer-server-info is not ready...
2024/04/13 14:41:20 Server info file /var/run/numaflow/reducer-server-info is not ready...
(keeps posting)

udf logs:
Loading logs...
+ python main.py
Starting processor1

Message from the maintainers:
Impacted by this bug? Give it a 👍. We often sort issues this way to know what to prioritize.

For quick help and support, join our slack channel.

Hey @th0ger! To enable reduce streaming, you need to set the streaming flag to true in the GroupBy vertex spec. You can refer to this example:
https://github.com/numaproj/numaflow/blob/b07681953f5ffb77515b717fb9bc3a5ca9e7dcd7/examples/13-streaming-reduce-pipeline.yaml#L32

Great, I missed that one.


refactor(config): default JWT expiration to 24 hours

Codecov Report

Merging #182 (d844e82) into master (37153e6) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #182   +/-   ##
=======================================
  Coverage   25.20%   25.20%
=======================================
  Files          61       61
  Lines        4086     4086
  Branches      759      759
=======================================
  Hits         1030     1030
  Misses       2776     2776
  Partials      280      280

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 37153e6...d844e82. Read the comment docs.


BigQuery daily table isn't being created

I have an app that allows people to search and get latest trends from github, www.gitlogs.com, It uses data from the latest daily bigquery table but it looks like no tables were created for today, [events_20160520]
Did something change?
Thanks for the awesome work on Githubarchive

Doh, looks like GitHub fiddled with their actor schema, which is why the BQ imports are bailing out.
Fixed the processing on this end, running the catchup imports now.. Should be done in an ~hour or two.


Nginx ingress, GKE and static IP

Hi,
Do you agree if I say that, currently, it's impossible to config a Nginx Ingress (kubernetes.io/ingress.class: "nginx") in GKE that uses a previously reserved (gcloud compute addresses create <static_ip_id> --global) static IP ?
Because I'm not able to make it work.
Until now, I understood that there're two possible Ingress configurations:

One with a Google Cloud HTTP(S) load balancer, a kubernetes.io/ingress.class: "gce" Ingress, and some NodePort Services. The Ingress will reference the static IP thanks to the kubernetes.io/ingress.global-static-ip-name: <static_ip_id> annotation.

The other one with a Google Cloud TCP load balancer, a kubernetes.io/ingress.class: "nginx" Ingress and a Service of type LoadBalancer selecting the Nginx Ingress (selector: ...). This time, the static IP will be referenced in the Service thanks to the loadBalancerIP spec configuration.

Do we agree on that ?
Because of the current limitations of the Google Cloud HTTP(S) load balancer, I chose to use the Nginx Ingress but I'm not able to bind the static to my cluster.
Do you have an idea to help me ?
My problem seems to be the same as explained here: https://github.com/kubernetes/ingress/issues/280

the EXTERNAL-IP of nginx-ingress-lb is keeping pending.

I'm using this version: nginx-ingress-controller:0.8.3 because the 0.9.0-betaX version don't work with kube-lego (https://github.com/jetstack/kube-lego)
I remarked that the --publish-service Nginx Ingress command doesn't exist in the 0.8.3 version. Could this be the problem ?
Answer to my own question: It's not. I deployed the https://github.com/kubernetes/ingress/tree/master/examples/static-ip/nginx with a pre-reserved static IP and it doesn't work. The Ingress never get associated to the static IP
Thanks,
Jules
:)

Ok after some tests with the "static ip" example, I could affirm that we can bind a Google Cloud pre-reserved static IP to a Nginx Ingress if the static IP is a regional one.
But It seems not to work with global IPs.
Is this a normal behavior ? is this documented somewhere ?

But It seems not to work with global IPs.

ping @nicksardo

It's documented on the GCE side at https://cloud.google.com/compute/docs/load-balancing/network/forwarding-rules.

OK thanks. Maybe it could be useful to explain that in your doc too, no ?

@guizmaii can we close this issue?

Hi,
can someone add the correct annotation to bind the regional static IP?
I can't seem to find it anywhere.
Thanks :)

As far as I know, there isn't an annotation to bind to the regional IP.  Instead, you reserve a regional IP and then use it as the IP address inside your yaml file.
spec:
  type: LoadBalancer
  externalTrafficPolicy: Local
  loadBalancerIP: @GKE_STATIC_IP_ADDRESS  # static IP pre-allocated.

Yes, I git it eventually :)
Thanks !
On Oct 23, 2017 23:05, "jdalegonzalez"<EMAIL_ADDRESS>wrote:

As far as I know, there isn't an annotation to bind to the regional IP.
Instead, you reserve a regional IP and then use it as the IP address inside
your yaml file.
spec:
type: LoadBalancer
externalTrafficPolicy: Local
loadBalancerIP: @GKE_STATIC_IP_ADDRESS  # static IP pre-allocated.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/ingress-nginx/issues/1281#issuecomment-338780249,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIILSD8bgQuvs9kMS-AZxee9-znLZhr8ks5svPGWgaJpZM4PJCTj
.

The configuration suggested by @jdalegonzalez does not work for me. My ingress controller load balancer gets the correct fixed IP but every request returns a 503. @itaimalek What ended up being a working configuration for you?

Did you look at the ingress logs?  503 is bad gateway, right? I had this
problem when the ingress couldn't load the GeoLite.dat file due to lack of
memory. For me, removing the memory constraint in the yaml file solved it.
On Fri, Apr 6, 2018, 7:32 PM amorsillo<EMAIL_ADDRESS>wrote:

The configuration suggested by @jdalegonzalez
https://github.com/jdalegonzalez does not work for me. My ingress
controller load balancer gets the correct fixed IP but every request
returns a 503. @itaimalek https://github.com/itaimalek What ended up
being a working configuration for you?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/ingress-nginx/issues/1281#issuecomment-379410761,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABZ6hNldZ5pp19H0raM8IOtOKB3EanG_ks5tl_sCgaJpZM4PJCTj
.


Bad link on this page

Bad Link on this page: just before the routing example there are two links, one to "DMZ between Azure and your on-premises datacenter" and one to " DMZ between Azure and the Internet", but they both lead to the first article.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 38bd69ac-a1b5-a401-184d-37b55188a7c4
Version Independent ID: ef976d45-36eb-8a32-4b29-ae03412165d2
Content: Azure virtual network traffic routing
Content Source: articles/virtual-network/virtual-networks-udr-overview.md
Service: virtual-network
GitHub Login: @malopMSFT
Microsoft Alias: malop

@RickB-2840
Thanks for the feedback! I have assigned the issue to content author to check and update the document as appropriate.

@malopMSFT
Can you please check and add your comments on this doc update request as applicable.

Please assign to @allegradomel

@allegradomel Can you please check this issue.

@RickB-2840 Thanks for bringing this to our attention. Removed incorrect link.
#please-close


AccessToken can be passed in via an env variable

Made the following changes

User can create a local.env file in the SmartThingsTerminal directory with a STT_ACCESSTOKEN value and this will be used. CommandLine still takes precedence. local.env is also ignored by Git
Created new Startup class that will determine how to populate the Options. Order is CommandLine, Env File, System Environment variables
Copy env file to build output directory if present

Happy to make amendments (and wont be offended if you dont take the work!). At the moment, you still get errors printed in the terminal if you are not using CommandLine, but you don't see them.

Thanks @ross-p-smith for the PR!
Please can you add some additional docs on setting either via an env variable or file here: https://github.com/daltskin/SmartThingsTerminal#command-line

Thanks @ross-p-smith for the PR!
Please can you add some additional docs on setting either via an env variable or file here: https://github.com/daltskin/SmartThingsTerminal#command-line


vscode-insiders-portable doesn't update

When I run code-insiders, it notifies me about update after a while, but scoop doesn't reflect it.
It incorrectly states that a newest version is already installed.

When there is vscode update. Run scoop update vscode-insiders-portable -kf. It's nightly version, which has always same URL, so hash checks would fail often.

Closing because this is not a bug/problem and a workaround exists.


zed lake drop confirmation

Zed lake drop should ask for confirmation before unrecoverably deleting a pool.

Indeed, though I can also imagine needing a -force style of option for those who are running the command via automation and accept the risk.

Verified in Zed commit a8815cb.
First we'll use zed lake commands to do this at the filesystem layer.  There is no going back... [y|n]
y
pool deleted: snmplogs

$ zed lake ls
httplogs 1uB3643M6mEOMktW9cISOfy5pdi key ts order desc

$ zed lake drop -p httplogs
Are you sure you want to delete pool "httplogs"? There is no going back... [y|n]
n
operation canceled

$ zed lake ls
httplogs 1uB3643M6mEOMktW9cISOfy5pdi key ts order desc

$ zed lake drop -f -p httplogs
pool deleted: httplogs

$ zed lake ls
[no output]

Then we can repeat the same against a zed lake serve, hitting the API via zapi.
In one window:
$ zed lake serve
{"level":"info","ts":1624125121.1773381,"msg":"Open files limit raised","limit":24576}
{"level":"info","ts":1624125121.178557,"logger":"core","msg":"Started"}
{"level":"info","ts":1624125121.1787782,"logger":"httpd","msg":"Listening","addr":"[::]:9867"}
...

 There is no going back... [y|n]
y
pool deleted: snmplogs

$ zapi ls
httplogs 1uB3koX4oZJqfx57aic333UrMtr key ts order desc

$ zapi drop -p httplogs
Are you sure you want to delete pool "httplogs"? There is no going back... [y|n]
n
operation canceled

$ zapi ls
httplogs 1uB3koX4oZJqfx57aic333UrMtr key ts order desc

$ zapi drop -f -p httplogs
pool deleted: httplogs

$ zapi ls
[no output]

Thanks @mattnibs!


Properly handle FP16 in D.Normal

Rel. 6168.
cuRAND supports only FP32 and FP64. This PR fixes D.Normal, which uses cupy.random, to handle FP16 properly to sample.

Jenkins, test this please.

Jenkins CI test (for commit<PHONE_NUMBER>f9620d16e857b1514dac5e75202d24, target branch master) failed with status FAILURE.
(For contributors, please wait until the reviewer confirms the details of the error.)


[review] Fix get element bytes

getElementBytes and ElementHandle::getAsBytes weren't returning any value due to a misuse of std::vector and std::copy.
@krocard @tcahuzax please review.
@OznOg : this might interest you.

[ ]   General Comment
 There seems to be an issue with appveyor's report but it did succeed: https://ci.appveyor.com/project/parameter-framework/parameter-framework/build/3.0.0-608
 :-1:

This pull request is now managed with CodeReviewHub. Refresh.

There seems to be an issue with appveyor's report but it did succeed: https://ci.appveyor.com/project/parameter-framework/parameter-framework/build/3.0.0-608

:-1:

:shipit:


x/pkgsite: package removal request for "go.software.jfrech.com/disk"

What is the path of the package that you would like to have removed?
go.software.jfrech.com/disk
Are you the owner of this package?
Yes.
What is the reason that you could not retract this package instead?
The package was published in error and has no users.

Related Issues and Documentation

x/pkgsite: package removal request for github.com/grhx/disgord #66932 (closed)
x/pkgsite: package removal request for github.com/jfrech/tbp #66920 (closed)
x/pkgsite: package removal request for github.com/jeaguil/go-mesencryp #68003 (closed)

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

I have verified that the content of github.com/frech identifies frech.com as a trusted domain, so this request is not malicious.

Done. Please allow a few days for config changes to take effect.

I have verified that the content of github.com/frech identifies frech.com as a trusted domain, so this request is not malicious.

For the record, my comment is ass-backwards: the correct check is that the module's domain (go.software.jfrech.com/disk) trusts the GitHub account (github.com/jfrech), for example by naming it in a meta-tag returned by https://go.software.jfrech.com/disk?go-get=1.


net: using File methods on Conn/Listener/PacketConn disables non-blocking I/O and runtime-integrated network poller's deadline features

Calling a network connection's File() method prevents deadlines from working.
This won't timeout correctly:
c, _ := net.ListenUDP("udp", &net.UDPAddr{IP: net.IP{127, 0, 0, 1}, Port: 9999})
fmt.Println("timing out in 1s")
c.SetReadDeadline(time.Now().Add(time.Second))

// calling File() removes the ability to use deadlines
_, _ = c.File()

buf := make([]byte, 1024)
_, e := c.Read(buf)
fmt.Println(e)

It would be nice if deadlines still worked when a socket is in blocking mode, but if it's not possible this should at least be documented.

See  #24942.


Support for reverse connections

First of all let me say this seems like a really interesting project!
One thing I think it could also be useful for is remote access to IoT devices. IoT devices often sit behind a NAT and only have outbound HTTP access. Granted, sometimes they might not even have outbound HTTP/3 access due to UDP restrictions but I think those days are numbered and those cases are limited. These devices sometimes also have laggy Internet connections over 2G (for which SSH3 seems like a good fit). Therefore it would be beneficial if SSH3 supported a reverse persistent connection. Where the "client" sets up a persistent connection to a server (like for example autossh).

Thanks for the feedback !
That would be great indeed. One "easy" way to achieve this would be to do reverse UDP port forwarding and then connect to the device using that, tunnelling the inbound connections through the UDP reverse tunnel.
I am a bit overloaded right now, so I might not implement this in the coming days but reverse port forwarding is for sure in the list of important features to implement next :-)

There are numerous ways to achieve it, e.g. with the gost.run tool. You can make reverse connections (TCP  / UDP ) to machines behind NAT.

I have been working on implementing this functionality and submitted a pull request for this (https://github.com/francoismichel/ssh3/pull/148). In OpenSSH, the client sends a GLOBAL_REQUEST "tcpip-forward" message with information regarding reverse port forwarding, but in SSH3, it is not clear how these global messages are sent, so I used a channel request for that. More details are included in the pull request. Anyhow, I do not implement special UDP tunnels for reverse connections, relying only on the already existing SSH3 messages and channels framework.


4.6 Isnt out yet,

Describe your bug here.
The Bug is. that ron 4.6 isnt out yet
Please fix
Command Prompt/Terminal logs (if existing)
source/menus/DesktopMenu.hx:100: characters 6-12 : Warning : Local variable button might be used before being initialized

Are you modding a build from source or with Lua?
Lua
What is your build target?
HTML5
Did you edit anything in this build? If so, mention or summarize your changes.
I did jackshit

epoc

hes so good

This is a warning, you can safely ignore it. The local variable button hasn't been initialized so Haxe warn us that there might be references to it before being actually initialized, which causes a null object reference. If this warning gets annoying, just set the variable to null by default.
Thank you for your patience!


How to export as a SavedModel?

I want to deploy locally trained TensorFlow graph file to a centos server. the instructions shows that I need a SavedModel. How can I export as a SavedModel use tensorflow-for-poets-2.

see https://stackoverflow.com/questions/37237940/how-to-serve-retrained-inception-model-using-tensorflow-serving/37364902


Increase FindGitHubRelease timeout

The timeout for finding the latest github release is set to 5 seconds currently and this causes a timeout error.
Expected Behaviour

The get timeout should be able to find the latest version and install the app.
Current Behaviour

arkade get k3sup                                                                                 ✔  6s   11:12:55  
Downloading: k3sup
2022/05/19 11:22:37 Looking up version for k3sup
Error: Head "https://github.com/alexellis/k3sup/releases/latest": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

Are you a GitHub Sponsor yet (Yes/No?)

[ ] Yes
[x] No

Possible Solution

Increase the timeout value in the FindGIthubRelease function to 10 seconds: https://github.com/alexellis/arkade/blob/0acde43ee7abf23dc2f0164faad5ccb352cef3a2/pkg/get/get.go#L178-L185
Steps to Reproduce (for bugs)

arkade get k3sup

Your Environment

Operating System and version (e.g. Linux, Windows, MacOS):

Linux<PHONE_NUMBER>P <IP_ADDRESS>-microsoft-standard-WSL2 #1 SMP Wed Aug 25 23:20:18 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

NAME="Ubuntu"
VERSION="20.04.4 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.4 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

What arkade version is this?

            _             _
  __ _ _ __| | ____ _  __| | ___
 / _` | '__| |/ / _` |/ _` |/ _ \
| (_| | |  |   < (_| | (_| |  __/
 \__,_|_|  |_|\_\__,_|\__,_|\___|

Open Source Marketplace For Developer Tools

Version: 0.8.24
Git Commit: 0acde43ee7abf23dc2f0164faad5ccb352cef3a2

 🐳 arkade needs your support, learn more: https://my.arkade.dev

How do you know that a longer timeout would fix this? The GitHub HTTP URL should be instant and never take more than a few milliseconds.
You could try a local patch to see, but my suspicion is that you have some local networking issues.
Alex

Nonetheless, I think the error message returned from the tool is very cryptic and not so user friendly honestly.
Error: Head "https://github.com/alexellis/k3sup/releases/latest": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
Could be returned like this
Error: Timeout while waiting for getting response back from the release repository

There's no reason that I can think of why GitHub would take more than a few milliseconds to complete a HTTP request. Increasing the timeout is the wrong solution, but you're welcome to do a local build to see if it's different.
You may not like the error message, however it's from the Go standard library, so I'd suggest you raise an issue with Google and see if they can accommodate you.
As mentioned before, you may need to check your own networking.
Do you live in a country with a restrictive or invasive proxy/interception policy? Or do you use a work VPN? Either of those points could cause GitHub to be blocked.

I've tested it with the extended timeout of 10 seconds and I can confirm that works.
It is however on an company network and on rerouting the traffic through another VPN it works as expected with the 5 second timeout.
So it is indeed a networking issue.
Perhaps a timeout flag or some documentation on this subject can help on preventing this issue with other user on a company network in the future?

@sagneessens please feel free to go ahead and change the timeout to 10 seconds. Thank you for working through the comments with me.

/add label: status/approved


[x86] Manual choice of a partition to be mounted as /mnt/hdd

As discussed in https://github.com/rootzoll/raspiblitz/issues/2104#issuecomment-950288141
working with different platforms including VMs the biggest problem seems to be automating which disk / volume / partition to choose to become /mnt/hdd.
For X86 we could avoid this by offering a manual step (with some dialog help) to choose from the available disks and make sure no boot or OS partition is getting overwritten.
I remember @nyxnor mentioned a tool to help listing the available partitions in a dialog like interface already, but can't find it now.

Found the comment, project.
But looking at it, python is unecessary if I can do the same with dialog/whiptail and shell

Instead of a manual choice the logic for now is to use the second (nonOS) disk if running on x86_64 including VMs.


Handling manual date input

I have recently started using flatpickr. And, I am confused about how to tackle manual input. When I type a valid date manually, the change event is never called.
<input type="text" placeholder="Select Date.." class=date>

const fp = flatpickr(".date", {
  allowInput: true,
  onChange(_dates, currentDateString, _picker, _data){
    var divEl = document.createElement("div");
    divEl.innerHTML = `[${new Date().toISOString()}] change: ${currentDateString}`;
    document.querySelector("div").appendChild(divEl);
  },
  parseDate(date){
    var divEl = document.createElement("div");
    divEl.innerHTML = `[${new Date().toISOString()}] parsing ${date}`;
    document.querySelector("div").appendChild(divEl);
  }
});

Link to JSFiddle: https://jsfiddle.net/sayan751/ad7p3whv/
I am wondering if I need to attach a custom event listener on the input?
Your Environment

flatpickr version used: 4.5.2
Browser name and version:

Firefox 63.0
Chrome 69.0.3497.100

OS and version: Windows Server 2016

You need to press enter after you've finished entering the date. Checked your fiddle and works just fine after pressing enter.

@aliniacb Though it works, it is very counterintuitive. When a user fill up a form, the user keys in the input in one field and press tab to move to next field. "enter" is usual for submitting a form. It is much better if the intuitive user interactions are supported.

Fair enough but in our case you can't just trigger the onchange event for every keystroke as you will be sending invalid dates by the time you have inserted the date in full. I think the enter key makes total sense here. It's like asking for a user password and submitting it with every keystroke.

I think flatpickr should expose an event for when users manually enter date input. In this case, perhaps the blur event would be a sensible option. That avoids the problems of firing for every key stroke and seems to capture the user intent for applications that do not require hitting enter for the form submission. Here is an example fiddle with a proposed onBlur hook:
https://jsfiddle.net/pjd62va5/

I think flatpickr should expose an event for when users manually enter date input. In this case, perhaps the blur event would be a sensible option. That avoids the problems of firing for every key stroke and seems to capture the user intent for applications that do not require hitting enter for the form submission. Here is an example fiddle with a proposed onBlur hook:
https://jsfiddle.net/pjd62va5/

Don't know what to think tbh. This is a date picker and by definition it's intended to offer an easier alternative to manual date input. If you need a manual date input just use a regular input element and your done  <input type="date">

I can see the use case for updating the picker on blur if a new date was input. I will see what can be done to accomplish this, either via plugin or an option.

@aliniacb

It's like asking for a user password and submitting it with every keystroke.

... expect a date field is almost never a part of login form.

If you need a manual date input just use a regular input element and your done <input type="date">

It is actually about offering flexibility.
@chmln Thank you for the awesome control. It would be great if this supported out of the box. My workaround for this problem is also to leverage the blur event as suggested by @efx. Working fiddle: https://jsfiddle.net/sayan751/4xvhq23L/.

@Sayan751 Run in to this exact issue on an application where users fill in the date within the input field directly and the change didnt fired as expected.
What I did is manually fire the change whenever the hidden input field receives an update. Wait 10ms to make sure this updates next draw cycle such that the value is actually in there.
$(instance._input).bind('change', function () {
    // Time out to make sure we fire change on the next cycle
   setTimeout(function () {
       $date_picker.change();
    }, 10);
});

Hope this helps.

@Montaldo Thank you for the workaround. In fact, I am using similar workaround based on "blur" event. However, it would be lot better if flatpickr supports this out-of-box :)

I have recently started using flatpickr. And, I am confused about how to tackle manual input. When I type a valid date manually, the change event is never called.
<input type="text" placeholder="Select Date.." class=date>

const fp = flatpickr(".date", {
  allowInput: true,
  onChange(_dates, currentDateString, _picker, _data){
    var divEl = document.createElement("div");
    divEl.innerHTML = `[${new Date().toISOString()}] change: ${currentDateString}`;
    document.querySelector("div").appendChild(divEl);
  },
  parseDate(date){
    var divEl = document.createElement("div");
    divEl.innerHTML = `[${new Date().toISOString()}] parsing ${date}`;
    document.querySelector("div").appendChild(divEl);
  }
});

Link to JSFiddle: https://jsfiddle.net/sayan751/ad7p3whv/
I am wondering if I need to attach a custom event listener on the input?
Your Environment

flatpickr version used: 4.5.2

Browser name and version:

Firefox 63.0
Chrome 69.0.3497.100

OS and version: Windows Server 2016

I also need that capability, because my users already get use to with jquery-ui datepicker which is have that flexibility, sadly jquery-ui not easy to use in vuejs environment. I hope @aliniacb and @chmln consider to accommodate this need. Thanks.

I've suggested my team to move away from this plugin. This is definitely a bug and it was not happening with v2.5.7.

This is how I think it could be fixed (in index.js)

In bindEvents() function, add this:

            if (!self.config.static && self.config.allowInput)
                bind(self._input, "blur", onBlur);

Add the blur handler

        function onBlur(e) {
            var isInput = e.target === self._input;

            if (isInput) {
                self.setDate(self._input.value, true, e.target === self.altInput
                    ? self.config.altFormat
                    : self.config.dateFormat);
            }
        }

I just put them near the onKeyDown one

Will this be fixed one day or not? If not, we'll have to stop using this plugin, as it's not working like an html form control should be working...

@dietergerts we're all working on this in our spare time, so you may either wait patiently or submit a pull request yourself to speed things up.

I have got this working in a plugin (with support for partially entered dates) and hope to submit a PR soon

Another option is for the close event to also have access to manually changed input.

The existing solutions felt a bit unnatural to me, so I ended up watching for a valid date, and when appropriate it either moves to the selected month, or changes the date immediately if a "full" date was entered and the cursor is at the end.
If there was a way to change just the calendar selection without modifying the edit box, that would make life even easier.
Here's an example (sorry about the jquery)
function dateInit(ctrlSelector, initialValue) {
    var dateInput = $(ctrlSelector);
    dateInput.val(initialValue);

    var fp = flatpickr(ctrlSelector, {
                            allowInput: true,
                            defaultDate: new Date(initialValue)
                        });

    dateInput.on('blur', function () {
        if (!isNaN(new Date(dateInput.val()))) {
            fp.setDate(dateInput.val());
        }
    }).on('keyup', function () {
        if (!isNaN(new Date(dateInput.val()))) {
            // if the cursor is at the end of the edit and we have a full sized date,
            // allow the date to immediately change, otherwise just move to the
            // correct month without actually changing it
            if (dateInput[0].selectionStart >= 10)
                fp.setDate(dateInput.val());
            else
                fp.jumpToDate(dateInput.val());
        }
    });
}

Any updates on this one? This seems to be such a obvious behavior of any calendar widget, but it's very frustrating that it was not fixed for more than 3 years already :(
Current proposed solutions overview:
@efx's (https://jsfiddle.net/pjd62va5/) just doesn't work
@Sayan751's (https://jsfiddle.net/sayan751/4xvhq23L/) seems like working for handling internal data, but it doesn't update the calendar
@Montaldo's jQuery, but even when rewritten without it, the doesn't update the calendar, same as above
@smilingkite's is only for onClose which has nothing to do with initial issue
@jameskilts's (https://jsfiddle.net/0kxswo6h/) is the only one which is actually working somehow as expected.
Here is the fiddle reworked without jQuery https://jsfiddle.net/f5e37hxL/. However it still has issues with month/year changes (put cursor to month and change month number - calendar will jump to the month, but will not set the date) which is a bit annoying,

@matt17r Any idea when this hits npm?

@chmln @matt17r I tried linking the master branch. The changes seems to work. The current code in master branch also fixes https://github.com/flatpickr/flatpickr/issues/2019.
When are you guys considering a new release? I am seeing 37 commits made to master since last release (4.6.3 in Sep 2019) https://github.com/flatpickr/flatpickr/compare/v4.6.3...master, but no new version is released lately. I would say it is about time guys :)

In the meantime, here's a workaround I figured out that seems to update the flatpickr value correctly on input blur. The gist is that I grab the input used by flatpickr and add a blur event handler that will set the pickr date to the parsed input value. If altInput is true, flatpickr hides the original one and creates a replacement. This method can handle both cases.
function initPickr(el) {
  const pickr = flatpickr(el, {
    allowInput: true,
    dateFormat: "Z",
    altFormat: "Y-m-d H:i",
    altInput: true,
  });

  /* Add a blur event handler on input  used by flatpickr (created if `altInput` is `true`)
   * so that changing then leaving it (ie hit tab) will update the saved date value.
   * See https://github.com/flatpickr/flatpickr/issues/1551 */
  const { altInput, altFormat, dateFormat } = pickr.config;
  const input = altInput ? pickr.altInput : el;
  const format = altInput ? altFormat : dateFormat;

  function updateOnBlur(e) {
    pickr.setDate(e.target.value, true, format);
  }

  input.addEventListener("blur", updateOnBlur);

  return {
    destroy: () => {
      if (pickr) {
        input.removeEventListener("blur", updateOnBlur);
        pickr.destroy();
      }
    },
  };
}

Nevermind how I use the function (Svelte framework component initialization). I ensure to remove the listener and detroy the pickr on component unmount, but that is dependant on implementation.

I'm having the same problem but with time input rather than date input.
I use the following configuration:
      datePickerConfig: {         altInput: true,         altFormat: "l, m/d/Y h:i K",         allowInput: true,         dateFormat: "Z",         enableTime: true,       },
It works if I change the time in the input area or via the up/down UI function, but if I type directly into the hours field, the new value does not get passed to the js with the input or blur event.  See attached image for the hours field that I mean.

In this example, the time started as 7:24 am, but I changed it to 11 by typing.  When I hit enter or click somewhere outside of flatpickr, the 7:24 am value remains unchanged when it should change to 11:24.

May 2022 and manual input still isn't handled correctly. I'm on latest version (4.6.13), with allowInput set to true. "Tab" to and from flatpickred-input doesn't work, and the underlying input's value doesn't seem to be updated when date is set manually in flatpickerd-input. @davidsavoie1's solution works well regarding the latter problem, but as for the "Tab" problem it's not so easy to get around.
If someone has an easy solution, I take it :pray:

I did some digging into the way I'm currently handling it in my project (similar and probably inspired by @davidsavoie1's), versus how onBlur has been implemented in the main repo, to determine if I can remove my workaround, or if it could be helpful to others. @rooselle I'm not sure how our circumstances differ, as I'm not using an altIInput and I don't see any issues at all with the workaround applied.
However, I was not able to remove this workaround, having had some issues doing so: I seem to be having fine results when tabbing, but don't get an onChange when documentClick occurs. So, for me at least, the problem seems to be (again: for the non-workaround solution merged in master) that although the onBlur code does call setDate with the triggerChange argument set to true, the documentClick event that occurs before the blur, calling setDate with triggerChange as false, and then by time the onBlur runs, the valueChanged condition has become false.
Not sure if I handle it correctly, but my workaround onBlur compares the new date (ref.selectedDates[0]) with the old value (from the same source) stored from each onReady.


Automate generating the changelog

reference: https://keepachangelog.com/en/1.1.0/

all PRs should contain changelog entry
in release PR [Unreleased] would be changed to upcoming version

probably we can drop requirement for asking for release-note in PR message as it's useless.

I'd prefer using release-notes block rather than external tools, as we're already using upstream tools. This is being actively developed, but I'll follow up about that.

OK, here is bunch of obvious observations:

release-notes was not used at all while kubeone existed
creating meaningful changelog entry in the PR with original change is most simplest thing to do and doesn't require any tools

We have not used the block yet, but that doesn't mean we'll never use it. 🙂
I don't see what's the release-block block doing differently. It's here to be used for the changelog and release notes, but we just don't have automation to fetch notes.

I argue that making manual changes in changelog.md is superior to release-block for at least 2 reasons:

the [Unreleased] section in changelog.md of master branch is always up-to-date and allow to see what's coming in normal way. In release process all it takes is to rename [Unreleased] to desired version.
it doesn't require any tools, just add plain text in meaningful section of changelog.md

Regarding the first point, nobody holds us from doing that right now.
As of the second point, somebody must change it in the PR:

In case it needs to be changed, they need to push a new commit which slows the pipeline
We can't change it ourselves without author interacting (push should be possible but see the first point)
You don't have automation to verify it's there
We'll not be able to potentially use tools such as release notes viewer, etc...

Cargo-culting release-note didn't brought us changelog to date, so maybe we need to "just" start wring it and stop waiting for abstract mechanized tools which we didn't even intended to use until now?

Have we even tried it? No. Let's first try it.

nobody holds us from doing that right now

Writing changelog manually and generating is mutually exclusive, as generated would override manual changes.

We probably never want to have fully automated changelog. We want a tool that generates changelog and then write it manually.
For now, I'd collect all release notes and build the initial changelog. Then let's see what should we do next.
I'll explain my reasoning once I'm back from the vacation.

For v0.6.0:

create a changelog file from the release notes

For post-v0.6.0:

start using automation and retro on it

Created a PR.
until merged
/lifecycle active
/assign

The PR is merged and there's the CHANGELOG.md file in the repository's root. Unassigning myself for now.
/unassign

Punting to v0.7.0 because the v0.6.0 part is now done.

/remove-lifecycle stale

/remove-lifecycle stale
/lifecycle frozen

This is still relevant. We should investigate tools to automate this instead of writing the changelog by hand.
/reopen

/remove-lifecycle stale


Constructor behaviour

I have a simple application from the getting started tutorial.
It works as expected, but to use it in another application, I tried to adapt it to MVVM, which I was not able to.
I narrowed it down to the InitializeComponent(); method which does some magic I apparently cannot replicate.
Minimum Example:
MainWindow.xaml:
<Window [...]>
  <Grid>
    <nodenetwork:NetworkView x:Name="networkView" />
  </Grid>
</Window>

MainWindow.cs:
public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();

        // If this line is called after InitializeComponent(); it does not set the ViewModel correctly
        // networkView = new NetworkView();

        var network = new NetworkViewModel();
        networkView.ViewModel = network;
    }
}

I tried to debug this but I got nowhere, calling the constructor of the NetworkView does not seem to create an operational object, how do I create a valid NodeNetwork object without relying on InitializeComponent();?

You should (almost) never have to create a view manually in the C# code.
When the .xaml file is compiled, a second .cs file auto-generated which includes the InitializeComponent() code. This function instantiates all the views as they are specified in the xaml file. Note that InitializeComponent() does much more than just constructing the object. It also configures its properties, sets up animations, adds it to the visual tree, ... By calling networkView = new NetworkView() manually, you are replacing your local reference to this view, but you have not replaced it everywhere else in the WPF system.
TLDR: Simply remove the line you have commented out. Use the networkView instance that is created by InitializeComponent.

Alright


update data model and deployment tutorial

@MichaelCzcz I added a backspace in the md file of the data model tutorial


Guide & Features edits

Copy edits to:
guide/index.jade
guide/architecture.jade
/public/features.jade
guide/typescript-configuration.jade
guide/npm-packages.jade
guide/_data.json

OK, nitpicky review of Architecture is done. Please let me know if you don't understand or agree with any of the feedback.

OK, review all done. @wardbell would you (or a delegate) like to review the TS-only pages? I glanced at the npm & TS config pages, but I didn't try to understand them.

Just a couple more things, none of them urgent. Please resolve the conflicts. Then, if we don't hear from @wardbell or @naomiblack, let's just push the changes we have.

LGTM! I'll merge this...