Add MC Hammer rebus

Associated Issue: N/A
Summary of Changes

Added an MC Hammer rebus 🤣

Pull Request Test Coverage Report for Build 119

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 90.0%

Totals

Change from base Build 116:
0.0%

Covered Lines:
88

Relevant Lines:
99

💛  - Coveralls


consistent data format for "status_code"

Before the next test
   	p.remove( new BasicNameValuePair( "preload", "texvc" ) );
   	t.setParams( p );
   	assertEquals( withoutTexvc, t.request( "\\sen" ) );
   	assertEquals( "2", t.getOb().get( "status_code" ) );

fails... the return code 0,3 are integers 2 is a string.

Perl doesn't differentiate between integers and strings :) But OK, let me see what I can do.

Just checked all places in the ltxpsgi and LaTeXML repositories that refer to the status code, they are returning integers everywhere. There is a chance the JSON serialization goes crazy for some weird reason, but nothing I can easily see. So closing for now, let me know if this bugs you again.


OCW: redirect  legacy fair use page

I noticed that some links in the legacy site go to https://ocw.mit.edu/help/faq-fair-use/. Our code will change this to /help/faq-fair-use but that doesn't exist. We should create a page or otherwise figure out how to direct these links
The old fair use page is being replaced by a help center article, at https://mitocw.zendesk.com/hc/en-us/sections/4414782875163-FAIR-USE
Until we get a chance to replace the URLs in the legacy content, we should set up a redirect from /help/faq-fair-user to https://mitocw.zendesk.com/hc/en-us/sections/4414782875163-FAIR-USE

@pdpinch This is now deployed here and should be ready for testing

Added/Fixed

Confirmed:

[x] https://ol-devops-ci.odl.mit.edu/help/faq-fair-use
[x] https://ol-devops-ci.odl.mit.edu/help/faq-fair-use/
[x] https://ol-devops-ci.odl.mit.edu/help/faq-fair-use/index.htm

please deploy ocwnextgen.odl.mit.edu and also to the production site when it launches.

This has been deployed to all envs and closing for now.


Diagram Drawings as requested

Includes diagrams of oSUSHI proposal thread comments as detailed here provided at request of @ControlCplusControlV

Reading through now, I really like the ability to allow a perpetual lock switch which keeps someone at max voting power until switched off before decay (and exit countdown) begin.
The idea of OLM is very interesting, because the reward token problem does still highlight that reward tokens often end up as something for nothing with downward pressure. I will still need to think about this more but I think I am warming up to it more.
I also like the distinction this gives to Sushi over other ve tokens. I will still need to discuss it more but I think it could be a viable alternative to pure ve tokenomics

These diagrams should be individual files without text, preferably in UML format or DOT notation. Keep the text associated with the digrams should be kept in markdown. All of this is great, keeping them in those format lets other people contribute easier and lets it be edited to be included in public facing docs.
Ideally the UML diagrams can be included in source comments to help aide auditing the contracts in the future.

I also like the distinction this gives to Sushi over other ve tokens. I will still need to discuss it more but I think it could be a viable alternative to pure ve tokenomics

Cool, glad it could help get the ideas across a bit more. I realized I didn't really make a diagram to demonstrate how bought-back SUSHI can be added to the gauge controller, therefore, extending emissions runway - hopefully, that was implicit?
If it helps to discuss further, just let me know and more than happy to talk through any of this further.

Keep the text associated with the digrams should be kept in markdown

Happy to do a copy paste of that text if it helps.

These diagrams should be individual files without text, preferably in UML format or DOT notation

This was actually my first time diagramming something like this, and have no experience in those tools but happy to save them as separate images too for someone to replicate in UML. Let me know if that helps?

Keep the text associated with the digrams should be kept in markdown

Happy to do a copy paste of that text if it helps.

These diagrams should be individual files without text, preferably in UML format or DOT notation

This was actually my first time diagramming something like this, and have no experience in those tools but happy to save them as separate images too for someone to replicate in UML. Let me know if that helps?

They look great!
For UML (Really PlantUML), here are some examples:
Compound Finance just released a v3, and they actually document some of their contract design in UML so here is an example from them:
configurator_diagram
https://github.com/compound-finance/comet/blob/main/diagrams/configurator_diagram.uml
PlantUML Rendering of the configurator_diagram.uml
https://www.plantuml.com/plantuml/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000
tx2uml
https://github.com/naddison36/tx2uml this tool generates a UML file from a transaction
solidity2uml
https://github.com/naddison36/sol2uml generates a UML diagram from solidity source code
assorted examples
https://github.com/sambacha/tx2uml-gallery/tree/main/public/images this repo has both images and the uml files. These are all transactions that are related to exploits/hacks.
There may be a way to convert these files into an open format too but I did not find anything (i only searched for a min. or two)

Just note, do not worry about getting the semantics of UML correct: these are just diagrams for visual and illustrative purposes, we are not worried about being 'correct' as it relates to UML syntax / modeling.

I also like the distinction this gives to Sushi over other ve tokens. I will still need to discuss it more but I think it could be a viable alternative to pure ve tokenomics

Cool, glad it could help get the ideas across a bit more. I realized I didn't really make a diagram to demonstrate how bought-back SUSHI can be added to the gauge controller, therefore, extending emissions runway - hopefully, that was implicit?
If it helps to discuss further, just let me know and more than happy to talk through any of this further.

Yes this was implicit, I am just looking at what this would look like from the code perspective and trying to see if there is an easy way to model the implication

@SeaSaltyFunk have you been able to see if there is a way to convert to UML?

@ControlCplusControlV no, to be honest, I didn't even look at this since I shared original docs. I'm not 100% sure yet what parts of the suggestions are being considered for implementation so it's a little tricky to understand what would be required as UML diagrams. Feel free to drop me a note and we can chat some more if that's quicker/easiest?


Trading not working?

I am trying to test the bot before actually hosting it 24/7. The chat responses work fine, but the trading part won't work at all. Installed all like in the Readme file.
Also when logging in the following appears:
Logged into Steam as [something :3]
Error: Access Denied
at SteamCommunity. (D:\Steam Bots\CSGO-Overpay-Bot\CSGO-Overpay-B
ot-master\node_modules\steamcommunity\components\webapi.js:15:20)
at Request._callback (D:\Steam Bots\CSGO-Overpay-Bot\CSGO-Overpay-Bot-master
\node_modules\steamcommunity\components\http.js:67:15)
at Request.self.callback (D:\Steam Bots\CSGO-Overpay-Bot\CSGO-Overpay-Bot-ma
ster\node_modules\request\request.js:186:22)
at emitTwo (events.js:106:13)
at Request.emit (events.js:192:7)
at Request. (D:\Steam Bots\CSGO-Overpay-Bot\CSGO-Overpay-Bot-mast
er\node_modules\request\request.js:1081:10)
at emitOne (events.js:96:13)
at Request.emit (events.js:189:7)
at Gunzip. (D:\Steam Bots\CSGO-Overpay-Bot\CSGO-Overpay-Bot-maste
r\node_modules\request\request.js:1001:12)
at Object.onceWrapper (events.js:291:19)

I also tried "reversing" back to the original version, without my little modifications in the code but still with the sharedSecret,identitySecret,username,password and api key. It still didn't work.

It's not the steam API key
On 27 Feb 2017 5:10 pm, "LELManiac"<EMAIL_ADDRESS>wrote:
I also tried "reversing" back to the original version, without my little
modifications in the code but still with the
sharedSecret,identitySecret,username,password
and api key. It still didn't work.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Arze1/CSGO-Overpay-Bot/issues/30#issuecomment-282784445,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AXtusorHwIEvSnUW_m62sOGu3Sh67tG9ks5rgwOggaJpZM4MNX3o
.

You mean the api key from steamapi.io? Because it certainly is the correct one

Logged into Steam as [something :3]
Error: Access Denied
Seems like it's because your account is limited. Or you are blocked from logging into steam.

Seems like it's the limited account. Switched the config another account that is not limited and it works. Altought im working on a "working version" that does not have problems with the trades. Everything except the "outsider" trades works.

Well then i guess i can close this now. FIX: deposit $5


Redundant separator on lists

Describe the bug
Redundant separator on rounded lists appears when additional list header is added (see screenshot below).
To Reproduce
Steps to reproduce the behavior:

Go to Statistics;
Click on Lectures visiting
See bug

Expected behavior
No separators
Screenshots

Open screenshot

Device (please complete the following information):

