Wordprocessing: Extract AddImagePart() to interface

I have ran into an usability problem while trying to add an image to a header in a DOCX file.
We do have shared code for adding images, but it was tailored to the document body.
I have noticed that all of MainDocumentPart, HeaderPart and FooterPart have some AddImagePart(...) methods, but they are declared on the specific classes. Unless I am missing something this prevents defining a generalized method like AddImageToPart(MainDocumentPart | HeaderPart | FooterPart) without reflection.
This is not a strict necessity but I think extracting these methods to an interface would improve usability.
(This seems likely to be applicable to other parts of the library which I am not aware of / I do not use.)

@m-gallesio I'm working on bringing the source generator to the repo so we can play around more easily with this kind of stuff. Probably a few months off, but that should enable prototyping some of this stuff

Do not be in a hurry, this request is merely a small improvement I noticed was possible.
For the record this is a reduced version of the method I am currently using, which would be completely obsoleted by this change:
private ImagePart AddImagePart(OpenXmlPart part, ImagePartType imagePartType)
{
    return part switch
    {
        MainDocumentPart mdp => mdp.AddImagePart(imagePartType),
        HeaderPart hp => hp.AddImagePart(imagePartType),
        FooterPart fp => fp.AddImagePart(imagePartType),
        _ => throw new CustomException("Part type does not support adding image parts.")
    };
}

@twsouthwick, the type of request is somewhat related to what I suggested in #944.

Fixed in 3.0.0, thank you.


Fix typo in README.md

It's nothing, but it's just poped up to my eyes and now I can't stop seeing it.

Now that you point it out, I can't believe I didn't notice this before! Thank you for the PR!


401 Not Authorized

My market place account
https://marketplace.visualstudio.com/manage/publishers/MyName
Publish Command
tfx extension publish --output-path bin
--token %MyToken%
--manifest-globs vss-extension.json
--rev-version
--publisher %MyName%
Always returns:
TFS Cross Platform Command Line Interface v0.3.45
Copyright Microsoft Corporation
Checking if this extension is already published
It isn't, create a new extension.
error: Received response 401 (Not Authorized). Check that your personal access token is correct and hasn't expired.
I've tried to hardcode the token and user name, use environment variables, revoke all tokens and create new, no matter what I do I cannot get the publish command to work..
I do not yet want this extension public.
Please advise.

Ok found the solution....   If you are having this problem, you may just want to revoke all current tokens and start from scratch...

Goto your site first https://myName.visualstudio.com
Hover over your username icon in far right hand upper corner.
Select Security.

Now revoke existing tokens (if needed) and create a new one.

Make sure that you select "All Accessible Accounts"

Press create token and save to your environment variables... The names are arbitrary

Use this command to publish

tfx extension publish --output-path bin --token %VSTSMarketplaceToken% --manifest-globs vss-extension.json --rev-version --publisher %VSTSMarketplacePublisher%"

Hopes this helps others.


About pictures on the official website

Taiwan is an inseparable part of the People's Republic of China.
Please mark the colours of Taiwan and the mainland as the same.

I'm not sure the colors used are what you think they are.

Who are using goproxy.io

it looks like from my perspective; there are more users using goproxy in Chine than any other part of the world. I take the darker shade meaning as "more users".

@prologic
Maybe I didn't express what I meant.
I know the darker shade meaning as "more users".
But I think you distinguish countries by colour.
So Taiwan and the mainland should not use different colours.

@prologic
Maybe I didn't express what I meant.
I know the darker shade meaning as "more users".
But I think you distinguish countries by colour.
So Taiwan and the mainland should not use different colours.

I think you've missed the point entirely.
It looks like the colours used here are different shades of blue.
The darker the shade of blue the more users.
This means currently that goproxy has more users in:

America
China

And only moderate users everywhere else and none in many parts of Africa (as you'd expect at this stage of Global Internet usage).

(this should not even come up in OSS projects; but..)

I respect that you believe that Taiwan is part of China; and I don't question that. I only question your interpretation of the colours used in shading parts of the world map where users of goproxy are coming from likely based on their Source IP address and likely using a GeoIP database.

@prologic
Thank you for your explanation and respect.
Maybe I'm too sensitive to this problem.

Maybe... :) -- But we should left the authors of this project comment.
I could be entirely wrong! -- Was just sharing my perspective :)

@GoneGo1ng
Fixed, thanks for your report.

Please refresh or restart your browser.


Update governance guidelines

Add a provision to unblock PRs when only one maintainer is available;
Adjust the instructions for CHANGELOG.md updates when making a release.

See the relevant discussions in #102 for context.

No further comments on the committed changes, they look fine to me.

OK, changes made. Please check the updated commits.

Almost everything looks fine to me, the only previous change I don't see anymore is the formatting of Wikimate.php in bullet 3 of the last section.
Btw, remember to add #105 to the Changelog for v0.13.0.

The formatting reversal was intentional — the other filenames in that document are not code-formatted, so I reverted it for consistency. I can change them all to be code-formatted, though. WDYT?
As for adding a changelog entry — OMG, of course! I'll add a new commit for that.

Good point. I forgot we could combine multiple PRs into the same entry. Will change.

Great, looks ready to wrap up.

Great :) Please go ahead at your convenience.


Link icon references are broken

From @marccampbell

all icons are referenced like this:
https://news.replicated.com/images/linkicons/https:/github.githubassets.com/favicons/favicon.svg

https://replicated.slack.com/archives/C02Q6PGRZML/p1705347944296479

I see several different weird src fields in link icons:
data-base64 payloads

empty urls
looks like linkicons/ with nothing else, just the path params after that

weirdly-encoded urls

Reproducing the link the above, but the https:// is rendering properly in the src attribute

confirmed that https://github.githubassets.com/favicons/favicon.svg is a valid URL

My confusion...grows.
I see in getServerSideProps for index.js, we fetch a list of renderableLinks. In this case, the icon is set to https://github.githubassets.com/favicons/favicon.svg

however, when rendering the rows, it would seem the we only support two formats:

a data:image src attr
one of the link icons committed to the repo in /public/images/linkicons/, in this case I would think we should render /linkicons/github-icon.png.

I would think the correct behavior would be to take the icon field (note that is is set correctly on the renderableLink object above), and just use that as the Image src directly. I'm not sure in which cases those other icons are in play, or if /images/linkicons is a vestige of an older way of doing things before we figured out how to scrape icons from the page HTML in the default integration: https://github.com/slackernews/slackernews/blob/0783cf394af4d56b576219de14358d9da8a4a53c/slackernews/lib/integrations/default.ts#L39-L47

I tried the above, still doesn't want to load the image, even when using a next Image (also tried default <img>) with the proper svg url in src:

  const iconElement = renderableLink.link.icon === "" ? null : renderableLink.link.icon.startsWith("data:image") ? (
    <Image
      src={renderableLink.link.icon}
      width="14"
      height="14"
      alt={"icon"}
    />
  ) : (
    <Image
      src={
        renderableLink.link.icon.startsWith("https://") ?
          renderableLink.link.icon :
          `/images/linkicons/${renderableLink.link.icon}`
      }
      width="14"
      height="14"
      alt="icon"
    />
  );

one update - It looks like even though that github link is valid, the cors policy is wrong

tried an API route to proxy image requests, but didn't work out, next seems to only want to return content-type application/json, regardless of what you send in the body / what you res.setHeader() to

In case anyone else thinks to try it, using rewrites in next config file also does not work
  async rewrites() {
    return [
      {
        source: '/_images/:path*',
        destination: 'https://:path*'
      }
    ]
  }


indentation warnings

Made indentation corrections for tidy and organised code

Changed the indentations and line parsers at places to improve code readability


Cannot create log file error

$ ./rain start --worker-host-file=hosts.txt
🌧  INFO 2018-04-11T08:15:45Z Starting Rain 0.2.0
🌧  INFO 2018-04-11T08:15:45Z Log directory: /tmp/rain-logs/worker-p1-16085
🌧  INFO 2018-04-11T08:15:45Z Starting local server (<IP_ADDRESS>:7210)
🌧  INFO 2018-04-11T08:15:45Z Dashboard: http://p1:8080/
🌧  INFO 2018-04-11T08:15:45Z Server pid = 16086
🌧  INFO 2018-04-11T08:15:45Z Process 'server' is ready
🌧  INFO 2018-04-11T08:15:45Z Starting 1 remote worker(s)
🌧  INFO 2018-04-11T08:15:45Z Connecting to jupiter (remote log dir: "/tmp/rain-logs/worker-p1-16085")
🌧 ERROR 2018-04-11T08:15:45Z Remote process at jupiter, the following error occurs: Cannot create log file

🌧  INFO 2018-04-11T08:15:45Z Error occurs; clean up started processes ...

I believe the log directory should be created first by calling mkdir -p {log_dir} before trying to create the log file at https://github.com/substantic/rain/blob/f3ec16c96409e1e6ffc9fa0d4688fb110c9d9970/src/start/ssh.rs#L98
touch does not create parent directories on my Debian server.

I have put a fix into the master. Can you please check that it helps you?

Please let me know if you are using binary distribution, I can generate a binary of Rain for you.

Thanks for the quick fix. Yes, this seems to work (I compiled it directly with cargo build --release). Now I just fail with ERROR 2018-04-11T08:34:24Z: rain: Cannot resolve server address in worker-0.err, but that is because my desktop is behind a router I believe, so not accessible from the remote host.

The current version uses hostname of machine where "rain start" is executed as the server address for workers. Hence, if workers does not know this hostname (e.g. because it is just internal hostname) then it may also fails. I can make it configurable if this is your problem. I also plan to implement possibility to start remote server via "rain start", that could also help with your scenario. Right now, running "rain start" directly on the remote machine and use only client on the desktop could help you.

Cool, thanks, that works.

Cool, thanks, that works for me.

Ok, I am closing this issue. Thank you for reporting.


How can i use computed‘s 'set' and 'get' in '.vue' file?

How can i use computed‘s 'set' and 'get' in '.vue' file like:
// ...
computed: {
fullName: {
// getter
get: function () {
return // ...;
},
// setter
set: function (newValue) {
// ...
}
}
}
// ...

Hi, thanks for your interest but Github issues are for bug reports and feature requests only. You can ask questions on the forum, gitter or StackOverflow.


Updated PrepareForPublish snippet range

The snippet range for PrepareForPublish is incorrect.
It currently shows:

and it should show:
<Target Name="PrepublishScript" BeforeTargets="PrepareForPublish">
    <Exec Command="bower install" />
 </Target>

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

@johnsimons Thanks!


Issue #241 - fix deferred authentication for Java21 EE10 runtime

closes #241
If request.getUserPrincipal() was being called on a request with deferred authentication, then authentication was failing.
This is because the isDeferred check in EE10AppEngineAuthentication was in the wrong place.

Code fix is now checked in.
Will reach prod end of next week or next (due to 4rth of July break in US).
Meanwhile, you can try following for the next few days https://github.com/GoogleCloudPlatform/appengine-java-standard/blob/main/TRYLATESTBITSINPROD.md  from head (Sorry, Maven only, gradle contribution welcome).


Auto complete folder names when typing in the navigation bar

Implements and closes #1511

Auto complete folder names when typing in the navigation bar
Navigation bar goes into editable mode when pressing "Ctrl + L" (or "Alt + D" for english keyboards)
Fix an issue of current navigation bar that causes a crash on android/mtp devices

