JBD-BMS, SOC different in Xiaoxiang app and dbus-serialbattery

Describe the bug
The new SOC calculation leads to different SOC values shown in the Xiaoxiang app (via bluetooth on iOS) and in dbus-serialbattery.
https://github.com/Louisvdw/dbus-serialbattery/blob/86a6b956e15bee21d5a298283c9d121f0eb82a02/etc/dbus-serialbattery/bms/lltjbd.py#L405
I think the issue here is that two values can be set for the capacity in the BMS: "total battery capacity" (in my case 280 Ah) and "total cycle capacity" (in my case 260 Ah). The JBD-BMS uses the cycle capacity as 100% SOC value, e.g. when 260 Ah is the remaining capacity and 260 Ah is set as "total cycle capacity" then the SOC is 100%. The calculation in serialbattery however uses the total capacity value as 100% SOC value, in this case 280 Ah. As a result the calculation in the example is 260 Ah/280 Ah which leads to 92.7% SOC. In this case 100% is never reached. This can lead to multiple problems, e.g. charge current is not reduced although battery is already full etc.
Unfortunately the serial data read via command_general only includes "total battery capacity" and not "total cycle capacity". A workaround may be to set both total and cycle capacity to the same value in the BMS.
I suggest to revert this change and use the soc reported by the BMS although it is an integer value. Otherwise provide a recommendation to set cycle and total capacity to the same value.
How to reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
SOC reported via BMS and calculated in serial-battery should be the same
Driver version
1.0.20230531
Venus OS device type
Raspberry Pi
Venus OS version
3.00
BMS type
Smart BMS (LLT, JBD, Overkill Solar)
Cell count
16
Connection type
Serial USB adapter to RS485
Config file
[DEFAULT]

; If you want to add custom values/settings, then check the values/settings you want to change in "config.default.ini"
; and insert them below to persist future driver updates.

; Example (remove the semicolon ";" to uncomment and activate the value/setting)
MAX_BATTERY_CHARGE_CURRENT = 100.0
MAX_BATTERY_DISCHARGE_CURRENT = 100.0

; --------- Cell Voltages ---------
; Description: Cell min/max voltages which are used to calculate the min/max battery voltage
; Example: 16 cells * 3.45V/cell = 55.2V max charge voltage. 16 cells * 2.90V = 46.4V min discharge voltage
MIN_CELL_VOLTAGE   = 2.900
; Max voltage can seen as absorption voltage
MAX_CELL_VOLTAGE   = 3.470
; was 3.450
FLOAT_CELL_VOLTAGE = 3.45
; was 3.375

; --------- BMS disconnect behaviour ---------
; Description: Block charge and discharge when the communication to the BMS is lost. If you are removing the
;              BMS on purpose, then you have to restart the driver/system to reset the block.
; False: Charge and discharge is not blocked on BMS communication loss
; True: Charge and discharge is blocked on BMS communication loss, it's unblocked when connection is established
;       again or the driver/system is restarted
BLOCK_ON_DISCONNECT = False

; --------- Charge mode ---------
; Choose the mode for voltage / current limitations (True / False)
; False is a step mode: This is the default with limitations on hard boundary steps
; True is a linear mode:
;     For CCL and DCL the values between the steps are calculated for smoother values (by WaldemarFech)
;     For CVL max battery voltage is calculated dynamically in order that the max cell voltage is not exceeded
LINEAR_LIMITATION_ENABLE = True

; Specify in seconds how often the linear values should be recalculated
LINEAR_RECALCULATION_EVERY = 60
; Specify in percent when the linear values should be recalculated immediately
; Example: 5 for a immediate change, when the value changes by more than 5%
LINEAR_RECALCULATION_ON_PERC_CHANGE = 5

; --------- Charge Voltage limitation (affecting CVL) ---------
; Description: Limit max charging voltage (MAX_CELL_VOLTAGE * cell count), switch from max voltage to float
;              voltage (FLOAT_CELL_VOLTAGE * cell count) and back
;     False: Max charging voltage is always kept
;     True: Max charging voltage is reduced based on charge mode
;         Step mode: After max voltage is reached for MAX_VOLTAGE_TIME_SEC it switches to float voltage. After
;                    SoC is below SOC_LEVEL_TO_RESET_VOLTAGE_LIMIT it switches back to max voltage.
;         Linear mode: After max voltage is reachend and cell voltage difference is smaller or equal to
;                      CELL_VOLTAGE_DIFF_KEEP_MAX_VOLTAGE_UNTIL it switches to float voltage after 300 (fixed)
;                      additional seconds.
;                      After cell voltage difference is greater or equal to CELL_VOLTAGE_DIFF_TO_RESET_VOLTAGE_LIMIT
;                      OR
;                      SoC is below SOC_LEVEL_TO_RESET_VOLTAGE_LIMIT
;                      it switches back to max voltage.
; Example: The battery reached max voltage of 55.2V and hold it for 900 seconds, the the CVL is switched to
;          float voltage of 53.6V to don't stress the batteries. Allow max voltage of 55.2V again, if SoC is
;          once below 90%
;          OR
;          The battery reached max voltage of 55.2V and the max cell difference is 0.010V, then switch to float
;          voltage of 53.6V after 300 additional seconds to don't stress the batteries. Allow max voltage of
;          55.2V again if max cell difference is above 0.080V or SoC below 90%.
; Charge voltage control management enable (True/False).
CVCM_ENABLE = True

; -- CVL reset based on cell voltage diff (linear mode)
; Specify cell voltage diff where CVL limit is kept until diff is equal or lower
CELL_VOLTAGE_DIFF_KEEP_MAX_VOLTAGE_UNTIL = 0.010
; Specify cell voltage diff where CVL limit is reset to max voltage, if value get above
; the cells are considered as imbalanced, if the cell diff exceeds 5% of the nominal cell voltage
; e.g. 3.2 V * 5 / 100 = 0.160 V
CELL_VOLTAGE_DIFF_TO_RESET_VOLTAGE_LIMIT = 0.080

; -- CVL reset based on SoC option (step mode)
; Specify how long the max voltage should be kept, if reached then switch to float voltage
MAX_VOLTAGE_TIME_SEC = 900
; Specify SoC where CVL limit is reset to max voltage, if value gets below
SOC_LEVEL_TO_RESET_VOLTAGE_LIMIT = 90

; --------- Cell Voltage Current limitation (affecting CCL/DCL) ---------
; Description: Maximal charge / discharge current will be in-/decreased depending on min and max cell voltages
; Example: 18 cells * 3.55V/cell = 63.9V max charge voltage
;          18 cells * 2.70V/cell = 48.6V min discharge voltage
;          But in reality not all cells reach the same voltage at the same time. The (dis)charge current
;          will be (in-/)decreased, if even ONE SINGLE BATTERY CELL reaches the limits

; Charge current control management referring to cell-voltage enable (True/False).
CCCM_CV_ENABLE = True
; Discharge current control management referring to cell-voltage enable (True/False).
DCCM_CV_ENABLE = True

; Set steps to reduce battery current
; The current will be changed linear between those steps if LINEAR_LIMITATION_ENABLE is set to True
CELL_VOLTAGES_WHILE_CHARGING   = 3.55, 3.50, 3.48, 3.30
; was 3.55, 3.50, 3.45, 3.30
MAX_CHARGE_CURRENT_CV_FRACTION =    0, 0.05,  0.5,    1

CELL_VOLTAGES_WHILE_DISCHARGING   = 2.70, 2.80, 2.90, 3.10
MAX_DISCHARGE_CURRENT_CV_FRACTION =    0,  0.1,  0.5,    1

; --------- Temperature limitation (affecting CCL/DCL) ---------
; Description: Maximal charge / discharge current will be in-/decreased depending on temperature
; Example: The temperature limit will be monitored to control the currents. If there are two temperature senors,
;          then the worst case will be calculated and the more secure lower current will be set.
; Charge current control management referring to temperature enable (True/False).
CCCM_T_ENABLE = True
; Charge current control management referring to temperature enable (True/False).
DCCM_T_ENABLE = True

; Set steps to reduce battery current
; The current will be changed linear between those steps if LINEAR_LIMITATION_ENABLE is set to True
TEMPERATURE_LIMITS_WHILE_CHARGING = 0,   2,   5,  10,  15, 20, 35,  40, 55
MAX_CHARGE_CURRENT_T_FRACTION     = 0, 0.1, 0.2, 0.4, 0.8,  1,  1, 0.4,  0

TEMPERATURE_LIMITS_WHILE_DISCHARGING = -20,   0,   5,  10, 15, 45, 55
MAX_DISCHARGE_CURRENT_T_FRACTION     =   0, 0.2, 0.3, 0.4,  1,  1,  0

; --------- SOC limitation (affecting CCL/DCL) ---------
; Description: Maximal charge / discharge current will be increased / decreased depending on State of Charge,
;              see CC_SOC_LIMIT1 etc.
; Example: The SoC limit will be monitored to control the currents.
; Charge current control management enable (True/False).
CCCM_SOC_ENABLE = True
; Discharge current control management enable (True/False).
DCCM_SOC_ENABLE = True

; Charge current soc limits
CC_SOC_LIMIT1 = 98
CC_SOC_LIMIT2 = 95
CC_SOC_LIMIT3 = 91

; Charge current limits
CC_CURRENT_LIMIT1_FRACTION = 0.1
CC_CURRENT_LIMIT2_FRACTION = 0.3
CC_CURRENT_LIMIT3_FRACTION = 0.5

; Discharge current soc limits
DC_SOC_LIMIT1 = 10
DC_SOC_LIMIT2 = 20
DC_SOC_LIMIT3 = 30

; Discharge current limits
DC_CURRENT_LIMIT1_FRACTION = 0.1
DC_CURRENT_LIMIT2_FRACTION = 0.3
DC_CURRENT_LIMIT3_FRACTION = 0.5

; --------- Time-To-Go ---------
; Description: Calculates the time to go shown in the GUI
;              Recalculation is done based on TIME_TO_SOC_RECALCULATE_EVERY
TIME_TO_GO_ENABLE = True

