Resizing elements from any corner

Is there a plan in the next 2 months to enable resizing elements via any corner?
Currently resizing is only possible by dragging the bottom right corner.
It would be great if one of the options included an array of corner(s) by which we allow resizing.

Are you available to sponsor that development by paying for it?

The development is not super urgent and we are looking at a couple of options.
What sort of sponsorship are you thinking (sum total)?
If I were to do it, do you accept pull requests?
Thanks

Sorry for the late response.
Something like the image below, with a configurable option, would be relatively fast, about 300€.
You can submit a pull request, if you prefer to do it.

Thanks for the quote.
Just a quick note: something with this behavior is off, the behavior is not natural, almost feels like the behavior of the bottom right corner is made available on other corners rather than allowing the resizing from other corners. Does that make sense?

Yes, you are right about the behavior.
Making it look more natural will need more math work, checking from which corner the resize was started and update the grid item size and position accordingly. That will probably cost twice as much.

@gmsa how fast do you think you could do this job of resizing from any corner? The version with the more natural behavior.

@blntptr should take a day or two of work, but I'm on parental leave right now, would only be able to do it by mid/late July

Hi Gustavo,
How are you?
Just checking if you are ready to begin working on the 4 corner resize job?
Please confirm your availability.
Thanks
Peter
On Wed, Jun 23, 2021 at 11:09 AM Gustavo Santos @.***>
wrote:

@blntptr https://github.com/blntptr should take a day or two of work,
but I'm on parental leave right now, would only be able to do it by
mid/late July
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jbaysolutions/vue-grid-layout/issues/593#issuecomment-866667927,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMDRQ7M3FBUTQB7WG7FD5GLTUGQEFANCNFSM43KQXHKA
.

Hi Peter, I can start taking a look a bit this week, but I will be on vacation next week. I'll be back on Aug 23

@blntptr do you still want to go ahead with this?

Hi Gustavo, Yes, we are still interested in getting the resizing functionality extended.Are you ready to start? Peter  Feladó: Gustavo SantosElküldve: 2021. augusztus 19., csütörtök 15:43Címzett: jbaysolutions/vue-grid-layoutMásolatot kap: Peter Balint; MentionTárgy: Re: [jbaysolutions/vue-grid-layout] Resizing elements from any corner<EMAIL_ADDRESS>do you still want to go ahead with this?—You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or unsubscribe.Triage notifications on the go with GitHub Mobile for iOS or Android.

Hi Peter,
Yes, I'm ready to start, it will cost 600€. How do you want to proceed with
the payment? You can email me at @.*** with the details.
Cumprimentos
Gustavo
On Fri, Aug 20, 2021 at 6:05 AM Peter Balint @.***>
wrote:

Hi Gustavo, Yes, we are still interested in getting the resizing
functionality extended.Are you ready to start? Peter  Feladó: Gustavo
SantosElküldve: 2021. augusztus 19., csütörtök 15:43Címzett:
jbaysolutions/vue-grid-layoutMásolatot kap: Peter Balint; MentionTárgy: Re:
[jbaysolutions/vue-grid-layout] Resizing elements from any corner
@.*** do you still want to go ahead with this?—You are receiving this
because you were mentioned.Reply to this email directly, view it on GitHub,
or unsubscribe.Triage notifications on the go with GitHub Mobile for iOS or
Android.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jbaysolutions/vue-grid-layout/issues/593#issuecomment-902433286,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA72CADSQHUECVUJECHH3JTT5XPAHANCNFSM43KQXHKA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

Your email was removed, to continue privately, can you pls email me at  b l n t p t r 8 1 (at) g m a i l (dot) c o m?
Thanks.

Hi!
Will this feature be publicly available?
Thanks


Need to control fan with AHRS and non stratux OS.

Hi, I reached out to stratux support and they directed me to the github and the slack that doesn't seem to exist anymore. I have a stratux box but have moved to another software. I still want to control the fan though, I am running the current raspberry pi OS and found this link online, would this still work with the AHRS 2.0?
https://www.reddit.com/r/stratux/comments/d97chy/ahrs_fan_controller/
is there a better way? Thanks!

Here's an invite link to the Slack. I don't know why slack.stratux.me doesn't work anymore.
https://join.slack.com/t/stratuxadsb/shared_invite/zt-2pe926hoj-~sehdIJ1JqZVz4VKb37chA

We switched to Discord:
https://discord.gg/ev2SwNSS


Unable to download Dorkly.com's videos.

Example:
$ youtube-dl -v http://www.dorkly.com/video/78482/all-the-deadpool-easter-eggs-that-you-probably-missed
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-v', 'http://www.dorkly.com/video/78482/all-the-deadpool-easter-eggs-that-you-probably-missed']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.05.01
[debug] Python version 3.4.2 - Linux-3.16.0-4-amd64-x86_64-with-debian-8.4
[debug] exe versions: ffmpeg 2.8.6-1, ffprobe 2.8.6-1, rtmpdump 2.4
[debug] Proxy map: {}
[generic] all-the-deadpool-easter-eggs-that-you-probably-missed: Requesting header
WARNING: Falling back on generic information extractor.
[generic] all-the-deadpool-easter-eggs-that-you-probably-missed: Downloading webpage
[generic] all-the-deadpool-easter-eggs-that-you-probably-missed: Extracting information
[download] Downloading playlist: All the Deadpool Easter Eggs that You Probably Missed! - Dorkly Video
[generic] playlist All the Deadpool Easter Eggs that You Probably Missed! - Dorkly Video: Collected 1 video ids (downloading 1 of them)
[download] Downloading video 1 of 1
[brightcove:new]<PHONE_NUMBER>001: Downloading webpage
[brightcove:new]<PHONE_NUMBER>001: Downloading JSON metadata
[brightcove:new]<PHONE_NUMBER>001: Downloading m3u8 information
[brightcove:new]<PHONE_NUMBER>001: Downloading m3u8 information
[debug] Invoking downloader on 'https://bcsecure04-a.akamaihd.net/34/4244402466001/201605/1599/4244402466001_4879821481001_4879715482001.mp4?pubId=4244402466001&videoId=4879715482001'
ERROR: unable to download video data: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)>
Traceback (most recent call last):
File "/usr/lib/python3.4/urllib/request.py", line 1174, in do_open
h.request(req.get_method(), req.selector, req.data, headers)
File "/usr/lib/python3.4/http/client.py", line 1090, in request
self._send_request(method, url, body, headers)
File "/usr/lib/python3.4/http/client.py", line 1128, in _send_request
self.endheaders(body)
File "/usr/lib/python3.4/http/client.py", line 1086, in endheaders
self._send_output(message_body)
File "/usr/lib/python3.4/http/client.py", line 924, in _send_output
self.send(msg)
File "/usr/lib/python3.4/http/client.py", line 859, in send
self.connect()
File "/usr/lib/python3.4/http/client.py", line 1230, in connect
server_hostname=sni_hostname)
File "/usr/lib/python3.4/ssl.py", line 364, in wrap_socket
_context=self)
File "/usr/lib/python3.4/ssl.py", line 577, in init
self.do_handshake()
File "/usr/lib/python3.4/ssl.py", line 804, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/ant/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 1640, in process_info
success = dl(filename, info_dict)
File "/home/ant/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 1582, in dl
return fd.download(name, info)
File "/home/ant/bin/youtube-dl/youtube_dl/downloader/common.py", line 350, in download
return self.real_download(filename, info_dict)
File "/home/ant/bin/youtube-dl/youtube_dl/downloader/http.py", line 58, in real_download
data = self.ydl.urlopen(request)
File "/home/ant/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 1942, in urlopen
return self._opener.open(req, timeout=self._socket_timeout)
File "/usr/lib/python3.4/urllib/request.py", line 455, in open
response = self._open(req, data)
File "/usr/lib/python3.4/urllib/request.py", line 473, in _open
'_open', req)
File "/usr/lib/python3.4/urllib/request.py", line 433, in _call_chain
result = func(*args)
File "/home/ant/bin/youtube-dl/youtube_dl/utils.py", line 859, in https_open
req, **kwargs)
File "/usr/lib/python3.4/urllib/request.py", line 1176, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)>
Thank you in advance. :)

https://bcsecure04-a.akamaihd.net/34/4244402466001/201605/1599/4244402466001_4879821481001_4879715482001.mp4?pubId=4244402466001&videoId=4879715482001 works for me. Could you try the following command:
$ curl -v -O "https://bcsecure04-a.akamaihd.net/34/4244402466001/201605/1599/4244402466001_4879821481001_4879715482001.mp4?pubId=4244402466001&videoId=4879715482001"

$ youtube-dl "https://bcsecure04-a.akamaihd.net/34/4244402466001/201605/1599/4244402466001_4879821481001_4879715482001.mp4?pubId=4244402466001&videoId=4879715482001"
[generic]<PHONE_NUMBER>001_4879821481001_4879715482001: Requesting header
WARNING: Could not send HEAD request to https://bcsecure04-a.akamaihd.net/34/4244402466001/201605/1599/4244402466001_4879821481001_4879715482001.mp4?pubId=4244402466001&videoId=4879715482001: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)>
[generic]<PHONE_NUMBER>001_4879821481001_4879715482001: Downloading webpage
ERROR: unable to download video data: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)>
$ curl -v -O "https://bcsecure04-a.akamaihd.net/34/4244402466001/201605/1599/4244402466001_4879821481001_4879715482001.mp4?pubId=4244402466001&videoId=4879715482001"