@gave92 It looks like switching to the AutoSuggestBox got rid of the rounded corners, would you be able to add them back?

@yaichenbaum Meaning rounded corners around suggestbox/textbox?
I still have rounded corners on top, but not on bottom (which i guess shows continuity between suggestbox and suggestion list)
Below what I'm getting and a show of my considerable artistic abilities :)
If you're getting the same, should I add corners on bottom too?

Does this support environment variables too??

@gave92 What if the auto suggest box had the same background color as the dropdown list?

@tsvietOK both point above should be addressed
@soumyamahunt great suggestion, it does now!
@yaichenbaum I'll try that, but perhaps the acrylic effect is "too much" when typing/with the blinking cursor and affects readability

@gave92 I would remove the acrylic background in this case.

@yaichenbaum I like acrylic background in AutoSuggestBox.

:shipit:


refactor(@angular/build): add globalThis['ngServerMode'] only when externalDependencies are present

This code is unnecessary when no external dependencies are involved.

The changes were merged into the following branches: main, 19.0.x


Adding a new doc for service worker reg and disable http caching

Whoops!
There were 2 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/tools/workbox/guides/service-worker-checklist.md#L5 - WF Tag wf_updated_on must be within the last 7 days.
src/content/en/tools/workbox/guides/service-worker-checklist.md - No wf_blink_components attribute found. Add if appropriate.

Whoops!
There were 2 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/tools/workbox/guides/service-worker-checklist.md#L5 - WF Tag wf_updated_on must be within the last 7 days.
src/content/en/tools/workbox/guides/service-worker-checklist.md - No wf_blink_components attribute found. Add if appropriate.


validators: Allow domain-less URLs to validate.

Django's URLValidator requires that its hostnames contain a domain; this relaxes the validator to allow for domain-less hostnames in URLs, by inserting a .local when necessary and re-attempting validation.

Self-review checklist

[ ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[ ] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

Validating a URL that’s been processed by urlsplit(…).geturl() doesn’t clearly establish the original URL was valid. Coming up with a good example might be difficult since the underlying validators are so complex, but as an example of a related problem that lies in this code rather than the underlying validators, this validates http://@a (by transforming it to http://a.local with no @) but not<EMAIL_ADDRESS>Also I don’t think we want to start accepting http://16843009 or http://0x1010101, at least not for this reason?
Related: https://code.djangoproject.com/ticket/25418.


Add net6.0

Support for .net 6 ends on November 12, 2024.  I would like to keep the codebase here on currently supported versions of the framework.


Build tensorflow lite for aarch64: Error in script download_dependencies.sh and build_aarch64_lib.sh

System information

OS Platform and Distribution: Google coral board aarch64
TensorFlow lite installed from source
TensorFlow version: master branch

If I run the script ./tensorflow/lite/tools/make/download_dependencies.sh  from the root directory of the repo I am getting following error:
downloading http://mirror.tensorflow.org/bitbucket.org/eigen/eigen/get/a0d250e79c79.tar.gz
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
2 days ago I had not the problem to run the script download_dependencies.sh.
There was some clean up of dependencies for tensorflow lite at least if I check the commit messages of the master branch.
Could it have something to do with that?
Thanks in advance!

https://github.com/tensorflow/tensorflow/commit/69aa57b4158da0f09ca732ee302ef453fa6b3209#diff-455a4c7f8e22d7c514e8c2caa27506c5
There was an update to the artifact it tries to download.  Tried to download both with wget and  the old artifact is available but the new one can't be downloaded.

Could fix that problem with following change:
In tensorflow/lite/tools/make/download_dependencies.sh script I changed the EIGEN_URL definition in line 32 to use https instead of http
EIGEN_URL="$(grep -o 'https.*bitbucket.org/eigen/eigen/get/.*tar\.gz' "${BZL_FILE_PATH}" | grep -v mirror.bazel | head -n1)"

Hello, did you slove the problem?
I meet the same problem

Hello，I changed  the code to EIGEN_URL="$(grep -o 'https.*bitbucket.org/eigen/eigen/get/.*tar.gz' "${BZL_FILE_PATH}" | grep -v mirror.bazel | head -n1)"   as you said，but i still meet the problem
gzip: stdin: unexpected end of file
tar: Child returned status 1
tar: Error is not recoverable: exiting now
any suggestion will help，Thanks

error: x29 cannot be used in asm here

Experiencing the same issue while compiling TFLite natively on ARMv8-A (after trying this solution as well).

Same issue compiling for ARM6

same issue for me. My platform is nvidia jetson tx2. I changed the eigen url as this https://github.com/tensorflow/tensorflow/commit/69aa57b4158da0f09ca732ee302ef453fa6b3209#diff-455a4c7f8e22d7c514e8c2caa27506c5

Same issue.

Same issue on Raspberry Pi3 B+

Same issue on Raspberry Pi 3B

download_dependencies.sh completed successfully.

download_dependencies.sh completed successfully.

But can you build it afterwards for arm?

no, there is an error which is X 29 or something like that can not be used
| |
牛帅
<EMAIL_ADDRESS>|
签名由 网易邮箱大师 定制
On 06/05/2019 19:33, vizero1 wrote:
download_dependencies.sh completed successfully.
But can you build it afterwards for arm?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

any updates on this issue?

Hi, I am having the same error, I found that cURL command is having
<?xml version='1.0' encoding='UTF-8'?><Error>NoSuchKey<Message>The specified key does not exist.</Message>No such object: mirror.tensorflow.org/bitbucket.org/eigen/eigen/get/a0d250e79c79.tar.gz</Error> because http://mirror.tensorflow.org/ is not having a0d250e79c79.tar.gz.
Just for information that tensorflow repo was set to commit f5ce1c00d4397875ff3d706881bd46430f4a9667 (HEAD -> master, tag: v1.14.0-rc0)

Oh..there is a PR https://github.com/tensorflow/tensorflow/pull/29017 to fix this issue. https://github.com/tensorflow/tensorflow/issues/29030 is also the same as this one.

@aakbar5 The method they proposed above, which is changing the download address and key, just follow it!

@aakbar5 the more significant problem is building tensorflow lite for aarch64. If you run the script you get the following error "error: x29 cannot be used in asm here"
We are waiting for a fix for that problem.

@vizero1 Here is a possible solution and I tried it on my jetson tx2 board. It worked. In the arm architecture, it seems the x29 register is used as the frame pointer register by default. By adding the '-fomit-frame-pointer' to the CXXFLAGS in the Makefile, we can tell the compiler the x29 register can be used without worrying about impacting the frame pointer.

Don't know if this is related.. trying to build v1.13.1 on ubuntu raspberry pi 2 with
CI_DOCKER_EXTRA_PARAMS="-e CI_BUILD_PYTHON=python3 -e CROSSTOOL_PYTHON_INCLUDE_PATH=/usr/include/python3.6" tensorflow/tools/ci_build/ci_build.sh PI-PYTHON3 tensorflow/tools/ci_build/pi/build_raspberry_pi.sh

but getting this error
...
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists...
Building dependency tree...
Reading state information...
Package ffmpeg is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Unable to locate package clang-format-3.8
E: Couldn't find any package by regex 'clang-format-3.8'
E: Package 'ffmpeg' has no installation candidate
The command '/bin/sh -c /install/install_deb_packages.sh' returned a non-zero code: 100
ERROR: docker build failed. Dockerfile is at /home/ubuntu/apps/tensorflow/tensorflow/tools/ci_build/Dockerfile.pi-python3

@vizero1 Here is a possible solution and I tried it on my jetson tx2 board. It worked. In the arm architecture, it seems the x29 register is used as the frame pointer register by default. By adding the '-fomit-frame-pointer' to the CXXFLAGS in the Makefile, we can tell the compiler the x29 register can be used without worrying about impacting the frame pointer.

Yes that resolves the "x29 register" error but now I am getting the following error:

> /usr/src/app/tensorflow/lite/tools/make/gen/aarch64_armv8-a/lib/libtensorflow-lite.a(while.o): In function `tflite::ops::custom::while_kernel::Init(TfLiteContext*, char const*, unsigned long)':
> while.cc:(.text+0x1d88): undefined reference to `flatbuffers::ClassicLocale::instance_'
> while.cc:(.text+0x1d94): undefined reference to `flatbuffers::ClassicLocale::instance_'
> while.cc:(.text+0x1df8): undefined reference to `flatbuffers::ClassicLocale::instance_'
> while.cc:(.text+0x1e08): undefined reference to `flatbuffers::ClassicLocale::instance_'
> /usr/src/app/tensorflow/lite/tools/make/gen/aarch64_armv8-a/lib/libtensorflow-lite.a(audio_spectrogram.o): In function `tflite::ops::custom::audio_spectrogram::Init(TfLiteContext*, char const*, unsigned long)':
> audio_spectrogram.cc:(.text+0x1070): undefined reference to `flatbuffers::ClassicLocale::instance_'
> /usr/src/app/tensorflow/lite/tools/make/gen/aarch64_armv8-a/lib/libtensorflow-lite.a(audio_spectrogram.o):audio_spectrogram.cc:(.text+0x107c): more undefined references to `flatbuffers::ClassicLocale::instance_' follow
> collect2: error: ld returned 1 exit status

Someone has a solution for that? Found following issues  #26731 and #28863 related to that.

Hi @dongxiao92
Did you solve the flatbuffers issue.
I am also getting similar error, Please let me know once you resolve the issue.
Thanks inadvance.

@dongxiao92, @thotaram, To solve the flatbuffer, I did the following
git clone https://github.com/google/flatbuffers.git
cd flatbuffers
cmake -G "Unix Makefiles"
make
make install
Once flatbuffers is installed, Append -lflatbuffers to the LIBS in tensorflow/lite/tools/make/Makefile.

@aakbar5
Hi, I have followed your inputs still am getting the similar issue.
while.cc:(.text+0x1d04): undefined reference to flatbuffers::ClassicLocale::instance_' while.cc:(.text+0x1d18): undefined reference to flatbuffers::ClassicLocale::instance_'
while.cc:(.text+0x1d6c): undefined reference to flatbuffers::ClassicLocale::instance_' while.cc:(.text+0x1d78): undefined reference to flatbuffers::ClassicLocale::instance_'
Have you resolved Flatbuffers issue using above commands.
Please help me still am missing anything.

@thotaram,
Could you confirm your LDOPTS variable? Mine looks like LDOPTS := -L/usr/local/lib -L/usr/lib.

@aakbar5
Hi,
Thank your for your quick reply.
For me it is like
LDOPTS := -L/usr/lib
I changed LDOPTS as per your suggestions.
LDOPTS := -L/usr/local/lib -L/usr/lib
Still am getting the error.
My Makefile changes are
TARGET := aarch64
TARGET_ARCH := armv8-a
CXXFLAGS := -O3 -DNDEBUG -fPIC -flax-vector-conversions -fomit-frame-pointer
LIBS :=
-lstdc++
-lflatbuffers \
Can you please share your Makefile to resolve this problem.

@aakbar5
In Makefile i could not find LDOPTS where it is using.
Only LDOPTS option is there but it is not using in Makefile.
Can you please share where LDOPTS is used in Makefile.

@aakbar5
In Makefile i could not find LDOPTS where it is using.
Only LDOPTS option is there but it is not using in Makefile.
Can you please share where LDOPTS is used in Makefile.
If I recall correctly, I was using HEAD revision of the Tensorflow master branch. Moreover I hope you are doing native compilation not cross compilation.

I am using tensorflow version 1.13.1
While compiling the sources i can see the below command(aarch64-linux-gnu-g++)
aarch64-linux-gnu-g++ O3 -DNDEBUG -fPIC -flax-vector-conversions -fomit-frame-pointer  -std=c++11 -march=armv8-a -funsafe-math-optimizations -ftree-vectorize -fPIC
Below link i have followed to cross compile tensorflow lite.
https://www.tensorflow.org/lite/guide/build_arm64
Please give your inputs whether am doing right procedure or not?

@aakbar5 Compiled flatbuffers and added it to the libs in Makefile.
Changed LDOPTS to -L/usr/local/lib -L/usr/lib .
aarch64-linux-gnu-g++ -O3 -DNDEBUG -fPIC -flax-vector-conversions  --std=c++11 -march=armv8-a -funsafe-math-optimizations -ftree-vectorize -flax-vector-conversions -fomit-frame-pointer -fPIC -I. -I/usr/src/app/tensorflow/tensorflow/lite/tools/make/../../../../../ -I/usr/src/app/tensorflow/tensorflow/lite/tools/make/../../../../../../ -I/usr/src/app/tensorflow/tensorflow/lite/tools/make/downloads/ -I/usr/src/app/tensorflow/tensorflow/lite/tools/make/downloads/eigen -I/usr/src/app/tensorflow/tensorflow/lite/tools/make/downloads/absl -I/usr/src/app/tensorflow/tensorflow/lite/tools/make/downloads/gemmlowp -I/usr/src/app/tensorflow/tensorflow/lite/tools/make/downloads/neon_2_sse -I/usr/src/app/tensorflow/tensorflow/lite/tools/make/downloads/farmhash/src -I/usr/src/app/tensorflow/tensorflow/lite/tools/make/downloads/flatbuffers/include -I -I/usr/local/include \
-o /usr/src/app/tensorflow/tensorflow/lite/tools/make/gen/aarch64_armv8-a/bin/minimal /usr/src/app/tensorflow/tensorflow/lite/tools/make/gen/aarch64_armv8-a/obj/tensorflow/lite/examples/minimal/minimal.o \
 /usr/src/app/tensorflow/tensorflow/lite/tools/make/gen/aarch64_armv8-a/lib/libtensorflow-lite.a -Wl,--no-export-dynamic -Wl,--exclude-libs,ALL -Wl,--gc-sections -Wl,--as-needed -lrt -lstdc++ -lpthread -lm -ldl -lrt

That is the command it uses for compilation. Still have the flatbuffers error :/

I could not understand the below your point.
Still have the flatbuffers error :/
You are also facing the faltbuffers issue, or issue is resolved by changing Makefile.
Can you please send the tensorflow master branch link.

@aakbar5
/tensorflow/tensorflow/lite/tools/make/gen/aarch64_armv8-a/lib/libtensorflow-lite.a -Wl,--no-export-dynamic -Wl,--exclude-libs,ALL -Wl,--gc-sections -Wl,--as-needed -lrt -lstdc++ -lpthread -lm -ldl
In the above statement i could not see the "-lflatbuffers" library. Although it is there in LIBS in Makefile.

@thotaram
Now it is running for me. Changed in the aarch64_makefile.inc the LIBS part and added -lflatbuffers.
  LIBS := \
    -lflatbuffers \
    -lstdc++ \
    -lpthread \
    -lm \
    -ldl \
    -lrt

@aakbar5 For some reason the linker is not able to use the flatbuffer library. It gives the following error:
/usr/lib/gcc-cross/aarch64-linux-gnu/7/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible //usr/local/lib/libflatbuffers.a when searching for -lflatbuffers
/usr/lib/gcc-cross/aarch64-linux-gnu/7/../../../../aarch64-linux-gnu/bin/ld: cannot find -lflatbuffers
Would it make a difference if you were trying to cross compile instead of natively compiling the tflite for ARM?

@vizero1
Included -lfaltbuffers in aarch64_makefile.inc file LIBS part.
Still am getting the below error.
tensorflow/tensorflow/lite/tools/make/gen/aarch64_armv8-a/lib/libtensorflow-lite.a -Wl,--no-export-dynamic -Wl,--exclude-libs,ALL -Wl,--gc-sections -Wl,--as-needed -lrt -lflatbuffers -lstdc++ -lpthread -lm -ldl -lrt
/usr/lib/gcc-cross/aarch64-linux-gnu/5/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible //usr/local/lib/libflatbuffers.a when searching for -lflatbuffers
/usr/lib/gcc-cross/aarch64-linux-gnu/5/../../../../aarch64-linux-gnu/bin/ld: cannot find -lflatbuffers
collect2: error: ld returned 1 exit status

@aakbar5
/tensorflow/tensorflow/lite/tools/make/gen/aarch64_armv8-a/lib/libtensorflow-lite.a -Wl,--no-export-dynamic -Wl,--exclude-libs,ALL -Wl,--gc-sections -Wl,--as-needed -lrt -lstdc++ -lpthread -lm -ldl
In the above statement i could not see the "-lflatbuffers" library. Although it is there in LIBS in Makefile.

Have you tried your luck by adding -lflatbuffers in the above command?

@aakbar5 For some reason the linker is not able to use the flatbuffer library. It gives the following error:
/usr/lib/gcc-cross/aarch64-linux-gnu/7/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible //usr/local/lib/libflatbuffers.a when searching for -lflatbuffers
/usr/lib/gcc-cross/aarch64-linux-gnu/7/../../../../aarch64-linux-gnu/bin/ld: cannot find -lflatbuffers
Would it make a difference if you were trying to cross compile instead of natively compiling the tflite for ARM?

Yes, it's matter a lot as you need to make sure that you are not exposing libs and headers of your host machine for cross-compilation. For example there are a lot of variables in the build system which are just assuming that /usr/lib or /usr/include is having correct libs/headers which won't be case for cross-compilation.

@aakbar5
Have you tried your luck by adding -lflatbuffers in the above command?
I included -lfaltbuffers in aarch64_makefile.inc file. Now it showing as below
tensorflow/tensorflow/lite/tools/make/gen/aarch64_armv8-a/lib/benchmark-lib.a -Wl,--no-export-dynamic -Wl,--exclude-libs,ALL -Wl,--gc-sections -Wl,--as-needed -lrt -lflatbuffers -lstdc++ -lpthread -lm -ldl -lrt
Still getting the error after adding this -lfaltbuffers also. Please see the below error.
/usr/lib/gcc-cross/aarch64-linux-gnu/5/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible //usr/local/lib/libflatbuffers.a when searching for -lflatbuffers
/usr/lib/gcc-cross/aarch64-linux-gnu/5/../../../../aarch64-linux-gnu/bin/ld: cannot find -lflatbuffers

@aakbar5
Have you tried your luck by adding -lflatbuffers in the above command?
I included -lfaltbuffers in aarch64_makefile.inc file. Now it showing as below
tensorflow/tensorflow/lite/tools/make/gen/aarch64_armv8-a/lib/benchmark-lib.a -Wl,--no-export-dynamic -Wl,--exclude-libs,ALL -Wl,--gc-sections -Wl,--as-needed -lrt -lflatbuffers -lstdc++ -lpthread -lm -ldl -lrt
Still getting the error after adding this -lfaltbuffers also. Please see the below error.
/usr/lib/gcc-cross/aarch64-linux-gnu/5/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible //usr/local/lib/libflatbuffers.a when searching for -lflatbuffers
/usr/lib/gcc-cross/aarch64-linux-gnu/5/../../../../aarch64-linux-gnu/bin/ld: cannot find -lflatbuffers

@thotaram, Are you sure that flatbuffers is in /usr/local/lib/ because that's where ld is looking for. However make sure that your flatbuffers lib is built with the correct toolchain.
Are you sure that you are not mixing libraries of different toolchains? I am thinking about this due to skipping incompatible message.

Below is my flatbuffer library.
-rwxr-xr-x 1 root root 4897132 Jun  6 10:34 /usr/local/lib/libflatbuffers.a
As per your inputs i compiled the flatbuffers source code.
cmake -G "Unix Makefiles"
make
make install
Please let me know still am missing anything.

@aakbar5
Hi,
Skipping incompatible issue is not coming now. Getting the below error.
opt/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.4.1/../../../../aarch64-linux-gnu/bin/ld: cannot find -lflatbuffers
collect2: error: ld returned 1 exit status
tensorflow/lite/tools/make/Makefile:269: recipe for target '/home/aiiec/ARMNN/TF_lite_latest/tensorflow/tensorflow/lite/tools/make/gen/aarch64_armv8-a/bin/minimal' failed
make: *** [/home/xxxx/ARMNN/TF_lite_latest/tensorflow/tensorflow/lite/tools/make/gen/aarch64_armv8-a/bin/minimal] Error 1
make: *** Waiting for unfinished jobs....
aarch64-linux-gnu-ar: creating /home/xxxx/ARMNN/TF_lite_latest/tensorflow/tensorflow/lite/tools/make/gen/aarch64_armv8-a/lib/benchmark-lib.a
Can you please suggest how to resolve it.

@aakbar5
Hi,
Can you please share cmake command to cross compile the Flatbuffers source code for ARM64
Thanks andvance.

Hi ..!
I git-cloned tensorflow, and on the latest branch i executed download_dependencies.sh and build_aarch64_lib.sh
( after disabling the NNAPI and adding the above mentioned compiler flags )
I was able to generate the static library libtensorflow-lite.a, but the compilation terminated with error on compiling <TF root>/tensorflow/lite/tools/make/gen/aarch64_armv8-a/bin/minimal
I'm not sure whether the static library compilation is complete.
Can anyone please help me in pointing out a resource / example for using this static library for building a simple working application ..?!

Hi All,
I am still facing issue with eigen URL, even I use http or https
wget https://mirror.tensorflow.org/bitbucket.org/eigen/eigen/get/a0d250e79c79.tar.gz --no-check-certificate
--2019-06-27 11:47:15--  https://mirror.tensorflow.org/bitbucket.org/eigen/eigen/get/a0d250e79c79.tar.gz
Resolving mirror.tensorflow.org (mirror.tensorflow.org)... <IP_ADDRESS>, 2404:6800:4007:80f::2010
Connecting to mirror.tensorflow.org (mirror.tensorflow.org)|<IP_ADDRESS>|:443... connected.
WARNING: no certificate subject alternative name matches
requested host name ‘mirror.tensorflow.org’.
HTTP request sent, awaiting response... 404 Not Found
2019-06-27 11:47:16 ERROR 404: Not Found.
I changed to http://www.bitbucket.org/eigen/eigen/get/a0d250e79c79.tar.gz and it is compiling for me but can we get some fix, I don't want to change URL for each and every release ?
Please note, I am not facing compilation issue because I wrote my own CMake for tflite just for compiling libtensorflow-lite.a taking reference from Makefile, I didn't need to compile flatbuffer library but has to add one util.cpp from it. I am not compiling Benchmark app so can't say this will work for you. If I will compile benchmark will let you know.

Hi All,
Tensorflow lite build is successful, able to run examples.
label_image.cc example ran successfully with opencv 3.2.0 version but getting errors with opencv 3.4 and opencv 4.1.0 versions.
below code is changed in the Makefile
$(LABEL_IMAGE_BINARY): $(LABEL_IMAGE_OBJS) $(LIB_PATH)
@mkdir -p $(dir $@)
$(CXX) $(CXXFLAGS) $(INCLUDES)
-o $(LABEL_IMAGE_BINARY) $(LABEL_IMAGE_OBJS)
$(LIBFLAGS) $(LIB_PATH) $(LDFLAGS) $(LIBS) -L/home/xxx/opencvAarch64/opencv/build/install/lib -lopencv_core -lopencv_imgcodecs -lopencv_imgproc -lopencv_highgui
With opencv 3.2 is working fine, getting errors when includes 3.4 or 4.1 libraries.
ERROR:
/home/xxx/TFlite/TensorFlow_Lite/tensorflow/tensorflow/lite/tools/make/gen/aarch64_armv8-a/lib/libtensorflow-lite.a -Wl,--no-export-dynamic -Wl,--exclude-libs,ALL -Wl,--gc-sections -Wl,--as-needed -lstdc++ -lpthread -lm -ldl -lrt /home/xxx/TFlite/TensorFlow_Lite/tensorflow/tensorflow/lite/tools/make/gen/aarch64_armv8-a/lib/benchmark-lib.a -L/home/xxx/opencvAarch64/opencv_4.1.0/opencv-4.1.0/build/install/lib -lopencv_core -lopencv_imgcodecs -lopencv_imgproc -lopencv_highgui -lopencv_features2d -lopencv_calib3d -lopencv_flann
/home/xxx/TFlite/TensorFlow_Lite/tensorflow/tensorflow/lite/tools/make/gen/aarch64_armv8-a/obj/tensorflow/lite/examples/custom_sv_psd_image/psd/src_psd/psdl_label.o: In function tflite::label_image::RunInference(tflite::label_image::Settings*)': label.cc:(.text+0x2214): **undefined reference to cv::imread(cv::String const&, int)'**
label.cc:(.text+0x22c4): undefined reference to cv::String::deallocate()' label.cc:(.text+0x2f88): undefined reference to cv::String::allocate(unsigned long)'
label.cc:(.text+0x3678): undefined reference to `cv::String::deallocate()'
Please suggest how to resolve this problem.
Thanks,
Ram.


Expose path to headers to other build scripts

Other sys crates that have C code also need the headers.

https://github.com/gtk-rs/gir/pull/678


Windows command: Update broken link to the lesson

Complete the following REQUIRED checkboxes:

[x] I have thoroughly read and understand The Odin Project Contributing Guide
[x] The title of this PR follows the location of change: brief description of change format, e.g. Callbacks command: Update verbiage

Complete the following checkboxes ONLY IF they are applicable to your PR. You can complete them later if they are not currently applicable:

[x] I have ensured all tests related to any command files included in this PR pass, and/or all snapshots are up to date

1. Because:
Currently, the link leads to a 404 page.
2. This PR:

Changes to an up-to-date link.

3. Additional Information:

Whoops, I ran the test suite in the main branch instead of the correct one. Currently, I have a test that fails because it expects the broken link to be output but it gets the correct one.


Unused license messages

There are many apparently unused license messages, like license_name_pd_usgov.
Is there any intention to use them in the near future?

I don't think so, as we should probably only offer the licenses that the Upload Wizard does? Anyone have thoughts on this?

People who really need license_name_pd_usgov probably use desktop computers.
Those not offered by the Upload Wizard can be removed, I would say.

For clarity, these are in wikimedia_licenses.xml


Add "Thumbnail View" option to Image/List/Scroll View drop-down

During fall semester of 2015, several Harvard librarians performed a usability test on the Harvard Library's instance of Mirador.  All test participants experienced issues with toggling the thumbnail view.  The users could not easily tell which view is currently selected or where to find the thumbnail view.  The librarians recommended removing the separate thumbnail view icon and adding a "Thumbnail View" option to the list that includes Image View, List View, and Scroll View.  The existing grid icon could be used for the Thumbnail View option.  Additionally, the icon should dynamically change based on which view is currently selected.

Thanks for taking the time to ticket this, and for conducting this testing in the first place. We've certainly heard this feedback before, and have tried a number of things. I've created another ticket (#701) to address the button state issue.
Perhaps it is time to give this configuration a try (and see if anyone misses the thumbnail view button outside of the dropdown).
Thanks again!

I like the idea of having the drop down menu be more dynamic based on the current view type.


Autobuilding of docker images

I realized that docker images are sometimes a few days behind the gradle releases on GitHub. Could you provide a way to automate that? E.g. 5.2 is not yet available on https://hub.docker.com/_/gradle/?tab=tags

Sorry, we don't maintain those images.


works with openai and anthropic

Used litellm to implement streaming with openai api calls. Could not get this to work with anthropic but the original anthropic code is still present and supported.
Streaming can be a little finicky, in order to get the formatted text to work each time a new chunk arrives the previously printed text is erased and replaced with the new text. Sometimes a line is not erased properly, but i don't think this is a big issue.

Also I'm not sure if the way i delete lines from the terminal will work properly on windows, please test this merging


!is

My bad luck drove me to write something like:
void f(Object? a) {
  print(a !is num);
}
void main() {
  f(1);
}

so in fact a !is num is exactly the same as a is num.
Is there anything we should do to prevent primitive ones like me from doing so?

It's bitten me before.  Since the olden days, Dart spells the negation of is with postfix !.  It's easy to forget, given != and !boolExpr.  I now unconsciously type !(x is Foo) and let prefer_is_not_operator help.
When a is not nullable, unnecessary_non_null_assertion catches it.
+1 for a lint, if it's not feasible to adjust the grammar.

Sounds like a potentially useful hint, but also a somewhat risky one.
The biggest problem is that the code has a semantic meaning different from a is num. The code a !is num will throw on null, the one without ! will not. The question is whether the mistake happens often enough that it's worth spending time implementing a hint, and the same code written intentionally happens rarely enough that we don't get false positives.
Also, the formatter will make it a! is num, which might tip you off that something is wrong. (It also means that we can't use whitespace to determine whether you wrote !is instead of is!, because your IDE might autoformat the code before the analyzer sees it.


fix(angular): fix position of popup cat-elements inside cat-dialog

A workaround for https://github.com/haiilo/catalyst/issues/569
What is happening?
The floating elements of catalyst have the position property as fixed. When the elements are inside the dialog the position is calculated with the new container element, but it seems that the new chrome version (129) still sets the viewport as the container. That is to say, the position calculations are ok but when rendering it, the container element is the viewport instead of the dialog.
What has been done?
Dialog has been chosen as the new container element.
https://developer.mozilla.org/en-US/docs/Web/CSS/position#fixed_positioning
What to test?

With the Angular project running, check that the floating elements (cat-dropdown, cat-date, cat-time, cat-tooltip, cat-select, cat-date, cat-datepicker although it is deprecated) are positioned well within the dialog.
Test it with the latest version of chrome and in other browsers.

approved


Landing page template should include list of files and preview

The landing page of a record (e.g. /records/1) should include the list of associated files, as well as a preview of the file if possible.
Model it over Zenodo:

We might need to configure the IIIF previewer:
https://invenio-iiif.readthedocs.io/en/latest/usage.html#preview

Requires change to recorsds/templates/records/record.html. See Invenio-Previewer template macros as well as files.html preview.html in Zenodo for inspiration.
Edit config.py to add
#: List of previewers (adds IIIF previewer).
PREVIEWER_PREFERENCE = [
    'csv_dthreejs',
    'iiif_image',
    'simple_image',
    'json_prismjs',
    'xml_prismjs',
    'mistune',
    'pdfjs',
    'ipynb',
    'zip',
]


Fixed mistake in list of handlers

You could have just amended the previous commit, no need to create separate PR. :) Thanks!
BTW The build is not passing because Travis phased out PHP 5.3. From what I see it won't be possible to test on 5.3 and HHVM simultaneously so I will probably need to drop support for either of them.

You are welcome :)

You could have just amended the previous commit, no need to create separate PR. :) Thanks!
It was easier to create new PR and save old for historical reasons instead of playing around with history rewrites of PR.


Fix flaky document upload spec

If the request to upload the document hasn't completed (and subsequently updated the DOM), the "Save and continue" button will be clicked before the document has uploaded. This means the form returns an error and the user does not navigate to the "Review employment income" page as expected by the test.
This adds an assertions against the rendered content to ensure that the document has been uploaded before submitting the form. This prevents the test being flaky, but it doesn't resolve the underlying issue.
Here are some UX/testing considerations that might improve the user experience and the robustness of the test:

Prevent form submissions while documents are being uploaded.
Offer a visual affordance to the user that the document is being uploaded (e.g a spinning progress icon).
Wait for JavaScript-driven requests (i.e uploading the document) to finish in tests before continuing. Cuprite is a Selenium alternative that offers this kind of functionality out of the box.

@kmahern this sort of change will stop any document upload integration test from being flaky


Get matching package name oni, or reserve + update name

There is lots of confusion around this repo being oni and the npm package being oni-vim.
We should look at ways to match these up. Some discussion was tracked in #277
A couple ideas:

See if the owner for oni on npm would be willing to give us the package name
Update the name to something that isn't already reserved.

Let me know if you have ideas!

@extr0py is your npm username also extr0py?

Yep, same name on npm.
I started looking at oni vs onivim and it seems like in general onivim is more available:

onivim.io is available
Subreddit is available: http://www.reddit.com/r/onivim
npm package onivim is available

I snagged all of those above :)
For the next release (likely 0.1.11), I'm planning on making the switch.  If we stick with just oni, it'd be harder to get the rest of those collateral. Let me know if you have any concerns @keforbes @bert88sta

Oh, I talked to the guy who owns oni and he said he'd just give it to you
On Mar 12, 2017 2:49 PM, "extr0py"<EMAIL_ADDRESS>wrote:

Yep, same name on npm.
I started looking at oni vs onivim and it seems like in general onivim is
more available:

onivim.io is available
Subreddit is available: http://www.reddit.com/r/onivim
npm package onivim is available

I snagged all of those above :)
For the next release (likely 0.1.11), I'm planning on making the switch.
If we stick with just oni, it'd be harder to get the rest of those
collateral. Let me know if you have any concerns @keforbes
https://github.com/keforbes @bert88sta https://github.com/bert88sta
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/extr0py/oni/issues/279#issuecomment-285965316, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AICBCbIbfkDUSywVTvP8ui3d6Qjz8dgoks5rlD49gaJpZM4MUgVY
.

If the guy who owns oni on npm is willing to give it to us I'd rather keep that name.  It's good to grab onivim on things like reddit since oni has another meaning, but on software-specific sites I think we should use the name oni.

This is his/her email to me
Hello
Sure, you can have the package name. My project isn't really serious.
To transfer the package to you I just run:
npm owner add extr0py oni
right?
Cheers,
Till
Is that right? I don't know about npm enough to verify
On Mar 12, 2017 3:27 PM, "keforbes"<EMAIL_ADDRESS>wrote:

If the guy who owns oni on npm is willing to give it to us I'd rather keep
that name. It's good to grab onivim on things like reddit since oni has
another meaning, but on software-specific sites I think we should use the
name oni.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/extr0py/oni/issues/279#issuecomment-285968521, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AICBCYBXdpwCdnughqQJnyqt0F2qCdkQks5rlEcvgaJpZM4MUgVY
.

Sweet! Thanks @bert88sta for reaching out - you rock.
Yes, npm owner add extr0py oni is all that would be needed. We should also check with Till and see if he has a twitter handle or a website he'd like us to plug - we should put a special thanks message in our README.md like "Special thanks to Till for handing over the oni NPM package name", with a link to his website/twitter. Not that we can get a lot of traffic now, but maybe one day ;)

And ya, since you did all this legwork, I agree - having the oni name would be awesome, we'll stick with that as our name. I do prefer having a short, easily identifiable name.
I have the onivim subreddit and onivim.io domains - it's a bummer we can't get just oni for those, but not the end of the world.

Hello
I just transferred the package.
You don't have to thank me in the README, but if you really want to you can
just reference my github handle @tillarnold
Cheers,
Till
Quoted from the email to me
On Mar 12, 2017 3:44 PM, "extr0py"<EMAIL_ADDRESS>wrote:

And ya, since you did all this legwork, I agree - having the oni name
would be awesome, we'll stick with that as our name. I do prefer having a
short, easily identifiable name.
I have the onivim subreddit and onivim.io domains - it's a bummer we
can't get just oni for those, but not the end of the world.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/extr0py/oni/issues/279#issuecomment-285970069, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AICBCfE-jc4L4EZhym2SBTgylP8k85Zgks5rlEsLgaJpZM4MUgVY
.

Awesome! It's up at npm: https://www.npmjs.com/package/oni
I'm adding a deprecation notice to the oni-vim npm package. Thanks for all the help!

Aaaand https://www.npmjs.com/package/oni-vim is marked as deprecated. Thanks all for the help, and especially @tillarnold for giving us the package name. Cheers!


Implement AnchoredSeq.splitAtMeasure

This PR implements a function that allows to split an AnchoredSeq at an arbitrary measure boundary.
It is helpful in the Genesis implementation to split AnchoredFragments. We need to count the amount of headers that a fragment contains in a window of slots (the genesis window). We currently do this with dropWhileNewest.
We use dropWhileNewest to cut the upper end of the fragment because we don't know the slot of the headers before or after the end of the window, which rules out splitBeforePoint, splitBeforeMeasure, etc.
Also tried filter to keep the headers in the window, but it was a bit slower than dropWhileNewest.
The implementation of splitAtMeasure provided here is at least as fast as dropWhileNewest in our measuring.
Alternatives
Expose a more general function split :: (v -> Bool) -> AnchoredSeq v a b -> AnchoredSeq v a b which delegates to FingerTree.split.
Or expose the implementation of AnchoredSeq, so we can implement this function in a "Utils" module without having to upgrade or fork ouroboros-network-api.

I will try to review this, but please bear with me as I need to analyze the code in context as well to make sense of it

Rebased master to resolve conflicts in a changelog.

Should I try merging at another time?


ERC-20 deposit Token auto-complete

📄 Context
The ERC-20 deposit form requires the input of the ERC-20 contract address.
The backend contains a list of Tokens, created from the past deposits.
We can use an auto-complete to help the user select the Token.
The backend contains not only the address of the ERC-20 but also the name and the symbol, which are very helpful for manual input.
✔ Solution
We can use an autocomplete with information from the backend.
The query is something like the query below, but with variables for searching by address OR name OR symbol.
https://squid.subsquid.io/cartesi-rollups-sepolia/graphql
query tokens {
  tokens {
    id
    name
    symbol
  }
}

Deposits to unknown tokens must be allowed, but we can present a warning box saying "this is the first deposit of that token".
📈 Subtasks

[ ] implement query
[ ] implement UI

🎯 Definition of Done

[ ] auto-complete working
[ ] warning presented if it's first deposit of that token

This one depends on https://github.com/cartesi/rollups-explorer/issues/17 so we can start working on it as soon as the parent task is complete.


provide an API to set quic.Config options

I have the same issue, I need to set the KeepAlive at config.
for now I just hacked and added the config as a parameter to Listen() at dial.go


Implement TizenArtifacts and update engine hash

Part of https://github.com/flutter-tizen/flutter-tizen/issues/286 and https://github.com/flutter-tizen/engine/issues/224.
Reland TizenArtifacts which has previously been removed by https://github.com/flutter-tizen/flutter-tizen/pull/150, to enable overriding  gen_snapshot paths for Tizen during app build.
Notes:

Only Linux gen_snapshot artifacts are currently included in the Tizen engine 2.8.0 (1) pre-release. I'll update the artifacts when https://github.com/flutter-tizen/engine/issues/224 is implemented by @WonyoungChoi. If you are on Windows or macOS, you can manually build gen_snapshot and copy it to the cached artifact directory corresponding to your host platform (e.g. flutter/bin/cache/artifacts/engine/tizen-arm-release/windows-x64).
If anyone is using flutter-tizen to build Android apps, beware that this change may break Android release and profile builds. This is inevitable because we use the same TargetPlatform names for Android and Tizen.

Now that tizen-arm-release.zip contains the gen_snapshot binary, but when the CI works are finished, the artifacts will be separated to download only the artifact required for the host platform.


Add a button for asking "is this correct?"

Every time there's a prediction, there should be an easy to use button asking "is this correct?".
The result of tapping this button will update a database prediction to say whether or not the prediction was right or wrong.
This will help evaluate the model(s) in the wild.

I want to now add a button for “is this correct?” and then adding it to a database... I’ll build a small app to do that in the meantime.

Supabase allows the functionality of adding functions to your database, so I’ll find it there: https://youtu.be/MJZCCpCYEqk
Adding functionality into the database is helpful because it means you can change the front end of your app and the function in your database can still be called.

E.g. you could write the app in Python, Ruby, JavaScript etc and you just call the function from the database and pass it the appropriate variables.

See this post from Derek Sivers for more: https://sive.rs/api01

Though there’s some debate about this here: https://softwareengineering.stackexchange.com/questions/158534/pros-and-cons-of-holding-all-the-business-logic-in-stored-procedures-in-web-appl
Is it necessary to have everything in a single place? If I just want to log predictions etc, can I do this all in one language?

Start as simple as possible:

Button -> "Is this correct?" -> Yes/no -> Answer logged to database

If it's on your business backend, then you can swap out the front-end without affecting how your code runs. Hope this makes sense with whatever decision you do.
I usually want the client-side to do as little as possible.

Made some progress on this. Currently implemented a simple version in a toy app but I can merge it over to Nutrify.
Want to log:

UUID of the prediction (every upload/prediction gets a UUID) - this will allow tracking across different instances/tables (this UUID gets attached the image, the prediction, the button press, etc)
Timestamp - this is easy to do, Supabase can add it by default
Add "correct"/"not correct" bool - have a column that's simple true/false in Postgres, can index on this
Add fdc_id prediction code - this will be the food ID that the model predicted as being correct, with this we can index on the ID's with the most incorrect

Button functionality:

Make the button presses work only once - this is easy, just make them disappear after a single click (some people may want to update their answers, but I feel this won't be 100% necessary to begin with, this functionality can be added when there is auth/accounts)
Add "thank you" message after the buttons are pressed - be nice

Done, added the functionality for a "is this correct?" button in #42
The button will now log the results of whether predictions are correct or not (based on feedback from people) to a Supabase database.


Preview mode is undefined when called inside of an iframe

Hello !
For context, I am updating an existing website on Next to use next-drupal, and I want to add the preview mode to it.
When navigating to the preview URL manually, the preview variable in context is correctly defined to true, but when provided by the Drupal module iframe, the value is always undefined.
I also have problems with the cookies (I made a GDPR compliant cookies manager), since it's in an iframe, the GDPR pop-up keeps opening on the preview mode, so it's kind of annoying, I decided to use the preview variable to conditionally disable it when previewing the page, thus my previous problem.
In my Next config file I've have some changes done like X-Frame-Options completely emptied out to allow the backend to communicate with my localhost in development and some HSTS headers to make it compliant with some security protocols our clients have.
Thanks in advance,

@Kroonax is this happening on localhost or in prod?

It's been happening in localhost with a Drupal on ddev, not tested in a production environment.

OK. Yeah this is a know issue running Next.js in an iframe. If your Drupal site is say at http://drupal.test and the Next.js site is running at http://localhost:3000, Next.js cannot properly set the required cookie for preview mode.
This does not happen in prod.
We have a work-around for this during development. See https://next-drupal.org/docs/client/configuration#forceiframesamesitecookie
Can you give this a try and see if it works?

I had to change my config and manually set everything in the DrupalClient, it seems that documentation on the subject is a little inconsistent from one point to another.
Once I set everything up I get Error: The path attribute is missing for entity with slug /my/slug.

You're seeing this error after setting forceIframeSameSiteCookie: true?

Yes, before that it loaded correctly but was not able to retrieve the preview mode, now it just errors out.

Did you figure it out?

Hmm how is your getStaticPaths set up?

I've mixed up everything and every pages, I'm back on tracks (was working on a page without a slug or generated paths, it's a lonely node in its own content type).
Let's say we have this scenario :
The route is /article/myslug.
The context is :
{
  params: { slug: 'myslug' },
  locales: undefined,
  locale: undefined,
  defaultLocale: undefined
}

getResourceFromContext("node--article", ctx, {
  // adding prefix: "article" does not change anything
  params: {
    include: "my_includes",
  },
 deserialize: false,
});

null is returned by getResourceFromContext.
If I debug inside of next-drupal, I see that the path returned by getPathFromContext is myslug (or article/myslug if I add the prefix: "article" option)

I just tried changing it to /article but it does not change anything.
The node has a path alias and it matches, this is becoming weirder and weirder.

Ok, it seems that it is caused by the lines 65-67 of get-resource.ts.
 if (!context.locale && !resource?.default_langcode) {
    return null
  }

It was so obvious I didn't see it, the website is not localized, therefore it always returns null, what's the short term solution ? Giving getResourceFromContext and getPathsFromContext a fake context with hardcoded langcode ?

Ah this was added because of a bug how localized route was being handled but it assumes a default_langcode is returned from the server.
Are you disabling some fields on the Drupal server? Say with JSON:API extras?
We fixed this in the DrupalClient version.
If it's not a lot of work, maybe try upgrading to the DrupalClient version? https://next-drupal.org/docs/client/upgrade

@Kroonax  Since this bug came up a few times, I backported the fix and created a new release.
Can you upgrade to next-drupal 1.4-rc1 and test please?
Note: I'd still recommend the DrupalClient going forward.
Thank you.

Upgrading to the rc1 fixed the issue ! Thanks a lot !


add: properties to disable built-in filters/predicates

Enhacement #72
Add properties to be possible to disable built-in filters/predicates.
I keep GlobalFilters properties in kebab-case, following the example of component: GatewayReactiveLoadBalancerClientAutoConfiguration that uses the property: reactive-loadbalancer
For GatewayFilters and Predicates I use in properties the same name that are registered in the factories, e.g.: AddRequestHeader, RemoteAddr

Thanks for starting on this. I'd hoped to do a custom @ConditionalOnEnabledFilter to ease the maintenance burden. The properties should all be lower cased with dash (ie the canonical format). The user can do differently, but the code needs to reference it canonically.

Thanks for the feedback.
I'll fix the properties name and try to create a custom annotation.

Thanks for starting on this. I'd hoped to do a custom @ConditionalOnEnabledFilter to ease the maintenance burden. The properties should all be lower cased with dash (ie the canonical format). The user can do differently, but the code needs to reference it canonically.

Hi @spencergibb when you say about a custom @ConditionalOnEnabledFilter is to create one annotation by filter/predicate (something like this: example) ?
Or is to create a new implementation using @Conditional(MyCustomClassHere.class) ?

It's both the custom annotation and custom conditional that looks at the class type of the bean

It's both the custom annotation and custom conditional that looks at the class type of the bean

@spencergibb I created two custom annotations @ConditionalOnEnabledPredicate and @ConditionalOnEnabledFilter to handle the different components.
I made the custom conditional based on those examples.
I'm thinking to create another annotation for GlobalFilters too, but I want to know what do you think ? I'm in the right way

I forgot to reply here. So I created an annotation to GlobalFilters and think the PR is complete now.
Let me know if there is something else.

squashed and merged with some polish via d8e53f118850ac0cd93f38b26d46f1e69dc8b829
Most notably the class isn't needed if just repeating the return type.
Also, properties are namespaced:

spring.cloud.gateway.filter..enabled
spring.cloud.gateway.global-filter..enabled
spring.cloud.gateway.predicate..enabled

@brunogs well done! thanks for the contribution.

I took a look, the class OnEnableComponent was very better with the use of MethodMetadata, now is more simple use the annotations, nice!
Thanks for the feedbacks @spencergibb

De nada!


Failed to authenticate with credentials on repository

I have the following compose, nothing else (yet):
name: gitness
services:
  ship:
    image: harness/gitness:latest
    ports:
      - 3000:3000
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /tmp/gitness:/data
      - gitness:/app
    restart: always
volumes:
  gitness: {}

In app I created the following credentials, on localhost:3000
UID: a
email<EMAIL_ADDRESS>password: Test123
And I was able to sign in, in the web UI.
But once I created a private repository and tried to pull, I was asked to authenticate (obviously since it is a new remote) so I tried with both UID + pass & email + pass.
Both failed on me, even after resetting the password and getting: xnL23vsZRX : a generated pass from gitness, it still failed for UID and email.
So what could I be doing wrong?

Figured it out, it doesn't clearly say so in the docs, but you need to generate an API token for the git functionality.


Modify Extractable Response

Is your feature request related to a problem? Please describe.
When using the Extractible derive proc macro, I find that the way I can handle rendering is inconvenient.
I can leverage a Catcher or a Middleware to see if the status code is a 400, but I lose the context that I would like from the serde error in the error response JSON for my APIs.
Describe the solution you'd like
I want to be able to specify whether when deriving Extractible the response should be HTML or JSON.
i.e.
#[derive(Debug, Deserialize, Extractible)]
#[extract(default_source(from = "body", format = "json", res = "json"))]
//Maybe even
#[extract(render_with(some_function_to_render_it)]
pub struct Login<'a> {
    #[serde(borrow)]
    username: Cow<'a, str>,
    #[serde(borrow)]
    password: Cow<'a, str>,
}

And I'm trying to return the following json:
{
  "status": 400,
  "message": "The data was invalid, missing username field", // or whatever the serde error is.
  "code": "bad_request"
}

Describe alternatives you've considered
This can be done by manually taking the Request type in handlers and doing a match on whether it extracts. But I would love to be able to leverage the nice QOL features this library offers to do something similar :) with fewer lines. Especially since that could get repetitive.
I could also macro_rules those few lines or proc macro. But again I think integration with the library directly would offer a nice result.
Additional context
N/A

Ah didn't realize that; my bad!
It looks like I can clean up some of my logic with this. Thanks a bunch!


Kube proxy CRT copy over

Were kube-proxy.key, kube-proxy.crt, kube-scheduler.key, kube-scheduler.crt, admin.key, admin.crt copy over to master-2 missed in https://github.com/mmumshad/kubernetes-the-hard-way/blob/master/docs/04-certificate-authority.md

Hi @susilkumarjayachandran
As per comment on the other issue, please try new version
Thanks


Support loading iBridgeBaron screenshots

This would be a really convenient way to load hands on phones.
I'm not sure what File Upload buttons do on mobile. Can they be made to bring up the photo selector?
cc @mshron

it's possible: http://code.hootsuite.com/html5/

Here's a sample screenshot. I think a hacky approach would work well:

Extract rectangles from hard-coded coordinates for each card.
Match the suit and number/symbol against each possibility.

You can almost get away with looking for a red or black pixel to determine suits. But that doesn't quite work: what if you have a two-suited hand with spades and hearts? How do you tell that from diamonds and clubs?

You resize it (bilinear interpolation is fine) to be a standard size and
make it black and white. Then you do some kind of window on the array of
pixels to turn it into arrays of blocks of suit pixels and arrays of blocks
of number pixels.
Then you can probably do a simple NN lookup against each shape and
alphanumeric and get perfect results, as long as they don't change their
font.
On Fri, Nov 13, 2015 at 9:30 AM, Dan Vanderkam<EMAIL_ADDRESS>wrote:

Here's a sample screenshot. I think a hacky approach would work well:

Extract rectangles from hard-coded coordinates for each card.
Match the suit and number/symbol against each possibility.

You can almost get away with looking for a red or black pixel to determine
suits. But that doesn't quite work: what if you have a two-suited hand with
spades and hearts? How do you tell that from diamonds and clubs?
[image: img_1362]
https://cloud.githubusercontent.com/assets/98301/11148054/58a86cfc-89e8-11e5-9ce2-d2c2b9015570.PNG
—
Reply to this email directly or view it on GitHub
https://github.com/danvk/dds.js/issues/18#issuecomment-156447482.

That sounds about right. The font may have changed from iOS 8 to iOS 9, but if we're both running iOS 9 then I don't think we care.
For bonus points, we could write a function that takes a font name and generates canonical suit + letter images for comparison.

At first glance, it might seem like you need to compute ~52x52 distances between card images to find the hand for the screenshot. But it's not so bad. We know in advance that the cards are sorted, so we shouldn't ever have to do more than 52 comparisons per player. And once a card is matched, it can't appear in anyone else's hand. So we shouldn't have to do more than 52 + 39 + 26 + 13 = 130 image comparisons.

Closed via 29ae7643187ca35ec000bdb4e68cc6d5c5316246


chore:allow github to search build folder

By default, GitHub excludes build/ folders from some searches, such as GitHub's t search. This makes sense in many projects.
However, Outline's build/ folder contains scripts, not build artefacts (which in Outline appear under dist/)
This change will allow github to search Outline's build/ folder, as with most other folders.
To test:

On the repo's GitHub page, press t and then try a search for download_file. You will get 0 results.
Try the same on this PR's branch. You should get results!

Didn't work. Closing.

OK fixed. I had previously tried explicit paths:
/src/build/** linguist-generated=false
/tools/build/** linguist-generated=false

But that didn't work. So instead I had to use what GitHub Support recommended:
build/** linguist-generated=false

Reopened in #1624

Reopened in #1624


exe files isnt there

hey idk if ur still active on this repo but i did everything succesfully but i cant seem to find the exe file

Yeah, this is a pretty outdated repo and I don't got much time rn to fix the issues.
So I would suggest you to use this Stealer: It's way better and gets updates frequently. Also it's developed by me and a friend.
https://github.com/DamagingRose/Rose-Injector

hey is there a tut on how to use it step by step?

hey is there a tut on how to use it step by step?

Simply check out the setup tab on Rose's Readme.


Handle 2FA cycle

Emojipacks doesn't work on accounts that are 2FA enabled
emojipacks
Slack subdomain: redacted
Email address login: [REDACTED]
Password: **************
Path or URL of Emoji yaml file: http://www.emojipacks.com/packs/businessfish.yaml
Starting import
Got tokens
Logged in
Upload crumb is undefined
Uh oh! Error: Login error: could not get emoji upload crumb for https://redacted.slack.com

Disabling 2FA works, but I'm sure there's a way to handle the full circle.
$ emojipacks
Slack subdomain: redacted
Email address login: [REDACTED]
Password: **************
Path or URL of Emoji yaml file: http://www.emojipacks.com/packs/businessfish.yaml
Starting import
Got tokens
Logged in
Upload crumb is s-1442851577-a17fca3392-☃
Getting emoji page
Uploading bfexcite with http://i.imgur.com/cUqre6P.png
Uploading bfkiss with http://i.imgur.com/NryT58n.png
Uploading bfquestion with http://i.imgur.com/8RwFbed.png
Uploading bfdetermine with http://i.imgur.com/rlJ2w4w.png

In order to get around the TFA issue, the tool would have to use Slack's oauth. I can take a look into this to see how it can be done. Thanks!

I don't have 2FA enabled and I am getting that same error:
Uh oh! Error: Login error: could not get emoji upload crumb for .....

(~/git/emojipacks)$ emojipacks
Slack subdomain: .......
Email address login<EMAIL_ADDRESS>Password: ********
Path or URL of Emoji yaml file: ./packs/starwars.yaml
Starting import
Got tokens
Logged in
Upload crumb is undefined
Uh oh! Error: Login error: could not get emoji upload crumb for https://.......slack.com

same as @joseche

@lambtron are you sure this can be done using OAuth? I was under the impression that only gave access to the Slack API, which doesn't have an emoji upload endpoint.

Throwing my two cents here, but I was able to get it to work by using the web URL and not a path to the yaml file.

See this PR https://github.com/lambtron/emojipacks/pull/78


document the metric_set_limit option

What does this PR do?
document the metric_set_limit option per comments in https://github.com/elastic/apm-agent-java/pull/2148 - making the option not internal and expand the documentation

:broken_heart: Tests Failed

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Start Time: 2022-07-19T16:16:04.931+0000

Duration: 31 min 20 sec

Test stats :test_tube:

Test
Results

Failed
1

Passed
2381

Skipped
22

Total
2404

Test errors
Expand to view the tests failures
Builds / Tests / Non-Application Server integration tests / testLettuce[[io.lettuce:lettuce-core:5.0.5.RELEASE, io.netty:netty-all:4.1.28.Final]] – co.elastic.apm.agent.lettuce.Lettuce5VersionsIT

Expand to view the error details

Expecting value to be true but was false

Expand to view the stacktrace
 org.opentest4j.AssertionFailedError:

Expecting value to be true but was false
	at co.elastic.apm.agent.lettuce.Lettuce5VersionsIT.testLettuce(Lettuce5VersionsIT.java:50)

Steps errors
Expand to view the steps failures

Shell Script

Took 15 min 58 sec . View more details here
Description: ./mvnw -q -P ci-non-application-server-integration-tests verify

:bug: Flaky test report
:grey_exclamation: There are test failures but not known flaky tests.
:robot: GitHub comments
To re-run your PR in the CI, just comment with:

/test : Re-trigger the build.

run benchmark tests : Run the benchmark tests.

run jdk compatibility tests : Run the JDK Compatibility tests.

run integration tests : Run the Agent Integration tests.

run end-to-end tests : Run the APM-ITs.

run windows tests : Build & tests on windows.

run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)

Thanks @eyalkoren , is the latest version good enough, or still further changes needed?


Gradle daemon doesn’t die quickly under high CPU load conditions.

This issue is very much like #8750 but that one has not the same conditions and is not clear enough.
In our CI builds we run Gradle tasks one by one with -Dorg.gradle.daemon=false argument. In most of builds it runs just fine.
But sometimes we see build failures with "LockTimeoutException: Timeout waiting to lock journal cache" error message. atop dumps show that after the first (successful) Gradle build Gradle daemon does not die. The second Gradle builds starts and cannot get its lock and fails.
In the beginning we see 2 Gradle-related processes:
[launcher]  java -Xmx64m -Xms64m -Dorg.gradle.appname=gradlew -classpath /place/<some_path>/gradle/wrapper/gradle-wrapper.jar...
[gradle daemon] /usr/local/jdk1.8.0_221/bin/java -Xms1G -Xmx18G -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant -cp /place/sandbox-data/build_cache/....
They are launched from our Python wrapper:
python <some_path>/gradle.py ...
A little later the 3rd one appears:
[kotlin daemon] /usr/local/jdk1.8.0_221/jre/bin/java -cp /place/some_path/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-compiler-embeddable/...
1 minute passes and from those 3 "launcher" and "kotlin daemon" get stopped but not gradle daemon which still is running:
[gradle daemon] /usr/local/jdk1.8.0_221/bin/java -Xms1G -Xmx18G -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant -cp /place/<some_path>...
At this moment new Gradle build starts and the old daemon is still running. In 2 minutes after that we see "LockTimeoutException: Timeout waiting to lock journal cache"
Expected Behavior
Gradle daemon must die quickly soon after Gradle launcher has died.
Current Behavior
Gradle daemon doesn’t die quickly when Gradle launcher has died.
Context

Gradle 6.7 (but version doesn't matter, we saw this on 6.5 and before that)
High CPU load (a lot of build processes ongoing, and their number is much more than CPU cores on host)

Steps to Reproduce
Reproduced on light-weight JVM app/scripts builds that take not more than 1 min.
Actually, in our case the first build is a buildSrc-cheching build of very large project and command like looks like ./gradlew --stacktrace --continue --project-cache-dir /place/<some_path>/gradlebuild/cache -p buildSrc -Dorg.gradle.daemon=false --init-script /place/<some_path>/init-script.gradle assemble testClasses.
init-script.gradle adds some build listeners which generate json when build finishes, they don't have any thread-waiting code.
The second build is a simple JVM application build but this doesn't matter as it fails at the very beginning.
Your Environment
Build scan URL: sorry, no (under NDA).

This feels like a resource exhaustion problem and might be easier to solve by reducing the system load.
Something that could help investigate this further is to provide stack traces of the left over daemons.
Note that this area is not under focus right now and this may not see attention for a while.

Thanks. At first we'll see into reducing the system load.


Remove dead code

What does this PR try to resolve?
Remove the dead code. I found it when I tried to build cargo.
r? @epage

If we prefer to keep this API, please feel free to close my PR.

I believe that this is meant to be used in #10952 as described this comment

@bors r+
Yes, my intention was to leave this as a breadcrumb for the author of #10952 but since they haven't picked that work back up yet, we can go ahead and remove it for now.

:pushpin: Commit 88a7908f915347719bcbea990ea433efc23e14de has been approved by epage
It is now in the queue for this repository.

:hourglass: Testing commit 88a7908f915347719bcbea990ea433efc23e14de with merge aa700d44c14191d85ad9370ffe89198feb00114d...

:sunny: Test successful - checks-actions
Approved by: epage
Pushing aa700d44c14191d85ad9370ffe89198feb00114d to master...


feat: integrate zkLogin

Uses @shield-labs/zklogin package.
TODO:

[x] Backup and recover methods in the solidity contract
[x] Backup and recover boilerplate
[x] Fix type errors
[x] Grab JWT from Google
[x] Fix experimental_addBackup
[x] Implement experimental_recover
[ ] Implement experimental_removeBackup, experimental_listBackups
[ ] Use UltraHonk for 10-second proving times (with higher gas cost). Blocked by https://github.com/olehmisar/zklogin/pull/5

The spec should look something like this:
{
  "method": "experimental_addBackup",
  "params": [{
    "address": "0x...",       // Optional: Defaults to the connected account
    "backupOptions": [{        // Required for "add" and "remove" actions
      "type": "openId" | "email" | "socialRecovery",
      "provider": "google" | "apple" | "email" | "custom",
      "identifier"<EMAIL_ADDRESS>// Email or unique identifier
    }]
  }]
}

{
  "method": "experimental_recover",
  "params": [{
    "address": "0x...",
    "backupOption": {
      "type": "openId" | "email" | "socialRecovery",
      "provider": "google" | "apple" | "email" | "custom",
      "proof": "..."       // Proof of ownership
    },
    "newAuthentication": {
      "passkey": "..."     // Details for setting up a new passkey or authentication method
    }
  }]
}

zkLogin requires oauth setup on the server. Playground does not have a server because it's a vite app.
The server is needed because Google will send OpenID token to e.g., porto.ithaca.xyz/auth/callback and the server must send the token to the frontend.

With the new Vite Environment API, we should be able to spin up an API server in parallel at some point.
For now, you want to create a new api directory inside playground that uses Hono (pnpm create hono) or use an API route in app.

I implemented addBackup and recover RPC methods and also added simple playground UIs. Still missing items are: removeBackup and listBackups but it shouldn't be a blocker for a review.
We probably won't be going with UltraHonk because, per my conversation with Georgios, users will rather wait few more seconds (15s vs 30s) than pay twice as much for the gas fee (500k gas vs 1mil gas).

It looks like some bundlers are also not happy with usage of pedersen in @aztec/foundation as it also includes node:crypto which doesn't exist in the browser – this is a side-effect of using the Fr class (I don't think this is tracked in https://github.com/AztecProtocol/aztec-packages/issues/8881). I am wondering if your zklogin package could instead perhaps use @paulmillr's pederson hash fn from scure-starknet: https://github.com/paulmillr/scure-starknet/blob/main/index.ts#L253-L258 instead of @aztec/foundation? This may remove all the target & resolution config in vite.config.ts, as well as the Buffer polyfill too.

@jxom i would instead remove @aztec/foundation altogether in favour of @aztec/bb.js. It will still require polyfilling Buffer at the moment but it's much easier to remove Buffer from bb.js than from foundation. I can work with Aztec team on removing Buffer from bb.js

Sounds great! I am also wondering what we can do to mitigate the massive bundle size jump. It seems that this adds nearly ~890kB to the gzip minified bundle.
$ pnpm check:size

  Package size limit has exceeded by 890.87 kB
  Size limit:   54 kB
  Size:         944.87 kB with all dependencies, minified and brotlied
  Loading time: 18.5 s    on slow 3G
  Running time: 2.6 s     on Snapdragon 410
  Total time:   21 s

@jxom I removed @aztec/foundation and all polyfills. target: "next" are still required due to https://github.com/AztecProtocol/aztec-packages/issues/10184.
The large size of bundle is due to the size of bb.js wasm. It is loaded lazily using await import. I can consult with Aztec team what can be done to reduce the size.

What should we do about the published certs? Maybe we have versions in the registry and users can opt-in to a rotation?

@gakonst certs are rotated regularly, so we can’t make them immutable. We can probably leverage a blind oracle (aka TLSNotary) to publish certs. It’s an MPC network running inside a bunch of TEEs that do not see what they signs. It requires Porto to depend on an oracle service provider. vlayer.xyz provides this kind of service.

not comfortable w/ introducing such 3rd party deps...will think about it. maybe we run this ourselves.

the choice boils down to a multisig oracle.
TLDR: MPC with no secret data = a multisig. A blind oracle that posts exclusively Google/Apple certs = a multisig.
Why other options will not work:

MPC does not make sense because there is no secret data, so MPC would be a pure overhead with no advantage over a multisig
Blind oracles (aka TLSNotary, aka zkTLS, aka WebProofs) - similar to the option 1. If we using a blind oracle to post ONLY google/apple certs, then we don't benefit from the blindness property. A blind oracle is only useful when it posts different kinds of data. It's similar to an anonymity set in a privacy pool - the larger the anonymity set the more private the pool is. In blind oracles, the more types of data the oracle posts, the harder it is for the oracle to tamper with data because it won't know what it is tampering with: a Google cert or e.g. an Uber proof of driver.

I can consult with Aztec team what can be done to reduce the size.

Circling back...  @olehmisar did u get any news on this? That'd be epic if we could get done. I'm talking with the CF team about potentially doing SXG for the certs, circling back soon.

@gakonst yes, we can reduce the size at least by a factor of x2. And if that’s not enough, we can then bundle an application-specific wasm that only includes functions needed for zklogin to reduce size even more


updating package.swift dependencies

Summary
Since the acgarland/snippets branch on swift-docc-plugin was merged into the main branch for that repo, this example setup needed a touch of tweaking to get it to work per the forum instructions. This just tweaks things a smidge - you may not even want it, but for anyone else trying out snippets per your instructions in the forum, they'll need this tweak.

Thanks Joe, I had missed that you opened a PR for this. I already updated the package manifest to point to the main branch. I appreciate it!


Write a blog post about unified catalogue search

Done! https://stacks.wellcomecollection.org/building-our-new-unified-collections-search-ed399c412b01


Sorting of dependencies is wrong

Topological sort is needed

Fixed in https://github.com/dadav/helm-schema/commit/d903908c51e396f2b31858526aa11e6934045732


flag_value converted to str in Click 8

Consider the following code:
import click

@click.command()
@click.option("--answer", flag_value=42)
def main(answer):
    click.echo(repr(answer))

if __name__ == '__main__':
    main()

Under click 7, passing the --answer option to this script prints 42 (an int), as expected.  Under click 8, it prints '42' (a str).
Environment:

Python version: 3.9.5
Click version: 7.1.2 vs. 8.0.0

The default type of parameters is str. You need to specify type=int if you want int values. You would have had the same issue if you had done example --answer 16, since Click wouldn't know to convert that to an int.

@davidism OK, but in my actual use case, the flag_value is an instance of a class with a zero-argument constructor.  How am I expected to get that to work?  Trying @click.option("--answer", is_flag=True, type=Klass) results in a Klass() takes no arguments TypeError.

Then it should use type=click.UNPROCESSED to pass the value through unchanged.

I think what's affecting this is that we now apply type casting consistently to any value coming through the pipeline. I wonder if setting the type to unprocessed automatically for flag values is safe.

@davidism Using type=click.UNPROCESSED works, thanks.

The most basic option is a value option. These options accept one argument which is a value. If no type is provided, the type of the default value is used.

Click 8.0.0 appears to ignore the type of the default value of options if type is not given:
bugval = functools.partial(range, 10)

@click.command()
@click.option('-b', 'bug', default=bugval, flag_value=bugval)
def cli(bug):
    print("type of bug:", type(bug), "value of bug", bug)

$ python click_bug.py
type of bug: <class 'str'> value of bug functools.partial(<class 'range'>, 10)

flag_value is not the literal same option as default.

I'm sorry, I can't tell what you're trying to demonstrate with that example. It seems at best tangentially related to this issue, but it's not clear at all.

Sorry, I guess the example was fairly obvious: as per the documentation (quoted from 8.0.0), and as it works in 7.1.2, Click should infer the type of the value from what's given to default, but in 8.0.0 the type of the default value is ignored and the flag value is cast to str instead.
This is pretty clearly a bug.

The type you gave is dynamic, so it wouldn't be able to infer a type anyway.

It's not dynamic, it's the value of bugval - a functools.partial object.

Which is a callable, not a literal value.

A callable is dynamic...

A functools.partial is a callable, literal value that has a type (functools.partial, specifically.)

@crashfrog sorry, it sounds like we're having trouble explaining the difference. You're going to have to trust us that there is, in fact, a difference, this tangent is derailing this issue.

I'm not sure what you're having trouble explaining - in 7.1.2 it works to pass callable values as defaults and flag_values, which is extremely useful for things like flags that set output formats (TSV vs. JSON vs. XML, for instance.)
In 8.0.0 this behavior is broken because click.option now ignores the default argument's type and converts callable values to strings when there's no type argument. Since this isn't described in the documentation and it's a breaking change from 7.1.2, it's pretty obviously a bug and it's exactly the bug described in the issue; this is an example of it.
https://click.palletsprojects.com/en/8.0.x/changes/#version-8-0-0
Here's the patch notes; I don't see where it says "we now convert all callable values to str" or something, and even if that were in the notes, that's undesirable behavior.


Support more content types (PHNX-8794)

Motivation
Currently, mocks only parse the body of a request if the request has a content type of "application/json". Some requests to Advantage have a content type of "application/json-patch+json". When mocking against those requests, the request body is not parsed.
Modfications
Added support for more content types
https://centeredge.atlassian.net/browse/PHNX-8794

/merge


Documentation Overhaul

All documentation pages are being reviewed and improved to clean up our pages and to cut down on the documentation building time.

http://go.owu.edu/~chjackso/Climate/papers/Glen_1958_The flow law of ice.pdf
On Fri, May 31, 2024, 3:28 PM GeorgeR227 @.***> wrote:

@.**** commented on this pull request.
In docs/src/ice_dynamics.md
https://github.com/AlgebraicJulia/Decapodes.jl/pull/231#discussion_r1622874855
:

@@ -56,7 +61,8 @@ end
to_graphviz(halfar_eq2)

-And here, a formulation of Glen's law from J.W. Glen's 1958 "The flow law of ice".
+And here, a formulation of Glen's law from J.W. Glen's 1958 "The flow law of ice". <!-- TODO: Add a link for this too -->

@lukem12345 <https://github.com/lukem12345> Can we also get a link to
this paper?

—
Reply to this email directly, view it on GitHub
<https://github.com/AlgebraicJulia/Decapodes.jl/pull/231#pullrequestreview-2091583452>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AQYHBYOCO6QDJBIOM2ZHYJTZFDFORAVCNFSM6AAAAABIALOWU2VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDAOJRGU4DGNBVGI>
.
You are receiving this because you were mentioned.Message ID:
<EMAIL_ADDRESS>

Benchmark times as of this last commit. These are built locally, not on HiPerGator like in https://github.com/AlgebraicJulia/Decapodes.jl/pull/231#issuecomment-2135893834.
navier_stokes/ns - 0 seconds
halmo - removed
overview - 30 seconds
klausmeier - 24 seconds
ice_dynamics - 42 seconds
grigoriev - 21 seconds
budyko_sellers_halfar - 25 seconds
cism - 27 seconds
nhs - 11 seconds (lite version)
equations - 1 second
bc_debug - 22 seconds
poiseuille - 9 seconds
cahn-hilliard - 165 seconds

Yeah that's the good one to use
On Fri, May 31, 2024, 4:56 PM GeorgeR227 @.***> wrote:

@.**** commented on this pull request.
In docs/src/ice_dynamics.md
https://github.com/AlgebraicJulia/Decapodes.jl/pull/231#discussion_r1622943387
:

-We can use operadic composition to specify how our models come together. In this example, we have two Decapodes, and two quantities that are shared between them.
This one? https://arxiv.org/abs/2105.12282
—
Reply to this email directly, view it on GitHub
https://github.com/AlgebraicJulia/Decapodes.jl/pull/231#discussion_r1622943387,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQYHBYPSXNVJOPCSMOONMFTZFDPYTAVCNFSM6AAAAABIALOWU2VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDAOJRGY4TSOBRHA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Adding to the benchmarks at https://github.com/AlgebraicJulia/Decapodes.jl/pull/231#issuecomment-2142895966:
halmo - 54 seconds

Theory: There is a race condition.
The issue occurs (sometimes) when we generate a .jl file. Perhaps Documenter is seeing the .jl file and doing its Documenter black magic on it before the file is finished writing etc. etc.

Well the .jl file is removed and it's still dead-locking. Leading theory for me right now is that it is something to do with the save_vorticity function.

I'm not sure what to say but it seems like save_vorticity may have been the cause. I've run the docs multiple times now and it seems to work.

Pretty sure the issue occurs when we actually create the gif. Still not sure as to why.

Interesting. May be worth your while to look at top and see when ffmpeg
spawns and terminates
On Tue, Jun 4, 2024, 4:30 PM GeorgeR227 @.***> wrote:

Pretty sure the issue occurs when we actually create the gif. Still not
sure as to why.
image.png (view on web)
https://github.com/AlgebraicJulia/Decapodes.jl/assets/78235421/45799b4f-6f9e-49c0-afc1-a9005875240f
—
Reply to this email directly, view it on GitHub
https://github.com/AlgebraicJulia/Decapodes.jl/pull/231#issuecomment-2148365449,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQYHBYMF4KD74Q7ZUBC4J5DZFYPWDAVCNFSM6AAAAABIALOWU2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBYGM3DKNBUHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

@lukem12345 You were right about ffmpeg.exe this seems to be deadlocked and is the only program with this handle.

I've opted to just remove the offending code in halmo.md because I fear the hanging issue is not something we really have the ability to fix. I also still don't know the root cause of the hanging.


[stable-4.2] Change node to 16+ (#1829)

backport node 16 update to stable branches (#1829)

Oh, right .. for 4.2 it's either node 16 or node-sass.
IIRC non-node- sass has some interdependencies with sass-loader, but maybe solvable.


Avoid conflicts with Mica (Windows 11)

Firefox has begun supporting Mica, Windows' translucent mode for apps in Windows 11🥳
When enabled (via the widget.windows.mica flag) in Nightly, the tabs/title bar displays a blurred, translucent view of the desktop wallpaper. However, this feature conflicts with Adaptive Tab Bar Color. I was wondering if it would be possible to add a toggle to the extension that allows it to ignore the tabs/title bar, so that the Mica effect and ATBC can function simultaneously while coloring the rest of the interface.

Thanks for the suggestion. I’m looking into this :D


[DDW-537] remove node version check

This PR removes the dev engines (node version) check and related packages, since nix shell is enforcing its node version anyway and i had conflicts with that code.

Review Checklist:
Basics

[ ] PR is updated to the most recent version of target branch (and there are no conflicts)
[ ] PR has good description that summarizes all changes and shows some screenshots or animated GIFs of important UI changes
[ ] CHANGELOG entry has been added and is linked to the correct PR on GitHub
[ ] Automated tests: All acceptance tests are passing (yarn run test)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in development build (yarn run dev)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in production build (yarn run package / CI builds)
[ ] There are no flow errors or warnings (yarn run flow:test)
[ ] There are no lint errors or warnings (yarn run lint)
[ ] Text changes are proofread and approved (Jane Wild)
[ ] There are no missing translations (running yarn run manage:translations produces no changes)
[ ] UI changes look good in all themes (Alexander Rukin)
[ ] Storybook works and no stories are broken (yarn run storybook)
[ ] In case of dependency changes yarn.lock file is updated

Code Quality

[ ] Important parts of the code are properly documented and commented
[ ] Code is properly typed with flow
[ ] React components are split-up enough to avoid unnecessary re-rendering
[ ] Any code that only works in Electron is neatly separated from components

Testing

[ ] New feature / change is covered by acceptance tests
[ ] All existing acceptance tests are still up-to-date
[ ] New feature / change is covered by Daedalus Testing scenario
[ ] All existing Daedalus Testing scenarios are still up-to-date

After Review:

[ ] Merge PR
[ ] Delete source branch
[ ] Move ticket to done on the Youtrack board

@DominikGuzei what does this mean in terms of which node/npm/yarn global versions we need to run on our systems?

Also can you please add CHANGELOG entry? 🙏

@nikolaglumac it doesn't matter which version you run as nix-shell is creating its own environment and not even god can anything about it 👅

bors r+


Activity Streams and Unified Search?

In order to make an ecosystem of general-use component modules, it seems likely that you'd soon need a way to connect to an activity stream that logs and notifies updates from a variety of modules. And you would want content to be indexed so that they are available in a unified search.
Looking into activity streams on node, I came across activitystrea.ms API (https://www.npmjs.com/package/activitystrea.ms), so there's already a standard data structure for this. There is also Activity Streams App (https://www.npmjs.com/package/activitystreams), which uses Neo4J and Redis.
Then there's unified search, a necessity in many use cases, so somehow the modules would need to define how to index fields for search. Is there away to attach onto collections, and should module authors be encouraged to specify search index definitions?
Both of these would require a bit more from a module author, so I'd suggest that both Activity Steam and Search Indexing it could be optional.
I have been considering the idea of a system with goals similar to Mantra's (and perhaps it will itself be a Mantra app), but I'm still writing out the proposed specs before I post it.

I agree, this is a common functionality and a must in many apps. We should all look into this. Here is a service I wanted to explore but never had a chance. Anyone has experience with getstream.io?
http://blog.getstream.io/post/136611889848/building-news-feeds-activity-streams-with-meteor


fix: hide search icon on medium or larger devices

Avoids showing two search options
Regression of https://github.com/verdaccio/verdaccio/commit/d43894e8f692ff59a11b7c376f41d939b06a5b0c
Closes #3396

I'm not able to notice any to notice any difference, could you describe how to reproduce master vs this branch?

Sorry, I should have paid more attention to the contribution guidelines. Let's see if I got this right...
Here's the capture where you can see how the search option works on different size devices (with the fix):

Sorry, I should have paid more attention to the contribution guidelines. Let's see if I got the changeset right...
Here's the capture where you can see how the search option works on different size devices (with the fix):

Nice :) nowww is way more clear thanks !! LGTM

don't merge, yet. looks like it works only if the registry is empty. once a package is published, the problem is still there.

I guess some things were cached. Once I run with html_cache: false, it's working just fine. Good to merge


THRIFT-2835 Add possibility to distribute generators separately from thr...

...ift core, and load them dynamically

Lots of work in here!  You might want to close and re-open this pull request to kick a new build.  It needs to pass CI before anyone can merge it.

Hi, you're so diligent :)
It's quite old so I'll rather rebase it.

The pull request list would be a lot easier to manage if it was always clean/empty, so I want to work towards that.

I rebased it to the current master.
The original first commit is extracted as THRIFT-3138 (ef0a8fa62a8a86b23999f9a9ad31478852474854) because it was an unrelated issue.
The other commit remains strictly unchanged except that I had to resolve several trivial conflicts in build scripts.

TODO:

Remove sleep 0.2 in cpp_plugin_test.sh without breaking it
Build with static boost unittest (need to do the same as some tests in lib/cpp/test)