Name: iPhone 11 Pro (simulator), iPhone 8 Plus
OS: iOS 13.3
2.0 (#329)

Can be be resolved with CollectionView & RefreshView.
Blocker: Xamarin.Forms issue.


[DateTime] Invalid time zone format when the time is converted using the format method

"Invalid time zone format: .03+0530" error is thrown when the format is given like below.
string datetime = time:format(timeStruct, "yyyy-MM-dd'T'HH:mm:ss.SSX");

The given error occurs not when formatting, but when inserting the formatted data into timestamp column via ballerina SQL connector. Currently ballerina sql parameters accepts either int or ISO8601 formatted strings only. In ISO 8601, the timezone format is  +hh:mm or -hh:mm. But the symbol 'X' in above format string produce timezone with no semicolon and hence giving the format error when inserting. This happens since java formatter omits the colon when formatting the zone.
As a workaround we can use time:toString which converts time struct directly into ISO formatted string.


When using a self-signed certificate to build channel,an error occurred.

Bug Report

Version
v0.3.1

Platform
Linux  4.14.81-amd64 #1 SMP Debian 4.14.81 Sun Sep 8 05:02:31 UTC 2019 x86_64 GNU/Linux

Description
let server_root_ca_cert = Certificate::from_pem(server_root_ca_cert);
let client_identity = Identity::from_pem(client_cert, client_key);
    let tls = ClientTlsConfig::new()
        .ca_certificate(server_root_ca_cert)
        .identity(client_identity)
        .domain_name("mongoose-server.bytedance.net");
    let channel = Channel::from_static("https://it_is_a_host:443")
        .tls_config(tls)?
        .connect()
        .await?;
    let mut client = Mongoosev3HealthClient::new(channel);
    let request = tonic::Request::new(HealthCheckRequest {
        service: "Ping".into(),
    });
    let response = client.check(request).await?;

    println!("RESPONSE={:?}", response);
    Ok(())

And then:
cargo run
- Error: tonic::transport::Error(Transport, hyper::Error(Connect, Custom { kind: InvalidData, error: WebPKIError(BadDER) }))

Both CA certificate and client certificate are self-signed,did I do something wrong?
I have reviewed the following issues:
https://github.com/hyperium/tonic/pull/397
https://github.com/ctz/rustls/issues/127
https://github.com/ctz/rustls/issues/373
More information:

Both CA certificate and client certificate are x509 v3.
Client certificate has SAN,CA certificate not.

From tcpdump:

In addition, I can communicate successfully on https://github.com/tikv/grpc-rs when using the same certificate and key.

Rustls is much more strict than some other implementations that is likely why you are seeing these errors. I would suggest following up with them or using openssl. https://docs.rs/tonic-openssl/0.1.0/tonic_openssl/ this should work.


Swift 4 Updates

Notes for me about things to do when adopting Swift 4...

Codable protocol should make going from JSON to structs way easier/safer

let decoder = JSONDecoder()
if let decoded = try? decoder.decode(Language.self, from: encoded) {
    print(decoded.name)
}

Trying this experimentally - it looks good. Models like APIStatus should be able to be moved. Some of the API models will be to get broken out (redAlliance/blueAlliance -> alliances: [TBAMatchAlliance]) in order to write minimal code. We could always set CodingKeys and flatten this one out, but I think consuming the API in the simplest way possible is helpful in making TBA for iOS more dynamic.

We're running into some issues with things like timeseries data, match breakdowns, etc. [String: Any] isn't exactly codable... I'm sure there's a way to handle this. That's the last big stopper on this one.


[ADD] Add safeguard to prevent exceeding Discord's tag limit when applying "Resolved" tag

https://github.com/GuikiPT/jasper-fork/blob/0002e1c80ce56d26dcd9e46f01b1444a912f6de2/Plugins/Tags/Commands/ResolveCommand.ts?plain=1#L37-L49


Improve fonts generation: enable CircleCI to build Docker image and fonts

This PR is part of #12.
I think it's best to have another branch for Dockerfile and CircleCI configs to build the image. I've pushed the branch to https://github.com/KaTeX/katex-fonts/tree/docker:
https://github.com/KaTeX/katex-fonts/blob/8d0cfd857bfb105c6cfc9e785ffc6cd4b448cd73/.circleci/config.yml#L1-L19
Example CircleCI builds: docker branch, PR branch

[ ] Enable CircleCI on the repo
[ ] Set Docker username and password as DOCKER_USERNAME and DOCKER_PASSWORD, respectively, in the environment variables

@ylemkimon I've granted circleci access to the KaTeX organization and set up https://circleci.com/setup-project/gh/KaTeX/katex-fonts.

I forgot about the second item on the checklist before merging this. 😞
I also should've asked more questions about how the docker image in https://github.com/KaTeX/katex-fonts/tree/docker gets built and how $DOCKER_USERNAME and $DOCKER_PASSWORD get set.

I totally messed that up https://circleci.com/gh/KaTeX/katex-fonts/2.

@kevinbarabash I've put my account to the environment variables temporarily.

I see, there's a way to set environment variables in the project settings part on circleci.

@kevinbarabash But to test PRs, it seems we should hard-code the DOCKER_USERNAME, anyway.


Sometime jump to static pic when login

Gitea version (or commit ref): 1.12.9
Git version: 2.2.1
Operating system: Centos 7
Database (use [x]):

[ ] PostgreSQL
[x] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[x] No
[ ] Not relevant

Log gist: None

Description
Sometimes it jumps to a static pic (such as the green cup or a js file ) when I login , I have to type homepage url  to jump to homepage.
I click the login button, but it jump to https://mydomain.com/img/gitea-lg.png
Screenshots

This is still a bug because static files will follow session.

I think this has been resolved.

I think this has been resolved.


Added descriptive documentation for commands in Dockerfiles

Fixes

Fixes #267  by @Murdock9803

Description
The Dockerfiles contain descriptive text about various commands used there, but some commands lack these descriptions. The PR adds comments to describe about the function of these commands to maintain consistency throughout the files.
Technical details
The dev/jekyll/Dockerfile and the dev/node/Dockerfile files have been worked upon in this pull request.
Checklist

[x] My pull request has a descriptive title (not a vague title like Update index.md).
[x] My pull request targets the default branch of the repository (main or master).
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[x] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no
visible errors.

Developer Certificate of Origin

For the purposes of this DCO, "license" is equivalent to "license or public domain dedication," and "open source license" is equivalent to "open content license or public domain dedication."

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

Hello @possumbilities, The PR is still unmerged. Any improvements that need to be done ?


Add a Subscribe page

Frontend task - Add the ability to add my email in a dedicated input box

I will do it

hi,  In which programming language should the code be written?
PHP it's ok?

Our application is implemented with python Flask.  You should take it into consideration when choosing the frontend technology.

@Omeramsc Isn't it a duplicated of your issue #51? Can you please align the effort and close the duplicated issue.

@Omeramsc Isn't it a duplicated of your issue #51? Can you please align the effort and close the duplicated issue.

@lioramilbaum Isn't there is a difference between subscribing for updates and contacting in order to send a private mesaage to the admins?


Experimental: Code Style

These are only cosmetic changes. The behaviour does not change with these format changes

No.

lmao


⚠ Bofrost.de has degraded performance

In a20f8ca, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1019 ms

Resolved: Bofrost.de performance has improved in 3edab7a after 9 minutes.


react-aria Table breaks hydration in RemixJS

Provide a general summary of the issue here
Using <Table/> from react-aria-components triggers an error in RemixJS about breaking hydration.
🤔 Expected Behavior?
No errors. No difference between what's rendered in the server and the browser.
😯 Current Behavior
I'm creating an app with RemixJS and react-aria-components.
I want to use the Table component but even when using the static example from docs, an error appears in the console.
Warning: Expected server HTML to contain a matching <head> in <html>.
head
html
Layout@http://localhost:1234/app/root.tsx:4:23
RenderedRoute@http://localhost:1234/node_modules/.vite/deps/@remix-run_react.js?v=037ea596:410:7
RenderErrorBoundary@http://localhost:1234/node_modules/.vite/deps/@remix-run_react.js?v=037ea596:367:5
DataRoutes@http://localhost:1234/node_modules/.vite/deps/@remix-run_react.js?v=037ea596:1403:7
Router@http://localhost:1234/node_modules/.vite/deps/@remix-run_react.js?v=037ea596:759:7
RouterProvider@http://localhost:1234/node_modules/.vite/deps/@remix-run_react.js?v=037ea596:1218:7
RemixErrorBoundary@http://localhost:1234/node_modules/.vite/deps/@remix-run_react.js?v=037ea596:2855:5
RemixBrowser@http://localhost:1234/node_modules/.vite/deps/@remix-run_react.js?v=037ea596:4402:46 react-dom.development.js:86:29

Uncaught Error: Hydration failed because the initial UI does not match what was rendered on the server.
    React 12
    workLoop scheduler.development.js:266
    flushWork scheduler.development.js:239
    performWorkUntilDeadline scheduler.development.js:533
    scheduler chunk-CSFWTIJP.js:405
    scheduler chunk-CSFWTIJP.js:453
    __require chunk-VRMXEQCD.js:15
    scheduler chunk-CSFWTIJP.js:465
    __require chunk-VRMXEQCD.js:15
    React 2
    __require chunk-VRMXEQCD.js:15
    dom React
    __require chunk-VRMXEQCD.js:15
    <anonymous> @remix-run_react.js:53
react-dom.development.js:12507:8

Uncaught Error: There was an error while hydrating. Because the error happened outside of a Suspense boundary, the entire root will switch to client rendering.
    React 8
    workLoop scheduler.development.js:266
    flushWork scheduler.development.js:239
    performWorkUntilDeadline scheduler.development.js:533
    scheduler chunk-CSFWTIJP.js:405
    scheduler chunk-CSFWTIJP.js:453
    __require chunk-VRMXEQCD.js:15
    scheduler chunk-CSFWTIJP.js:465
    __require chunk-VRMXEQCD.js:15
    React 2
    __require chunk-VRMXEQCD.js:15
    dom React
    __require chunk-VRMXEQCD.js:15
    <anonymous> @remix-run_react.js:53
react-dom.development.js:19878:56

Probably related to https://github.com/adobe/react-spectrum/issues/4870
💁 Possible Solution
Use ClientOnly but lose SSR.
🔦 Context
Using RemixJS 2.12.1, Node 20, and Linux. React is 18.2.0. RAC is 1.3.3.
🖥 Steps to Reproduce
Asumming you have created a RemixJS project, create a new route at routes/rac.tsx and then add to the file.
import {
  Table,
  TableHeader,
  Column,
  TableBody,
  Row,
  Cell,
} from "react-aria-components";

export default function RAC() {
  return (
    <Table aria-label="Files" selectionMode="none">
      <TableHeader>
        <Column>CHEKC</Column>
        <Column isRowHeader>Name</Column>
        <Column>Type</Column>
        <Column>Date Modified</Column>
      </TableHeader>
      <TableBody>
        <Row>
          <Cell>CHEKC</Cell>
          <Cell>Games</Cell>
          <Cell>File folder</Cell>
          <Cell>6/7/2020</Cell>
        </Row>
        <Row>
          <Cell>CHEKC</Cell>
          <Cell>Program Files</Cell>
          <Cell>File folder</Cell>
          <Cell>4/7/2021</Cell>
        </Row>
        <Row>
          <Cell>CHEKC</Cell>
          <Cell>bootmgr</Cell>
          <Cell>System file</Cell>
          <Cell>11/20/2010</Cell>
        </Row>
        <Row>
          <Cell>CHEKC</Cell>
          <Cell>log.txt</Cell>
          <Cell>Text Document</Cell>
          <Cell>1/18/2016</Cell>
        </Row>
      </TableBody>
    </Table>
  );
}

Version
RAC 1.3.3
What browsers are you seeing the problem on?
Firefox
If other, please specify.
No response
What operating system are you using?
Linux
🧢 Your Company/Team
N/A
🕷 Tracking Issue
No response

Any chance you can create a stackblitz to reproduce this? Otherwise it's a little tough to guess what's happening.

My bad. The problem is the Bitwarden extension (on Firefox, in my case) that modifies the DOM. Sorry for the inconvenience.


Update the tgis runtime for rhoai_2_8_2

@tarukumar I suppose this should be rebased against releases/2.8.0 branch? :slightly_smiling_face:

For reference - this was closed in favor of #1417


Refactor vbtracker capture

Cleans up the plugin substantially, by splitting out responsibility for setting up the image capture (real or fake) and image conversion from the actual code. Enables use of OpenCV to try the tracking on non-Windows (camera firmware v7 likely required, as that's what fixed OpenCV capture on Windows). Cleanly pulls out the DK2 camera stuff so it's both a) not cluttering up the code and b) easier to make use of when desired. Will also enable easier automated testing (since now the fake images can be presented exactly as if they were a live camera stream).
@d235j hopefully this is also useful to you in libuvc usage, there are @todo or TODO comments where you'd change it to use something other than OpenCV for capturing on non-Windows.

The Travis failure is a build system thing, it just needs the CMake position independent flags to link those static libs into a shared lib, will look up the name of that variable Monday.


