"starts before in" always adds "or no start date" when querying

Please check that this issue hasn't been reported before.

[X] I searched previous Bug Reports didn't find any similar reports.

Expected Behavior
Query:
 ```tasks
not done
starts before in 7 days
```
Should produce tasks with a start date in a week and earlier.
Current behaviour
Currently, however, any starts before in query automatically adds OR no start date per the explain command.
Steps to reproduce
Simply create any starts before in query with explain and OR no start date will automatically be added.
Which Operating Systems are you using?

[ ] Android
[x] iPhone/iPad
[ ] Linux
[X] macOS
[X] Windows

Obsidian Version
1.1.12
Tasks Plugin Version
1.22.0
Checks

[X] I have tried it with all other plugins disabled and the error still occurs

Possible solution
Seems you can solve this by adding has start date as a separate filter but this breaks combination filters with due or scheduled.

It's not a bug, it's the documented behaviour:
https://obsidian-tasks-group.github.io/obsidian-tasks/queries/filters/#start-date
I agree that it is non-obvious, and that is why I included the information the explain output, to try to make it more obvious.
And it would be a breaking change to change the behaviour.

Seems you can solve this by adding has start date as a separate filter but this breaks combination filters with due or scheduled.

I don't understand why it would break in combination....
But I think that this line will do want you want:
(starts before in 7 days) AND (has start date)

Oh, and if you would like to get this working in combination with other filters, you can nest the filters, so for example:
((starts before in 7 days) AND (has start date)) OR (due before in 7 days)

Got it! Thanks @claremacrae. For some reason, I thought has start date or has due date had to be on a separate line from starts before in 7 days, so it had to apply to the entire filter. I don't know where I got this idea from.


Update Primer link for website

Signed-off-by: Tihomir Surdilovic<EMAIL_ADDRESS>Many thanks for submitting your Pull Request :heart:!
Please specify parts this PR updates:

[ ] Specification
[ ] Examples
[ ] Schema
[ ] Roadmap
[ ] Use Cases
[ ] Community
[x] Website
[ ] SDK
[ ] TCK
[ ] Other

What this PR does / why we need it:
Update the Primer link on Website
Special notes for reviewers:
Additional information (if needed):

@manuelstein please review when can. thanks.


zoom a month

Is there a way to see only one month in big size like a zoom ?

I would just hide all uninterested months of the year and css the month to your needs.
var showMonth = new Date().getMonth()+1; // Show only current month
$('.calendar .month-container').each(function(idx, el){
if (idx != showMonth ) {
$(this).css("display","none");
}
})

Good job! but the size of  is the same. So small, not big like a zoom

Well yeah, that's where the css comes in handy, after all only you know how it should/must look like :)

`var showMonth = new Date().getMonth()+1; // Show only current month
$('.calendar .month-container').each(function(idx, el){
if (idx != showMonth ) {
$(this).css("display", "none");
}
})`
where does this code go?

It would be awesome if we could do something like this... I like the event adding part but changes in the calendar would be awesome..

Just to help fellow mates which might be dealing with same issues in the future. This code is pasted after calendar initialization. The code simply hides all months but the selected one8(s). In this case you might be right, since indexing from each loop and getMonth() is both zero based :)

@anup756 : The functionality that you are looking for is not the goal of this calendar. The principal goal of this widget is to display a full year view. There is other calendars that propose this type of functionality (i.e. bootstrap calendar)

Oh ok cool

Hi,
nice job with this calendar, but like anup756 says, it would be awesome if we add the option to see only a particular month, more or less like the bootstrap calendar you posted.
Thanks !

****

[``](

[ ] 1. url

)

I know this thread is pretty old, but I'm working on this feature in the new version of the library: js-year-calendar
You can follow the development (and test the functionality) in the PR year-calendar/js-year-calendar#32

The feature is available in<EMAIL_ADDRESS>Check the options startDate and numberMonthsDisplayed in the documentation


Question about constraints

Hi. It seems that both, pcf and xdc are supported.
I was comparing the three xc7 examples. Taking for example arty, I found:

counter_test/arty.xdc
linux_litex_demo:

arty.pcf
arty.xcf

picosoc_demo/arty.pcf

Comparing the Makefiles:

For symbiflow_synth, counter_test and linux_litex_demo specify -x ${XDC} (don't used by picosoc_demo)
For symbiflow_place, linux_litex_demo and picosoc_demo specify -p ${PCF} (don't used by counter_test)

Is the same to use -x ${XDC} for symbiflow_synth and -p ${PCF} for symbiflow_place? Do I need to choose only one option? Has it sense to support the two alternatives? Recommendation? In my opinion, in place has more sense (but is using pcf instead of xdc). Is it taken into account for synthesis?).
Clarification will be welcome.
Regards,
Rodrigo

We are moving to XDC, but some of the old demos were written when only PCF support existed.

Ok, great. What about to specify in symbiflow_synth instead of symbiflow_place? Is it the final destination? (symbiflow_synth?) There, we can specify the timing and place constraints?

I think that is just a mistake?

@acomodi / @kgugala -- Thoughts?

@rodrigomelo9 It actually is expected it to be like that.

PCF: this type of constraints is only concerning placement of IOs, therefore it is required during symbiflow_place as the placement constraints are read at that step only (and a constraints file tailored for VPR is generated as output)
XDC: this file can contain different kind of constraints and not only placement ones (e.g. timing, etc). We have a yosys plugin capable of parsing the XDC constraints and save the placement locations of the IOs directly in the eblif, thus not requiring any additional arguments in the symbiflow_place step.

Additionally, XDC and PCF should not be used at the same time and it is better to use XDC, given that they can contain also timing and other constraints.

@acomodi -- This seems incorrect. The XDC should contain the IO placements (as well as other constraints)? Is the problem that we are missing a tool which generates the IO constraints file for VPR from an XDC input?

@mithro This is what is happening, the XDC contains all kinds of constraints. The yosys plugin can read them and save them in the eblif, for the io place constraints script to generate the VPR constraint files

@acomodi -- So the PCF file is being generated by the output of Yosys which is then converted into the correct format needed by VPR?

@mithro No. There are two independent flows concerning IO placement constraints, depending on what the user chooses:
XDC flow: yosys parses the file and saves the constraints in the eblif. The placement constraints script will read from the eblif and generate the VPR constraints. No PCF is produced
PCF flow: yosys does nothing. The placement constraints script reads the PCF and generates the VPR constraints. (The eblif is read also here, but only to get the top level IO nets)

I think we might have discussed this previously. We should hand in the PCF at the same place we hand in the XDC and then the rest of the flow should be the same.
See https://github.com/SymbiFlow/yosys-symbiflow-plugins/issues/30 and maybe https://docs.google.com/drawings/d/1r2LXypJF5AD40LfHegml3_fIvPT2jZ3n2OZYW9-9dLU/edit ?

Thanks. My question was answered, so this issue can be closed if you want (I mean, it seems that @mithro detected another problem, but that is not what this issue was about).
Regards


Clean up the data folder

Make nice subdirectories, give meaningful names to files etc...

@TDBuck giving this one to you to do when you have time.


[ENH] improved deep_equals utility - plugins for custom types

This PR improves the deep_equals utility by introducing the ability to provide custom plugins.
Ultimately, this enables more flexibility in soft dependencies for data containers such as polars (see, e.g., https://github.com/sktime/sktime/issues/5423) throughout the sktime package ecosystem, as deep_equals is used for extrinsic testing and validity checking.
Similarly, the ForecastingHorizon check should be moved as a plugin into sktime.
In addition, makes the following changes:

splits up the deep_equals file into a module with multiple files

Depends on https://github.com/sktime/skbase/pull/239.

Codecov Report
Attention: 14 lines in your changes are missing coverage. Please review.

Comparison is base (8a517d7) 83.68% compared to head (23f9bfc) 84.11%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #238      +/-   ##
==========================================
+ Coverage   83.68%   84.11%   +0.43%
==========================================
  Files          41       43       +2
  Lines        2820     2865      +45
==========================================
+ Hits         2360     2410      +50
+ Misses        460      455       -5

Files
Coverage Δ

skbase/utils/deep_equals/__init__.py
100.00% <100.00%> (ø)

skbase/utils/tests/test_deep_equals.py
100.00% <100.00%> (ø)

skbase/utils/deep_equals/_common.py
92.30% <92.30%> (ø)

skbase/lookup/tests/test_lookup.py
98.93% <75.00%> (-1.07%)
:arrow_down:

skbase/utils/deep_equals/_deep_equals.py
74.67% <85.48%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Add Dockerfile

This PR adds a Dockerfile that allows you to run the meter using Docker. I found it easier to use docker on a synology as it lacks a proper package manager.

It does start fine on my synology, but I still have one issue which is that the serial connection to the device seemed to be stuck today. The USB connection seems to be hooked up to a ti_3401 chip for which I compiled the kernel drivers. Currently I'm seeing these messages in the kernel logs
 usb 1-2: ti_interrupt_callback - nonzero urb status, -71

Btw really happy to have found this project as you use exactly the same stack as me (mosquitto, grafana, nodered), except for postgres. Instead of postgres I will probably use mosquitto -> telegraf -> influx to persist the sensor data.

Ok I got past this issue and now see following in the logging
Received serial package with CRC mismatch

I use this RS485 to USB adapter from waveshare on an Odroid C4 with kernel 4.9.218 and it works really well. Not sure if it will be recognised on the stock Synology kernel though (mine is Linux Syno 3.2.101 #41890 Thu Jul 15 03:40:53 CST 2021 armv7l GNU/Linux synology_armada370_213j)
The CRC errors happen sometimes on startup until the serial buffers are fully empty and comms established. Just try restarting the daemon a few times and if that still fails then power cycling the Synology could also help.
For the software stack, I migrated from influxdb to postgresql a while ago because I wasn't able to build the queries I wanted using the flux language. Postgresql on the other hand has much better documentation and a much more powerful SQL language. For the time series data I use the timescaledb postgres extension, which has very good tutorials. I have written up the complete installation steps in my sister project smartmeter, which uses the exact same setup. I can only recommend to take a look at timescaledb. Postgresql is awesome!

I use this RS485 to USB adapter from waveshare on an Odroid C4 with kernel 4.9.218 and it works really well. Not sure if it will be recognised on the stock Synology kernel though (mine is Linux Syno 3.2.101 #41890 Thu Jul 15 03:40:53 CST 2021 armv7l GNU/Linux synology_armada370_213j)
The CRC errors happen sometimes on startup until the serial buffers are fully empty and comms established. Just try restarting the daemon a few times and if that still fails then power cycling the Synology could also help.
For the software stack, I migrated from influxdb to postgresql a while ago because I wasn't able to build the queries I wanted using the flux language. Postgresql on the other hand has much better documentation and a much more powerful SQL language. For the time series data I use the timescaledb postgres extension, which has very good tutorials. I have written up the complete installation steps in my sister project smartmeter, which uses the exact same setup. I can only recommend to take a look at timescaledb. Postgresql is awesome!

I'm currently using the builtin USB port on the Aurora inverter. It seems there is a ti_3410 chip behind this one (which is rs232/rs485) according to the documentation I found. I suppose you have connected the rs485 with an internal socket in the inverter instead?
The weird thing is now that I first get a couple of CRC errors, and then the adapter hangs while spamming the kernel logs with this urb message I mentioned before here. I checked the driver code and it seems to start in rs232 by default, so my suspicion is that I need to set it to rs485 mode somehow. Not sure if there is a specific ioctl to do that in this case.
Is the serial data text based or is it binary? If it's the first then I maybe I should just try to open it using a terminal emulator to see if the connection works at least. I saw in your writeup a reference to picocom, did you use it to read a datagram from your adapter?
Timescaledb looks quite powerful, I have never used it but I'm already running a postgres next to influxdb, so I might look into it. I also had a colleague some time ago that was quite happy about it. It indeed seems to have some features that influx has not. The detailed writeup is very useful, thanks for that.

I'm currently using the builtin USB port on the Aurora inverter. It seems there is a ti_3410 chip behind this one (which is rs232/rs485) according to the documentation I found. I suppose you have connected the rs485 with an internal socket in the inverter instead?
The weird thing is now that I first get a couple of CRC errors, and then the adapter hangs while spamming the kernel logs with this urb message I mentioned before here. I checked the driver code and it seems to start in rs232 by default, so my suspicion is that I need to set it to rs485 mode somehow. Not sure if there is a specific ioctl to do that in this case.
Is the serial data text based or is it binary? If it's the first then I maybe I should just try to open it using a terminal emulator to see if the connection works at least. I saw in your writeup a reference to picocom, did you use it to read a datagram from your adapter?
Timescaledb looks quite powerful, I have never used it but I'm already running a postgres next to influxdb, so I might look into it. I also had a colleague some time ago that was quite happy about it. It indeed seems to have some features that influx has not. The detailed writeup is very useful, thanks for that.

I'm currently using the builtin USB port on the Aurora inverter.

Ah, my port is plugged and I never really thought of connecting something to it. I use the RS485 screw terminals inside. To get your Aurora communicating properly I would use a FT232RL based RS485 to USB converter like the one I've shown you and connect to the RS485 terminals of the inverter. The kernel driver for the FT232RL should be included even in older kernels. If not, you have already managed to compile a new kernel driver for your Synology (good job btw).

I need to set it to rs485 mode somehow

The kernel doesn't care about the serial communication standard whether it is RS232 or RS485. The bytes received by are the same in both cases. The difference between those standards is on the signal level (see here: https://www.seeedstudio.com/blog/2019/12/06/what-is-rs485-and-its-difference-between-rs232/).

Is the serial data text based or is it binary?

The aurora communication protocol is binary data (fixed length data packets)

It indeed seems to have some features that influx has not.

In flux I was not able to create the monthly data by the exact length of the month (the lengths of the month varies between 28-31 days). The easiest way is to take a 30 day average, but it will not be 100% accurate. In postgres you have no such limits and the monthly production is plotted exactly according to the length of the months.

@ahpohl the serial interface is up now and running on docker, in the end I used the rs485 stick that you suggested. It does connect to the same mcu as the usb port on the right, but the latter does seem to have some driver issues in linux.
Now I see data coming in through MQTT, but also often see this message. Read bytes failed: Timeout, inverter could not be reached. I used an old ethernet cable for the datalink. Do you know if there is any setting I can tune to see if I can make the message disappear?
Next step would be to try and install postgres, but have not made up my mind how my new setup will look like.

I wouldn't worry about these messages. The data is pulled every 5 seconds so if occasionally a data packet is not transferred it doesn't matter.
It is normal to see the Read bytes failed: Timeout, inverter could not be reached message 5 times in a row after the inverter powered down during the night (MCU is off so no comms with the inverter) and occasionally during the day. I sometimes also see Received serial package with CRC mismatch. Shortly before shutdown you get Math error: Attempted to divide by Zero when the power output is zero.

Ok so the poll interval is 5 seconds? In that case I should check my setup as I only see a couple of samples a day in grafana. I used an old ethernet cable with strandred copper, that might not have been the best option..

I use approx. 5 m shielded CAT7 cable, one pair for A and B and another pair for ground. The others 2 pairs are left unconnected. I guess any 4 wire telephone cable would also do. I haven't found any specific RS485 cable.


terminal chat help dialog immediately closes

open terminal chat
use alt+f1
🐛 dialog closes

https://github.com/user-attachments/assets/723d1951-92f6-4b28-bc98-0e17a1931f02

caused by https://github.com/microsoft/vscode/blob/6615060edfb22807ac9abe54313e701fda3a6f23/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.ts#L105-L110

fixed


[Doc Issue][Remove steps for local debug from deploy to Azure][2880178]

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

Article
Score
Issues
Scorecard
Processed

msteams-platform/sbs-gs-notificationbot.yml
88
32
link
:white_check_mark:

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

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

Article
Score
Issues
Scorecard
Processed

msteams-platform/sbs-gs-notificationbot.yml
88
31
link
:white_check_mark:

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


copyright question, use of your icon

Hello,
I made a website tracks some bilibili user, https://vtbs.moe
I add a button that directs to the users page on your website https://www.biliob.com.
For example,
https://vtbs.moe/detail/1473830

which uses your icon.
If its not good, I could remove it, so...

It’s great.


Unable to fetch remote config on Android release build

I am writing flutter application and using remoteConfig plugin for my purposes.
On both (android and ios) debug builds everything works fine. ios release  - also fine.
But Android release build throw exception:
Exception('Unable to fetch remote config');

I added breakpoints inside fetch method and there is PlatformException happen:
PlatformException(fetchFailed, Unable to complete fetch. Reason is unknown but this could be due to lack of connectivity.)

And this exception happen every time when I start app (only release build!). No luck to get remote configs.
What does it supposed to mean: Reason is unknown but this could be due to lack of connectivity.?

here are some details from java MethodCallHandlerImpl:
Fetch failed: The server returned an unexpected error.
com.google.firebase.remoteconfig.FirebaseRemoteConfigServerException: Bad Request

In my case I create new google-service.json and replace it with current.
Also I add sh1 to the firebase console.
Then it become works.


feat - ion search iOS look

Ionic version:  (check one with "x")
[ ] 1.x
[x] 2.x
I'm submitting a ...  (check one with "x")
[ ] bug report
[x] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:
Currently, search is aligned left:

When focusing on it, there is no effect, except for input focus.
Also, search icon looks a tiny bit off
When it has text, it shows an x button:

Expected behavior:
On native iOS apps, it looks like: (Mail, WhatsApp)

When focused: (hiding header, with cancel to right)

Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
 ordova CLI: 6.5.0
Ionic Framework Version: 2.2.0
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
Ionic App Scripts Version: 1.1.4
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Windows 10
Node Version: v6.9.1
Xcode version: Not installed

Just use:
<ion-searchbar animated="true"></ion-searchbar>

but, it might run slowly

There's a showCancel attribute. Also, animated will centre/alter the text alignment.

Oh - @manucorporat beat me to it. 🙂

@manucorporat while indeed, animated moves from center to the side, 2 design issues still remain:

iOS shows "Cancel", ionic shows an x icon
iOS animates to header, while ionic just animates the text align to left (see expected)

@manucorporat Also, when using animated, and showCancelButton, writing a single letter, then pressing "Cancel" it is still aligned left


Series.rename_axis(None) not accepted

Describe the bug
To remove the name of the index of a Series, one may call Series.rename_axis(None), however mypy does not recognize None as a valid argument.
To Reproduce
This code:
import pandas as pd

s1 = pd.Series([1, 2, 3], name="values").rename_axis("index")
s2 = s1.rename_axis(None)
print(f"s1\n{s1}\n\ns2\n{s2}\n\n")

elicits the expected output when run:
s1
index
0    1
1    2
2    3
Name: values, dtype: int64

s2
0    1
1    2
2    3
Name: values, dtype: int64

but mypy complains with:
foo.py:4: error: No overload variant of "rename_axis" of "Series" matches argument type "None"  [call-overload]
foo.py:4: note: Possible overload variants:
foo.py:4: note:     def [ListLike: (Sequence[Any], ndarray[Any, Any], Series[Any], Index[Any])] rename_axis(self, mapper: str | bytes | date | datetime | timedelta | <9 more items> = ..., index: str | bytes | date | datetime | timedelta | <11 more items> | None = ..., columns: str | bytes | date | datetime | timedelta | <11 more items> | None = ..., axis: Literal['index', 0] | None = ..., copy: bool = ..., *, inplace: Literal[True]) -> None
foo.py:4: note:     def [ListLike: (Sequence[Any], ndarray[Any, Any], Series[Any], Index[Any])] rename_axis(self, mapper: str | bytes | date | datetime | timedelta | <9 more items> = ..., index: str | bytes | date | datetime | timedelta | <11 more items> | None = ..., columns: str | bytes | date | datetime | timedelta | <11 more items> | None = ..., axis: Literal['index', 0] | None = ..., copy: bool = ..., inplace: Literal[False] = ...) -> Series[int]
Found 1 error in 1 file (checked 1 source file)

Please complete the following information:

OS: macOS 14.7.1
Python version: 3.12.7
Mypy version: 1.13.0
Pandas-stubs version: <IP_ADDRESS>009
Pandas version: 2.2.3

Hey @dpoznik ,
Thanks for the report! What you are seeing is correct, there exists no overload for passing None (although it is allowed by the pandas API https://pandas.pydata.org/docs/reference/api/pandas.Series.rename_axis.html#pandas.Series.rename_axis).
We should add an overload to pass None as mapper. Do you confirm @Dr-Irv ?
https://github.com/pandas-dev/pandas-stubs/blob/779aab6dd43eb7f17ffde0f5f28efbd88804a143/pandas-stubs/core/series.pyi#L2067-L2087

Cool, thanks for confirming. I'd be happy to submit a PR with all of the above at some point in the next few days. Could you assign the issue to me to ensure against duplicated effort?

You got it @dpoznik ! Looking forward!


[typescript-sdk] Add TypeScript SDK to pnpm workspace

This is the next step after #3751, adding the TypeScript SDK to the workspace. I updated the wallet references to point to workspace packages as well.

Should we update the READMEs?


What was exactly updated in credential process?

I've played after a few months with a small app for Spotify I made and suddenly I always get Insufficient client scope
This is the old function I'm using to refresh access token based on your example.
const checkTokenRefreshed = function(response, api) {
  if (response.error && response.error.statusCode === 401) {
    api.refreshAndUpdateAccessToken();
    return true;
  } else {
    return false;
  }
}

What should I update from the old approach, please?

Hmm, it might be an update on Spotify's end. I'll dig a little deeper and update you.


Enable busybox stat command

This is needed for the os-preload image.
https://github.com/rancher/os-images/blob/master/src/docker/02-preload/preload.sh#L12

This PR may not be strictly necessary now.  stat is not needed for the os-preload image now.

I like stat +1


Refactor code for better separation of concerns and more modularity

In particular, we should explore ways to avoid tight coupling between the cross-chain technology and the core functionality of the contracts themselves.

part 1: create abstract contracts, inherit them
part 2: update deploy scripts for modular deploy (i.e. wormhole version, etc)


Comments Bug

You have a bug in comments please open this video
https://youtu.be/dJDMX33Y22g

...but you are hitting Refresh each time, right? I should probably redirect back to the original page after posting a comment so that's not possible, but I would consider that an enhancement rather than a bug. Easy though, will do.

I do this with the script on base.hml

Suggestion: Rather than paper over with javascript what you perceive to be a bug in the app, instead submit a pull request that actually fixes it in the app itself. The flow for this is well-documented in the Django docs.

@shacker I can take a look at this.
So from what I understand @xor0x says is a bug but we are calling an enhancement that when a comment is added to a task. The drop down comes up, but instead the enhancement is to disable the pop up window that displays

Then build in an enhancement where the comment on the task is not duplicated rather is just added once?

@xor0x I've got a bit more time and found you replied to my comments. I was trying to summarize your challenge that it was creating duplicates when you hit refresh... you responded with 'confused' emoji so I'm asking if I was correct in understanding your issue.

@datatalking  You're right.

The video is no longer available can you explain what the issue was?


Add .yamllint config to provider generators

Provides a config so the yaml linter can be run on the provider repos.
I've made the default line length rather long (1000) to account for vcr cassettes which tend to extend hundreds of characters in width - we can look into tuning this or alternatively ignoring cassettes (since they are generated).

@imtayadeway ran a quick wc -L on some provider VCRs and some of them are >70,000 chars wide so might be better to ignore spec/vcr_cassettes/**

Agree with @agrare. Ok for other yaml spec files, but lets ignore cassettes for now.

@agrare @djberg96 thanks for the recommendations! I added the cassettes path to the ignore list, and reduced the line length to 120 which I think is in line with the other linters.

👍


[release-1.25] ServiceLB cannot be accessed via loopback when service ExternalTrafficPolicy=Local

#7561 backport

Validated on Version:
- k3s version v1.25.10+k3s-21a7f5c8 (21a7f5c8)

Environment Details
Infrastructure
Cloud EC2 instance
Node(s) CPU architecture, OS, and Version:
Ubuntu
Cluster Configuration:
1 node
Config.yaml:
token: secret
write-kubeconfig-mode: 644
selinux: true
cluster-init: true

Steps to Validate the fix:

Install k3s in latest commit
Deploy a workload that will reach local :8080
Check the connection successfully

```
###### Issue Validation: ########

~$ k3s -v
k3s version v1.27.2+k3s-55db9b18 (55db9b18)
~$ k apply
    apiVersion: apps/v1     kind: DaemonSet     metadata:     name: ingresstest-deploy     labels:     app: ingresstest     spec:     selector:     matchLabels:     app: ingresstest     template:     metadata:     labels:     app: ingresstest     spec:     containers:     - name: ingresstest     image: ranchertest/mytestcontainer:unprivileged     imagePullPolicy: Always     ---     apiVersion: v1     kind: Service     metadata:     name: ingresstest-ingress-svc     labels:     app: ingresstest     spec:     externalTrafficPolicy: Local     type: LoadBalancer     ports:     - port: 8080     targetPort: 8080     protocol: TCP     name: http     selector:     app: ingresstest
~$ curl http://<IP_ADDRESS>:8080

Welcome to nginx!

Welcome to nginx!
If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.
<p>For online documentation and support please refer to
    <a href="http://nginx.org/">nginx.org</a>.<br/>
    Commercial support is available at
    <a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

~$  k describe pod svclb-traefik -n kube-system | grep "klipper"
Image:          rancher/klipper-lb:v0.4.4
Image ID:       docker.io/rancher/klipper-lb@sha256:d6780e97ac25454b56f88410b236d52572518040f11d0db5c6baaac0d2fcf860
Image:          rancher/klipper-lb:v0.4.4
Image ID:       docker.io/rancher/klipper-lb@sha256:d6780e97ac25454b56f88410b236d52572518040f11d0db5c6baaac0d2fcf860
Normal  Pulling    78s   kubelet            Pulling image "rancher/klipper-lb:v0.4.4"
Normal  Pulled     77s   kubelet            Successfully pulled image "rancher/klipper-lb:v0.4.4" in 1.201520967s (1.201529646s including waiting)
Normal  Pulled     77s   kubelet            Container image "rancher/klipper-lb:v0.4.4" already present on machine
```


'TusUploadFailed' object has no attribute 'text'

Hi, I'm getting
232783872 bytes uploaded ...
'TusUploadFailed' object has no attribute 'text'
I can upload smaller files 60M but not a big ones 5G
the module version looks good,
pip show tuspy
Name: tuspy
Version: 0.2.1

@amrutadotorg 👋 The latest build should fix this issue, please reach out if it does not.

Hi, now I'm getting
335544320 bytes uploaded ...
Communication with tus sever failed with status 502
Is it possible to retry the connection with the tus server?

Yes I can. The error appears after a couple of minutes.
curl -I https://files.tus.vimeo.com/HTTP/1.1 200 OK
Date: Thu, 28 Jun 2018 17:55:52 GMT
Content-Length: 222
Content-Type: text/plain; charset=utf-8
Via: 1.1 google
Alt-Svc: clear
On Thursday, June 28, 2018, Jon Ursenbach<EMAIL_ADDRESS>wrote:

@amrutadotorg https://github.com/amrutadotorg We can add some retry
logic in there. Can you hit https://files.tus.vimeo.com from your server
at all?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/vimeo/vimeo.py/issues/122#issuecomment-401052808, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AkeZSDbFtKnDmDNM48fTuxCPEoIPOGQeks5uBOcBgaJpZM4UxjOd
.

Ok, good to know. We'll try and get some retry logic in by the end of the week.

thank you, please let me know once it is ready

@amrutadotorg We've pushed some retry logic into v1.0.4.


Datepicker is one day off

<b-field label="Startdatum">
   <b-datepicker v-model="startDate" placeholder="Selecteer..." icon="today" @click="start()"></b-datepicker>
</b-field>
<p>{{startDate}} </p>

Selecting a date displays day earlier

@focussing Is it a problem about input or your code <p>{{startDate}} </p> ? startDate is a Date Object and so you have to format correctly (for example: startDate.toLocaleDateString())

It looks like the datepicker is one day off for me when i specify the "first-day-of-week" attribute. Docs say I should use "1" for Monday but this way the editor starts on Tuesday.

@apocalyarts See that https://jsfiddle.net/5oap3x65/. Is it ok ?

@jtommy Your fiddle works.
Also, I too discovered that my calendar is one day off. I way able to narrow it down to this:
    defaultDateFormatter: (date) => date.toISOString().split('T')[0]
})```

Looks like this is causing the error.

@apocalyarts It's a problem about your formatter.
If you try with date.toISOString() (i know it isn't good but i was an example) will be correct
Anyway you can use external library (ex: moment js) or your custom function that manage Date object (https://www.w3schools.com/jsref/jsref_obj_date.asp)

I'm getting this problem without doing anything seemingly special to the dates.
In my HTML:
<b-datepicker icon="today"
    name="solution_date"
    :focused-date="new Date()"
    v-model="forms.status.solution_date">
</b-datepicker>

In my JavaScript:
var ticketStatus = {
    data: function () {
        return {
            uriStatus: statusUris,

            forms: {
                status: {
                    assigned_to: 0,
                    corrected_by: 53,
                    disposition_id: 10,
                    reason_id: 3,
                    solution_date: new Date('2017-08-09'),
                    target_id: 365,
                }
            },
        };
    },

In my UI:

@thc1967 Where the date is not correct? In the  datepicker input?

I would have expected the UI (b-datepicker) to show the date I put into the field via JavaScript:   solution_date: new Date('2017-08-09'),.
Given that seed value, the UI should have shown August 9, not August 8.
Digging a bit deeper, when I look at the b-datepicker instance in Vue tools in Chrome, I see that it seems to have the date I expect: dateSelected:"2017-08-09T00:00:00.000Z" and value:"2017-08-09T00:00:00.000Z".
However, when I dig down into the b-input child of the b-datepicker, I see the wrong date: newValue:"8/8/2017" and value:"8/8/2017".
It appears that somewhere in the data exchange between the parent b-datepicker and child b-input, the date value is changing.
If I initialize with solution_date: new Date(),, I get the right date - today.
If I initialize with solution_date: new Date('2017-09-26'),, I get yesterday.
I'm starting to fear this is a timezone issue?

Try new Date('2017/09/26') or new Date(2017, 8, 26).

Both of those formats result in the date I expect showing up in the UI. Intriguing.

@thc1967 I'm sorry, Is it works?

Yes, formatting the dates using '/' instead of '-' makes the datepicker display the right date. I don't understand why, but it works.

See Date docs. It isn't an issue of datepicker component but about how to create a Date object.

I still have this Issue, when creating a Datepicker and setting it to new Date() its working, but when selecting a date, it's setting the Date to the day before at 22:00.
<template>
    <div class="card-content">
        <b-field label="Date">
            <b-datepicker
                    placeholder="Select Date"
                    v-model="modelData.assignment_date"
                    icon="calendar"
                    :first-day-of-week="1"
                    :month-names="monthNames"
                    :day-names="dayNames">
            </b-datepicker>
        </b-field>

        {{ modelData.assignment_date }}
    </div>
</template>

<script>
    export default {
        data() {
            return {
                monthNames: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"],
                dayNames: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"],
                modelData: {
                    assignment_date: new Date(),
                }
            }
        }
    }
</script>

After reloading, modelData.assignment_date is correctly set to Today

After picking a Day (10/6/2017), modelData.assignment_date is set to the day before the one I selected at 22:00

I got this problem too. When I select 16.12.2017 the value in result is: 2017-12-15T23:00:00.000Z.
In Google Chrome's console:
new Date();
Sat Dec 16 2017 17:56:06 GMT+0100 (CET)

I don't have setting default value for datepicker. Only just used v-bind:model="date" with a default value null). How can I fix it?

I am having the same issue. Can not find any solution for that.

@agriboz Could you provide the code that you're using when you send the date to the server or how to do you format the date?

@jtommy here is the configuration.
Vue.use(Buefy, {
  defaultDayNames: ['Pz', 'Pzts', 'Sal', 'Çrş', 'Prş', 'Cuma', 'Cmts'],
  defaultMonthNames: ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'],
  defaultFirstDayOfWeek: 1,
  defaultDateFormatter: date => date.toLocaleDateString('tr-Tr')
})

@agriboz Ok, that is configuration how to you show the datepicker (months, days, and formatter to input) but the issue is when you send the date to the server.
You have remember that datepicker v-model use a Date Object and it contains timezone information.

@jtommy did you have any chance to see the video about the issue? i tried to explain as much as i can.

@agriboz Yes, sure. The issue is how to you send "sentDate" param in "/supplier/email" request.
defaultDateFormatter prop is only to format the selected date into the input field.

I didn't do any change for "sentDate" to send "/supplier/email" endpoint. Do i need to make anything different?

@agriboz You should format Date Object to String or Number with your custom function or external library (for example), before to send it to your endpoint.

is there a good example of how to do it with nuxt/axios module interceptor?

It's only an idea as example using moment and axios
axios.interceptors.request.use((config) => {
  for (let key in Object.keys(config.params)) {
     const value = config.params[key]
     if (value instanceof Date) {
         config.params[key] = moment(value).format('DD-MM-YY')
     }
  }
  return config
}, function (error) {
  return Promise.reject(error)
})

@jtommy oh, that is my bad. I was trying to do it with transformRequest config. thank you btw.

@SSolomonCT a fix will be available in the next release https://github.com/buefy/buefy/commit/a06eed4b2753d31a8082be68397b643b922e2cd8

Thanks for all the great work... This is still an issue :)
Try it on the official Buefy website:
https://buefy.github.io/#/documentation/datepicker   - It is still off by a day.
Tested using Chrome, Safari on Mac.

@caryevans We didn't release the new version

@jtommy this happens for all cases or only when user is in a timezone which has different date than the UTC. For example: 2 AM UTC today was 10 PM yesterday in New York. So user in New York will see -1 day if we try to set current date to date-picker.

@kushbhandari Did you try the develop branch? Anyway you might fix it using date-formatter prop untill the new version will be released

@jtommy haven't tried on develop branch though I see another issue with mobile native browsers. On iOS safari, as soon as I click the datepicker, ( today's date - 1day ) is displayed in input. I was not able to find any property to control that. Is there any workaround to not display date at least in input on click of datepicker for native browsers ?

@kushbhandari We have non control for native picker. You might disable it using mobile-native prop

@jtommy but I didn't click anything on native picker. I just clicked datepicker which triggers native picker and datepicker is populated with date without any interaction with native picker. So not sure how/why datepicker input is populating date ?

Can you provide an example ?

Ok, here are the steps -

Goto https://buefy.github.io/#/documentation/datepicker on mobile browser (iOS, Safari)
Click the first example of Datepicker
Notice that no date is displayed on datepicker (as expected)
Native datepicker will showup on your device and you will notice datepicker is set to current date.

Is there anyway to prevent setting of date in datepicker on native broswer?
Attaching screenshot:

It's an issue a about input "date" type and not related to Buefy

I'm experiencing this issue as well. The problem is that the Javascript Date Object is formatted to browser's local timezone. So if you create a Date object from a record in your database that's in UTC time, it will be represented as the equivalent date in your locale.
For instance if you are in UTC+8 and select the date 2018-08-01, the Date object looks like "Wed Aug 01 2018 00:00:00 GMT+0800". However when the form is submitted the value up being "2018-07-31T16:00:00.000Z" which is the same date, converted into UTC format.
Sure, you can do a bunch of translation in Vue or intercepts via axios to get it to "work right" but the intent of the input is to select a date (absent a time or timezone). The date picker doesn't implement times or timezones so this can get a bit confusing. The Javascript Date object represents a date, a time and a timezone but the Date Picker should only represent a date. For most use cases developers need a method to view/store/modify a date without an associated time/timezone so it might make more sense for Buefy to drop the Date object in favor of a date string.

We're still having issues with this on 0.6.7. We just need the day, not the full date with time. We end up with a lot of extra code to just parse out the date.

We fixed issue about formatting date but the components manage always a Date object that contains time information.
What's the problem? You might get only date part with or without other libraries

Basically, we end up with this computed setter/getter for the date. On the getter, we have to take an ISO day (e.g. 2017-08-01) from the API, and turn it into a date object, to then turn it back into a day in the display. The setter then has to take the date object, and turn it into an ISO day for the API.
I'm not really familiar with the Vue internals for computed setters/getters, but - it seems like Vue does an immediate read following a set. If the getter returns a different value than what was set, it tries to set that new value. So, if the date object returned by the getter is not perfectly returned to the setter, it results in an infinite loop. So then, we ended up adding an intermediate caching layer to store the date object that we considered "latest".
With buefy 0.6.7, we still had some weirdness around timezones and calculating the right date object from the API. After spending a lot of time looking at the formatters and parsers for this Datepicker, I ended up looking at some other components.
I ended up switching to vue-bulma/datepicker because it provides the kind of API I need - where it can just deal in ISO days.
We love Buefy and use it extensively. But, the Datepicker component required too much glue code in converting between dates and days.

@philipithomas At the moment we don't want to add dependency and create a complete datepicker take us a great effort.
I'm sorry but at the moment we cannot compare to that datepicker because internal is flatpckr, a specific date time picker lib.

All good - I dug into the internals, and realized how complex this component is. Thanks for working so hard on Buefy, and for being responsive on this issue!

This worked for me using moment
moment(date).utcOffset(date).toDate();

This worked for me using moment
moment(date).utcOffset(date).toDate();

Where to put this? :date-creator or something similar?

I just put mine in compute with momentjs, i hope this will help someone.
 date: {             get() {                 return moment(this.date, 'YYYY-MM-DD').toDate()             },             set(dob) {                 this.date = moment(date).format('YYYY-MM-DD')             }         }

I'm just saying a lazy fix for this could be having the datepicker select 12:00PM by default, sorry for those of you in Australia.


android  after reload the js,remote-play remote-pause not fired when tap the notification action button.

That's because the information the module has about the headless task is lost when it reloads.
The fix would be to actually destroy the module when you reload it.


Threefold Connect app crashed after paying with QR code.

Crash on testnet with iPhone 12 (iOS 14), after button 'Confirm'.
Payment of 3bot deployment on testnet https://deploy3bot.testnet.grid.tf/threebot_deployer/#/
Remark: QR code was generated hours ago. It might have been expired. Non-expired QR code worked well with the same device.

Been live on prod now ,doesn't seem to happen on the prod version. Probably some issue in that specific testnet build.


objid_t: fault tolerance infrastructure should use objid_t

Original issue: https://charm.cs.illinois.edu/redmine/issues/178

Once the basic objid_t scaffolding is available (#170), the impacts on the FT infrastructure and protocols should be audited and adapted to use objid_t. Note that array indices will no longer be available / visible at many points in the runtime code.

Original date: 2013-10-07 19:05:53

This won't be ready for 6.6, so push it back.


Fix banner configuration input

Questions
Answers

Description?
Banner module is extending legacy form with custom input, however with a wrong class now.

Type?
bug fix

BC breaks?
no

Deprecations?
no

Fixed ticket?
Fixes PrestaShop/Prestashop#25911

How to test?
Open banner module config before and after the change.

We changed the legacy style on 1.7.8, it's linked to this because we increased form-group size

Thanks @Hlavtox & @sarahdib


Docs minor clarification added

Applying new links for mapconfig and minor text edits.

@rochoa , please let me know if I can go ahead and merge these minor edts?

Can we use full URLs? That way they also work if you are seeing the files in GitHub or in your text editor.

We can ask @matallo?
(He has always instructed me to create links as shown, but I'm willing to adapt)

@matallo , I was proactive and applied absolute paths for the URL's, as per Raul's request. Will you allow this so that we can merge?

:rocket:

@matallo , can you help? This was appearing live yesterday but now it's not?


Feature: NotificationTemplateClient

Implement all endpoint methods for the Notification Template endpoints.
Documentation for the endpoints can be found here: https://docs.novu.co/api/get-notification-templates/
Endpoints

[ ] Get notification templates
[ ] Get notification template
[ ] Update notification template
[ ] Delete notification template
[ ] Update notification template status

@Badabum are you open to taking up this issue? We'll like to get it in this week.

Hey, not sure yet. But prob will have some time tomorrow and Thursday to work on it.

PR for basic operations is here

@wh1337 can you share somehow output of failed tests?


Allow 92 characters per line instead of 80

This is a more common and more reasonable limit. It's what's used in Base and by Invenia, though for Invenia it's a more of a hard rule than a guideline.

This is a more common

The 80 character limit has been a programming standard for a very long time. AFAICT an 80 character limit is far more common than Base's 92 character limit (which I had actually never seen before coming to the Julia world).
I strongly disagree with going against historical precedent here, especially given that the YASGuide's limit is already a "soft" one.

It's a precedent based on punch cards, which seems a bit dated.

Yup, punch cards have more historical precedent than Base 😛Regardless of how we set it, this limit is fairly arbitrary - especially since it's a soft limit. Given that that's the case, I see no reason to go against the grain and change away from the standard.
If people really want to, they can say their code follows the YASGuide with a 92 character limit. Nothing wrong with that.

Hm, I'm trying to find other places where I've seen 92 because Julia was not the first place I saw that, but I'm having trouble. Rust recommends a limit of 100, Go says no limit, and PEP 8 says 79.


Es glossary: Ortography and few changes more

Only ortography/grammar changes, and craving as anhelo.

:pray: Thank you


ionSlideProgress missing on ionic4 IonSlides

Bug Report
Ionic version:

[x] 4.x
Current behavior:
With ionic4 it has become impossible to access the swipers progress event of an IonSlide
Expected behavior:
Make progress event of swiper available over ionSlideProgress proxy event (like in Ionic3)
Ionic info:

Ionic:

   ionic (Ionic CLI)             : 4.6.0 (/usr/lib/node_modules/ionic)
   Ionic Framework               : @ionic/angular 4.0.0-rc.0
   @angular-devkit/build-angular : 0.10.7
   @angular-devkit/schematics    : 7.1.4
   @angular/cli                  : 7.1.4
   @ionic/angular-toolkit        : 1.2.1

Cordova:

   cordova (Cordova CLI) : 8.1.2<EMAIL_ADDRESS>   Cordova Platforms     : android 7.1.2
   Cordova Plugins       : cordova-plugin-ionic-webview 1.2.1, (and 28 other plugins)

System:

   Android SDK Tools : 26.1.1 (/home/fabian/Android/Sdk)
   NodeJS            : v8.11.2 (/usr/bin/node)
   npm               : 5.6.0
   OS                : Linux 4.15

@glenntws @juny58 I found a proper solution: You can access the unerlying swiper instance with ionSlides.el.swiper

Thanks for the issue. I am going to close this as you can now access the main swiper instance using the getSwiper() method. From there, you can listen for the slides progress. For more info, please see: https://ionicframework.com/docs/api/slides#methods. Thanks!


Use a circular list to manage buffer

Fixes #361
This is a work in progress, I'm putting the PR out now so the changes are easier to view and so I can get early feedback. Initial testing shows this is a lot faster in processing a large ls -lR as well as being responsive and showing the output as it's going (as opposed to locking up).
Remaining tasks:

[x] BUG: Applications that change middle of buffer screw up everything (eg. git log)
[ ] Make sure vim works
[ ] Ensure that all changes to the list that would trigger a change in ybase and ydisp are handled
[ ] Do thorough manual testing and ensure automated tests pass
[ ] Benchmark against current

@akalipetis @parisk feel free to give this some early feedback if you have the time.

Awesome. This looks great (code and functionality-wise).
Giving it a quick try works like a charm 👍 . Also running ls -lR feels by far more responsive.
I witnessed only mess-ups with git log / top:
If I scrolled x pages down in git log and then scrolled y pages up (y<x), some weird flashing happened.
👍  let's move this forward. I'd be happy to help wherever needed.

I still need to do more verification but I believe the bugs are worked out. There are a few lingering TODOs still to do though. After this change we should then get rid of the majority if not all of the CircularList.splice calls and replace them with a much faster function(s) that sets some element and shifts n elements by 1 index as that seems to be its main purpose (see reverseIndex).

@Tyriar a few comments on the TODO list:

Ensure that all changes to the list that would trigger a change in ybase and ydisp are handled

This will be handled in automated tests, right?

Do thorough manual testing [...]

Can you update this with the test cases you have in mind, in order for the rest of us to contribute as well?

Benchmark against current

Should we consider this as ✔ done, since we have the ls -lR ~ metric you provided.

@parisk

This will be handled in automated tests, right?

If possible, having had jumped into this escape sequence code I have a far better understanding of how it all works. I might follow this one with some refactors and tests, rather than jamming it all into this PR.

Can you update this with the test cases you have in mind, in order for the rest of us to contribute as well?

Ideas right now:

See if we can expand the automated escape sequence tests that are already present
Play with git, vim, less, etc. when the buffer is full and not full

Should we consider this as ✔ done, since we have the ls -lR ~ metric you provided.

I might see if I can write an automated perf test first, it would be nice to have something a little more solid than a timer on my phone :smile:
I was also thinking maybe we could look at adding the PR that syncs https://github.com/sourcelair/xterm.js/pull/146 to see if we've overcome the issues that made this slow. It would be awesome if time was accurate, both for the end user and for testing purposes.

Automated testing is probably best left for better support within xterm.js. I did some more tests and compared it to gnome-terminal too:

master
CircularList
gnome-terminal

Print 1..500000
55s
8s
3.5s

ls -lR ~ (524582 files)
68s
29s
6s

This is ready for a full review now.


Update InkBot to use version 19 of the Ink script

Hello, thank you for creating such an interesting project.
The blade-ink dependency is outdated and is incompatible with the JSON story exported from the latest release of the Inky editor.

There is a problem with this pull request. Intents are correctly matched, but one line responses such as to WhereTaxi and CancelTaxi return empty responses from BotResponse::getResponse(). Failed tests:

testTaxiStatus
testCancelTaxi
testSessionEndClearsReprompts

Alright, I figured out what is wrong. If you look at the InkBot::processStory() method you will find this check:
// skip first line as ink replays choice first
if (first && skipfirst)
{
    first = false;
    continue;
}

That's why there is no response text.

Interesting. They must have changed the behavior of ink between versions. Will need to investigate when this took place and see what other side effects may exist.

So the ink parser still returns the first line, however, the inkscript did not have a new line after each intent, so it got returned together with the response. Here is a fix:
diff --git a/mutters-ink-bot/src/test/ink/taxi/intents.ink b/mutters-ink-bot/src/test/ink/taxi/intents.ink
index 00489a4..d4e8f02 100644
--- a/mutters-ink-bot/src/test/ink/taxi/intents.ink
+++ b/mutters-ink-bot/src/test/ink/taxi/intents.ink
@@ -1,6 +1,7 @@
 == start ==
-+ OrderTaxi -> order_taxi
-+ CancelTaxi -> cancel_taxi
-+ WhereTaxi -> where_taxi
-
-
++ OrderTaxi
+    -> order_taxi
++ CancelTaxi
+    -> cancel_taxi
++ WhereTaxi
+    -> where_taxi

All the taxibot tests are now passed, but Orderbot tests fail and I cannot figure out why.

@JanSimek Finally got Mutters updated to use the latest version of Ink (v0.8.3). Turns out there was a bug in the later versions of blade-ink that needed to be fix: https://github.com/bladecoder/blade-ink/issues/15
Latest release info here: https://github.com/rabidgremlin/Mutters/releases/tag/v5.0.0

Great! Thank you


WIP: Use SMT for reasoning about strings

As it stands, F* cannot reason about string literals at all. The following lemmas will all fail:
let hello = "hello"
let world = "world"
let helloworld = strcat "hello" "world"

val length_hello: unit -> Lemma (strlen hello = 5)
let length_hello () = ()

val helloworld_literal: unit -> Lemma (helloworld = "helloworld")
let helloworld_literal () = ()

It is possible to reason about strings through Z3, which now includes Z3Str3.
However, Z3's model of strings applies only to strings of ASCII characters.
Ideally, F*'s model of strings would correspond to F# / OCaml strings.
This PR, as-is, allows F* to reason about strings of ASCII characters through Z3. The primitive operations strlen, at and strcat are implemented. Other Z3Str3 primitives could potentially be added.
This PR will eventually be revised to include an SMT theory of strings that corresponds to F#/OCaml strings.
Any input regarding modelling strings in F* is welcome.
This PR means that F* can now prove things like
open FStar.String

let hello = "hello"
let world = "world"
let helloworld = strcat hello world

val test : unit -> Lemma ( helloworld == "helloworld"
                           /\ strlen helloworld == 10
                           /\ helloworld `at` 5 = "w"  )
let test () = ()

@wintersteiger would you like to have a look at this?

This seems quite old and not on our current queue of mergeable PRs. I am closing it for now ... if anyone wants to revive it, please re-open.


Improve third party logging (EDDN, Inara)

Modified logging with a few goals in mind:

Inara now logs when a message is successfully sent instead of only when it fails.
Both Inara and EDDN now have a common format that makes it easier to visually parse in the log window: [app] message

For the most part, I left the messages alone and just reformatted them.

I'd like to eventually do this for all third-party integrations (IGAU, EDAstro, EDSM, etc.) but I don't have accounts on all of them and wanted to use this as sort of a test balloon to see if I should even bother -- if this gets accepted I'll start work on the others.
The impetus for this came from the fact that I was transitioning from EDMC (Elite Dangerous Market Connector) to EDDiscovery full-time.  I didn't realize EDD can do everything I needed from EDMC, and when I learned that I entered my info for Inara and discovered that I couldn't tell if it actually worked or not because EDD didn't log a successful Inara send. Other integrations provide useful information along those lines, like EDDN, so I am hoping this brings some consistency to how things are logged.
Screenshot of the result, from the Log tab:

(Really hoping I did this right; I've never worked with submodules before.)

I'll have to have a think about this, if we want the Log to be continually updated with Inara messages.. there are a log of them.

I know EDDN does a log every go (thats historical).

Thanks


build error

Hi there, I've just opened a pull request to solve some basic build errors. Still, I'm running into the error below. I know that you don't actively develop this any more, but if you could spend 2 minutes to point me into the right direction I might be able to fix it and do another pull request to revive this project
14:41 $ gradle build
The Task.leftShift(Closure) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use Task.doLast(Action) instead.
        at aspectj_c43so8izdc8vwzr5jqzpiffqm.run(https://raw.github.com/ultraq/gradle-support/master/aspectj.gradle:30)
:Projects:Red Horizon - Aspects:compileJava UP-TO-DATE
:Projects:Red Horizon - Aspects:processResources UP-TO-DATE
:Projects:Red Horizon - Aspects:classes UP-TO-DATE
:Projects:Red Horizon - Aspects:compileTestJava UP-TO-DATE
:Projects:Red Horizon - Aspects:processTestResources UP-TO-DATE
:Projects:Red Horizon - Aspects:testClasses UP-TO-DATE
:Projects:Red Horizon - Aspects:test UP-TO-DATE
:Projects:Red Horizon - Aspects:jar UP-TO-DATE
:Projects:Red Horizon - Aspects:assemble UP-TO-DATE
:Projects:Red Horizon - Aspects:check UP-TO-DATE
:Projects:Red Horizon - Aspects:build UP-TO-DATE
:Projects:Red Horizon - Filetypes:compileJava UP-TO-DATE
:Projects:Red Horizon - Filetypes:processResources UP-TO-DATE
:Projects:Red Horizon - Filetypes:classes UP-TO-DATE
:Projects:Red Horizon - Filetypes:compileTestJava
warning: [options] bootstrap class path not set in conjunction with -source 1.7
/Users/philipp/oss/redhorizon/Projects/Red Horizon - Filetypes/Tests/redhorizon/filetypes/tests/MixFileTests.java:19: error: package redhorizon.filetypes.mix does not exist
import redhorizon.filetypes.mix.MixFile;
                               ^
/Users/philipp/oss/redhorizon/Projects/Red Horizon - Filetypes/Tests/redhorizon/filetypes/tests/MixFileTests.java:20: error: package redhorizon.filetypes.mix does not exist
import redhorizon.filetypes.mix.MixRecord;
                               ^
/Users/philipp/oss/redhorizon/Projects/Red Horizon - Filetypes/Tests/redhorizon/filetypes/tests/MixFileTests.java:46: error: cannot find symbol
                         MixFile mixfile = new MixFile("Allies.mix", inputstream.getChannel())) {
                         ^
  symbol:   class MixFile
  location: class MixFileTests
/Users/philipp/oss/redhorizon/Projects/Red Horizon - Filetypes/Tests/redhorizon/filetypes/tests/MixFileTests.java:46: error: cannot find symbol
                         MixFile mixfile = new MixFile("Allies.mix", inputstream.getChannel())) {
                                               ^
  symbol:   class MixFile
  location: class MixFileTests
/Users/philipp/oss/redhorizon/Projects/Red Horizon - Filetypes/Tests/redhorizon/filetypes/tests/MixFileTests.java:48: error: cannot find symbol
                        MixRecord record = mixfile.getEntry("affirm1.v00");
                        ^
  symbol:   class MixRecord
  location: class MixFileTests
5 errors
1 warning
:Projects:Red Horizon - Filetypes:compileTestJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':Projects:Red Horizon - Filetypes:compileTestJava'.
> Compilation failed; see the compiler error output for details.

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

BUILD FAILED

Total time: 2.057 secs

I figured out that renaming the directories Tests in the projects makes the whole gradle build run through. So this is at least a workaround but not the right solution I guess

Ah, super old issue, but will close now: the build tools have changed significantly since this was raised and I've hooked it up to Travis CI to make sure it's always building as well.  Also, the PR mentioned (#5) was closed/resolved a while ago too!


trusting resolver

how are resolvers chosen to be implemented and how can we be sure they aren't malicious? Is there any redundancy checking of dns records?

"redundancy checking" doesn't work since DNS servers can return very different responses to different clients. Especially now with CDNs that serve 1/3 of the web traffic.
The best way to trust a resolver is to run your own :)


Front page Community section styling

Fixes https://github.com/fluxcd/website/issues/133
Reduced the size of the section by removing extra copy text and reducing icon size to 1x. Fixed the background to be $flux-gray (#2f2f2f).
Switched to flexbox for individual items - the layout seems to flow well on large, medium and small screens.

JFYI I took the liberty of committing my suggestions and merging them.


[ONNX] Add CumSum operator to ONNX frontend

Thanks for contributing to TVM!   Please refer to guideline https://tvm.apache.org/docs/contribute/ for useful information and tips. After the pull request is submitted, please request code reviews from Reviewers by @ them in the pull request thread.

Oh, I just noticed it's a draft :) You're probably not ready for review, sorry.

@mbrookhart, thank you for you questions. Now I added error generation for exclusive and reverse attributes, but I'm planning to implement them in this PR.

exclusive can be easily supported by cumsum(data) - data. Similarly, I expect reverse can also be supported by composing with reverse op. But I think this attribute is weird (why would anyone one want to do reverse cumsum), so it might not be worth it.
It's strange ONNX Cumsum doesn't have output dtype attribute. Without it, there could be overflow issues for int32 input. Also it wouldn't work for boolean input, which is a common input to cumsum. I guess they expect casting to be done by users beforehand.

I think reverse should be done in the frontend, since this seems ONNX specific. For exclusive, if you want to avoid the overhead of subtraction, we can do cumsum with exclusive scan. See https://github.com/apache/tvm/blob/1e0d3569b94f650243f4d0ac204d196e3be8b0aa/python/tvm/topi/cuda/scan.py#L517 if exclusive=True, we can use exclusive_scan instead of inclusive_scan.

@mbrookhart, @masahi, I have one question about implementation of exclusive attribute. In current implementation, I added this attribute to topi kernels, but also I could do the same thing only for ONNX frontend (by adding subtract operation after cumsum). What do you think, what is the better approach? In first case we don't have overhead of subtract operation, but in the second we should write less code.

I'm happy with the current implementation. It is faster, and exclusive cumsum could be useful for other purpose (just as exclusive_scan in topi cuda is used in multiple places).

Thanks @echuraev @masahi


[NTH] Use a logger instead of printing to the standard output

This is a nice logger library for C++: https://github.com/SergiusTheBest/plog

Difficulty (1-10):
2

I'll quickly do this


incompatibility with no chat reports (and possibly other mods)

for example when you hover over the button to change signing mode the text doesnt appear and just displays a blank rectangle
other mods are also affected (codeclient) but thats all i know

What version of Minecraft, SymbolChat and NoChatReports are you using?

symbol chat 1.2.2
minecraft 1.20.4
no chat reports 2.6.1

In the latest version for MC 1.21 this seems to no longer be a problem, and i don't really support MC 1.20.4 anymore. My guess would be that this is not a problem on 1.20.4 if you use SymbolChat 1.2.1 since 1.2.2 changed quite a lot on the rendering.


Crew monitoring window could be a lot prettier.

Add some panel containers / margins around the place.

I think we can close this issue now (see #22240)


java.lang.NoClassDefFoundError:Lcom/microsoft/ml/lightgbm/SWIGTYPE_p_void

When I'm  running lightgbm by the spark.I get such exceptions.
Exception in thread "main" java.lang.NoClassDefFoundError: Lcom/microsoft/ml/lightgbm/SWIGTYPE_p_void;

	at java.lang.Class.getDeclaredFields0(Native Method)
	at java.lang.Class.privateGetDeclaredFields(Class.java:2583)
	at java.lang.Class.getDeclaredField(Class.java:2068)
	at java.io.ObjectStreamClass.getDeclaredSUID(ObjectStreamClass.java:1703)
	at java.io.ObjectStreamClass.access$700(ObjectStreamClass.java:72)

	at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:484)
	at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:472)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:472)
	at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:369)
	at java.io.ObjectOutputStream.writeClass(ObjectOutputStream.java:1213)
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1120)
	at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
	at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
	at org.apache.spark.serializer.JavaSerializationStream.writeObject(JavaSerializer.scala:43)
	at org.apache.spark.serializer.JavaSerializerInstance.serialize(JavaSerializer.scala:100)
	at org.apache.spark.util.ClosureCleaner$.ensureSerializable(ClosureCleaner.scala:342)
	at org.apache.spark.util.ClosureCleaner$.org$apache$spark$util$ClosureCleaner$$clean(ClosureCleaner.scala:335)
	at org.apache.spark.util.ClosureCleaner$.clean(ClosureCleaner.scala:159)

My pom reference as shown below
  <dependency>
            <groupId>Azure</groupId>
            <artifactId>mmlspark</artifactId>
            <version>0.16</version>
        </dependency>

Who can help me to solve this problem?Thank you very much ！

@charmby sorry about the issue you are encountering.  Usually this happens when the native lightgbm dependency is not loaded from maven, please see this maven artifact:
https://mvnrepository.com/artifact/com.microsoft.ml.lightgbm/lightgbmlib
also, please use the latest 0.17 version from mmlspark

@charmby did you have any luck with this issue?  were you able to find a workaround?

Using version 2.3.150 of LightGBM gives this error, because the file SWIGTYPE_p_void is missing also some other versions give errors like SWIGTYPE_p_int_64_t not found, and the rest give error "libomp" not loaded.. I have tried all combinations and still no luck

I get the same error with the latest release. has anyone figured out a fix for this?

com.microsoft.ml.spark
mmlspark_2.11
1.0.0-rc1

I don't know if this is the correct way for you but according to the H2O.ai documentation,
H2O provides a method for emulating the LightGBM software using a certain set of options within XGBoost. This is done by setting the following options:
tree_method="hist"
grow_policy="lossguide"

Doccumenation link
Hope this helps.

Using the latest version of LightGBM gives this error because the file SWIGTYPE_p_void is missing which is present in other versions, but some other versions like 2.3.350 give errors like SWIGTYPE_p_int_64_t not found, and the rest give error "libomp" not loaded ... I have tried all combinations and still no luck

I get the same error with the follow pom

com.microsoft.ml.spark
mmlspark_2.11
0.18.1

    <dependency>
        <groupId>com.microsoft.ml.lightgbm</groupId>
        <artifactId>lightgbmlib</artifactId>
        <version>2.2.400</version>
    </dependency>

please help


integration/popularImages: change aerospike test

use asd (aerospike daemon) to verify if aerospike image
is compatible with CC 3.0
Signed-off-by: Julio Montes<EMAIL_ADDRESS>

lgtm


Explore interaction flows with developers

Parent objective:  #9
Progress: 0%

[ ] [P0] Implement a Go PR review bot able to run multiple static analysis tools, make it available to specific users and gather feedback
[ ] [P1] Add “do not reinvent the wheel” feature to the bot based on gemini function duplication
[ ] [P1] Make bot language independent, consider Docker + gRPC based infra

@bzz discussed it with @campoy and it's added to the same objective #9 but as an early key result instead


[Bug] StartupParams has lost in CodeLogicalUnitExecTask.toRequestTask method

Search before asking

[X] I searched the issues and found no similar issues.

Linkis Component
linkis-engineconnn-plugin, linkis-orchestrator
Steps to reproduce
Step 1:
Add some attributes such as "jdbc.url" for workflow JDBC node, just insert some key in dss_workflow_node_ui table. You can see a new input appear in Attribute information of jdbc. So you can get the request json include "jdbc.url" in startup params.
params: {variable: {}, configuration: {special: {}, runtime: {,…}, startup: {ReuseEngine: "true",…}}} configuration: {special: {}, runtime: {,…}, startup: {ReuseEngine: "true",…}} runtime: {,…} contextID: "{"type":"HAWorkFlowContextID","value":"{\"instance\":null,\"backupInstance\":null,\"user\":\"root\",\"workspace\":\"bdapWorkspace\",\"project\":\"test22\",\"flow\":\"t22flow1\",\"contextId\":\"8-8--cs_1_devcs_1_dev20\",\"version\":\"v000001\",\"env\":\"BDAP_DEV\"}"}" nodeName: "jdbc_3011" special: {} startup: {ReuseEngine: "true",…} ReuseEngine: "true" jdbc.url: "jdbc:mysql://xx.xx.xx.xx:yyyy/mysql" variable: {}
Step 2:
But you can't get the value of "jdbc.url" params from the properties of engineExecutorContext in EngineExecutor classes , such as JDBCEngineConnExecutor.scala, So, it must lost during the transmission process.
Expected behavior
I expect to get the value of startup params in the properties of engineExecutorContext in any EngineExecutor classes, or give me some other method to get them,maybe from JobHistory.
But in my opinion, it is a public problem that needs to be fixed. I checked the code and found it lost in CodeLogicalUnitExecTask.toRequestTask method that passed a lot of parames except startup.
I added some code in CodeLogicalUnitExecTask.toRequestTask method as an interim proposal
// add by fangjin 20230210     if (null != getParams.getStartupParams) {       requestTask.getProperties.putAll(getParams.getStartupParams.getConfigurationMap)     } //
Your environment

Linkis version used: 1.3.1
Environment name and version:

hadoop-3.2.1
hive-3.1.2
spark-2.4.6
scala-2.11.12
jdk 1.8.0_202
....

Anything else
No response
Are you willing to submit a PR?

[X] Yes I am willing to submit a PR!

Thank you for your explanation, this should be a DSS bug. Because StartUp should be the parameter used when starting Ec. You can refer to: org.apache.linkis.orchestrator.computation.execute.DefaultCodeExecTaskExecutorManager#createMarkReq
The URL of JDBC should be put into Runtime parmas.
But I think it can be compatible here, but in order to prevent parameter duplication, it is recommended to put startUP first and then put runtime

I will close this issue. You can reopen if necessary


Work with ruby 2.3's --enable-frozen-string-literal

These changes are the minimal ones necessary to allow Roda's specs
to pass.  There may well be other changes that are required.

:+1:


Prepare for new release of Confluence

Workflow links: https://github.com/atlassian-labs/atlassian-slack-integration-server/actions/runs/3194609586, https://github.com/atlassian-labs/atlassian-slack-integration-server/actions/runs/3194610917.

This ticket will be addressed in #234


[Amplify Console with CLI after 7.26] - AGAIN - broken #current-cloud-backend.zip

Before opening, please confirm:

[X] I have installed the latest version of the Amplify CLI (see above), and confirmed that the issue still persists.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

How did you install the Amplify CLI?
yarn
If applicable, what version of Node.js are you using?
18
Amplify CLI Version
10.0.0
What operating system are you using?
Mac/Linux
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
No
Amplify Categories
hosting, Not applicable
Amplify Commands
Not applicable
Describe the bug
I have read several times now that current-cloud-backend zip files say goodbye.
Every time I ask, they are individually hosted apps in the Amplify Console.
Structure:

There is a backend app that is pushed via the CLI in the terminal.
There are frontend apps that are connected to the backend app via Amplify Console.

For some reason, the DEPLOY of a connected frontend shatters the zip file. With the next deploy, the als-export.js can no longer be found and nothing works in the terminal because it hangs here:
⠏ Fetching updates to backend environment: develop from the cloud.
Because the zip cannot be read.
Who is listening here? The problem is significant and can destroy a production system.
Expected behavior
Using the CLI in Amplify Build Settings without broken systems
Reproduction steps

There is a backend app that is pushed via the CLI in the terminal.
There are frontend apps that are connected to the backend app via Amplify Console.

GraphQL schema(s)

# Put schemas below this line

Project Identifier
No response
Log output

# Put your logs below this line

Additional information
Backend App: arn:aws:amplify:eu-central-1:327300291334:apps/d36kyjopucs8j3
Frontend App: arn:aws:amplify:eu-central-1:327300291334:apps/d2v6n1oht50tox

Hey @biller-aivy :wave: thanks for raising this and for chatting with us yesterday! We left off trying a custom init/pull script and had the headless pull timed out in the Amplify Hosting build. After chatting with our friends over at Amplify Hosting we noticed the script was hanging on an interactive prompt, prompting for the Amplify app you're attempting to pull. Can you try adding the --appId to the headless pull, or by including the App ID in the headless pull payload?

Hey @biller-aivy 👋 thanks for raising this and for chatting with us yesterday! We left off trying a custom init/pull script and had the headless pull timed out in the Amplify Hosting build. After chatting with our friends over at Amplify Hosting we noticed the script was hanging on an interactive prompt, prompting for the Amplify app you're attempting to pull. Can you try adding the --appId to the headless pull, or by including the App ID in the headless pull payload?

@josefaidt done. I added the appid and tried again to deploy. This time it was working, but the same logs like in the other builds. You can check the logs on Build 495.

https://github.com/aws-amplify/amplify-cli/issues/10950
Maybe the Same issue? I asked there before for the settings.

Hey @biller-aivy apologies for the delay here! I'm chatting with a few of our friends over at Amplify Hosting to better understand the context of this feature where we are able to reuse another apps backend and its compatibility with the CLI.
In the mean time, are you hosting two separate frontend web applications? I understand the current limitation is we are only able to add hosting if the Amplify project contains the backend definitions (i.e. selecting "Yes" to "Do you plan on modifying this backend?"), where this appears to workaround the limitation.

Hey @biller-aivy while we continue to dive into this functionality a bit more, can you see if the AMPLIFY_BACKEND_PULL_ONLY environment variable in 5/6 of your apps alleviates the issue?

Hey @biller-aivy thanks for confirming! As a temporary workaround can you try committing your aws-exports.js file to git (keep in mind this should not contain sensitive information, however it is still recommended to not commit this file to a public git repository) and disable backend builds for the other apps entirely? This way we will not need to rely on the backend pull to generate this file.
Additionally I've added this to our strategic queue to investigate this in more depth across teams (cc @swaminator)

Hey @biller-aivy thanks for confirming! As a temporary workaround can you try committing your aws-exports.js file to git (keep in mind this should not contain sensitive information, however it is still recommended to not commit this file to a public git repository) and disable backend builds for the other apps entirely? This way we will not need to rely on the backend pull to generate this file.
Additionally I've added this to our strategic queue to investigate this in more depth across teams (cc @swaminator)

This was the setting before, but then you always have to make sure that you deploy the correct export file with the respective env.
That would certainly be a workaround.
If that is not yet clear, the problem does not always occur. At the moment not at all. Right now I am on 10.0.4.
The last 20-30 deploys everything went well.
I also have the s3 versioning on. So even if something goes wrong, I hope I can always just go back with it. I think this should also be standard for all other users.


Incomplete description of "Item"-Element for "LocalizedCollections"

The documentation of the "Item"-Element currently lists two attributes: "Text" and "Value". However, when adding translations for enumerations in a "Restriction"-element of a "ClaimType", the value of the "SelectByDefault"-value will be lost. According to the schema-definition, the "Enumeration"-Element of the ClaimType and the "Item"-element of the LocalizedCollection are of type "EnumerationItem", which defines the attribute "SelectByDefault". Only when this attribute is set also for the "Item"-elements in the LocalizedCollection the selected default will be shown on the form.
Example:
The following excerpt shows a "country"-claim with "germany" as the selected default value:
<ClaimType Id="country">
<DisplayName>Country</DisplayName>
<DataType>string</DataType>
<UserInputType>DropdownSingleSelect</UserInputType>
<Restriction>
<Enumeration Text="Germany" Value="germany" SelectByDefault="true"/>
<Enumeration Text="Switzerland" Value="switzerland" SelectByDefault="false"/>
</Restriction>
</ClaimType>
</ClaimsSchema>
A corresponding LocalizedCollection might look like this:
<LocalizedCollection ElementType="ClaimType" ElementId="country" TargetCollection="Restriction">
<Item Text="Deutschland" Value="germany" SelectByDefault="true"/>
<Item Text="Schweiz"     Value="switzerland" SelectByDefault="false"/>
</LocalizedCollection>
Please add the missing attribute to the documentation of the "Item"-element.

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

ID: 14a1a1f1-4cb3-956a-8168-5e3101ea5f76
Version Independent ID: a1a9db9c-d0d1-eb5c-0fb5-fb36f71effaa
Content: Localization - Azure Active Directory B2C
Content Source: articles/active-directory-b2c/localization.md
Service: active-directory
Sub-service: b2c
GitHub Login: @mmacy
Microsoft Alias: marsma

@AH4 Thanks for your feedback! We will investigate and update as appropriate.


Max debounce 200 ms

A few things:

I think the implementation should be using min instead of max, because as it stands right now, this change does nothing ( max(200, 500) => 500 )
The delay is calculated using the tileSize so it is a bit bigger as the tile size decreases (and the amount of tiles on the screen increases). With that in mind the possible delays are (remember delay = 32000/tileSize):

tileSize = 32, delay = 1000
tileSize = 64, delay = 516
tileSize = 128, delay = 250

taking a look at that numbers, if we really want to have 200ms as the maximum delay, we should remove the equation and just hardcode it there, without using the tilesize. If we want to keep the proportion (which helps balance the request delay for the given view) we can do something like this:
// 200 max => 32 * 200 => 6400
  debounceMapMethodsByTileSize(tileSize) {
    const delay = 6400

    this.debouncedRedrawMap = debounce(this.redrawMap, delay / tileSize)
    this.debouncedOnMoveEnd = debounce(this.onMoveEnd, delay / tileSize)
  }

which in practice means:
- tileSize = 32, delay = 200
- tileSize = 64, delay = 100
- tileSize = 128, delay = 50

I added both:

Isung 6400 as base
Use min instead of max (sorry about that)

The problem with leaving it unbounded is that we learned that people will zoom out. We can't expect users to only have those tile sizes


JsonWebKey KeyId is null resulting in JwtHeader with no kid

I'm creating a JsonWebKey from json and using it in the SigningCredentials for a JwtSecurityToken.  This results in a JwtHeader with no kid defined (it looks to the signingCredentials.Key.KeyId).
Shouldn't JsonWebKey keep the base KeyId in sync with the Kid?

@kevin-meyer yes that is a bug. To get around it, as you probably figured out, you will need to set JsonWebKey.Kid.


Update dockerid.md

Proposed changes

Unreleased project version (optional)

Related issues (optional)

Thanks, @scjane 👍


No errors when using class which should not be accessible

Clone project https://github.com/MIOB/bazel-idea-plugin-usage-sample
Import it into idea.
Go to java8/src/main/java/sample/java8/App.java
Add line new AppTest(); in main method.
build project with command bazel build //...
Observe compilation error in console

Actual: No errors shown in idea
Expected: There should be error highlighted in idea about usage of class which is not accessible in this package.

Duplicate of https://github.com/bazelbuild/intellij/issues/179.


API call

[x] create function with the name "fetchApi" which is going to be used for fetching API ( fetch, .then... )
[x] edit the if else function, if it's returning true, fetchAPI will be called. If it returns false, it will display user that input is incorrect
[x] in fetchAPI, for now just console.log the API call nothing more

URL for calling API : https://api.openweathermap.org/data/2.5/weather?q=${INPUT_VALUE}&units=metric&appid=${API_KEY}

I completed this tasks, let's go to the next story