; --------- Time-To-Soc ---------
; Description: Calculates the time to a specific SoC
; Example: TIME_TO_SOC_POINTS = 50, 25, 15, 0
;          6h 24m remaining until 50% SoC
;          17h 36m remaining until 25% SoC
;          22h 5m remaining until 15% SoC
;          28h 48m remaining until 0% SoC
; Set of SoC percentages to report on dbus and MQTT. The more you specify the more it will impact system performance.
; [Valid values 0-100, comma separated list. More that 20 intervals are not recommended]
; Example: TIME_TO_SOC_POINTS = 100, 95, 90, 85, 75, 50, 25, 20, 10, 0
; Leave empty to disable
TIME_TO_SOC_POINTS = 100, 95, 90, 85, 75, 50, 25, 20, 10, 0
; Specify TimeToSoc value type [Valid values 1, 2, 3]
; 1 Seconds
; 2 Time string <days>d <hours>h <minutes>m <seconds>s
; 3 Both seconds and time string "<seconds> [<days>d <hours>h <minutes>m <seconds>s]"
TIME_TO_SOC_VALUE_TYPE = 2
; Specify in seconds how often the TimeToSoc should be recalculated
; Minimum are 5 seconds to prevent CPU overload
TIME_TO_SOC_RECALCULATE_EVERY = 60
; Include TimeToSoC points when moving away from the SoC point [Valid values True, False]
; These will be as negative time. Disabling this improves performance slightly
TIME_TO_SOC_INC_FROM = False

; --------- Additional settings ---------
; Specify only one BMS type to load else leave empty to try to load all available
; -- Available BMS:
; Daly, Ecs, HeltecModbus, HLPdataBMS4S, Jkbms, Lifepower, LltJbd, Renogy, Seplos
; -- Available BMS, but disabled by default:
; https://louisvdw.github.io/dbus-serialbattery/general/install#how-to-enable-a-disabled-bms
; Ant, MNB, Sinowealth
BMS_TYPE =

; Publish the config settings to the dbus path "/Info/Config/"
PUBLISH_CONFIG_VALUES = 1

; Select the format of cell data presented on dbus [Valid values 0,1,2,3]
; 0 Do not publish all the cells (only the min/max cell data as used by the default GX)
; 1 Format: /Voltages/Cell (also available for display on Remote Console)
; 2 Format: /Cell/#/Volts
; 3 Both formats 1 and 2
BATTERY_CELL_DATA_FORMAT = 1

; Simulate Midpoint graph (True/False).
MIDPOINT_ENABLE = False

; Battery temperature
; Specify how the battery temperature is assembled
; 0 Get mean of temperature sensor 1 to sensor 4
; 1 Get only temperature from temperature sensor 1
; 2 Get only temperature from temperature sensor 2
; 3 Get only temperature from temperature sensor 3
; 4 Get only temperature from temperature sensor 4
TEMP_BATTERY = 0

; Temperature sensor 1 name
TEMP_1_NAME = Temp 1

; Temperature sensor 2 name
TEMP_2_NAME = Temp 2

; Temperature sensor 2 name
TEMP_3_NAME = Temp 3

; Temperature sensor 2 name
TEMP_4_NAME = Temp 4

; --------- BMS specific settings ---------

; -- LltJbd settings
; SoC low levels
; NOTE: SOC_LOW_WARNING is also used to calculate the Time-To-Go even if you are not using a LltJbd BMS
SOC_LOW_WARNING = 20
SOC_LOW_ALARM   = 10

; -- Daly settings
; Battery capacity (amps), if the BMS does not support reading it
BATTERY_CAPACITY = 50
; Invert Battery Current. Default non-inverted. Set to -1 to invert
INVERT_CURRENT_MEASUREMENT = 1

; -- ESC GreenMeter and Lipro device settings
GREENMETER_ADDRESS  = 1
LIPRO_START_ADDRESS = 2
LIPRO_END_ADDRESS   = 4
LIPRO_CELL_COUNT = 15

; -- HeltecModbus (Heltec SmartBMS/YYBMS) settings
; Set the Modbus addresses from the adapters
; Separate each address to check by a comma like: 1, 2, 3, ...
; factory default address will be 1
HELTEC_MODBUS_ADDR = 1

; --------- Battery monitor specific settings ---------
; If you are using a SmartShunt or something else as a battery monitor, the battery voltage reported
; from the BMS and SmartShunt could differ. This causes, that the driver never goapplies the float voltage,
; since max voltage is never reached.
; Example:
;     cell count: 16
;     MAX_CELL_VOLTAGE = 3.45
;     max voltage calculated = 16 * 3.45 = 55.20
;     CVL is set to 55.20 and the battery is now charged until the SmartShunt measures 55.20 V. The BMS
;     now measures 55.05 V since there is a voltage drop of 0.15 V. Since the dbus-serialbattery measures
;     55.05 V the max voltage is never reached for the driver and max voltage is kept forever.
;     Set VOLTAGE_DROP to 0.15
VOLTAGE_DROP = 0.00

Relevant log output
@4000000064943c0e1962b204 INFO:SerialBattery:Starting dbus-serialbattery
@4000000064943c0e197a7fc4 INFO:SerialBattery:dbus-serialbattery v1.0.20230531
@4000000064943c0e19848a14 INFO:SerialBattery:Testing Daly
@4000000064943c0e212f1c0c ERROR:SerialBattery:>>> ERROR: No reply - returning
@4000000064943c0e213d1a14 INFO:SerialBattery:Testing Daly
@4000000064943c0e28e8d4ec ERROR:SerialBattery:>>> ERROR: No reply - returning
@4000000064943c0e2905cee4 INFO:SerialBattery:Testing Ecs
@4000000064943c0e2d19e40c ERROR:SerialBattery:>>> ERROR: No reply - returning
@4000000064943c0e2d24a5f4 INFO:SerialBattery:Testing HeltecModbus
@4000000064943c0f0fd5e2ec WARNING:SerialBattery:Error reading settings from BMS, retry (1/10): Checksum error in rtu mode: '\x12a' instead of 'a\x91' . The response is: '\x01\x01\x03\x12a' (plain response: '\x01\x01\x03\x12a')
@4000000064943c0f28767f64 WARNING:SerialBattery:Error reading settings from BMS, retry (2/10): Checksum error in rtu mode: '\x12a' instead of 'a\x91' . The response is: '\x01\x01\x03\x12a' (plain response: '\x01\x01\x03\x12a')
@4000000064943c10056606d4 WARNING:SerialBattery:Error reading settings from BMS, retry (3/10): Checksum error in rtu mode: '\x12a' instead of 'a\x91' . The response is: '\x01\x01\x03\x12a' (plain response: '\x01\x01\x03\x12a')
@4000000064943c101de0fe94 WARNING:SerialBattery:Error reading settings from BMS, retry (4/10): Checksum error in rtu mode: '\x12a' instead of 'a\x91' . The response is: '\x01\x01\x03\x12a' (plain response: '\x01\x01\x03\x12a')
@4000000064943c10365700cc WARNING:SerialBattery:Error reading settings from BMS, retry (5/10): Checksum error in rtu mode: '\x12a' instead of 'a\x91' . The response is: '\x01\x01\x03\x12a' (plain response: '\x01\x01\x03\x12a')
@4000000064943c11132f2fac WARNING:SerialBattery:Error reading settings from BMS, retry (6/10): Checksum error in rtu mode: '\x12a' instead of 'a\x91' . The response is: '\x01\x01\x03\x12a' (plain response: '\x01\x01\x03\x12a')
@4000000064943c112b9f9c34 WARNING:SerialBattery:Error reading settings from BMS, retry (7/10): Checksum error in rtu mode: '\x12a' instead of 'a\x91' . The response is: '\x01\x01\x03\x12a' (plain response: '\x01\x01\x03\x12a')
@4000000064943c1209321a64 WARNING:SerialBattery:Error reading settings from BMS, retry (8/10): Checksum error in rtu mode: '\x12a' instead of 'a\x91' . The response is: '\x01\x01\x03\x12a' (plain response: '\x01\x01\x03\x12a')
@4000000064943c122151da94 WARNING:SerialBattery:Error reading settings from BMS, retry (9/10): Checksum error in rtu mode: '\x12a' instead of 'a\x91' . The response is: '\x01\x01\x03\x12a' (plain response: '\x01\x01\x03\x12a')
@4000000064943c1239e1d154 WARNING:SerialBattery:Error reading settings from BMS, retry (10/10): Checksum error in rtu mode: '\x12a' instead of 'a\x91' . The response is: '\x01\x01\x03\x12a' (plain response: '\x01\x01\x03\x12a')
@4000000064943c1239edeee4 INFO:SerialBattery:Testing HLPdataBMS4S
@4000000064943c171d6d802c ERROR:SerialBattery:>>> ERROR: No reply - returning
@4000000064943c171d6da73c INFO:SerialBattery:Testing Jkbms
@4000000064943c172dcb2ec4 ERROR:SerialBattery:>>> ERROR: No reply - returning
@4000000064943c172e011b74 INFO:SerialBattery:Testing Lifepower
@4000000064943c18027da06c ERROR:SerialBattery:>>> ERROR: No reply - returning
@4000000064943c1802b759c4 INFO:SerialBattery:Testing LltJbd
@4000000064943c182d496434 INFO:SerialBattery:Connection established to LltJbd
@4000000064943c182d5454fc INFO:SerialBattery:Battery LLT/JBD connected to dbus from /dev/ttyACM0
@4000000064943c182d5d6934 INFO:SerialBattery:========== Settings ==========
@4000000064943c182d67c974 INFO:SerialBattery:> Connection voltage: 55.67V | Current: 0.0A | SoC: 92.72%
@4000000064943c182d70b2b4 INFO:SerialBattery:> Cell count: 16 | Cells populated: 16
@4000000064943c182d79da74 INFO:SerialBattery:> LINEAR LIMITATION ENABLE: True
@4000000064943c182d832944 INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 100.0A | MAX BATTERY DISCHARGE CURRENT: 100.0A
@4000000064943c182d8e50bc INFO:SerialBattery:> MAX BATTERY CHARGE CURRENT: 200.0A | MAX BATTERY DISCHARGE CURRENT: 200.0A (read from BMS)
@4000000064943c182d986e94 INFO:SerialBattery:> CVCM:     True
@4000000064943c182da226dc INFO:SerialBattery:> MIN CELL VOLTAGE: 2.9V | MAX CELL VOLTAGE: 3.47V
@4000000064943c182dab5284 INFO:SerialBattery:> CCCM CV:  True  | DCCM CV:  True
@4000000064943c182db4477c INFO:SerialBattery:> CCCM T:   True  | DCCM T:   True
@4000000064943c182dbd1d34 INFO:SerialBattery:> CCCM SOC: True  | DCCM SOC: True
@4000000064943c1830f30f2c INFO:SerialBattery:DeviceInstance = 1
@4000000064943c183102de0c INFO:SerialBattery:com.victronenergy.battery.ttyACM0
@4000000064943c190e141e4c INFO:SerialBattery:publish config values = 1