Maximum call stack exceeded when using with custom components

Version
2.5.14
Reproduction link
https://jsfiddle.net/50wL7mdz/175425/
Steps to reproduce

Including vue(v.2.5.14) and element.io styles and library.
Opening new form.
Opening new form element.
Using custom date picker element.

What is expected?
It is expected to render a custom UI component for date picking.
What is actually happening?
The element is not being render as the console is filled with errors.
[Vue warn]: Error in render: "RangeError: Maximum call stack size exceeded", vue.js:597
RangeError: Maximum call stack size exceeded, vue.js:1745

The issue is related to the latest vue.js version as it is working as expected with all up to 2.5.13.

Duplicate of #7786

I still get this error, but I haven't got the time to put together a reproduction case right now. I know that it exists in 2.5.16 still and going back to 2.5.13 resolves the issue and the error looks like RangeError: Maximum call stack size exceeded     at Function.[Symbol.hasInstance] (<anonymous>)     at t (app.c84200b64a284b43c3fe.js:1) which t is the _traverse function and the error is in https://github.com/vuejs/vue/blob/84a9a9d61057f6f40a9ad2bee456b39ef0a8f001/src/core/observer/traverse.js#L19-L24

I also get this error, when document.querySelector() tries to bind DOM to a configuration element, that is set to store.config via a mutation. (The function is called from root element's mounted() ) ...

Confirming this issue when store in a strict mode (using nuxt)

Confirming too

I'm possibly seeing this as well. Can confirm that disabling strict mode in the vuex store seemed to fix the issue.

Yeah, strict mode does seem to fix the issue.

I was brought to this issue by searching for:
Error in render: "RangeError: Maximum call stack size exceeded
However, it didn't have anything to do with the naming of components. It's probably related to what @Gyanxie posted above.
My offender was the code snippet below:
`watch: {
'$vuetify.breakpoint': {
handler: function(newBreakpoint) {
  },
  deep: true,
  immediate: true
}

}`
This might prove useful to the next person that runs into this cryptic error message


Can you move the sidebar when viewing a page

When I look at a page deep in the hierarchy like
https://strands-project.github.io/strands_documentation/datasets/kth_lt_labels/
It would be great if the sidebar was showing its position in the hierarchy. Is this possible with this framework? If not I think we should make the sidebar a lot sparser, otherwise its hard to navigate.

This should be a default feature with readthedocs, but maybe because it's being generated by mkdocs, it's not working properly?
You can see an example of how I expected it would look here: https://agda.readthedocs.io/en/v2.5.2/language/function-definitions.html#dot-patterns

This looks relevant: https://github.com/mkdocs/mkdocs/issues/588


add build without save method for products

This adds the ability to create a product without saving it. I tend to use this quite a bit in my own tests and I usually override the ProductBuilder in order to do that.

Nice addition, thank you!

Nice addition, thank you!

Unfortunately this breaks on Magento 2.3 because its old PhpUnit version does not support assertMatchesRegularExpression. While the 2.3 branch is still supported I would like to stay compatible

Unfortunately this breaks on Magento 2.3 because its old PhpUnit version does not support assertMatchesRegularExpression. While the 2.3 branch is still supported I would like to stay compatible

Ah! That test was failing in my setup. I'll revert it back.

On Jan 11, 2021, at 1:54 PM, schmengler<EMAIL_ADDRESS>wrote:
Unfortunately this breaks on Magento 2.3 because its old PhpUnit version does not support assertMatchesRegularExpression. While the 2.3 branch is still supported I would like to stay compatible
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/tddwizard/magento2-fixtures/pull/64#issuecomment-758152394, or unsubscribe https://github.com/notifications/unsubscribe-auth/AANBKEJGV2WEPLS3MZQNQETSZNCNFANCNFSM4V55ATRA.

Ah! That test was failing in my setup. I'll revert it back.

On Jan 11, 2021, at 1:54 PM, schmengler<EMAIL_ADDRESS>wrote:
Unfortunately this breaks on Magento 2.3 because its old PhpUnit version does not support assertMatchesRegularExpression. While the 2.3 branch is still supported I would like to stay compatible
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/tddwizard/magento2-fixtures/pull/64#issuecomment-758152394, or unsubscribe https://github.com/notifications/unsubscribe-auth/AANBKEJGV2WEPLS3MZQNQETSZNCNFANCNFSM4V55ATRA.

Changes reverted, although I'm still failing on CodeClimate (not sure what to do about that)

Changes reverted, although I'm still failing on CodeClimate (not sure what to do about that)

That looks like a false positive, all good :ok_hand:


Thomwolf 2024 06 12 deep dive act

[DRAFT WIP] Work in progress: deep dive in differences between our ACT implementation for real world data and the implementation from https://github.com/thomwolf/ACT
The goal is to see if we find some room for improvements in our ACT short data trainings (reducing jitter in the same conditions as the original ACT code)
Currently listed differences:

we don't take a min of 1e-2 in the normalization of std for action/pos: I don't think has any impact since my std are much higher anyway
validation split: the original ACT code use 0.8 ratio of train/validation: thus only using 40 episodes for training on a 50 episodes dataset
masking: in the VAE encoder we don't mask the padding tokens. Maybe this one is more important
normalization in the decoder: we have an added layer norm at the end of the decoder stack. if you take only one layer instead of 7 as you noticed in the "bug" or ACT you will be using 2 layer norms after each other while the original ACT by taking the intermediate output is effectively dropping the output of the last layer norm and thus effectively dropping this additional layer norm. probably this is more anecdotal
I removed the 1e-8 in the normalization in favor of capping the min value of std like the original ACT, I think in general it will bring less error
took me some time to find: we don't sort the input images by alphabetical order of the image keys when stacking so if you switch the order of some image key names in the config dict will switch the inputs. this one is tricky because you usually don't think the relative order of named arguments in config are important. fixing to be deterministically alphabetical order for image keys
unfreezing the batchnorms in the resnet like the original I use. not sure how important this one is but we'll see

This change is

Just a quick note on gym_real_world. At pollen robotics, we tried to add a new task id input and:

We had to make significant change within the gym environment to make it work. Raising the question: can our current gym setup be extensible for user to add feature?
It was actually very hard to debug. For example we forgot to change the observation space and instead of having an issue within the step method, we simply did not find the input task id within the observations.
The intertwining of the model and the environment makes it super hard to swap model between environments or use the model in a context where you're not creating an environment. Ex: a 100LoC script of the model and a for loop.

I think that the example API should be in the likes of:

policy = make_policy(hydra_cfg, pretrained_policy_name_or_path)

while True:

   observation = {
       "image": cv2.VideoCapture(0),
       "qpos": dynamixel.read([0, 1, 2, 3, 4, 5, 6]]
   }

   observation = preprocess_observation(observation)

   action = policy.select_action(observation)

   time.sleep(1/fps - inference_time)

   dynamixel.write(action, [0, 1, ,2 ,3, 4, 5, 6])

I think that we should let the user handle defining gym_env and let him manage it if he wants to do, but should probably not be the default way of using lerobot

Thank @haixuanTao, maybe more a comment for https://github.com/huggingface/lerobot/pull/246?
This PR is really just a deep dive in the algorithmic differences between our implementation of ACT and the original, in particular on the model side. I'll probably close this PR and open a series of smaller ones updating some of these differences.


feat: update entity provider schedulers

Description
Updates the entity providers for 3scale-backend, ocm-backend, aap-backend and keycloak-backend to prioritize the scheduler option over the schedule option when both are provided.
What issue(s) does this fix?
Fixes #816

@davidfestal this shouldn't affect the dynamic plugins right? All this does is make the app-config.yaml schedules (if they exist) to be prioritized over the hard coded schedules, if both schedule and scheduler are provided.


Portfolio desktop version (pair program)

In this branch, I added some transform and transitions.

I have used some animation for a better user experience in this project.


Code Review

Need someone to do the code review!

I would like to do the code review.

Stale issue message


Update DRFL v1.31.1 (Fixes robot_mode inconsistency issues)

refer to https://github.com/doosan-robotics/doosan-robot2/issues/122

@doosan-robotics @song-ms


x/sys: apply errno amortization CL

I need to move this CL to x/sys/unix: https://go-review.googlesource.com/#/c/6701/3
Part of #10150

https://go-review.googlesource.com/8190


ER_KEY_NOT_FOUND: Can't find record in <table_name>

I could only see this error on production when in parallel write/update operations are also occurring on the table on which I am querying and the query which produces this exception is just the read operation.
Sharing the error stack trace.
0|kitopi-p | Error: ER_KEY_NOT_FOUND: Can't find record in <table_name>
0|kitopi-p |     at Query.Sequence._packetToError (/var/www/html/kitopi-page/node_modules/mysql/lib/protocol/sequences/Sequence.js:47:14)
0|kitopi-p |     at Query.ErrorPacket (/var/www/html/kitopi-page/node_modules/mysql/lib/protocol/sequences/Query.js:77:18)
0|kitopi-p |     at Protocol._parsePacket (/var/www/html/kitopi-page/node_modules/mysql/lib/protocol/Protocol.js:278:23)
0|kitopi-p |     at Parser.write (/var/www/html/kitopi-page/node_modules/mysql/lib/protocol/Parser.js:76:12)
0|kitopi-p |     at Protocol.write (/var/www/html/kitopi-page/node_modules/mysql/lib/protocol/Protocol.js:38:16)
0|kitopi-p |     at Socket.<anonymous> (/var/www/html/kitopi-page/node_modules/mysql/lib/Connection.js:91:28)
0|kitopi-p |     at Socket.<anonymous> (/var/www/html/kitopi-page/node_modules/mysql/lib/Connection.js:502:10)
0|kitopi-p |     at emitOne (events.js:115:13)
0|kitopi-p |     at Socket.emit (events.js:210:7)
0|kitopi-p |     at addChunk (_stream_readable.js:266:12)
0|kitopi-p |     --------------------
0|kitopi-p |     at Protocol._enqueue (/var/www/html/kitopi-page/node_modules/mysql/lib/protocol/Protocol.js:144:48)
0|kitopi-p |     at Connection.query (/var/www/html/kitopi-page/node_modules/mysql/lib/Connection.js:200:25)
0|kitopi-p |     at getInformationFromDB (/var/www/html/kitopi-page/server.js:30:8)
0|kitopi-p |     at /var/www/html/kitopi-page/server.js:80:3
0|kitopi-p |     at Layer.handle [as handle_request] (/var/www/html/kitopi-page/node_modules/express/lib/router/layer.js:95:5)
0|kitopi-p |     at next (/var/www/html/kitopi-page/node_modules/express/lib/router/route.js:137:13)
0|kitopi-p |     at Route.dispatch (/var/www/html/kitopi-page/node_modules/express/lib/router/route.js:112:3)
0|kitopi-p |     at Layer.handle [as handle_request] (/var/www/html/kitopi-page/node_modules/express/lib/router/layer.js:95:5)
0|kitopi-p |     at /var/www/html/kitopi-page/node_modules/express/lib/router/index.js:281:22
0|kitopi-p |     at Function.process_params (/var/www/html/kitopi-page/node_modules/express/lib/router/index.js:335:12)

Hi @tabishgillani , unfortunately this is not an error from this library; the error is coming from your MySQL server and this library is providing as a JavaScript error. The error 1032 seems to be regarding some kind of issue with replication in your MySQL server.
Unfortinately I don't have experience with this error, but you may try looking in the MySQL server manual, searching for it on the web, etc. The most promising result I found searching Google was https://www.percona.com/forums/questions-discussions/mysql-and-percona-server/6790-next-step-in-debugging-replication-error-ha-err-key-not-found but can't say for sure that will help or not, as it is beyond the realm of this client library :(

thank you @dougwilson for your quick response and yes I also think so this is something related to replication on the database level, I was just making sure that this library has nothing to do with it, will definitely look into the link you shared.

Gotcha. So, though I can definately say this module doesn't do anything in regards to replication, I don't know 100% if it can somehow effect it; under the hood it is basically sending your query as a text string to the server and reporting back what the server returns (an error in this case).

In my case, I am connected to RDS Reader so it could be related to replication. @sqlbot


Video/Gif cleanup on cancel

Currently when stopping a video/gif from upscaling the temp folder where the frames are located is not deleted, i guess this is to implement the resume feature. I'd suggest to expose a option that ignores this behaviour and does cleanup regardless

Set the noResume property to true and it will always delete the frame folder, thus making it impossible for it to resume, but that's what you asked for.

Thanks!


Error when use hooks inside Calendar renderDay

💬 Question
UI Kitten and Eva version

Package
Version

@eva-design/eva
2.0.0

@ui-kitten/components
5.0.0

I'm trying to customize calendar cell by showing how many logs are saved in that day. All logs info are saved in redux store, and here is my code:
import { Calendar, StyleType, Text } from '@ui-kitten/components'
import { StyleSheet, View } from 'react-native'
import { selectCurrentTaskKey, selectTaskLogs } from '../../redux/selectors/task'
import { switchDate, useAppDispatch, useAppSelector } from '../../redux'
import React, { useEffect } from 'react'

const DayCell = (info: { date: Date }, style: StyleType):React.ReactElement => {
	const { date } = info
	const dateTS = date.getTime()
	const currTaskKey = useAppSelector((state) => selectCurrentTaskKey(state))
	const logs = useAppSelector((state) => selectTaskLogs(state,currTaskKey,dateTS))
	return (
		<View
			style={[styles.dayContainer, style.container]}>
			<Text style={style.text}>{`${date.getDate()}`}</Text>
			<Text style={[style.text, styles.value]}>
				{`${logs.length}`}
			</Text>
		</View>
	)
}

const LogCalendar: React.FC = () => {
	const [date, setDate] = React.useState(new Date())
	const onSelectDate = (nextDate:Date) => {
		setDate(nextDate)
	}

	const dispatch = useAppDispatch()
	useEffect(() => {
		dispatch(switchDate(date.getTime()))
	}, [date])

	return (
		<Calendar
			date={date}
			onSelect={onSelectDate}
			renderDay={DayCell}
		/>
	)
}

However, it fails at line const currTaskKey = useAppSelector((state) => selectCurrentTaskKey(state)) with such error message:
Error: Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
1. You might have mismatching versions of React and the renderer (such as React DOM)
2. You might be breaking the Rules of Hooks
3. You might have more than one copy of React in the same app
See https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem.

Both my react and react-dom are 16.13.1 so 1) doesn't apply.
Could someone give me an hint what's the proper way to use hooks inside renderDay?

Hey, @jiehan1029. Currently we're extending classes functionality under the hood of kitten implementation, so it's obvious that you can't call call hooks inside children component. The only thing you could apply - pure JSX | TSX
In other case - you could define selector logic inside parent, extract state and pass pure function into DayCell component as a prop, then call it inside and get values you want to use.
In nearly future, we're planning to update major component into functional components in order to support hooks functionality.

Hey @whitestranger7 , sorry for asking it here but could you be able to give an example of how to pass some additional data into renderDay?


Added a beginner workshop to the docs page

This was the beginner workshop that our chapter of Hack Club (Edison Hack Club) used in our recent Sprig workshop. I was told that the sprig team really liked the workshop and wanted to publish it, so I decided to create this pull request. The workshop can be accessed at: https://github.com/stati30241/sprig-workshop/blob/main/beginner.md
This workshop goes over the most basic features of Sprig, while going over how to create a simple block pushing game. I am also working on an advanced and more comprehensive Sprig workshop, though I am not certain when I may get that done.

ref: https://hackclub.slack.com/archives/C02UN35M7LG/p1667601237151719

hi! This is really great- it seems clear and easy to understand. It does seem a lot like https://workshops.hackclub.com/sprig_first_game so i'm wondering if we should have both.

hi! This is really great- it seems clear and easy to understand. It does seem a lot like https://workshops.hackclub.com/sprig_first_game so i'm wondering if we should have both.

That's why I haven't published it to the hackclub website. It's very similar and I think having it there would seem very redundant.


Travis build matrix

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@d58e111). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #58   +/-   ##
=========================================
  Coverage          ?   21.22%
  Complexity        ?     1093
