WebView for Flutter - support listen and reacting to URL changes

This looks possible but I can't work out the code to get it to work if it is - I want to listen to URL changes as the user interacts with the site - useful for OAuth login flows and reacting to redirects to custom URLs (e.g. at the end of the OAuth dance).
Is this possible via the current webViewController and currentUrl - I can't get it listen to the initialUrl but no subsequent url change.

@alsocalledchris as a temporary solution you can call currentUrl() every second and check if it contains needed query-params

Thanks - I tried the work-around, would probably work in other scenarios but the URL needed is from a redirect which the widget does not call (presumable as it does not recognise the URL as it's a custom one)

I’ve faced the same issue while implementing oauth in my app. This plugin doesn’t allow me to redirect to URLs like http://my-app.
Solved by adding blank.html file to the root of my website and redirecting to it.

Hi,
In my case, i want to display a floating action button depending on url.
I can't figure out a reactive way to check .currentUrl().
I tried to use flutter_webview_plugin because it has onUrlChange() but you can't overlay anything because the webview created with this package is in foreground.
Is there any way to achieve my goal other than just call .currentUrl() in a timeout method ?

There is a way if you know on what URL you need to put action button on, Through NavigationDelegate you can put a condition that when the user navigates to certain URL you change your view accordingly. Hope it helps and also take a look at onPageFinished method.

@Sarthaktydy I'll try that thanks !

I tried the above solution. I have an PWA/VueJS app that I am using that is not detecting the currentUrl change in NavigationDelegate. Only works if I have a real link change which reloads the entire page. I don't see any issues opened for url changes not working on PWA sites.

I tried the above solution. I have an PWA/VueJS app that I am using that is not detecting the currentUrl change in NavigationDelegate. Only works if I have a real link change which reloads the entire page. I don't see any issues opened for url changes not working on PWA sites.

Webview has an issue reading URL that contains "#" inside it. Check if you have a similar test case.

Any update on this?

Any update on this? It is really required

This is super needed for flutter web to be flexible.

Please stop commenting on problems things like at:

any update on this

The best option is to add this emoji :+1: in the initial comment.
To see a priority of each issue, we can see in which Milestone the issue is added. This issue belongs
to milestone Goals, with this description:

P2: These are tasks we think are worth fixing in the coming years. It includes issues we've identified that might block fully shipping broad consumer-facing apps, correctness issues, and bugs relating to polish and quality. The date on this milestone is utterly arbitrary and just intended to sort the milestone appropriately.

Thank

@deandreamatias of course people should not comment on issues with messages like any update on this and only use emojis. But using emojis won't trigger a notification for the participants and thus the issue won't be seen.
Commenting is the only way to make the issue stand out. This is not a user issue. This is a platform issue. Users a just abusing it.

lol, 2020 and still no change

does anyone has a solution for this?

IMO having a functional WebView is a big thing. By functional I mean stuff like this issue and more. Otherwise it is really handicapped and not very useful besides loading URLs and showing their content.  i.e. I've done plenty of hybrid (Xamarin) apps that rely on WebView and, event though I'd really wish, I can't switch to flutter or start new apps with flutter until WebView is first class citizen. I assume I'm not alone.

Aren't onPageStarted and onPageFinished useful in this?

Aren't onPageStarted and onPageFinished useful in this?

Nope doesn't work.
This feature is really need imo. Working with PWA's is impossible with this WebView :(

This is easily fixed with navigationDelegate, the widget gives everything you need:
    navigationDelegate: (action) {                     launch(action.url);                     return NavigationDecision.prevent;                   },
You can prevent any navigation, and use https://pub.dev/packages/url_launcher to launch it

This is easily fixed with navigationDelegate, the widget gives everything you need:
 navigationDelegate: (action) { launch(action.url); return NavigationDecision.prevent; },
You can prevent any navigation, to avoid 'url_scheme' error, and use https://pub.dev/packages/url_launcher to launch it

It does not work when accessing a PWA that changes url without reloading the whole page.

I've tried the navigationDelegate, onPageStarted/Finished with webViewController.currentUrl but they are only catching the redirects to outer urls. I have like www.mydomain.com/news and inside I have an article www.mydomain.com/news?articleId=1 and none of the mentioned methods catches the url change. Any updates or suggestions?

hi, has anyone been able to solve this problem??

Я пробовал navigationDelegate, onPageStarted/Finished с webViewController.currentUrl, но они перехватывают только перенаправления на внешние URL-адреса. Мне нравится www.mydomain.com/news , а внутри у меня есть статья www.mydomain.com/news?articleId=1 , и ни один из упомянутых методов не улавливает изменение URL-адреса. Любые обновления или предложения?

I've tried the navigationDelegate, onPageStarted/Finished with webViewController.currentUrl but they are only catching the redirects to outer urls. I have like www.mydomain.com/news and inside I have an article www.mydomain.com/news?articleId=1 and none of the mentioned methods catches the url change. Any updates or suggestions?

I have the same problem, did you manage to get around it somehow? thank you)

really need this

Any update?

Is this possible now? @bparrishMines @stefanmusat ?


aiohttp: move idna-ssl into propogatedBuildInputs

Motivation for this change
Fixes #51009
I have no idea what the side effects may be of this change, but it does seem to solve the issue. If I need to do more testing, or my commit format is not correct, please let me know.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

See https://github.com/aio-libs/aiohttp/blob/0c54bef942a076ba4bee5b66e9ba5ba33b7a6176/setup.py#L94 for why it was included for Python<3.7 only.
I can build aiohttp just fine without so I don't get what the problem is.

@dotlambda  Thank you for fixing this!


Zuul Gateway - Broken Pipe issue for Request Payload more than 4MB (non-fileupload but as a request body)

Got the below Broken Pipe issue when i am trying to with Payload of size more than 4MB. Appreciate if any insight on what is wrong in my current configuration. I am still figuring out a way to send the request payload in chunks but not there yet wrt to implementation to choose.
My Current configuration is -
No Eureka, No RibbonRouting and Only SimpleHostRouting. Also I fetching the routes information from the DB store by overriding the SimpleRouteLocator methods.
Also below is additional configuration i have in my Zuul gateway -
zuul.ribbon-isolation-strategy=THREAD
zuul.host.connect-timeout-millis=30000
zuul.host.socket-timeout-millis=30000
zuul.host.max-total-connections=200
zuul.host.max-per-route-connections=50
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=30000

java.net.SocketException: Broken pipe (Write failed)
                at java.net.SocketOutputStream.socketWrite0(Native Method)
                at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)
                at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
                at org.apache.http.impl.io.SessionOutputBufferImpl.streamWrite(SessionOutputBufferImpl.java:124)
                at org.apache.http.impl.io.SessionOutputBufferImpl.flushBuffer(SessionOutputBufferImpl.java:136)
                at org.apache.http.impl.io.SessionOutputBufferImpl.write(SessionOutputBufferImpl.java:167)
                at org.apache.http.impl.io.ContentLengthOutputStream.write(ContentLengthOutputStream.java:113)
                at org.apache.http.entity.InputStreamEntity.writeTo(InputStreamEntity.java:144)
                at org.apache.http.impl.execchain.RequestEntityProxy.writeTo(RequestEntityProxy.java:123)
                at org.apache.http.impl.DefaultBHttpClientConnection.sendRequestEntity(DefaultBHttpClientConnection.java:156)
                at org.apache.http.impl.conn.CPoolProxy.sendRequestEntity(CPoolProxy.java:162)
                at org.apache.http.protocol.HttpRequestExecutor.doSendRequest(HttpRequestExecutor.java:238)
                at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:123)
                at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:271)
                at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
                at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
                at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
                at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
                at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:117)
                at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
                at org.springframework.cloud.netflix.zuul.filters.route.SimpleHostRoutingFilter.forwardRequest(SimpleHostRoutingFilter.java:364)
                at org.springframework.cloud.netflix.zuul.filters.route.SimpleHostRoutingFilter.forward(SimpleHostRoutingFilter.java:290)
                at org.springframework.cloud.netflix.zuul.filters.route.SimpleHostRoutingFilter.run(SimpleHostRoutingFilter.java:181)
                at com.netflix.zuul.ZuulFilter.runFilter(ZuulFilter.java:112)

You'll need to use the /zuul prefix. See http://cloud.spring.io/spring-cloud-static/Dalston.SR2/#_uploading_files_through_zuul

@spencergibb I thought initially i am good with this but now i am again seeing Broken pipe issue even after doing this. Just to clarify my payload is currently as a request body not as file. Kindly let me know if there is any way i can fix this.

Also some times i see
java.net.SocketException: Connection reset by peer: socket write error

@spencergibb can you please open this issue again.

@stiyyagura can you provide a sample that reproduces the issue?

@stiyyagura did you use the /zuul path?

Is this issue fixed? or any workaround for this?

Any update/workaround for this problem?

no we were waiting to hear back from the author

This issue is resolved as per the suggestion provided by @spencergibb

You'll need to use the /zuul prefix. See http://cloud.spring.io/spring-cloud-static/Dalston.SR2/#_uploading_files_through_zuul

@spencergibb  @stiyyagura I am not able to access this link. I am also facing the same issue intermittently.


[draft] add vcpkg support

This is by far the smallest (read clean) cmake quickstart I have seen.  At the risk of adding bloat I made a change so that vcpgk can be used instead of git submodules.  To do that I did break use_submodules and changed it to externals with values of submodules, vcpkg, and none.  I do not like the name for externals, but its a draft.  My big concern is that I was unable to get some of the tests to pass on my system dispite manually touchtesting working.  I will argue that untested code is implicitly broken code ;)  I am not interested in wasting your time, so if you are not interested in this PR I can continue on my own, since it works for my specific needs.  If you are interested and could offer a little guidence on why its failing that would be awesome.  Thanks for you awesome cookie cutter!

Hrm.  I have vcpkg installed here, so those tests fail on CI.  I am not sure if there is a way to cache the binaries for that though, since that could blow up the CI server rebuilding the packages.

@geiseri thank you for this contribution! I haven't had time to look into this properly yet, but maybe adding https://github.com/marketplace/actions/run-vcpkg to the CI jobs would be the way to get the CI to work? (it also caches the binaries)

I also like the contribution in general and in particular the refactoring towards a more versatile externals parameter. Given that I have no experience with vcpkg, I struggle to fix the testing issues myself however. @geiseri Are purely local tests (run: pytest -m local) passing on your machine? How does the test suite learn where your vcpkg installation is located? Through an env variable VCPKG_ROOT?


What is the licence of the project?

I'm curious about the licence of this project before tinkering with the code. Thanks!

I added Apache License.
Thank you, I totally forgot to create the license file :D


TST: Add pandas BigQuery credentials to enable integration testing

Closes #5
The Dataset that is created during testing will include the current python version in the Dataset name in order to avoid conflicts when multiple python versions are tested simultaneously in the same BigQuery project.
@jreback

Codecov Report