Any other information that may be helpful
No response

@idstein maybe you can take a look at this?

Currently, I’m very busy, but the cycle capacity can be read via the factory mode at the beginning as we read the max current.

There is no rush. If you have some spare time in the next weeks :-)

This should be resolved by the open PR.

The PR was merged.


Open IP every time I deploy node-red

Every time I press deploy, I get asked to open the IP and enter my login details on the alexa website.  Is this how it's supposed to work?

No, use Auth Method: Proxy and a file to store the cookie after the first login. Something like this:


Fix #5013

Fix #5013
Fix #5015
Thanks @richardasaurus for spotting this

Coverage decreased (-1.0%) to 88.502% when pulling e28e42d20d553a2dc82388d95e1ed37ac5217475 on yakky:feature/fix_5013 into 94faefcdb62eaefc32bd6857ce3eff89cb87e0b0 on divio:release/3.2.x.

Coverage decreased (-1.0%) to 88.502% when pulling e28e42d20d553a2dc82388d95e1ed37ac5217475 on yakky:feature/fix_5013 into 94faefcdb62eaefc32bd6857ce3eff89cb87e0b0 on divio:release/3.2.x.


Could not compile v2.0.0

it gives an error
error[E0658]: function pointers cannot appear in constant functions
--> /home/enumivo/.cargo/registry/src/github.com-1ecc6299db9ec823/environmental-1.1.1/src/local_key.rs:30:19
|
30 |     pub const fn new(init: fn() -> T) -> LocalKey {
|                      ^^^^
|
= note: see issue #57563 https://github.com/rust-lang/rust/issues/57563 for more information
= help: add #![feature(const_fn_fn_ptr_basics)] to the crate attributes to enable
error: aborting due to previous error
For more information about this error, try rustc --explain E0658.
error: could not compile environmental
even using older nightly versions

Run cargo update -p environmental to fix this.


Multi language and framework support

This PR encapsulates the work necessary to support multiple languages and frameworks.
Todo

Figure out how to structure app to present different view layers #1 and languages #12
Add Tooltip component to switch between view layers and languages in Header.js

@domyen how are we going to deal with the intersection between languages and frameworks? e.g. we aren't going to have Spanish text for the Vue code. I don't know if the translators are going to be keen to do multiple versions.
Perhaps the chooser should be more lang+framework at the same time:

React / English
Vue / English
React / Spanish
Add another?

Additionally, what do we want the URLs to look like?
Do we want to special case the React/English URLs (so say learnstorybook.com/get-started goes to React/English) or fully qualify everything (so it'd be learnstorybook.com/react/english/get-started), or both?

Also we have a few strings littered through the UI, should we translate them too?

'Tweet "I'm learning Storybook! It’s a great dev tool for UI components."'
'Next chapter'
'Edit on GitHub
'Keep your code in sync with this chapter. View {commit} on GitHub'
'Table of Contents'

URL strawman

We fully qualify all urls (but default to React + English with the appropriate redirects).
URL syntax is learnstorybook.com/react/en/get-started (use language shorthand for languages)
File system should mirror the URL. So we need to add /react and /vue under /content.

Localization of UI
Punt for now. Let's just work on supporting the content.
Picker UI
Your suggestion makes sense. Will update the picker to be formatted like this:

@domyen take a look at this now. I think it's pretty close to done (for React en/es).
Let me know what I missed. It's not the cleanest ever but it works. I'd like to do a pass over it and get linting working and clean up a bit once we are satisfied with the functionality.

@tmeasday can you hook the React tooltip link up so that it changes depending on which framework you select?

@icarlossz do you mean the twitter message "I'm learning Storybook..."?
And great catch re:github "edit on GitHub" link!

Are we planning on translating the internal language (e.g. the tweet?).
Otherwise I think this is good to go, let's merge and we can make any fixes on master

Going to merge this! Hope I didn't mess up the spanish @icarlossz


Integrate command to auto-generate Interfaces from contracts

As per: https://www.npmjs.com/package/hardhat-interface-generator
This package takes an specified contract and generates an Interface contract automatically.
Add the package and create a yarn command for convenience.

Giving this a shot :)

Implemented in #307


Update build.gradle

Please don't use "add file"/"update file"/"fix file"/etc. commit messages. These are hard to reason about when looking at the history of the file/repository. Instead, please write explanatory git commit messages.
The commit message is also the title of the PR if the PR has only one commit. It is thus twice important to have commit messages that are relevant, as PRs would be easier to understand and easier to analyze in search results.
For how to write good quality git commit messages, please consult https://cbea.ms/git-commit/

Hi @FaakhirIqbal, Can you please sign CLA , thank you !

Hi @FaakhirIqbal, Can you please sign CLA , thank you !

Hi @FaakhirIqbal, Can you please sign CLA , thank you !

Closing since it doesn't look like it was made in a justified way. Please reopen when ready to sign CLA and comment on why this was needed.


Resolve SetuptoolsDeprecationWarning

When building python packages with colcon on ROS 2 Humble, the following warning is displayed:
--- stderr: [PACKAGE_NAME]
/usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
---

Solution found
Downgrade setuptools python package to version 58.2.0


remove unspecified_id and add sub to introspect endpoint

This issue is imported from pivotal - Originaly created at Jun 7, 2019 by Bart Geesink
currently the introspect endpoint returns unspecified_id. This is present in the subject if the nameid of the RP is set to unspecified.
We'll only have to deal with this issue with internal RP's and the NWA RPs

@bartgeesink Implemented. The unspecified_id in only added when the RP has one of NameIDFormat(.*) set to \'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\' (Okke Harsta - Jun 7, 2019)

Nice, that makes the transition for current introspect users easier (Bart Geesink - Jun 13, 2019)


x/tools/gopls: support conversion between raw and interpreted string literals

Is your feature request related to a problem? Please describe.
I've often needed to convert between raw (`…`) and interpreted ("…") strings, especially when pasting literals between files in different languages. This would also make it easier to edit complex string literals.
Describe the solution you'd like
Code actions or refactoring options for converting between the two forms:

Interpreted to raw (one option for if strconv.CanBackquote, another one which is similar but allows newlines).

If the string contains backticks, this action could either be hidden or made to transform it to ` + "`" + `. If it transforms it, another action to merge consecutive concatenated literals into a single one would be useful.

Raw to interpreted (i.e. %q).
Raw to interpreted ASCII (i.e. %+q) (for completeness; I wouldn't really use this one much).

Describe alternatives you've considered
I currently manually convert between forms, using regular expressions for large strings. I've considered making this as a separate VSCode extension, but I think this fits better in gopls since it's Go-specific.
Additional context
N/A

Thanks for the contribution! Moved to the<EMAIL_ADDRESS>milestone so we remember to mention this in the release notes.


Reddit User Does Not Exist

Would it be possible for Ripme to detect if a Reddit user is no longer a user? If it is possible, could Ripme let the end user know by a popup message or something?

How does one change from an user to no longer one ?

If they delete their account.

In which case, assuming it can be detected from the target page, the msgbox should ask if one wants to continue regardless of it. It's probly for that very reason someone would rip a deleted user.

I would want to continue a rip. So a message box asking to continue wouldn't be the greatest way. Perhaps an output after the rip is over, in the log?

Maybe not the greatest, but what about them who don't know someone was deleted and don't want a deleted's stuff ?

If you rip a lot of things, how are you to know that you are ripping something that doesn't exist anymore? This is why I would like to have something implemented in Ripme.

Exactly my point.

Gotcha. I might have misunderstood you.

What would you expect would happen when a user is deleted? Just nothing gets downloaded?


Update Spanish translation

update Spanish translations

@erral @sneridagh please, can you check this PR? if is all is ok, merge it

LGTM


Automatically generating getter and setter

From @user414 on April 24, 2016 12:39
I couldn't find this issue already existing. I was starting to make variable public just to avoid the setter/getter manual writing, I knew it was time to look for something. Luckily someone beat me to it
https://marketplace.visualstudio.com/items?itemName=DSKWRK.vscode-generate-getter-setter
perhaps this code can be integrated in the mainline, or use as a basis for this new functionality.
Copied from original issue: Microsoft/vscode#5716

From @dbaeumer on November 15, 2016 19:0
@waderyan this should come from the TS team.

Has there been any movement on this?

+1, pretty please

+1 I'm surprised it's not yet done...

+1 I'm surprised it's not yet done...

should this issue for community milestone? @mhegazy

got for it @Kingwl

thanks @Kingwl!


rlmclaughlin/favorites-backend-endpoint-change

Switched the endpoint and back end info for the "favorites" from id to user_id. This will allow for access to the individual users data as opposed to the incremented id for each post (regardless of user).
Fixes # (issue)
Type of change
Please delete options that are not relevant.

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

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
I tested this by retrieving the user_id with an axios get-by-user_id request and it returned the expected data for the individual user.
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] My code has been reviewed by at least one peer
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] New and existing unit tests pass locally with my changes

Should probably add a title to your favorites area and to the other box. and the font is too small in the Indicators box.


taskwarrior plugin (needs dev help)

environment

vim: 7.4
vim-airline: current
OS: linux
if you are using terminal:
terminal: various

Hi airliners, this is an issue for inclusion of a plugin that doesn't exist yet. More accurately, it's a call for help and/or ideas on how a simple plugin might be developed for taskwarrior.
Background: I'm a taskwarrior enthusiast, and helped in the development of vim-taskwarrior (https://github.com/blindFS/vim-taskwarrior) which is an amazing vim-plugin and features an excellent airline config. When using vim-taskwarrior, with vim-airline, task details and statuses are displayed in the status bar. This if great when viewing a vim-tw-report, but I'd like to see such a taskbar made available globally, any time I'm editing with vim.
Problem is; I don't know how :) I copied the vim-airline configs to a new project (https://github.com/linuxcaffe/tw-airline-plugin) as a starting-point, and now I'm hoping for some feedback/ support in how I might make this into a standalone vim-airline-plugin.
thanks!