=========================================
  Files             ?       24
  Lines             ?     3745
  Branches          ?        0
=========================================
  Hits              ?      795
  Misses            ?     2950
  Partials          ?        0

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d58e111...de10b75. Read the comment docs.


Fix issue in rhumb arc polylines

Fixes #8464 .
See my comment over there explaining the issue and the solution.
The issue is actually in all rhumb-arc polylines. This should crush your sancastle with a normalized result is not a number error:
var viewer = new Cesium.Viewer("cesiumContainer");
viewer.entities.add({
  polyline : {
    positions : Cesium.Cartesian3.fromDegreesArray([10.0, 0.0,
                                                    10.0, 5.0]),
    arcType : Cesium.ArcType.RHUMB
  }
});
viewer.zoomTo(viewer.entities);

As I wrote in that comment, I think a better solution would be to compute the number of points for each segment only once and pass it over to generateCartesianRhumbArc. However, I was a bit hesitant to make such a change, because that would break the similarity to generateCartesianArc.
Ideally, I think both generateCartesianArc and generateCartesianRhumbArc can do with some refactoring, for your consideration.

Thanks for the pull request @dennisadams!

:heavy_check_mark: Signed CLA found.
:grey_question: CHANGES.md was not updated.

If this change updates the public API in any way, please add a bullet point to CHANGES.md.

:grey_question: Unit tests were not updated.

Make sure you've updated tests to reflect your changes, added tests for any new code, and ran the code coverage tool.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.
[ ] Works (or fails gracefully) in IE11.

Thanks again for your contribution @dennisadams!
No one has commented on this pull request in 30 days. Maintainers, can you review, merge or close to keep things tidy?
I'm going to re-bump this in 30 days. If you'd like me to stop, just comment with @cesium-concierge stop. If you want me to start again, just delete the comment.

Thanks for the PR @dennisadams.  I won't have time to review this before the June release on Monday, but I'll be sure to review this for the July release.

Thanks @hpinkos!

Thanks for this fix @dennisadams!  And thanks for your detailed explanation of the root cause in #8464.  That made this really easy to review.
I just added a unit test, and I'll merge this as soon as CI passes


Create main.yml

Why:

What's being changed:

Check off the following:

[ ] I have reviewed my changes in staging. (look for the deploy-to-heroku link in your pull request, then click View deployment)
[ ] For content changes, I have reviewed the localization checklist
[ ] For content changes, I have reviewed the Content style guide for GitHub Docs.

What's being changed:

Check off the following:

[ ] I have reviewed my changes in staging. (look for the deploy-to-heroku link in your pull request, then click View deployment)
[ ] For content changes, I have reviewed the localization checklist
[ ] For content changes, I have reviewed the Content style guide for GitHub Docs.


Adding UglifyJsPlugin increases the build time by 3x

I'm submitting a bug report
Webpack version:
1.13.0
Please tell us about your environment:
OSX 10.11.5
Current behavior:
Initially, I didn't have UglifyJsPlugin in my webpack config. When I use the -p mode with Webpack, the build takes 30 seconds, and I see a lot of uglifyjs warnings. I made some research on how to suppress uglifyjs warnings (because there were too many), I found this. So I added UglifyJsPlugin to my config with the option {compress: {warnings: false}}. Now the build takes 1.5 minutes, and still displays few warnings.

In -p mode, does webpack automatically use UglifyJsPlugin?
When I add UglifyJsPlugin to my config, does that mean webpack is running uglifyjs twice?

Expected/desired behavior:
Build speed should remain the same and there should be absolutely no uglifyjs warnings.

Please don't use both -p and UglifyJsPlugin. -p will inject UglifyJsPlugin to your configuration so it will end up running twice. You should use either -p or UglifyJsPlugin but not both at once.

Ah now it all makes sense. If I remove -p, is there anything other than UglifyJsPlugin that I should add?

Based on the code -p sets --optimize-minimize and --optimize-occurence-order. The former does options.plugins.push(new UglifyJsPlugin()); and the latter options.plugins.push(new OccurenceOrderPlugin()); so it adds OccurrenceOrderPlugin to your configuration in addition to UglifyJsPlugin.

Awesome! I already had OccurrenceOrderPlugin in my config, so I don't need to worry about it. Thanks a lot for the help 🙂

No probs. Stack Overflow might work better for this type of questions.
If you want to understand the cli better, read through bin/. It's all there. 👍


QuitGame exception does not work as expected via nuget package

Using the quit helper, which throws a specific exception caught by the game loop, causes debuggers to stop on the exception (seen in win 10 via vs and vs code). This only occurs when using Xelmish via Nuget.
It doesn't throw the exception fully (the program doesn't crash) as it will still be caught by the gameloop handler, but evidently the debuggers of vs code and visual studio cant see this and pause.
Not ideal. Will need to investigate if this can be fixed to be more elegant.
Note, reported by @rishavs

Initial investigations do not suggest this behaviour can be altered.

I've added a note on the exception. Going to close this for now.


change / delete / update bill as admin

admin needs the option to change, delete or update a bill after creation. In case of errors.

implemented


Add a utility and/or library to dump a compact representation of a node?

