Support the online correlator in the cli

We can support requesting the built-in correlations from the cli, so that it is not just an interface for direct python users. I'll need to look into how this is done elsewhere in janus.
We could have user composeable correlations using dicts?
--correlate {a: stress_xy, b: stress_xy, blocks: 1, points: 10, ...}
which should be easily translatable.
Or even things simply like
--vaf
but that may clash with post-process?

Questions

How can we handle correlator parameters for cli requested correlations? It looks like we can parse dicts from cli.
How far shall we go, do we want "high-level" things like the VAF, SAF (stress auto-correlation function) etc. or allow for more complex arguments like above so a user may compose observables together. Or both.

With a kwargs input as described above, is there anything we couldn't do, in general?
The only immediate limitation I can think of is of the observables, which I think will be limited to named functions that we look up, as we've discussed previously, but in theory anything that the function takes should be generally passable through (potentially nested) kwargs, shouldn't it?

We will have to limit to the named built-ins. It can all be done from parsing the kwargs there is no problem. Just this could lead to (powerful) but extremely long cli agrument inputs though e.g.
--correlation_kwargs "[{'a': ShearStress, 'b': ShearStress, 'name': 'shearstress', 'blocks': 4,  'points': 100, 'averaging': 2, 'update_frequency': 10}, {'a': Velocity, 'b': Velocity, 'name': 'vaf', 'blocks': 1,  'points': 5000, 'averaging': 2, 'update_frequency': 2}, ...]"
Looking at the cli examples most things are very simple, --arch mace_mp requires only a little explanation for example.
I suppose I'm asking is there any appetite for common shorthands?
That could be fraught with difficulties so maybe it is best left verbose. But E.g. if someones wants the VAF for 5 ps there could be some special option --vaf 5 or --vaf "{'max_lag': {5, 'units': 'ps'}}" or something. It could even maybe have an option to do post-process or online.
Max correlation lag is of course all controllable from the parameters blocks, points, averaging and update_frequency. And I suppose this complicates things more for cli users, so maybe I should not worry about it.
But looking at the cli examples most things are very simple, --arch mace_mp requires only a little explanation for example.
One thing that would help is perhaps sensible defaults for the parameters, which I assume can be done if the dict if partial, and also only needing to specify 'a': xxx for an auto-correlation.

We will have to limit to the named built-ins. It can all be done from parsing the kwargs there is no problem. Just this could lead to (powerful) but extremely long cli agrument inputs though e.g.
--correlation_kwargs "[{'a': ShearStress, 'b': ShearStress, 'name': 'shearstress', 'blocks': 4, 'points': 100, 'averaging': 2, 'update_frequency': 10}, {'a': Velocity, 'b': Velocity, 'name': 'vaf', 'blocks': 1, 'points': 5000, 'averaging': 2, 'update_frequency': 2}, ...]"

Is there an alternative? In theory I suppose you could create an interface for the observables that allows them to be passed via a tuple/list or something as well as their keywords, to simplify the input if you pass them in the correct order (along the lines of ("ShearStress", 'shearstress', 4, 100, 2, 10)), but if all of that information is needed, I'm not sure there's a way around something relatively complicated. A default name might be inferable though.

Looking at the cli examples most things are very simple, --arch mace_mp requires only a little explanation for example.
I suppose I'm asking is there any appetite for common shorthands?
That could be fraught with difficulties so maybe it is best left verbose. But E.g. if someones wants the VAF for 5 ps there could be some special option --vaf 5 or --vaf "{'max_lag': {5, 'units': 'ps'}}" or something. It could even maybe have an option to do post-process or online.
Max correlation lag is of course all controllable from the parameters blocks, points, averaging and update_frequency. And I suppose this complicates things more for cli users, so maybe I should not worry about it.
But looking at the cli examples most things are very simple, --arch mace_mp requires only a little explanation for example.
One thing that would help is perhaps sensible defaults for the parameters, which I assume can be done if the dict if partial, and also only needing to specify 'a': xxx for an auto-correlation.

I wrote the above before I read the rest of this... I think we can include shorthands/defaults where it makes sense, but I think at least for now they should be nested within correlation_kwargs. If, within correlation_kwargs, shorthands make sense, that's fine with me, but I can't think of anything that would make sense as a top level option that wouldn't also make sense within correlation_kwargs.
Ideally I think we want to be able to control as much as possible, as generally we end up coming back to add it later if we don't immediately, but that doesn't mean they all always need to be specified.
I think we also have to accept that this is inevitably more complicated than some other options, but yes defaults and shorthands might simplify some things.
I tend to unpack the dicts when they go to their relevant Python function, so none of them ever have to be complete at the moment - they almost provide a way to update defaults.


refactor: rewrite the site

Finished the rewrite.
Devs.html might still be unfinished, But will finish it later as it might not be as important as the main content of the site.

Closing this due to the privating of eZaR. Although it may be re-opened at some point, not sure.


Dashboard and user management

This PR adds functions for the dashboard and user management.
For dashboards the following functions were implemented:

listing of dashboards available to the user
getting dashboard ids by name
creating a dashboard with a list of dashboard items
getting the list of dashboard items of an existing dashboard
deleting one or multiple dashboards
sharing a dashboard
connecting a dashboard to a log

Functions for the user management:

creating a user (only works on cloud installations)
list organizations
updating user role and organization
listing all users
getting user info by id
deleting a user

In order to use the user management functions, admin privileges are necessary and for running the tests the token has to be supplied in the file admin_config.json in the tests folder. If the file does not exist, the user management tests are skipped.

As another comment I would try to name the tests for the files ./pylana/<name>.py ./tests/test_<name>.py/ for the user management unless there's a good reason not to. This makes life a bit easier. I already failed to do this with the semantics creation, so maybe we can change that name too with git mv ./test/test_create_semantics.py ./tests/test_utils.py (this way git will recognise the files as the same and keep the version history from before the renaming).

Thank you for your review @bosyk, I included your recommended changes in the last two commits. Unfortunately git doesn't seem to have kept the version history before the renaming of ./tests/test_users.py even though I used git mv.
Feel free to resolve the open conversations or add to them if more changes are necessary.

Thank you for your review @bosyk, I included your recommended changes in the last two commits. Unfortunately git doesn't seem to have kept the version history before the renaming of ./tests/test_users.py even though I used git mv.
Feel free to resolve the open conversations or add to them if more changes are necessary.

I wrote added some information to the test documentation and added a conftest.py to the repository root to ensure that pytest finds the code correctly.


[0.10.0rc1] panic in tsm1.Values.Deduplicate

Not sure if it's fixed on newer version because it didn't recur after I upgraded to 0.10.1, but might worth to have a quick check. I didn't find relevant previous issue.
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x38 pc=0x7ffdc1]

goroutine 671991 [running]:
github.com/influxdb/influxdb/tsdb/engine/tsm1.Values.Deduplicate(0xc2c56ba000, 0x20054b, 0x20054b, 0x0, 0x0, 0x0)
        /tmp/tmp.WXyOm7f2Na/src/github.com/influxdb/influxdb/tsdb/engine/tsm1/encoding.go:207 +0xf1
github.com/influxdb/influxdb/tsdb/engine/tsm1.(*Cache).merged(0xc25f12e460, 0xc2422e2690, 0x2c, 0x0, 0x0, 0x0)
        /tmp/tmp.WXyOm7f2Na/src/github.com/influxdb/influxdb/tsdb/engine/tsm1/cache.go:280 +0x6f5
github.com/influxdb/influxdb/tsdb/engine/tsm1.func·002(0x0, 0x0, 0x0)
        /tmp/tmp.WXyOm7f2Na/src/github.com/influxdb/influxdb/tsdb/engine/tsm1/cache.go:216 +0x8a
github.com/influxdb/influxdb/tsdb/engine/tsm1.(*Cache).Values(0xc25f12e460, 0xc2422e2690, 0x2c, 0x0, 0x0, 0x0)
        /tmp/tmp.WXyOm7f2Na/src/github.com/influxdb/influxdb/tsdb/engine/tsm1/cache.go:217 +0x178
github.com/influxdb/influxdb/tsdb/engine/tsm1.(*tx).Cursor(0xc2595e7880, 0xc2186e3c50, 0x21, 0xc23d2fa260, 0x1, 0x1, 0xc213a0dac0, 0xc23d2fa201, 0x0, 0x0)
        /tmp/tmp.WXyOm7f2Na/src/github.com/influxdb/influxdb/tsdb/engine/tsm1/engine.go:645 +0x147
github.com/influxdb/influxdb/tsdb.(*AggregateMapper).openMeasurement(0xc24b8ad950, 0xc20810fc00, 0x0, 0x0)
        /tmp/tmp.WXyOm7f2Na/src/github.com/influxdb/influxdb/tsdb/aggregate.go:690 +0x551
github.com/influxdb/influxdb/tsdb.(*AggregateMapper).Open(0xc24b8ad950, 0x0, 0x0)
        /tmp/tmp.WXyOm7f2Na/src/github.com/influxdb/influxdb/tsdb/aggregate.go:646 +0x6fb
github.com/influxdb/influxdb/tsdb.(*AggregateExecutor).openMappers(0xc24cfc0100, 0x0, 0x0)
        /tmp/tmp.WXyOm7f2Na/src/github.com/influxdb/influxdb/tsdb/aggregate.go:205 +0x9b
github.com/influxdb/influxdb/tsdb.(*AggregateExecutor).execute(0xc24cfc0100, 0xc2a24eb4a0, 0xc2a24eb3e0)
        /tmp/tmp.WXyOm7f2Na/src/github.com/influxdb/influxdb/tsdb/aggregate.go:70 +0x1ab
created by github.com/influxdb/influxdb/tsdb.(*AggregateExecutor).Execute
        /tmp/tmp.WXyOm7f2Na/src/github.com/influxdb/influxdb/tsdb/aggregate.go:48 +0x64

