Nested query doesn't work

Problem accures in versions: 21.x.x, 23.x.x and 24.x.x (didn't check 22.x.x)
First query is put to view mount
select * from `/test-mount/testDb/flatViz`

The second one
SELECT row.seriesOne AS seriesOne, row.seriesTwo AS seriesTwo, MIN(row.measureOne) AS measureOne FROM `output_of_first_query` AS row GROUP BY row.seriesOne, row.seriesTwo ORDER BY row.seriesOne ASC, row.seriesTwo ASC

The third one is
select * from `output_of_second_query` where seriesOne = "one-one"

In 20.14.13 this works as expected in >21.0.0 filter doesn't work.
Interesting that if the second query is
SELECT row.seriesOne AS seriesOne, MIN(row.measureOne) AS measureOne FROM `output_of_the_second_query` AS row GROUP BY row.seriesOne ORDER BY row.seriesOne ASC

this works.

Forgot to mention that output of the third query is like that query is just select * from output_of_second_query

Is this perhaps the subselect issue that's breaking charts, @wemrysi?

@djspiewak yes this is most likely that problem.
@cryogenian thanks for the report!

quasar v21.0.0 landed new mongo.
This is most likely a duplicate of #2775, #1929, and https://github.com/slamdata/slamdata/issues/2109.

Running
 select city as City, sport as Sport, min(year) as Min from olympics as row group by row.City, row.Sport order by row.City, row.Sport asc

as an example. This query returns multiple rows per City, Sport pair instead of the expected single row per pair.
Additionally, the previous query returns (with incorrect results) against mongo 3.4 in ~2.5 seconds. While the query
select city as City, sport as Sport, min(year) as Min from (select * from olympics) as row group by row.City, row.Sport order by row.City, row.Sport asc

returns against mongo 3.4 in 103 seconds.

Returns correct results in mongo 3.4:
select city, min(year) as Min from olympics group by city

Returns incorrect results in mongo 3.4 (full cross between the min(year) and the City:
select city as City, min(year) as Min from olympics group by City

This bug is a duplicate of https://github.com/quasar-analytics/quasar/issues/2559.
Furthermore I am happy to report that the query
select city, sport, min(year) as Min from olympics as row group by row.city, row.sport order by row.city, row.sport asc

returns correct results in mongo 3.4 as of PR #2902. I believe this would also return correct results on master but I did not verify that.
I am also happy to report that
select * from (select city, sport, min(year) as Min from (select * from olympics) as row group by row.city, row.sport order by row.city, row.sport asc) as foo where city = "Calgary"

returns correct results in ~2.0 seconds against mongo 3.4. This is equivalent to the original query reported as problematic. So this bug is officially a duplicate of #2559 and we can blame the SQL parser.

@cryogenian was this bug found running certain operations in SlamData? For example, while creating a chart or using other cards?

I just realized that my examples above were not exactly equivalent to the original examples we were grouping on the actual field names, while in my examples I was grouping on the field alias. The behavior I was seeing while grouping on the field alias is actually correct and what we would expect, because quasar currently does not support grouping on an alias.
I am re-running the queries to determine if I can, indeed, replicate the original issue.

@cryogenian I am not actually able to reproduce this bug as of quasar 25.0.7. Can I have some more information, maybe steps to take in SlamData?
I have determined the original query, through substitution, to be
select * from (SELECT row.seriesOne AS seriesOne, row.seriesTwo AS seriesTwo, MIN(row.measureOne) AS measureOne FROM (select * from `/test-mount/testDb/flatViz`) AS row GROUP BY row.seriesOne, row.seriesTwo ORDER BY row.seriesOne ASC, row.seriesTwo ASC) where seriesOne = "one-one"

Since I don't have access to that data, I ran the nearly equivalent query on olympics (modulo the necessary as foo) on mongo 3.4
select * from (select row.city as seriesOne, row.sport as seriesTwo, min(row.year) as measureOne from (select * from olympics) as row group by row.city, row.sport order by row.city, row.sport asc) as foo where seriesOne = "Calgary"

This query returns correct results in <2 seconds.
 seriesOne | seriesTwo   | measureOne |
-----------|-------------|------------|
 Calgary   | Biathlon    | 1988       |
 Calgary   | Bobsleigh   | 1988       |
 Calgary   | Ice Hockey  | 1988       |
 Calgary   | Luge        | 1988       |
 Calgary   | Skating     | 1988       |
 Calgary   | Skiing      | 1988       |

As mentioned, there is an important difference between the two queries above, namely the addition of as foo in the olympics version. The original bug report did not include an alias for that select. Though since you're not actually inlining the queries when they are run, it wouldn't be necessary. But I wanted to point that out in case it was relevant.
It's also possible that this has been fixed since the issue was reported, or maybe I'm not replicating it correctly. I ran these tests against 45c2d4b87050fabb21bb5f078427b975bc4b3eb5, which is quasar version 25.0.7.
@cryogenian if you need access to the latest quasar, let me know, since currently quasar publishing is not working.

This is fixed in 25.0.16. Thank you!

I'm actually going to reopen this just so I can add an integration test for the query
select * from (select row.city as seriesOne, row.sport as seriesTwo, min(row.year) as measureOne from (select * from olympics) as row group by row.city, row.sport order by row.city, row.sport asc) as foo where seriesOne = "Calgary"

just to make sure we don't have any regressions.


Use other knowledge graphs

Thanks for your work. If I now have a simple CSV file of the Knowledge Graph that I want to use in my KG_RAG, how can I embed it in the code concisely and quickly, and what I need to change?

Thanks @Davy-Chendy
That is an interesting application which we are planning to incorporate. It should include minimal changes such as (possible) modification in the vector database population and routing to local graph (rather than current API call to the remote graph).
Once this is added to KG-RAG and tested, I will post the announcement here :)

I was wondering if there have been any updates or progress? Excited to test that too!!

@christ25442544 Thank you for your dedicated interest! We're excited about this feature and have been discussing ideas through collaborations. The fact that this GitHub issue remains open is to gather more input from the community. We appreciate your patience as we work on it.

I think the idea to fetch data from another data source (local, or remote) would be great. An universal interface that defines the required methods / parameters would be needed, from which connectors for SPOKE/local files/databases (e.g. neo4j) could be derived, which then replace get_context_using_spoke_api(). I can help with the python neo4j driver if help is wanted.

@Mnikley That sounds like a fantastic extension! The key requirement is that it should offer flexibility in switching between external knowledge bases. For instance, if the user wishes to switch back to SPOKE, the system should handle it seamlessly. If you have a working prototype, feel free to submit a PR. Sounds exciting!

@karthiksoman ok - I don't have a prototype yet, but will submit a PR as soon as I have something :+1:

@Mnikley Sounds good and looking forward to that!


[EventRequest] table 83 - “Item Journal Line”, LookUpItem [External]

Please add a new publisher event OnBeforeLookUpItem at the start of the function LookUpItem in table 83

Please add the corresponding Integration Event In the bottom of the table.

I have already requested for this publisher once in issue#3799


[FEATURE] Unsafe git directories

As my git directory is located on a different server with different users, I got an "unsafe git directory" warning. I currently work around this using the following in my .yml (docker swarm):
command: sh -c "git config --global --add safe.directory /var/lib/git/repositories/myrepo.git && \
  sed -i 's/index gitweb.cgi;/rewrite ^ \\/gitweb.cgi?$query_string break;/' /etc/nginx/conf.d/nginx.conf && \
  nginx -g 'daemon off;'"

This script does two things:

It allows any URL to be redirected to gitweb. That's just a nice to have on my side. Just personal.
Adds myrepo.git to the safe.directory list.

According to https://stackoverflow.com/questions/71849415/i-cannot-add-the-parent-directory-to-safe-directory-in-git you can also add '*' to safe directories.
Perhaps there should be either:

Documentation on how to
A. Fix this issue, or,
B. use this workaround
Just a global git config to disable the safe directory check, or
an environment option to add safe directores?

@danielvandenberg95 many thanks for your report.
When you say that "my git directory is located on a different server with different users" it sounds like you are not mounting a volume with the git directory in the gitweb container. Perhaps you can explain more about your setup and under which use cases of gitweb that you receive the "unsafe git directory" warning?


use git-repo name instead of directory-basename

As users might use different directory names while cloning a repository it should be possible to use the repo name instead.
https://github.com/nichtraunzer/ods-pre-commit-hooks/blob/d3c57b1b8e69d37522ebf94a4616c8af03a92f72/hooks/createstackmoduleoutputs.rb#L54
https://github.com/nichtraunzer/ods-pre-commit-hooks/blob/d3c57b1b8e69d37522ebf94a4616c8af03a92f72/hooks/createbpmoduleoutputs.sh#L15

https://github.com/nichtraunzer/ods-pre-commit-hooks/commit/8fc5e658275259e2d81452238bfdf63143a3605e


TypeError

Expected Behavior
Running
Actual Behavior
Traceback (most recent call last):
File "pokecli.py", line 220, in
main()
File "pokecli.py", line 206, in main
bot.start()
File "/Users/Yidong_Wang/Documents/PokemonGo-Bot/pokemongo_bot/init.py", line 31, in start
self._setup_api()
File "/Users/Yidong_Wang/Documents/PokemonGo-Bot/pokemongo_bot/init.py", line 151, in _setup_api
player = response_dict['responses']['GET_PLAYER']['player_data']
TypeError: 'bool' object has no attribute 'getitem'
Steps to Reproduce
Other Information
OS: Mac
Git Commit: (run 'git log -n 1 --pretty=format:"%H"' and paste it here)

I don't know why, but I have a copy and paste the the repo. It works now.

Duplicate: https://github.com/PokemonGoF/PokemonGo-Bot/issues/915
Happens due to Server Problems

thx

Duplicate of https://github.com/PokemonGoF/PokemonGo-Bot/issues/915
/closed


Vietnamese month uncertainty (discussion)

We need to come up with generic solution for this.
Vietnamese language does not have names for months and simply use "Month One", "Month Two" etc.
Some sites use numeric form like "Month 1", "Month 2" etc. So when we translate tokens from Vietnamese for dates like "1 Year 1 Month 1 Day" it is not quite clear whether it is "1 year 1 month 1 day" or "1 year 1 January day".

Chinese, Japanese, and Korean (and others) need a solution for this too.
One simplistic way to do this is to have a lookup table like I put in this comment in #14. Keep a list of the Year, Month, and Day tokens for each language(ex: '年',  '月', '日' in Chinese). The data could be pulled in from a formatted file like in #26.

But how we would understand when to treat "Token Number" as an ordinal form of token, and when as two separate words?

In Chinese at least (can't speak for Japanese/Korean as well), ordinal numbers are prefixed with 第。
So，
第一 first
第二 second
These will never appear in a yyyy年mm月dd日 context.  You will commonly see
第一個月 the first month (not January, just an arbitrary month)
第一年 the first year
第一天 the first day
but they don't refer to absolute dates/times, only relative. Does that make sense?

My research shows that in Vietnamese this distinction would be achieved by word order, so "tháng sáu" is "June", "sáu tháng" is "six months". But I still need a native speaker to confirm this...

@asadurski not sure if i understand what are you suggesting, could you please provide a piece of code?
Also would it work with digits?

After rethinking and initial testing, I think my approach will not work.
What I wanted to do is using regex in language data to restrict "year" and "month" to mean "year" only if it has digits before it, like this:
year:
        - (?<=\d\s)năm
        - (?<=một\s)năm
        - (?<=hai\s)năm
month:
        - (?<=\d\s)tháng

and so forth, but currently only the "simplifications" part of language data is taken as regex, right?
Second weakness of this approach is that it only helps a little and will not solve the entire problem - it would need to be coupled with formats.

I think our greatest aid is the keyword ago. No native speaker would write relative date without adding 'ago' considering the duplicity of meaning that would ensue otherwise. Hence, we probably need an approach where we can switch between relative and absolute dates context on the basis of the presence of keyword ago in the datestring for such cases. If ago is not present, the date should be considered as relative and only be translated for calendar literals (day/week/month/year) instead of month names.

I agree, 'ago' would be proper solution. But we would need to collect dates parsed particularly with freshness parser and see if they all contain 'ago'.

@Liechti As for Japanese, the rule is extremely similar. In Korean it is somewhat less common to see dates written with Chinese characters (sometimes hangul, though).
Japan has one extra issue I haven't checked whether is handled here: imperial dates. These are very easy to detect when they have the era name (appearing, for example, as 平成, 平, "Heisei", or "H." followed by date characters) but require a conversion table to translate to an ISO year. Sometimes they are not labeled, so one has to assume that a year value less than, say, 100 is actually a current-era imperial year (sometimes which era was "current" at the time of a document's creation is only discernable with some extra context, though).
Numbers can be tricky because years may be in traditional characters, half-width western characters, or full-width western characters (this is a perennial issue in interpreting Japanese numbers, though, only ever solved very well by game libraries, tbh -- that is to say, Japanese users will not be surprised in the slightest for full functionality to be lacking, but will be pleasantly surprised if it exists).

I reopen this issue as it seems that it was closed by error


3-way frequency table with kable

@christophergandrud Hi, I'm struggling to knit a 3-way frequency table with row probabilities. I thought I could use the kable function.
This is the code of my table:
`## 3-Way Frequency Table
Gender, income and Spouse Work Status (row probabilities)
ge_sp_ca1 <- table(z$sexcat[z$educat==4 & z$married==1],
z$income_status[z$educat==4 & z$married==1],
z$spwrkcat[z$educat==4 & z$married==1])
ftable(prop.table(ge_sp_ca1, c(1,2)))`
Which yields the following output:

I thought I could use a simple kable command to knit it but it produces a completely wrong table:
knitr::kable(ftable(prop.table(ge_sp_ca,c(1,2))), caption = "Gender and Spouse Work Status",digits = 2)

Any ideas how to fix this?
Thanks a lot!
Philipp

Try the pander solution mentioned in: http://stackoverflow.com/questions/25516471/printing-nice-cross-tabulations-in-knitr.


disconnectedCallback should handle tearing stuff down

It needs to call:

user's disconnect hook if provided
the function returned from the user's connect hook if there is one

This needs to call stopListening also.


Add required files for release

There are some required NOTICE files and such that need to be added to the repository.

Done.


⚠ Bofrost.fr has degraded performance

In f6a8c23, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1224 ms

Resolved: Bofrost.fr performance has improved in b8e6e0f.


Could I Use tabula-java in php?

Eg using exec(java -jar etc etc?
And If the java interpreter is on another server?
Thank very much

Tabula shouldn't be the problem here.
Although executing a Java Virtual Machine on a remote server via PHP most certainly will be complicated, but that's not an issue of Tabula.
Anyway, I'm curious, what's your use-case?

You could use Tabula-Api to make Tabula remotely accessible.

Can any one tell me the proper steps pleas for this question


refactor: clean up basestring type

since this typing module is constraint to python >= 3.8, no need to back port the string type compatibility

:tada: This issue has been resolved in version 0.4.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Disable rebuilds for stack, git, build pack changes using image resource

Hi Team,
Is there a way to disable disable image rebuilds for stack, git, build pack changes using image resource in kpack?

I'm not sure why you would use the Image resource then, for one-off builds you should use the Build resource directly.

The reason why i want to use Image is to add k8's service bindings for dependencies and certificates. will build resource allow us to add k8 service bindings ?

Also we want use builder resource not builder image reference as we manage kpack builder. Basically We want our user to use builder (managed by us) not use builder image reference. So wanted to check if we can restrict rebuilds for stack, git and build pack changes using image resource

Can anybody help on above ?

Build has its own mechanism for referencing service bindings.
There is a spec.services field that you can use like this
services:
- name: settings-xml
  kind: Secret

Yes services work for image resource but for for build resource. Below is my image vs build resource. My original questions will service bindings works for build resource ?
Build resource
apiVersion: kpack.io/v1alpha2
kind: Build
metadata:
name: sample-build2
spec:
tags:

harbor.xxx.xxx/pcf-images/korifi/build-test:latest
serviceAccountName: image-registry-credentials
builder:
image: harbor.xxx.xxx/pcf-images/paketobuildpacks/builder-jammy-base:latest
build:
env:

name: BP_EMBED_CERTS
value: "true"
services:
name: dependencies
kind: Secret
apiVersion: v1
name: xxx-chain-certs
kind: Secret
apiVersion: v1
source:
blob:
url: https://dcsartifacts.xxxx.xxxx:443/artifactory/dicf/Prisma/cf-sample-sb-0.0.1-SNAPSHOT.jar

Image resource.
apiVersion: kpack.io/v1alpha2
kind: Image
metadata:
name: demo-java-airgapped-r1-4
namespace: kpack-testing
spec:
tag: harbor.xxxx.xxxx/pcf-images/korifi/java-demo-cert-r1-4 # specify target image registry path here
imageTaggingStrategy: BuildNumber
serviceAccountName: image-registry-credentials # be sure to use this service account if you push images to harbor.demo.kube-plus.cloud
builder:
name: cf-kpack-builder-test
kind: Builder
source:
blob: # this example uses app source code from a public github repository
url: https://dcsartifacts.xxxx.xxxx:443/artifactory/dicf/Prisma/cf-sample-sb-0.0.1-SNAPSHOT.jar
# revision: 82cb521d636b282340378d80a6307a08e3d4a4c4
build:
env:
- name: BP_EMBED_CERTS
value: "true"
bindings:

name: dependencies
kind: Secret
apiVersion: v1
name: xxx-chain-certs
kind: Secret
apiVersion: v1


Console Mojibake on localized Games

Bot returns localized values. But the console render CJK characters as square of question marks.

Typically, CJK Characters are rendered 2 letters width on console. The behavior could be tricky if try to support it. But maybe mod can include more un-localized information to the return value of API's so programs don't need to rely on these fields to work.

The unlocalized strings your code should rely on are "type" and "name".  It's only "displayName" and "description" which are the localized strings, and you're right, the console can't display those if they are outside the Latin character set.

Maybe the item category can be changed to an integer?
result["category"] = new ValNumber(item.Category);
result["categoryName"] = new ValString(item.getCategoryName());


Option to select network interface

Just installed the app, it works great!
I would like to suggest an option in the settings to be able to set the network interface manually. I'm using VPN so there are two active network connections.

Hey @blueport87 thank you for your suggestion.
Even with 2 online connections, windows has to choose only one as the active network for data transfer.
So wouldn't it be ideal to have just the active connection shown? or am i missing something here? Feel free to clarify if i am.

I'm not entirely sure but VPN creates a virtual network interface and all apps can send data though it.

This is how it looks on my machine. There are two active network connections.
It somehow worked for the first time but now the app either does not count traffic (shows status as disconnected) or crashes when I change VPN connection (connect/disconnect).

Thank you for the report @blueport87, it looks like your vpn is a Tunnel adapter and unfortunately at the moment this program does not support it. I will add this support in the near future.
And ill add the option to select the network interface as well.

Hey @blueport87, i just released v0.6.0 with some updates to having multiple active connections.
I did not implement selecting between 2 active interfaces, but it should detect the one which windows is using atm.
this version should not crash when changing the VPN connection. could you test it and let me know.
If its still a problem ill try implementing the option to select between network interfaces


anyway to get it up and running with nicehash?

so I just started mining 3 days ago so i am TOTALLY new to this shi, mining bitcoin with nicehash right now, wanna know if this could ever support nicehash

Well I don't think you're mining bitcoin but something else. Nicehash only converts for example Ethereum by selling your Ethash hashing power and they pay you in bitcoin.
I will quote what I've told someone before how to do it:

For nicehash just use the normal stratum as scheme, enter daggerhashimoto.LOCATION.nicehash.com:3353 as the pool (replace LOCATION with a location from here https://www.nicehash.com/support/mining-help/mining-advanced-topics/which-stratum-servers-are-available) and then your BTC wallet as your wallet address and it should work.


[RFE] Generic pod workload

Is your feature request related to a problem? Please describe.
There're several workloads that are using a very similar code base, with the only difference of the objects they deploy.
i.e
The vegeta workload consists of the following steps:

Create configuration resources
Create job
Set benchmark state to Running
Set the benchmark as complete: true when finishes

Similar steps are repeated in other workloads such as:

scale
log_generator
oslat
image_pull
and more

Describe the solution you'd like
We can create a generic-workload (name TBD yet) role, able to perform these generic tasks, that way the workloads using this role will only have one task. i.e.
- include_role:
    name: generic_workload
  vars:
    resources: [template1.yml, template2.yml]

generic_workload tasks.yml
---
- block:

  - name: Creating workload resources
    k8s:
      state: present
      definition: "{{ lookup('template', item) }}"
   loop: "{{ resources }}"

  - include_role:
      name: benchmark_state
      tasks_from: set_state
    vars:
      state: Running

  when: benchmark_state.resources[0].status.state == "Building"

- include_role:
    name: benchmark_state
    tasks_from: completed.yml
  when: benchmark_state.resources[0].status.state == "Running"```

Thanks to this new role we can reduce benchmark-operator code base and ease manageability.
This would be a first approximation, we'll have to decide if we want to introduce a generic pod synchronization logic to the workloads deployed by this role. (At the moment that wouldn't be required though)

@rsevilla87 here are some incremental steps done in that direction:

I am working with @learnitall  (he did most of the work) on a related effort to have all snafu-based wrapper images derive from a common base image.
I try to extract common pieces of code like redis synchronization  (new snafu/utils/sync_pods_with_redis.py) or cache dropping (snafu/utils/request_cache_drop.py) into separate python modules so that all the benchmarks can use them.
@acalhounRH created modules that interfaced to elasticsearch so that each benchmark using run_snafu.py didn't have to do it.

But at present we have to explicitly provide support in each benchmark for cache dropping, or redis pod synchronization, etc.   There is a lot of replicated code in each of these benchmarks.   Would be great if there was some way to make that common behavior easier to achieve.
As an aside, The state machine for running a benchmark is a real PITA to explain to people (it requires unlearning threaded programming and going back to a polling model, doing this in ansible YAML (I know that it was done to avoid blocking benchmark-operator on a single benchmark).   Would your proposal hide this state machine from people who want to integrate their favorite benchmark with benchmark-operator?  One impact is that it is harder to read the benchmark-operator-manager log - which repeats the same steps over and over again, making the log huge.    Would it be possible to build a benchmark-operator with an ansible-runner pod and log per benchmark, rather than 1 thread for all benchmarks?
An example would be useful using a simple existing benchmark, so we can compare the implementation before and after.


Lint/ToEnumArguments: False positive on to_enum(__callee__)

Given the following code, Lint/ToEnumArguments reports an offense:
def my_method
  return to_enum(__callee__) unless block_given?
  # ...
end

# Offense:
Lint/ToEnumArguments: Ensure you correctly provided all the arguments
  return to_enum(__callee__) unless block_given?
         ^^^^^^^^^^^^^^^^^^^

Whereas, in the same method, just changing __callee__ to the name of the method passes:
def my_method
  return to_enum(:my_method) unless block_given?
  # ...
end

# Passes ^

Expected behavior
Since __callee__

Returns the called name of the current method as a Symbol. If called outside of a method, it returns nil.

... this should be an acceptable (and even preferred) method of using to_enum, because it allows the method name to be changed without requiring a change to the internals of the method to match.
Actual behavior
A somewhat misleading offense is detected/reported:

Ensure you correctly provided all the arguments

Steps to reproduce the problem
Just add this method to a ruby file and run Lint/ToEnumArguments on it:
def my_method
  to_enum(__callee__)
end

def my_method2
  to_enum(:my_method2)
end

Both should pass, but only the 2nd one does.
RuboCop version
$ rubocop -V
1.3.0 (using Parser <IP_ADDRESS>, rubocop-ast 1.1.1, running on ruby 2.6.6 x86_64-darwin19)
  - rubocop-performance 1.8.1
  - rubocop-rails 2.8.1
  - rubocop-rake 0.5.1

Agreed.
I've been using __method__ but you are right, __callee__ can only be better. In contrived situations, __method__ does not work where __callee__ does:
class Foo
  def foo
    return to_enum __method__ unless block_given?
    yield 42
  end

  alias bar foo
  undef foo
end

Foo.new.bar.to_a # => undefined method `foo' for #<Foo:0x00007f9a81a723a8>)


fix already exists error if same code happens many times simultaneously

Related to this https://github.com/ipython/ipython/issues/7986
I think at least for python 2.7. That version of os has this into account but only for parents folders, not the last one.

Wait, I thought path.py was supposed to be removed by #2. Not sure what happened there.

Since path.py is not actually part of pickleshare, do you want to update the PR so the error is caught in pickleshare itself, rather than path.py?

Don't worry, I'm working on an updated version of the fix.

Reissued as #6 - thanks @lpantano

rainfocus-privacy-policy.pdf


Supabase-js v2 signInWithOtp – invalid refresh_token for idle users if JWT expiries

Bug report
Describe the bug
I have a Vue 3 SPA using Pinia and Vue Router. I use signInWithOtp as my auth method. I recently updated to supabase-js v2 and everything seemed fine at first but I noticed I was always being logged out when accessing the Vue app from a new tab later in the day (I think I've resolved this now). So I suspected the refresh_token might not be working and investigated.
I lowered my JWT expiry to 360 seconds so I wouldn't have to wait long to test the refresh token. After some tweaks, the refresh_token seems to be working when returning via a new tab in the browser that has the session (even after the JWT should have expired). But I've noticed that when sat there with my app open, if the JWT expires while the app is open, the console starts looping 400 errors and 'Invalid refresh_token'. If I then refresh my app, sometimes it's ok but sometimes supabase.auth.getSession() returns null and my auth guard sends the user to the login page.
Obviously my JWT will be set back to a longer period once I've got to the bottom of this but I want to make sure there isn't a bug lurking under the surface here.
To Reproduce

Set a short JWT expiry (a few minutes)
signInWithOTP
Watch google console at expected time of JWT expiry
See 400 and Invalid refresh_token errors

Expected behavior
JWT should be silently renewed via refresh_token
Screenshots
As well as the 400 errors, I sometimes get 500 errors and I also sometimes see database deadlock errors but not since I've tried to screen grab it.
In short, everything is fine and then it seems the JWT is expiring in the background and then the refresh_token is failing. If I keep browsing around the app, everything is fine.

System information

OS: MacOS 12.5.1
Browser: NA
Version of supabase-js: 2.0.5
Version of Node.js: 18.1

Additional context
My general application flow is:

signInWithOtp

      const supabaseClient = useCreateSupabaseClient();
      const { error } = await supabaseClient.auth.signInWithOtp({
        email: userData.email,
        options: {
          emailRedirectTo: window.location.origin,
        },
      });

User follows magic link
in router.beforeEach I check if requires auth, and if it does I call supabase.auth.getSession(). Otherwise, because of possible race conditions historically from supabase-js v1, or the fact the user could be following a magiclink, I don't assume they aren't logged in, and I redirect to a SessionHelper route/component which onMounted will either deal with the magiclink or will async/await the supabase.auth.getSession() again. Sort of giving the user a second bite at the cherry but I could probably refactor this out since v2. My problem isn't in sessionHelper anyway...

router.beforeEach(async (to, from, next) => {
  const accountStore = useAccountStore();
  const supabaseClient = useCreateSupabaseClient();

  if(to.meta.requiresAuth) {
    const { data: { session } } = await supabaseClient.auth.getSession();
    accountStore.session = session;
    if(accountStore.getSession) {
      next(); // authed carry on...
    }
    else {
      next('/account/session?redirect=' + to.path.replace(/^\/+/, ''));
    }
  }

In SessionHelper I basically asycn/await call supabase.getSession(), store it in Pinia and the redirect to where the originally intended to go. As you can see it's not doing much...

    onMounted(async () => {
      if(typeof route.query.redirect !== 'undefined') {
        // preserve any previous redirects...
        redirect = route.query.redirect;
      }

      const { data: { session } } = await supabaseClient.auth.getSession();
      accountStore.session = session;

      if(accountStore.getSession === null) {
        router.push('/account/login?redirect=' + redirect);
      }
      else {
        router.push('/' + redirect);
      }
    });

If I still don't have a session I kick the user to login screen

To recap, the problem I'm getting is when the user is just sat in the app, idle, doing nothing and the JWT happens to expire while sat doing nothing in the app, then it all starts to fall down with the invalid refresh_token errors.

@garylake is it safe to say that everything works fine as long as someone is using the application?

@j4w8n Yep, 100% fine as long as token doesn't expire while the browser is open. It's so weird, if the token expires but browser isn't open, and I return, refresh token works.
But if I leave the browser open and token expires with window open, refresh token is invalid.
I'm leaning towards this being a me problem purely because I've since implemented the same supabase project with an Ionic/Vue app and it appears fine. (Saying that, if @uze is getting similar then maybe it's not me).
I will verify this later by dropping my token expiry down again and just double checking the ionic app as well.

Ok. This may have nothing to do with it, but I am curious why your onMounted code sets accountStore.session to session, but the next line checks accountStore.getSession

As you may know, when it throws an invalid refresh token error, it's usually because the token was already used to refresh a session.

Yeah my implementation was a bit cack handed because with supabase js v1 getting the session wasn't async and I was in race condition hell with vue router. I then updated to supabase js v2 which gave me the async getSession.
I've since implemented from scratch starting with supabase v2 on my ionic app and it's a lot cleaner, so I think I need to do some testing with short expiries on my ionic app to confirm it's not an issue, and then maybe look at further cleaning up my main Vue app implementation to match and seeing if I can solve this myself.
For the record, I hadn't started my ionic app when I opened this issue so I had no other working examples.
Cheers Jason 👍🏻

Just for some context I'm getting the same issue but for react-native. I thought it could be related to this issue: https://github.com/supabase/gotrue-js/issues/495 where the potential issue could be the logic for testing if the current session is inside of the browser but it looks like they've corrected this: https://github.com/supabase/gotrue-js/pull/546. Even after this correction I still see this issue on my end when testing that branch. I currently have my supabase client set up as so:
export const createSupabaseClient = () =>
  createClient(supabaseUrl, supabaseAnonKey, {
    auth: {
      autoRefreshToken: true,
      storage: AsyncStorage,
      persistSession: false,
      detectSessionInUrl: false,
    },
  });

but the autoRefreshToken only seems to work when I leave the app and come back in (similar to this). If I idle in the application the token will eventually expire and I will get: error: AuthApiError: invalid JWT: unable to parse or verify signature, token is expired by 50s for every supabase call I make.
cc: @j4w8n @garylake

Hey so recently I've started #564 which should make it simpler to catch this type of issues.
I'd appreciate it if you could send us some code that you are able to reproduce the problem with so we can play around with it.

Is this still happening @garylake?

@hf yep, just dropped my JWT expiry to 90 seconds and if I just sit on page and do nothing for 90 seconds I start getting 429 errors (no actual message text) on the refresh token.
https://<mydomain>/auth/v1/token?grant_type=refresh_token 429
Happy to share code but it's a fairly large Vue router based app so it's not like I have a single file implementation I can just stick up here.
I'm on a pro plan for the project in question, I'm happy to take this to support or zoom call and work through it, maybe discuss repo access once verified etc?

OK this should be fixed. Don't drop the expiry to values <2 minutes. Here's why: https://supabase.com/docs/guides/auth/sessions#what-are-recommended-values-for-access-token-jwt-expiration


Fixes to get pex to work on windows.

The fixes are:

os.link doesn't exist on windows. Always copy instead.
NamedTemporaryFile doesn't work correctly on windows (see https://bugs.python.org/issue14243)
sys.prefix is part of site.getsitepackages() on windows. Don't remove it.

lgtm overall mod a few comments. also, test coverage simulating windows environmental conditions (+ a quick unit test for named_temporary_file?) would be ideal.

Might it be better to set up windows CI (e.g. Appveyor) to make sure this works? Unfortunately I don't think there are currently tests for _site_libs other than integration tests.

generally speaking, pex doesn't claim or strongly desire windows support - my understanding is that it's essentially "best effort" via submission of PRs from interested contributors. with this said, I'm not sure it makes sense for us to add Appveyor at the moment without a stronger sense of ongoing Windows support ownership - hence the suggestion to simply mock out some of the windows conditions in test.

Added a couple of tests for site_libs. Let me know if that's what you had in mind.
I also managed to finally get all the tests to pass on windows (you can see the commits @ https://github.com/pantsbuild/pex/compare/master...mikekap:windows?expand=1 & the build @ https://ci.appveyor.com/project/mikekap/pex/build/1.0.33). I'll open another PR once this one goes in since the changes there are a bit larger.

ping :)

The Buck project would love to see these upstreamed so we can stop having a variety of changes to PEX in our codebase :)

lgtm, thanks @mikekap!
will you guys need a pypi release to consume this or are you vendoring?


Cleanup

I tried to add a bit of consistency and remove unused or unnecessary lines of code. I hope this helps a bit.

Wow! @tuexss it seems you are deeply inspect this code and fix bunch of different typos and logic issues! Now it looks much healthy! :gem:
Thanks a lot! :+1:

Yes, i'm also quite new in ruby. Thanks for the merge!


Struggling to setup GA tags

I've added my GA tracking ID to my own config.toml but it seems that GA is not picking it up...any ideas?

Heads up the favicon if statement in the partial head.html is blocking the generation of the ga tag if it is not enabled.

@chhudson Thank you for reporting this with the fix in PR #7
It has been merged in master :)


Icons missing for some reasons

Icons not showing anymore https://main--sunstar--hlxsites.hlx.live/research

@sdmcraft

@sdmcraft Seems it's related to #502, shall we rollback it?


Script running but abort upload

Hi there!
Finale I got the script running with some adjustments but is actually not backing anything up because it aborts the data upload.
INFO: Backing up /var/lib/vz/dump/vzdump-lxc-500-2024_04_26-16_41_15.tar.zst to remote storage
INFO: rcloning /mnt/onedrive//rclone/2024/04/26
INFO: 2024/04/26 16:42:27 INFO  :
INFO: Transferred:   	   61.809 MiB / 630.206 MiB, 10%, 981.214 KiB/s, ETA 9m53s
INFO: Transferred:            0 / 1, 0%
INFO: Elapsed time:       1m0.5s
INFO: Transferring:
INFO:  *    vzdump-lxc-500-2024_04_26-16_41_15.tar.zst:  9% /630.206Mi, 981.227Ki/s, 9m53s
INFO: 2024/04/26 16:43:27 INFO  :
INFO: Transferred:   	  113.512 MiB / 630.206 MiB, 18%, 913.992 KiB/s, ETA 9m38s
INFO: Transferred:            0 / 1, 0%
INFO: Elapsed time:       2m0.5s
INFO: Transferring:
INFO:  *    vzdump-lxc-500-2024_04_26-16_41_15.tar.zst: 18% /630.206Mi, 914.023Ki/s, 9m38s
What could it be?
Space is a lot given on my onedrive

Looks like it is solved. My storage bas bumped because of all trials I did. var/tmp was packed with aborted uploads. Erased all unnecessary files and works like charm.


Allow multi-variable assignment

Instead of
temp <- a;
a <- a + b;
b <- temp;
x <- x - 1;

we should allow
temp, a, b, x <- a, a+b, temp, x-1;

#65


(fix): ensure Babel presets are merged

previously, if preset-env were not found in the user's presets,
their presets would be overwritten by a single preset-env entry

now it properly merges their presets with an entry for preset-env

Fixes #443
I think this is good, but still need to create a test set-up for custom Babel configs. This requires installing some dependencies for automated tests. The withConfig tsdx.config.js fixture also requires installing some deps for automated tests and is currently a manual test (which means it isn't tested frequently -- I haven't tested it once in all my PRs), so would like to get that to be auto too.

#481 was created to follow-up on the lack of test set-up here.
#627 added integration tests with a Babel fixture and a regression test was added there to ensure that Babel presets are merged


[compiler] Strange sign-extension error

I don't know what's going on in #971

it's because it was using the data field of vector4w which i changed the signs of


Add a GUI to make the application more user-friendly

Should look into making a GUI, possibly using electron, to make the application more user-friendly. At the moment it only supports CLI, which the non-tech-savvy won't be able to use very well.

tbh i feel like this should probably be in a separate repo


:straight_ruler: Allow full-width TOC when sidebar is useable

Presently, the TOC is always trimmed to the page length, in full-width OR narrow displays:

Wide:

Narrow

This PR tweaks the computation to detect when the "wide" media query is true/false:

Wide:

Narrow:

I think there might be some overflow problems, but I don't think they're caused by this PR.

This PR bumps each package as a patch change. Is that right? Technically we're now exporting two new things from ui/providers.

Note: I want to generalise the TOC sidebar into a primary sidebar, but that's more work.

Where is the footer coming from in the UI?

Where is the footer coming from in the UI?

Oh, haha, I appended it to the dom during testing. It only matters presently for the mystmd website.

This is now done!

@stevejpurves I rebased this on main, would you be able to confirm it still behaves as expected on mystmd.org?

rebased again, review in progress locally... having to update mystmd.org on some orthogonal changes that have happened whilst this PR has been alive...

all looks good, sorry for the lengthy review cycle!


No downloads/releases anymore?

It seems like all downloads/releases are gone. The readme points to https://github.com/jamiebullock/LibXtract/downloads but that says there aren't any downloads. Since there are also no tags set there are no releases to download anywhere :)
Was this a deliberate change or an accident?

Hi, I probably need to update the README...
I haven’t done any releases because it’s very easy to include LibXtract in a project by just dragging the sources in. It should also be straightforward to build on most systems using the Makefile.
Are you looking for a build for a specific platform or reason?

Thanks for the explanation!
I came here because of a QA issue for the gentoo package for LibXtract (https://github.com/gentoo/gentoo/tree/master/media-libs/libxtract) where the source URL for LibXtract 0.6.6 gave a 404 and I wanted to fix that :)
Are you open to doing releases? Even a git tag is enough actually as long as you use GitHub because that gets us a free downloadable tarball.


SNI - DNS can't run

I will get following error message, when I try using sni.
sslsplit -D -l connections.log -j /tmp/sslsplit/ -S /tmp/sslsplit/logdir/ -c /tmp/sslsplit/ca.crt -k /tmp/sslsplit/ca.key -W /tmp/sslsplit/gendir/ -P https <IP_ADDRESS> 8443 sni 443
... (See logfile)
Active events:
[warn] Unable to seed random number generator; DNS can't run.
Failed to create dnsbase 0
Failed to start thread manager
Received privsep req type 00 sz 1 on srvsock 12
Received privsep req type 00 sz 1 on srvsock 14
Received privsep req type 00 sz 1 on srvsock 18
Child pid 83769 exited with status 1

Version:
0.5.5-1+b1
System:
Linux kali 5.3.0-kali2-amd64 #1 SMP Debian 5.3.9-3kali1 (2019-11-20) x86_64 GNU/Linux
IPTables:
sysctl -w net.ipv4.ip_forward=1iptables -t nat -F
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443
error.sslsplit.log

We call evdns_base_new(), which calls evutil_secure_rng_init(), which in turn calls arc4random(). arc4random() is the function that fails with the warning "Unable to seed random number generator; DNS can't run." in the logs you have. I can't tell why it fails on your system, but not on Kali 2019.3 I have here.

Not sure if this was your problem, @SciLor, but I was having the exact same problem. For me I discovered that arc4random() was trying to read from /dev/urandom, but since I was chrooted and I hadn't included /dev/urandom in my chroot, this was failing. My solution was to stop chrooting (i.e. remove the -j option), but presumably you could include /dev/urandom in the chroot directory to solve this as well.
Hopefully that's helpful for someone, sslsplit has been very useful to me.


formatting

Looks like CI is failing?

Yeah, rustfmt broke stdsimd, again.
See: https://github.com/rust-lang-nursery/rustfmt/pull/2693
Basically rustfmt tests that formatting something is indempotent, that is, that if you format something twice you get the same results that if you format something once. But it doesn't really test that the code after the formatting actually compiles.
I'm clossing this until the issue is resolved upstream.


[WFLY-17466] Various AsciiDoc issues

Fixes https://issues.redhat.com/browse/WFLY-17466

Thanks @boris-unckel


Celo Governance Call 12

Celo Governance Call 12

When: September 23rd, 2021. 12 PM ET / 9 AM PST 60 minutes max
Where: Celo Zoom Event (Instructions on joining found in the calendar event below)
Meeting ID: 892 5154 2357
Calendar Event: Add to your calendar here
Agenda

CGP-38: The Celo Ecosystem Treasury

Please post all relevant proposals below that should be discussed and evaluated

Governance Call 12 Video https://youtu.be/ecqAUeTsY-Y

Hey all, please see here for notes from Thursday's call: Celo Governance Call #12_2021.09.23.pdf


Wrong locale redirection

Hi!
Thank you very much for this crate. I'll give as much context as possible.
With this being my i18n config:
watch-additional-files = ["locales"]

[package.metadata.leptos-i18n]
default = "fr"
locales = ["fr","nl","en"]
namespaces = ["common", "home"]

And this my route config:
<Routes fallback=|| "Page not found.".into_view()>
    <I18nRoute view=|| view! { <Outlet />} >
        <Route path=StaticSegment("") view=HomePage/>
    </I18nRoute>
</Routes>

When I type /nl in my browser it immediately redirects to /en while I would expect the Locale segment in the path to have priority (except when there is a cookie?)
Additional info:

It is not linked to cookies because removing an existing cookie (which was set by the lib to en) or the entire cookie feature doesn't change anything
My browser is set with as request header Accept-Language en-GB,en;q=0.5

I use the current main branch in my Cargo.toml:
leptos_i18n = { git = "https://github.com/Baptistemontan/leptos_i18n.git", rev = "b845a8c", default-features = false, features = ["nightly","track_locale_files","json_files"] }
This is set on a new project and fetching the translations works well.

I did a very simple reproduction:
use crate::i18n::*;
use leptos::prelude::*;
use leptos_router::{components::*, StaticSegment};

#[component]
#[allow(non_snake_case)]
pub fn App() -> impl IntoView {
    leptos_meta::provide_meta_context();

    view! {
        <I18nContextProvider>
            <Router>
                <Routes fallback=|| "Page not found.".into_view()>
                    <I18nRoute view=|| view! { <Outlet />} >
                        <Route path=StaticSegment("") view=HomePage/>
                    </I18nRoute>
                </Routes>
            </Router>
        </I18nContextProvider>
    }
}

#[component]
fn HomePage() -> impl IntoView {
    let i18n = use_i18n();

    move || i18n.get_locale().as_str()
}

using the configs you gave me, and I'm not able to reproduce your issue, I even tried different browsers too.
Yes an explicit segment does have the priority over everything, the Accept-Language header is only relevant when no locale segment is present

I forgot to ask, is this CSR or SSR ? I only tried CSR

Yes, that's what I read in the book as well. I'm using SSR with leptos 7rc1 and running cargo leptos watch.

I'm able to reproduce the bug with SSR, I'll fix it ASAP, Thx for reporting the issue !

What is happening is that the client use the "lang" attribute to know what locale the server computed, but that attribute is rendered before the children, so any chnages to the locale will not reflect, meaning that the locale computed by the router, which is a children of the Provider, is lost afterward. This is easily fixd by simply rendering the "lang" attribute after the children.

I'll be pushing a new release very soon for leptos 0.7.0-rc1, it will contain the fix, for the timebeing you can use the latest commit on main

I just released v0.5.0-rc1 with the fix vhttps://github.com/Baptistemontan/leptos_i18n/releases/tag/v0.5.0-rc1

That's awesome, thanks for the explaination and the quick fix !


manyToMany findBy : No associative Table

Hey,
When i try to user findBy with an association, sql throw an error.
Framework: SF 4
SQL : MariaDB
See my config:
App\Entity\Plant:
  type: entity
  manyToMany:
    concretes:
      targetEntity: Concrete
      inversedBy: plants
      joinTable:
        name: plant_concrete
        joinColumns:
          plant_id:
            referencedColumnName: id
        inverseJoinColumns:
          concrete_id:
            referencedColumnName: id
      cascade: ["persist", "remove"]

App\Entity\Concrete:
  type: entity
  manyToMany:
    plants:
      targetEntity: Plant
      mappedBy: concretes
      cascade: ['persist']

$this->getDoctrine()->getRepository(Plant::class)->findBy(['concretes' => 'aaaaa']);

(3/3) InvalidFieldNameException
An exception occurred while executing 'SELECT t0.id AS id_1, t0.uuid AS uuid_2, t0.name AS name_3, t0.deleted AS deleted_4, t0.contact_mail AS contact_mail_5, t0.contact_last_name AS contact_last_name_6, t0.contact_first_name AS contact_first_name_7, t0.contact_phone AS contact_phone_8, t0.created_at AS created_at_9, t0.updated_at AS updated_at_10, t0.address_id AS address_id_11 FROM plant t0 WHERE plant_concrete.concrete_id = ?' with params ["aaaaa"]:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'plant_concrete.concrete_id' in 'where clause'

If you need more informations, i'm ok (:
BR.
GuigZ-

@GuigZ- filtering over to-many associations with findBy is not supported: this API is onlyy intended for fetching over fields and to-one associations.
Implementing this feature would also not make sense, because findBy(['potatoes' => ['yellow', 'brown']]) doesn't semantically make sense: do we find something where the association is exactly matching those identifiers, or do we match something that contains only one of the identifiers? What about findBy(['potatoes' => []])?
Closing as invalid.

For example, i want to get all plants with assoc concrete_id is X.
I know, i can create a query builder, but in my case i want that will be is dynamic.

@GuigZ- that should work as long as the association is a to-one

See https://github.com/doctrine/doctrine2/blob/374e7ace49d864dad8cddbc55346447c8a6a2083/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php#L2868-L2872

@Ocramius,
Why TO ONE ? One plant should be associated with many concretes and concretes should be associated with many plants.
Is not to one..

All I'm saying is that findBy can only ever work with to-one associations.

Ah okay, but why the association table is use in the sql query ?
I'm not override dbal or other.

All I'm saying is that findBy can only ever work with to-one associations.

I've stumbled across this issue too, with the very same use-case and did some research in the doctrine sources. It looks like all the logic needed is already there, it's just that the generated query is missing the join to the related table.
Here the SQL for the join is generated, if association data is passed (which it isn't, when called from EntityRepository::findBy). But the association data needed is available at that point, so I put this right after the aforementioned if statement:
if ($assoc == null) {
    foreach (array_keys($criteria) as $field) {
        if (isset($this->class->associationMappings[$field])) {
            $association = $this->class->associationMappings[$field];
            if ($association['type'] == ClassMetadata::MANY_TO_MANY) {
                $joinSql .= $this->getSelectManyToManyJoinSQL($association);
            }
        }
    }
}

and behold, it works (at least for my use-case).
@Ocramius
I know it's far from elegant, but would this be worth further investigation and maybe a PR, or do you see any problems with this approach at first glance?


Password validation required

Currently in the sign up and sign in forms, there are no validations performed to ensure that the created passwords are strong enough.
Maybe add some validations using zod both in client side and the server side to ensure users have a strong password which are difficult to brute force.

Thank you @moyezr. This would be a great security feature.
Since, it deals with dummy money I didn't add Zod validations thus increasing development time.
Would be nice if you would like to contribute.

Do it yourself. :)


Backport fixes

This PR backports the fixes for #3412 (from #3413) and #3470 (from #3474). In addition this PR reintroduces two functions removed by #3474 for backward compatibility reasons. (We promised to only remove/change functions marked as "i-implement-a-third-party-backend-and-opt-into-breaking-changes" in minor releases, not in patch releases)

@diesel-rs/core I propose to release this as diesel 2.0.3 to unblock the usage of diesel 2.0 in the crates.io codebase.

LGTM.
Do we have a 2.1 branch already on which we could revert https://github.com/diesel-rs/diesel/pull/3486/commits/96e8902fa95a039a00f369c4debcc3a29c1ac323 so as to not forget it?

Do we have a 2.1 branch already on which we could revert https://github.com/diesel-rs/diesel/commit/96e8902fa95a039a00f369c4debcc3a29c1ac323 so as to not forget it?

The master branch will become the 2.1 branch at some point in time. I normally try to land everything on master first and then backport certain fixes to one or more release branches. Version bumps + changelog entries are then picked to the master branch as well. That should prevent 96e8902fa95a039a00f369c4debcc3a29c1ac323 from going into a 2.1 release.


[Feature] Develop web-based cookbook using existing Jupyter notebooks

Summary
This PR converts our existing Jupyter notebook-based cookbook to a web-based format. The conversion improves accessibility and makes it easier for users to navigate and use the cookbook content online.
Related issue: https://github.com/UpstageAI/cookbook/issues/38.
Local Setup
To run this project locally:

pip install -r requirements.txt
Start the local server: reflex run
Open your browser and visit: http://localhost:3000

Testing
The converted cookbook is currently deployed for testing at:
https://upstage-cookbook-dev.reflex.run/
Note on Test Environment
The testing URL will be decommissioned once this PR is either merged or closed.

This looks good, but unfortunately, it has conflicts. Can you address them? I will quickly review and commit.

Thanks for your comments, @hunkim. I've resolved all the conflicts. I also made some changes to a few notebooks to pass the linter check, and there are some minor changes due to a folder structure update.

BTW I have a suggestion. How about changing the folder structure like this?
.
├── LangGraph-Self-RAG
├── Solar-Fullstack-LLM-101
│   ├── pdfs
│   ├── figure
│   └── ...
├── aws
│   └── jumpstart
│       └── ...
├── data
│   └── ...
├── {some thing new folder name}
│   ├── financial_analysis.ipynb
│   ├── function_calling.ipynb
│   ├── how_to_count_token.ipynb
│   ├── llamaindex_rag.ipynb
│   └── upstage.ipynb
├── web
├── LICENSE
├── README.md
├── requirements.txt
├── ...
└── rxconfig.py


Datepicker is marked "ng-dirty" even when no changes are made to its value

I have a form in my application that checks if there are any fields dirty and notifies the user when he leaves before saving it.
I noticed that the notification popped up even when no changes are made on the form.
Then I found out that frte-datepicker is getting marked "ng-dirty" by angular.

@rpussente Now you can close this issue and then release a new version. Thks!


Add clarity to density test

https://github.com/GoogleCloudPlatform/kubernetes/issues/10282

For the reference see also #10345 - the explanation from there is related to this one.

can't merge--rebase please?

@quinton-hoole lets wait for https://github.com/GoogleCloudPlatform/kubernetes/pull/10313 to avoid another merge conflict (since you're the reviewer of both)

minor optional nits in feedback.  LGTM. Will wait for #10313 to merge before marking this ok-to-merge.

Still blocked on @dchen1107 or @lavalamp to review a small amount of kubelet code in #10313

Dependent pr is in, I've reabased, this only modifies a test so it should be low risk.

@k8s-bot ok to test

ok-to-merge


Adding additional fields to the forms & other minor changes

Summary | Résumé
Closes #149
Closes #145.
Closes #142
Closes #143
Closes #153
Changes made:

Added new fields (currency, units, duration, frequency and comments) to the forms
Links on the main pages now open on new tabs
Modified the unit tests to account for the new fields.
Fixed up some missing translations.

Fixed up the Timezone warning in this ticket as well as reported by @gcharest


HHH-18894  Hibernate 6.6 enum literal is considered field literal instead

See Jira issue HHH-18894 and original post
Exception is thrown when enum constant is used as column in select if enum class is not referenced by any managed class.
Proposed solution is to treat non-managed class in equivalent way as are treated managed enum classes.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license
and can be relicensed under the terms of the LGPL v2.1 license in the future at the maintainers' discretion.
For more information on licensing, please check here.

Why should be reviewing this one? @beikov ?


delete obsolete image and repository pdhstagingdtc:v1.0.0

Problem statement
Container registry pdhstagingconerregistry, repository pdhstagingdtc contains obsolete (and presumably unused) image pdhstagingdtc tagged v1.0.0, created 12/7/2021, 4:01 PM EST
Please verify that image and repository are unused and:

[ ] Delete image pdhstagingdtc (sha256:52286bc946fe4a4a98bc49cbd9db9e817280d4769501ed9d1c81a7b6120cc3e5}
[ ] Delete tag v1.0.0
[ ] Delete repository pdhstagingdtc

What you need to know
[Links to documents, workflows, or list of key people and contact info]

Document 1
Document 2
...

Acceptance criteria

[ ] ...

To do

[ ] ...

This image still needs to go:

@snesm Image has been removed.


Future of this module

I haven't been paying this code the attention it deserves. The issues and PRs have built up to the point where there are lots of duplicates and stale issues.
The code is pretty much in maintenance mode - I'm not looking to add new features etc. But if there are bugs, we should get them fixed.
My rough plan is:

Identify a minimal set of PRs needed to address the most common issues - compiler warnings etc
Close off all 'old' issues and PRs
Publish a new version of the module
Update the README to reflect the general 'maintenance' mode of this module

Just wanted to mention that this is the best library around for pub/sub. It is very useful and I am grateful that you are still willing to maintain it. Thanks for the great work!

I scanned all the PR's and would approve to integrate the following fixes:

All the same, would take the first/oldest: #788, #826, #899, #1005 or #1031
IMPORTANT #783 - closes #747, #1020, #745
#1038
#1029
#1001 - if @feedehc accepts my suggestion (or you do it)
#993, #863 can be closed with this as well
#844
#605
#567 - closes #901, #314

This is potentially worth checking for integration (not adding new features):

#1026
#966
#840
#835
#830
#768

would it make sense to create an organization and assign several maintainers instead? This is the best MQTT client for Arduino and ESP as far as I know, would be a shame to slowly put it to rest

I merged almost all patches above, except #1026 and #835 into
https://github.com/hmueller01/pubsubclient/tree/dev-fixes
If you like you can test it. I tested this on ESP8266 and found no issues til now.
Not sure if #768 works on all platforms, as it uses printf which is not defined in default Arduino

@hmueller01 I'm trying out your changes on some of my deployed devices (the non-critical ones at least). I'll let you know if I run into any bugs related to the merged updates.
@kamiKAZIK I too would love to see some form of a community support moving forward if @knolleary is on board. I've used this lib under the hood on essentially every MQTT based project I've done over the years and would love to give back. I would be happy to join with a group of like minded folks who want this library to live on and continue developing it!

I suggest using Issue template like this to clean up issues that do not need any updates to the library

I've been a maintainer for a handful of projects, Arduino and related, for a bunch of years now. If there's interest I can lend a hand when I can.

Would it make sense to align with https://github.com/thingsboard/pubsubclient
For my understanding TB maintains the most advanced fork of this project

Hello @knolleary , is it possible to give me or someone else access to this repo? It's really sad that this good library is not maintained any more.


can not specify my git repository name in git_remote_url

Description of problem
I want to set the github-action, but always tell me git repository not appear.
I already set git repository on dokku and also set git remote url in local.
The CICD works well, so I think I might make something wrong on yaml
How reproducible
My yaml setting is below
---
name: 'deploy'

on:
  push:
    branches:
      - master

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Cloning repo
        uses: actions/checkout@v2
        with:
          fetch-depth: 0

      - name: Push to dokku
        uses<EMAIL_ADDRESS>        with:
          git_remote_url<EMAIL_ADDRESS>
          review_app_name: amber2                                   # fatal: '/amber2' does not appear to be a git repository
          ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }}

{dokku.ml} is my domain for dokku.
{<IP_ADDRESS>} is my dokku server ip.
Actual Results

set the git_remote_url as 'ssh://dokku@dokku.ml:22/amber2', and response

fatal: '/amber2' does not appear to be a git repository

set the git_remote_url as 'ssh://dokku@dokku.ml:amber2', and response

fatal: Bad port 'amber2'

set the git_remote_url as<EMAIL_ADDRESS>and response

fatal<EMAIL_ADDRESS>does not appear to be a git repository

set the git_remote_url as 'dokku@<IP_ADDRESS>:22/amber2', and response

fatal: '22/amber2' does not appear to be a git repository

set the git_remote_url as 'dokku@<IP_ADDRESS>:amber2', and response

Bad port 'amber2'

Expected Results
The repository should correct set on dokku.
I think I do something wrong when I write the yaml.
Environment Information
git information
dokku@dokku:~$ dokku git:report amber2
=====> amber2 git information
       Git deploy branch:             master
       Git global deploy branch:      master
       Git keep git dir:              false
       Git rev env var:               GIT_REV
       Git sha:
       Git last updated at:

dokku report amber2 output
dokku@dokku:~ $ dokku report amber2
-----> uname: Linux dokku 5.8.0-1038-gcp #40~20.04.1-Ubuntu SMP Thu Jul 15 11:55:03 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
-----> memory:
                     total        used        free      shared  buff/cache   available
       Mem:           1983        1023         172          16         788         789
       Swap:             0           0           0
-----> docker version:
       Client: Docker Engine - Community
        Version:           20.10.7
        API version:       1.41
        Go version:        go1.13.15
        Git commit:        f0df350
        Built:             Wed Jun  2 11:56:38 2021
        OS/Arch:           linux/amd64
        Context:           default
        Experimental:      true

       Server: Docker Engine - Community
        Engine:
         Version:          20.10.7
         API version:      1.41 (minimum version 1.12)
         Go version:       go1.13.15
         Git commit:       b0f5bc3
         Built:            Wed Jun  2 11:54:50 2021
         OS/Arch:          linux/amd64
         Experimental:     false
        containerd:
         Version:          1.4.9
         GitCommit:        e25210fe30a0a703442421b0f60afac609f950a3
        runc:
         Version:          1.0.1
         GitCommit:        v1.0.1-0-g4144b63
        docker-init:
         Version:          0.19.0
         GitCommit:        de40ad0
-----> docker daemon info:
       Client:
        Context:    default
        Debug Mode: true
        Plugins:
         app: Docker App (Docker Inc., v0.9.1-beta3)
         buildx: Build with BuildKit (Docker Inc., v0.5.1-docker)
         scan: Docker Scan (Docker Inc., v0.8.0)

       Server:
        Containers: 8
         Running: 5
         Paused: 0
         Stopped: 3
        Images: 49
        Server Version: 20.10.7
        Storage Driver: overlay2
         Backing Filesystem: extfs
         Supports d_type: true
         Native Overlay Diff: true
         userxattr: false
        Logging Driver: json-file
        Cgroup Driver: cgroupfs
        Cgroup Version: 1
        Plugins:
         Volume: local
         Network: bridge host ipvlan macvlan null overlay
         Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
        Swarm: inactive
        Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
        Default Runtime: runc
        Init Binary: docker-init
        containerd version: e25210fe30a0a703442421b0f60afac609f950a3
        runc version: v1.0.1-0-g4144b63
        init version: de40ad0
        Security Options:
         apparmor
         seccomp
          Profile: default
        Kernel Version: 5.8.0-1038-gcp
        Operating System: Ubuntu 20.04.2 LTS
        OSType: linux
        Architecture: x86_64
        CPUs: 2
        Total Memory: 1.937GiB
        Name: dokku
        ID: NX5U:4USB:H5U6:4B6C:L3RZ:3Q3Y:S7CX:2V5W:EM6F:GTWM:L3LP:6HSH
        Docker Root Dir: /var/lib/docker
        Debug Mode: false
        Registry: https://index.docker.io/v1/
        Labels:
        Experimental: false
        Insecure Registries:
         <IP_ADDRESS>/8
        Live Restore Enabled: false

-----> git version: git version 2.25.1
-----> sigil version: 0.6.0
-----> herokuish version:
       herokuish: 0.5.29
       buildpacks:
         heroku-buildpack-multi     v1.0.0
         heroku-buildpack-ruby      v228
         heroku-buildpack-nodejs    v185
         heroku-buildpack-clojure   v87
         heroku-buildpack-python    v197
         heroku-buildpack-java      v69
         heroku-buildpack-gradle    v35
         heroku-buildpack-scala     v90
         heroku-buildpack-play      v26
         heroku-buildpack-php       v195
         heroku-buildpack-go        v153
         buildpack-nginx            v14
         buildpack-null             v3
-----> dokku version: dokku version 0.24.10
-----> plugn version: plugn: 0.6.1
-----> dokku plugins:
         00_dokku-standard    0.24.10 enabled    dokku core standard plugin
         20_events            0.24.10 enabled    dokku core events logging plugin
         app-json             0.24.10 enabled    dokku core app-json plugin
         apps                 0.24.10 enabled    dokku core apps plugin
         builder              0.24.10 enabled    dokku core builder plugin
         builder-dockerfile   0.24.10 enabled    dokku core builder-dockerfile plugin
         builder-herokuish    0.24.10 enabled    dokku core builder-herokuish plugin
         builder-pack         0.24.10 enabled    dokku core builder-pack plugin
         buildpacks           0.24.10 enabled    dokku core buildpacks plugin
         certs                0.24.10 enabled    dokku core certificate management plugin
         checks               0.24.10 enabled    dokku core checks plugin
         common               0.24.10 enabled    dokku core common plugin
         config               0.24.10 enabled    dokku core config plugin
         cron                 0.24.10 enabled    dokku core cron plugin
         docker-options       0.24.10 enabled    dokku core docker-options plugin
         domains              0.24.10 enabled    dokku core domains plugin
         enter                0.24.10 enabled    dokku core enter plugin
         git                  0.24.10 enabled    dokku core git plugin
         letsencrypt          0.12.1 enabled    Automated installation of let's encrypt TLS certificates
         logs                 0.24.10 enabled    dokku core logs plugin
         network              0.24.10 enabled    dokku core network plugin
         nginx-vhosts         0.24.10 enabled    dokku core nginx-vhosts plugin
         plugin               0.24.10 enabled    dokku core plugin plugin
         postgres             1.12.0 enabled    dokku postgres service plugin
         proxy                0.24.10 enabled    dokku core proxy plugin
         ps                   0.24.10 enabled    dokku core ps plugin
         redis                1.15.0 enabled    dokku redis service plugin
         repo                 0.24.10 enabled    dokku core repo plugin
         resource             0.24.10 enabled    dokku core resource plugin
         scheduler-docker-local 0.24.10 enabled    dokku core scheduler-docker-local plugin
         shell                0.24.10 enabled    dokku core shell plugin
         ssh-keys             0.24.10 enabled    dokku core ssh-keys plugin
         storage              0.24.10 enabled    dokku core storage plugin
         tags                 0.24.10 enabled    dokku core tags plugin
         tar                  0.24.10 enabled    dokku core tar plugin
         trace                0.24.10 enabled    dokku core trace plugin
=====> amber2 app information
       App deploy source:
       App dir:                       /home/dokku/amber2
       App locked:                    false
=====> amber2 builder information
       Builder computed selected:
       Builder global selected:
       Builder selected:
=====> amber2 buildpacks information
       Buildpacks computed stack:     gliderlabs/herokuish:latest
       Buildpacks global stack:
       Buildpacks list:
       Buildpacks stack:
=====> amber2 ssl information
       Ssl dir:                       /home/dokku/amber2/tls
       Ssl enabled:                   false
       Ssl hostnames:
       Ssl expires at:
       Ssl issuer:
       Ssl starts at:
       Ssl subject:
       Ssl verified:
=====> amber2 checks information
       Checks disabled list:          none
       Checks skipped list:           none
=====> amber2 cron information
       Cron task count:               0
=====> amber2 docker options information
       Docker options build:
       Docker options deploy:         --restart=on-failure:10
       Docker options run:
=====> amber2 domains information
       Domains app enabled:           true
       Domains app vhosts:            amber2.dokku.ml
       Domains global enabled:        true
       Domains global vhosts:         dokku.ml
=====> amber2 git information
       Git deploy branch:             master
       Git global deploy branch:      master
       Git keep git dir:              false
       Git rev env var:               GIT_REV
       Git sha:
       Git last updated at:
=====> amber2 logs information
       Logs computed max size:        10m
       Logs global max size:          10m
       Logs global vector sink:
       Logs max size:
       Logs vector sink:
=====> amber2 network information
       Network attach post create:
       Network attach post deploy:
       Network bind all interfaces:   false
       Network web listeners:         <IP_ADDRESS>:5000
=====> amber2 nginx information
       Nginx access log format:
       Nginx access log path:         /var/log/nginx/amber2-access.log
       Nginx bind address ipv4:
       Nginx bind address ipv6:       ::
       Nginx client max body size:
       Nginx disable custom config:   false
       Nginx error log path:          /var/log/nginx/amber2-error.log
       Nginx global hsts:             true
       Nginx computed hsts:           true
       Nginx hsts:
       Nginx hsts include subdomains: true
       Nginx hsts max age:            15724800
       Nginx hsts preload:            false
       Nginx proxy buffer size:       4096
       Nginx proxy buffering:         on
       Nginx proxy buffers:           8 4096
       Nginx proxy busy buffers size: 8192
       Nginx proxy read timeout:      60s
       Nginx last visited at:<PHONE_NUMBER>
       Nginx x forwarded for value:   $remote_addr
       Nginx x forwarded port value:  $server_port
       Nginx x forwarded proto value: $scheme
       Nginx x forwarded ssl:
=====> amber2 proxy information
       Proxy enabled:                 true
       Proxy port map:                http:80:5000
       Proxy type:                    nginx
=====> amber2 ps information
       Deployed:                      true
       Processes:                     1
       Ps can scale:                  true
       Ps restart policy:             on-failure:10
       Restore:                       true
       Running:                       true
       Status web 1:                  running (CID: 5a2f3cf0e6f)
=====> amber2 resource information
=====> amber2 scheduler-docker-local information
       Scheduler docker local disable chown:
=====> amber2 storage information
       Storage build mounts:
       Storage deploy mounts:
       Storage run mounts:

How (deb/make/rpm) and where (AWS, VirtualBox, physical, etc.) was Dokku installed?:
I run the dokku on GCP.
Use command to install
 wget https://raw.githubusercontent.com/dokku/dokku/v0.24.10/bootstrap.sh
 sudo DOKKU_TAG=v0.24.10 bash bootstrap.sh

If there is anything else information I should provide,
please let me know, I will reply as soon as possible.
Thank you.

English is not my native language; please excuse typing errors.

Very late but I had this problem as well. The issue for me was that the repo is not located in "/" on the server.
If you're using the default setup then the git remote url should be something like:
ssh://dokku@IP:22/~/MYREPO
Note the ~ to use the home directory

@mskog This saved me. Thank you!

Can confirm the example-workflows/build-and-deploy.yml may require a change to work out of the box , needing the home page ~/ as @mskog describes.
To reproduce the issue I've created the following example repo with a corrected git_remote_url:
https://github.com/chrisjsimpson/dokku-action-deploy-minimal/blob/6c886c4cc2358343893c55aa001a9d1311698830/.github/workflows/deploy.yaml#L25
Where

DOKKU_HOST is the domain or ip of your dokku server (e.g. example.com or ip e.g <IP_ADDRESS>)
DOKKU_APP_NAME is the APP_NAME

Note it is also required to run dokku apps:create APP_NAME manually on the server before running the Github action.

@chrisjsimpson would you be willing to try a version that turned on debug mode so I can see what the exact ssh command is thats being executed? I can't ever seem to replicate this bug but others can.

@josegonzalez Sure I've contacted you out of bound with debug mode info :+1:

@skynocover please re-open this as it's still being looked at see comment from @josegonzalez

I've added a trace mode option to this action. If someone having this issue can post the output of trying the git_remote_url in the format ssh://dokku@dokku.myhost.ca:22/appname and set trace: 1 in their job step, that would be excellent. My guess is that somehow the parsing we do of the host is broken for some reason.
@chrisjsimpson can you retry sending it, I haven't had a chance to look as I've been sick over the past month :(

I ran into this problem as well. And as mentioned above, specifying the path as /~/appname works. Without it, here are some relevant snippets from the log (let me know if you need more):

ssh_remote=ssh://dokku@:22
[...]
log-info 'Pushing to Dokku Host'

git push --force ssh://dokku@:22/ :refs/heads/master

Pushing to Dokku Host
fatal: '/' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

Running that same command from the repo locally works.
I've seen another format: dokku@dokku.host:appname (i.e., git push dokku@dokku.host:appname). However, that one fails since the appname is treated as the port here.

log-info 'Generating SSH_HOST_KEY from ssh-keyscan against :'

ssh-keyscan -H -p

Generating SSH_HOST_KEY from ssh-keyscan against :
Bad port ''

Okay based on a question in discord, it seems like maybe the problem is that some of ya'll have bad entries in your /home/dokku/.ssh/authorized_keys file. For anyone that has the issue where they need to prefix their entry with ~/ or use a full path, can you check to see if there are any entries in the /home/dokku/.ssh/authorized_keys file that do not have a prefix of command=?
Each entry in /home/dokku/.ssh/authorized_keys must have that in order for Dokku's ssh handling to work, otherwise you are circumventing our ssh hook and thats why you need to use the full path (or something similar). The user on discord had their key twice, the first time without the command= prefix, and the second time with it. Once they removed the bad entry, things worked as expected.
If your SSH public key is only in there once and its only setup incorrectly, please add an ssh key as noted here instead of manually adding to that file.

I'm going to close this. I am pretty sure this is related to how folks are setting their SSH keys. If anyone sees this again, please file a new ticket.


possible regression in TLS protocols directive

1. What version of Caddy are you running (caddy -version)?
0.9.0
2. What are you trying to do?
upgrade from 0.8.3
3. What is your entire Caddyfile?
redacted.example.com {
  log stdout

  errors {
    log stderr
    404 index.html
  }

  # Provide an email for Automatic HTTPS.
  tls<EMAIL_ADDRESS>{
    # Remove tls1.0 and tls1.1
    # https://blog.varonis.com/ssl-and-tls-1-0-no-longer-acceptable-for-pci-compliance/
    # https://en.wikipedia.org/wiki/Template:TLS/SSL_support_history_of_web_browsers
    protocols tls1.2 tls1.2
  }

  # After this line, all other paths are relative to root.
  root /data

  ################################################################################
  # README!!
  #
  # Services to evaluate secure configuration include:
  #   https://www.htbridge.com/ssl/
  #   https://www.htbridge.com/websec/
  #   https://securityheaders.io/
  #   https://www.ssllabs.com/ssltest/analyze.html
  #
  # Other interesting references include:
  #   https://scotthelme.co.uk/still-think-you-dont-need-https/
  #   http://webpolicy.org/2015/08/25/att-hotspots-now-with-advertising-injection/
  ################################################################################

  rewrite {
    if {method} not GET
    status 405
  }

  header / {
    Content-Security-Policy "default-src 'self' ; block-all-mixed-content; reflected-xss block; report-uri https://redacted.report-uri.io/r/default/csp/enforce;"
    X-Frame-Options "SAMEORIGIN"
    X-Xss-Protection "1; mode=block"
    X-Content-Type-Options "nosniff"
    strict-transport-security "max-age=31536000; includeSubdomains"
    -Server
  }
}

4.  What did you expect to see?
https://www.htbridge.com/ssl/ test should show that only tls1.2 is supported.

6. What did you see instead (give full error messages and/or log)?
https://www.htbridge.com/ssl/ shows that tls1.0, tls1.1, and tls1.2 are supported

7. How can someone who is starting from scratch reproduce this behavior as minimally as possible?
run caddy on a host with automatic https on a site whose DNS name correctly maps to the public IP of the host. use the above caddy file. switch back and forth between caddy v0.8.3 (as packaged in Alpine Linux) and caddy v0.9.0 (downloaded from caddyserver.com)

Thanks for the report! That's what I get for neglecting tests...
Fixed on master; if you want this right now, go ahead and build from source.

tyvm!
🚀 ⭐


[Crash] on iPhone 4 iOS 7.0.4 FYI

DEVICE: iPhone 4
IOS VERSION: 7.0.4
Thread : Crashed: com.apple.main-thread
0  ???                            0x2beeb0c4
1  ???                            0x2beebf07
2  ???                            0x2beed69f
3  libdyld.dylib                  0x38ba80d0 dyld_stub_binder + 20
4  APP                     0x000f3281 __38+[BFTask taskForCompletionOfAllTasks:]_block_invoke (BFTask.m:102)
5  APP                     0x000f4521 __41-[BFTask continueWithExecutor:withBlock:]_block_invoke_2 (BFTask.m:287)
6  APP                     0x000f235d __29+[BFExecutor defaultExecutor]_block_invoke_2 (BFExecutor.m:43)
7  APP                     0x000f2795 -[BFExecutor execute:] (BFExecutor.m:107)
8  APP                     0x000f44af __41-[BFTask continueWithExecutor:withBlock:]_block_invoke (BFTask.m:284)
9  APP                     0x000f4331 -[BFTask continueWithExecutor:withBlock:] (BFTask.m:319)
10 APP                     0x000f4869 -[BFTask continueWithBlock:] (BFTask.m:326)
11 APP                     0x000f2f87 +[BFTask taskForCompletionOfAllTasks:] (BFTask.m:89)
12 APP                     0x0022544b -[PFTaskQueue enqueue:] (PFTaskQueue.m:42)
13 APP                     0x001e76a7 -[PFObject saveInBackground] (PFObject.m:1604)
14 APP                     0x0022303d -[PFInstallation saveInBackground] (PFInstallation.m:250)
15 APP                     0x0004c155 -[AppDelegate application:didRegisterForRemoteNotificationsWithDeviceToken:] (AppDelegate.m:159)
16 UIKit                          0x30d9a473 _UIXXRemoteNotificationRegistrationSucceeded + 150
17 UIKit                          0x30d9afe1 _XRemoteNotificationRegistrationSucceeded + 92
18 AppSupport                     0x31ae6a97 migHelperRecievePortCallout + 190
19 CoreFoundation                 0x2e2db9df CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION + 34
20 CoreFoundation                 0x2e2db97b __CFRunLoopDoSource1 + 346
21 CoreFoundation                 0x2e2da14f __CFRunLoopRun + 1398
22 CoreFoundation                 0x2e244c27 CFRunLoopRunSpecific + 522
23 CoreFoundation                 0x2e244a0b CFRunLoopRunInMode + 106
24 GraphicsServices               0x32f23283 GSEventRunModal + 138
25 UIKit                          0x30ae8049 UIApplicationMain + 1136
26 APP                     0x000510fb main (main.m:16)

@nlutsenko-fb Hi! We are getting the same crash on our app store version that was released today (where we added iOS 7 support) on a iOS 7.0.4 device. It works when running the same build (on the same device) locally and it works with the app store version on our iOS 7.1.2 device.
The crash occurs when starting the app, and we don't get any error logs in the device. It was the Parse crash reporter that managed to report one of the crashes. It's also Parse that use Bolts.
We would really appreciate any help.

We had this crash when application was compiled with iOS 7.0 deployment target, but Bolts framework was compiled as library with iOS 7.1 deployment target, so double check deployment target.

@pcholberg Thanks for replying. I've checked our deployment targets and the app has 7.0 as you say. I'm not sure where to see the Bolts deployment target though. If I check the Pods section and hit the Pods-APP-Bolts target, I still see Deployment target 7.0 under de deployment tab.
Any ideas?

Client hit this problem with 7.0.6 iOS version on the iPhone 5
The problem was that Podfile contained string platform :ios, '8.0', and deployment target was 7.0


Add Uncommon Patterns

Uncommon Patterns is the first full-feature cohesive generative Ordinal project that delves into Ordinal theory rarity. Through scalable vector graphics' turbulence filters, this simple yet output-diverse collection displays a chaotic approach to generative art.

This includes the full collection of 50 and a collection for the permanent on-chain SVG renderer, which is also inscribed on an uncommon sat.


Clean up the bindings APIs.

Add more documentation.
Make premature binding accesses have better runtime errors.
Make accesses to instance not required !.
Rationalize our "ensureInitialized" etc logic.

Fixes flutter#64830
Fixes flutter#78028
Most of these changes were done using dart fix --apply, but they have been squashed into one commit for easier merging.
To see previous reviews of this PR, see
flutter#83843,
flutter#86388,
flutter#86438, and
flutter#89451.
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt.
[ ] All existing and new tests are passing.

This is blocked on finding a way to migrate Google's code.

Gold has detected about 3 new digest(s) on patchset 3.
View them at https://flutter-gold.skia.org/cl/github/89451

Gold has detected about 2 new digest(s) on patchset 3.
View them at https://flutter-gold.skia.org/cl/github/89451

Gold has detected about 2 new digest(s) on patchset 3.
View them at https://flutter-gold.skia.org/cl/github/89451

Gold has detected about 2 new digest(s) on patchset 3.
View them at https://flutter-gold.skia.org/cl/github/89451

Gold has detected about 2 new digest(s) on patchset 3.
View them at https://flutter-gold.skia.org/cl/github/89451

Gold has detected about 5 new digest(s) on patchset 3.
View them at https://flutter-gold.skia.org/cl/github/89451

Gold has detected about 2 new digest(s) on patchset 3.
View them at https://flutter-gold.skia.org/cl/github/89451

Also linked flutter#78028 as being fixed by this

@goderbauer google3 is getting close to ready to receive this, would you mind stamping it one more time so that I can land it when it's ready?

There's no new major changes, it's all just the same mechanical changes being applied to new code.

This will need to wait for @dnfield's PR #92509 to roll into Google before it can be tested, if I understand correctly.


Find read replica for timescaledb single helm chart

We deployed timescaledb single helm chart with 2 timescaledb pods  -
% kubectl get pods -n timescaledb
NAME                                 READY   STATUS      RESTARTS   AGE
timescaledb-0                        2/2     Running     0          15d
timescaledb-1                        2/2     Running     0          15d

Time to time we see our app - hitting an error that "cannot execute INSERT a read only transaction"
We have a internal load balancer with a selectors:
app: timescaledb
role: master
Why is is trying to send db requests to timescaledb-1 ? is it because round robin of the load balancer and selectors?

any response on this?

So you're using your own, custom load balancer in order to route your requests?
Probably this is the issue, since I assume your load balancer does not know which timescale pod is currently the master.
TimescaleDB uses patroni in the background to manage the timescale cluster and route your request to the correct host. You might want to route your traffic via the deployed timescale service (see template svc-timescaledb.yaml ) instead of your custom load balancer.

hi @may-cDev - the problem is my application which is another pod is having issues connecting to the svc-timescaledb.yaml
in order for my app to connect (which is another pod)- do you suggest I use a NodePort or clusterIP?


Use Verify.Avalonia

@SimonCropp Can UsesVerify have conditional usage depending on Platform, sometime it's tricky to get font rendering right on Linux/macOS - see current PR fails now, added explicit FontFamily, hope it will help, but it's not always possible.

@SimonCropp Looks like I can use UniqueForOSPlatform()

@SimonCropp I have switched to mono font for all OSs and added separate png's for each OS. But now I get random failures using Verify

@SimonCropp it's not the issue with comparers, it runs ok on all local machines (macOS, Linux and Windows), it's issue running unit tests on CI where it randomly fails

@SimonCropp thanks for PR, merged!

out of curiosity. what method of snapshot management are you using? DiffEngineTray / Rider test runner support  etc?

out of curiosity. what method of snapshot management are you using? DiffEngineTray / Rider test runner support etc?

Manual one for now