E.g. to tools or bin
This will help people who are developing libraries using this parser, as well as trying to debug the behavior on a given file/snippet.
I didn't see any similar issues mentioned elsewhere in the issues, readme, or tools directory.
Currently, I'm using this snippet: https://gist.github.com/TysonAndre/3c0619efc9695ef9f2465f4a55e6e6ee
Previously, I was using var_export(), which was several times longer.
» php dump.php "const X = 2*3+1;"
Node\SourceFileNode
    statementList: Node\Statement\ConstDeclaration
        constKeyword: Token: ConstKeyword(111): "const"
        constElements: Node\DelimitedList\ConstElementList
            children: Node\ConstElement
                name: Token: Name(2): " X"
                equalsToken: Token: EqualsToken(238): " ="
                assignment: Node\Expression\BinaryExpression
                    leftOperand: Node\Expression\BinaryExpression
                        leftOperand: Node\NumericLiteral
                            children: Token: IntegerLiteralToken(416): " 2"
                        operator: Token: AsteriskToken(212): "*"
                        rightOperand: Node\NumericLiteral
                            children: Token: IntegerLiteralToken(416): "3"
                    operator: Token: PlusToken(213): "+"
                    rightOperand: Node\NumericLiteral
                        children: Token: IntegerLiteralToken(416): "1"
        semicolon: Token: SemicolonToken(237): ";"
    endOfFileToken: Token: EndOfFileToken(1): ""

Sort of related to what the syntax-visualizer does: https://github.com/Microsoft/tolerant-php-parser/tree/master/syntax-visualizer which is just running the parsed file through json_encode


[1.10.2] Streamjar (tracker) + Curseforge

StreamJar is an extremely popular way for streamers to add tracker overlays and get donations. I'm surprised it hasn't been mentioned yet.
I'd also like to be able to get access to the 1.10.2 version of this mod via curse/twitch launcher whenever you get the chance. Thanks for your time.

You are successfully using the 1.10.2 version? Congratulations You seem to be the only one who can figure it out! If you have the spare time / energy, could you help us write up some docs?

I currently don't have the time to add new trackers, but I'll to it asap.
I'd rather not put the version on Curseforge before we have at least some basic docs.

I actually have a version that has been modified to use with StreamJar (if I can find it somewhere) but you would have to get StreamJar to give you a custom API key (with the new SJ Beta)

If @EthanWaite (or anyone in control of the StreamJar fork) is willing to submit a PR, it will be pulled and official builds will be made available.

@dries007 Yep sure, I can tidy up some of the auth stuff and PR it in. Our server does use socket.io for realtime communication though (so donations come through instantly), and so our fork uses the socket.io Java library. Would adding a dependency for a tracker be an issue?

Thats fine, as long as it gets downloaded via gradle and is packaged in the download (fat jar style)


Fix driver race condition on sinks, fix DOM driver mutations in loop

[x] There exists an issue discussing the need for this PR, #592 and #699
[x] I added new tests for the issue I fixed or built
[x] I ran make test FOO for the package FOO I'm modifying
[x] I used make commit instead of git commit

Note, that this will drop IE10 and IE9 support

@jvanbruegge Yes, I was aware but forgot to mention it. We already don't support IE9, but IE10 can support this through a polyfill

What kills IE9?

@jvanbruegge There's an issue about it, still open. (I'm now on mobile, harder to search)

It was this issue: https://github.com/cyclejs/cyclejs/issues/224

To-do according to CI failures:

[ ] Add a polyfill when testing IE10
[ ] Test cycle/http with the newest cycle/run rc
[ ] Investigate cycle/dom test failing in Chrome v49

I'm considering dropping official support for IE10. I added a MutationObserver polyfill when testing IE10, and most tests passed, but tests related to DocumentFragment didn't pass. I think the MutationObserver polyfill can't detect that a DocumentFragment was mutated because fragments are by definition "detached" from the normal document, maybe that's why it can't detect mutations.
DocumentFragments and Cycle.js in IE10 would only be used for Web Components (I think), so I think it's fair to not support Cycle.js + Web Components in IE10, but normal Cycle.js DOM usage (without Web Components) would still work.

Thanks for the feedback, those who thumbed up the previous comment.
I'm still collecting feedback, and this PR is ready when it comes to solving issues #592 and #699, except I'll do the removal of IE10 tests, and add docs about which browsers cycle/dom supports, and how to polyfill for other browsers.

Travis CI tests pass.
@jvanbruegge could you give a final review?

I hope someone can take a look at this before merging, because it has some important breaking changes and fixes. I know it's a big PR but it's easier to review commit by commit. There are only 3 important commits actually:

Replication sinks are Streams, not MemoryStreams https://github.com/cyclejs/cyclejs/pull/719/commits/8d50824d92b9af61d5aaaf16a2b3e25e1c60706e
Sink emissions are scheduled as microtasks https://github.com/cyclejs/cyclejs/pull/719/commits/1c1d23d3f33d211ec69074f73d7a89cf819588b7
DOM Driver uses MutationObserver https://github.com/cyclejs/cyclejs/pull/719/commits/8cffe90b2460592b19c0f5ea814a1c98f5257ba5

This looks good to me too.  I just experienced this issue again in a new context.  Onion state$ emits an old state in some cases value when there is a circular dependence.

Thanks @ntilwalli and @jvanbruegge !


libc 0.1.9 includes an incompatible change

libc 0.1.9 includes at least one incompatible change over 0.1.8 (a change to the function signature of libc::funcs::bsd44::ioctl).  According to Rust's version of semver, the 0.1.9 release should have incremented the minor version number.

Small tweaks like this fall within the "semver compatible" vision of Rust because a small local annotation can be used to fix any compile errors. Additionally the changes provided are required for correctness, so it's possible to lead to memory unsafety if these aren't fixed.

Small tweaks like this fall within the "semver compatible" vision of Rust because a small local annotation can be used to fix any compile errors.

I'm not sure what annotation you are referring to here, but if it's setting the dependency "^0.1.8", that does not work because Cargo assumes 0.1.9 is compatible with 0.1.8.  If you mean setting the dependency "=0.1.8", that does not work because Cargo appears to be broken.

Additionally the changes provided are required for correctness, so it's possible to lead to memory unsafety if these aren't fixed.

Absolutely, and thank you for making the fix.  My only concern is that the minor version was not bumped.

I've yanked 0.1.9 and this can be discussed later.

@danburkert - if there are really "breaking changes", it's not even enough to bump the minor version. The major version should also be adjusted, according to the link you posted.
However, it is also stated here (SemVer spec) that:

Major version zero (0.y.z) is for initial development. Anything may change at any time. The public API should not be considered stable.

So 0.1.9 being incompatible with 0.1.8 is perfectly fine in that sense. Still, all breaking changes should of course be thought through nonetheless (to avoid messing up for people), and even more and more as the usage of the library increases. My $0.02. :smile:

Is this discussion ongoing somewhere?


Program hangs upon startup

No errors, no log. It just hangs, not sure how i can help?

After a few triest it worked. sorry to bother you

It is buggy time to time. You might need to restart it every once in a while.


fix(yafti): move core apps to seperate screen

Fixes #471
Moves the core apps to a seperate "required applications" screen like images below:

Oke let's not say Installing required packages but Install required packages


Avoid pooping up a root password dialog on each startup

Describe the bug
Each time the application starts, it requests root permissions to install something.
The way I see it, root shouldn't be required if it is only for this user. Since I have always cancelled the dialog with the application working well nonetheless, I presume it's not required either.
My feelings when starting the otherwise awesome application is best described as "annoyed", and I think this should be better.
To Reproduce

Open the application without ever having entered the root password

Expected behavior
After the first cancellation, delegate the option to re-try the installation to another place in the UI that is triggered by the user on demand.
Be sure to make clear why root is needed, or allow a non-root version to exist.
Diagnostic report (required)
No response
Screenshots and additional context (optional)

OrbStack wants to install command-line tools and improve Docker socket compatibility. This is optional.
Enter your password to allow this.

If it's "optional", why nag about it each time the application starts?
Is root about the docker socket? For those who don't use docker, root should not be required to install the command-line tools.

Duplicate of #467.


Is Seagull able to improve Your tool?

Expected Behavior
Generate traffics that difficult to effectively block/recognize by gate fw/ids systems of target
About Seagull
http://gull.sourceforge.net/index.html

I don't think I would be able to import it directly (using CGO would make it pain in the ass to support different platforms) but based on my initial overview of it I feel like my packetgen package should allow similar functionality at some point and I could definitely draw inspiration from Seagull once I get to expand packetgen further


cross-compile Inference Diff tool

Hello guys,
is it posible to cross-compile the Inference Diff tool - I mean with bazel ...
If so, can you please indicate how?
Thank you

Surely yes
bazel build -c opt \
  --config=android_arm64 \
  //tensorflow/lite/tools/evaluation/tasks/inference_diff:run_eval

example in its REAME.md is to cross-compile it on x86_64 Linux or macOS for arm64 Android devices :-)
What's your target device?

Target device: ARM64 with Linux

@peter197321 Is this still an issue? Were you able to build successfully with https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/tools/evaluation/tasks/inference_diff#running-the-binary-on-android?

I wanna build for aarch64 Linux device and not android.


Add Distraction Free Facebook Messenger

Project details:

Club: hackEDU
Name: Distraction Free Facebook Messenger
Description: Eliminates all the distractions of Facebook Messenger.
URL: https://chrome.google.com/webstore/detail/distraction-free-facebook/ipkbhlfkopeokhpbhgmlonagpppedfej
GitHub: https://github.com/jonleung/distraction-free-facebook-messenger
Authors:

Jonathan Leung

:shipit:

:+1:


Add support for Kubernetes Services (#1162)

Added watching and caching of Kubernetes Service resources
Skip reconciliation until Service and Ingress resources are both retrieved
Changed cluster_id to use Service name and port name/number

For the tests:

Added Services to Kubernetes unit tests (ingress.yaml files)
Added test for different port/targetPort configured in Service (as per #1162)

Thanks for the interest @dpbevin. We're not fully up to speed on the Kubernetes work yet so this might take us a little while to review.


vue-cli-service does not run in cmd.exe or Powershell

Version
3.0.0-beta.6
Reproduction link
https://gist.github.com/mrberggg/18d54d105f8cbfa64bd03cb63f9fdfdf
Steps to reproduce
Create a new project with vue cli, then navigate to folder.
In bash run vue-cli-service serve or ./node_modules/.bin/vue-cli-service serve. Serve will work properly.
In Powershell/cmd.exe, run vue-cli-service serve. Will show the following error:
'vue-cli-service' is not recognized as an internal or external command
Try running the service manually by running .\node_modules\.bin\vue-cli-service serve. Will pop open Windows' 'How do you want to open this file?' dialog.
What is expected?
Should run correctly in cmd.exe/Powershell.
What is actually happening?
Does not run.

This was an obscure npm edge case, not related to vue-cli. Was using npm in bash on windows to develop, had to test in cmd.exe. Apparently npm only generates .cmd files for Windows when you run npm install from cmd.exe or Powershell. Deleting node_modules and re-installing from cmd.exe fixes this.

Similar problem on beta10. had many vue-loader was used without the corresponding plugin error. Fixed it by using CMD instead of PowerShell

Hm, using git bash on windows isn't an obscure edge case.
It's the only way to develop on windows :)

I have installed 3.0 and constantly receive 'vue-cli-service' is not recognized as an internal or external command, operable program or batch file. in cmd, powershell and bash. Any ideas what's wrong?

Similar problem for me. Deleting node_modules and reinstalling with yarn fixed my problem

I have had this problem using windows 7, in my case I run npm i and npm run serve in Visual Studio embebed terminal. The problem was fixed when I deleted node_modules folder and run npm i and npm run serve in cmd.

I have had this problem using windows 7, in my case I run npm i and npm run serve in Visual Studio embebed terminal. The problem was fixed when I deleted node_modules folder and run npm i and npm run serve in cmd.

it's so working

I have such a problem in Windows 10 64bit
All is due to --global flag...
npm install --global @vue/cli or npm i -g @vue/cli installs node_modules in global route C:\Users\Username\AppData\Roaming\npm
But vue-cli-service serve requires to be loaded in current project module locally
So when installing node modules, it is necessary to put cli without -g flag:   npm i @vue/cli
And then npm serve
Now it's working

uninstalled / reinstalled Node/NPM, tried all the recommendations here but nothing is working. Can't get vue CLI to execute npm run serve with or without running cmd/powerShell as Administrator on windows 10 ...

None of the above worked for me, but I think my problem was related to WSL.  Sometimes when I check out a repo using WSL it causes some weird case-sensitivity issues when I try to do things in that directory from cmd.  I checked out my project using git in cmd rather than WSL, and everything started to work as expected.

I my case I was able to solve the problem by providing a more complete path to vue-cli-service in  package.json. i.e.
`...
"scripts": {
"serve": "node_modules/.bin/vue-cli-service serve",
"build": "node_modules/.bin/vue-cli-service build",
"lint": "node_modules/.bin/vue-cli-service lint"
}
...`

npm install --global @vue/cli
I used this command on my bash terminal
And, Then I run vue  js app
using command  npm start
And, my terminal shows me and error like,

vue-cli-service serve

'vue-cli-service' is not recognized as an internal or external command,
operable program or batch file.
What can i do?
Please, help me,

You can try to delete node_modules directory and install again with npm install
In my case I copied the node_modules directory from a linux installation and apparently windows needs to create its own files.

Bitdefender (and perhaps other antivirus software) prevents a Windows process from launching a new console because it blocks access to conhost.exe. Thus npm run serve was failing silently for me. I do not have the option of changing the way Bitdefender works, so I have worked around the problem by using the cygwin console instead of cmd or Powershell.

try running command prompt as administrator if your account is an administrator account,  and run npm install --global @vue/cli. if it still doesn't work run npm uninstall --global @vue-cli to uninstall previous versions of Vue. then run npm install --global @vue/cli to install Vue

"npm i" has fixed the issue for me

Still facing the same issue for Windows. I've been trying to delete node_modules inside my project, reinstalling again. Create another vue project. The problem still showing up.
At first, I thought because my vue-cli isn't updated yet, but it seems that npm run <script_name> will use the global modules instead of the one that installed in my project.
Using absolute path to the vue-cli-service (ex: .\node_modules\.bin\vue-cli-service serve via PowerShell) inside the project's node_modules solves the issue for me.

On Windows, if you follow the installation instructions and install @vue/cli using npm installs "-g" option, the vue command is installed in c:\Users<your username>\AppData\Roaming\npm.  Then when you try to run "vue" the command is not found because it's not in your Windows path.  The easy solution is to add "%APPDATA%\npm" to your path.

On Windows, if you follow the installation instructions and install @vue/cli using npm installs "-g" option, the vue command is installed in c:\Users<your username>\AppData\Roaming\npm.  Then when you try to run "vue" the command is not found because it's not in your Windows path.  The easy solution is to add "%APPDATA%\npm" to your path.

Remember to set the NODE_ENV=development and run npm install again

may be you are in development mode. such as you root dir has an .env file.
https://mp.weixin.qq.com/s/VYFtSfBgz_Bolouz21NaEA


Generate as extension methods?

Looks like a great tool. I think a good enhancement would be to generate the mapping code as an extension method.
userEntity.ToUserDTO()

Hi
Thanks for suggestion. I have a few questions on start: where the extension method should me added? Should I generate a separated static class? How the class should be named?

Actually, I should be able to use your first example to generate the extension method body and then I can just add this before the parameter manually. But I'm not able to get your extension to work. I'm using VS Community 2017. Is that supported?

I've just tested it on extension method and it works. I'm using Visual Studio 15.8.4. Make sure that you restarted VS after extension installation. Community version should be supported.

Please let me know if the restart didn't help (the concrete version of VS would be helpful)

I tried uninstalling and reinstalling the extension, restarting VS, and rebooting my computer. I was using VS 15.5.1. I updated to 15.8.4 and now it works! Not sure if it was that specific version of VS that wasn't working or if something got corrupted and updating fixed it.  I'll let you know if I run into any issues with the extension. Thanks!

As I remember there was an Update of VS which broke the roslyn analyzers, probably I was 15.5.1
I'm glad that you finally managed to make it work.


A collection of fixes and additions

I created a number of fixes and some additions you might find useful. They are separated by commits, with a few bug fixes in later commits.
The additions are summarized like that:
Allow nodes to be React components and not just styled divs
Adjust for chart offset origin different than 0,0 and scrolling
Added a resize observer to detect node size changes and re-render ports and links
Node size now adjusts properly, re-rendering ports and links on node size change
Allow nodes to be rotated with ports rotating accordingly. New prop orientation on the node defines the angle of rotation of the node (ports rotate automatically, the node needs to be given specific css to rotate it)
Exported actions so that it can be used with the FlowChart component
Added a validation function (needs some more work) for new links
Added nodeProps prop to Flowchart so that data can be sent to e.g. autocomplete menu options inside nodes (spread to Node and InnerNode)
Added boolean snap prop to Flowchart to enable snap to grid for node placements

These are some great fixes, would love to utilize these

Yep, sorry. Had a busy couple of weeks. Hoping to get it merged this weekend.

I've added a few more changes here. I'm not quite sure how to make the rotation changes work. Any chance you can make the CustomNodeInner demo work?

I like the way you made the config object much more generic and added the validation function for links into it. Very nice.
For the rotation to work three things have to be true:

the node object inside the chart prop has to include a field 'orientation' like so: orientation: -45,
So every time you create a rotated node it has to include this prop, where 45 is the angle in deg.
the outer custom node then has to include css to rotate it, like so:

class Node extends React.PureComponent {
render() {
const { nodeProps, node, children, isSelected, style, ...otherProps } = this.props;
const selectedStyle = isSelected ?
{ boxShadow: '8px 8px 12px rgba(0,0,0,.5)' } : null;
    const { transform, ...otherStyles } = style;
    return (
      <div
        style={{
          transform: `${transform} rotate(${-node.orientation}deg)`,
          ...otherStyles,
          ...styles.outerNode,
          ...selectedStyle,
        }}
        {...otherProps}
      >
        {children}
      </div>
    );
}

}

the custom inner node has to be rotated back so that its content remains horizontal, like so:

const NodeInner = ({ classes, node, nodeProps }) => {
return (
<div className={classes.innerContent} style={{ transform: rotate(${node.orientation}deg) }}>
{other inner node content}

)
}
On another note I remember you mentioned somewhere that you convert the resulting chart object into an array for storage and further processing. Could you share the function that does this conversion back and forth and the format you use?

And one more thing: I also introduced additional port types to provide styles so that the ports align properly in the corners of the now rotated node like so:
cornerLeft: {
height: '80%',
marginTop: '20%',
top: '6px',
right: '80px',
flexDirection: 'column',
justifyContent: 'flex-end',
'> div': {
margin: '3px 0',
},
},
cornerRight: {
height: '80%',
top: '-3px',
right: '-6px',
flexDirection: 'column',
justifyContent: 'flex-start',
'> div': {
margin: '3px 0',
},
},
cornerTop: {
height: '80%',
marginBottom: '20%',
top: '-6px',
right: '80px',
flexDirection: 'column',
justifyContent: 'flex-start',
'> div': {
margin: '3px 0',
},
},
cornerBottom: {
height: '100%',
top: '0px',
right: '-6px',
flexDirection: 'column',
justifyContent: 'flex-end',
'> div': {
margin: '3px 0',
},
},

Do you need me to add anything to the info provided above?

Would be great if you could merge. :)

Merged as part of https://github.com/MrBlenny/react-flow-chart/pull/40


Double subtraction issue

Laravel Version: 5.8
PHP Version: 7.2
Database Driver & Version: Postgresql 9.3

Description:
When we subtract 2 double numbers then this returns some unexpected result.
Steps To Reproduce:
$a = 20.05;
$b = 20.05;

Please presume that $a, $b is something I am getting from a Model's mutator which further is getting from database using sum() DB function. We are dealing with financial data and this is creating an issue with calculations everywhere.
return (double)$a - (double)$b;
This returns -3.5527136788005E-15

This isn't related to Laravel but the way to PHP works. When working with money values I recommend only to do calculations with integers and making use of https://github.com/moneyphp/money


Uncaught (in promise) Unknown cloud_name

Forgive me if this is not the proper place to address this issue. But considering that "cloud_name" is never once mentioned (out 53 mentions total) in my app within a promise, I figured that the problem just might be on your side. The problem arose after deploying my app to Heroku and using their add-on. The homepage of my app loads, then upon signing-in "Uncaught (in promise) Unknown cloud_name" is logged in the console and nothing renders on the screen. Heroku logs don't show any issues as the sign-in data is retrieved at MongoDB successfully. I'm trying to deploy to a select few users by tomorrow and am scrambling to get this fixed! Thank you for your time.
Bug report for Cloudinary Svelte SDK
Before proceeding, please update to latest version and test if the issue persists
I'm using 0.0.1-alpha.1
Describe the bug in a sentence or two.
"Uncaught (in promise) Unknown cloud_name" is being logged in the console but "cloud_name" is never called in a promise. Worked in dev, not working in production (Heroku).
Issue Type (Can be multiple)
[ ] Build - Can’t install or import the SDK
[ ] Babel - Babel errors or cross browser issues
[ ] UI/Performance - Display or performance issues
[ ] Behaviour - Functions aren’t working as expected (Such as generate URL)
[ ] Documentation - Inconsistency between the docs and behaviour
[X] Other (Specify)
Steps to reproduce
MESN stack deploy to Heroku using Cloudinary add-on.
Error screenshots
Uncaught (in promise) Unknown cloud_name
Browsers (if issue relates to UI, else ignore)
[X] Chrome
[ ] Firefox
[ ] Safari
[ ] Other (Specify)
[ ] All
Versions and Libraries (fill in the version numbers)
Svelte Cloudinary SDK - 0.0.0
Svelte - 3.0.0
Babel - 0.0.0
Webpack - 4.30.0
Node - 12.16.1
NPM - 6.13.4
Config Files (Please paste the following files if possible)
package.json
{
"name": "svelte-app",
"version": "1.0.0",
"devDependencies": {
"cross-env": "^5.2.0",
"css-loader": "^2.1.1",
"csv-loader": "^3.0.3",
"dotenv-webpack": "^6.0.0",
"mini-css-extract-plugin": "^0.6.0",
"serve": "^11.0.0",
"style-loader": "^0.23.1",
"svelte-loader": "2.13.3",
"webpack": "^4.30.0",
"webpack-cli": "^3.3.0",
"webpack-dev-server": "^3.3.1"
},
"scripts": {
"build": "cross-env NODE_ENV=production webpack",
"dev": "webpack-dev-server --content-base public"
},
"dependencies": {
"svelte": "^3.0.0",
"@cloudinary/svelte": "0.0.1-alpha.1",
"@beyonk/svelte-mapbox": "^5.2.2",
"axios": "^0.19.2",
"highcharts": "^8.2.2",
"mapbox-gl": "^1.12.0",
"papaparse": "^5.2.0",
"svelte-spa-router": "^2.2.0"
}
}
babel.config.js
webpack.config.js
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
const webpack = require('webpack')
const path = require('path')
const Dotenv = require('dotenv-webpack')
const mode = process.env.NODE_ENV || 'development'
const prod = mode === 'production'
module.exports = {
entry: {
bundle: ['./src/main.js'],
},
resolve: {
alias: {
svelte: path.resolve('node_modules', 'svelte'),
},
extensions: ['.mjs', '.js', '.svelte'],
mainFields: ['svelte', 'browser', 'module', 'main'],
},
output: {
path: __dirname + '/public',
filename: '[name].js',
chunkFilename: '[name].[id].js',
},
devServer: {
proxy: {
'/api': {
target: 'http://localhost:3000',
},
},
},
module: {
rules: [
{
test: /.svelte$/,
use: {
loader: 'svelte-loader',
options: {
emitCss: true,
hotReload: true,
},
},
},
{
test: /.css$/,
use: [
/**
* MiniCssExtractPlugin doesn't support HMR.
* For developing, use 'style-loader' instead.
* */
prod ? MiniCssExtractPlugin.loader : 'style-loader',
'css-loader',
],
},
{
test: /.csv$/,
loader: 'csv-loader',
options: {
dynamicTyping: true,
header: true,
skipEmptyLines: true,
},
},
],
},
mode,
plugins: [
new MiniCssExtractPlugin({
filename: '[name].css',
}),
new Dotenv(),
],
devtool: prod ? false : 'source-map',
}
Repository
If possible, please provide a link to a reproducible repository that showcases the problem

Hi @jrfii Sounds like a cloud_name isn't being passed to cloudinary-core's url function, used by cloudinary-svelte.
I would check if there is a scenario where the cloud_name is null or undefined.
Can you please provide the code that causes this?

Hello, maoznir! Thank you for your timely response. Where should the cloud_name be passed to cloudinary-core's url function? Currently, the config vars are being pulled directly from Heroku. I have a .env folder with the config value provided, but this is bypassed when using Heroku's config vars. To the best of my knowledge, there are no instances of null or defined (everything was functioning properly throughout development). I'm at a complete loss when trying to debug this issue, I have not been able to determine what particular code is causing it.

Here's my cloudinary.js file: cloudinary.config({
cloud_name: process.env.CLOUD_NAME,
api_key: process.env.API_KEY,
api_secret: process.env.API_SECRET
});
const storage = cloudinaryStorage({
cloudinary: cloudinary,
folder: "demo",
allowedFormats: ["jpg", "png"],
transformation: [{ width: 500, height: 500, crop: "limit" }]
});
const parser = multer({ storage: storage });