you want to always see the taskwarrior extension? I would suggest look into the existing extensions and check how those are made.

Thanks Christian, solid suggestion. Can you suggest a plugin whose primary
function is to add a second status bar?
On 7 October 2016 at 03:06, Christian Brabandt<EMAIL_ADDRESS>wrote:

you want to always see the taskwarrior extension? I would suggest look
into the existing extensions and check how those are made.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/vim-airline/vim-airline/issues/1282#issuecomment-252168466,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACPpe4mNihLxHNMGC8WZfL8GleLL-Mveks5qxe95gaJpZM4KM2iW
.

A second statusbar? That is not possible. You could however create your own function to display something fancy in the tabline.

Check the tabline extension


Cancelled debounce action if explicit search

Closes #638
Classic race condition.
Apollo FetchQueryOperation is a class.
Auto-search while typing is queuing up tasks to be fired after so many milliseconds. If the user hits enter to explicitly trigger a search during that time, we immediately start executing the search. In the mean-time, the debounced signal from the type-while-search fires, notices we're in a loading state and ends up cancelling the explicitly placed search. because apollo queries are classes, and it's making the same network call, it ends up cancelling its own operation.

Thanks!!
Sent with GitHawk


Add client ip to performance logs

Adds the remote client IP address to the performance logs
The client IP is set as the last parameter of the performance log
If it is not possible to retrieve the client IP, then its value is "-1"

Note for log entry parsers:
Instead of:
"MT::{method}::{route}::{delta}::{status_code}::{request_uri}::{chain_id}

You should consider:
"MT::{method}::{route}::{delta}::{status_code}::{request_uri}::{chain_id}::{client_ip}

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 3 (0.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.02%) to 31.755%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/monitoring/performance.rs
0
3
0.0%

Files with Coverage Reduction
New Missed Lines
%

src/monitoring/performance.rs
1
10.42%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
13012

Relevant Lines:
14763

💛  - Coveralls


fix addNotificationBlock missing error

Thanks for the PR, @plokijuhhb! We'll need you to accept our Contributor License Agreement before we can merge your contributions.
Cheers,
The robots and humans at Realm


Apply filters to all visible snapshots

at the moment filters set in the side panel are only applied to the primary ranking

I enabled it for the lineup but but not in general, since you might wanna have cases in which you use different filter settings

OK (I need it for the Taggle cancer case study).

OK (I need it for the Taggle cancer case study).

as I said I enabled it for the lineup application but that doesn't include the tdp version automatically.

OK, then please also enable it for TDP.


can not serialize 'TemplateResponse' object

I'm using django-redis with serialization using MsgPack as described here. I'm also using Zlib Compression as described here. My settings are as follows:
CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://<IP_ADDRESS>:6379/1",
        "KEY_PREFIX": "key_prefix_here",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            "SERIALIZER": "django_redis.serializers.msgpack.MSGPackSerializer",
            "COMPRESSOR": "django_redis.compressors.zlib.ZlibCompressor",
        },
    }
}

SESSION_ENGINE = "django.contrib.sessions.backends.cache"
SESSION_CACHE_ALIAS = "default"

When I enable caching of robots.txt, an exception is raised when /robots.txt is accessed, as follows:
TypeError: can not serialize 'TemplateResponse' object
File "django/core/handlers/exception.py", line 34, in inner
  response = get_response(request)
File "django/core/handlers/base.py", line 145, in _get_response
  response = self.process_exception_by_middleware(e, request)
File "django/core/handlers/base.py", line 143, in _get_response
  response = response.render()
File "django/template/response.py", line 108, in render
  newretval = post_callback(retval)
File "django/utils/decorators.py", line 156, in callback
  return middleware.process_response(request, response)
File "django/middleware/cache.py", line 106, in process_response
  lambda r: self.cache.set(cache_key, r, timeout)
File "django/template/response.py", line 93, in add_post_render_callback
  callback(self)
File "django/middleware/cache.py", line 106, in <lambda>
  lambda r: self.cache.set(cache_key, r, timeout)
File "django_redis/cache.py", line 36, in _decorator
  return method(self, *args, **kwargs)
File "django_redis/cache.py", line 76, in set
  return self.client.set(*args, **kwargs)
File "django_redis/client/default.py", line 127, in set
  nvalue = self.encode(value)
File "django_redis/client/default.py", line 354, in encode
  value = self._serializer.dumps(value)
File "django_redis/serializers/msgpack.py", line 8, in dumps
  return msgpack.dumps(value)
File "__init__.py", line 35, in packb
  return Packer(**kwargs).pack(o)
File "msgpack/_packer.pyx", line 286, in msgpack._cmsgpack.Packer.pack
File "msgpack/_packer.pyx", line 292, in msgpack._cmsgpack.Packer.pack
File "msgpack/_packer.pyx", line 289, in msgpack._cmsgpack.Packer.pack
File "msgpack/_packer.pyx", line 283, in msgpack._cmsgpack.Packer._pack

When I disable caching, the problem goes away. Any suggestions on how I could still enable caching of robots.txt, but with serialization disabled just for wagtail-robots?

I'll see if I can add config to allow you to specify a cache name. You can then use an in memory cache for robots, while keeping the rest in the default cache.

@engineervix
https://github.com/Adrian-Turjak/wagtail-robots/pull/8
^ test out that branch and tell me how that works for you. That should allow you to make a second cache alias with different config, and make wagtail-robots use that other one.

fixed with release 0.3.0


WebSockets client must send masked frames

Currently send always sends unmaked frames:
send(WebSocketFrame(fin: true, opcode: opcode, data: buffer), promise: promise)

but as of RTC-6455, section 5.3 it must be masked when acting as a client

Mask:  1 bit
 Defines whether the "Payload data" is masked.  If set to 1, a
 masking key is present in masking-key, and this is used to unmask
 the "Payload data" as per Section 5.3.  All frames sent from
 client to server have this bit set to 1.

Resolved in  #12

@pvels hmm #12 is empty and was closed :)

Resolved in #22


recursion_limit issues with new collect_commands

Kinda shouldn't be surprised cause it's recursing on every tt.
https://discord.com/channels/616186924390023171/731495028677148753/1268605918304665730
https://discord.com/channels/1011665225809924136/1262072012998836364/1268577822675304512

workaround for the meantime (put this on the top of your main.rs):
#![recursion_limit = "1024"]

So all of the current macro's (tauri_specta::collect_commands, specta::function::collect_functions and specta::function::fn_datatype) go token by token (Eg. keyword, identifier, etc) and hence obviously the recursion limit is super easy to hit and I completly missed this in the original design.
As we can't set recursion_limit at a library/macro level this leaves the only option to rewrite the macros.
collect_commands and collect_functions can both be rewritten to remove recursion completly, however fn_datatype can't. This means as of the next update you can parse as many functions/commands as you want, yay!
Doing some testing fn_datatype in it's current form supports any number of generics (as these don't trigger recursion) but can only support at most 31 elements in a path (Eg. "todo::".repeat(31)). The side of each module name does not affect the number of supports elements due to us parsing by tokens (Eg. todo and areallylongmodulename are treated as one tt by the macro).
Realistically no one has this many nested modules (and if you do use crates!!!!!!!!) so I think we are going to live with this limitation for now.
If this limitation becomes a problem in the future we could optimise fn_datatype to recurse/parse in "batches" which could probally let us pretty easily double the max number of path segments at only the cost of more internal complexity. Alternatively we could change Specta's internals so we use $name __specta__fn__ instead of the current __specta__fn__ $name which is ultimately why so much recursion is required.
Going to do a release in the next 5 mins or so with the fix.


GLTF: Delete unused skeleton_to_node

Similarly to #73667, this property / the methods are completely unused and did nothing. I know 4.0's release is imminent but this is entirely a compat breakage that affects nobody so it is zero-risk for the release.

Thanks!


Clean up pragma macros

A lot of the macro code can be cleaned up now that we require fairly new versions of compilers.

💯


eta-lang.org front page example typo

Under the "Concurrency and parallelism", the example reads:
transact amount sender receiever = do
  senderBalance <- readTVar sender
  receiverBalance <- readTVar sender