Hostname was NOT found in DNS cache
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying <IP_ADDRESS>...
Connected to bcsecure04-a.akamaihd.net (<IP_ADDRESS>) port 443 (#0)
successfully set certificate verify locations:
CAfile: none
CApath: /etc/ssl/certs
SSLv3, TLS handshake, Client hello (1):
} [data not shown]
SSLv3, TLS handshake, Server hello (2):
{ [data not shown]
SSLv3, TLS handshake, CERT (11):
{ [data not shown]
SSLv3, TLS alert, Server hello (2):
} [data not shown]
SSL certificate problem: unable to get local issuer certificate
Closing connection 0
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
of Certificate Authority (CA) public keys (CA certs). If the default
bundle file isn't adequate, you can specify an alternate file
using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
the bundle, the certificate verification probably failed due to a
problem with the certificate (it might be expired, or the name might
not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
the -k (or --insecure) option.

As cURL also fails, it's likely that SSL on your system is broken. Closing as it's out of the scope of youtube-dl.


ci: drop circle ci

📦 Published PR as canary version: 0.0.1-canary.2.059ac6e0e0e835b3a7ea609b06678bb5a08ce93f.0

:sparkles: Test out this PR locally via:
npm install<EMAIL_ADDRESS># or
yarn add<EMAIL_ADDRESS>

:rocket: PR was released in v0.0.5 :rocket:


Drop java 11 from build matrix, update derby to 10.16.x and update mssql jdbc to 12.4.2.jre8

coverage: 86.597%. remained the same
when pulling f2297901518acd44b9e90b57f73cca048252fa82 on hazendaz:master
into 02e07b8e2bf08e0f3454f4fe94f92c7611015ca0 on mybatis:master.


Shortest Code : Jumping Dutch act should have node v6.0.0/Babel as default

Hi,
I'm getting some issues with this method on the great kata of @myjinxin2015.

Could you solve it? And set node v6.0.0/Babel as default for Shortest Code : Jumping Dutch act? Because the kata creator can't modify it to "node v6.0.0".
Thanks in advance,
HLFH

@xcthulhu @jhoffner Any ideas?

@xcthulhu @jhoffner @slothpie @GiacomoSorbi
Hi,
The language version is Node 0.10.33 on this other kata but should be Node v6.
According to node.green, class ChildClass extends ParentClass { ... } are not supported with Node 0.10.33. Node v6 is recommended.
Could you change it?
It's the second time I have this issue... And I believe it's a deep issue than only the Codewars devs could change.

Any ideas? @xcthulhu @jhoffner @slothpie @GiacomoSorbi

@HLFH Not all kata are available in all versions. The system checks all versions against the author's solution and code. In this case, there is something that is not compatible with Node 6.
There was another kata that I saw you commented on (multiple times) which was actually broken and no version worked. I was able to look into that one and update the code to resolve the issue and it now runs in Node 6. I however don't have the bandwidth to try to update all kata that are not compatible in all versions.
My suggestion would be that if a kata is solvable in at least one version, to try to solve it within that version. For what its worth, with the example kata that you gave, there is absolutely no reason why you would need to lean on ES6 features to solve it. Other than arrow functions (for syntactic sugar), not a single solution needed to use ES6.

@jhoffner Hi. Great!!! Thanks a lot!!! I did the two katas.


Suggest linking syntaxes on dfn popups

Right now a spec author has to be familiar with all of Bikeshed's linking syntaxes to know how to link to a particular definition. Even with that knowledge, they also need to know what the definition's precise "linking text" is (it's not always the visible text, or sometimes there are multiple options) and what the definition's "for" is (this is only expressed in the markup), plus the type of the definition itself isn't always immediately obvious ("dfn" and "abstract-op", for example, can get used in very similar situations). I, personally, know to Inspect Element on any dfn I want to link to, and know how to extract the necessary info from the elements panel, but it's a little annoying to do so in the first place, plus it requires having that knowledge to do so in the first place.
We should help spec authors out by suggesting linking syntaxes to definitions. I think, in the dfn panel, we can provide a details with, uh, "for spec authors" title or something, listing information like this.
For example, take the definition for "start" at https://drafts.csswg.org/css-writing-modes-4/#css-start. The relevant information from the DOM is:

"dfn" type, so linked with [=foo=] syntax
two linking texts, "start" and "startmost"
for="CSS"
exported

I imagine this could provide some info like:
Possible linking syntaxes:
* [=start=]
* [=CSS/start=]
Alternately:
* [=startmost=]

Another example, the 'center' keyword at https://drafts.csswg.org/css-align/#valdef-self-position-center.

"value" type, so linkable with ''prop/value''
one linking text, "center"
many for values
exported

So info like:
Possible linking syntaxes:
* ''center''
* ''<self-position>/center''
Alternately:
* ''<content-position>/center''
* ''justify-self/center''
* ''align-self/center''
* ''justify-content/center''
* ''align-content/center''

If there are multiple linking texts and multiple for values, I don't want to N*M the list, so maybe we list all the linking texts first (with just the first for value) then all the for values (with just the first linking text), with an indicator that more combinations are possible.
Like, if you had <dfn lt="foo | bar" for="baz, qux">, we'd generate:
Possible linking syntaxes:
* [=foo=]
* [=baz/foo=]
Alternately:
* [=bar=]
* [=qux/foo=]
* (additional combinations omitted)

An empty for value can still be explicitly indicated, too, so if the dfn doesn't have a for, it should still indicate both syntaxes, like:
Possible linking syntaxes:
* [=foo=]
* [=/foo=]

And if the definition is not exported, a (bold?) warning that it's not, with a link to the bikeshed docs for what to do about it. (There's no place to link this to yet, I'd have to write it.) For example, "positional alignment" at https://drafts.csswg.org/css-align/#positional-alignment would look like:
**NOT EXPORTED, see <docs link here> to link to this anyway**
Possible linking syntaxes:
* [=positional alignment=]
* [=/positional alignment=]

/cc @dlaliberte


[bug] Fix #33

This applies https://github.com/FB-PLP/traject/pull/1834

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@e58e20f). Click here to learn what that means.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##             master      #36   +/-   ##
=========================================
  Coverage          ?   96.05%
=========================================
  Files             ?       20
  Lines             ?      760
  Branches          ?        0
=========================================
  Hits              ?      730
  Misses            ?       30
  Partials          ?        0

Impacted Files
Coverage Δ

spec/redis_record_spec.rb
100.00% <100.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 e58e20f...327bfc9. Read the comment docs.


[Enhancement] Upgrade mysql-connector-java due to security

What type of PR is this：

[ ] bug
[ ] feature
[x] enhancement
[ ] refactor
[ ] others

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

mysql 5 connector have many security problem.
CVE-2017-3523
CVE-2018-3258
CVE-2017-3586
CVE-2022-21363
CVE-2019-2692
CVE-2017-3589
it just used for test. so we should update it.

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

run starrocks_admit_test

run starrocks_admit_test


Proceeding to checkout gives 500 [GET] /cart/c/c1-abcd?key=1234 status=500

[GET] /cart/c/c1-d22d6732a08c2dfb337d1dbfbfc01e9b?key=ddf427ea328138a27e121d517a7144c5 status=500

⨯ Error: Cannot find module '/var/task/.next/server/app/page.js'
Require stack:
- /var/task/node_modules/.pnpm/next@14.0.0_react-dom<EMAIL_ADDRESS>- /var/task/___next_launcher.cjs
- /var/task/___vc/__launcher/chunk-N3ULQXIM.js
- /var/task/___vc/__launcher/chunk-5UAC7W5H.js
- /var/task/___vc/__launcher/__launcher.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1134:15)
    at /var/task/node_modules/.pnpm/next@14.0.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/next-server/server.runtime.prod.js:11:25516
    at Module._load (node:internal/modules/cjs/loader:975:27)
    at exports.b (/var/task/___vc/__launcher/chunk-5UAC7W5H.js:1:1033)
    at /var/task/___vc/__launcher/bridge-server-BGIDXK2J.js:1:1443
    at Function.Re (/var/task/___vc/__launcher/bridge-server-BGIDXK2J.js:1:1809)
    at e.<computed>.L._load (/var/task/___vc/__launcher/bridge-server-BGIDXK2J.js:1:1413)
    at Module.require (node:internal/modules/cjs/loader:1225:19)
    at w.require (/var/task/node_modules/.pnpm/next@14.0.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/next-server/server.runtime.prod.js:11:25732)
    at require (node:internal/modules/helpers:177:18) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/var/task/node_modules/.pnpm/next@14.0.0_react-dom<EMAIL_ADDRESS>    '/var/task/___next_launcher.cjs',
    '/var/task/___vc/__launcher/chunk-N3ULQXIM.js',
    '/var/task/___vc/__launcher/chunk-5UAC7W5H.js',
    '/var/task/___vc/__launcher/__launcher.js'
  ],
  page: '/'
}

Error: Cannot find module '/var/task/.next/server/app/page.js'
Require stack:
- /var/task/node_modules/.pnpm/next@14.0.0_react-dom<EMAIL_ADDRESS>- /var/task/___next_launcher.cjs
- /var/task/___vc/__launcher/chunk-N3ULQXIM.js
- /var/task/___vc/__launcher/chunk-5UAC7W5H.js
- /var/task/___vc/__launcher/__launcher.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1134:15)
    at /var/task/node_modules/.pnpm/next@14.0.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/next-server/server.runtime.prod.js:11:25516
    at Module._load (node:internal/modules/cjs/loader:975:27)
    at exports.b (/var/task/___vc/__launcher/chunk-5UAC7W5H.js:1:1033)
    at /var/task/___vc/__launcher/bridge-server-BGIDXK2J.js:1:1443
    at Function.Re (/var/task/___vc/__launcher/bridge-server-BGIDXK2J.js:1:1809)
    at e.<computed>.L._load (/var/task/___vc/__launcher/bridge-server-BGIDXK2J.js:1:1413)
    at Module.require (node:internal/modules/cjs/loader:1225:19)
    at w.require (/var/task/node_modules/.pnpm/next@14.0.0_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/next-server/server.runtime.prod.js:11:25732)
    at require (node:internal/modules/helpers:177:18) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/var/task/node_modules/.pnpm/next@14.0.0_react-dom<EMAIL_ADDRESS>    '/var/task/___next_launcher.cjs',
    '/var/task/___vc/__launcher/chunk-N3ULQXIM.js',
    '/var/task/___vc/__launcher/chunk-5UAC7W5H.js',
    '/var/task/___vc/__launcher/__launcher.js'
  ],
  page: '/'
}

Error: Runtime exited with error: exit status 1

Project live: shop.ditectrev.com

It's hard to tell what this could be since its from your own forked code that is not in this template, right? We don't have a /cart/ route included.

I haven't done any coding other than changing the logo, repo (sorry, I didn't link): https://github.com/Ditectrev/shop

Can you check https://github.com/vercel/commerce/issues/1274? Maybe some redirection misconfiguration it causing this?

The same problem when I've tried on the Vercel domain itself: https://shopify-ditectrev.vercel.app/cart/c/c1-152cd17be865bb952f6c2c1b20cc6afa?key=79509033b2c26ac4a6929b8c733a5b46
omg...

shocking, I had to set up redirect here in Domains to have the checkout working!!


LHN - Chat with invalid phone number disappears after re-login only

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to URL https://staging.new.expensify.com/
Login with any account
Disable the internet connection in the device
Click on the green + button > Click on the "New Chat" option
Create a new chat with an invalid phone number<PHONE_NUMBER>555)
Verify the user is navigated to the conversation and the conversation is grayed out indicating is pending to be created
Send some messages
Verify that in the left hand navigation chat list, a preview of the last message in the conversation is displayed under account B
Enable the internet connection and wait for a few seconds
Verify that a red dot appears next to the conversation in the LHN indicating something went wrong with the chat creation
Verify a message with an X (to dismiss) is displayed in the conversation indicating that the number couldn't be validated and that the report no longer exists
Click on the X and verify the user is navigated away from the conversation and it's no longer displayed in LHN

Expected Result:
The user is navigated away from the conversation and it's no longer displayed in LHN
Actual Result:
Chat with invalid phone number disappears after re-login only
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/228252717-48833000-5fb2-4cbf-9ec2-182af78f0941.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