On the client side, it is referenced as so:

Hey @jrfii - as @maoznir mentioned, this sounds like cloud_name isn't passed correctly.
Can you verify the value of process.env.CLOUD_NAME? If this code works well in development but not in production, it might be related to a misconfigured environment.

Hello, Patrick! Thank you also for your timely response. Are you asking me to provide you the cloud_name or just if it I entered the value correctly? If the latter, the value was directly copied and pasted, so there were no errors in transcription. I'll try to tinker with things as you gentlemen suggest and get back to you. Should it be a misconfigured env, do you have any suggestions for how I would go about debugging the issue?

@jrfii please check if the CLOUD_NAME environment variable ia defined and available in the produxtion environment in the heroku server

maoznir, yes, it is. Initially, I was using a different cloud_name, but when I included the Cloudinary add-on it created a new Cloudinary account with different configuration variable values, so I replaced the outdated values with the updated ones. Under both scenarios, the same message was logged in the console.
In the event that it helps to clarify things, here is the link to my Heroku app:
https://patriphy.herokuapp.com/
And here is how I had framed the question on Stack Overflow:
https://stackoverflow.com/questions/65434803/re-herokus-cloudinary-add-on-uncaught-in-promise-unknown-cloud-name
I cannot provide user credentials so that you could test things out because the data being stored is genetic data and of a private nature. Please forgive me if I'm a bit lost in this process, my degrees are in the social sciences! :)

Also, I have NPM_CONFIG_PRODUCTION set to false. And, my package-lock.json is in my .gitignore file. Might either of these things be related to this issue?

Do you think that there's a chance that if I proceed with deploying to my personalized domain that this issue might somehow resolve itself?

@jrfii I was sure you were using the cloudinary-svelte sdk, are you actually using the cloudinary addon for heroku instead?

@maoznir, yes, I am using @cloudinary/svelte and have also added the Heroku add-on.  Does one negate the other? Could this be the solution to my problem? I'm about 14 hours in and am ready for some rest. I will have to look more deeply at these things when my mind is fresh. Any thoughts on a possible solution that you might have would be extremely welcomed.

@jrfii Apologies for the delayed reply. One should not negate the other. The error suggests that a request to Cloudinary was made with no cloud name or that the cloud name does not match one or both of the API keys associated with the account (Key and Secret). Can you please make sure these values are sent correctly?


Watermarks for Images

Hi,
I've posed this as a question on Stack Overflow but it may be better suited as a feature request.
I've tried two approaches to add an image or attributed string watermark on top of an image in a TPPDF document:

Affix the watermark to the image with core graphics before adding the image to the document; this isn't great as the watermark is subject to resizing and quality changes during PDF generation. I've submitted #232, which demonstrates a possible solution with no resizing/quality issues.

Position the watermark over the image in the document. This seems like the right thing to do per #19 but the API seems to have changed. I've attempted to find an unobtrusive way to expose image offsets and set watermark offsets such that the watermark can be correctly positioned over the image. I haven't had much success so far.

Could you point me in the right direction or let me know what you think? I'd be very happy to contribute to this solution.

Hi there, sorry I haven't responded earlier, busy times and TPPDF is a side project for me.
I like the idea of rendering hooks, so the framework stays light but you can adapt it if necessary, as I do not believe TPPDF should include too much image processing (hardly optimized an way better frameworks available).
About the closure pattern:

Do you think this pattern is suited the best?
Should we consider the delegation-pattern?
How about a delegate for the whole PDFGenerator instead of a per-object level.

Would like to hear your thoughts.

No problem @philprime , thanks again for your work!
-  Do you think this pattern is suited the best? Should we consider the delegation-pattern?
The closure made the most sense to me because it ties one rendering hook to a specific image. If more rendering hooks are to be added, maybe a delegate likePDFImageDelegate would make more sense?
- How about a delegate for the whole PDFGenerator instead of a per-object level.
With a delegate on PDFGenerator, to apply individual treatment to multiple images we would need to give the images identifiers and centralize the logic. This seems like a little more overhead but would make sense if:

We favor centralizing the logic over setting it on each PDFImage.
We want to support many rendering hooks.

Please let me know if you had something else in mind, especially if I'm missing something with the PDFGenerator delegate idea. I'm happy to dig in some more.

The main idea of the PDFDocument is to be a tree-like structure holding only information to generate a PDF based on it.
About one or two years ago I decided to move all logic from each PDF Element into the internal objects, so that a PDFDocument is not mutated during rendering (therefore instances of PDFDocument can be reused).
This idea is applied almost everywhere (I guess PDFSections do not use it correctly).
Now we could add closure-based logic to the document tree, after all they supply additional information to the document tree. But I see a few flaws:

What if multiple images should be processed in the same way? Yes, I could pass all the same lambda functions to all of the images.
Equality can not be determined anymore. As per definition closures can have arbitary logic and therefore cannot be compared (unfortunately I can not find the link to this information anymore, but I battled with this issue a while ago).
As you stated: Additional rendering hooks might be requested at some point, and therefore having a unified solution from the beginning makes life easier for us.

About your input with the image identifiers: We actually do not need them! PDFImage is a class, therefore we can keep a reference during the PDFDocument build an our delegate might look like this:
protocol PDFGeneratorImageDelegate: class {
    func generator(willBeginDrawingImage image: PDFImage, with context: CGContext, in frame: CGRect)
}

typealias PDFGeneratorDelegate = PDFGeneratorImageDelegate // for extensibility

and an example implementation:
let generator = PDFGenerator()
generator.delegate = myCustomDelegate

let document = PDFDocument(format: .a4)
[...]
let watermarkImage = PDFImage(...)
document.add(image: watermarkImage)

[...]
// in the delegate class

func generator(willBeginDrawingImage image: PDFImage, with context: CGContext, in frame: CGRect) {
    if image === watermarkImage {
        ....
    }
}

I see what you mean now by delegating from PDFGenerator. Great point about the identifiers!
I like this approach; I agree that it is cleaner and more extensible.
I'm happy to put together a PR unless you have it sorted out with your example implementation.

Looking forward to a PR, I'll give feedback during review.

#241 implements PDFImageDelegate as discussed. Please let me know what you think.
Some considerations that hadn’t occurred to me before:
Example use case: a watermarked timestamp unique to each image
Closures are nice for capturing data that doesn’t belong in the PDFImage for image processing later. This data is usually closest at hand when we’re creating the PDFImage in the first place. This isn’t a big deal, one work around when using the delegate pattern is to cache the PDFImage and extra data in a dictionary with the PDFImage as a key. To make this possible, I made PDFImage Hashable.
Edge Case: Not a big deal, but there is an edge case where we are adding a PDFImage with the same values in different places of the document and we may want to apply different processing for each. In this case, a tag like we previously discussed could be useful.