The latter should be readTVar receiver, I suppose.
(Sorry for posting it here; I can't find the repo that represents the site itself.)

Thanks! I already fixed it. The update should be deployed in a couple minutes. I'll close this as soon as it's deployed.

Fixed


CSS files renaming tweaks using SMACSS - SASS nesting implement - mov…

…ed files around - added images to content (should this be comiited to the repository?)
@peterp here is the pull request to review.
Thanks

@Mitso The images should be removed from the repo, the content-producers will add images themselves.

👍


RQ: flushing events can impact task processing performance

RQ worker will wait for the horse to exit before it can execute another task. The following code will block horse's exit to send events:
https://github.com/getsentry/sentry-python/blob/4b4b1c255c953b44f8c2502a7d281b434ab22512/sentry_sdk/integrations/rq.py#L62-L66
This is a non issue when using Sentry to track error only -- events will only be sent if there was an error (hopefully rarely happens). But this becomes an issue when you use Sentry's APM, because it means for every task executed it will pause to send events.
I don't know how long it takes to deliver events, but in a high volume environment this can become a problem. Though I should bring this to your attention.

You're 100% right. I believe the model needs to be revisited for RQ.

FWIW AWS Lambda has the same problem, conceptually.

FWIW AWS Lambda has the same problem, conceptually.

It's not entirely the same: AWS Lambda is dynamic and will process the next request with a new process. It costs you more (because Sentry extends the processing time), but not impacting your throughput.

@arikfr how did you end up working around this? Was scaling up worker processes an adequate workaround? Since the rq child proc is constantly blocked on IO I imagine there's some CPU load that ends up being unused.

how did you end up working around this?

Unfortunately we haven't.

I put this in the internal backlog with low prio. We will decide if and when we are able to tackle this.
Any help is greatly appreciate, so If you know RQ and want to fix this, please go ahead, I am happy to help and review PRs.

As this has not been reported again or thumbs-upped more, I guess it was not an issue in the last couple of years.
I will close this issue. If the problem arises in the future we can reopen this issue.


Create Capped minter V2 and V2 factory

Description

[x] Copy existing code for capped minter and factory
[x] Change  references from capped minter to capped minter v2
[x] Copy tests

Closed with #3


roblox - needs support for auto-updates

The roblox installer and launcher are self-updating; Any attempt to run an old version will cause the update to be downloaded and installed.
It's possible to detect which Roblox version is the current one using data from the registry, but thus far I've been unable to get the regsitry query to work in a script; It works fine in an interactive session.

Roblox doesn't work on Linux anymore, so I removed the package.


Images and icons are missing in documentation pages

Description:
Images are missing from documentations.

One example of image that cannot be found:
https://apim.docs.wso2.com/en/latest/assets/img/Learn/publish-api-requirements.png
Related Issues:

Hi ecostanzi,
Images are now visible. The icons will be fixed soon.

Hi ecostanzi,
The icons are fixed as well. Sorry for the inconvenience caused, and thank you for reporting.


Barcode for "GE620034" is unreadable.

Thats really funny. A barcode with this content GE620034  or GE619854  ist NOT readable. If I add a space as first letter, it works.
Here the version without space, created with the Live Demo Page:

And this is with space:

Tried different barcode scanners. Very strange

with this content  MM0191-KM0003038  or MM0191-KM0003369 in not readable ,and MM0191-KM0003039 is ok and MM0191-KM0003368 is ok ,

Probably an edge case, which causes the checksum to be calculated incorrrectly. I compared the generated code with result from froatsnook/bardcode, and it only differs a few modules right before the stop code.


Missing spark database, and erroneous reference to "earlier, we used..."

Thanks for the quickstart.
However, as far as I can see, the user gets an error that "The database nyctaxi does not exist" from spark. The following cell, or similar, is needed:
%%sql
CREATE DATABASE nyctaxi

Also, the page says that "Earlier, we used dedicated SQL POOL to...". This is not correct, this page comes before the guide on SQL POOLs?
Thanks!

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

ID: 65331fde-51d0-365e-e182-2c3b01de8f99
Version Independent ID: 79b4f02b-27a5-019a-1b36-4e80a04f539f
Content: Quickstart: Get started analyzing with Spark - Azure Synapse Analytics
Content Source: articles/synapse-analytics/get-started-analyze-spark.md
Service: synapse-analytics
Sub-service: spark
GitHub Login: @saveenr
Microsoft Alias: saveenr

Thanks for the feedback! We are currently investigating and will update you shortly.

#assign:julieMSFT

@storesund Thank you for contacting Microsoft. We have updated the article in question. Thank you for your contribution to Microsoft Docs. I will go ahead with closing this issue. The @notification mechanism continues to work even after an item is closed, in case further communication is needed. We hope to hear from you again.

#assign:julieMSFT

julieMSFT is already assigned.

#please-close


Team Calendar extension stopped working after update to 2.0.17

Hi, MS DevLabs Team.
We are using heavily using the Team Calendar extension for our Azure DevOps Server 2019/TFS 2019 and I noticed that after the update 2.0.17 was pushed, it has stopped working. Now, I see another update was pushed yesterday (update 2.0.18) but that didn't fix the issue. Can someone check this please because we have a team that is dependent on the Team Calendar extension and their work has been affected by this.
Our TFS version is Version Dev17.M153.2

Thanks for reporting, We are working on it, can please test it again and let me know if you still have the same issues

@cdianeg, we decided to revert the latest change to resolve the issue it caused for Azure DevOps 2018 and 2019. Can you check that the Calendar look ok for you again with the 2.0.22 version?

It is working now. Thank you


HT Letterspacer - STOPED

Hi,
This is the message at macro window G3 latrest cutting edge.
File “Visualiser.py”, line 9
** import preview as preview**
ModuleNotFoundError: No module named 'preview’
Traceback (most recent call last):
Great work!
Thanks

Thank you. Yes, I am aware of this issue and am trying to reach @mark2mark about this import, I think he wrote it ;)
Mark, check your Instagram DMs!

Hi there, I’ll have a look.
@eweracs my instagram is not a messaging tool for me, I barely check it (not to mention preventing notifications from it). Github is perfectly fine for such things :)

This doesn’t look like I have added this?!

The preview from Kernkraft is written by me and very custom to Kernkraft, but not the import in Letterspacer.
You could go for any of those views from the Glyphs SDK here, those are closest to the API, should work well with G3 and are easier for you to customize to your needs.

Hi Mark, thanks a lot for your response! What I meant was that the module I was trying to import was written by you. I shall see what I can do to rebuild a similar functionality custom to my needs.
@etunni what you can do as a temporary workaround is to install the Kernkraft plugin, it includes the module I use in my script (and is a brilliant tool in itself as well!). I will try and update this as soon as possible. Sorry for the inconvenience!

Hi guys, I hope are you fine.
I installed Kerncraft and solved the issue, thanks @Mark2Mark and @eweracs
Have a great day!

@etunni, please be aware that this is jsut a temporary workaround. It only fixes, that the imported module is available to this script here. However, that imported module is not written to be used as a module, so it causes dependencies to all other scripts using it. Whenever I change something in my "preview" code, it can break any other script using it.

@Mark2Mark thanks for the advice.
Keep up your great works!


Add support for end_lifetime in DCE

@swift-ci test

@meg-gupta looks reasonable. Before this goes in, can you do a quick pattern match over the pass for places we handle destroy_value and make sure that we do not need to handle end_lifetime there? I am going to flag the ones I found.

https://github.com/apple/swift/blob/0d16eda6958b4d6cfc62ee8e3217b88e29f7dc66/lib/SILOptimizer/Transforms/DeadCodeElimination.cpp#L577
https://github.com/apple/swift/blob/0d16eda6958b4d6cfc62ee8e3217b88e29f7dc66/lib/SILOptimizer/Transforms/DeadCodeElimination.cpp#L603
I haven't thought completely through if those are interesting, but just take a quick look and make sure it is ok.

Thanks @gottesmm. Other instance of destroy_value look fine to me.


Can not get dependencies after the last update (0.4.3)

pub get returns an error:
Package spreadsheet_decoder has no versions that match >=0.4.3 <0.5.0 derived from:
What is the reason?

Could you check the output with pub -v get ?
Basically, the issue is with a conflict with a common package.

I've found a conflict with another dependence in xml package. Thank you


add unit tests for print components and footer

adds some unit tests (Footer, PrintForm and related components)
adds user-event and updates some dependencies
adds util createReduxWrapper

@terrestris/devs Please review

Build fails because of an error with the new geostyler integration.


ACCUMULO-4755 Custom Serializer for AbstractId Types

Can one of the admins verify this patch?

Closing PR, having some inconsistent behavior. Will resubmit.


Introduce literal package

I got confused and merged this patch as part of #47 .  Didn't realize that was a branch built on this change.
In future, @scgkiran can you avoid building PRs that incorporate other PRs? Thanks

I got confused and merged this patch as part of #47 . Didn't realize that was a branch built on this change.
In future, @scgkiran can you avoid building PRs that incorporate other PRs? Thanks

Ok


[Question] Is there a method to use GORM driver with authentication options?

I tried code like this, but, as I understang this one is not working
db, err := gorm.Open(ydb.Open(os.Getenv("YDB_CONNECTION_STRING"),
                              ydb.WithTablePathPrefix("gorm"),
                              environ.WithEnvironCredentials(ctx)))

Is there a method to use this driver with authentication options?

Hi! You can try this:
import (
   ydb "github.com/ydb-platform/gorm-driver"
   environ "github.com/ydb-platform/ydb-go-sdk-auth-environ"
   "gorm.io/gorm"
)

func main() {
   db, err := gorm.Open(
   	ydb.Open(
   		os.Getenv("YDB_CONNECTION_STRING"),
   		ydb.WithTablePathPrefix("gorm"),
   		ydb.With(
   			environ.WithEnvironCredentials(ctx),
   		),
   	),
   )
}


Changing fonts

Hi,
I want to add different font(actually Symbols) instead of custom letters, i tried it by making new pages and rows(adding new keys), its working but incredibly increase keyboard loading time.
how can i reload or remove keys of past keyboards(default keyboard) and add new keyboard(rounded fonts)
please help!

same here issue please explain solution


ci(release): update ubuntu version for release runner

:tada: This PR is included in version 5.0.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


stateToComputed does not work with class based components

We started to migrate our components to use ES2015 classes and while doing so discovered ember-redux connected components do not work correctly when provided a class rather than an Ember object based component. Below is some sample code where stateToComputed does not seem to correctly setup the computed properties.
import Component from '@ember/component';
import { argument } from '@ember-decorators/argument';
import { required } from '@ember-decorators/argument/validation';
import { optional, type } from '@ember-decorators/argument/type';
import { connect } from 'ember-redux';
import layout from '../templates/components/connected-record';

const getCompiledRecord = (state, recordId, recordType) => {
  if (recordId && recordType) {
    return state.db[recordType][recordId];
  }

  return null;
};

const stateToComputed = (state, { recordId, recordType }) => ({
  record: getCompiledRecord(state, recordId, recordType),
});

class ConnectedRecord extends Component {
  layout=layout;

  @argument
  @required
  @type(optional('string'))
  recordId;

  @argument
  @required
  @type(optional('string'))
  recordType;
}

export default connect(stateToComputed, {})(ConnectedRecord);

@km-smith great find! I’ll see if I can’t solve this by Friday :)

@toranb pinged me on Slack about this, I do think we may be able to work out a temporary solution, but because ember-redux extends classes to connect them it may end needing to wait until that fuctionality has been fixed per the ES classs RFC

@km-smith I've started the work to support ES2015 class syntax in PR #144
I've got about 4 missing integration tests at the moment but I could use your help to manually test what I did deliver. Yarn/or npm install from the branch named branches/testClazz and let me know if you bump into any issues. The acceptance test I've got in place now gives me some confidence that basic redux functionality is solid, the constructor works and actions bubble as they did with classic ember object.
I'm not yet using es2015 class syntax myself and without first reading the RFC @pzuraq mentioned^ I'm hesitant to ship this implementation. That said, if you are truly ready and want to provide feedback as someone on the bleeding edge :) I think that branch will get you a good long way as-is.
I plan to sync up with @pzuraq after the holiday to better understand any gotchas we might face going forward. The magic involved is a simply look up for extend as shown below. If this works today/and after the RFC work lands we could ship this without issue but I'd like a little more time to soak on this and get community feedback. I also don't love this prototype hacking conditional but if it allows teams to migrate toward es2015 syntax we could eventually deprecate ember object allowing us to remove the cruft at some point in the future.
export default (stateToComputed, dispatchToActions=() => ({})) => {
  return IncomingComponent => {
    const WrappedComponent = IncomingComponent || Component;

    if (WrappedComponent.hasOwnProperty('extend')) {
      return wrapEmberObject(stateToComputed, dispatchToActions, WrappedComponent);
    }else{
      return wrapEs2015Class(stateToComputed, dispatchToActions, WrappedComponent);
    }
  };
};