Merging #9 into master will increase coverage by 54.8%.

@@            Coverage Diff             @@
##           master       #9      +/-   ##
==========================================
+ Coverage   30.45%   85.25%   +54.8%
==========================================
  Files           3        3
  Lines        1100     1099       -1
==========================================
+ Hits          335      937     +602
+ Misses        765      162     -603

Impacted Files
Coverage Δ

pandas_gbq/tests/test_gbq.py
90.01% <100%> (+48.53%)
:white_check_mark:

pandas_gbq/gbq.py
79.03% <ø> (+63.1%)
:white_check_mark:

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 3c4a328...33664d6. Read the comment docs.

lgtm. looks like 3.5/3.6 passed but others having issues.

@parthea can you update?

I'm on it

thanks @parthea

@parthea actually master now failing :<

Some gbq tests are flaky. The tests should pass if we retry the build. I'm going to create a new issue to capture flaky tests.
I'm also going to look at how we can handle the following error:
GenericGBQException: Reason: backendError, Message: Error encountered during execution. Retrying may solve the problem.

@parthea no problem.
I think it might be wise to have a version of this decorator: https://github.com/pandas-dev/pandas/blob/master/pandas/util/testing.py#L2145
(and some associated machinery), though this should be somewhat simpler as it will be specific to the gbq service.

https://pypi.python.org/pypi/flaky might be interesting


wt.exe mybatch.cmd runs the batch file and exits, need it to stay open

Environment
Windows build number: Microsoft Windows [Version 10.0.18362.720]
Windows Terminal version (if applicable): Windows Terminal (Preview) Version: 0.10.761.0

Any other software? No

Steps to reproduce
wt.exe mybatchfile.cmd
Expected behavior
wt.exe runs the batch file and stays open kind of like cmd.exe /k mybatchfile.cmd
Actual behavior
Batch file is run and then the terminal exits.

This is operating as expected: if the batch file exits successfully, it will result in the terminal closing. If it fails, it will result in the terminal staying open.
If you want to keep it open, be explicit and say wt cmd /k mybatchfile.cmd.

This command line argument isn't mentioned in the --help popup.


Cleanup initialization where the default value is the same.

This should address all codacy reported 'performance' issues

Changes look good.

Looks good to me too


chore(README): update spacing

Is there a particular reason for going with spaces over tabs aside from it making it more condensed? Is it causing problems for you in any particular way or causing vscode to complain about improper formatting? If it is causing problems I will absolutely consider merging the pull, but if not I think it would be more hassle for me to keep the formatting like that as I prefer to use tabs and so all of my settings enforce tabs which would make it extra work on my end to ensure any changes I make to this file in the future does not introduce tabs back into it and make the formatting inconsistent.

Is there a particular reason for going with spaces over tabs aside from it making it more condensed? Is it causing problems for you in any particular way or causing vscode to complain about improper formatting? If it is causing problems I will absolutely consider merging the pull, but if not I think it would be more hassle for me to keep the formatting like that as I prefer to use tabs and so all of my settings enforce tabs which would make it extra work on my end to ensure any changes I make to this file in the future does not introduce tabs back into it and make the formatting inconsistent.

It's not because anything is broken per say, it's purely to make the REAMDE more readable on GitHub.
I have no preference otherwise, it was just difficult to parse because of the large spacing, see below for example:


Classes duplication while referring to other components

Hi!
I'm using this example from DOCs:
const Link = styled.a`
  display: flex;
  align-items: center;
  padding: 5px 10px;
  background: papayawhip;
  color: palevioletred;
`;

const Icon = styled.svg`
  flex: none;
  transition: fill 0.25s;
  width: 48px;
  height: 48px;

  ${Link}:hover & {
    fill: rebeccapurple;
  }
`;

And I'm getting two equal classes as a result:
<style>
.personal-Link_cls1_uWdjk {
  display: flex;
  align-items: center;
  padding: 5px 10px;
  background: papayawhip;
  color: palevioletred;
}
</style>
<style>
.personal-Link_cls1_uWdjk {
  display: flex;
  align-items: center;
  padding: 5px 10px;
  background: papayawhip;
  color: palevioletred;
}
</style>

Is it how referring to other components works? Or should I do it differently? Thanks for the best css-in-js library!

it shouldn't create multiple classes, what is your build setup? webpack?

Hi. Yes. Sorry for not mentioning that. We are using webpack and this is a part of our config.js file:
{
  test: /\.js$/,
  exclude: /node_modules/,
  use: [
    'babel-loader',
    {
      loader: 'astroturf/loader',
      options: { allowGlobal: true }
    }
  ]
}

We are also using Babel, so here is a part of our .babelrc file:
"test": {
  ...,
  [
    "astroturf/plugin",
    {
      "allowGlobal": true,
      "writeFiles": false
    }
  ],
  ...
}

Astroturf version is 0.9.21.

haven't had a chance to take a look yet. your setup looks fine, it may be a css-loader issue tho...

Hi! Any news here?


BC break: Splitting the package into 3 separate packages to ease maintenance

In version 4.0 the URI modifiers are tied to the URI package. To improve the URI package maintenance the Modifiers will be moved to their own package.
The Modifiers will still require the main URI package but the main URI package will not require the modifier package.

Here is the re-structuration I'm proposing for the next major release. Hope this will help maintaining the code more easily.

uri-components:

This package will contain all URI components and their respective Interface as well as the QueryParser class. The only external dependency will be with jeremykendall package domain parser. Technically speaking this is the core package as the two other packages will depend on it. I'll suggest install the other two packages in its composer manifest. The namespace prefix will be League\Uri\Components

uri:

This is a stripped down version of the current package. The package will include the URI objects, the generic UriInterface as well as the RFC3986 compliant parser. The namespace prefix will be League\Uri\Schemes. It will require:
- The uri-components package to create the URI objects.

uri-manipulation:

This package aimed at easing manipulating URI objects that are either implementing the PSR-7 UriInterface class of the more generic League\Uri\Schemes\Uri. It will require :
- The uri package to get access to the generic UriInterface.
- The Psr-7 Interface package to get access the PSR-7 UriInterface
- The uri-components package to enable manipulating URI parts.
Because it will require the uri package il will provide a PSR-7 UriInterface implementation but is will never be bound to this specific implementation.
To gain the v4 capability one will have to install all the packages.
In closing the was an alternative which was to create 4 packages with the 4th package being composed of Interfaces only to avoid uri-manipulation to require the uri package completely.
Thoughts, remarks are welcomed

Rather than requiring users to install all of the packages separately, why not make uri a meta-package that requires all dependencies? That way end users don't need to make significant changes to their composer configuration. In essence:
league/uri requires:

league/uri-components
league/uri-parser
league/uri-maniuplation

@shadowhand I like this idea but rather that league/uri-parser I would call it league/uri-schemes but that's me nitpicking.

@nyamsprod that makes sense. Naming things is hard and I'm not that familiar with the package.

The package is split into these following sub package:

league uri interfarces
league uri parser
league uri components
league uri schemes
league uri manipulations

Once each package are stabilized will we release league\Uri as a meta package 👍 to reduce BC break.


migrating from another server

Hi,
I am migrating lists from another server to a new image.  My process is as follows:
tar up the following directories on the old server:
/var/lib/mailman/archives/private/[list].mbox
/var/lib/mailman/archives/private/[list]
/var/lib/mailman/lists/[list]/
and then I untar them on the container - I have mounted volumes as follows:
-v $(pwd)/lists:/var/lib/mailman/lists
-v $(pwd)/archives:/var/lib/mailman/archives \
I execute a shell on the docker image:
docker exec -it mailman /bin/bash
and check the permissions (repeat if it fails):
/usr/lib/mailman/bin/check_perms -f
I then fix the links:
/usr/lib/mailman/bin/withlist -l -r fix_url [list] -v -u [website url]
At this point I can browse all of my archives.
I send an email to the list address and it arrives at the server - /var/log/exim4/mainlog shows:
2021-04-16 15:46:28 1lXQfs-0000zK-5y <=<EMAIL_ADDRESS>H=(sa.[tld]) [redacted ip] P=esmtps X=TLS1.0:DHE_RSA_AES_256_CBC_SHA1:256 CV=no S=1565<EMAIL_ADDRESS>2021-04-16 15:46:28 1lXQfs-0000zK-5y => tech<EMAIL_ADDRESS>R=mailman_router T=mailman_transport
2021-04-16 15:46:28 1lXQfs-0000zK-5y Completed
As I understand it, all of the subscribed users on the list should receive a copy of that email - but they do not.
Have I missed a step in the migration ?  Do I need to regenerate some aliases ??
Thanks for any help you might be able to provide.

BTW - I can send email as per the suggestion you made in this post:
https://github.com/Angatar/mailman2/issues/1#issuecomment-649403284

I have successfully migrated from a server to this container (with 11 years of archive history) using the following approach:
Backup data from the old server