Thanks a lot for your contribution, I am always glad when others help to evolve the framework.
I will give you some code feedback directly in the PR #241
About the example use case:
Adding Hashable to the PDFImage is a nice addition, maybe we can even write some unit tests for it (the general test coverage is in poor shape and needs to be improved anyway)?
About the Edge case:
On the one hand I can see some kind of identifier, tag or similar for uniquely identifying the elements but keeping the memory usage low by reusing the elements. On the other hand when adding a tag, it would have to be set either by the internal objects, which are not available for the framework user anyway, or we would have to duplicate the PDFImage and set the different tag, leading to another instance again.
Maybe the easiest way would be creating a Factory-Pattern which creates the PDFImage with the correct settings, returning a fresh instance on every call, in your application, and storing the references in different properties.
Correct me if I am wrong

I'm happy to help, I really appreciate the framework and your work here! I'll add test coverage to the PR.
Edge Case:
So if I understand correctly, the options are:

Each PDFImage created is a separate instance. This is how PDFImage is currently implemented so the only change would be adding an optional identifier instance variable to PDFImage. This could be done automatically and exposed throught the identifier instance variable (i.e. tag each new instance with a UUID) or let a user optionally set this on or after creation.

We reuse instances of PDFImage? If I'm understanding correctly this would be like a UITableViewCell, where we could recycle this PDFImage using a datasource pattern.

Am I correct in thinking the factory pattern would be used for option 1 and would basically serve as a convenience initializer for instances that will make use of identifiers, as below? Or are you thinking of making use of PDFImage subclasses.
PDFImage.init(image: Image,
                caption: PDFText? = nil,
                size: CGSize = .zero,
                sizeFit: PDFImageSizeFit = .widthHeight,
                quality: CGFloat = 0.85,
                options: PDFImageOptions = [.resize, .compress],
                cornerRadius: CGFloat? = nil,
                identifier: String? = nil)

To quote your previous request:

[...] edge case where we are adding a PDFImage with the same values in different places of the document and we may want to apply* different processing for each* [...]

I'll try to illustrate, how I am understanding it, with an example:
let document = PDFDocument(...)
let image1 = PDFImage(...)
document.add(image: image1)
// add more stuff to the document
document.add(image: image1)
let generator = PDFGenerator()
generator.render(...)

// in the delegate class
func generator(willBeginDrawingImage image: PDFImage, with context: CGContext, in frame: CGRect) {
    if image === image1 {
        ....
    }
}

We can not differ between the first added image1 and the secondly added image1 as they are the same instance in memory. Now if we do something like this:
let document = PDFDocument(...)
let image1 = PDFImage(...)
image1.id = "image-1"
document.add(image: image1)
// add more stuff to the document
image1.id = "image-2"
document.add(image: image1)
let generator = PDFGenerator()
generator.render(...)

// in the delegate class
func generator(willBeginDrawingImage image: PDFImage, with context: CGContext, in frame: CGRect) {
    if image == "image-1" {
        ...
    } else if image == "image-2" {
        ...
    }
}

it would seem like setting different identifiers would let us differentiate, but acutally this approach won't work as image1 is a class instance, therefore setting image1.id = "image-2" will overwrite the image1.id = "image-1".
Keep in mind, our document tree is a simple data-tree which won't be processed until using it with PDFGenerator.
About the internal logic, this is an excerpt from PDFDocument.swift:108:
public func add(_ container: PDFContainer = PDFContainer.contentLeft, image: PDFImage) {
        objects += [(container, PDFImageObject(image: image))]
}

So when adding a PDFImage to the document tree, it wraps it in an PDFImageObject. Now we could set the unique identifier on the PDFImageObject, but as I have mentioned before, this is an internal class, and shall not be seen by the user. Now we could do something like this:
func generator(willBeginDrawingImage image: PDFImage, with context: CGContext, in frame: CGRect, objectId: String) {
    if objectId == "image-1" {
        ...
    } else if objectId == "image-2" {
        ...
    }
}

but we would have to change all methods in PDFDocument to add methods like these:
public func add(_ container: PDFContainer = PDFContainer.contentLeft, image: PDFImage, withId objectId: String = UUID().uuidString) {
        objects += [(container, PDFImageObject(objectId: objectId, image: image))]
}

This does not seem reasonable to me, in comparsion to the following:
class MyImageFactory {

    static func create(with image: UIImage) -> PDFImage {
        return PDFImage.init(image: image,
                                           caption: PDFText? = nil,
                                           size: CGSize = .zero,
                                           sizeFit: PDFImageSizeFit = .widthHeight,
                                           quality: CGFloat = 0.85,
                                           options: PDFImageOptions = [.resize, .compress],
                                           cornerRadius: CGFloat? = nil,
                                           identifier: String? = nil)
    }
}

// Assetse
let image = UIImage(...)

// Document Creation
let document = PDFDocument(...)
let image1 = MyImageFactory.create(with: image)
document.add(image: image1)
// add more stuff to the document
let image2 = MyImageFactory.create(with: image)
document.add(image: image2)
let generator = PDFGenerator()
generator.render(...)

// in the delegate class
func generator(willBeginDrawingImage image: PDFImage, with context: CGContext, in frame: CGRect) {
    if image === image1 {
        ...
    } else if image === image2 {
        ...
    }
}

This might not be memory efficient as we create multiple PDFImage instances with the same settings/content, but we can easily differentiate them by their memory address, rather than with adding a whole identifier management.
Maybe I should implement an assertion mechanism if one adds the same element twice to the document tree.
This has been mentioned in another issue before.
So to answer 2.:
No, not like UITableViewCell.
I hope this clarifies my reasoning more. If I oversee something, or misunderstood, please let me know

Ok great, thank you for that illustration. That is very helpful.
I agree, I think it would be best to not alter PDFImageObject as I think this can be worked with existing public APIs.
This looks good to me, but the design issue I stumble on here is this:
How would you store image1 and image2 for access when the delegate method is called? To perform these delegate equality checks, we need the exact instance (as noted by your check for identical equality===). We wouldn't be able to distinguish between image1 and image2 as keys in a dictionary because they would be equal according to our hash  function.
This is a common use case with the UITableViewDelegate.cellForRowAtIndexPath- some sort of data structure, temporary or otherwise where information can be stored relevant to that image that can be called by a relevant key. I know we are not using the same pattern for UITableViewCell here but it follows a similar sequence - a callback when a cell or image is being created to represent that which is stored in this data structure. I guess a better example would be assigning different tags to each UITextField administered by the same UITextFieldDelegate.
Also- Is the benefit of MyImageFactory that we get identical initialization settings without having to repeat this multiple times?
Instead of the below, which would also accomplish the same result:
let image1 = PDFImage.init(image: image,
                                           caption: PDFText? = nil,
                                           size: CGSize = .zero,
                                           sizeFit: PDFImageSizeFit = .widthHeight,
                                           quality: CGFloat = 0.85,
                                           options: PDFImageOptions = [.resize, .compress],
                                           cornerRadius: CGFloat? = nil,
                                           identifier: String? = nil)
document.add(image: image1)

// add more stuff to the document
let image2 = PDFImage.init(image: image,
                                           caption: PDFText? = nil,
                                           size: CGSize = .zero,
                                           sizeFit: PDFImageSizeFit = .widthHeight,
                                           quality: CGFloat = 0.85,
                                           options: PDFImageOptions = [.resize, .compress],
                                           cornerRadius: CGFloat? = nil,
                                           identifier: String? = nil)
document.add(image: image2)

I just created a hashing example and it confirms your assumption: saving additional data in a dictionary using the PDFImage as the key won't work (unfortunately) as the hash returns the same value
class Foo: Equatable, Hashable {
    var bar: String

    init(bar: String) {
        self.bar = bar
    }

    static func == (lhs: Foo, rhs: Foo) -> Bool {
        lhs.bar == rhs.bar
    }

    func hash(into hasher: inout Hasher) {
        hasher.combine(bar)
    }
}

let foo1 = Foo(bar: "123")
let foo2 = Foo(bar: "123")

var hasher1 = Hasher()
var hasher2 = Hasher()

foo1.hash(into: &hasher1)
foo2.hash(into: &hasher2)

print(hasher1.finalize())
print(hasher2.finalize())

var dict: [Foo: String] = [:]

dict[foo1] = "Foo1"
print(dict) // prints --> [main.Foo: "Foo1"]
dict[foo2] = "Foo2"
print(dict) // prints --> [main.Foo: "Foo2"]

The Factory pattern is just something I wanted to recommend for creating the same object multiple times. It is actually kind of out of scope, because yes, yo ucould also just copy-paste it, or move it to some function. The important part, is that it is not the same object --> different addresses in the memory
About your UITableView example: the datasource method looks up the object using the given IndexPath for looking up the associated data. Basically you create an array of objects, and using the indexPath.section you directly get the object from the array.
I do have two options to propose:

The users application wraps the PDFImage on their own, with something like this:

class IdentifiablePDFImage: Equatable, Hashable {
    var id = UUID().uuidString
    var image: PDFImage

    init(image: PDFImage) {
        self.image = image
    }

    func hash(into hasher: inout Hasher) {
        hasher.combine(id)
        hasher.combine(image)
    }
}

let image1 = IdentifiablePDFImage(image: ...)
let image2 = IdentifiablePDFImage(image: ...)

let data = [
    image1: "more data here",
    image2: "different data here"
]

// in the delegate class
func generator(willBeginDrawingImage image: PDFImage, with context: CGContext, in frame: CGRect) {
    let key = x.keys.first(where: { $0.image === image })
    let additionalData = data[key]
}

Add a tag/identifier to the PDFImage superclass PDFDocumentObject so it is possible to identify the object in the delegation method. UIKit uses a integer tag, but maybe a string be suitable too.

After realizing that the same memory address suffices for === identity check, but not for hashtables/dictionaries, I would prefer 2. too. But instead of letting the framework set an id, let the user set it from the outside, as PDFDocumentObject is a public API.

I created a branch 231-generator-delegate. I added the tag interface and propagated it through the framework.
Can you please rebase your progress onto my branch? Also because I derived it from develop.
Before you do so, please review your Pull Request #241 as I reviewed it a while ago with comments

I found some issues with 231-generator-delegate I will have to fix first, will let you know soon

Alright fixed the branch, either base the changes on that one or on develop

Thanks @philprime , will do!

Hi @philprime , I apologize for the long delay here and any accompanying inconvenience. If you'd still have it, I'd love to get this feature squared away and I have the capacity now.
One path forward would be for me to replicate your changes from 231-generator-delegate on current develop, add my logic onto that and we can take another look? Happy with any other preference as well.

Hi @chrisgonzgonz time flies and it's already been a year 😄
Are you still working on this issue and the PR you opened up?

Hi @philprime , it certainly has 😄
I'd love to get this issue finished and merged. I will update the PR.

And another year has passed. 😄
To make sure your work is not lost, is it ok if I push your changes to this main repo and take over the PR?

Sure @philprime , thank you