If you have any other questions just reach out.

Thanks for the speedy fix. I'll give the feature branch a shot in the next few days and let you know.


Deepspeed benchmarking

Scripts + configs for deepspeed benchmarking, related to #845.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 3 committers have signed the CLA.:x: satpalsr:x: cr458:x: curt-tiggesYou have signed the CLA already but the status is still pending? Let us recheck it.


an error

excuse me!when I run code,it have a error:
File "./AAAI_2020_CommonsenseQA/pytorch_transformers/tokenization_xlnet.py", line 85, in init
self.sp_model = spm.SentencePieceProcessor()
UnboundLocalError: local variable 'spm' referenced before assignment
Could you help me?Thank you very much!

This may due to the environmental problem. You could try to install the missing packages by "pip install sentencepiece". If there are any problems, you can also refer to "https://github.com/google/sentencepiece".

This may be due to the environmental problem. You could try to install the missing packages by "pip install sentencepiece". If there are any problems, you can also refer to "https://github.com/google/sentencepiece".

Thank you again,I successfully solved the error according to your method.


Improve documentation around Spring WebFlux, specifically for developers more familiar with Spring MVC

Hi Spring Cloud Gateway team,
As a developer more familiar with the Spring MVC world than the Spring WebFlux world, I lost a lot of time setting up the security configuration for my gateway (using spring-cloud-starter-gateway and spring-boot-starter-security) because I didn't realize that the patterns and approaches I'm familiar with weren't appropriate here.
The documentation does have a note that says

Important
Spring Cloud Gateway requires the Netty runtime provided by Spring Boot and Spring Webflux. It does not work in a traditional Servlet Container or built as a WAR.

But I think this could do a better job of making it clear to developers like me that this means learning a new set of libraries and patterns, and it's not simply a low-level detail I can gloss over.
I would advocate for, at minimum, adding a more explicit note directing users to familiarize themselves with the WebFlux documentation.
Maybe something along the lines of

If you're more familiar with Spring MVC, you may want to head to the Spring WebFlux documentation to learn more about the differences.

With a link to the Spring WebFlux docs. Something like that would have probably helped me figure out my configuration issues much faster (those docs include a link to the WebFlux-specific Spring Security docs).
I think an even friendlier addition would call out that Spring Security and various Spring Data libraries will have different classes and interfaces. Anyone doing something non-trivial will need to understand this, and if they're like me they'll be searching these docs for "security" when they hit errors in their configuration.
In talking with @ryanjbaxter, he pointed out that the Spring Cloud Gateway doc shouldn't be responsible for enumerating all of the ways WebFlux is different from MVC, which I think is totally fair. I defer to you on how much detail is appropriate and how best to phrase it, but I do think expanding that note would be a big help for developers like me attempting to use Spring Cloud Gateway.

I think we can call out security,  but don't want to have to maintain a list. Maybe we can link to somewhere central with regards to reactive


Loose custom settings

Every so often I notice the extension scrobbling somewhere that I have disabled (I typically notice it on Youtube, where I don't want to scrobble). After checking the options I realize they are ALL enabled, despite only enabling 2 (Google Play Music and Bandcamp).
Expected behavior
My custom settings should never be cleared.
Current behavior
This is possibly happening during either an extension or chrome update. None of my other extensions seem to exhibit this behavior.
Steps to reproduce (for bugs)
I have not attempted to reproduce. I've only noticed it happening about 3 times over the past few months.
Context
I don't want to scrobble everywhere.
Steps for resolving the issue

[ ] Reauthenticate on Last.fm

[ ] Try to use unpacked extension from latest master

[x] Check other issues for duplicates

Environment

Version used: 2.0.1
Browser name and version:  Chrome (macOS Sierra) 61.0.3163.91

We keep all settings in sync storage since v2.0.0; possibly, this can be related to the issue.

Do you think there is a bug between version upgrades?

Could this be caused by signing into Chrome on another system? Perhaps the default settings (all sites enabled) are overwriting my sync settings and then getting pushed to the browser I use most often.

@travispaul it could, but it shouldn't, because data from server has higher priority.

@travispaul I'll publish new release in an hour. Could you check if settings are missing after update?

@alexesprit will do!

My settings have persisted after the latest update. Closing this as I'm unable to reproduce.
Thanks for looking into it.


Wrong Analyzer error message for required formal parameter

Analyzer reports a wrong error message in case when required formal parameter has a default value
void foo(int i = 42) {} //   error - Named parameters must be enclosed in curly braces ('{' and '}'). - static_errors_A08_t05.dart:59:16 - named_parameter_outside_group

An error message should be like "Required formal parameter can't have a default value"
dartanalyzer version 2.7.0-dev.1.0

The analyzer messages are designed based on our expectations of what the user was intending to do. In this case I think it's unclear whether the user was trying to declare a required parameter with a default value or an optional parameter without using either '[]' or '{}' delimiters. We chose to assume the latter because the need for delimiters might be unknown to new users. Do you know of an argument for assuming the former?
It could be argued that in this case we shouldn't make an assumption and should have a message that covers both cases, but either way we certainly shouldn't assume they were trying to define a named parameter.

In this case I think it's unclear whether the user was trying to declare a required parameter with a default value or an optional parameter without using either '[]' or '{}' delimiters. We chose to assume the latter because the need for delimiters might be unknown to new users. Do you know of an argument for assuming the former?

@bwilkerson, below is an example
void foo(int i = 42, {String j = ""}) {} // error - Named parameters must be enclosed in curly braces ('{' and '}'). - syntax_A05_t04.dart:47:16 - named_parameter_outside_group
void bar(int i = 42, [String j = ""]) {} // error - Named parameters must be enclosed in curly braces ('{' and '}'). - syntax_A05_t04.dart:48:16 - named_parameter_outside_group

In the first line of code it is obvious that user knows about '{}' delimiters. In the second line of the code analyzer error message 'advises' to add curly braces, but it is an  error to have both named and optional positioned arguments.

Yes, it would be nice if the parser looked ahead to gather sufficient context to improve the message.


new operation (getFolderTree) in cmis bridge

Reporter
Vinh Ban Pham
Is your feature request related to a problem? Please describe.
BPM is working with certain toolkits and in those toolkits a call is done to a getFolderTree operation in the Navigation Service of the CMIS standard. Our ibis4titan application has a custom cmis bridge but since Titan doesn't support the getFolderTree we would like to intercept these getFolderTree request in the ibis and stub in such a way thats workable for BPM
Describe the solution you'd like
Add the getFolderTree operation on the cmis bridge
Describe alternatives you've considered
BPM does have some workarounds but that would prevent them from working with their latest toolkit version.
Additional context
This feature request is not urgent and is fine if its pickep up by fifo order.

Not needed anymore


Add strict-internal-urls flag to disable domain and subpath matching

Hello, I created this so that Google Meet links don't open in my Google Calendar app for me, but it looks like others have a similar issue (e.g. issue #1304).  Feedback very welcome –– it's been awhile ;)

:wave: @TheCleric internalUrls-guru, do you have some time to review this one?

:wave: @TheCleric internalUrls-guru, do you have some time to review this one?

Will do.

LGTM other than the one extra test I'd like to see.

@ronjouch LGTM

Thanks folks.
@hbridge one last thing: this needs doc in API.md, after the internal-urls section.

Ah of course, good catch @ronjouch.  Just pushed an update with docs.  One question that came up for me when writing them is that this does NOT disable login page matching, is there a scenario in which someone will want to do that and if so should I either a) also disable login page matching or b) change the name to something more targeted like --disable-base-domain-matching (wordy, I know)

One question that came up for me when writing them is that this does NOT disable login page matching, is there a scenario in which someone will want to do that and if so should I either a) also disable login page matching or b) change the name to something more targeted like --disable-base-domain-matching (wordy, I know)

@TheCleric any preference about that?

One question that came up for me when writing them is that this does NOT disable login page matching, is there a scenario in which someone will want to do that and if so should I either a) also disable login page matching or b) change the name to something more targeted like --disable-base-domain-matching (wordy, I know)

@TheCleric any preference about that?

I think the logins should still work, as that seems to not be the use case for this flag. I'd say if we wanted to disable those that would be a separate flag like --no-internal-login-pages and in the meantime just document that this flag does not affect login pages.

@hbridge merged! Thanks again for the patch, and the back & forth on the PR. Will ship in the next release.


Channels lose the subscription when reconnects

My code is similar to the example in this repository:
pusher = new Pusher("key");
pusher.Connected += pusher_Connected;
pusher.ConnectionStateChanged += _pusher_ConnectionStateChanged;
pusher.Connect();

static void pusher_Connected(object sender)
{
    Console.WriteLine("Subscribing to chat");
    chatChannel = pusher.Subscribe("chat");
    chatChannel.Subscribed += _chatChannel_Subscribed;
}

static void _chatChannel_Subscribed(object sender)
{
    Console.WriteLine("Subscribed");
    Console.WriteLine("Hi! Type 'quit' to exit, otherwise type anything to chat!");

    chatChannel.Bind("my-message", (dynamic data) =>
    {
        Console.WriteLine("[" + data.name + "] " + data.message);
    });
}

When the connection fails and PusherClient reconnects, all subscriptions are lost.
In this particular case, this happens because of this code on Subscribe method:
if (Channels.ContainsKey(channelName)){
    Trace.TraceEvent(TraceEventType.Warning, 0, "Channel '" + channelName + "' is already subscribed to. Subscription event has been ignored.");
    return Channels[channelName];
}