@fffw I haven't seen a report with that exact symptom. Did it happen more than once?
I did some work on a thread safety fix (#5701) that might explain the root cause of this issue since there were circumstances where a values slice servicing a query could be subject to unsynchronized updates from the compactor. It is just possible that issue might have resulted in memory being returned to the heap while it was still being accessed by a query and that could cause a symptom like the one you have reported.
This fix is in master but isn't in 0.10.1 so there is a possibility that this issue  could occur again.
Having said that, though, I don't think I have seen this particular stack trace before, so it could be a different issue.

I've seen 3 occurrences before upgraded to 0.10.1, so it could possibly recur. Oh 0.10.1 hasn't come up for 24 hours so it's too early to say if it will recur. I'll comment once that happens.
2016/02/26 17:37:56
2016/02/27 00:19:32
2016/02/28 03:36:47

From logs, the panic always followed below CQ (I turned off HTTP log so I don't know if there're writes in between), so I'll not be surprised if it's a thread safety issue.
[query] 2016/02/26 17:37:56 SELECT count(service) AS requests, min(service) AS resp_min, mean(service) AS resp_mean, percentile(service, 95.000) AS resp_95_percent, max(service) AS resp_max INTO heroku."1_year"."1s_router" FROM heroku."default".router WHERE time >= '2016-02-26T22:17:19Z' AND time < '2016-02-26T22:17:20Z' GROUP BY time(1s), app, status fill(none)

Was there any evidence of TSM compaction activity at around the time of the crash? e.g. a tsm.tmp in a subdirectory of data/ ?

Thanks @jonseymour ! No such entry shown in the log file. I'll check the .tsm.tmp files if it crashes the next time.

@fffw - would you happen to have the full stack trace of one of these events available? If so, I can probably tell from that whether the issue I was concerned about was a factor. Also, if you are in a position to build your own version of influx, I am happy to back port the thread safety fix onto the 0.10.1 maintenance branch, if you like.

@jonseymour Sent full trace to your gmail. Unfortunately I don't have a chance to build manually ATM.

@fffw - the existence of this stack trace is highly consistence with an occurrence of the thread safety issue I fixed with #5701. I am happy to back port the fix onto 0.10.1 so that if influxdata decide to push a 0.10.2 it can go in there. If you can tell me what platform you are running on, I am happy to build a binary influxd for that platform.  It's running on 64bit Ubuntu but I probably want to stick on 0.10.1 and see if it will crash again ^_^

@fffw ok, so I have done the back port. I have no idea if it will be accepted into an 0.10.2 branch and there may be good reasons not to. But, the code is there if anyone wants to use it.

Bang! Now I hit the bug on 0.10.1. Let me see if I can build a linux64 binary tomorrow. @jonseymour if you by chance is very convenient to build one, that would be very thankful!

@fffw ok, you have options:

wait until I have created a fix-only variant of #5858 which it looks might be accepted into 0.10.x
take the actual version I am running production myself (https://github.com/jonseymour/influxdb/commits/stable) that also contains some other fixes and the cache statistics enhancements.

@fffw the fixes have now been merged into the 0.10.0 branch, so I suspect you now have a 3rd option which is to wait some non-negative number of days for a 0.10.2 release.

@jonseymour Thank you for all the help and suggestions! I probably need to allocate more time to keep track of the progress in the future. I'll close this case if it doesn't recur for a few days after applying one of the options on my production environment.

I have the same issue too. It happened even everyday.  InfluxDB 0.10.1 is installed on centos 6.5   . The stack is as below:
[retention] 2016/03/01 14:42:12 retention policy shard deletion check commencing
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x38 pc=0x800ec1]
goroutine 13652003 [running]:
github.com/influxdb/influxdb/tsdb/engine/tsm1.Values.Deduplicate(0xc270538000, 0x152a, 0x152a, 0x0, 0x0, 0x0)
/tmp/tmp.n7AHL1nb9U/src/github.com/influxdb/influxdb/tsdb/engine/tsm1/encoding.go:207 +0xf1
github.com/influxdb/influxdb/tsdb/engine/tsm1.(*Cache).merged(0xc20e08a6e0, 0xc213d542a0, 0x6d, 0x0, 0x0, 0x0)
/tmp/tmp.n7AHL1nb9U/src/github.com/influxdb/influxdb/tsdb/engine/tsm1/cache.go:280 +0x6f5
github.com/influxdb/influxdb/tsdb/engine/tsm1.func·002(0x0, 0x0, 0x0)
/tmp/tmp.n7AHL1nb9U/src/github.com/influxdb/influxdb/tsdb/engine/tsm1/cache.go:216 +0x8a
github.com/influxdb/influxdb/tsdb/engine/tsm1.(*Cache).Values(0xc20e08a6e0, 0xc213d542a0, 0x6d, 0x0, 0x0, 0x0)
/tmp/tmp.n7AHL1nb9U/src/github.com/influxdb/influxdb/tsdb/engine/tsm1/cache.go:217 +0x178
github.com/influxdb/influxdb/tsdb/engine/tsm1.(*tx).Cursor(0xc2205a3908, 0xc20821bb90, 0x67, 0xc2fd66e9c0, 0x1, 0x1, 0xc20de80980, 0xc2fd66e901, 0x0, 0x0)
/tmp/tmp.n7AHL1nb9U/src/github.com/influxdb/influxdb/tsdb/engine/tsm1/engine.go:645 +0x147
github.com/influxdb/influxdb/tsdb.(*AggregateMapper).openMeasurement(0xc2356520f0, 0xc208bee7e0, 0x0, 0x0)
/tmp/tmp.n7AHL1nb9U/src/github.com/influxdb/influxdb/tsdb/aggregate.go:690 +0x551
github.com/influxdb/influxdb/tsdb.(*AggregateMapper).Open(0xc2356520f0, 0x0, 0x0)
/tmp/tmp.n7AHL1nb9U/src/github.com/influxdb/influxdb/tsdb/aggregate.go:646 +0x6fb
github.com/influxdb/influxdb/tsdb.(*AggregateExecutor).openMappers(0xc335830960, 0x0, 0x0)
/tmp/tmp.n7AHL1nb9U/src/github.com/influxdb/influxdb/tsdb/aggregate.go:205 +0x9b
github.com/influxdb/influxdb/tsdb.(*AggregateExecutor).execute(0xc335830960, 0xc21d13cc00, 0xc213b77ce0)
/tmp/tmp.n7AHL1nb9U/src/github.com/influxdb/influxdb/tsdb/aggregate.go:70 +0x1ab
created by github.com/influxdb/influxdb/tsdb.(*AggregateExecutor).Execute
/tmp/tmp.n7AHL1nb9U/src/github.com/influxdb/influxdb/tsdb/aggregate.go:48 +0x64
goroutine 1 [chan receive, 1264 minutes]:
main.(*Main).Run(0xc20803b700, 0xc20800a010, 0x4, 0x4, 0x0, 0x0)
/tmp/tmp.n7AHL1nb9U/src/github.com/influxdb/influxdb/cmd/influxd/main.go:96 +0x7a1
main.main()
/tmp/tmp.n7AHL1nb9U/src/github.com/influxdb/influxdb/cmd/influxd/main.go:46 +0xdc
goroutine 6 [syscall, 1264 minutes]:
os/signal.loop()
/root/.gvm/gos/go1.4.3/src/os/signal/signal_unix.go:21 +0x1f
created by os/signal.init·1
/root/.gvm/gos/go1.4.3/src/os/signal/signal_unix.go:27 +0x35
goroutine 35 [IO wait, 393 minutes]:
net.(*pollDesc).Wait(0xc208010370, 0x72, 0x0, 0x0)
/root/.gvm/gos/go1.4.3/src/net/fd_poll_runtime.go:84 +0x47
net.(*pollDesc).WaitRead(0xc208010370, 0x0, 0x0)
/root/.gvm/gos/go1.4.3/src/net/fd_poll_runtime.go:89 +0x43
net.(*netFD).Read(0xc208010310, 0xc208166000, 0x1000, 0x1000, 0x0, 0x7f3fec17dee8, 0xc313154df0)
/root/.gvm/gos/go1.4.3/src/net/fd_unix.go:242 +0x40f
net.(*conn).Read(0xc20802c020, 0xc208166000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/root/.gvm/gos/go1.4.3/src/net/net.go:121 +0xdc
net/http.noteEOFReader.Read(0x7f3fec186c38, 0xc20802c020, 0xc20806a108, 0xc208166000, 0x1000, 0x1000, 0xa6fdc0, 0x0, 0x0)
/root/.gvm/gos/go1.4.3/src/net/http/transport.go:1270 +0x6e
net/http.(*noteEOFReader).Read(0xc20813a100, 0xc208166000, 0x1000, 0x1000, 0xc2080c8000, 0x0, 0x0)
:125 +0xd4
bufio.(*Reader).fill(0xc20805d140)
/root/.gvm/gos/go1.4.3/src/bufio/bufio.go:97 +0x1ce
bufio.(*Reader).Peek(0xc20805d140, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
/root/.gvm/gos/go1.4.3/src/bufio/bufio.go:132 +0xf0
net/http.(*persistConn).readLoop(0xc20806a0b0)
/root/.gvm/gos/go1.4.3/src/net/http/transport.go:842 +0xa4
created by net/http.(*Transport).dialConn
/root/.gvm/gos/go1.4.3/src/net/http/transport.go:660 +0xc9f

@andybrier The fix for this #5858 has been merged into the 0.10.0 so I would expect that it will end up in a 0.10.2 release at some point in the not too distant future - I can't say when because I am not privy to that kind of detail.
If you would like an experimental build (completely unsupported by anyone but me!) that contains just the #5858 let me know by e-mail and I can send you a link where you can download the amd64 binary. Alternatively, just checkout the influxdb source tree at the relevant commit and build it yourself - it is pretty easy to do if you have docker installed.

@jonseymour  Thanks a lot.  I will send you an email for downloading the amd64 binary.  That's very kind of you :+1:

Run for 4 days without seeing panicking. Closing. Thanks for all the help @jonseymour

I got panic on same function many time. Starting influx service everyday.
OS: Linux
Tested versions: 1.3.5-stable, 1.3.6-stable
Panic:
[signal SIGSEGV: segmentation violation code=0x1 addr=0x80000ebc450 pc=0x9b14d9]
goroutine 2977573 [running]:
runtime.throw(0xb8a60b, 0x5)
/usr/local/go/src/runtime/panic.go:596 +0x95 fp=0xc429aa05f0 sp=0xc429aa05d0
runtime.sigpanic()
/usr/local/go/src/runtime/signal_unix.go:297 +0x28c fp=0xc429aa0640 sp=0xc429aa05f0
github.com/influxdata/influxdb/tsdb/engine/tsm1.Values.Deduplicate(0xc4222fc000, 0xae8, 0xe00, 0xc42e9ca000, 0xc421341058, 0xc42a16ef60)
/go/src/github.com/influxdata/influxdb/tsdb/engine/tsm1/encoding.gen.go:66 +0x99 fp=0xc429aa06c0 sp=0xc429aa0640
github.com/influxdata/influxdb/tsdb/engine/tsm1.(*entry).deduplicate(0xc420339a80)
/go/src/github.com/influxdata/influxdb/tsdb/engine/tsm1/cache.go:125 +0x86 fp=0xc429aa0700 sp=0xc429aa06c0
github.com/influxdata/influxdb/tsdb/engine/tsm1.(*Cache).Deduplicate.func1(0xc423d1a080, 0x72, 0xc420339a80, 0x0, 0x0)
/go/src/github.com/influxdata/influxdb/tsdb/engine/tsm1/cache.go:431 +0x2b fp=0xc429aa0718 sp=0xc429aa0700
github.com/influxdata/influxdb/tsdb/engine/tsm1.(*ring).apply.func1(0xc421e676b0, 0xbb0a58, 0xc426cbdec0, 0xc42055a600)
/go/src/github.com/influxdata/influxdb/tsdb/engine/tsm1/ring.go:160 +0xed fp=0xc429aa07c0 sp=0xc429aa0718


Correct release name mismatch in Stroom Proxy install HOWTO

Have a mismatch in Stroom Proxy release name as per the embolden release values

The following will gain the identified, in this case release 5.1-beta.3, Stroom Application software release from github, then deploy it. You should regularly monitor the site for newer releases.
sudo -i -u stroomuser
Prx=v5.1-beta.8
wget https://github.com/gchq/stroom-proxy/releases/download/${Prx}/stroom-proxy-distribution-${Prx}.zip
unzip stroom-proxy-distribution-${Prx}.zip

Corrected with PR #14


No DEFAULT PRIVILEGES for schemas

Postgres offers setting default privileges for schemas.
DBeaver doesn't show those settings (pgAdmin III does). Would be useful to get them at least in src tab

thanks for suggestion

Hello @michalk-k
In the latest DBeaver version,  we have such functionality:

Is this what you are looking for?

thank you for headsup.
From the first glance of what I see, there is missing a role for which defaults are created.
postgres applies default privileges only in context of role which issues creation of a new object. Only defaults defined for this role are applied.
for example:
ALTER DEFAULT PRIVILEGES FOR ROLE admin REVOKE EXECUTE ON FUNCTIONS FROM PUBLIC;
in example above, the revoke will be issued only if function is created by user named 'admin'
Syntax with missing FOR ROLE part substitutes creation for the current user (current for  the default creation, not current for applying default to newly created object).
So, if I issue the statement below while being logged with user 'michal'
ALTER DEFAULT PRIVILEGES REVOKE EXECUTE ON FUNCTIONS FROM PUBLIC;
the result will be equal to issuing
ALTER DEFAULT PRIVILEGES FOR ROLE michal REVOKE EXECUTE ON FUNCTIONS FROM PUBLIC;
tldr missing FOR ROLE in sqls generated by DBeaver, as well as missing role selector in default privileges GUI makes it effectively useless.
As a sidenote, right now I'm not sure a PUBLIC metarole might be used for  FOR ROLE part. I will be back with the answer a while later

I just run DBeaver to look at that...
Where should I look to verify the existence of default privileges? I mean this 'ALTER DEFAULT PRIVILEGES....` expression, or GUI for maintaining default privs.
I can see this "default privileges" string under Grant ALL/Revoke All buttons... but it does nothing.

And here we are again with this ticket: https://github.com/dbeaver/dbeaver/issues/11061
We do not have PUBLIC role support in PostgreSQL at the moment.

Where should I look, to verify the existence of default privileges?

You can check the permission of an object in the Permissions tab.
You can check the DDL for the role.
You can click on the container folder in the Permission Editor of the Role tab.

I've checked it again:
I issued the following statement
ALTER DEFAULT PRIVILEGES FOR ROLE sazky IN SCHEMA clients GRANT SELECT ON TABLES TO app_client;
ALTER DEFAULT PRIVILEGES FOR ROLE sazky IN SCHEMA clients GRANT SELECT ON TABLES TO public;

In Source pane I can see:
ALTER DEFAULT PRIVILEGES IN SCHEMA clients GRANT SELECT ON TABLES TO public;
ALTER DEFAULT PRIVILEGES IN SCHEMA clients GRANT SELECT ON TABLES TO app_client;

see image:

This resulting query is incomplete since it doesn't contain a role for which the default is created.
My original statements mean that the default grants will be applied only if new tables are created withing a session with the current user identified by "sazky" role.
The query shown in the Source pane creates defaults for a current role that issues the create table statements. This is a serious shortcomings, aka bug
In addition to that, the permissions pane doesn't show any defaults at all (in a place described as Default Privileges)

BTW Permissions without a public role supported have to be considered flawful/unreliable thus useless.


TabularMSA: consensus

From RFC:

consensus() -> IUPACSequence
Return majority consensus sequence matching alignment's dtype. Other
types of consensus may be added later.

Depends on #1100. I can do this after that.


Fix content type errors

This PR fixes problems we had before when handling requests like:
/accession/P12345.txt -> /accession/P12345 + "Accept: text/flatfile"
/search?query=protein&format=txt -> /search?query=protein + "Accept: text/flatfile"

In particular, this PR:

checks the requested format/extension is valid for the particular endpoint
that we can handle future endpoints that look like extensions but are not extensions, e.g., maybe we have an endpoint like, /coordinates/P00001/999.1. The logic written ensures it is not treated as an extension.
errors are handled appropriately.

The class that does the main logic is HttpServletRequestContentTypeMutator and the main test class that shows behaviour is, HttpServletRequestContentTypeMutatorIT.

We need to document the extension and format behaviour of the request

what extensions and formats we can use, and corresponding response

One more thing is that since MutableHttpServletRequest is based on UniProtKB request and response. I wonder we put HttpCommonHeaderConfig (which uses MutableHttpServletRequest) will have side-effect when this HttpCommonHeaderConfig configuration is applied to other REST API since REST APIs also called this configuraiton

One more thing is that since MutableHttpServletRequest is based on UniProtKB request and response. I wonder we put HttpCommonHeaderConfig (which uses MutableHttpServletRequest) will have side-effect when this HttpCommonHeaderConfig configuration is applied to other REST API since REST APIs also called this configuraiton

I put MutableHttpServletRequest inside common-rest module, and it is invoked by any REST API that uses HttpCommonHeaderConfig, so the behaviour it provides comes for free for all the services we have.

what extensions and formats we can use, and corresponding response

The extensions it accepts are the ones that are available in the end-point. I used some Spring classes to dynamically tell me which formats are valid for each request.

We need to document the extension and format behaviour of the request

Yes -- will need to do this somewhere?! I'll create a jira to add it somehow to the API documentation.


Do not resize text box when editing PR in the editor

Extension version:
VSCode Version: v0.95.2024082204 (pre-release)
OS: MacOS
Github Product (Github.com/Github Enterprise version x.x.x): Enterpise

Steps to Reproduce:

View github PR information in VSCode:

Click on the edit pencil
Box gets resized:

I think github.com does the same thing.


want to bold heading tag text for better appearence

Hey @Virtual4087 I want to bold text which in heading
Before

After

using simple html b tag will  you plz assign me this issue

Do it


docs: refactor installation

Signed-off-by: Bird<EMAIL_ADDRESS>Pre-Checklist
Note: please complete ALL items in the following checklist.

[x] I have read through the CONTRIBUTING.md documentation.
[x] My code has the necessary comments and documentation (if needed).
[ ] I have added relevant tests

Description

remove quickstart/quickstart.sh because it is duplicated with install/download.sh
use dtm show -t <template_name> to get the config template rather than downloading them from GitHub. So that we could avoid config template error caused by branch and we could unify the installation of quickstart and gitops
move install doc to the first level directory

Related Issues

New Behavior (screenshots if needed)

link ci error has nothing to do with me.


Option to add daemon results to database

Has there been any thought of including a flag in the cloudscan client that allows the user to specify a database (e.g. mongodb) to add the scan output to as opposed to printing it to standard out?
I have ran in to this use case and would be willing to help implement this feature if there is interest.
Thanks!

Turns out you guys had a solution for this all along! By taking advantage of the log_fluent module and the mongoDB plugin for fluentd (https://github.com/fluent/fluent-plugin-mongo) I ended up with exactly the behavior I was looking for.


Nearest Neighbor Removing All Links on 2D Network

Hello again,
I noticed that a new issue has been opened concerning nearest neighbor a few days ago, but I just wanted to ask since I have been running into this bug: I am using the default settings when generating my 2D network (0.015 filtering threshold, etc.) and when I try to prune my dataset with nearest neighbor, sometimes the result is that all the links are removed and I am left with only singletons.
I have one dataset with about 800 nodes and when I prune with nearest neighbor I retain the links in the major clusters. However, when I split the dataset in half (i.e. I launch two MicrobeTrace sessions for each half), I noticed that, for one half, the same clusters are preserved when using nearest neighbor, but for the other half, all links are removed and I am only left with singletons.
Please let me know if there is something I should do or if I can clarify anything. Thank you for your help!
Sincerely,
Joshua Au

Hi Evan, thank you for your response. I tried using the production url, but unfortunately all the links are still being removed after nearest neighbor.
Josh


Splash screen is showing app icon instead of splash on Android 12+

When running application on android < 11 devices, splash screen is showing correctly.
On devices using android > 12 (new splash screen API), splash screen is replaced by icon.

I am seeing the same thing

Maybe something to make it look nice for the time being.
If you create a styles-v31 (android 12+) file with the following contents:
<?xml version="1.0" encoding="utf-8"?>
<resources>

  <style name="AppTheme.NoActionBarLaunch" parent="Theme.SplashScreen">
    <item name="android:windowSplashScreenBackground">#3DDC84</item>
  </style>

</resources>

This will make the background of the splashscreen a specific color, if you match this with you app icon it looks quite alright for most (single color) app icons.

Same issue here

So we can't use a splash screen graphic any more? It's just the icon with a colored background? That's very disappointing. Does anyone know if this is being worked on?

Thanks very much for the explanation, @rickbeumers!

Guys, you can still use nine patches splash screens above api level 12.

Classic Google, pulling the rug on an API instead of letting it gracefully fall back.
I don't understand, can't this library just generate an XML drawable alongside the existing icons it makes?
From this link (https://github.com/apache/cordova-android/pull/1441#issue-1270501465)
The default splash screen is an XML Android Drawable. It has a resolution of 512x512. It is padded and the inner icon size is 384x384. It is also scalled by 50% and pivotX/Y of 256.

Hi.
I don't get it.
Does it mean that this repo is not up to date ? I started a fresh capacitor project and by using this, I get this issue.
Should I generate each assets separetly instead of relying on this ?
Thanks for the help.

Having this issue as well.

tl;dr: It's not a bug. It's a feature.
Google's new API does not allow full-screen splash screens anymore since Android 12+. You need to use an icon.
https://capacitorjs.com/docs/guides/splash-screens-and-icons

In Android 12 and above Google changed the way Splash Screens are displayed, using a smaller icon with colored background instead of a full screen image that was possible with Android 11 and below. Additional documentation about this change can be found at developer.android.com.

Googles Design Guide
https://developer.android.com/develop/ui/views/launch/splash-screen

The comment https://github.com/ionic-team/capacitor-assets/issues/495#issuecomment-1445474546

Maybe something to make it look nice for the time being.
If you create a styles-v31 (android 12+) file with the following contents:
[...]
This will make the background of the splashscreen a specific color, if you match this with you app icon it looks quite alright for most (single color) app icons.

does the trick. Here's a full step by step guide to set the splash screen color for Android 12+:
In the res folder create a new resource directory values-v31

As the directory will not be immediately visible (as least that the case for me with the default settings for Android Studio), right click on the res/values directly and select New File from the context menu.

Click ok and type styles.xml for the file name.
Paste this:
<?xml version="1.0" encoding="utf-8"?>
<resources>

    <style name="AppTheme.NoActionBarLaunch" parent="Theme.SplashScreen">
        <item name="android:windowSplashScreenBackground">#FF0000</item>
    </style>

</resources>

which should look like this:

and save the new file. Restart the app and you should now see a red background color. Adapt color to your needs.

I'm having a weird issue with my Splash Screen being opaque (like with some alpha while the App load)
and I tried SplashScreen.show() after the App is initialized and the image is shown with the original vibrant colors.
Anyone had this issue before?


BurningShip-Marcus

[x] I have read the steps to getting a blot

[x] I am submitting art that...

[x] is algorithmically generated (will change each time the program is run)
[x] is drawable on a blot (fits in the work area & doesn't overlap too much)
[x] is original (not copied from somewhere else)
[x] doesn't call Math.random() (See the documentation on randomness)

[x] Optional, if you used a tutorial or based your art on something else, please in

clude the link here:
- I used https://www.cesoid.com/fractal?al=burningship to help find interesting stuff for the snapshots.

[ ] Optional, if you remixed this from something else, mentio
n it here:

This draws section of the burning ship fractal.
I did my best to make generated images drawable--it uses dithering which plotters should be able to manage.

Note the effects of the Moire effect with this art.

Hi,
Sorry about the servo.
I can make some adjustments to the code to make it simpler?
How did the servo break? Too many short lines? I can try to optimize the generator to yield longer continuous lines.

Hey, so sorry I didn't get to you sooner - I think it just overheated from all the short line segments, since it has to lift the pen up every time.

Hey there! I am closing this PR due to inactivity, please create a new PR once you have updated your art!


Refactor accessibility checking to use TypeReprs (most of the time) rather than Types

@swift-ci Please smoke test

@jrose-apple I'd like you to review this before I check it in.

The point of the original caching code was that pieces of types are reused quite a bit. I don't think the work of computing an access scope is enough to cache, but if it is it's probably worth caching outside of Sema.
Didn't @DougGregor just do this?

I just did this for availability checking, here: https://github.com/apple/swift/pull/6036

Wait no don't merge this yet

Oops, sorry. I can revert or make any changes you request.

Please revert for now. Either we care about the caching thing or we don't; beyond that I haven't really looked at what it's doing yet.


Liquidity management implementation

Here we track liquidity management and related.

[ ] get and display all account positions
[x] redesign liquidity dialog 297e5c2
[ ] add overview visualizaion to liquidity dialog
[x] compose transaction call dec0e83c2fce96f3f4423d20ad36796e9a1c054d
[ ] transaction params dropdown
[ ] position overview ??
[ ] close actual position to remove liquidity

Redesigned add liquidity dialog in 297e5c2c4de8a4670a2097b5db3a96f929811a44

Transaction calls added in dec0e83c2fce96f3f4423d20ad36796e9a1c054d

Accounts positions list added in 9c623ffc6983da367f071b1699151cc221ccc5d3


help(mat-paginator): Paginator not initialising on initial load

Hi there,
What are you trying to do?
I want to intialise and show paginator with length, pageSize and pageIndex on initial load.
Data comes from an external API and I'm using a observable to fetch and update the data. Sorting and pagination is also handled through the external API, so I'm just using the paginator to display the total and handle the pageIndex and size.
What troubleshooting steps have you tried?
I tried using the change detector ref, tried setting the dataSource.paginator and tried programmatically setting the pageSize, length and pageIndex.
NOTE: IT ALWAYS WORKS ON SECONDARY LOADS AND RELOADS.
Reproduction
I'll try a rough outline to reproduce.
Steps to reproduce:

Create a component using mat-table and mat-paginator
Initialise the paginator in the template like this:

 <mat-paginator
    [pageSizeOptions]="[5, 10, 25, 100]"
    [showFirstLastButtons]="true"
    [length]="orderTotals.total"
    [pageIndex]="currentFilterState.pageIndex"
    [pageSize]="currentFilterState.pageSize"
  ></mat-paginator>

Hook up an external state for updates
Listen to state updates, query the API whenever it updates. Register the state subscription on init.
Try to load the page. If it loads, copy the URL, close the tab and open a new one. Paste the URL. Pagination will only show the pageSize, no indication of length or current index.

Environment

Angular: 12.1.4
CDK/Material: 12.1.4
Browser(s): Brave 1.27 (Chromium 92)
Operating System (e.g. Windows, macOS, Ubuntu):  macOS

Hey crisbeto,
thanks for reaching out.
Unfortunately I don't have the time right now to set up a working reproduction. I'll try to sketch it again. I had hoped it be a "common" problems, I also found a few other GH issues, but no solution seemed to work for me.
Basically, I have a parent:
  <app-orders-table [state$]="currentState$" (updateState)="onUpdateState($event)"></app-orders-table>

like this. Inside the orders-table I'm setting up a subscription for the passed currentState$. Inside that subscription I'm also fetching data from our backend inside a mergeMap.
I'm then using the results and the passed state as props in my mat-paginator (see above).
I think the main issue is that the mat-paginator is somehow initialised "too late" and that's why it doesn't work initially.
It's unfortunate it doesn't just work as it's mostly a component to view the current pagination. The real pagination is done in the backend. At this point, I might just write it myself, as that seems easier and more transparent.

It was my own mistake, related to the intl.
The initial translations weren't loading and thus, the range label wasn't showing.
Sorry for the inconvenience.


Update deployment.md 错别字修改

错别字修改，这里应该是bob的集群已经启动
Preamble
For Pull Request initiator, please read the following steps carefully. 请合并请求的发起人仔细阅读下列步骤。

If you are creating a Pull Request about listed topic below, please go the the Preview tab and click the relative link:
如果您要创建一个有关下列内容的的合并请求，请切换到 Preview 面板并点击下方相关的链接:

Select Awesome-PETs for files under docs/awesome-pets

Select a proper Pull Request template can accelarate the review process, thanks for your cooperation.
选择一个正确的合并请求模版可以加速审查流程，谢谢您的配合
If your Pull Request topic is not amoung the list above, please just delete all prepopulated template content.
如果您的合并请求内容不在上述的列表里，请删除提前填入的模版内容。

Thanks for your contribution to SecretFlow project
感谢您对于 SecretFlow 项目的贡献

I have read the CLA Document and I hereby sign the CLA


Improve error message when no SUBCOMMAND is given

(ansible) [cinek@hpc-ansible-alma8 ansible-code]$ ansible-deployer -s testing -i plcyf -t install_and_exec_bin_hostname
usage: ansible-deployer [-h] [--infrastructure INFRASTRUCTURE] [--stage STAGE]
[--commit COMMIT] [--task TASK_NAME] [--dry] [--debug]
[--syslog] [--limit [LIMIT]]
SUBCOMMAND
ansible-deployer: error: the following arguments are required: SUBCOMMAND

fixed in #71


remove disableStrictSsl param from [jenkins]

After posting https://github.com/badges/shields/issues/4655#issuecomment-897061551 yesterday, I started looking at the strictSSL/proxy thing and on digging into it.. it might be a non issue. There are two services where we currently do something with the strictSSL param, and I think they're both now pointless. In this PR: jenkins
I was looking into how to test this param and I realised this param has actaully been broken for a very long time. Any attempt to use this will throw "strict ssl is required" e.g: https://img.shields.io/jenkins/build.svg?disableStrictSSL&jobUrl=https%3A%2F%2Fjenkins-oss.wixpress.com%2Fjob%2Fmulti-detox-master In order to make it work, you have to remove https://github.com/badges/shields/blob/23c0406bedfc6930735e8f5ea75dfe34faf1f290/core/base-service/auth-helper.js#L118
We broke this over a year ago in https://github.com/badges/shields/pull/4729 and nobody has raised an issue about it. Given this was never documented anywhere and has been broken for over a year without anyone noticing, I reckon we can just quietly drop this param rather than fixing it. Clearly nobody is using it.

Warnings

:warning:

:books: Remember to ensure any changes to config.private in services/jenkins/jenkins-base.js are reflected in the server secrets documentation

:warning:
This PR modified service code for jenkins but not its test code. That's okay so long as it's refactoring existing code.

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @chris48s!

  Generated by :no_entry_sign: dangerJS against fe7e368895ddccc38fb08d4c945a78f67440189d

Relevant originating issue for reference was #1956. I still think the self-hosting scenarios and the common self-signed cert usage, particularly within intranets, is something we need to take into consideration.

This (jenkins) has also been broken for self-hosted installs since ~March 2020. As far as I can tell, the only way you'd have a self-hosted install where this works is if you are currently running a pre-March 2020 install or customising by running your own fork. Is there another scenario I'm missing here? (entirely possible)

where this works is if you are currently running a pre-March 2020 install or customising by running your own fork. Is there another scenario I'm missing here? (entirely possible)

That's correct, but not as far fetched as it may sound; we can't assume self-hosters redploy with an updated instance on a regular basis because there's rarely motivation for them to do so.  The concern would be someone subsequently needing an update (security patch, general rehydration, etc.) to discover the issue.

And to clarify, I'm not necessarily opposed to this/am undecided, just want to highlight that the absence of reported issues isn't as strong a point of evidence as it typically is IMO due to the self-hosting vector

Cool - just wanted to check there isn't another case I am not seeing here.

Having thought on this a bit more, I feel like there are viable options for folks using a self-hosted Shields server. Seems reasonable to assume that in many corporate/intranet scenarios that there would be a corporate-level private CA in use, and even in other cases it wouldn't be that difficult for someone to create their own and add it to both their Jenkins and Shields server.
The Endpoint badge could always be used as an intermediary where they could disable the strict SSL check on the call to Jenkins from the endpoint.
Obviously that story is more tricky for folks trying to use Shields.io (other than the Endpoint badge), but as discussed above the ability to disable the check with Shields.io has been broken for a long time already anyway.
I'm feeling more confident about our ability to move ahead with this :+1:


How to centralize view on selected callout?

I need centralize view on callout map view after press on marker.

I'm find this solution:
<MapView.Marker
            onPress={(data) => {
              data.nativeEvent.coordinate.latitude += 0.002;
              this.setState({ currentLatitude: data.nativeEvent.coordinate.latitude });
              this.setState({ currentLongitude: data.nativeEvent.coordinate.longitude });
            }}
...
/>

It's working, but then double moving.. How to disable basic move to marker?

Nice solution:


Add option for ally

I would like to see an option for mutual building in town ally.
It is very functional.

Town allies/wars, etc, are probably better suited to an add-on in the future and are out of scope for the main plugin. Thanks.


chore: upkeep testing

❓ Type of change

[ ] 📖 Documentation (updates to the documentation or readme)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[x] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
Updated @nuxt/test-utils and added the test/nuxt/ environment to the prepare command.
📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

Need to wait for this: https://github.com/nuxt/nuxt/pull/27311


Feature/delete user

Implemented delete user with test cases.

Can you add the changelog and then merge it?


Different days of retention

Hi isaac,
Great script!
So I have the script to run in a cronjob. I run the script every day, with a retention of 7 days.
I also run it once a week, with a retention of 28 days. The problem is that the script that runs daily, will delete the weekly AMI's I want to keep for 28 days.
Does your script have a functionality for running it with different retention days? I wonder if it´s possible to copy the script and change the naming scheme, so that the two separate scripts won´t delete each others AMI´s. My scripting is not good enough to do this however. Would you know of a solution for this?

Never mind, I found a way to do this.
Added another variable. "TYPE=$4". And at the bottom modified it to be:
# Void main function
 main ()
 {

         # 1 - Confirm that the AWS CLI are installed
         prq_check
         if [ -z "$TYPE" ]
         then
          # 2 - AMI backup from EC2 instances with retention and delete old AMI if these doesn't be in use without downtime
          backup_retention_ami $EC2_NAME $EC2_NAME-backup 'Ami'$EC2_NAME'Backup'
         else
          # 2 - AMI backup from EC2 instances with retention and delete old AMI if these doesn't be in use without downtime
          backup_retention_ami $EC2_NAME $EC2_NAME-backup-$TYPE 'Ami'$EC2_NAME'Backup'
         fi

 }

 # Void main
 main

I can can add the "weekly" parameter when running the command in cron, so that the naming scheme is different for other cron sheduled jobs.
Also, in the code there is written: if [ ! -z "$EC2ID" ]. This is a double negative, and should instead be: if [ -n "$EC2ID" ]


Integration tests v2

This issue is for tracking the progress of the new framework for Integration testing:
Features:

[x] Automatic setup scenario
[x] Use go test
[x] Lazily cache information from command calls
[x] Make safe to run in parallell
[x] Make platform independent (run where docker runs)

Tests ports:

[x] Ping all by IP
[x] Ping all by Hostname
[x] Resolve MagicDNS
[x] Taildrop
[x] DERP - Ping all by Hostname
[x] DERP - STUN server
[x] OIDC - Login
[x] OIDC - Ping all by Hostname
[x] CLI - Namespace
[x] CLI - Preauth
[x] CLI - Node tag
[x] CLI - Node
[x] CLI - Route
[x] CLI - ApiKey
[x] CLI - Node Move
[x] CLI - Load config

Test we need:

[x] Test CLI registration workflow (long overdue)
[x] ACL tests

Stretch goals:

[ ] Test against Tailscale SaaS (to verify that our tests are correct)
[ ] Run Tailscale in VMs with QEMU

These has been ported, will close as complete.


bumping frameworks version

updating to pull in recent version of frameworks

Would be good to include what the version bump you are doing in the commit message, e.g. "Bump frameworks version to x.x.x"

yeah and also including a version of the framework that david hasn't made an enormous mistake in would be good.

🔥 🚒 🔥

Commit message says 5.1.1 but code says 5.1.2

👍 good when tests pass


Changed onAfterAction to onRun

onAfterAction can be called multiple times per route change. onRun is called exactly once per route change.

Awesome, thanks! Will merge ASAP.


Downloading training data

Hello, thank you for all the documentation and tutorials! My question is about downloading the training data.

Is the data in GCP in bigwig format, or already processed to .w5 with the provided scripts?
For downloading from GCP, I calculated the approximate cost at around 500$ (assuming 4-5 TB, download from EU), does that sound like a reasonable estimate?
For downloading directly from ENCODE, FANTOM etc., do you have a list of direct download links? That would be extremely helpful.

Best
Ekin

The data is TFRecords.
It's 2.3 TB. The bucket is set to "standard". According to this guide, the download should actually be free: https://cloud.google.com/storage/pricing
I do not have direct download links, but they should be straightforward to determine from the targets table with the sample identifiers.

Thank you for the response. I created my own list for the direct ENCODE links in the meantime.
In case other people have similar questions, this link lets you view the data structure: https://console.cloud.google.com/storage/browser/borzoi-paper


Issue with Refresh Token Rotation in oidc-client-ts: Concurrent Execution Problem in signinSilent()

Hello there,
I've been using the oidc-client-ts package, and I've encountered an issue regarding the support for refresh token rotation. This feature is a requirement for being able to securely store refresh tokens on the client side, and it's an important security measure that we currently have to disable, which unfortunately lowers our security standards.
Apart from the multiple tabs issue mentioned in #430, we've identified another problem that we hope can be addressed alongside. The issue is described as follows:
Currently, signinSilent() lacks a mechanism to prevent concurrent executions. When signinSilent() is executed concurrently, it attempts to use the same refresh token for multiple requests. However, due to refresh token rotation being enabled, subsequent requests fail because the refresh token has already been used to obtain a new access token and refresh token.
In scenarios where automatic silent renewal is enabled, there are timer tasks set to refresh tokens periodically. This makes it impractical to manually trigger signinSilent() as concurrent executions are inevitable. As a result, in certain situations, such as when the browser is just activated, it becomes impossible to manually trigger signinSilent(), and we have to rely on the automatic refresh mechanism.
Implementing a mechanism within signinSilent() to prevent concurrent executions could potentially resolve this issue. This would ensure that only one refresh operation is ongoing at any given time, thereby avoiding the aforementioned problems.
Looking forward to your assistance in addressing this matter. Thank you for your time and consideration.

related to https://github.com/authts/oidc-client-ts/issues/430


Reconcole every RoleBinding subject, not only "User" kind

Today we only reconcile RoleBindings / ClusterRoleBindings
subjects which has Kind == "User". This was done intentionally
because this is what is done is OpenShift.
This change addresses this bugzilla bug:
https://bugzilla.redhat.com/show_bug.cgi?id=1965050
According to Kubernetes documentation [1] there are 3 subject
Kinds: users, groups, and service accounts. Since we use all
three of them we need to reconcile all RoleBinding /
ClusterRoleBinding subjects unconditionally.
Release note:

None

/cc @ashleyschuett @kbidarkar

/test pull-kubevirt-unit-test

/test pull-kubevirt-unit-test

/hold
need more discussion on that.

If OpenSHift does it - why does it do so? and why do we not want to do it this way anymore?

If OpenSHift does it - why does it do so? and why do we not want to do it this way anymore?

Hey @fabiand. Here's a summary of the current situation:
(background: There are 3 subject Kinds for RoleBindings/ClusterRoleBindings: users, groups, and service accounts)

In this PR I've implemented the reconciliation for Role/ClusterRole/RoleBinding/ClusterRoleBinding resources.
The implementation included enforcing the apiGroup of User subjects to rbac.authorization.k8s.io. We did it since this was the implementation for OpenShift here https://github.com/openshift/library-go/pull/282.
@kbidarkar opened a bug since all of Kubevirt's RoleBindings are of kind ServiceAccount and these resources aren't being reconciled.
RBAC's documentation for apiGroup says APIGroup holds the API group of the referenced subject. Defaults to "" for ServiceAccount subjects. Defaults to "rbac.authorization.k8s.io" for User and Group subjects.

So clearly we're doing something wrong here since the reconciliation policy will never reconcile anything in the current situation.
What I don't understand yet:

It's clear to me why apiGroup is important for Role's rules, as it determines the scope that the rule applies to. On the other hand, I'm not sure why apiGroup is important for RoleBinding. I tried to search this online but in every example / documentation I see RoleBinding / ClusterRoleBinding define the default apiGroup for the subjects ("rbac.authorization.k8s.io" for User and Group and "" for ServiceAccount). Why is it needed? On which use case is it needed to change the defaults?
I'm not entirely sure why OpenShift reconciled for User kind only. The PR/commit description does not provide many details about this. They do say there I somehow dislike that we have to replicate the defaulting logic here. We need something better. so it sounds to me like a workaround that is not related to us.

To me it sounds like we can reconcile the 3 default kinds to their default apiGroup. What do you think? @kbidarkar @ashleyschuett

This change will have no impact on the bug. By taking away the if block all that changes is the defaulting behavior. But we never actually compare RoleBindings or ClusterRoleBindings current state to their required states. In the compare function we always return true if of either of these types.
https://github.com/kubevirt/kubevirt/blob/master/pkg/virt-operator/resource/apply/rbac.go#L278
Instead we need to check how openshift is comparing the binding resources and see if that makes sense or if we need to compare a different way. It should be a pretty simple compare or deep equal since we are already setting default fields.
Please also add unit tests.

I talked to @ashleyschuett. Need to make more research on what happens in Openshift and see if it makes sense for us.
This PR can be closed for now.


[$500]  Expense - App auto-redirects to expense report from main chat after returning online

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

Version Number: 1.4.33-4
Reproducible in staging?: Y
Reproducible in production?: Y
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
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:

Go offline
Request money in workspace chat
Click on the expense preview twice to go to expense details page
Click on the header subtitle twice to return to the main chat
Go online
Wait for a while

Expected Result:
App will stay in the main chat
Actual Result:
App redirects to expense report after returning online
Workaround:
Unknown
Platforms:

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

[ ] Android: Native
[x] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/0c0c7c5f-8ba6-4f9d-a8f9-e56cc1f3a157
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~017a5665dbb6dad48c
Upwork Job ID:<PHONE_NUMBER>704171008
Last Price Increase: 2024-01-30

We think that this bug might be related to #wave5.
CC @dylanexpensify

@rushatgabhane bump for review

@rushatgabhane bump ^^

@iwiznia pls assign issue to @dukenv0307 if you agree thanks

Add prevReport.isOptimisticReport to this condition

What exactly do you mean by that? Add it how? I assume as || isOptimisticReport?
Also, wouldn't that mean that the URL would be wrong if the backend returns a different reportID than the optimistic one?

@iwiznia bump ^^

@iwiznia bump ^^

Sorry for the radio silence, last week I realized I had a bad email filter and this (among a few other issues) got filtered out by mistake.

Maybe I misunderstand your question. Pls help give me more details

So we will exit here if it is an optimistic report, right? Doesn't that mean it would not open the correct report when clicked, given it would return early and not redirect anywhere?

When we clicked to open the report directly, it did not redirect anywhere because the condition here return false

Isn't this incorrect? We should be opening the report, no?

Issue not reproducible during KI retests. (First week)

Am closing based on this not being reproducible in this week's testing


[WIP] Chore: Travis test with py 3.6 and now also 3.8

Summary of Changes
Include a summary of changes then remove this line
Tests
What tests did you add or modify and why? If no tests were added or modified, explain why. Remove this line
Documentation
What documentation did you add or modify and why? Add any relevant links then remove this line
CheckList
Make sure you have checked all steps below to ensure a timely review.

[ ] PR title addresses the issue accurately and concisely. Example: "Updates the version of Flask to v1.0.2"

In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

[ ] PR includes a summary of changes.
[ ] PR adds unit tests, updates existing unit tests, OR documents why no test additions or modifications are needed.
[ ] In case of new functionality, my PR adds documentation that describes how to use it.

All the public functions and the classes in the PR contain docstrings that explain what it does

[ ] PR passes make test

Turns out it pip build on py3.8 currently also errors out for typed-ast so more work is needed for 3.8 support - or at least dependencies are not right for this on vanilla Travis

Aha: https://github.com/python/typed_ast#python-38 tl;dr won’t be updated use the ast sidling module

Ok bumping mypy to latest didn’t break py3.6 test and py3.8 now got past the typed-ast issue so it is now at failing tests. Progressing slowly ahead me thinks...


Investigate Supporting Additional HttpClient Implementations

This issue tracks investigating support for other, additional, HttpClient implementations other than Reactor Netty/Netty and OkHttp. The primary focus of supporting additional HttpClients is to better align with the environment Azure SDKs are being used in and to give us an opportunity to offer HttpClients that result in less dependency conflicts.
The following, non-exhaustive, HTTP clients should be investigated:

[ ] Apache HttpComponents

/cc @kasobol-msft


[3.1] Support Dubbo call Spring Cloud

What is the purpose of the change
Brief changelog
Verifying this change

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Add some description to dubbo-website project if you are requesting to add a feature.
[ ] GitHub Actions works fine on your own branch.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #10319 (2b31a7a) into 3.1 (8dec7d4) will decrease coverage by 0.00%.
The diff coverage is 65.00%.

@@             Coverage Diff              @@
##                3.1   #10319      +/-   ##
============================================
- Coverage     65.60%   65.59%   -0.01%
- Complexity      318      319       +1
============================================
  Files          1237     1238       +1
  Lines         54007    54041      +34
  Branches       8175     8180       +5
============================================
+ Hits          35429    35450      +21
- Misses        14725    14732       +7
- Partials       3853     3859       +6

Impacted Files
Coverage Δ

...metadata/SpringCloudServiceInstanceCustomizer.java
30.76% <30.76%> (ø)

...vent/listener/ServiceInstancesChangedListener.java
77.21% <50.00%> (-0.52%)
:arrow_down:

...n/java/org/apache/dubbo/metadata/MetadataInfo.java
76.68% <100.00%> (+0.33%)
:arrow_up:

...ubbo/registry/client/AbstractServiceDiscovery.java
84.37% <100.00%> (-0.75%)
:arrow_down:

...stry/client/ServiceDiscoveryRegistryDirectory.java
41.84% <100.00%> (-0.92%)
:arrow_down:

.../client/metadata/ServiceInstanceMetadataUtils.java
73.52% <100.00%> (+0.80%)
:arrow_up:

...dubbo/common/status/support/LoadStatusChecker.java
50.00% <0.00%> (-16.67%)
:arrow_down:

...in/java/org/apache/dubbo/common/utils/JVMUtil.java
79.59% <0.00%> (-12.25%)
:arrow_down:

...etadata/report/support/AbstractMetadataReport.java
68.03% <0.00%> (-1.83%)
:arrow_down:

...bbo/common/resource/GlobalResourcesRepository.java
70.90% <0.00%> (-1.82%)
:arrow_down:

... and 15 more

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 8dec7d4...2b31a7a. Read the comment docs.

Could you please add an example or documentation to explain how we can use this feature?


Start value

hello, I have
TextFormField(
    inputFormatters: [CurrencyTextInputFormatter(locale: "en_US", decimalDigits: 2, symbol: "")],
    keyboardType: TextInputType.numberWithOptions(decimal: true)
    );

and when I type 1 it goes to 0.01 is there a way to start from 1 and only if I press , to add a decimal? It feels very unnatural to start from 0.01 cent

@netgfx Thank you for using.
This library supports only right start, because of currency.
You should  useRegExp instead.


need more dynamically in configuration

can you make the configuration into params so we don't need to change the config/laraskrill.php and get the userdata from database .
btw nice work and love your work . thanks

Thank you rahmatputrawiranata, for your feedback. I will do soon. :)

Hello @rahmatputrawiranata, I've just released the dynamic configuration option and removed static config file.
Thanks again for your suggestion.


Use JSON for parameters

The Web API parameters seem awfully overcomplicated when you could probably just make use of JSON to pass in parameters that are more easily readable like "breadth": "1, 2", "level": "<= 200", etc.

Thanks for the feedback, we thought the same.
Do you mean that we should have one parameter we take in, say "query", which gets passed a JSON object like query={ "breadth": "1, 2", "level": "<= 200" } or is there some better way to pass JSON objects through GET requests?

You might have to switch to a POST request to use JSON, actually. It's really up to the API design.
I feel like @elliotsj might be able to offer some more insight into this.

From what I understand, the API uses GET query parameters, and you can use those operators (,, /, -, etc.) in the query parameters to filter search results.
e.g.
GET http://localhost/courses?prerequisites=CSC148&course_level=100/200

which would return 100-level and 200-level courses that require CSC148.
I think this is the right approach for filtering results; though my only critisism is that it may be better to use the actual words "AND", "OR", and the operators >=, <=. It sacrifices some readability of the URL string, but it's more meaningful when you're building a query programmatically.

However this API seems more suited to be a 'search' API than just a way to filter results. Like GitHub for example:

GET https://api.github.com/repositories: dumb listing of repos; no filtering
GET https://api.github.com/search/repositories?q=tetris+language:assembly&sort=stars&order=desc: allows keyword search, filtering by qualifiers

Like GitHub's search syntax, having just a single q=... parameter for the query means you can make queries like "prerequisites:'CSC108H1' OR course_level:100", which wasn't really possible using separate query parameters.

After quite some research on asking around which may be a better option, we've come up with the following:

GET courses/search?q=

Performs a fuzzy search on courses based on the query presented, example: natural language computing

GET courses/filter?q=

Filters courses based on a provided query in a format, example: breadth:'1' AND course_level:'<=200' OR course_code:'CSC'
Same situation applies, AND takes precedence

This seems the most elegant way to accomplish the tasks we set out to solve with the courses API.


.net activation failure

Does this occur consistently?
Repro steps:

Action: bicep.activate
Error type: Error
Error Message: Failed to install .NET runtime v5.0.
Version: 0.3.255
OS: darwin
OS Release: 20.4.0
Product: Visual Studio Code - Insiders
Product Version: 1.56.0-insider
Language: en

Call Stack
client.ts:119:11
a extension.js:2:1400506

We've seen this issue intermittently. If this happens again, can you grab the Output from the ".NET Runtime" output channel?

any luck with this error ?

Did anyone manage to solve the problem? Validation of .dotnet installation for version 6.0.11 failed

Facing the same issue right now with VS Code 1.74.0, and can't debug my code.

Bicep depends on another extension (.NET Install Tool for Extension Authors) to install the .NET runtime. The original issue has since been fixed, and both of these recent reports look like a new type of issue with this extension.
I'm going to close this issue and raise an issue under https://github.com/dotnet/vscode-dotnet-runtime to track these reports.
For anyone running into this issue in future, if you see failures in the .NET Runtime output window in VSCode when acquiring .NET, please raise an issue under https://github.com/dotnet/vscode-dotnet-runtime, and include the text from the .NET Runtime window.

Raised #674 to see if we can make this easier to root cause in the long run.


"initWithCoder: is not implemented for the class RCTImageView

Description
hi i am using react native latest version 0.72.4 the things is working too good on android and ios both side.
suddenly on ios we are facing issue like "initWithCoder: is not implemented for the class RCTImageView
we tried all our backup project also but facing same issue we tried every thing on google.
today is 20 sep 2023 (IST) we also run our old backup project which are running well but the same issue facing in our all the mac pcs. this issue is come suddenly please help as soon as possible because we are in the middle of making our project.
i am attaching my screen shot here

React Native Version
0.72.4
Output of npx react-native info
should run on ios but getting error.
Steps to reproduce
run the project on ios side
Snack, screenshot, or link to a repository

i am not having very deep knowledge about the reproducible things and also about the github but i am working on one project since it working fine but after the 20 sep 2023 2:00 PM it suddenly giving error like above mentioned and the things i got should be project should run on ios after fixing the issue.

i thing no one is getting this kind of error and i also fixed by deleting and creating new project so i am closing this issue.


Permalink to a marker popup

It could be great to get a permalink to a marker popup. It can be usefull to give an URL to someone asking him a contribution.
Idea originally given on #110

@NicolasDumoulin Thanks for the report!

Done and to be released in the next version :)


liblldb cannot find python installation

Describe the bug
When bpftrace is linked against liblldb and tries to initialize it, we get the error:
Python path configuration:
  PYTHONHOME = (not set)
  PYTHONPATH = (not set)
  program name = 'python3'
  isolated = 0
  environment = 1
  user site = 1
  safe_path = 0
  import site = 1
  is in build tree = 0
  stdlib dir = '/nix/store/7hnr99nxrd2aw6lghybqdmkckq60j6l9-python3-3.11.9/lib/python3.11'
  sys._base_executable = '/usr/bin/python3'
  sys.base_prefix = '/nix/store/7hnr99nxrd2aw6lghybqdmkckq60j6l9-python3-3.11.9'
  sys.base_exec_prefix = '/nix/store/7hnr99nxrd2aw6lghybqdmkckq60j6l9-python3-3.11.9'
  sys.platlibdir = 'lib'
  sys.executable = '/usr/bin/python3'
  sys.prefix = '/nix/store/7hnr99nxrd2aw6lghybqdmkckq60j6l9-python3-3.11.9'
  sys.exec_prefix = '/nix/store/7hnr99nxrd2aw6lghybqdmkckq60j6l9-python3-3.11.9'
  sys.path = [
    '/nix/store/7hnr99nxrd2aw6lghybqdmkckq60j6l9-python3-3.11.9/lib/python311.zip',
    '/nix/store/7hnr99nxrd2aw6lghybqdmkckq60j6l9-python3-3.11.9/lib/python3.11',
    '/nix/store/7hnr99nxrd2aw6lghybqdmkckq60j6l9-python3-3.11.9/lib/python3.11/lib-dynload',
  ]
Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
Python runtime state: core initialized
LookupError: no codec search functions registered: can't find encoding

Current thread 0x000072dd680c07c0 (most recent call first):
  <no Python frame>

Steps To Reproduce
Steps to reproduce the behavior:

clone bpftrace repo (https://github.com/bpftrace/bpftrace)
nix build .#appimage
echo "int main() {return 0;}" | gcc -g -x c -
sudo ./result -e 'uprobe:./a.out:main { @ = count(); }'

Expected behavior
Not to get this error
Additional context
When I set PYTHONPATH to my host stdlib location it seems to work better (but still has odd errors):
$ sudo PYTHONPATH=/usr/lib/python3.12 ./result -e 'uprobe:./a.out:main { @ = count(); }'
Could not find platform independent libraries <prefix>
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'lldb.embedded_interpreter'
Attaching 1 probe...
^C

@: 0

Maybe it's an issue with PYTHONPATH? I see some magic is being done for the lldb executable here:
https://github.com/NixOS/nixpkgs/blob/63d37ccd2d178d54e7fb691d7ec76000740ea24a/pkgs/development/compilers/llvm/common/lldb.nix#L162
Alternatively would it make sense to provide a build option to not build with language support?
Notify maintainers

@dtzWill
@ericson2314
@lovek323
@qyliss
@RossComputerGuy
@rrbutani
@sternenseemann
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.8.7-arch1-2, Arch Linux, noversion, rolling`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.17.0`
 - nixpkgs: `/home/dxu/.nix-defexpr/channels/nixpkgs`

Add a :+1: reaction to issues you find important.

Nevermind, turns out we're stripping python files out of the appimage. Sorry for the noise

Hi @baiwfg2 , this was fixed on bpftrace side in https://github.com/bpftrace/bpftrace/commit/0e71958ce4a38bd5aa5fb7d090da9a167547d797 . Please check that your build contains that commit


[Federated Plugins] Provide a way to override a default/endorsed platform implementation

Use case
It would be desirable for a federated plugin to have a default implementation for iOS, either inside the plugin or an endorsed separate package, and to then allow apps to choose an alternative platform implementation to override that default. E.g. for just_audio, we will have a default AVQueuePlayer-based implementation, but an alternative AudioKit implementation and an alternative VLC implementation.
However, I don't think this override ability has been added to Flutter yet, although it was implied in the design doc.
What happens instead is that the generated plugin registrant will automatically add both the default/endorsed plugin AND any additional plugin the app adds to their pubspec with the intention of overriding the default. Since both are listed, alphabetical order will dictate which one is effective.
Proposal

Currently a platform implementation is endorsed by adding its dependency to the plugin's front-end and so it's going to get added to the generated plugin registrant regardless of any attempt to override it.
I'm not sure on the best solution, but maybe either the mechanism to endorse an implementation needs to be something other than a normal dependency, or otherwise the flutter tool should add some special cases to the code that generates the generated plugin registrant to detect overrides and avoids adding both the override and the default.

The PR for https://github.com/flutter/flutter/issues/52267 has logic to handle this for Dart plugin registration; we should be able to extend that same logic to any native plugin implementation.

By my understanding, that PR describes configuration changes to the plugins themselves, but I'm trying to understand what an app developer would need to configure to choose the overriding platform. Currently we would do something like this in the app's pubspec:
dependencies:
  just_audio:
  just_audio_audiokit_ios:

where just_audio already includes a default iOS implementation, and each of those two packages would define . What mechanism controllable by the app itself can prevent the default implementation from loading? I assumed the plugin class is a property of the plugin rather than the app, but would the app need to define the plugin class for each override plugin it uses, in addition to adding the package dependency?

https://github.com/flutter/flutter/pull/79669/files#diff-68361f6fc9aafa5fa7de042eec4603dd4f321eb783a00edd57780ef78c1094bbR1051-R1060

/// Resolves the platform implementation for Dart-only plugins.
///
///   * If there are multiple direct pub dependencies on packages that implement the
///     frontend plugin for the current platform, fail.
///   * If there is a single direct dependency on a package that implements the
///     frontend plugin for the target platform, this package is the selected implementation.
///   * If there is no direct dependency on a package that implements the frontend
///     plugin for the target platform, and the frontend plugin has a default implementation
///     for the target platform the default implementation is selected.
///   * Else fail.
///
///  For more details, https://flutter.dev/go/federated-plugins.

Thanks, I think I understand the algorithm.
I was slightly confused by the wording above, because just_audio could be considered as providing a default iOS implementation itself, but it could also be considered as being a "direct pub dependency that implements the frontend plugin for the current platform".

Is the way to override an endorsed platform implementation now documented anywhere in the latest up-to-date documentation on federated plugins?

No; we're unlikely to formally document this until it works for native code as well, otherwise it will be very confusing.

I'm not too familiar with the whole federated & endorsed plugin management. Are there tendencies, how this will be approached?
You already wrote two solutions here, although they do not exclude each other and the second one does not solve the problem of this thread directly:
https://github.com/flutter/flutter/issues/81650#issuecomment-1634084576

I think the simplest way would be to have dependency_overrides which also allow packages with different name than the existing one for endorsed plugins, like

dependency_overrides:
  my_plugin:
    path: ..
  my_plugin_android:
    path: ..\\..\\my_plugin_android_alternative

But this is kind of hacky, and also needs involving pub. This also doesn't work if dart code is involved as the package name differs, of course.

Maybe something like this is more practicable:

flutter:
  plugin_overrides:
    my_plugin:
      platforms:
        android:
          default_package: my_plugin_android_alternative

dependencies:
  my_plugin_android_alternative: ^0.0.1

Which could also replace the proposal to exclude a plugin with plugin_exclusions and would maybe more align the existing style:
flutter:
  plugin_overrides:
    my_plugin:
      platforms:
        android: {}

But still, I haven't looked into the code and don't know if it's actually possible to prevent a native plugin from registering, or it's just that the code isn't included in the build process at all. And then could just load the other plugin alternative or even no plugin.

Are there tendencies, how this will be approached?

The comments above yours describe how this will be implemented.

You already wrote two solutions here, although they do not exclude each other and the second one does not solve the problem of this thread directly: #81650 (comment)

My comment there is not about solutions to this issue; it's about solving a different problem.

But still, I haven't looked into the code and don't know if it's actually possible to prevent a native plugin from registering

This will, when implemented, cause the overridden implementation not to be registered.

The comments above yours describe how this will be implemented.

Yes, now I got it. I just never saw how this actually is implemented in the pubspec.yaml . But I found also the exact code line now.
So in dart it just works by adding a direct dependency to the developers application, it automatically detects if it has an implementation of an existing plugin package. And then prefer the direct dependency over the default one.
I was always the opinion one needs to actually declare the plugin override in the pubspec via the flutter params, but that isn't the case.
And it's already described in words here for non-endorsed plugins:
name: example
dependencies:
  my_plugin: ^0.0.1
  my_plugin_android_alternative: ^0.0.1

So the registration for the alternative plugin is already working, just the deregistration of the default one is not yet. I may have a deeper look into this.

I created a PR now (#137040) which aims to solve this issue. It's not ready yet (missing parts are listed in the PR description), but maybe one can comment, if it's leading in the right direction and one can have a look in the TODOs in the code.
Hope it can help to solve this issue :D


Undefined is not an object (evaluating navigation.state.routes) TabNavigator + redux

Hi Guys,
I'm trying to implement the TabNavigator with Redux but I keep getting the error:
(evaluating 'navigation.state.routes')
I'm probably forgetting something in my implementation, so maybe someone can take a look? I've made a stackoverflow post:
http://stackoverflow.com/questions/43087129/react-navigation-tabnavigator-with-redux-errors
Thx!

anyone?

Fixed URL

mapStateToProp for TabBarComponent should have configuration
const mapStateToProps = (state) => ({
    navigationState: state.tabBar
})

Thanks!
Current configuration, what am i missing here?
// export default MainScreenNavigator
const MainScreenNavigatorState = ({dispatch, navigationState}) => (
	<MainScreenNavigator
		navigation={
			addNavigationHelpers({
				dispatch: dispatch,
				state: navigationState,
			})
		}
	/>
)

const mapStateToProps = (state) => ({
    navigationState: state.tabBar
})

export default connect(mapStateToProps)(MainScreenNavigatorState);

what is your store configuration. Make sure you are combining your reducer as tabBar. See posted code by @Tripwire999  at stackOverflow

Hi @dominicrj23 thanks for heads up. Will try to learn the code.

@grabbou
excute this code in reducer:
const initialNavState = {
    index:0,
    routes: [
        { key: 'InitA', routeName: 'Login' },
        {
            key: 'InitB',
            routeName: 'Home',
            index:0,
            routes: [
                { key: 'InitC', routeName: 'TaskList', },
                { key: 'InitD', routeName: 'History', },
                { key: 'InitE', routeName: 'Setting', },
            ],
        },
    ],
};

return  AppNavigator.router.getStateForAction(NavigationActions.reset({routeName:'Home'}), state);
Error:
undefined is not an object (evaluating '_AppNavigator2.default.router.getStateForAction')
export const MainScreen  = TabNavigator ({
    TaskList:{ screen:TaskList },
    History:{ screen:History },
    Setting:{ screen:Setting },
});

export const AppNavigator = StackNavigator({
    Login:{ screen: LoginScreen },
    Home: { screen: MainScreen },
});

const AppWithNavigationState = ({ dispatch, nav }) => (
    <AppNavigator navigation={addNavigationHelpers({ dispatch, state: nav })} />
);

AppWithNavigationState.propTypes = {
    dispatch: PropTypes.func.isRequired,
    nav: PropTypes.object.isRequired,
};

const mapStateToProps = state => ({
    nav: state.nav,
});

export default connect(mapStateToProps)(AppWithNavigationState);

in AppNavgator.js
AppNavigator = { [Function: NavigationContainer]
  router:
   { getComponentForState: [Function: getComponentForState],
     getComponentForRouteName: [Function: getComponentForRouteName],
     getStateForAction: [Function: getStateForAction],
     getPathAndParamsForState: [Function: getPathAndParamsForState],
     getActionForPathAndParams: [Function: getActionForPathAndParams],
     getScreenConfig: [Function] } }

but when in the Reducer.js
AppNavigator = { [Function: Connect]
  WrappedComponent:
   { [Function: AppWithNavigationState]
     propTypes:
      { dispatch: [Function: bound checkType],
        nav: [Function: bound checkType] } },
  displayName: 'Connect(AppWithNavigationState)',
  childContextTypes: { storeSubscription: { [Function: bound checkType] isRequired: [Function: bound checkType] } },
  contextTypes:
   { store: { [Function: bound checkType] isRequired: [Function: bound checkType] },
     storeSubscription: { [Function: bound checkType] isRequired: [Function: bound checkType] } },
  propTypes:
   { store: { [Function: bound checkType] isRequired: [Function: bound checkType] },
     storeSubscription: { [Function: bound checkType] isRequired: [Function: bound checkType] } } }

ok ,the answer is
import { AppNavigator }
not impport AppNavigator

Check if the name of your nav reducer in comineReducers is the same in your mapStateToProps.


NEWDUPE

Trying next code on player:
[function f_testdupe] newdupe <src> serv.log <new.uid>
Clone player but <new.uid> give uid of a memory, not result of new uid of npc created.

Fix sent

fixed!


Unified padding key in config

Currently, padding is specified with four keys, padding-left and similar. Would it make sense to replace this with one padding key that takes a directional value?

Potentially, though it's a little messy. The background-padding values (which are the only directional values currently) are simply pixel counts, with -1 special-cased to mean "as far as possible". The padding-left etc. arguments are different, in that they can take a percentage (of the screen width), and don't accept -1 as a value.
I chose the current way more for documentation purposes, as if you use directional values for both, what do percentage values / -1 mean?
I guess the best solution to this would probably be to make the padding values directional, un-special-case -1 from the background-padding options, and re-define percentages to mean "percentage of the parent container" rather than "percentage of the screen". That way, you'd do e.g. selection-background-padding=100% instead of -1.
I'll probably have a look at this at some point, once I'm more back into the swing of things. Thanks for the suggestion!


add ImgToBitmap and RGBAToBitmap support

Please provide Issues links to:

Issues: #309

Provide test code:

Description
Update and move image function to img.go
...

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Unable to find attribute on up-to-date dedicated save

When running the tool against a current save from a dedicated linux server, I get the following error:
3E85000000000000000000000000.sav (type: 49) converted to JSON successfully
Done!
Parsing JSON files...Done!
Modifying JSON save data...Traceback (most recent call last):
  File "C:\Users\dakoz\OneDrive\Documents\PalWorld\palworld-host-save-fix-main\fix-host-save.py", line 276, in <module>
    main()
  File "C:\Users\dakoz\OneDrive\Documents\PalWorld\palworld-host-save-fix-main\fix-host-save.py", line 122, in main
    instance_ids_len = len(level_json["root"]["properties"]["worldSaveData"]["Struct"]["value"]["Struct"]["CharacterSaveParameterMap"]["Map"]["value"])
                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'CharacterSaveParameterMap'

It looks like the structure of the save files has changed.  Let me know if I can help!

yes! It looks like you were using an older version of the .py file with a newer version of the palworld-tools dependency. If you download everything fresh, you won't have this issue anymore.


The behaviour of scrollIntoView is not identical with the Working Draft

As described here, if the option of scrollIntoView is an Object, it could have following properties:

behavior
block
inline

However it seems that only the behavior is taken while block and inline are both ignored.

Hi @huiyiqun, we are aware that we are missing that part of the implementation. There's already an issue to express that: https://github.com/iamdustan/smoothscroll/issues/87


Bad mod interaction with other crop mods

Aqua Munda appears to affect the growth of crops from The Agricultural Revolution mod.
The expected behavior is the same as vanilla, where crops will grow to full and can then be harvested.

When Aqua Munda is installed, crops will instead pop off when next to each other - presumably from receiving a block update.  When receiving random tick updates (such as from a watering can), they also constantly yield their seed and fruit, regardless of growth stage.

Note you must replace the farmland block when testing with Aqua Munda, otherwise it behaves normally.
I believe this is caused by the fresh water requirement, which is uprooting the crops.  However this still occurs even when fresh water is nearby.

I did some additional testing with 2 other food mods.

More Foods
Extra Food
Pam's HarvestCraft

I found that seeds from both More Foods and Pam's HarvestCraft popped off immediately when receiving a growth tick, and could not be placed adjacent to each other.  As such I'll update the title to reflect this affecting multiple other mods.
Extra Food worked correctly.  They may use a different crop implementation.

Not sure if I can do much about this. I must replace farmland with my custom version because otherwise my mod cannot work. I believe these other mods are directly comparing if block == FARMLAND instead of doing an instanceof

Have the same issue with Pam's Harvestcraft. I see in your mod that there is a block Farmland but no recipe.
Below, Waila is telling the block is Minecraft Farmland, TOP is telling it is Dirt from Aqua Munda ?
I love this idea of fresh water, love the setup also but If I can't get my Spinach to grow for my Beef Wellington.. yeah then I need to adjust config.. I loved the Harsh settings but this seems to yeah not work right..

Another note on this is that AquaMunda will prevent Actually Additions worms from dropping via tilled earth.

Well this is hard to fix and has to do with Aqua Munda being an overhaul mod. This harsh setting is only useful for packs designed around this


feat: 172281 - shuffle things around based on the excel document

Action
Done?

Code compiles and unit tests all pass locally
❌

Debug/console log code removed
✔

Commented out code removed
✔

Unit tests added/updated
❌

README updated
❌

Considered:  - Performance  - Security  - Logging
✔

Licenses of any new/upgraded dependencies checked, with no copyleft dependencies introduced
✔

https://dev.azure.com/audacia/Audacia/_git/Audacia.Build/pullrequest/50220?_a=files&path=/src/infrastructure/terraform/steps/apply-provision.steps.yaml Would it be possible to add this and the init-provision.steps.yaml as apart of this PR?

https://dev.azure.com/audacia/Audacia/_git/Audacia.Build/pullrequest/50220?_a=files&path=/src/infrastructure/terraform/steps/apply-provision.steps.yaml Would it be possible to add this and the init-provision.steps.yaml as apart of this PR?

FWIW, I have removed these files that Rhys added, as there is a future card for it (#174233)


BUG: Don't stop newly spawned action right away

While checking exit codes a new action can be spawned if there is
a mismatch between expected state and real state. This newly spawned
action was incorrectly stopped right away which caused the action
not to block following status checks. So koi was spawning many
instances of the same action waiting in defunct state. Koi is fixed
such that a newly spawned action will be stopped only if the action
script has completed.

Alright, thank you :)


Add missing usubscription type export, minor qol functions

Minor items:

Missing export of UnsubscribeResponse type in usubscription module
is_empty() checks for UUri and SusbcriberInfo types (will compare with ::default() objects)

@sophokles73 alright this is banged into shape now - can you have a final look?

@sophokles73 alright this is banged into shape now - can you have a final look?


Custom Fonts are not displaying in the Fonts list.

I have imported 3 Fonts

Libre Baskerville Regular
Libre BaskerVille Bold
Libre Baskerville Italic

And they are invisible  under Your Fonts until you click on it.

@chtnha thanks for grabbing this. Couple of things to keep in mind when you report a bug -

Mention the version of Mapbox Studio.
Platform (OS X/Windows/Linux).
Steps to reproduce the problem.

@geohacker  The details are as follows.

Mapbox Studio Version 0.2.7
Platform (OS X Yosemite) Version 10.10.3
Here there are 4 steps

Create a new folder Fonts in .tm2 (Here I have created Studio Practice.tm2) folder of your project.

Download .zip Custom Fonts and extract them.

Copy .ttf files of downloaded fonts and paste into to the Fonts folder.

Open Mapbox Studio and under Your Fonts, the imported fonts are invisible until you click on it.

This is the issue that I faced during importing of fonts from other websites.

See also #1165

@springmeyer Interesting point about the cache. Though @chtnha just got his computer setup with Studio.


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-2.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 331

Questions ?
Please refer to the Backport tool documentation


Update readme.md

link does not work

Fixed now. For the future, this would probably make a better issue than PR since it wasn't really anything merge-able.


Cannot find shell files

root@apkprotector:~# java -jar /usr/protect/executable/dpt.jar -f /root/classes.dex
2024-08-22 18:02:14.587 [main]  dpt-processor   Cannot find shell files!
Can you explain to me a little bit, is it the dex or the apk and why does this error appear? Do you want dex or apk? Can you explain to me how it works or what I'm missing?

???

Hello, dpt.jar should be placed in the same directory as the shell-files folder. And the -f parameter should be followed by an apk file path.

tranks bro


Redirect to django admin from site login

If a superuser enters his credentials in our login page, then the django admin will open instead of the normal homepage(which is opening for other normal users).

@diyajaiswal11 i was thinking of working on this issue, can u please it to me?

Hey @SubhradeepSS , I don't find this to be a valid issue, as a superuser can also visit the website like normal users and if he wants to login through admin, he can do that too easily.