Backup the lists (not actually used)
tar -zcvf /tmp/mailman-lists.tgz /var/lib/mailman/lists/*
Backup the archives (mbox & html pages of archives)
tar -zcvf /tmp/mailman-archive.tgz /var/lib/mailmain/archives/*
For each list, export the configuration:
/usr/lib/mailman/bin/config_list -o /tmp/[LISTNAME].conf [LISTNAME]
For each list, export the subscribers in csv format (I used this script: https://www.msapiro.net/scripts/mailman-subscribers.py)
./mm-subscribers.py -c -o [LISTNAME].csv [LIST URL] [LISTNAME] [LIST ADMIN PASSWORD]
copy these files to your docker host

Setup the new docker container

I created volumes for lists and archives & lists

docker volume create mailman-archives
docker volume create mailman-lists

Use these volumes in your container setup (e.g. docker run)

-v mailman-archives:/var/lib/mailman/archives \
-v mailman-lists:/var/lib/mailman/lists \

create the lists using 'newlist'
docker exec -it mailman newlist [LISTNAME]
copy the list config files to the docker container and import them
docker cp *.conf mailman:/tmp/ docker exec -it mailman /bin/bash /usr/lib/mailman/bin/config_list -i /tmp/[LISTNAME].conf [LISTNAME]
import archives

cp -ar [LISTNAME]/* /var/lib/docker/volumes/mailman-archives/_data/private/[LISTNAME]/
chown -R root.list /var/lib/docker/volumes/mailman-archives/_data/private/[LISTNAME]

import users - I opened the csv files in a spreadsheet application and copied the email addresses in to the mass subscription box in the web interface of mailman.  This was not ideal because it does not update the other fields such as name and moderation status.
I changed the aliases on the old server so they would forward to the new server (during the decommissioning period)
I changed entries in /etc/aliases:
mailman-admin:        "|/var/lib/mailman/mail/mailman admin mailman"
to
mailman-admin<EMAIL_ADDRESS>DOCKER CONTAINER]
Refresh the aliases
newaliases

Glad that you migrated successfully from your existing server to this container and thank you very much for sharing your migration process here! Your post will for sure helps similar migrations and I'll point to it for reference.


maizzle-cli: use buildNpmPackage

Description of changes
See https://github.com/NixOS/nixpkgs/issues/229475

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

cc @happysalada who originally packaged it in https://github.com/NixOS/nixpkgs/pull/234332

Code looks good and I've just tested a --help on linux-x86_64 and it worked like a charm.
I'll let you choose what you feel most comfortable with regarding to the naming, but for me this is ready to merge.
Thank you for taking this task!


Patches for 4.19.14123

[X] Upload testdata (@geek1011)
[x] Find libnickel offsets (@geek1011)
[x] Update patches (@geek1011)
[x] Update nickel and rmsdk patches (@geek1011)
[x] Update 24 line spacing values (@geek1011 or Semwize)
[x] Rewrite patches

[x] Swap header/footer (@geek1011)
[x] Reduce new header/footer height (@jackiew1  or @geek1011)
[x] Custom new header/footer font (@jackiew1  or @geek1011)
[x] Custom page navigation scrubber (@jackiew1 or @geek1011)
[x] Default ePub monospace font (Courier) (@geek1011 or @geoffreynolds)
[x] Disable orphans/widows avoidance (@geek1011 or @geoffreynolds)
[x] Freedom to advanced fonts control (@geek1011)
[x] Remove forgot pin button from lock screen (@geek1011)
Anything else? (TODO)

[x] Test most patches, especially 24 line spacing values, custom font sizes, smartlink, rotation, and header/footer patches (@geek1011)
[x] Make release (@geek1011)
[x] MR post (@geek1011)

@jackiew1, the header/footer related patches need to be updated/rewritten. If you can't get around to it tonight, I'll probably do them, but comment before starting to work on them.

And, I'll probably add this to the repo later, but here's a useful Hopper script to transfer most offsets between versions which I've been using for a while:
# Transfer the position (symbol+offset) from the first open file to the second, and print offset/instruction info.
old, new = Document.getAllDocuments()
print("> %s -> %s" % (old.getDocumentName(), new.getDocumentName()))

old_seg         = old.getCurrentSegment()
old_addr        = old.getCurrentAddress()
old_proc        = old.getCurrentProcedure()
old_proc_sig    = old_proc.signatureString()
old_proc_base   = old_proc.getEntryPoint()
old_proc_offset = old_addr - old_proc_base
old_inst        = old_seg.readBytes(old_addr, old_seg.getInstructionAtAddress(old_addr).getInstructionLength())

print("0x%X 0x%X+%d %s %s" % (old_addr, old_proc_base, old_proc_offset, old_proc_sig, " ".join("%02X" % ord(c) for c in old_inst)))

new_seg = new.getCurrentSegment()
for i in range(new_seg.getProcedureCount()):
    new_proc        = new_seg.getProcedureAtIndex(i)
    new_proc_sig    = new_proc.signatureString()
    new_proc_base   = new_proc.getEntryPoint()
    new_proc_offset = old_proc_offset
    new_addr        = new_proc_base + new_proc_offset

    if new_proc_sig == old_proc_sig:
        new_inst = new_seg.readBytes(new_addr, new_seg.getInstructionAtAddress(new_addr).getInstructionLength())
        print("0x%X 0x%X+%d %s %s" % (new_addr, new_proc_base, new_proc_offset, new_proc_sig, " ".join("%02X" % ord(c) for c in new_inst)))
        new.setCurrentAddress(new_addr)
        break

The new firmware adds scrollbars to the settings page. I find these slightly off-putting, so I might make a patch to remove them. I see why they were added, though.

@jackiew1, the header/footer related patches need to be updated/rewritten. If you can't get around to it tonight, I'll probably do them, but comment before starting to work on them.

@geek1011 ,
I won't have time to deal with this properly until tomorrow afternoon. Too much going on tonight to give it the concentration it needs (... and no I haven't started the Christmas drinking early!)

OK, I'll see if I can fix it easily tonight, and if not, I'll still release the patches, and have those updated with the next update (I'll be making a new patch for then too).

A note to myself about the font sizes patch: the list appending was inlined by gcc, so that's why the offsets are different.

The Freedom to advanced fonts control patch has been completely messed up, and needs to be rewritten. The entire font settings handling seems to have been refactored.

I've finished with the libnickel offsets, and just need to look at the nickel and libadobe stuff.
Also, Remove forgot pin button from lock screen needs to be rewritten.

@jackiew1, I've fixed Custom new header/footer font, which needed one additional replacement to split the trilogy header/footer styles and which doesn't need the locale stuff to be removed to make space anymore.
        # Don't change the following pair. It exists to split the header/footer styles
        # which were merged in 4.19.14123.
        - Find:    "#caption[newHeader=true][qApp_deviceIsTrilogy=true],\n#caption[newFooter=true][qApp_deviceIsTrilogy=true] {\n  font-size: 13px;\n}"
          Replace: "#caption[newHeader=true][qApp_deviceIsTrilogy=true] {\n  font-size: 13px;\n}\n#caption[newFooter=true][qApp_deviceIsTrilogy=true] {\n  font-size: 13px;\n}"

@jackiew1, Custom page navigation scrubber didn't need the locale stuff to be removed to make space either.

@jackiew1, for Reduce new header/footer height, the [newNavHeight] property isn't used anymore, and the styles are directly applied on ReadingFooter. I just needed to change the selector names.

The 'Default ePub monospace font (Courier)' patch in librmsdk.so.1.0.0.yaml will need some work. I think I know what needs to be done but anything to do with fonts usually needs a lot of testing.
On the bright side this change appears to have gone part way to fixing the lack of a monospace font for standard epub. Still no actual monospace font included in the fw, though.
It's possible that the patch will be able to be removed altogether. Will investigate properly when I have more time.

I'll see what I can do with that one (I'm actually looking at it right now), but I'll most likely save it for the next update if the fix isn't obvious.

I'm going to remove the patch for this release. If another patch is needed, it'll be a completely new one, so there's no point keeping this one around.

All that was needed for Disable orphans/widows avoidance is an offset update, probably due to the changes for the monospace font.
I'm going to take a short break now, and will finish up with the libnickel stuff after.

@jackiew1, Custom page navigation scrubber didn't need the locale stuff to be removed to make space either.

@geek1011, The locale stuff isn't needed if the patch is enabled as-is, but some of the Replaces in sections 1b & 2b, (which are commented out by default but where the user can be creative with CSS if they want) could possibly cause 'too long' errors.
We can remove them if you prefer. Kobo seem to be doing quite a lot of work with Chinese locales in recent firmwares so patches that reference them keep breaking. It's easy enough to add them back if someone gets really verbose with extra CSS then reports an error. There are probably very few users using lengthy extra CSS.

@jackiew1, thanks for clarifying that. It's up to you what you want to do with those patches. Here is what I have right now:

Reduce new header/footer height:
  - Enabled: no
  - Description: |
        Reduce new reading header/footer heights when they are enabled.
        Affects both ePubs and KePubs.
        This patch may be of interest to those who used to enable the old
        "Custom menubar - reduce height by 33%"
  - FindZlib: "ReadingFooter"
  - ReplaceZlibGroup:
      # Adjust the Replace values of min-height/max-height as you wish.
      # Keep min-height=max-height
      Replacements:
        # ReadingFooter Reduce min/max height by 33%
        # Touch/Mini (Trilogy)
      - Find:    "ReadingFooter[qApp_deviceIsTrilogy=true] {\n  min-height: 56;\n  max-height: 56px;\n}"
        Replace: "ReadingFooter[qApp_deviceIsTrilogy=true] {\n  min-height: 37px;\n  max-height: 37px;\n}"
        # Glo/Aura/Aura2E (Phoenix)
      - Find:    "ReadingFooter[qApp_deviceIsPhoenix=true] {\n  min-height: 71px;\n  max-height: 71px;\n}"
        Replace: "ReadingFooter[qApp_deviceIsPhoenix=true] {\n  min-height: 47px;\n  max-height: 47px;\n}"
        # AuraHD/H2O/GloHD/ClaraHD (Dragon)
      - Find:    "ReadingFooter[qApp_deviceIsDragon=true] {\n  min-height: 101px;\n  max-height: 101px;\n}"
        Replace: "ReadingFooter[qApp_deviceIsDragon=true] {\n  min-height: 66px;\n  max-height: 66px;\n}"
        # AuraOne/Forma (Daylight)
      - Find:    "ReadingFooter[qApp_deviceIsDaylight=true] {\n  min-height: 131px;\n  max-height: 131px;\n}"
        Replace: "ReadingFooter[qApp_deviceIsDaylight=true] {\n  min-height: 86px;\n  max-height: 86px;\n}"
        # LibraH2O (Storm)
      - Find:    "ReadingFooter[qApp_deviceIsStorm=true] {\n  min-height: 118px;\n  max-height: 118px;\n}"
        Replace: "ReadingFooter[qApp_deviceIsStorm=true] {\n  min-height: 78px;\n  max-height: 78px;\n}"
Custom new header/footer font:

Enabled: no

Description: |
This patch allows you to change font-family and/or font-size in the
new header/footer. They will automatically be a matched pair. Full details & screenshots at
https://www.mobileread.com/forums/showpost.php?p=3897175&postcount=4
N.B: This patch is not suitable for Japanese/Chinese locale users

FindZlib: "ReadingFooter"

ReplaceZlibGroup:
Replacements:
# Part 1. Customise font-family (built-in or sideloaded font)
#         Please see notes at
#         https://www.mobileread.com/forums/showpost.php?p=3896190&postcount=2
#         for general considerations whenever you change font-family in the Kobo GUI
# #caption[newHeader=true] and #caption[newFooter=true]
# N.B: If new font-family contains spaces wrap in 'single quotes', e.g. 'Kobo Nickel'

# Un-comment and edit replacement font-family to change header/footer font
#- {Find: "font-family: Avenir;", Replace: "font-family:Avenir;"}

# Part 2.
#   2a. Customise font-size for header/footer
#   2b. (optional) Fine-tune footer text position to avoid cutting bottom progressbar
#       (optional) Fine-tune header text position to avoid possible shadow from top bezel
#       May be useful to those who have also enabled patch 'Reduce new header/footer height'
#       and have customised it to aggressively reduce header/footer height.

# 2a. Change font-size for models other than Touch/Mini (header & footer simultaneously)
# #caption[newHeader=true] & #caption[newFooter=true]
  # Glo/Aura/Aura2E (Phoenix)
- Find:    "[qApp_deviceIsPhoenix=true] {\n  font-size: 16px;\n}"
  Replace: "[qApp_deviceIsPhoenix=true] {\n  font-size: 16px;\n}"
  # AuraHD/H2O (Dragon)
- Find:    "[qApp_deviceIsDragon=true] {\n  font-size: 21px;\n}"
  Replace: "[qApp_deviceIsDragon=true] {\n  font-size: 21px;\n}"
  # GloHD (Alyssum)
- Find:    "[qApp_deviceIsAlyssum=true] {\n  font-size: 23px;\n}"
  Replace: "[qApp_deviceIsAlyssum=true] {\n  font-size: 23px;\n}"
  # ClaraHD (Nova)
- Find:    "[qApp_deviceIsNova=true] {\n  font-size: 23px;\n}"
  Replace: "[qApp_deviceIsNova=true] {\n  font-size: 23px;\n}"
  # LibraH2O (Storm)
- Find:    "[qApp_deviceIsStorm=true] {\n  font-size: 25px;\n}"
  Replace: "[qApp_deviceIsStorm=true] {\n  font-size: 25px;\n}"
  # AuraOne/Forma (Daylight)
- Find:    "[qApp_deviceIsDaylight=true] {\n  font-size: 27px;\n}"
  Replace: "[qApp_deviceIsDaylight=true] {\n  font-size: 27px;\n}"

# N.B: If you do not have a Touch/Mini and your header/footer
#      positions are exactly as you like them you do not need the
#      next 3 Find/Replace pairs.
#      Leave them as-is or comment them out entirely and forget about them.

# Don't change the following pair. It exists to split the header/footer styles
# which were merged in 4.19.14123.
- Find:    "#caption[newHeader=true][qApp_deviceIsTrilogy=true],\n#caption[newFooter=true][qApp_deviceIsTrilogy=true] {\n  font-size: 13px;\n}"
  Replace: "#caption[newHeader=true][qApp_deviceIsTrilogy=true] {\n  font-size: 13px;\n}\n#caption[newFooter=true][qApp_deviceIsTrilogy=true] {\n  font-size: 13px;\n}"

# 2a. Touch/Mini users only: Adjust footer font-size as required.
# 2b. All models (optional): Fine-tune footer position by adjusting margin-top value
#     A negative margin-top (e.g -10px) moves the footer text slightly upwards
#     further from the bottom bezel/progressbar, closer to the page content
- Find:    "#caption[newFooter=true][qApp_deviceIsTrilogy=true] {\n  font-size: 13px;\n}"
  Replace: "#caption[newFooter=true] {\n  font-size: 13px; margin-top: 0px;}"

# 2a. Touch/Mini users only: Adjust header font-size as required.
# 2b. All models (optional): Fine-tune header position by adjusting margin-bottom value.
#     A negative margin-bottom (e.g -10px) moves the header text slightly downwards
#     further from the top bezel, closer to the page content
- Find:    "#caption[newHeader=true][qApp_deviceIsTrilogy=true] {\n  font-size: 13px;\n}"
  Replace: "#caption[newHeader=true] {\n  font-size: 13px; margin-bottom: 0px;}"

Custom page navigation scrubber:

Enabled: no

Description: |
This patch allows you to customise various parts of the new 'scrubber'. Full details & screenshots at:
https://www.mobileread.com/forums/showpost.php?p=3897174&postcount=3
N.B: This patch is not suitable for Japanese/Chinese locale users

FindZlib: "#scrubberContainer"

ReplaceZlibGroup:
Replacements:
# Part 1. Customise all 3 of these buttons
#    - Left & Right 'Back to page nnn' (#revertLeft, #revertRight)
#    - Current chapter name (#chapter)
# 1a. Customise font-size for desired model(s):
  # Touch/Mini (Trilogy)
- Find:    "[qApp_deviceIsTrilogy=true] {\n  font-size: 19px;"
  Replace: "[qApp_deviceIsTrilogy=true] {\n  font-size: 19px;"
  # Glo/Aura/Aura2E (Phoenix)
- Find:    "[qApp_deviceIsPhoenix=true] {\n  font-size: 23px;"
  Replace: "[qApp_deviceIsPhoenix=true] {\n  font-size: 23px;"
  # AuraHD/H2O (Dragon)
- Find:    "[qApp_deviceIsDragon=true] {\n  font-size: 29px;"
  Replace: "[qApp_deviceIsDragon=true] {\n  font-size: 29px;"
  # GloHD (Alyssum)
- Find:    "[qApp_deviceIsAlyssum=true] {\n  font-size: 32px;"
  Replace: "[qApp_deviceIsAlyssum=true] {\n  font-size: 32px;"
  # ClaraHD (Nova)
- Find:    "[qApp_deviceIsNova=true] {\n  font-size: 32px;"
  Replace: "[qApp_deviceIsNova=true] {\n  font-size: 32px;"
  # LibraH2O (Storm)
- Find:    "[qApp_deviceIsStorm=true] {\n  font-size: 34px;"
  Replace: "[qApp_deviceIsStorm=true] {\n  font-size: 34px;"
  # AuraOne/Forma (Daylight)
- Find:    "[qApp_deviceIsDaylight=true] {\n  font-size: 37px;"
  Replace: "[qApp_deviceIsDaylight=true] {\n  font-size: 37px;"

# 1b. Customise other font properties of these 3 buttons (all models):
#     - font-family (built-in or sideloaded font)
#         NB: If new font-family name contains spaces, wrap in 'single quotes',
#             e.g. font-family:'Kobo Nickel';
#     - font-weight (bold or normal)
#     - font-style  (italic or normal)
- Find:    "{\n  font-family: Avenir;\n  font-weight: bold;\n  font-style: normal;\n}"
  Replace: "{font-family:Avenir; font-weight:bold; font-style:normal;}"
# Users with CSS knowledge can add extra style properties as desired,
# e.g. to make them look more like buttons and less like labels,
#      use this Replace instead. If it can be done with CSS you can do it here.
  #Replace: "{font-family:Avenir; font-weight:normal; font-style:normal; background-color:#ddd;}"

# Part 2. Customise the central 'Page x of y' label (#page)
#         Provided for those who want to create a uniform look & feel
# 2a. Customise font-size for desired model(s):
  # Touch/Mini (Trilogy)
- Find:    "#page[qApp_deviceIsTrilogy=true] {\n  font-size: 17px;"
  Replace: "#page[qApp_deviceIsTrilogy=true] {\n  font-size: 17px;"
  # Glo/Aura/Aura2E (Phoenix)
- Find:    "#page[qApp_deviceIsPhoenix=true] {\n  font-size: 22px;"
  Replace: "#page[qApp_deviceIsPhoenix=true] {\n  font-size: 22px;"
  # AuraHD/H2O (Dragon)
- Find:    "#page[qApp_deviceIsDragon=true] {\n  font-size: 26px;"
  Replace: "#page[qApp_deviceIsDragon=true] {\n  font-size: 26px;"
  # GloHD (Alyssum)
- Find:    "#page[qApp_deviceIsAlyssum=true] {\n  font-size: 30px;"
  Replace: "#page[qApp_deviceIsAlyssum=true] {\n  font-size: 30px;"
  # ClaraHD (Nova)
- Find:    "#page[qApp_deviceIsNova=true] {\n  font-size: 30px;"
  Replace: "#page[qApp_deviceIsNova=true] {\n  font-size: 30px;"
  # LibraH2O (Storm)
- Find:    "#page[qApp_deviceIsStorm=true] {\n  font-size: 30px;"
  Replace: "#page[qApp_deviceIsStorm=true] {\n  font-size: 30px;"
  # AuraOne/Forma (Daylight)
- Find:    "#page[qApp_deviceIsDaylight=true] {\n  font-size: 34px;"
  Replace: "#page[qApp_deviceIsDaylight=true] {\n  font-size: 34px;"

# 2b. Customise other font properties of 'Page x of y' label (all models)
#     e.g. text-transform (uppercase or none)
#          font-family, font-weight, font-style, etc.
# Un-comment next 2 lines and change Replace CSS as desired
#- Find:    "#page {\n  padding-left: 0px;\n}"
#  Replace: "#page {padding-left: 0px; font-family:Georgia; text-transform:none;}"

@jackiew1, thanks for clarifying that. It's up to you what you want to do with those patches.

@geek1011, But it's not just up to me, is it? You're in the process of updating my patches. Thanks for the work you've done so far but I'm not sure what the mad rush is. I should be able to give this my full attention when I get home tomorrow mid-afternoon.

@jackiew1, I try to release the patches the same day to give them the most exposure for testing and feedback (plus I use them myself). Also, I'm quite busy tomorrow compared to today, so today's the best time for me. I think I'll see if I can get the replacements to fit in, and if not, I'll let you work on it tomorrow and then release the next version within a few days.

@jackiew1, the additional replacements do fit in with the new firmware version as-is. Something must have changed about the way the streams are compressed...

I've spent the last hour and a bit rewriting the 24 line spacing values patch to only require 5 offsets to update rather than 15 offsets and a whole lot of manually assembled BLX instructions. Now, it should be as easy as any other patch to update.

I've spent the last 45 minutes rewriting the Freedom to advanced fonts control from scratch. It is now quite a bit simpler and less bug-prone, and should be easier to update in the future.
All I have left to do is test the patches.

I'm finished with updating, rewriting and thoroughly testing all of the current patches and will release v56.
Here's what's planned for v57:

Make more patches multi-version?
Hide scrollbars? (I've already figured out how to hide them, I just need to put the padding back)
Monospace font stuff (@jackiew1?)
Any other miscellaneous bugfixes/improvements

MR:t-325572, v56.

@jackiew1, the additional replacements do fit in with the new firmware version as-is. Something must have changed about the way the streams are compressed...

Not enough testing. As you can see in the MR forum, your decision to remove the Chinese/Japanese space-savers from patch 'Custom new header/footer font' was wrong. I've done a new commit to put them back with the required corrections for 4.19.

I'll publish another release by Sunday (just in case I decide to make other fixes/improvements with other patches or do any requests).

@geek1011, I've re-added a monospace patch to geoffr's  librmsdk.so.1.0.0.yaml because at least one person (2 if you include me 😃) was using it. I've updated Description and Find/Replaces to suit fw 4.19.14123.
However, If you would prefer it wasn't there, just delete it again.

I'm going to move the patch to jackie_w.yaml, as it's essentially a new patch.

OK, but it is the first of a set of 4 similar patches in the same yaml. You can move all of them if you want.

@geek1011, I've just installed v57 on a Clara. I noted your offset change to 'Custom font sizes'.
It used to be that if I had both this patch and 'ePub uniform font scale' enabled then font-size in epubs and kepubs were visibly the same when using the stored value in the .conf file. This doesn't seem to be true in v57.
I even thought this was working OK in v56. Now I'm no longer sure. 😕

Try 4 and 14 for the scale values (ePub and KePub respectively). JSWolf sent me a PM a while ago about it.

But that's a different patch - 'Set font scale factor'. I've never used that one so have no idea when it's working right, I use 'ePub uniform font scale'.
Extra info, my Forma still has the v56 patches on it. I just re-checked and, my gut feel was right, everything is working OK with the same 2 patches enabled. So for me the v56 version of 'Custom font sizes' was "more correct". More confusion???

... I've just put v56 back on the Clara. My gut feel was only partially correct. v56 works on Forma but not Clara. Is the problem with the 'ePub uniform font scale' patch? Does it no longer do what it used to do???
I'll now try what you asked. If 'Set font scale factor' works on both Clara and Forma using v57 offsets then I'll concede and forget about 'ePub uniform font scale' forever.

... hang on. Restart the clock. I've found a problem at my end. I'm starting from scratch...

Right, now I've corrected my base epubs & kepubs ...
With v57 patches:

'ePub uniform font scale' is working OK on Clara/Forma (so I'm sorted I think, sorry for sounding the alarm)
'Set font scale factor' is NOT OK on Clara/Forma. An epub displays massive compared to a kepub at the same font-size when using the settings you specified, i.e.
       - ReplaceInt: {Offset: 0x52C522, Find: 14, Replace: 4} # ePub
       - ReplaceInt: {Offset: 0xAE9C80, Find: 14, Replace: 14} # KePub
Are you sure you got the 4 & 14 the right way round?
I can't call on previous experience with this.

I'm not sure how to test your 'Custom font sizes' offset tweak without a slow painstaking effort. Do you already know for sure that v57 is correct and v56 wasn't?


Use GOPROXY for travis builds

We have issues with several hosts for go packages (that are not hosted on github.com) not being available (e.g., #1085). To prevent those issues we should use GOPROXY.
More details can be read here: https://arslan.io/2019/08/02/why-you-should-use-a-go-module-proxy/
I suggest we use GOPROXY=https://proxy.golang.org in our travis-ci builds and Dockerfiles.

This change has drastically improved our build time!


Fixed unit tests for Dokan.Net 1.0.0-RC4

Hi @Liryna,
I'm giving up on this.
Commit 448a962 contains the latest stage of my code with all unit tests in DokanNet.Tests working both in .NET 4.0 and .NET 4.6. See https://ci.appveyor.com/project/viciousviper/dokan-dotnet for proof of a successful AppVeyor build (the .NET 4.6 configs Debug and Release in this case).
I also included a set of build configurations (Debug, Release, Debug (.NET 4.0), and Release (.NET 4.0)) all of which will build the respective variant of DokanNet and reference it from the other projects (DokanMirror, RegistryFS, and DokanNet.Tests).
Please see if you can extract anything valuable from this PR - I'm at the end of my wits here and plainly fed up with having to fight against either the github web interface or VS2015's git tools every step of the way.
And BTW, thank you very much for cbcd2d4. This higly important fix has cost me more than an hour of trying to massage git into producing a digestible PR.

I did the same here with your changes and it is quick to do it.
I merged your changes here https://github.com/dokan-dev/dokan-dotnet/commit/96e2fa3dea7f8a85243b322708ffbe40596f1023 thank you for fixing it !
There was a little space issue here https://github.com/dokan-dev/dokan-dotnet/commit/96e2fa3dea7f8a85243b322708ffbe40596f1023#diff-562619b901ea08b3fcfe3d22db6888d3R85
that made the project unable to build because of reference not changed but I found it after a couple of times :smile:
Great work this configurations make the project very clean !
Thank you for your time again, it is very appreciated @viciousviper ! :heart:

Hi @Liryna,
sorry for the typo and thanks for taking up the slack and fixing the half-baked PR that I submitted.
After a couple of not so pleasant experiences with VS2015's idea of git rebase I'll probably go looking for a different tool suite next time.
Cheers,
vv


Cache global tagged template objects

Fixes #27460 - but not in a way that I feel super confident about.
The issue has always been that in the global scope we have fewer guarantees about temp variable conflicts, so we used to always create a fresh TemplateResult (TemplateStringsArray) object. This meant libraries that relied on every tagged template call site having the same TemplateResults object would end up being inefficient - but this was still conservative because it meant that template objects would never conflict.
Here we use the hash of the template contents and its separator locations to create a hash. That way, no two totally unrelated template objects can conflict - but two template objects with the same string contents actually might. This might happen with two duplicate global-scoped libraries.

Unfortunately, we never finished reviewing this PR. It is pretty old now, so I'm going to close it to reduce the number of open PRs.


NATIVE-556: Test builds

This pull request belongs to an issue on our bugtracker.
You can find it there by looking for an issue with the key which is mentioned in the title of this pull request.
It starts with the keyword NATIVE.

Test PR closed.


Source/target preview + Default names for proof cells

Implemented source/target preview and default names for proof cells

You can run 'rustfmt' to fix the linter errors. Also if you look at the CI, it tells you where the errors are.

Also what Nick said last week was to make work in a branch on the main repo rather than a fork, so that Firebase can generate a preview URL for your PR. But you don't have to do that for this, just keep that in mind for next time :)

One more thing, this PR addresses multiple issues. In the future, please split that into multiple PRs.

Thanks! The problem is now fixed and it's ready to merge. I created a branch on the main repo and will work there from now.
For reference, this PR addresses the following problems:

#510
#511
#529

Brilliant job, thanks Yulong!
I'll let you do the honour of merging it. Also you can close the issues as fixed.

Actually leave #511 as open, as there are more things to do with the about dialog. But the others can be closed.


Third-party/npm packages should not require adding a file extension.

Describe the bug
while use vitest for next-auth unitest it will require us with .js while load node_modules dependecies
i think Third-party/npm packages should not require adding a file extension.
Reproduction URL
https://github.com/hyperse-io/next-trpc
Reproduction
Reproduction URL
https://github.com/hyperse-io/next-trpc

yarn install
cd packages/next-demo
yarn test-unit post.test.ts
see error

 FAIL  src/server/routers/post.test.ts [ src/server/routers/post.test.ts ]
Error: Cannot find module '/Users/tianyingchun/Documents/hyperce/next-trpc/node_modules/next/headers' imported from /Users/tianyingchun/Documents/hyperce/next-trpc/node_modules/next-auth/lib/index.js
Did you mean to import next-trpc/node_modules/next/headers.js?
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { url: 'file:///Users/tianyingchun/Documents/hyperce/next-trpc/node_modules/next/headers', code: 'ERR_MODULE_NOT_FOUND' }

why vitest will ask next-auth import next with .js , i think the third party modules should not required to endfix.js
System Info
System:
    OS: macOS 14.1.1
    CPU: (8) arm64 Apple M1
    Memory: 72.34 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.9.0 - /usr/local/bin/node
    Yarn: 4.0.2 - /usr/local/bin/yarn
    npm: 10.1.0 - /usr/local/bin/npm
    pnpm: 8.10.5 - /usr/local/bin/pnpm
  Browsers:
    Chrome: 119.0.6045.159
    Safari: 17.1

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

https://github.com/nextauthjs/next-auth/issues/9171


Priorities Reset on Resurvey

When resurveying, the priorities list will start from blank again.

as first level of action on this, we need to make sure we can retrieve priorities from a family, not just a snapshot. (at least that's my understanding of how it should work conceptually)


Fix duplicate pre post ansiblejobs

https://github.com/open-cluster-management/backlog/issues/8854
Fix creating duplicate prehook and posthook ansible job CRs.

/lgtm


questions about pretrained img_backbone

  I want to use your method to import the pretrained swint net into my model,But I don't know how to define a load_checkpoint module in my network to load pre-training parameters, so I would like to ask you where this module is located in your bevfusion,
  The second question is that I went to the original swint code and found that it does not define convert_weights and init_cfg parameters, and your bevfusion does not have the complete swint code, so I would like to ask if you can provide me with the download address of the complete swint code used by img_backbone in your network?
  Thank you very much!

Hi @gubei1998,
Our SwinT implementation is inherited from mmdet 2.20.0. You can find their implementation here.
Best,
Haotian

Closed due to inactivity. Please feel free to reopen if you feel it necessary.


split app.js into build-app.js and run-app.js

build-app.js will do all work before server starts
run-app.js just starts server

add commands for npm: build-server and run-server


make @safe to digest strings whose element encoding type is char

because in this context the code points don't matter, put can take char[] and process it as ubyte[].
Hashing strings is very common. In the current state, so that strings can be hashed, a cast is necessary and this forces the users who want to write safe code to annotate with @trusted. This PR simplify this. Strings will be hashable in @safe code without extra work for the user.
Another part of the digest API could be safe if the toHexString function is @safe but this relies on assumeUnique so this is for a possible other PR.

LGTM

Does D allow an aggregate type to define custom implicit conversions

I did not consider that. I withdraw my comment.

Here, they are not, and it should be easy to see why.

I didn't see it either.
However, technically, this isn't un-@safe, though the constraint needs to be fixed.

What I mean by it not being technically un-@safe is that casting ANY array to const(byte)[] is technically @safe, because you are just looking at the bytes of a piece of memory. None of the implicit conversions will happen for that cast.
That being said, it's likely not what you want to happen when doing CRC32 -- we still want to exclude it.

Ah, I misunderstood the code. I thought there was a cast of the T[] array to ubyte[] array, not a cast of each item.
Definitely, not @safe! sorry for the distraction.

@klickverbot : thanks for the example that showed the segfault. I've fixed the constraint. It looks like testing the strict type of the stuff passed as argument with is prevents this case to happen.

ping, this problem was discovered after a call to action, it's not a punk PR.

I know it's ugly, but I think it's important to keep the same behavior if possible. I actually kind of like the result :)
Only thing is, the docs are confusing. They have 2 overloads that accept ubyte arrays. I wonder if it's worth mentioning why it's there. Alternatively, we could hide the specific overload from the docs.

Done, i've hidden the overload from the doc generator and left a code comment explaining why it's there.

LGTM. Thanks.

ping. time to take the decesion if it worth or not.


Protocol dependency specialisation typos could show error

Would be a nice to have if Weaver produced an error for the protocol typo.
LocationSourcable -> LocationSourceable

FYI @ferologics, this is being addressed by #121 which will get merged and released soon.

Addressed in #121


add variable interpolation for sns and sqs transport in notify action

Would like to have the ability to pass into notify transport Arns like:
arn:aws:sns:{region}:123456789012:topicname
arn:aws:sqs:{region}:123456789012:queuename
where the region is the only variable to be interpolated.
relevant:
https://github.com/capitalone/cloud-custodian/blob/master/c7n/actions.py#L496-L542

its good to clarify what variable interpolation is already present, namely using a topic/queue name interpolates account/region etc. and in this context you just want region interpolation.

May want to take a look at the recently added format_string_values function.


osmotic stress PMID:28924043

normal cell cycle regulation during cellular response to osmotic stress
abolished protein localization to Cdr2 medial cortical node complex
normal protein localization to Cdr2 medial cortical node complex
decreased protein exit from Cdr2 medial cortical node complex during cellular response to osmotic stress
normal protein exit from Cdr2 medial cortical node complex during cellular response to osmotic stress

for def 4: a protein that normally moves away from Cdr2 medial cortical node complexes instead remains pedominantly in the nodes
also condition +3-BrB-PP1

normal cell cycle regulation during cellular response to osmotic stress FYPO:0006720
abolished protein localization to Cdr2 medial cortical node complex FYPO:0006721
normal protein localization to Cdr2 medial cortical node complex FYPO:0006722
decreased protein exit from Cdr2 medial cortical node complex during cellular response to osmotic stress FYPO:0006723
normal protein exit from Cdr2 medial cortical node complex during cellular response to osmotic stress FYPO:0006724
edit file: ac0b5c4428fd7c29ce4ffb47bdcbf5e9bce47880
release: dba9cce0dee14f70705cb1ab2ad3dab003fb1381


Godot 4 - Assert() and get_object_under_mouse() bugs

Just after cloning project, getting two errors when I open the project in Godot 4.

Hey, I just came across the same issue. The problem is in this line:
https://github.com/gagdiez/PACgd/blob/b99d9f7d2701e8ecbba03e749425e6285624b192/scripts/Level.gd#L10
It should just be $Camera instead of $Camera3D. I opened a pull request #7 !!

Hey, I just came across the same issue. The problem is in this line:
https://github.com/gagdiez/PACgd/blob/b99d9f7d2701e8ecbba03e749425e6285624b192/scripts/Level.gd#L10
It should just be $Camera instead of $Camera3D. I opened a pull request #7 !!

Oh!  Nice.  Thank you very much!

Now it just needs to be merge so I can close this.  ;)


Add l2 interface option

This PR is intendent to allow exposing an existing L2 host network to the VM in addition to the k8s one.
Fixes #1329
Still missing:
- integration tests

unit tests
documentation (will be a separate PR in the user-guide repo)
The only "protocol" currently supported is "Ethernet" - which imply "bridged" binding without delegating the IP/MAC

We SHOULD also support "PCI", which would imply device passthrough
We MAY also support "IP" - more discussion is needed here, at device plugin level
Once we support more options, we will have to reconcile the "protocol" capabilities of the pod interface with the (optional) binding configuration of the interface

Release Notes:
New network type was added to the virtual machine specification: "resource network".
This is intended at networks exposed by using a network device plugin.
The configuration of the network will include the name of the device plugin and the name of the network resource it should expose, using the following format: <device-plugin-name>/<network-name>

In the yaml this will have the following format:
networks:
  - name: red
    resource:
      resourceName: bridge.network.kubevirt.io/red

To communicate the name of the pod interface that the device plugin creates, and what kind of networking this interface exposes to the pod, the device plugin will set a JSON encoded environment variable to the pod.
The name of this environment variable must start with: "NETWORK_INTERFACE_RESOURCES_", and assumes the following JSON format for example:
{
  "name": "bridge.network.kubevirt.io/red",
  "interfaces": [{"name": "eth-red01", "protocol": "Ethernet"}, {"name": "eth-red02", "protocol": "Ethernet"}]
}

Other than the definition of the environment variable, no other requirements exists on the device plugin, or how the host network is managed or created.

The following device plugin is compliant with the above: https://github.com/kubevirt/kubernetes-device-plugins/blob/master/docs/README.bridge.md

Notes:
- The device plugin allows multiple pod interfaces to be exposed fro the same network (eth-red01 and eth-red02 in the axample above), however, inside the VM, we will expose only one interface
- If multiple device plugins exposes the same network, needed by the virtual machine, only one of them will be used, and a single interface per network will be created on the virtual machine
- In the virtual machine specification, only interface with "bridge" binding is allowed to use a network of type "resource". Any other combination is considered invalid
- The only "protocol" currently supported is "Ethernet" - which imply "bridged" binding without delegating the IP/MAC

The device plugin bridge allowed for passing in a count of interfaces, are we not going to allow the same functionality here?
I'm working with virtual routers and will probably need at least 10 interfaces per router. I could define 10 bridges on the host but it would be more operational overhead than being able to specify a count of interfaces I want from that bridge on the host.

@gageorsburn this could be easily done from the device plugin side. It is already supported there, and it would be easy to pass that from the VMI network definition to the device plugin definition in the launcher pod. This would assume, though, that all of these interfaces are connected to the same "network" (the host bridge in our case), but will just be exposed as multiple interfaces on the guest VM.
For example:
networks:
  - name: red
    resource:
      resourceName: bridge.network.kubevirt.io/red
      resourceCount: 3

Note that at VMI level, there will be a single "interface" definition, even though multiple interfaces will be generated on the VM.

/cc @booxter

/cc @vladikr

/cc @phoracek

/cc @SchSeba

@gageorsburn I've captured that requirement here: https://github.com/kubevirt/kubevirt/issues/1366
Once this PR is merged, it will be straight forward to add it.

I've posted some comments, but really, the only one that is worth special attention is the one about how we construct in-pod interface names in terms of their lengths (Linux has low limit on the number of characters allowed and may either fail or truncate names that are too long).

/cc @dankenigsberg

The main reason to a device plugin is to take advantage of the existing k8s scheduling mechanism. Currently k8s don't have a dedicated mechanism for networks as host resources, so we utilize (abuse...) device plugins for that

Keep it simple

We can introduce the "host bridge" device plugin as integral part of kubevirt (similarly to how kvm is done)
However, unlike the kvm case, where there is no value from having an external device plugin, in the networking case, supporting an external plugin is required. Such an external networking device plugin (not the one we are using) may extend further into the host network, or even beyond the host, in the configuration and setup work it does. We do not want to preclude plugins provided externally from working with kubevirt

Not sure which privileges are introduced here for the launcher? A pod may request a resource from a privileged device plugin without being privileged by itself

The main value with allowing abstraction of the host-to-pod part of the functionality and separating from kubevirt (although it is core) is that it allows for integration with more advanced network device plugins, covering functionality that we would not like to integrate into kubevirt

Seems like it would be good to make the "host bridge" device plugin integral part of kubevirt, as this will make simple deployments simple, simplify testing etc.
However, would still keep the API, to allow for L2 networks to be exposed via any other device plugin that is compliant with the defined API.

However, would still keep the API, to allow for L2 networks to be exposed via any other device plugin that is compliant with the defined API.

Let's discuss that on the community meeting. I can just think right now of three reasonable approaches on how to add network to the vm:

(bridge) tap
macvtap
full device passthrough

I think we can come up with something less architecture-intrusive to cover these use-cases. Preferrable only on the host-side (nothing like this json which is passed in to virt-launcher at start-time, instead virt-handler mostly).

In my opinion, it should be pluggable. This doesn't have to be the only option for L2 connectivity but if I want to use a bridge device plugin there should be a way for kubevirt to expose/allow me to do so. Right before @yuvalif opened this PR i was working on the same code to achieve this until a better solution for L2 was released.

Device plugins should not be used (for now) as a mean to provide L2 networking to kubevirt.
Discussion and reasons are detailed here: https://groups.google.com/forum/#!topic/kubevirt-dev/AgcZF4YtmtQ


[bug] cli.rs > dev command failing with clap short option duplicates

Describe the bug
The cargo-tauri dev command fails at runtime with a clap assertion failure due to a name collision with two flags.
Reproduction
git clone https://github.com/tauri-apps/tauri.git
cd tauri/tooling/cli.rs
cargo run dev foo

Expected behavior
Dev command does not panic.
Platform and versions
Manual checkout of tauri-apps/tauri/next

Stack trace
Compiling tauri-cli v1.0.0-beta.7 (/Users/-/Code/tauri/tooling/cli.rs)
    Finished dev [unoptimized + debuginfo] target(s) in 2.56s
     Running `target/debug/cargo-tauri dev .`
thread 'main' panicked at 'App dev: Short option names must be unique for each argument, but '-r' is in use by both 'runner' and 'release-mode'', /Users/-/.cargo/registry/src/github.com-1ecc6299db9ec823/clap-3.0.6/src/build/app/debug_asserts.rs:99:17

Additional context
Might want CI support for CLI invocations of dev command?

Just realized this is not reproducible in release mode, since it's a debug assertion, so it's less of an urgent issue. That's probably why it remained undiscovered too.
In either case, the short name collision is still there. Happy to send a PR, if someone suggests which short name should be kept for -r, runner or release-mode?

I think release should not have a short name, at least I prefer to use the full flag --release, lets see what @lucasfernog thinks.


Fleet Manager: Create a button to delete screenrecords

landscape

@AlexandreSato can you rebase with the latest master? Can merge once everything looks good.

Done!

screen recorder has been removed.
Thanks for the pr! If we bring screenrecorder back in the future will reopen.


Automatic blocking from reports

This PR allows the image proxy to automatically block urls after a certain number of unique reports have been made on that url. This number is set via proxy.conf in the max_report_strikes field. Uniqueness is determined by looking at apikey, ip addr pairs.

Closing this pr. Issue #54  opened to track this for a later milestone.


Hellhounds attack animation buggy with smooth animations on

When hellhounds attack with smoothen animations on, their legs bug out.

Duplicate of #1516


Add Grading API

Describe the changes you have made in this PR -

Adds the following grading endpoints

api/v1/assignments/:assignment_id/projects/:project_id/grades to grade assignment.
api/v1/grade/:id to update & destroy grade.

Adds validation to project_id & assignment_id in grades.

Adds grades schema & specs

Note: Please check Allow edits from maintainers. if you would like us to assist in the PR.

Coverage increased (+0.9%) to 85.275% when pulling 09d555a42afc68ab4b77b5697ff3a402423146c4 on Nitish145:grading_api into a3ad8dc09c8be0f7b853a29789c02307eb2b736f on CircuitVerse:master.

@tachyons please check!!


gh #25 dsHdmiIn: Updated L1 test cases for new APIs

Added L1 test case for dsGetEDIDBytesMaxSize
Updated L1 test case for dsGetEDIDBytesInfo

 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.


RSE Bachelor Programme?

What should a RSE Bachelor Programme look like? Do we need that? How do we give people research skills without a home domain where they can do research?

We could have a high portion of elective subjects, where we expect to students to pick courses from different disciplines
We have pre-selected tracks (e.g. a RSE with a physics specialisation would be required to hear theoretical physics, but doesn't need to hear experimental physics)

A typical STEM bachelor's contains some mathematics, some physics, (hopefully) some programming, and more fundamental science courses based on the general direction. This is nicely continuing what we learn in high school, where students are typically still in the very theoretical thinking mode. These fundamental courses also shape a student's identity, as it is maybe the first time they have actively selected something so important. Afterwards, and especially in the Master's, it mostly gets technical and eventually practical.
If we see RSEs as "researchers who also do software engineering", then we need to make them researchers first. And who could be best in giving them research foundations than a traditional program that prepares you to eventually continue doing research in some field?
I am not sure if we need an RSE Bachelor's Program, for the following reasons:

That's what I know so far (bias)
Graduates would not really have their own home domain

They would not really feel like scientists, they would not have a common identity
They would not be able to fall back into their home domain if they want to switch paths later on (18yo is too early and RSE too specific)

If we focus too early on the technical/practical aspects, then this may not even be a B.Sc., but a more technical degree, which would then maybe question the future role of these graduates

Maybe it would be interesting to look at the historical evolution of study programs and see at which point a master's started, then a bachelor's, and how they differed from their most related programs. Recent examples would be Computer Science branching out of Mathematics, or more recently the Bioinformatics, Games Engineering etc at TUM (degress at TUM CIT).

When I was an undergrad I did a year of computational physics as part of my geophysics degree. This is really what set me on the path of becoming an RSE. So, I could imagine that the home domains could offer some courses to make the student into a computational biologist, physicist, chemist. They would gain the theoretical background for their home domain and some ideas of computational methods.

So this discussion moves to the notion, that we don't need an RSE bachelor?

I think so. I agree with @MakisH, an RSE should have a home domain. Obviously a CS student might decide to become an RSE.

When I was an undergrad I did a year of computational physics as part of my geophysics degree. This is really what set me on the path of becoming an RSE.

Same for me: I studied Chemical Engineering (diploma, so not really B.Sc.+M.Sc., we had more time), but I took all the electives related to computational topics, which was what allowed me then to enter Computational Science & Engineering.

So, I could imagine that the home domains could offer some courses to make the student into a computational biologist, physicist, chemist. They would gain the theoretical background for their home domain and some ideas of computational methods.

:+1:

I think so. I agree with @MakisH, an RSE should have a home domain. Obviously a CS student might decide to become an RSE.

Maybe the TUM B.Sc. CS is interesting: You have to select an application direction as minor, which covers several electives. This includes various STEM fields. See the Anwendungsfächer.

So this discussion moves to the notion, that we don't need an RSE bachelor?

We currently have two main ways of becoming an RSE:

Studying a home domain and getting computational electives
Studying CS and getting application electives

What I would be more concerned with would be increasing/focusing these electives that both sides take.
To suggest needing an RSE bachelor's, I think we first need to prove the current ways insufficient / imperfect, or a field so developed, that it becomes its own distinct fundamental field. I understand that we are not at this point yet, and we may not even ever be, because RSE is meant to be a bridge between CS and "home domain". Similarly for CSE: There are already many M.Sc. CSE and related, but barely any B.Sc. CSE (SimTech in Stuttgart is one of the first).
But I will be very happy to be shown that I am just lacking imagination here!

It's not that I have good ideas....
I just think that coming up with a good idea for a bachelor programme has the deeper benefit of endowing identity to us as RSEs that reaches a bit deeper....


deps: update google.golang.org/grpc to v1.64.1

security scan https://github.com/keptn/lifecycle-toolkit/actions/runs/9905205675


ci(trivy): fix scan failures due to TOOMANYREQUESTS DB error

Commit to be reviewed

ci(trivy): fix scan failures due to TOOMANYREQUESTS DB error
Primary Changes
----------------
1. Updated the ci.yaml to make the trivy scan
   run only on the weekends

Fixes #3652
Pull Request Requirements

[ ] Rebased onto upstream/main branch and squashed into single commit to help maintainers review it more efficient and to avoid spaghetti git commit graphs that obfuscate which commit did exactly what change, when and, why.
[ ] Have git sign off at the end of commit message to avoid being marked red. You can add -s flag when using git commit command. You may refer to this link for more information.
[ ] Follow the Commit Linting specification. You may refer to this link for more information.

Character Limit

[ ] Pull Request Title and Commit Subject must not exceed 72 characters (including spaces and special characters).
[ ] Commit Message per line must not exceed 80 characters (including spaces and special characters).

A Must Read for Beginners
For rebasing and squashing, here's a must read guide for beginners.

Looks fine, but I'd rather have a separate "weekly" job triggered by cron (https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#schedule), it will be easier to see and add new weekly jobs, and it doesn't convolute our CI job with more prerequisites. @petermetz any thoughts?

Looks fine, but I'd rather have a separate "weekly" job triggered by cron (https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#schedule), it will be easier to see and add new weekly jobs, and it doesn't convolute our CI job with more prerequisites. @petermetz any thoughts?

@outSH Can't say I disagree. I would love to remove the code from the diff that calculates the day of the week.

@petermetz Okay, I will take a look into this. I think the scheduled workflow will only run on the default branch so I will test it on my fork.

@petermetz Okay, I will take a look into this. I think the scheduled workflow will only run on the default branch so I will test it on my fork.

@aldousalvarez Thank you! As I'm typing this, the checks on this PR are still stuck in 'waiting for status to be reported' so it is looking more and more like the schedule is having some sort of negative side effect here (I'd love to be wrong here though)
build-dev Expected — Waiting for status to be reported
Required
cactus-common Expected — Waiting for status to be reported
Required
cactus-core Expected — Waiting for status to be reported
Required
cactus-core-api Expected — Waiting for status to be reported
Required
yarn_codegen Expected — Waiting for status to be reported
Required
yarn_custom_checks Expected — Waiting for status to be reported
Required
yarn_lint Expected — Waiting for status to be reported
Required
yarn_tools_validate_bundle_names Expected — Waiting for status to be reported
Required

@petermetz It is now working. What I did was I cleaned the code and added the changes again, I think it is some lint error or whitespaces that is why it does not read the condition before.


feat(virtual-scroll): Restore position after update

Short description of what this resolves:
Scroll back to previous position after virtual scroll gets new elements.
Changes proposed in this pull request:

Store last position and restore it after changes

Ionic Version: 1.x / 2.x
2.x
Fixes: #6423

Related to #6787, #7056, please check.


Update GetRegionData "returns" section

Remove duplicate "if the function fails, the return value is zero"

Thanks, I'm investigating.

Still trying to get info about whether this is the right change.

Hi, it looks like the CLA hasn't been signed yet (please see comment in the thread above). If you could sign that, then the button will appear on this end for me to complete the PR. Thanks! :)

Hi, @Pavel-Cherentsov, it looks like the CLA hasn't been signed yet (please see comment in the thread above). If you could sign that, then the button will appear on this end for me to complete the PR. Thanks! :)

Hi, @Pavel-Cherentsov, it looks like the CLA hasn't been signed yet (please see comment in the thread above). If you could sign that, then the button will appear on this end for me to complete the PR. Thanks! :)


Using Talos in a siamese model

I have a siamese model as follow:

def create_base_network(input_shape):
    input = Input(shape=input_shape)
    x = Dense(10, activation='relu')(x)
    x = Dropout(0.1)(x)
    x = Dense(5, activation='relu')(x)
    return Model(input, x)

base_network = create_base_network(input_shape)

input_a = Input(shape=input_shape)
input_b = Input(shape=input_shape)

processed_a = base_network(input_a)
processed_b = base_network(input_b)

distance = Lambda(euclidean_distance,
                  output_shape=eucl_dist_output_shape)([processed_a, processed_b])

model = Model([input_a, input_b], distance)

How can I use Talos in create_base_network() function ? (for instance, using Talos to find optimal number of nodes in dense layers)

See multi-input model example to get started.


upgrade to julia 1.0

I don't really get, why numbers are encoded with different types depending on the numbers range.
That seems to be against user intent, and also this way we can't opt-out... If one would respect the Julia number types, one could control this behavior a 100%.
Also, if we turn this line into a map, we could use Julia's automatic vector type promotion to get tightly typed arrays back.
This would need the consideration from my first point, since otherwise [1, 258, -1] will come back as Integer[0x00, 0x0102, -1] which I can't imagine anyone would ever want!

Btw, @saurvs if you don't want to continue maintaining CBOR.jl, feel free to move it to JuliaIO!
In JuliaIO, others and I can continue maintenance more easily ;)

this would definitely be a good package to keep around and available

@SimonDanisch I haven't worked with Julia in nearly 2 years, and hence can't review this or other PRs effectively. So I think moving this repo to JuliaIO is a good idea. I'll do it right away.

Great! I invited you to JuliaIO!
If member access is not enough to transfer the repository, let me know!

@SimonDanisch great! The transfer is done.

awesome, thanks a lot :)

@stevengj & @chakravala what do you think about my proposed changes concerning preserving types & arrays?


adafruit_ads1x15.Analogin - correct ADC scaling to 16-bit range to match analogio.AnalogIn #43

The change in https://github.com/adafruit/circuitpython/issues/4794 (raised by @PaintYourDragon) which appeared in CircuitPython 8 scales values to the full 16 bit range for analogio.AnalogIn.
The current implementation of analog_in.AnalogIn has the old behaviour for the ADS1015 of zero padding to signed 16bit for the 12bit values.
This is part of the same ecosystem, should this be brought into line with the aforementioned full-scaling change? Same issue raised in https://github.com/adafruit/Adafruit_CircuitPython_MCP3xxx/issues/43

There's also a question here about the unsigned nature of the values. Users of analogio.AnalogIn are accumstomed to the 16 bit unsigned range between 0-65535. I've only just started reading about the TI ADS in detail but they appear to effectively be 15bit ADCs (ignoring noise) when making single ended measurements? The values align with this and the code does too
https://github.com/adafruit/Adafruit_CircuitPython_ADS1x15/blob/5ca81ee53fe296402f28758dcc778a484cc3ba32/adafruit_ads1x15/analog_in.py#L60
The value property will return -32767 (or -32768??) to 32767. This has a lot of potential to confuse users coming from CircuitPython's analogio.AnalogIn world unless they are using the voltage property.

And for single-ended use there's a question here as to whether a floor of 0 should be applied to the values as the ADS1115 can return negative value when measuring 0V. I've experienced this myself. Unexpected negative values can cause havock.
I don't know the origins of it but, for comparison, I noticed the nRF52 code has this
https://github.com/adafruit/circuitpython/blob/9d10a3da66cd799b659457ca9785be1a33105dc6/ports/nrf/common-hal/analogio/AnalogIn.c#L124-L126

I think maybe this was resolved in: #98 although it wasn't the primary purpose of that PR.
There is now code here: https://github.com/adafruit/Adafruit_CircuitPython_ADS1x15/blob/a40a311b8282053cb3cc1319aa5e4b79878b1847/adafruit_ads1x15/analog_in.py#L73-L74
and here: https://github.com/adafruit/Adafruit_CircuitPython_ADS1x15/blob/a40a311b8282053cb3cc1319aa5e4b79878b1847/adafruit_ads1x15/analog_in.py#L82-L84
Which seems to handle this if I am understanding correctly.
@kevinjwalters can you confirm whether these bits of code are resolving the original issue documented here?


Plotting

These quantities may be useful to plot:

[ ] Frequency (from PLL at every node)
[ ] RMS current and voltage phasors (3 phase and per phase)
[ ] Symmetrical components (i.e. positive, negative, and zero)
[ ] Real and Imaginary power (3 phase)
[ ] Active and Reactive power (per phase)

It seems like the reward collected in the data hook and used for plotting is not collected based on named_policys

[ ] Check that

should be easy to implement?
Do we have progress here/will this be done in the remaining month?


Make insertId available to set

When making streaming inserts into BigQuery datasets it would be good to have the option of defining the insertId that is available in the API clients to help with reduplication of record inserts.

Hello, @Crispy1975. Which method are you using to perform streaming inserts?

Hi @stephenplusplus we are using the table.insert() method. Here is a simple example TypeScript class method:
async insertRows(tableId: string, writeData: ObjectStringAny, dataset: string, options: ObjectStringAny): Promise<ObjectStringAny> {
    const table = this.client.dataset(dataset).table(tableId);
    const result = await table.insert(writeData, options);
    return result;
}

The writeData object is an array of objects, but generally only has a single row being written, and options is currently an empty object. The BigQuery client is referenced with this.client.

Digging into the library code I can see that the automatic creation of the insertId can be disabled here: https://github.com/googleapis/nodejs-bigquery/blob/master/src/table.ts#L72
What isn't obvious is how I can go about setting my own insertId to aid in streaming buffer deduplication.

We're not going to add this option because we're anticipating a new streaming API that better handles deduplication.


Scrcpy not working in some apps at landscape

Scrcpy tells me this when I use most of the apps on the landscape like video editors and even when watching youtube                                       [server] WARN: Ignore touch event, it was generated for a different device size[server]

Scrcpy tells me this when I use most of the apps on the landscape like video editors and even when watching youtube [server] WARN: Ignore touch event, it was generated for a different device size[server]


Terraform destroy is slow or hangs

After using this module for some time, we've stumbled upon an issue with running destroy.
We've identified that it has something to do with how outputs are managed, but we're still not sure why does it happen. Here's what we've changed in order to bypass this issue:
https://github.com/terraform-aws-modules/terraform-aws-ec2-instance/commit/6fcd714c552cf7aa1ce739c0020b4679464ebdec
Any input is valuable, so we can move forward and make a PR to the upstream.
Thanks,
Stefan

Hi Stefan,
This change SHOULD NOT have any effect on the behavior of the Terraform module. If it does have any impact (as you say), it is a huge bug in Terraform and we should have it investigated in the core.
I am skeptical regarding merging this into the module.

Could it be related to the slightly different behavior of list.*.attr compared to list[*].attr ?
https://www.terraform.io/docs/configuration/expressions.html#legacy-attribute-only-splat-expressions

Hi Community,
Even I'm facing the same issue. I have created the RDS instance and while I wanted to destroy the changes I have made, it is taking huge amount of time as if its hung.
What can I do to destroy the changes made using terraform?
Thanks,
Pavan


Documentation edits

This contains a few minor documentation revisions. It also removes the SeeAlso tags, which aren't consistently applied and don't have tools support for linking.

@swift-ci Please smoke test

@swift-ci Please smoke test

@swift-ci Please smoke test


WFLY-14418 Add tests to batch-jberet subsystem for attributes that al…

…low expression
WFLY-14477 AttributeParser in batch subsystem should use a ModelNode as the value of an operation
JIRA:
https://issues.redhat.com/browse/WFLY-14418
https://issues.redhat.com/browse/WFLY-14477

/retest

/retest

Still seeing the "Failed to perform checkout on agent: Cannot find commit" error.  Restarting one job "Linux JDK 11" and see how it goes.

/retest


Render charts only once in time scale tests

In many of the time scale tests, we render the chart and then update it to some certain dimensions. This makes it very difficult to step through the code with a debugger because the first time we hit any line of code doesn't affect the ultimate state of the chart. It also makes the tests take longer to run than necessary.
This passes the dimensions into the creation function so that it's created with the correct dimensions from the beginning.

I tend to extract tests for debugging, so haven't had this issue.
That said, the only objection I can think of is maybe losing testing of 2nd update to scale with new dimensions, can you check existence / add that kind of test?

Thanks for taking a look. None of the tests I've changed are testing a 2nd update of scale.


Could we have some off line installers?

Your web site is down and I have no way to install the server or Media Browser Classic.  Do we have to rely on your web server?  What about some mirrors?

I'm sorry, you're not the right one to complain to.

Hey. Yeah, it seems http://www.emby.media is down as well as their distribution site http://www.mb3admin.com is too. I should change the error message.
Let me reopen this and think of a better message.


Use jte 0.8.0, default engine uses ContentType.Html.

Hey @tipsy, I finished HMTL support for jte sooner than expected. The context-sensitive output escaping works really good and is very fast too. I'm running my website in production with 0.8.0 and ContentType.Html for a week or so, that I'd consider the 0.8.0 version stable!
In this PR I updated the jte version to 0.8.0 and set ContentType.Html as default in JavalinJte.kt. I think it is a sane default and prevents users from nasty footguns (XSS attacks and the like).
Let me know what you think 😊

Great, thank you @casid !

Would you also be interesting in having a tutorial for your template engine published on the webpage?

Would you also be interesting in having a tutorial for your template engine published on the webpage?

That would be amazing! There's some documentation at the jte repository, but a getting started with Javalin would be great.
If you would like, I can contribute such a tutorial. I'd just need to know where to start.
Also, thanks for the quick merge!

Great! You have to create a .md file here: https://github.com/javalin/javalin.github.io/tree/master/_posts/tutorials
If you want to render it locally you'd have to setup jekyll, but most people just do it "blind". I'm happy to review and fix any formatting errors.

Sounds good! I'll gonna give it a try next week.


Random false joystick inputs

BlueRetro firmware version
ngcblueretro 4controllers [Based on blueretro 1.9.2]
BlueRetro firmware specification
HW1
BlueRetro firmware variant
System specific
BlueRetro hardware type
External adapter with multiple hardwired cord
Manufacturer
RetroScaler Official Store (from aliexpress)
System used
Nintendo GameCube
Bluetooth controller brand & name
PS3 Sixaxis
What is problem? (only list ONE problem per report)
False inputs with joysticks while playing games, Both c stick and left stick would jerk diagonally to the top left for no reason without me doing anything.
What did you expect to happen?
No random false joystick inputs...
https://github.com/user-attachments/assets/317743be-2670-4817-9c26-8a948ab6272b
Attach files like logs or Bluetooth traces here
No response

Update to v24.10 that got fixed
Dup #1021

The firmware is the same for everything.
If the LEDs don't work that tell me you use a Chinese adapter that need a custom FW.
Ask the person you gave money too for support. Sorry.

The firmware is the same for everything.
If the LEDs don't work that tell me you use a Chinese adapter that need a custom FW. Ask the person you gave money to for support. Sorry.

which firmware should i use im using a ngc 4 plug adapter

i fixed it.. turns out i had to factory reset device XD


how to replay a rdc file without extra API calls

Description
I want to replay a .rdc file without extrac API calls which my own APP do not have (except the necessary ones such as Device init/ Set pipelinestate).
I try to replay by click the Start Replay Loop in UI, Howerver, I found so many extra API calls has been called for the sake of UI's feature. I mean, extra buffers even shaders are created, which I do not want to. I try the in-applincation API, it do the same thing.
Besides, I notice that RenderDoc Create swapchain at the end of the capture rather than at the beginning , which my on application does, and the SwapChainDesc is a little different from mine. I look at the rdc file, and I do not find SwapChainDesc at all.
So I wonder how to replay a rdc file without extra API calls?
Should I dump SwapChainDesc to meet this end?
Environment

RenderDoc version: V1.25
Operating System: Windows
Graphics API: DX 11.1

This is implicit to how RenderDoc works, there is no intention of replaying purely a 1:1 list of API calls. If you want a tool for that which only replays API calls with nothing else, apitrace is likely what you want to use.


[DPO] stack-llama-2 training scripts

Training scripts for the DPO training of stack-llama-2 via a 7B model

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Create binaries for Python bridge and TCP server and remove Python on runtime

I'm silently working on a new way to avoid errors related to machine environments. I'm trying to remove Python on runtime from the equation for Leon. So far, when Leon executes a skill, he needed to make use of Python, the same goes for the TCP server. Now, I worked to compile the TCP server and the Python bridge into binaries, in this way there is no need of Python on runtime anymore! 🎉
Even if we've simplified the process with the CLI, there were still several edge-cases. Now Python is only required when developing for the TCP server or the Python bridge.
On the top of that, performances are of course better (about x5 times faster when a skill is being executed). The only drawback I see is on macOS where there is a bit of a slow start due to the cold start of the binaries. But that's only a one time thing, once binaries are loaded once, it is cached.
I successfully compiled the TCP server and the Python bridge on macOS (x86_64 Intel), Windows and Linux. However, I did not have a try on an ARM architecture for Linux and macOS yet.

 ✨ [1.0.0-beta.8] Create binaries for Python bridge and TCP server

In the past you may have met some troubles in setting up your Leon. Indeed, installing a Python environment isn't an easy thing when you do not necessarily come from a tech background.
Now all the stuff related to Python have been compiled upfront!
Meaning, you do not need Python anymore to run your Leon.
You can try right away! And it will help us a lot to diagnosis how it goes!
Please run the following commands from your terminal:
npm install --global @leon-ai/cli@beta
leon create birth --develop
leon check

N.B. Node.js 16 is required to run these commands


Set externalRepoAuth

@aeisenberg, I noticed in https://github.com/github/codeql-action/pull/395 I unfortunately don't think it'll have the effect we wanted. I believe we wanted the standard token input to be used for normal auth and the external repository token. Currently that means you need to set it for both fields. I realise this is a bit error prone. If you have ideas for how to improve this situation do please go ahead.
Merge / deployment checklist

[x] Confirm this change is backwards compatible with existing workflows.
[x] Confirm the readme has been updated if necessary.

I missed that. Thanks for catching. I'll take this over.

I think this solution is fine. Another option would be to fall back on the default API key here if externalRepoAuth, but I don't think that's any better than what you have.

Thanks for pushing the updated JS. I could have swore I ran the build but apparently not.

Another option would be to fall back on the default API key here if externalRepoAuth

Yeah that's another option. The only downside of that is we then have to implement the fallback in each place that uses it.


Epic - DevOps

Linked Stories:

https://github.com/jccjcat/mywebclass-simulation/issues/20
https://github.com/jccjcat/mywebclass-simulation/issues/21

Test continuous integration (CI), application performance and monitoring and logging
Test continuous delivery (CD) and containerization


Names and formats for Polish culture

Added day/month names and date/time formats for Polish culture (pl-pl)

I know nothing about polish, so just want to check somethign with you.
Most other languages have upper Case first letter for Day and Month names, is this something that is not the case in Polish as it appears to me at least they are all lower case ?

Yes, in Poland we don't capitalize names of days of week and months, that's why it's all lowercase. I compared it with some other projects and it looks the same everywhere.

Excellent, I just wanted to double check..
Ill do a release now.

Done :)

Cool, thanks! :)


Reduce file io times by implement checkOrMkdirs in TrinoFileIO

Reduce one time file io.

Reduce one time file io for per query... It is not worth to do it.