Log:
Connection state: Connecting
Pusher Information: 0 : Websocket opened OK.
Pusher Information: 0 : Websocket message received: {"data":"{\"activity_timeout\":120,\"socket_id\":\"2096928683.2093493135\"}","event":"pusher:conne
ction_established"}
Connection state: Connected
Subscribing to chat
Pusher Information: 0 : Sending: {"event":"pusher:subscribe","data":{"channel":"chat"}}
Pusher Information: 0 : Websocket message received: {"channel":"chat","data":{},"event":"pusher_internal:subscription_succeeded"}
Subscribed
Hi! Type 'quit' to exit, otherwise type anything to chat!
# connection failure
Connection state: Disconnected
Connection state: Connecting
Pusher Information: 0 : Websocket opened OK.
Pusher Information: 0 : Websocket message received: {"data":"{\"activity_timeout\":120,\"socket_id\":\"2470478451.2274211923\"}","event":"pusher:conne
ction_established"}
Connection state: Connected
Subscribing to chat
Pusher Warning: 0 : Channel 'chat' is already subscribed to. Subscription event has been ignored.

I can think in two solutions for this.

Add a Channels.Clear(); on the Connected event and let the responsibility to re-subscribe for those who are using the library. This will solve the problem for this code I posted, but, I'm not sure this is the right choice.

Make pusher explicit re-send all channel subscriptions and update the channels. I'm not sure how to implement this.

Hi Roberto,

is definitely the preferred option.

So you know - I don't have the bandwidth to provide fixes for this and #7 right now. But pull requests are greatly received and I'm happy to discuss possible solutions.
If you're willing to contribute then please let me know and I'll try to provide some suggestions.

Just an FYI, the officially supported libraries take approach number 2 (re-subscribe automatically on reconnection), although it is not universally accepted to be the best approach (for example "spurious" subscription success events are received after reconnection).
If approach 1 is followed here, I'd suggest:

clearing down the client model of subscriptions on disconnection rather than on reconnection
the method of doing so is kept private; the client and server must have the same understanding of what subscriptions exist, so the clearing should be done on disconnection, and only on disconnection.

Thanks for the feedback @leggetter, @mdpye. I will try to implement this (approach 1) and send a PR. I'm not a .NET dev, so, any suggestions are welcome.
Thanks

Just an FYI, the officially supported libraries take approach number 2

@RobertoSchneiders - I don't know what I was thinking when I commented. As @mdpye pointed out, approach 2 is the one that other official libraries take. With that in mind I think it's probably the best approach as it offers a consistent experience across all libraries. Sorry for the confusion I've caused with this.
A potential way of implementing this would be to add some logic to the client to act upon connection events (other libraries tend to have a channel manager object for handling this type of thing):
https://github.com/pusher-community/pusher-websocket-dotnet/blob/master/PusherClient/Pusher.cs#L216

Upon disconnection mark all the channels as unsubscribed. Additional logic may need to be added to stop the channels from triggering messages over the WebSocket connection (which is currently closed).
Upon reconnections all the channels can now be subscribed to.
If a user (application code) unsubscribes a channel whilst the connection state is disconnected then the channel should be removed and no network communication attempted.

No problem @leggetter . I'll try to implement that.
Thanks

Should be fixed by 68d141335f102e515d2e0f63d36a4104c617fc58


VerifySigner() now checks corresponding Credential

Summary

Concisely describe the issue and your solution:
Link to existing issue (type "#" to check):
Specify the tests done so far:

Solutions (Optional)
Please describe the details of your solution if it might be too complicated for reviewers.

Codecov Report

Merging #213 into develop will increase coverage by 0.01%.
The diff coverage is 36.00%.

@@              Coverage Diff              @@
##             develop     #213      +/-   ##
=============================================
+ Coverage      39.85%   39.86%   +0.01%
- Complexity      1506     1510       +4
=============================================
  Files            232      232
  Lines          12808    12847      +39
  Branches        1585     1596      +11
=============================================
+ Hits            5105     5122      +17
- Misses          7072     7092      +20
- Partials         631      633       +2

Impacted Files
Coverage Δ
Complexity Δ

.../webank/weid/service/impl/EvidenceServiceImpl.java
34.74% <30.23%> (-1.17%)
27.00 <2.00> (+2.00)
:arrow_down:

...k/weid/service/impl/CredentialPojoServiceImpl.java
44.38% <33.33%> (-0.20%)
131.00 <0.00> (-2.00)

...java/com/webank/weid/util/CredentialPojoUtils.java
51.73% <100.00%> (+0.42%)
105.00 <2.00> (+2.00)

.../main/java/com/webank/weid/util/DataToolUtils.java
70.92% <0.00%> (+0.92%)
148.00% <0.00%> (+2.00%)

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 0041adc...78f9179. Read the comment docs.


lorawan: move REQUIRES_FULL_LIBC dependency

Move the REQUIRES_FULL_LIBC dependency from config LORA to
config LORAWAN. The commit that added the select (f590d4fa) mentions
that this is required by loramac-node, which is only used by LoRaWAN,
not the base LoRa code.
This results in small FLASH savings when compiling the samples, but can
result in larger savings in more complex applications:
// With REQUIRES_FULL_LIBC
west build -b 96b_wistrio zephyr/samples/drivers/lora/send/
[162/162] Linking C executable zephyr/zephyr.elf
Memory region         Used Size  Region Size  %age Used
           FLASH:       37708 B       128 KB     28.77%
            SRAM:        8832 B        32 KB     26.95%
        IDT_LIST:          0 GB         2 KB      0.00%

// Without REQUIRES_FULL_LIBC
[181/181] Linking C executable zephyr/zephyr.elf
Memory region         Used Size  Region Size  %age Used
           FLASH:       37444 B       128 KB     28.57%
            SRAM:        8832 B        32 KB     26.95%
        IDT_LIST:          0 GB         2 KB      0.00%

Signed-off-by: Jordan Yates<EMAIL_ADDRESS>

I rushed too much with approval.
I think that loramac-node is required by LORA as well, because all LoRa drivers require that module to work. Most probably sx126x does not require full libc, but from what I remember, sx1276 does. I think that this was related to math functions, which were used by sx1276 specific drivers in loramac-node module.
So in summary, I think that REQUIRES_FULL_LIBC should be selected by some drivers as well.

The 3 boards being built by samples/drivers/lora/{send/receive} cover the sx1262, sx1276 and builtin drivers.
I manually tested rm1xx_dvk which is the sx1272 with no problems.
Do you have a specific board that this change is incorrect on?

The 3 boards being built by samples/drivers/lora/{send/receive} cover the sx1262, sx1276 and builtin drivers. I manually tested rm1xx_dvk which is the sx1272 with no problems.
Do you have a specific board that this change is incorrect on?

https://github.com/zephyrproject-rtos/loramac-node/commit/bb606c8416c8428d6704eb635b57ccd1ff42eeb0 this is why it works now :)
Thanks for checking. My concerns about sx1276 are no longer valid.
Last question... do we still need REQUIRES_FULL_LIBC for LORAWAN? Maybe it is outdated as well? Did you check that?

Last question... do we still need REQUIRES_FULL_LIBC for LORAWAN? Maybe it is outdated as well? Did you check that?

I did, there is a usage of floor that was causing compilation to fail for:
west build -b 96b_wistrio zephyr/samples/subsys/lorawan/class_a/
https://github.com/zephyrproject-rtos/loramac-node/blob/12019623bbad9eb54fe51066847a7cbd4b4eac57/src/mac/region/RegionCommon.c#L520


Amended list capitalization to be consistent

In the "Python is generally used for" list.

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Closed and Reopened this PR to attempt to resolve a specific Travis build failure.


Change placeholders in Date and DateTime inputs

Change placeholders in Date and DateTime inputs so that defined values have standard black color and non-defined standard placeholder (grey) color

Fixed #14


[DB Scalability] Create Job to create sub partition on regular basis and configurable and schedule this job using yaml

Create Job to create sub partition on regular basis and configurable and schedule this job using yaml

Completed as part of #963


Cannot find namespace 'google'

Hi,
first of all, this seems like a really great plugin. Nice work!
When I add the plugin to my Angular Ionic project, I get the error "Cannot find namespace 'google'".
[ng] Error: node_modules/capacitor-native-google-one-tap-signin/dist/esm/GoogleOneTapAuth.d.ts:14:110 - error TS2503: Cannot find namespace 'google'.
[ng]
[ng] 14     renderSignInButton(parentElementId: string, options: RenderSignInButtonOptions, gsiButtonConfiguration?: google.GsiButtonConfiguration): Promise<SuccessSignInResult>;
[ng]                                                                                ~~~~~~
[ng]
[ng]
[ng] Error: node_modules/capacitor-native-google-one-tap-signin/dist/esm/GoogleOneTapAuth.d.ts:15:112 - error TS2503: Cannot find namespace 'google'.
[ng]
[ng] 15     _doRenderSignInButton(parentElementId: string, options: RenderSignInButtonOptions, gsiButtonConfiguration: google.GsiButtonConfiguration | undefined, androidAndIosButtonElem: HTMLElement): Promise<SuccessSignInResult>;
[ng]                                                                                ~~~~~~
[ng]
[ng]
[ng] Error: node_modules/capacitor-native-google-one-tap-signin/dist/esm/definitions.d.ts:139:110 - error TS2503: Cannot find namespace 'google'.
[ng]
[ng] 139     renderSignInButton(parentElementId: string, options: RenderSignInButtonOptions, gsiButtonConfiguration?: google.GsiButtonConfiguration): Promise<SuccessSignInResult>;
[ng]

What helps is adding the package @types/google-one-tap you are using in the plugin to my dev dependencies and adding /// <reference types="@types/google-one-tap" /> to node_modules/capacitor-native-google-one-tap-signin/dist/esm/definitions.d.ts.
Regards
Nicolas

Hi Nicolas,
thanks for the issue.
I wanted to re-export the google types some time ago but then typescript did not support it. With TypeScript 5 it is now possible to export all types from an imported module. See https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-0.html#support-for-export-type-
Do you want to create a pull request to fix the problem?
My preference would be to first try to upgrade to TypeScript 5, then use the export type * as google from ... syntax to export the types.
David

@nicolashimmelmann thank you for the fix!!
I merged it and created a new version 5.1.2


Please merge revision f661493fd273182b7a9afdb8b4e41c1e7d0e911d into dev channel

@ricowind @whesse @kasperl
This fixes the type inference performed by the analyzer summary logic to bring it in line with changes made in 39977ac6ec58516f5db5ac4df9fa2426fc19dac5 (which implemented analyzer support for FutureOr<T>).
Revision to be merged: f661493fd273182b7a9afdb8b4e41c1e7d0e911d
This merged cleanly.

This will go into the next patch release, which should be within a day.

Merged in 1.22.0-dev.10.2


Syntax Highlighting on Apiary.io

I would like to put some additional code examples (PHP Code of how to use our API) in the API Blueprint Specification on Apiary.io.
Standard code highlighting like that works
my code

PHP code syntax highlighting doesn't work, it looks like standard code highlighting:
```php
<?
$private_key = file_get_contents('id_rsa');
$client_id   = 'https://www.my-client-app.com';
$user_id     =<EMAIL_ADDRESS>$grant_type  = 'urn:ietf:params:oauth:grant-type:jwt-bearer';

$jwt = generate

I read that e.g. Atlassian is using CodeMirror for their syntax highlighting. Eventually this would also be possible for apiary.io.

another idea would be to use highlight.js, which supports PHP and HTTP syntax highlighting.

Any news on this?

+1

This would be really great for us, too.
Github does this the best and supports the most languages, as far as I can tell (I am especially happy when elixir-lang is properly highlighted).
https://help.github.com/articles/creating-and-highlighting-code-blocks/#syntax-highlighting


Any plan to support Swift 2 and Xcode7?

@kamoljan I do not have Xcode 7 yet installed, pull request are welcome. Thanks

PR submitted for Swift 2/Xcode 7. Ref #91

XCode7 Swift2.0 shows errors:

Support for 2.0 released.


[cockroachdb] Add support for single node and custom number of nodes …

Signed-off-by: Jonas Eckerström<EMAIL_ADDRESS>What this PR does / why we need it:
When specifying number of replicas less than 3, health checks won't pass since cluster members fail to join the specified cluster members since the number of nodes to join is hard coded to 3.
If number of replicas is 1, --join is omitted from the start command entirely
Added JoinReplicas specifying the number of nodes to join, as long as it's less than or equal to number of replicas, we can now start a cluster of any size.
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

@a-robinson Yeah it's a bit overkill, I actually just need support for single node development cluster support by removing the join flag for 1 replica.
The reason for finally adding a JoinReplicas value was actually because we'd end up with a cluster that 1 works (due to no join), 2 would never be healthy and 3 or more would work. So do we move forward and implement a math.max(replicas, 3) to join with or support the case for 1 host and no join?

Actually, I'm confused. Does the chart really not work with a cluster size of 1 replica? The fact that extra nodes are specified in the join flags shouldn't matter; the first node in the cluster should be properly initialized by the post-install init job.
Apologies if I'm misunderstanding -- my head is somewhat far removed from this right now.

@a-robinson yes, when setting a lower number of replicas to join than 3, the cluster never joins up and the pods never become healthty
I've changed my contribution to only add a --join flag if you have more replicas than 1. You'd still end up with an unhealthy cluster if you set 2 replicas, so i've documented what's supported.

And I'm sorry for the delay on this, I don't work on this stuff as part of my day job anymore and I've been quite busy lately.


go use gopls stucks and showing "Error loading workspace: no metadata for xxx"

VSCode Version: 1.51.1
OS Version:  macos bigsur 11.0.1

gopls and go cmd cpu usage is very high
Steps to Reproduce:

open go project with go modules.
save one file.

Does this issue occur when all extensions are disabled?:           No

/extGo


Cody Ignore: windows unit test debug

Fix unit tests on windows
Test plan
CI

Tests are still failing? Or this PR is fixing one of the now-passing ones?

@unknwon yep, it fixes ci / test-unit (windows, 20)


libmoon can't find qlogic QL41000 nic while dpdk example app can work

I can succesfully run the dpdk example application (e.g. l2fwd) with this qlogic 41000 seriese nic card, howerver I can't get it work with libmoon example application. It shows "there are only 0 ports, tried to configure port id 0".
Please help, I 've been stuck with this issue for almost a week.
"dpdk-devbind -s "
Network devices using DPDK-compatible driver
0000:19:00.0 'FastLinQ QL41000 Series 10/25/40/50GbE Controller 8070' drv=igb_uio unused=
0000:19:00.1 'FastLinQ QL41000 Series 10/25/40/50GbE Controller 8070' drv=igb_uio unused=
0000:19:00.2 'FastLinQ QL41000 Series 10/25/40/50GbE Controller 8070' drv=igb_uio unused=
0000:19:00.3 'FastLinQ QL41000 Series 10/25/40/50GbE Controller 8070' drv=igb_uio unused=
0000:86:00.0 'FastLinQ QL41000 Series 10/25/40/50GbE Controller 8070' drv=igb_uio unused=
0000:86:00.1 'FastLinQ QL41000 Series 10/25/40/50GbE Controller 8070' drv=igb_uio unused=
=====libmoon example app fails =========================
build/libmoon examples/l2-forward.lua  0 1
[INFO]  Initializing DPDK. This will take a few seconds...
EAL: Detected 40 lcore(s)
EAL: No free hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
[INFO]  Found 0 usable devices:
[FATAL] Lua error in task master
/home/ct_tongxz/libmoon/lua/device.lua:100: there are only 0 ports, tried to configure port id 0
======dpdk example app succeeds=========================
./l2fwd -- -port 0x3
EAL: Detected 40 lcore(s)
EAL: No free hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: PCI device 0000:19:00.0 on NUMA socket 0
EAL:   probe driver: 1077:8070 net_qede
EAL: PCI device 0000:19:00.1 on NUMA socket 0
EAL:   probe driver: 1077:8070 net_qede
EAL: PCI device 0000:19:00.2 on NUMA socket 0
EAL:   probe driver: 1077:8070 net_qede
EAL: PCI device 0000:19:00.3 on NUMA socket 0
EAL:   probe driver: 1077:8070 net_qede
EAL: PCI device 0000:86:00.0 on NUMA socket 1
EAL:   probe driver: 1077:8070 net_qede
EAL: PCI device 0000:86:00.1 on NUMA socket 1
EAL:   probe driver: 1077:8070 net_qede
MAC updating enabled
Lcore 0: RX port 0
Lcore 1: RX port 1
Lcore 2: RX port 2
Lcore 3: RX port 3
Lcore 4: RX port 4
Lcore 5: RX port 5
Initializing port 0... done:
Port 0, MAC address: 34:80:0D:43:32:1C
Initializing port 1... done:
Port 1, MAC address: 34:80:0D:43:32:1D
Initializing port 2... done:
Port 2, MAC address: 34:80:0D:43:32:1E
Initializing port 3... done:
Port 3, MAC address: 34:80:0D:43:32:1F
Initializing port 4... done:
Port 4, MAC address: 34:80:0D:4A:FC:82
Initializing port 5... done:
Port 5, MAC address: 34:80:0D:4A:FC:83
Checking link status..........................................................................................done
Port 0 Link Down
Port 1 Link Down
Port 2 Link Up - speed 1000 Mbps - full-duplex
Port 3 Link Up - speed 1000 Mbps - full-duplex
Port 4 Link Down
Port 5 Link Down
L2FWD: entering main loop on lcore 1
L2FWD:  -- lcoreid=1 portid=1
L2FWD: entering main loop on lcore 3
L2FWD:  -- lcoreid=3 portid=3
L2FWD: entering main loop on lcore 2
L2FWD: lcore 7 has nothing to do
L2FWD: entering main loop on lcore 4
L2FWD:  -- lcoreid=4 portid=4
L2FWD: lcore 6 has nothing to do
L2FWD: lcore 14 has nothing to do
L2FWD: lcore 8 has nothing to do
L2FWD:  -- lcoreid=2 portid=2
L2FWD: lcore 12 has nothing to do
L2FWD: lcore 13 has nothing to do
L2FWD: lcore 9 has nothing to do
L2FWD: lcore 15 has nothing to do
L2FWD: entering main loop on lcore 5
L2FWD:  -- lcoreid=5 portid=5
L2FWD: lcore 11 has nothing to do
L2FWD: lcore 10 has nothing to do
L2FWD: lcore 16 has nothing to do
L2FWD: lcore 17 has nothing to do
L2FWD: lcore 18 has nothing to do
L2FWD: lcore 19 has nothing to do
L2FWD: lcore 21 has nothing to do
L2FWD: lcore 22 has nothing to do
L2FWD: lcore 28 has nothing to do
L2FWD: lcore 30 has nothing to do
L2FWD: lcore 25 has nothing to do
L2FWD: lcore 27 has nothing to do
L2FWD: lcore 23 has nothing to do
L2FWD: lcore 35 has nothing to do
L2FWD: lcore 20 has nothing to do
L2FWD: lcore 32 has nothing to do
L2FWD: lcore 33 has nothing to do
L2FWD: lcore 24 has nothing to do
L2FWD: lcore 36 has nothing to do
L2FWD: lcore 31 has nothing to do
L2FWD: lcore 26 has nothing to do
L2FWD: entering main loop on lcore 0
L2FWD:  -- lcoreid=0 portid=0
Port statistics ====================================
Statistics for port 0 ------------------------------
Packets sent:                        0
Packets received:                    0
Packets dropped:                     0
Statistics for port 1 ------------------------------
Packets sent:                        0
Packets received:                    0
Packets dropped:                     0
Statistics for port 2 ------------------------------
Packets sent:                        0
Packets received:                 6296
Packets dropped:                     0
Statistics for port 3 ------------------------------
Packets sent:                     6298
Packets received:                    0
Packets dropped:                     0
Statistics for port 4 ------------------------------

Have you already fixed that?

we do not have access to qlogic hardware, sorry


Can sensitive values (i.e. connection strings, credentials, etc.) be secrets in Key Vault?

Just looking for confirmation and examples...
The app settings are coming from Environment variables by default.
In a case of having an Azure Function (hosted in Azure Container App) having Service Bus Topic trigger, is pointing the value of environment variable for app setting name to Key Vault secret supported?

this feature needs Managed identity support for which the work is in progress. Will Update once MI support is out.


Make ISOCurrencies a generated class

We update ISO codes from time to time. Why shouldn't the whole class be generated instead of the requirement statemend?

This became invalid in #125


rule(PLW0133): Implement useless exception statement

Summary
This review contains a new rule for handling useless exception statements (PLW0133). Is it based on the following pylint's rule: W0133
Note: this rule does not cover the case if an error is a custom exception class.
See: Rule request
Test Plan
cargo test & manually

False positive for custom exception class using initializer: Exception.init(self, response.text)

Reviewing now...

Wasn't there already a TRY rule for this? Or is this somehow different? https://docs.astral.sh/ruff/rules/useless-try-except/