Triggered auto assignment to @isabelastisser (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Reviewing this now.

This was reported here and agreed that we should do nothing to fix it because we are in the process of deleting this page.


Not able to get chat history from fromMessageId in android

My Implementation
I am using the pre build android library . If I call getChatHistory with fromMessageId 0 it returns results for me first just the last message and if called again the rest of the results to the limit passed but If I try to call the API with a legal fromMessageId it always return 0 results
I have tried everything and the results are always same . Similar code works for ios which was build from the 1.4 release .
I am getting the following error
I/DLTD: [ 3][t 3][1568816345.258264065][MessagesManager.cpp:13712][#1][!GetChatHistoryRequest]	Get history in chat 777000 from server message 885 with offset 0 and limit 20, 3 tries left. Last read inbox message is server message 4981, last read outbox message is server message 4839, have_full_history = true
D/DLTD: [ 4][t 3][1568816345.258305073][MessagesManager.cpp:13719][#1][!GetChatHistoryRequest]	Iterator points to invalid message 0
I/DLTD: [ 3][t 3][1568816345.258319139][MessagesManager.cpp:13753][#1][!GetChatHistoryRequest]	Have a gap near message to get chat history from
    [ 3][t 3][1568816345.258332968][MessagesManager.cpp:13785][#1][!GetChatHistoryRequest]	Iterator after applying offset points to invalid message 0, offset = 0, limit = 20, from_the_end = false
    [ 3][t 3][1568816345.258390188][MessagesManager.cpp:15157][#1][!MessagesManager]	Load messages in chat 777000 from server message 885 with offset = 0 and limit = 20. 3 tries left
    [ 3][t 3][1568816345.258415222][MessagesManager.cpp:15165][#1][!MessagesManager]	Have full history in chat 777000, so don't need to get chat history from server
    [ 3][t 3][1568816345.258444071][MessagesManager.cpp:15129][#1][!MessagesManager]	Get history in chat 777000 from server message 885 with offset -1 and limit 50 from database
I/DLTD: [ 3][t 2][1568816345.258596182][MessagesDb.cpp:754][#1][!MessagesDbActor]	Loading messages in chat 777000 from server message 885 with offset = -1 and limit = 50
    [ 3][t 2][1568816345.258697033][MessagesDb.cpp:812][#1][!MessagesDbActor]	Begin to load 49 messages in chat 777000 from server message 885 from database
I/DLTD: [ 3][t 2][1568816345.259087086][MessagesDb.cpp:812][#1][!MessagesDbActor]	Begin to load 1 messages in chat 777000 from invalid message 927989759 from database
    [ 3][t 2][1568816345.260812044][MessagesDb.cpp:820][#1][!MessagesDbActor]	Loaded server message 3805 in chat 777000 from database
I/DLTD: [ 3][t 3][1568816345.261017084][MessagesManager.cpp:14941][#1][!MessagesManager]	Receive 1 history messages from database in chat 777000 from server message 885 with offset -1 and limit 50. First database message is server message 3805, have_full_history = true
    [ 3][t 3][1568816345.261040926][MessagesManager.cpp:14908][#1][!MessagesManager]	Loaded message of size 508 from database
D/DLTD: [ 4][t 3][1568816345.261081219][MessagesManager.cpp:22105][#1][!MessagesManager]	Search for server message 3805 in chat 777000
    [ 4][t 3][1568816345.261094093][MessagesManager.cpp:22045][#1][!MessagesManager]	Searching for server message 3805 in 0xd4eef7c0
I/DLTD: [ 3][t 3][1568816345.261116028][MessagesManager.cpp:22265][#1][!MessagesManager]	Adding server message 3805 of type Text to chat 777000 from on_get_history_from_database. Last new is server message 4981, last is server message 4981, from_update = false, have_previous = false, have_next = false
D/DLTD: [ 4][t 3][1568816345.261167288][MessagesManager.cpp:22045][#1][!MessagesManager]	Searching for server message 3805 in 0xd4eef7c0
I/DLTD: [ 3][t 3][1568816345.261177301][MessagesManager.cpp:22579][#1][!MessagesManager]	Schedule unload of chat 777000
D/DLTD: [ 4][t 3][1568816345.261184216][Timeout.cpp:33][#1][!MessagesManager]	Add timeout for 777000 in 59.999996
    [ 4][t 3][1568816345.261195183][Timeout.cpp:70][#1][!MessagesManager]	Set timeout in 59.999996
I/DLTD: [ 3][t 3][1568816345.261203051][MessagesManager.cpp:22604][#1][!MessagesManager]	Adding not found server message 3805 to chat 777000 from on_get_history_from_database
    [ 3][t 3][1568816345.261255980][MessagesManager.cpp:13712][#1][!GetChatHistoryRequest]	Get history in chat 777000 from server message 885 with offset 0 and limit 20, 2 tries left. Last read inbox message is server message 4981, last read outbox message is server message 4839, have_full_history = true
D/DLTD: [ 4][t 3][1568816345.261270046][MessagesManager.cpp:13719][#1][!GetChatHistoryRequest]	Iterator points to invalid message 0
I/DLTD: [ 3][t 3][1568816345.261276960][MessagesManager.cpp:13753][#1][!GetChatHistoryRequest]	Have a gap near message to get chat history from
    [ 3][t 3][1568816345.261283159][MessagesManager.cpp:13785][#1][!GetChatHistoryRequest]	Iterator after applying offset points to invalid message 0, offset = 0, limit = 20, from_the_end = false
    [ 3][t 3][1568816345.261296272][MessagesManager.cpp:15157][#1][!MessagesManager]	Load messages in chat 777000 from server message 885 with offset = 0 and limit = 20. 2 tries left
    [ 3][t 3][1568816345.261304140][MessagesManager.cpp:15165][#1][!MessagesManager]	Have full history in chat 777000, so don't need to get chat history from server
    [ 3][t 3][1568816345.261312008][MessagesManager.cpp:15129][#1][!MessagesManager]	Get history in chat 777000 from server message 885 with offset -1 and limit 50 from database
I/DLTD: [ 3][t 2][1568816345.261430025][MessagesDb.cpp:754][#1][!MessagesDbActor]	Loading messages in chat 777000 from server message 885 with offset = -1 and limit = 50
    [ 3][t 2][1568816345.261449099][MessagesDb.cpp:812][#1][!MessagesDbActor]	Begin to load 49 messages in chat 777000 from server message 885 from database
    [ 3][t 2][1568816345.261471033][MessagesDb.cpp:812][#1][!MessagesDbActor]	Begin to load 1 messages in chat 777000 from invalid message 927989759 from database
    [ 3][t 2][1568816345.261485100][MessagesDb.cpp:820][#1][!MessagesDbActor]	Loaded server message 3805 in chat 777000 from database
I/DLTD: [ 3][t 3][1568816345.261509895][MessagesManager.cpp:14941][#1][!MessagesManager]	Receive 1 history messages from database in chat 777000 from server message 885 with offset -1 and limit 50. First database message is server message 3805, have_full_history = true
    [ 3][t 3][1568816345.261518240][MessagesManager.cpp:14908][#1][!MessagesManager]	Loaded message of size 508 from database
D/DLTD: [ 4][t 3][1568816345.261526108][MessagesManager.cpp:22105][#1][!MessagesManager]	Search for server message 3805 in chat 777000
    [ 4][t 3][1568816345.261530876][MessagesManager.cpp:22045][#1][!MessagesManager]	Searching for server message 3805 in 0xc2a98840
    [ 4][t 3][1568816345.261535168][MessagesManager.cpp:22055][#1][!MessagesManager]	Message found
I/DLTD: [ 3][t 3][1568816345.261568069][MessagesManager.cpp:13712][#1][!GetChatHistoryRequest]	Get history in chat 777000 from server message 885 with offset 0 and limit 20, 1 tries left. Last read inbox message is server message 4981, last read outbox message is server message 4839, have_full_history = true
D/DLTD: [ 4][t 3][1568816345.261579037][MessagesManager.cpp:13719][#1][!GetChatHistoryRequest]	Iterator points to invalid message 0
I/DLTD: [ 3][t 3][1568816345.261584044][MessagesManager.cpp:13753][#1][!GetChatHistoryRequest]	Have a gap near message to get chat history from
    [ 3][t 3][1568816345.261588097][MessagesManager.cpp:13785][#1][!GetChatHistoryRequest]	Iterator after applying offset points to invalid message 0, offset = 0, limit = 20, from_the_end = false
    [ 3][t 3][1568816345.261595011][MessagesManager.cpp:15157][#1][!MessagesManager]	Load messages in chat 777000 from server message 885 with offset = 0 and limit = 20. 1 tries left
    [ 3][t 3][1568816345.261600018][MessagesManager.cpp:15165][#1][!MessagesManager]	Have full history in chat 777000, so don't need to get chat history from server
    [ 3][t 3][1568816345.261605263][MessagesManager.cpp:15129][#1][!MessagesManager]	Get history in chat 777000 from server message 885 with offset -1 and limit 50 from database
I/DLTD: [ 3][t 2][1568816345.261703968][MessagesDb.cpp:754][#1][!MessagesDbActor]	Loading messages in chat 777000 from server message 885 with offset = -1 and limit = 50
    [ 3][t 2][1568816345.261724949][MessagesDb.cpp:812][#1][!MessagesDbActor]	Begin to load 49 messages in chat 777000 from server message 885 from database
    [ 3][t 2][1568816345.261794090][MessagesDb.cpp:812][#1][!MessagesDbActor]	Begin to load 1 messages in chat 777000 from invalid message 927989759 from database
    [ 3][t 2][1568816345.261818171][MessagesDb.cpp:820][#1][!MessagesDbActor]	Loaded server message 3805 in chat 777000 from database
I/DLTD: [ 3][t 3][1568816345.262160063][MessagesManager.cpp:14941][#1][!MessagesManager]	Receive 1 history messages from database in chat 777000 from server message 885 with offset -1 and limit 50. First database message is server message 3805, have_full_history = true
    [ 3][t 3][1568816345.262180090][MessagesManager.cpp:14908][#1][!MessagesManager]	Loaded message of size 508 from database
D/DLTD: [ 4][t 3][1568816345.262191296][MessagesManager.cpp:22105][#1][!MessagesManager]	Search for server message 3805 in chat 777000
    [ 4][t 3][1568816345.262198210][MessagesManager.cpp:22045][#1][!MessagesManager]	Searching for server message 3805 in 0xc2a98840
    [ 4][t 3][1568816345.262205124][MessagesManager.cpp:22055][#1][!MessagesManager]	Message found
I/DLTD: [ 3][t 3][1568816345.262219191][MessagesManager.cpp:13712][#1][!GetChatHistoryRequest]	Get history in chat 777000 from server message 885 with offset 0 and limit 20, 0 tries left. Last read inbox message is server message 4981, last read outbox message is server message 4839, have_full_history = true
D/DLTD: [ 4][t 3][1568816345.262228012][MessagesManager.cpp:13719][#1][!GetChatHistoryRequest]	Iterator points to invalid message 0
I/DLTD: [ 3][t 3][1568816345.262234926][MessagesManager.cpp:13753][#1][!GetChatHistoryRequest]	Have a gap near message to get chat history from
    [ 3][t 3][1568816345.262241125][MessagesManager.cpp:13785][#1][!GetChatHistoryRequest]	Iterator after applying offset points to invalid message 0, offset = 0, limit = 20, from_the_end = false
    [ 3][t 3][1568816345.262247086][MessagesManager.cpp:13812][#1][!GetChatHistoryRequest]	Have 0 messages out of requested exact 20
    [ 3][t 3][1568816345.262251139][MessagesManager.cpp:13818][#1][!GetChatHistoryRequest]	Return 0 messages in result to getChatHistory
    [ 3][t 3][1568816345.262259007][Td.cpp:4389][#1][!Td][&td_requests]	Sending result for request 6: Messages {
      totalCount = 0
      messages = Array[0] {
      }

I am not able to understand what is wrong. I download the latest build around august so It seems like I should be on the latest android build but I might be totally wrong.
Also the same code works if I connect to the dev server i.e. if the following set as true
parameters.useTestDc = true;

The above problem comes if I set it to false.
Can someone please advice here what I might be doing wrong

I think this is not able to create the MessageIterator
 MessagesConstIterator p(d, from_message_id);

How many messages do you have in the chat 777000? What's are their IDs?

There are not more than 100 messages in any of the chats I, I will send you the IDs in the evening as I came to work right now.
Also to let you know that there are similar number of message in the chats in the test DC and that works perfectly fine

On thing which I also observed is that the server message ID shown in the logs is different form the message ID that I pass or is given to me as the message ID. I think tdlib is doing some kind of masking to convert it to int

@vidit-bhatia Could you send a reply to a first message in the chat from another client? This should fix the problem. I would also suggest you to update to TDLib 1.5.0.

@levlam The problem is that I am using the pre built Android library available and they are not yet build for TDLib 1.5.0 can you guide me how I can generate the so or if you can release it from your side and I can grab it it will be great. I think I am on 1.4.0 as the file creation time stamp on the so files have the date of May, 1st

Prebuilt library at https://core.telegram.org/tdlib/tdlib.zip is updated after every release. Now TDLib 1.5.0 is available there.

Ok I will try everything in the evening and comment if I am successful and close the issue or ask questions in the evening..
Thanks @levlam for prompt replies you rock

@levlam I updated the code to the 1.5 version fixed the required changes it is unfortunately still not working. I wiped the data from my simulator to make sure old data is not corrupting the calls. It is behaving in the exact same way. still not able to get results
Pasting logs and chats from a different run
[ 3][t 3][1568859699.109786987][MessagesManager.cpp:14120][#2][!GetChatHistoryRequest]	Get history in chat 945968284 from server message 432 with offset 0 and limit 20, 3 tries left. Last read inbox message is server message 4825, last read outbox message is server message 4748, have_full_history = true
D/DLTD: [ 4][t 3][1568859699.109803200][MessagesManager.cpp:14127][#2][!GetChatHistoryRequest]	Iterator points to invalid message 0
I/DLTD: [ 3][t 3][1568859699.109808207][MessagesManager.cpp:14161][#2][!GetChatHistoryRequest]	Have a gap near message to get chat history from
    [ 3][t 3][1568859699.109812975][MessagesManager.cpp:14193][#2][!GetChatHistoryRequest]	Iterator after applying offset points to invalid message 0, offset = 0, limit = 20, from_the_end = false
    [ 3][t 3][1568859699.109884024][MessagesManager.cpp:15597][#2][!MessagesManager]	Load messages in chat 945968284 from server message 432 with offset = 0 and limit = 20. 3 tries left
    [ 3][t 3][1568859699.109901190][MessagesManager.cpp:15605][#2][!MessagesManager]	Have full history in chat 945968284, so don't need to get chat history from server
    [ 3][t 3][1568859699.109907150][MessagesManager.cpp:15569][#2][!MessagesManager]	Get history in chat 945968284 from server message 432 with offset -1 and limit 50 from database
I/DLTD: [ 3][t 2][1568859699.110300064][MessagesDb.cpp:754][#2][!MessagesDbActor]	Loading messages in chat 945968284 from server message 432 with offset = -1 and limit = 50
    [ 3][t 2][1568859699.110419035][MessagesDb.cpp:812][#2][!MessagesDbActor]	Begin to load 49 messages in chat 945968284 from server message 432 from database
    [ 3][t 2][1568859699.110842228][MessagesDb.cpp:812][#2][!MessagesDbActor]	Begin to load 1 messages in chat 945968284 from invalid message 452984831 from database
    [ 3][t 2][1568859699.110908985][MessagesDb.cpp:820][#2][!MessagesDbActor]	Loaded server message 4528 in chat 945968284 from database
I/DLTD: [ 3][t 3][1568859699.111070156][MessagesManager.cpp:15362][#2][!MessagesManager]	Receive 1 history messages from database in chat 945968284 from server message 432 with offset -1 and limit 50. First database message is server message 4528, have_full_history = true
    [ 3][t 3][1568859699.111091137][MessagesManager.cpp:15329][#2][!MessagesManager]	Loaded message of size 56 from database
D/DLTD: [ 4][t 3][1568859699.111126184][MessagesManager.cpp:23029][#2][!MessagesManager]	Search for server message 4528 in chat 945968284
    [ 4][t 3][1568859699.111141205][MessagesManager.cpp:22969][#2][!MessagesManager]	Searching for server message 4528 in 0xc51094a0
    [ 4][t 3][1568859699.111147165][MessagesManager.cpp:22979][#2][!MessagesManager]	Message found
I/DLTD: [ 3][t 3][1568859699.111175060][MessagesManager.cpp:14120][#2][!GetChatHistoryRequest]	Get history in chat 945968284 from server message 432 with offset 0 and limit 20, 2 tries left. Last read inbox message is server message 4825, last read outbox message is server message 4748, have_full_history = true
D/DLTD: [ 4][t 3][1568859699.111186028][MessagesManager.cpp:14127][#2][!GetChatHistoryRequest]	Iterator points to invalid message 0
I/DLTD: [ 3][t 3][1568859699.111192226][MessagesManager.cpp:14161][#2][!GetChatHistoryRequest]	Have a gap near message to get chat history from
    [ 3][t 3][1568859699.111196041][MessagesManager.cpp:14193][#2][!GetChatHistoryRequest]	Iterator after applying offset points to invalid message 0, offset = 0, limit = 20, from_the_end = false
    [ 3][t 3][1568859699.111205101][MessagesManager.cpp:15597][#2][!MessagesManager]	Load messages in chat 945968284 from server message 432 with offset = 0 and limit = 20. 2 tries left
    [ 3][t 3][1568859699.111210108][MessagesManager.cpp:15605][#2][!MessagesManager]	Have full history in chat 945968284, so don't need to get chat history from server
    [ 3][t 3][1568859699.111215115][MessagesManager.cpp:15569][#2][!MessagesManager]	Get history in chat 945968284 from server message 432 with offset -1 and limit 50 from database
I/DLTD: [ 3][t 2][1568859699.111453056][MessagesDb.cpp:754][#2][!MessagesDbActor]	Loading messages in chat 945968284 from server message 432 with offset = -1 and limit = 50
    [ 3][t 2][1568859699.111472130][MessagesDb.cpp:812][#2][!MessagesDbActor]	Begin to load 49 messages in chat 945968284 from server message 432 from database
    [ 3][t 2][1568859699.111499071][MessagesDb.cpp:812][#2][!MessagesDbActor]	Begin to load 1 messages in chat 945968284 from invalid message 452984831 from database
    [ 3][t 2][1568859699.111515045][MessagesDb.cpp:820][#2][!MessagesDbActor]	Loaded server message 4528 in chat 945968284 from database
I/DLTD: [ 3][t 3][1568859699.111808062][MessagesManager.cpp:15362][#2][!MessagesManager]	Receive 1 history messages from database in chat 945968284 from server message 432 with offset -1 and limit 50. First database message is server message 4528, have_full_history = true
    [ 3][t 3][1568859699.111827135][MessagesManager.cpp:15329][#2][!MessagesManager]	Loaded message of size 56 from database
D/DLTD: [ 4][t 3][1568859699.111836910][MessagesManager.cpp:23029][#2][!MessagesManager]	Search for server message 4528 in chat 945968284
    [ 4][t 3][1568859699.111842155][MessagesManager.cpp:22969][#2][!MessagesManager]	Searching for server message 4528 in 0xc51094a0
    [ 4][t 3][1568859699.111846924][MessagesManager.cpp:22979][#2][!MessagesManager]	Message found
I/DLTD: [ 3][t 3][1568859699.111860037][MessagesManager.cpp:14120][#2][!GetChatHistoryRequest]	Get history in chat 945968284 from server message 432 with offset 0 and limit 20, 1 tries left. Last read inbox message is server message 4825, last read outbox message is server message 4748, have_full_history = true
D/DLTD: [ 4][t 3][1568859699.111866236][MessagesManager.cpp:14127][#2][!GetChatHistoryRequest]	Iterator points to invalid message 0
I/DLTD: [ 3][t 3][1568859699.112045050][MessagesManager.cpp:14161][#2][!GetChatHistoryRequest]	Have a gap near message to get chat history from
    [ 3][t 3][1568859699.112056255][MessagesManager.cpp:14193][#2][!GetChatHistoryRequest]	Iterator after applying offset points to invalid message 0, offset = 0, limit = 20, from_the_end = false
    [ 3][t 3][1568859699.112071037][MessagesManager.cpp:15597][#2][!MessagesManager]	Load messages in chat 945968284 from server message 432 with offset = 0 and limit = 20. 1 tries left
    [ 3][t 3][1568859699.112079144][MessagesManager.cpp:15605][#2][!MessagesManager]	Have full history in chat 945968284, so don't need to get chat history from server
    [ 3][t 3][1568859699.112087250][MessagesManager.cpp:15569][#2][!MessagesManager]	Get history in chat 945968284 from server message 432 with offset -1 and limit 50 from database
I/DLTD: [ 3][t 2][1568859699.112380028][MessagesDb.cpp:754][#2][!MessagesDbActor]	Loading messages in chat 945968284 from server message 432 with offset = -1 and limit = 50
    [ 3][t 2][1568859699.112398148][MessagesDb.cpp:812][#2][!MessagesDbActor]	Begin to load 49 messages in chat 945968284 from server message 432 from database
    [ 3][t 2][1568859699.112417221][MessagesDb.cpp:812][#2][!MessagesDbActor]	Begin to load 1 messages in chat 945968284 from invalid message 452984831 from database
    [ 3][t 2][1568859699.112428188][MessagesDb.cpp:820][#2][!MessagesDbActor]	Loaded server message 4528 in chat 945968284 from database
I/DLTD: [ 3][t 3][1568859699.112580299][MessagesManager.cpp:15362][#2][!MessagesManager]	Receive 1 history messages from database in chat 945968284 from server message 432 with offset -1 and limit 50. First database message is server message 4528, have_full_history = true
    [ 3][t 3][1568859699.112599134][MessagesManager.cpp:15329][#2][!MessagesManager]	Loaded message of size 56 from database
D/DLTD: [ 4][t 3][1568859699.112610102][MessagesManager.cpp:23029][#2][!MessagesManager]	Search for server message 4528 in chat 945968284
    [ 4][t 3][1568859699.112617016][MessagesManager.cpp:22969][#2][!MessagesManager]	Searching for server message 4528 in 0xc51094a0
    [ 4][t 3][1568859699.112624168][MessagesManager.cpp:22979][#2][!MessagesManager]	Message found
I/DLTD: [ 3][t 3][1568859699.112654209][MessagesManager.cpp:14120][#2][!GetChatHistoryRequest]	Get history in chat 945968284 from server message 432 with offset 0 and limit 20, 0 tries left. Last read inbox message is server message 4825, last read outbox message is server message 4748, have_full_history = true
D/DLTD: [ 4][t 3][1568859699.112668037][MessagesManager.cpp:14127][#2][!GetChatHistoryRequest]	Iterator points to invalid message 0
I/DLTD: [ 3][t 3][1568859699.112675190][MessagesManager.cpp:14161][#2][!GetChatHistoryRequest]	Have a gap near message to get chat history from
    [ 3][t 3][1568859699.112681150][MessagesManager.cpp:14193][#2][!GetChatHistoryRequest]	Iterator after applying offset points to invalid message 0, offset = 0, limit = 20, from_the_end = false
    [ 3][t 3][1568859699.112688303][MessagesManager.cpp:14220][#2][!GetChatHistoryRequest]	Have 0 messages out of requested exact 20
    [ 3][t 3][1568859699.112694025][MessagesManager.cpp:14226][#2][!GetChatHistoryRequest]	Return 0 messages in result to getChatHistory
    [ 3][t 3][1568859699.112704039][Td.cpp:4655][#2][!Td][&td_requests]	Sending result for request 50: Messages {
      totalCount = 0
      messages = Array[0] {
      }
    }

The following api call was made
GetChatHistory {
      chatId = 945968284
      fromMessageId = 452984832
      offset = 0
      limit = 20
      onlyLocal = false
    }

Here are some of the IDS of the chat
id: 922746880
id: 921698304
id: 826277888
id: 825229312
id: 824180736
id: 764411904
id: 683671552

Also sending reply to first message to one of the chats also did not solve the problem

@vidit-bhatia You are asking in call to GetChatHistory for messages older than message 452984832, i.e. with lower messageId. None of the shown message IDs is less than 452984832, so probably everything works right. Are you sure that there messages older than message 452984832?

sorry my bad please look at this call
I/DLTD: [ 3][t 4][1568861516.136363029][Td.cpp:3531][#5][!Td][&td_requests]	Receive request 8: GetChatHistory {
      chatId = 945968284
      fromMessageId = 942669824
      offset = 0
      limit = 20
      onlyLocal = false
    }
I/DLTD: [ 3][t 4][1568861516.137020111][MessagesManager.cpp:14120][#5][!GetChatHistoryRequest]	Get history in chat 945968284 from server message 899 with offset 0 and limit 20, 3 tries left. Last read inbox message is server message 4825, last read outbox message is server message 4748, have_full_history = true
D/DLTD: [ 4][t 4][1568861516.137052059][MessagesManager.cpp:14127][#5][!GetChatHistoryRequest]	Iterator points to invalid message 0
I/DLTD: [ 3][t 4][1568861516.137093306][MessagesManager.cpp:14161][#5][!GetChatHistoryRequest]	Have a gap near message to get chat history from
    [ 3][t 4][1568861516.137108088][MessagesManager.cpp:14193][#5][!GetChatHistoryRequest]	Iterator after applying offset points to invalid message 0, offset = 0, limit = 20, from_the_end = false
    [ 3][t 4][1568861516.137358189][MessagesManager.cpp:15597][#5][!MessagesManager]	Load messages in chat 945968284 from server message 899 with offset = 0 and limit = 20. 3 tries left
    [ 3][t 4][1568861516.137380123][MessagesManager.cpp:15605][#5][!MessagesManager]	Have full history in chat 945968284, so don't need to get chat history from server
    [ 3][t 4][1568861516.137392282][MessagesManager.cpp:15569][#5][!MessagesManager]	Get history in chat 945968284 from server message 899 with offset -1 and limit 50 from database
I/DLTD: [ 3][t 1][1568861516.138427973][MessagesDb.cpp:754][#5][!MessagesDbActor]	Loading messages in chat 945968284 from server message 899 with offset = -1 and limit = 50
    [ 3][t 1][1568861516.138841152][MessagesDb.cpp:812][#5][!MessagesDbActor]	Begin to load 49 messages in chat 945968284 from server message 899 from database
I/DLTD: [ 3][t 1][1568861516.139323950][MessagesDb.cpp:812][#5][!MessagesDbActor]	Begin to load 1 messages in chat 945968284 from invalid message 942669823 from database
I/DLTD: [ 3][t 1][1568861516.140034199][MessagesDb.cpp:820][#5][!MessagesDbActor]	Loaded server message 4528 in chat 945968284 from database
I/DLTD: [ 3][t 4][1568861516.140372038][MessagesManager.cpp:15362][#5][!MessagesManager]	Receive 1 history messages from database in chat 945968284 from server message 899 with offset -1 and limit 50. First database message is server message 4528, have_full_history = true
    [ 3][t 4][1568861516.140516281][MessagesManager.cpp:15329][#5][!MessagesManager]	Loaded message of size 56 from database
D/DLTD: [ 4][t 4][1568861516.140559912][MessagesManager.cpp:23029][#5][!MessagesManager]	Search for server message 4528 in chat 945968284
    [ 4][t 4][1568861516.140573978][MessagesManager.cpp:22969][#5][!MessagesManager]	Searching for server message 4528 in 0xd6b99b80
    [ 4][t 4][1568861516.140581131][MessagesManager.cpp:22979][#5][!MessagesManager]	Message found
I/DLTD: [ 3][t 4][1568861516.140603065][MessagesManager.cpp:14120][#5][!GetChatHistoryRequest]	Get history in chat 945968284 from server message 899 with offset 0 and limit 20, 2 tries left. Last read inbox message is server message 4825, last read outbox message is server message 4748, have_full_history = true
D/DLTD: [ 4][t 4][1568861516.140621185][MessagesManager.cpp:14127][#5][!GetChatHistoryRequest]	Iterator points to invalid message 0
I/DLTD: [ 3][t 4][1568861516.140636921][MessagesManager.cpp:14161][#5][!GetChatHistoryRequest]	Have a gap near message to get chat history from
    [ 3][t 4][1568861516.140646935][MessagesManager.cpp:14193][#5][!GetChatHistoryRequest]	Iterator after applying offset points to invalid message 0, offset = 0, limit = 20, from_the_end = false
    [ 3][t 4][1568861516.140662193][MessagesManager.cpp:15597][#5][!MessagesManager]	Load messages in chat 945968284 from server message 899 with offset = 0 and limit = 20. 2 tries left
    [ 3][t 4][1568861516.140677929][MessagesManager.cpp:15605][#5][!MessagesManager]	Have full history in chat 945968284, so don't need to get chat history from server
    [ 3][t 4][1568861516.140688896][MessagesManager.cpp:15569][#5][!MessagesManager]	Get history in chat 945968284 from server message 899 with offset -1 and limit 50 from database
I/DLTD: [ 3][t 1][1568861516.142854929][MessagesDb.cpp:754][#5][!MessagesDbActor]	Loading messages in chat 945968284 from server message 899 with offset = -1 and limit = 50
    [ 3][t 1][1568861516.142885208][MessagesDb.cpp:812][#5][!MessagesDbActor]	Begin to load 49 messages in chat 945968284 from server message 899 from database
I/DLTD: [ 3][t 1][1568861516.143064260][MessagesDb.cpp:812][#5][!MessagesDbActor]	Begin to load 1 messages in chat 945968284 from invalid message 942669823 from database
I/DLTD: [ 3][t 1][1568861516.144428015][MessagesDb.cpp:820][#5][!MessagesDbActor]	Loaded server message 4528 in chat 945968284 from database
I/DLTD: [ 3][t 4][1568861516.144965887][MessagesManager.cpp:15362][#5][!MessagesManager]	Receive 1 history messages from database in chat 945968284 from server message 899 with offset -1 and limit 50. First database message is server message 4528, have_full_history = true
I/DLTD: [ 3][t 4][1568861516.145030975][MessagesManager.cpp:15329][#5][!MessagesManager]	Loaded message of size 56 from database
D/DLTD: [ 4][t 4][1568861516.145058155][MessagesManager.cpp:23029][#5][!MessagesManager]	Search for server message 4528 in chat 945968284
    [ 4][t 4][1568861516.145076036][MessagesManager.cpp:22969][#5][!MessagesManager]	Searching for server message 4528 in 0xd6b99b80
    [ 4][t 4][1568861516.145092249][MessagesManager.cpp:22979][#5][!MessagesManager]	Message found
I/DLTD: [ 3][t 4][1568861516.145128012][MessagesManager.cpp:14120][#5][!GetChatHistoryRequest]	Get history in chat 945968284 from server message 899 with offset 0 and limit 20, 1 tries left. Last read inbox message is server message 4825, last read outbox message is server message 4748, have_full_history = true
D/DLTD: [ 4][t 4][1568861516.145147085][MessagesManager.cpp:14127][#5][!GetChatHistoryRequest]	Iterator points to invalid message 0
I/DLTD: [ 3][t 4][1568861516.145193100][MessagesManager.cpp:14161][#5][!GetChatHistoryRequest]	Have a gap near message to get chat history from
    [ 3][t 4][1568861516.145210981][MessagesManager.cpp:14193][#5][!GetChatHistoryRequest]	Iterator after applying offset points to invalid message 0, offset = 0, limit = 20, from_the_end = false
    [ 3][t 4][1568861516.145236015][MessagesManager.cpp:15597][#5][!MessagesManager]	Load messages in chat 945968284 from server message 899 with offset = 0 and limit = 20. 1 tries left
    [ 3][t 4][1568861516.145256042][MessagesManager.cpp:15605][#5][!MessagesManager]	Have full history in chat 945968284, so don't need to get chat history from server
    [ 3][t 4][1568861516.145304203][MessagesManager.cpp:15569][#5][!MessagesManager]	Get history in chat 945968284 from server message 899 with offset -1 and limit 50 from database
I/DLTD: [ 3][t 1][1568861516.145349979][MessagesDb.cpp:754][#5][!MessagesDbActor]	Loading messages in chat 945968284 from server message 899 with offset = -1 and limit = 50
    [ 3][t 1][1568861516.145374060][MessagesDb.cpp:812][#5][!MessagesDbActor]	Begin to load 49 messages in chat 945968284 from server message 899 from database
    [ 3][t 1][1568861516.145447016][MessagesDb.cpp:812][#5][!MessagesDbActor]	Begin to load 1 messages in chat 945968284 from invalid message 942669823 from database
    [ 3][t 1][1568861516.145484209][MessagesDb.cpp:820][#5][!MessagesDbActor]	Loaded server message 4528 in chat 945968284 from database
I/DLTD: [ 3][t 4][1568861516.145609140][MessagesManager.cpp:15362][#5][!MessagesManager]	Receive 1 history messages from database in chat 945968284 from server message 899 with offset -1 and limit 50. First database message is server message 4528, have_full_history = true
    [ 3][t 4][1568861516.145625114][MessagesManager.cpp:15329][#5][!MessagesManager]	Loaded message of size 56 from database
D/DLTD: [ 4][t 4][1568861516.145635128][MessagesManager.cpp:23029][#5][!MessagesManager]	Search for server message 4528 in chat 945968284
    [ 4][t 4][1568861516.145642042][MessagesManager.cpp:22969][#5][!MessagesManager]	Searching for server message 4528 in 0xd6b99b80
    [ 4][t 4][1568861516.145666122][MessagesManager.cpp:22979][#5][!MessagesManager]	Message found
I/DLTD: [ 3][t 4][1568861516.145707130][MessagesManager.cpp:14120][#5][!GetChatHistoryRequest]	Get history in chat 945968284 from server message 899 with offset 0 and limit 20, 0 tries left. Last read inbox message is server message 4825, last read outbox message is server message 4748, have_full_history = true
D/DLTD: [ 4][t 4][1568861516.145722151][MessagesManager.cpp:14127][#5][!GetChatHistoryRequest]	Iterator points to invalid message 0
I/DLTD: [ 3][t 4][1568861516.145729065][MessagesManager.cpp:14161][#5][!GetChatHistoryRequest]	Have a gap near message to get chat history from
    [ 3][t 4][1568861516.145735979][MessagesManager.cpp:14193][#5][!GetChatHistoryRequest]	Iterator after applying offset points to invalid message 0, offset = 0, limit = 20, from_the_end = false
    [ 3][t 4][1568861516.145742178][MessagesManager.cpp:14220][#5][!GetChatHistoryRequest]	Have 0 messages out of requested exact 20
    [ 3][t 4][1568861516.145748138][MessagesManager.cpp:14226][#5][!GetChatHistoryRequest]	Return 0 messages in result to getChatHistory
    [ 3][t 4][1568861516.145756960][Td.cpp:4655][#5][!Td][&td_requests]	Sending result for request 8: Messages {
      totalCount = 0
      messages = Array[0] {
      }

do you think a reason could be because this is int32 https://github.com/tdlib/td/blob/master/td/telegram/MessageId.h#L28
whereas the id is coming as long which is suppose to be int32 and is getting truncated

No, an error is somewhere else.
What is returned by call GetMessage(945968284, 683671552)?
Also, how did you get the ID 942669824? Could you check in the log that it is returned previously from TDLib?

ok I think this might be the inconsistency as you can see even here it is int64 https://github.com/tdlib/td/blob/master/td/telegram/Td.cpp#L1422

There is nothing wrong there, because MessageId in int64, but ServerMessageId is int32.

This id is recieved as part of the update last message call 942669824 and this message is there.
also if I call the getChatHistory with the correct chat id and 0 as the from message id I get all the messages

@levlam calling  GetMessage(945968284, 683671552)
gives
Error {
  code = 404
  message = "Not Found"
}

@levlam do you know what would be the encryption key to open the sqlite database I was using the default database when it was created. trying to see how are the message keys being saved

@lvelam my bad I am able to fix the issue I was truncating the keys from long to int at one place in my code and did not pay attention. Thanks for helping me debug kudos to the tdlib team for building an awesome community and library. Lemme know if I could contribute in some way

@vidit-bhatia Encryption key is generated randomly, so there is no way to get it.


OpenShift Policy integration

Not done: PSC level SELinux
Noticed these tests are failing on the branch: https://gist.github.com/pweil-/bf44f0664349c3b5c5b3

Looking good so far :)


Recording mode in Hololens 2

I have been trying to activate the research mode and run the samples, However the windows developer portal only displays Recording mode and the applications fail on deployments with "Access Denied" . Can you help what the issue is?

you need a recent build, see here

Also please activate Research mode in the device portal.


react.children.only expected to receive a single reactelement child

`var Main = React.createClass({
getInitialState(){
return {
selectTab: 0,
}
},
render(){
return (

<TabBarIOS.Item
title="home"
icon={{uri: 'tabbar_home', scale: 2}}
onPress={()=>this.tabBarClick(0)}
selected={this.state.selectTab===0}
>
            </TabBarIOS.Item>
            <TabBarIOS.Item
                title="discover"
                icon={{uri: 'tabbar_discover', scale: 2}}
                onPress={()=>this.tabBarClick(1)}
                selected={this.state.selectTab===1}
            >

            </TabBarIOS.Item>
   </TabBarIOS>
    [)](url)
},

tabBarClick(index){
    this.setState({
        selectTab: index,
    })
}

}); · when I delete selected={this.state.selectTab===0} its ok 。
`

Somewhere in one of your component's render method you have:
<View>
</View>
<View>
</View>

Where you should only have 1 parent view:
<View>
    <View>
    </View>
<View>

Hi there! This issue is being closed because it has been inactive for a while. Maybe the issue has been fixed in a recent release, or perhaps it is not affecting a lot of people. Either way, we're automatically closing issues after a period of inactivity. Please do not take it personally!
If you think this issue should definitely remain open, please let us know. The following information is helpful when it comes to determining if the issue should be re-opened:

Does the issue still reproduce on the latest release candidate? Post a comment with the version you tested.
If so, is there any information missing from the bug report? Post a comment with all the information required by the issue template.
Is there a pull request that addresses this issue? Post a comment with the PR number so we can follow up.

If you would like to work on a patch to fix the issue, contributions are very welcome! Read through the contribution guide, and feel free to hop into #react-native if you need help planning your contribution.


Error "undefined is not an object (evaluating 'e[c].call')" When runtime chunk is slow to load

🐛 Bug Report
When the runtime chunk is slow to load, loadableReady will run regardless.
This causes some errors (depending on the browser)
undefined is not an object (evaluating 'e[c].call') - Safari & Chrome
Cannot read property 'call' of undefined - All browsers
can't access property "call", e[c] is undefined - Firefox
Related to https://github.com/gregberge/loadable-components/issues/558
To Reproduce
Steps to reproduce the behavior:
To replicate this I used express to serve JS bundles, allowing me to simulate it being slow to load

Slow down the bundle. I used this in my express routing

app.use('*/runtime~app.*.js', async (req, res, next) => {
  await new Promise(resolve => setTimeout(resolve, 5000));
  next();
});

Load the page in Safari 13 or 14 (seems to be the easiest browser to replicate)
See error

Note, the error only happens after loadableReady has completed and the hydration begins. This doesn't happen if you don't use loadableReady.
Expected behavior
loadableReady continues to wait for the runtime chunk to avoid the error
Link to repl or repo (highly encouraged)
Please provide a minimal repository on GitHub.
Issues without a reproduction link are likely to stall.
Run npx envinfo --system --binaries --npmPackages @loadable/component,@loadable/server,@loadable/webpack-plugin,@loadable/babel-plugin --markdown --clipboard
Paste the results here:
## System:
 - OS: macOS 10.15.5
 - CPU: (16) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
 - Memory: 4.76 GB / 16.00 GB
 - Shell: 5.7.1 - /bin/zsh
## Binaries:
 - Node: 12.18.0 - ~/.nvm/versions/node/v12.18.0/bin/node
 - Yarn: 1.21.1 - ~/.yarn/bin/yarn
 - npm: 6.14.4 - ~/.nvm/versions/node/v12.18.0/bin/npm
## npmPackages:
 - @loadable/babel-plugin: 5.13.0
 - @loadable/component: 5.13.2
 - @loadable/server: 5.13.1
 - @loadable/webpack-plugin: 5.13.0

This doesn't happen if you don't use loadableReady.

What else you can use?

See error

So the error you can see is the real error - not undefined is not an object..., but ...expected to be available. And the question is "why"

A similar situation I tried to explain in the below comment
https://github.com/gregberge/loadable-components/issues/558#issuecomment-631219189
I think this bug is related to the order of runtime chunk.
Currently, I am using the following config in webpack
optimization: {
    runtimeChunk: false,
  },

and is working fine for me.

@prateekr1 In issue 558, the problem is not completely solved, is it?

Yeah disabling the runtime chunk meerly avoids the issue. There is still a larger issue. I still wanted to use the runtime chunk.
In my project I had to fork @loadable/server to make the runtime chunk not async (the rest still are), doing something similar to https://github.com/gregberge/loadable-components/pull/526

@prateekr1 In issue 558, the problem is not completely solved, is it?

@yukiyang0729
yes, the problem still exists when the Webpack config is having
optimization: {
    runtimeChunk: true,
  },

@prateekr1 In issue 558, the problem is not completely solved, is it?

@yukiyang0729
yes, the problem still exists when the Webpack config is having
optimization: {
    runtimeChunk: true,
  },

Is there any other solution? The author did not reply

async

Have you solved this problem ? Can i see the code ?

Yeah disabling the runtime chunk meerly avoids the issue. There is still a larger issue. I still wanted to use the runtime chunk.
In my project I had to fork @loadable/server to make the runtime chunk not async (the rest still are), doing something similar to #526

Have you solved this problem ? Can i see the code ?

So, once again - how to replicate?

So, once again - how to replicate?

@theKashey , hi the problem still exists when the Webpack config is having
optimization: {
runtimeChunk: true,
},

@theKashey I am able to reproduce this consistently by slowing down the loading of the runtime chunk. I do this by serving the files via express and using this code to slow the runtime one down
app.use('*/runtime~app.*.js', async (req, res, next) => {
  await new Promise(resolve => setTimeout(resolve, 5000));
  next();
});

Yeah disabling the runtime chunk meerly avoids the issue. There is still a larger issue. I still wanted to use the runtime chunk.
In my project I had to fork @loadable/server to make the runtime chunk not async (the rest still are), doing something similar to #526

Is this scheme applied in the project?

@theKashey  hello, can you support this config #526

In my fork i changed assetToScriptTag to
function assetToScriptTag(asset, extraProps) {
  const props = handleExtraProps(asset, extraProps)
  const { async, ...rest } = props

  return `<script ${async ? 'async' : ''} data-chunk="${asset.chunk}" src="${
    asset.url
  }"${getSriHtmlAttributes(asset)}${extraPropsToString(asset, rest)}></script>`
}

and then use
extractor.getScriptTags(asset => ({
   async: !!asset && !asset.filename.includes('runtime~app'),
}))

Obs not ideal, we should try and fix the core issue. But this stopped us getting errors for now

That strange, as long as runtime-chunk is the one who actually triggers script execution.

Hey! I've created an example based on this issue and it's... ☹ working.
If someone can help me break it - it will be much appreciated.
The async tag definitely is a problem here, and replacing it by defer(still async!) should solve the problem. However - we need to know what exactly is broken to fix this problem once and for all.

@theKashey I modified the example and it would reproduce the error almost every time.
In this example , I have three js files: runtime, main, letters. If these files are loaded  by the following order:
main -> letters -> runtime, we will get the same error mentioned above every time.
I may find the reason:
https://github.com/gregberge/loadable-components/blob/c000d24eb9ca682dfe38403e838c5c5cbec46af3/packages/component/src/loadableReady.js#L53
loadableReady only checks whether the loadable required chunks are listed in window.__LOADABLE_LOADED_CHUNKS__, but can't assure these chunks have already been loaded by webpack. Because letters has no relationship with main, so despite letters has not been installed, webpack runs main and loadableReady will resolve.
So if script files are loaded by following order, it will cause the error:
all the chunks listed in __LOADABLE_REQUIRED_CHUNKS__ are loaded after any of entry file and its dependent chunks, and runtime is loaded at last.
I think it will be solved if we can remove async in runtime's <script> when getScriptTags.

Thank you @iwyvi, let me play with it a little

Not fixed until a new version is released.

5.14.1 has been released 🥳

@theKashey is webpack's issue related to this? https://github.com/webpack/webpack/issues/5429
Maybe their update solves it already.


MCXR seems to crash when combined with Portal Cubed

Running MCXR Play and Core together with Portal Cubed [v2.2.4] will crash the game due to a Redirect Conflict [or at least, I think so?]
[22:29:17] [main/WARN]: @Redirect conflict. Skipping mcxr-play.mixins.json:hands.PlayerMixin->@Redirect::changeSwimDirection(Lnet/minecraft/class_1657;)Lnet/minecraft/class_243; from mod mcxr-play with priority 1000, already redirected by gravitychanger.mixins.json:PlayerEntityMixin->@Redirect::redirect_travel_getRotationVector_0(Lnet/minecraft/class_1657;)Lnet/minecraft/class_243; from mod gravitychanger with priority 1000

Here's my log
Not sure if it matters at all, but playing on Windows 10 21H2,
with Minecraft 1.18.2 [MCXR 0.2.1] on Quilt Loader [0.17.1-beta.2] + Quilt Standard Libraries 1.1.0-beta.19,
and SteamVR 1.22.13 w/ Valve Index.

Oh this is because MCXR makes the swim direction change depending on your arms via a redirect to a method but the Portal Cubed mod does the same thing to it causing an error with fabric & mixins. There isn't really an easy fix but the only way is by making a mixin to the Portal Cubed mod that adds to it's method instead of redirecting the mcxr method. -Flamgop

yeah this is a gravity api moment

https://github.com/Fusion-Flux/GravityChanger/blob/1.19/src/main/java/com/fusionflux/gravity_api/mixin/PlayerEntityMixin.java#L34

today i look into this

Looking into it, should work if @Redirect::changeSwimDirection is changed to a @ModifyVariable on STORE.

we probably should have linked the code that would need to be changed in MCXR
https://github.com/Sorenon/MCXR/blob/ee64becf76f9eede3c6c067f00656c3c4e189e3c/mcxr-play/src/main/java/net/sorenon/mcxr/play/mixin/hands/PlayerMixin.java#L31

Howdy, I'm just wondering but has there been any news regarding this? [my bad if this comes off as rude]

I've been doing some work to implement compatibility between Gravity API and MCXR which should be done in the next few days. I haven't tested specifically with portal cubes yet but I assume it should just work.

Would be very interesting to see once that comes along 👀


List the challenges of using the GitHub search API to search for OpenAPI definitions

Think about:

the scope and size of the data
authentication requirements
what is searched and what is not?
what are the functional limitations placed on GitHub API searches?
are any languages better or worse suited to implementing a GitHub search?
what search terms would you use? (Can you find OpenAPI definitions manually first?)

Resources:

https://docs.github.com/en/rest/search?apiVersion=2022-11-28

Some potential challenges of using the GitHub search API to search for OpenAPI definitions could include:

Scope and size of data: The GitHub search API is limited to searching repositories that are public or that we have access to via authentication. Additionally, the number of search results returned may be limited.
Authentication requirements: Depending on the repositories being searched, authentication may be required to access the OpenAPI definitions. This could be an issue if the search is looking for private repositories.
What is searched and what is not: The GitHub search API only searches within the contents of files in repositories, so if the OpenAPI definition is not included in a file, it may not be found.
Functional limitations: The GitHub search API has some limitations in terms of search queries, such as a limit on the number of search terms that can be used in a query and the types of operators that can be used.
Programming language suitability: Some programming languages may be better suited to working with the GitHub search API due to the availability of libraries or APIs for interacting with the API.
Search terms: It may be challenging to identify search terms that accurately capture OpenAPI definitions. However, manual exploration of repositories or existing curated lists of OpenAPI definitions could help in identifying keywords to use in searches.

List of challenges which one may encounter while using the GitHub search API to search for OpenAPI definitions
Scope and Size of the Data: GitHub is a vast repository of code, and the search API can return a large number of results, making it challenging to find the specific OpenAPI definitions you are looking for.  There is a limit to the number of repositories a query will search through. The REST API will find up to 4,000 repositories that match your filters and return results from those repositories. One cannot use queries that are longer than 256 characters (not including operators or qualifiers) or have more than five AND, OR, or NOT operators.
There is a limit on limit how long any individual query can run. The API returns the matches that were already found prior to the timeout, and the response has the incomplete_results property set to true.
Reaching a timeout does not necessarily mean that search results are incomplete. More results might have been found, but also might not.
GitHub search documentation states that authentication is not required for performing searches on public repositories. However, for searching private repositories, authentication using an access token or OAuth is required. You need to successfully authenticate and have access to the repositories in your search queries, otherwise, you'll see a 422 Unprocessable Entry error with a "Validation Failed" message.
Q) What is searched and what is not ?
The GitHub API is used to search for specific data types such as code, repositories, issues, pull requests, and commits. When using the GitHub API, the following are searched:
Code: text match metadata for the file content and file path fields when you pass the text-match media type.

Only the default branch is considered when searching for code in repositories.
Only files smaller than 384 KB are searchable when searching for code.

Commits: Find commits via various criteria on the default branch (usually main).

Get text match metadata for the message field when you provide the text-match media type.

Issues and pull request: When searching for issues, text match metadata is only available for the issue title, issue body, and issue comment body fields.
Repositories: The API can search for repositories based on the name, description, and other attributes.
Commits: The API can search for commits based on various criteria, such as author, committer, date, and more.
You must always include at least one search term when searching for code.
The rate limit for unauthenticated requests is limited to 10 requests per minute, while authenticated requests have a higher limit of up to 30 requests per minute.
Q) Are any languages better or worse suited to implementing a GitHub search?

Github Search is based on Github API which can be used on multiple language, so any programming language that can make HTTP requests and parse JSON to interact with the GitHub API should work.

Q) what search terms would you use? (Can you find OpenAPI definitions manually first?)
I will try to use use keywords related to OpenAPI such as "openapi", "swagger", "openapi.yaml", "openapi.json", "swagger.yaml", "swagger.json", etc. Additionally, I would try to narrow down the search to specific repositories or organizations that are likely to contain OpenAPI definitions.
We can try to find keywords by searching manually in search bar of Github, some of the repositories may have open api tag.
When we try searching manually we find that just the keyword does not suffice, but we may have to take consideration of the description of output after search result, but it can be a starting point on optimizing use of Github API to search for Open API definition

When using the GitHub search API to search for OpenAPI definitions, there are several challenges one may encounter. Firstly, GitHub is a vast repository of code, and the search API can return a large number of results, making it difficult to find the specific OpenAPI definitions you are looking for. Additionally, there is a limit to the number of repositories a query will search through, which is set at 4,000 repositories. The queries also cannot exceed 256 characters in length (excluding operators and qualifiers) and cannot have more than five AND, OR, or NOT operators.
Another challenge is the limit on how long an individual query can run. If a timeout is reached, the API returns the matches that were already found prior to the timeout, and the response has the incomplete_results property set to true. However, reaching a timeout does not necessarily mean that search results are incomplete.
Furthermore, authentication is required for searching private repositories using the GitHub API. Without successful authentication and access to the repositories in your search queries, a "Validation Failed" message will be displayed, along with a 422 Unprocessable Entry error.
Regarding what can be searched, the GitHub API can search for specific data types, such as code, repositories, issues, pull requests, and commits. For code searches, only the default branch is considered, and only files smaller than 384 KB are searchable. Commits can be searched based on various criteria, such as author, committer, date, and more, and text match metadata is available for the message field. When searching for issues and pull requests, text match metadata is only available for the title, body, and comment body fields.
In terms of programming languages, GitHub API supports many progrmming language but if we opt for a language with better community/developer support  like JavaScript and Python then associated library used to connect with Github API may be having much ease of use and more features.
To search for OpenAPI definitions, keywords such as "openapi", "swagger", "openapi.yaml", "openapi.json", "swagger.yaml", and "swagger.json" could be used. It may also be helpful to narrow down the search to specific repositories or organizations that are likely to contain OpenAPI definitions.
Before looking at probable keywords we may have to find some keywords manually which are helpful to search Open API definitions.

Some of the challenges I could think of are:

The scope and size of the data: The GitHub search API has a limit of 1000 results per query, which means that it may not return all the OpenAPI definitions that exist on GitHub. Moreover, the API has a rate limit of 30 requests per minute for authenticated users, which can slow down the search process if there are many queries to be made.
Authentication requirements: The GitHub search API requires authentication for some queries, such as searching within a user's or an organization's repositories. This means that the user needs to provide a valid access token or a username and password to perform such queries. Additionally, some repositories may be private or have restricted access, which can limit the availability of OpenAPI definitions.
What is searched and what is not?: The GitHub search API allows searching for various types of items, such as repositories, code, issues, users, etc. However, it does not support searching for specific file formats or extensions, such as .yaml or .json. This means that the user needs to use other criteria to filter out the relevant files that contain OpenAPI definitions, such as keywords, file size, language, etc. Moreover, the API does not index the entire content of every file, but only up to 384 KB of text. This means that some OpenAPI definitions may be missed if they are larger than this limit or if they are located in a part of the file that is not indexed.
What are the functional limitations placed on GitHub API searches?: The GitHub search API has some functional limitations that affect the quality and accuracy of the search results. For example, the API does not support stemming, phrase matching, or wildcard searches. This means that the user needs to use exact terms or operators to match the desired items. Furthermore, the API does not support sorting or ordering the results by relevance or other criteria. This means that the user needs to manually inspect and compare the results to find the most suitable OpenAPI definitions.
Are any languages better or worse suited to implementing a GitHub search?: The choice of language for implementing a GitHub search depends on various factors, such as the availability of libraries or modules that interact with the API, the ease of parsing and processing JSON data, the performance and scalability of the code, etc. Some popular languages that have libraries or modules for working with the GitHub search API are Python, JavaScript, Ruby, Java, etc. However, there is no definitive answer to which language is better or worse suited for this task, as different languages may have different advantages and disadvantages depending on the specific requirements and preferences of the user.
What search terms would you use? (Can you find OpenAPI definitions manually first?): To find OpenAPI definitions manually on GitHub, one possible approach is to use the web interface and enter keywords such as "openapi", "swagger", "specification", etc., in the search box. Then, filter the results by selecting "Code" as the type of item and "YAML" or "JSON" as the language. Alternatively, one can use advanced search operators to construct more precise queries. For example, one can use "filename:openapi" or "filename:swagger" to search for files with these names, or use "extension:yaml" or "extension:json" to search for files with these extensions. However, these operators may not work reliably for all cases, as some files may have different names or extensions than expected. Therefore, it is advisable to inspect the results carefully and verify that they contain valid OpenAPI definitions.

Is this required to do for the proposal? Do let me know thanks.

Is this required to do for the proposal? Do let me know thanks.

@kaushikc44 one of the "good first issues" being completed is a prerequisite for applying to GSoC.

Got it thanks anyone good first issue or both of them ?

@kaushikc44 just one of the issues is fine.

Scope and Size of the data.
The GitHub data can only search APIs that are in public repositories, which means the OpenApis stored in Private repositories won't be visible.
Additionally, the size of the data can be large which can be quite challenging to fetch and query.

However, the larger the data it would be beneficial, if we go according to my proposal of using langchain , which could be trained in a well-defined manner.
Also, we can avoid providing the data in real-time by actually storing it in our DB, and only updating if there is a change to the repositories. In this way we could improve our process.

Authentication Requirements.
From the Github Api docs, it is quite evident that non-authenticated users will only be able to make 10 requests per minute. For the users to be authenticated they have to have a valid GitHub account and generate a token, which can be daunting for new users, and can easily be avoided using our AI Model. With just a few simple English sentences they can automatically get a generated token. Thereby avoiding the barrier for new users.

Searched and what is not:

One of the issues that can arise while searching is the queries that can't be more than 256 characters or it can't have more than 5 operators.

Also the scope limit is limited to 4000 repositories so users have to be very specific or have to query multiple times for more data.

Different types of Search can be found
1."Text-match" where we provide the text contained within a repository
2."Text-code" we can search for the code, however, it is similar to "text-match", we can provide the extension of the code such as javascript or py to filter our search in these specific files. This does have some restrictions such as files below 384kb can only be searched. Also if no file is mentioned it will automatically consider the master, thereby user needs to know the specific file's name.
3."Commits" , commits can also be searched using the GitHub API's
4."Issues and pull" requests can also be used for searching. It can also search for historical issues. to find issues and pull it is required to have the tag: issue or pull.
5."Labels", we can even search for labels. However, if we have labels with the same name it would prefer the first latest one.
6. Repositories, they provide the data for the most famous results with the same name
7. Topics, most famous results.
8. Users, this will only output with the users having more than 42 repositories and in descending order the highest repositories with the name will be displayed first
4.3.Different types of Searches can not be found

Binary or audio/image files, as they are stored in binaryarray it is a harder extensive process to convert an image or audio online and search for the binary data.
File Names/Folder Names as many repositories might have the same name or folder for instance "src" highly famous folder name in the javascript program. It will be highly difficult.

what are the functional limitations placed on GitHub API searches?
The GitHub has certain API request limitations such as authorized users can only make 30 requests per minute.
Whereas non-authorized users can make 10 requests per minute.
(I have listed more issues in the search and what not for different types of queries)

are any languages better or worse suited to implementing a GitHub search?:
While the GitHub search API can be used with any programming language that can make HTTP requests, some languages may be better suited to implementing a search. For example, Python has many libraries such as fast API that is lightweight and tools for working with APIs and handling JSON data.Also, ExpressJs can be used if users have a preference to only use Javascript.

6.what search terms would you use? (Can you find OpenAPI definitions manually first?)
To Search for OpenAPI definitions we could try using various keywords that starts with OpenAPI and extensions. It is also helpful to search for repositories with README files or any file listed with the tag name API's. However not all Api definitions are named or structured.

@MikeRalphson  I have also provided a couple of my suggestions apart from the above questions hope that's alright and encouraged.

@kaushikc44 absolutely, keep up the good work!

Scope and size of the data:
One challenge of using the GitHub search API to search for OpenAPI definitions is the size of the data. GitHub hosts millions of repositories, and not all repositories contain OpenAPI definitions. Therefore, it can be time-consuming to search through all repositories to find the relevant OpenAPI definitions.
Authentication requirements:
To use the GitHub search API to its fullest, authentication is required.  For authenticated requests, you can make up to 30 requests per minute. For unauthenticated requests, the rate limit allows you to make up to 10 requests per minute.
What is searched and what is not?
The GitHub search API only searches for files that are indexed by the GitHub search engine. Therefore, not all files within a repository may be indexed, and it may be possible to miss OpenAPI definitions that are not indexed. Additionally, the search API does not search the contents of binary files, such as images or PDFs. Also, only about 400 repositories are searched
Functional limitations placed on GitHub API searches:
The GitHub API has functional limitations that can limit search capabilities. For example, the search API only returns up to 1,000 results per search. This limit may be too low if the search query is too broad. Additionally, the API may not be able to handle complex search queries or search parameters.
Are any languages better or worse suited to implementing a GitHub search?
The GitHub search API is a RESTful API that can be accessed using any programming language that can make HTTP requests. However, some languages may have better support for making HTTP requests and handling JSON responses, which can make it easier to work with the GitHub API. personally, I find Python better as it is easy for me to use. Javascript is also a good option.
What search terms would you use? (Can you find OpenAPI definitions manually first?)
To find OpenAPI definitions, some search terms that can be used include "openapi", "swagger", "api.yaml", "api.json", "openapi.yaml", and "openapi.json".

- the scope and size of the data
I guess the size of the data will depend on the way we search for it. If we are searching for all repositories of a particular user the data size will be large. But if we searched for a specific repository then the size of the data will be small which will help us in searching. We can do this by asking the user to provide the index number of the repository. User can get the number by sending request on API which will contain the list of all repositories.
Authentication requirements
Authentication is compulsory. The major task will be to get the token key of the user and utilize it. We need to do some research on this point regarding how we can make it as easy as possible for the end user. Because when I tried the GitHub API for the first time the most difficult part was to understand the auth.
What is searched and what is not?
We can provide multiple searches which are provided by default from GitHub and also add more of our own which we need while building some projects.
Are any languages better or worse suited to implementing a GitHub search?
I think building the project in javascript will be better as major developers use javascript to utilize the API so there will not be compatibility issues.

Challenges that might arise include:
1)Limited support for non-text files: The GitHub search API has limited support for searching non-text files, such as images or binary files. This can make it difficult to identify OpenAPI definitions that are stored in these types of files.
2)Limitations of GitHub's search index: The GitHub search index may not be comprehensive or up-to-date, as it may take some time for new repositories or files to be indexed. Additionally, the search index may not be able to identify files that have been recently added or modified, which can impact search results.

The GitHub search API can be a powerful tool to search for OpenAPI (formerly known as Swagger) files, but it comes with some challenge:
Limited search results: The search API has a limit on the number of search results it returns. If your search query is too broad, you may not get all the OpenAPI files you are looking for.
Incomplete indexing: GitHub may not index all the OpenAPI files on the platform, especially if they are hosted in private repositories or are not labeled with relevant tags or keywords.
Lack of filtering options: The search API has limited filtering options, which can make it difficult to narrow down search results to specific criteria such as version, license, or date modified.
Rate limiting: GitHub limits the number of API requests you can make in a given time period, which can slow down your search or even cause it to fail if you exceed the limit.
Authentication requirements: Access to private repositories or certain files may require authentication, which can make it difficult to search for OpenAPI files across multiple repositories.
Search syntax: GitHub's search syntax can be complex, and it may take some time to learn how to use it effectively to find OpenAPI files.
Overall, while the GitHub search API can be a useful tool for finding OpenAPI files, it is important to be aware of its limitations and to use it in conjunction with other search methods to ensure you are finding all the files you need.
Regarding...............
Scope and size of the data:
The scope and size of the data on GitHub can be vast. GitHub is one of the largest code-sharing platforms in the world, with millions of repositories containing source code, documentation, and other files. The scope and size of the data can make it challenging to find the specific OpenAPI files you need.
Authentication requirements:
Access to private repositories or certain files may require authentication, which can make it challenging to search for OpenAPI files across multiple repositories.
What is searched and what is not:
The GitHub search API searches through code, commit messages, and other text-based content in public repositories. However, it does not search through binary files or files in private repositories unless you have access to them.
Functional limitations:
GitHub API searches have some functional limitations, such as rate limiting and incomplete indexing. These limitations can affect the accuracy and completeness of your search results.
Language suitability:
The language you choose to implement the GitHub search API depends on your specific needs and the tools you are familiar with. Some languages, such as Python and JavaScript, have GitHub API libraries and may be easier to work with.
Search terms:
To search for OpenAPI definitions, you can use specific keywords such as "openapi", "swagger", or "swagger.yml" to narrow down your search results. You can also search for repositories that are labeled with these keywords to find OpenAPI files more easily. Manually searching for OpenAPI definitions can also be helpful in finding the specific files you need.

1. Scope and Size of the Data
Vast Repository of Code: GitHub hosts millions of repositories, making the search results highly varied.
Diverse File Formats: OpenAPI definitions can exist in multiple formats (YAML, JSON), which complicates precise searching.
Data Overload: The extensive data pool can make it difficult to filter out non-relevant results when searching for specific OpenAPI files.
2.  Authentication Requirements
Rate Limiting: While unauthenticated requests are possible, they are severely limited to 10 requests per minute.
Authenticated Access: Using OAuth or personal access tokens increases the request limit to 30 per minute, providing more flexibility and speed in large-scale searches.
3.  What is Searched and What is Not?
Indexed Data: GitHub's search API searches file contents, names, repositories, and descriptions, but does not index larger files (over 384 KB).
Metadata Search Only: It doesn't crawl through non-text file formats or search inside binary files, which could hinder searching OpenAPI definitions stored in uncommon formats.
4. Functional Limitations of GitHub API Searches
Pagination of Results: Search results are paginated, meaning retrieving a large number of results takes multiple calls.
Limited Queries: Queries are constrained by API limits, with no more than 1,000 results returned for any search.
Inconsistent Results: Depending on how the OpenAPI definitions are labeled or stored, the results may vary widely in relevance.
5. Language Suitability
Language-Specific Tools: Languages with good HTTP client libraries like Python (with requests or httpx) or JavaScript (with Axios or fetch) are better suited to handling the API’s interaction and authentication.
Better for Text Parsing: Languages like Python excel in parsing the JSON responses from GitHub API due to their robust libraries (json, yaml).
6. Search Terms and Manual Discovery
Suggested Search Terms:
"openapi" OR "swagger" filename:.yml OR filename:.yaml OR filename:*.json"
"openapi" in:file path:/api/ OR path:/docs/
Manual Search: Manually exploring well-known repositories in the API space can help you spot common directory structures where OpenAPI definitions reside (e.g., docs/, api/).


Some Plugin/Option to connect to Cloud Databases automatically based on DB Service name

This is a Feature request on DBeaver.  When databases are provided via DbaaS through cloud platforms like PCF etc. The username and password keeps changing during restart etc. So instead of every time manually updating this information, it would be good to provide a option in connection properties to connect to PCF and get the details via VCAP services  of an app that the database is connected to.  The user should be providing the PCF login URL, Username and Password and the application name from which the credentials to be extracted.
I am trying to write a batch script that uses a combination of curl and jq and gets this information, but not sure how to provide this values dynamically to DBeaver.

Agreed.
Currently you could try to use OS environment variables for that (${VAR} in connection settings)


Provide API's for accessing and modifying options in a Flux script in TypeScript

We want to provide an API for mutating options in a Flux script.
It has been decided that the best way to do this is mutate the AST directly. As such we will build a TypeScript utility to easily modify and construct AST nodes and to add/remove options from an AST.
See https://github.com/influxdata/influxdb/issues/17386 for details and motivations.

See https://github.com/influxdata/influxdb/issues/17386#issuecomment-652655507 for details on what the API should look like.
I also got this helpful pointers from @desa
Directory where things should go - https://github.com/influxdata/influxdb/tree/master/ui/src/shared/utils
Example - https://github.com/influxdata/influxdb/blob/master/ui/src/shared/utils/fromFlux.ts
Example Test - https://github.com/influxdata/influxdb/blob/master/ui/src/shared/utils/fromFlux.test.ts
to run your tests while developing run yarn test:watch in the ui directory of influxdb.


Add sonar.login property at sonarscanner end

Fix #2

I like your approach. Going ro close my PR then...
Can you take care about merging and building a new version?

@nikolauskrismer I have released 1.3.7 with the fix, can you have a try?
I don't have a sonar that require logon for testing

Tested and works 👍🏼
Somehow the anylsis itself does not yet work, but the login parameter does.
Can you give me a hint why my .cs files are not analysed (always show up as zero lines of code)

you might ask in sonar-dotnet with logs to see why it is not analysed
It could be also the sonar‘s dotnet plugin is not updated