Idea: only use hiredis reader?

Ref: https://github.com/redis-rb/redis-client/issues/133
Ref: https://github.com/redis-rb/redis-client/pull/135
Hiredis is quite a pain to bind, and it's lacking behind in SSL capabilities etc.
I don't think there is much in the hiredis IO layer that really justifies binding the entire library.
It would make sense to only bind the redisReader part, do the IO in Pure Ruby, and call redisReaderFeed + redisReaderGetReply.

Surprisingly I was also hoping that the modern version of hiredis could have at least some sane support of SSL, however, it seems to be not the case. Please note, that not only connect must be aware of SSL specific, but also closing is tricky to handle in asynchronous mode (e.g. SSL_close can return WANT_READ/WANT_WRITE that should be handled properly).
If an SSL connection is not closed properly, then OpenSSL does not put it into SSL cache, meaning that connection renegotiation will be expensive due to the full handshake.
Sometimes I think that there should be some better maintained Redis C library to be honest.


Is this project safe to adopt?

I don't want to sound disrespectful or anything, I see the commits, but the "card" being a staple of MD as it is, and not being completed in a year, raises some doubts.
The demo page referenced in the homepage is broken, also not a good sign...
What about components that are not even on the list, at least that I could see, like a date and time picker?
Thank you and be safe in these dark times.
Robert

From the top of the readme:

IMPORTANT: The Material Web Components are a work in progress and subject to major changes until 1.0 release.

For what it's worth, I'm using this code in production for my company's SaaS app. It's not perfect, and I've had to implement a lot of stuff myself. Also a bunch of hacks, and reading the source of these elements to find out what they actually do. But I really needed to get off the old polymer elements (which I've almost done!), and there's not much else out there. I've been slowly transitioning as the elements here reach a point of being less buggy than the old polymer ones.
Google lost interest after the web components spec was adopted, and left this repository abandoned for a year, which is a shame. I'm grateful to the devs who have picked this back up, and I love how lightweight these components are. I hope they reach a point of maturity soon, because that will make my life and my code base much better, but this is clearly not a top priority for them.
If you're starting a new project, I would recommend going with react just for the more mature ecosystem. If you're already in the polymer or lit-html ecosystem, then I do recommend adopting this now. Just do it gradually, and expect problems.
I think lit-html is technically superior, and has a brighter future than react if it gets some more serious backing and adoption. Again, much gratitude to the devs here for the progress they've made.
Just my 2 cents.

Hello, reiterating what abraham said, these elements are currently in alpha. More info can be found in my reply to #1080.

@rwestlund I'm sorry you feel this way. When we started the Polymer Elements we were new to web components just as any other developer since it was unexplored territory. Unfortunately the team made a bunch of mistakes with our first set and also had run into issues with maintaining such a large set of components with such a small team. When the web components v1 spec was released we continued to iterate on web components usability via spec.
Material 2.0 spec was then released and we started implementing the components, but soon after we learned that the material design team was going to implement them so we stopped working on the components. Unfortunately they had a team that did not have the same experience as the polymer team in building and maintaining an OS component set, so unfortunately they fell into the same pitfalls that we did with the Polymer Elements, so now we have gone through bureaucratic reorgs and are now working under the Material Design team to get first-class material design web components out there.
Sorry it's taking time, but we know what it was like to make mistakes building component sets and are trying not to fall into those pitfalls again. We are also working heavily to get web components to SSR with all SSR frameworks.

@e111077 Thanks for the explanation! Many of us in the community felt abandoned, but it it's good to know it was mostly a communication issue and not a lack of interest. Thanks again for all your work -- the new components really are beautifully put together :)

@rwestlund that's exactly the kind of feedback I was hoping to get. I'd love to jump on board to the beauty of materia design and a framework less approach that makes them native elements basically on par with standard html tags.
My main issues are:
If the elements are too basic and not customizable enough, then I'd end up spending more time reading their source code and modifying it myself rather than just adopting / learning a web framework, which makes one of the two biggest appeals of web components completely moot in my book. You confirmed that this fear is real
If the components are customizable, yet some extremely basic ones are missing (seen a complex form without a date picker in the past five years?), then I'd end up coupling the web components with a framework, again making one of their major benefits moot
It's Google, don't get me wrong I have the uttermost respect for its employees and I wish I was one, but the politics just mess too much with their own products, they have a habit of starting things and then make more clones and stop supporting stuff while moving on to similar (yet sometimes inferior) products for no apparent reason (the instant messaging apps is a joke of many articles of famour tech bloggers, and rightly so, just to name one)

@robertofabrizi It's definitely not at the point where it's plug and play, but if you know you want to be going this direction long-term, then don't let that stop you. You can write your own bare-bones card component in less than an hour If you only think about your own narrow use case and don't care if something's a few pixels off. Then swap it for the real one when it's ready. That's basically been my migration strategy. much of the appeal of web components for me is that they're very simple to write.
I'm using vaadin's date picker, and they have a couple other good free components as well. They're migrating from polymer to lit. I threw together a passable time picker component that uses dropdowns, etc.
Weightless has a few usable lit-based components, but it doesn't match material at all, and they're buggy and pretty much abandoned.
It could be a year before this repo is at the point where you want it to be, but I'm happy to deal with some short-term pain to avoid the long-term pain of being locked into someone's framework. Five years from now, this is what I want to be using.
If you need a beautiful and consistent UI from a plug and play library in production this year, then go somewhere else. But if it's for a personal project or you can tolerate some UI imperfections in the short term and are willing to write a few of your own components, then by all means use this.

Hello, just to chime in again. The customizability issue is still a thing we are working on. We have a theming system under development (hence alpha).
And the beauty of this reorganization is that under Material Design, we get to work a lot closer with the incredibly talented designers and engineers on the team. Though, also working under Material Design that means that we have to adhere closely to the spec and balance customizability, spec, and maintainability.
There is currently no plan for a date picker just now, but I'll make sure to bring these concerns to our following meetings though SSR has taken precedence over new components right now.
Also the card one, we'd like to know what features you'd like in #442! Implementation was teetering between simply supplying plug and play styles, or a webcomponent that is essentially just a <slot>, to several webcomponents with multiple <slot>s and more functionality, but more annoying to use IMO as it would require you to use several of our vended web components which has historically proven to be unpopular.


Move the base image to Julia 1.7.1

Summary

move the base image to julia 1.7.1 without touching the base datascience-notebook version ( still need python 3.8)

Related issue :
https://support.d4science.org/issues/22065

it builds:-)


Graph sensor data from mongodb on helgrindr

@KishPatel1996 it seems like you're currently out in front on this, but cc anyone else that should be involved. I will take the lead on supporting this side of things (@postfalk will focus on the sensor stack).

After yesterday, this is working, right?
Before closing, we should document how to set things up - either in the wiki (and I'm not sure which one is the right one...) or for setup, file issues in the glass-bead-ansible repo.

What should I write on the wikipedia?  What program I am using and such?

Exactly. Have a look at tutorials that you've found useful on the web for inspiration! Be as explicit as you can.
Also - high level stuff can be expressed per this issue: https://github.com/glass-bead-labs/sensor-group/issues/49


Author is not shown for Uploaded via Mobile tab in Explore [current master]

Summary:
In the "Uploaded via Mobile" tab of Explore, the author isn't shown for some pictures. Interestingly, after you scroll down a lot and then go back up to the top, the author isn't shown for ALL pictures.
In Media Details View, the author field is empty, too.
This does not happen for Featured images at all.

Steps to reproduce:
Go to Explore then Uploaded via Mobile tab
Device and Android version:
Samsung Galaxy S9 Android 8.1
Commons app version:
Play Store alpha (current master)

Hi
I tried to reproduce this on the current master, and all images under 'Uploaded via Mobile' tab have author names. However, 'Featured' tab does not have any author names showing under the image, though they are present in the Media Details View.

Hello,
I tried to reproduce and the featured tab is not showing the name of some authors though the author exists.

Thanks for sharing @aakankshaa23 ! Would you like to work on this?

yeah. I would love to :)

It's yours! Please keep us updated on your progress. :)

I tried to replace the setAuthorView function with direct check whether the author exists or not.
It is not repeating or disappearing the data as it is inside getView which prevents this kind of misfunctionality.
Please suggest this change

The latest PR contains the author's name shown in the featured tab. I just changed the setAuthorView with a check whether the creator exists or not and setting the author textview blank instead of GONE which solves the misfunctionality of changing author name while scrolling.
Sorry for the above closed PRs as it contained unnecessary commits.
The latest PR contains only 1 required commit :)

Hmmm. Referring to your PR, there is a bit of a problem here, as there is actually an author for https://commons.wikimedia.org/wiki/File:Paul_Cézanne_-The_Pigeon_Tower_at_Bellevue-1936.19-_Cleveland_Museum_of_Art.jpg , as you can see in the Commons page. However, because the uploader is not the artist, it probably uses a different template, which we might not have accounted for when fetching the image details. @nicolas-raoul any idea what we should do for the "Author" field in situations like that?


qustion:some questions about widgets jsx

I can't understand what's it mean?  is it mean i can't  use a dependency jsx element

can i use babel-plugin-jsx in vue components  and widgets jsx  in one project?

Hi @webmapLee, no that won't work with babel or Vue. You won't be able to mix the JSX from a custom widget built with the ArcGIS API for JavaScript with another JSX library. Our widgets are their own JSX library.


Button: Fix text and icon alignment

Hi @beatrizmartinmartins Could you please review how the button component has been implemented? https://ilo-ui-twig.netlify.app/?path=/docs/components-user-interface-button--button
It doesn't seem that padding and text/icon position is correct when compared to the designs: https://www.figma.com/design/RRxsfLNxjoypKrfJg1EwJf/ILO-Components-Library?node-id=9-5&t=aNoNHhvVvYNKs9TX-0
Could you please list here exactly what needs to be changed by the developers?

@inesdgomes basically the label needs to be inserted within a container that has a 4px top padding. This way the icon and the label look centered. Check the image attached:

@justintemps Can we do this small fix? The text inside buttons is not vertically centered. This is visible with and without icon. See comment from Beatriz above.

Hey @inesdgomes, this is currently blocked by #839. As soon as you can action that, we can do this.

@justintemps #839 is done from a design point of view.

Ok, are the icon files in Figma?


build process appears to emit bundle Edge does not understand when bundling PolymerElement

Hey Polymer tools team! Thanks as always for your work.
I am working on something where I unfortunately have to worry about the Microsoft browsers Microsoft Edge. I've been fighting a very cryptic error I get with my bundled build in Edge only, which is:
SCRIPT5022: SCRIPT5022: Expected identifier, string or number
<IP_ADDRESS>:8080 (1,1)

After a lot of work, I narrowed it down to the bundling process - an unbundled build of my application works as expected in Edge.
Upon some further bisecting, I tried to create a bundled build of a file that only consisted of:
import {PolymerElement} from<EMAIL_ADDRESS>
and found that the resulting file still emits the weird error message! So something about the bundling of PolymerElement itself is spitting out JS that Edge somehow considers invalid. (No other browsers complain about this)
I have done my best to create a bare-minimum reproduction, here: https://github.com/nickpelone/edge-problem
I will attach the steps from the repo as well:
How to reproduce:

polymer build to produce the minified bundle.
python -m http.server 8080 to start a normal webserver

This is to avoid any polymer serve rewrite magic

Go to the launched server in Microsoft Edge
See in the console that the bundle could not be understood, with the cryptic:
SCRIPT5022: SCRIPT5022: Expected identifier, string or number at source location (1,1),
which is obviously wrong.

Any tips to point me in the right direction would be greatly appreciated! In addition, if you need more information, just let me know.
PS: Just did this as I finished writing this up, but I tested with minification disabled (still with bundling enabled) and the resulting (more readable by humans) bundle still throws the same error in Edge.

Hi, we just spent several days banging our heads on the same problem, and finally found a workaround (for our application).
We solved this issue on Edge by simply deleting the import.meta call inside the built js file.
This two row have been added by Polymer build:
const bundledImportMeta={...import.meta,url:new URL('../../node_modules/%40polymer/polymer/lib/mixins/element-mixin.js',import.meta.url).href};
const bundledImportMeta$1={...import.meta,url:new URL('../../node_modules/%40polymer/polymer/lib/legacy/legacy-element-mixin.js',import.meta.url).href};
They break Edge. The const is not called anywhere, so we just deleted the two rows. Our application works perfectly on Edge afterwards, and continues to do so on CHrome & Firefox. We have a grunt task to do this automatically after each build, so it's no issue.


Code format and custom debug function

Added the log.Logger to options as requested

Thanks @AdminXVII .


virtctl: credentials: Fix loading SSH key from a file

What this PR does / why we need it:
When reading from a file, a newline was incorrectly left at the end.
Release note:
None

Thanks for the PR! One quick comment, in the PR description could you also add a description of the changes you made in your first commit? Alternatively, I wonder if it would make more sense to separate this into two PRs as it seems like you are accomplishing two different things with this PR. WDYT?

/retest

Thanks for the PR! One quick comment, in the PR description could you also add a description of the changes you made in your first commit? Alternatively, I wonder if it would make more sense to separate this into two PRs as it seems like you are accomplishing two different things with this PR. WDYT?

Done. The first commit is just a small refactoring. I think separating it into a new PR is not necessary.

Can you explain the benefit of the change to []byte? Otherwise lgtm but please add tests.

I've removed the change, it was not needed.

This was fixed elsewhere in PR: https://github.com/kubevirt/kubevirt/pull/10112
/close


TSX does not have a standardized language ID

According to #213, the language ID list has started with the list from VSCode. However, while the latter has been updated, the former has been not. On example is TSX, which has the ID typescriptreact in VSCode, which is nowhere to be found in the spec. Using this ID with e.g. typescript-language-server produces correct results.

Added react for JS and TS


Config changes to reflect the default branch from master to main. Please merge to complete the default branch renaming job.

Auto branch renaming content.

Docs Build status updates of commit 06e6e3e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


New externs, in the npm folder.

Here are a bunch of externs I've written for various projects. I'd like to add them to a central repo.
I've used the 'js.npm' package instead of the 'js.node' as per a previous discussion on the mailing list.

Also, I don't think it makes sense to have separate folders for extern files that are a single file.

Can we be 100% certain that they remain single file in the future? It might be safer to use directories for that reason alone otherwise.

We can't be 100%, but it's pretty unlikely a given npm project will suddenly increase its complexity to require multiple files.
Honestly I really dislike folders with a single file as a default, because it is extra work for nothing, and extra code (longer packages). If the any of those become more complex, then the extra refactor required for the longer package name will likely be the smallest concern of a refactor of that magnitude.

Externs for different lib should be in a different package. It is because it is very likely to have multiple libs define types of the same name. Name conflicts happen when types of the same name exist in the same package, even if they are in different files (modules).

Closing, new pull request with fixed package names.


field arrays

See https://github.com/rust-embedded/svd2rust/pull/400

We should probably delete that mmap script; the makefile uses svd mmap from svdtools.

Requires https://github.com/stm32-rs/svdtools/pull/66

cc @adamgreig Oldest PR finally passes CI.

cc @newAM review, please

FYI this has merge conflicts now after the OTG PR.

replaced with #924


DB Server Connection Other than localhost

I am having common postgre server
I have changed  config/local.js to below
Scenario 1
models: {
connection: process.env.DB_ADAPTER || 'postgres',
},
as well as (scenario2)
models: {
connection: 'postgresql://konga:konga@<IP_ADDRESS>:5432/konga',
},
But "npm start" fails to conenct to db. My KONG is working fine with that external DB(with seperate username password and database)
Can any one enlighten me? am i missing something

Sorry, I figure it out

Hi @jayaruvan ,
the actuall connections settings are defined here /config/connections.js.
As you can see in the postgres block, you will need to define your db's connection settings in the environment variables DB_HOST,DB_PORT etc...

postgres: {
    adapter: 'sails-postgresql',
    host: process.env.DB_HOST || 'localhost',
    user:  process.env.DB_USER || 'postgres',
    password: process.env.DB_PASSWORD || 'admin1!',
    port: process.env.DB_PORT || 5432,
    database: process.env.DB_DATABASE ||'konga_database',
    poolSize: process.env.DB_POOLSIZE || 10,
    ssl: process.env.DB_SSL ? true : false // If set, assume it's true
  }

`
You can also define the DB_ADAPTER= 'postgres' so that you don't change anything in local.js.
To make it short, you just need to start the app with all the needed environment variables defined
DB_ADAPTER=postgres
DB_HOST=<your_db_host>
DB_PORT= <your_db_port>
DB_USER=<your_db_user>
DB_PASSWORD=<your_db_pass>
DB_DATABASE=konga_database (or whatever you want to call it)
DB_POOLSIZE=10
DB_SSL=1 (Only if you connect to you db securely)

Thank you!!


_parse_errors_total" counter and exception for united namespaces (reopen)

Is your feature request related to a problem? Please describe.
When one of namespaces have errors by some reason (wrong format, not accessible logfile, etc) exporter drop exception like "parse_errors_total was collected previous" (not literally)
(reopen for #212 )
Describe the solution you'd like
Do conjuction of parse_errors_total metrics in united namespace and increase metric gauge
Describe alternatives you've considered
Maybe add namespace_label for parse_errors_total metric for possible separate broken namespace configs
Sample:
listen:
  port: 9040
  address: <IP_ADDRESS>
  metrics_endpoint: "/metrics"

namespaces:
  - name: 'domain'
    format: '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for" req_t=$request_time up_con_t="$upstream_connect_time" up_head_t="$upstream_header_time" up_resp_t="$upstream_response_time"'
    source:
      files:
       - '/var/log/nginx/domain.access.log'
    metrics_override:
      prefix: ""
      namespace_label: "domain"
    labels:
      environment: "production"
    histogram_buckets: [.005, .01, .025, .05, .1, .25, .5, 1, 2.5, 5, 10]
  - name: 'domain_api'
    format: '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for" req_t=$request_time up_con_t="$upstream_connect_time" up_head_t="$upstream_header_time" up_resp_t="$upstream_response_time"'
    source:
      files:
       - '/var/log/nginx/domain-api.local.access.log'
    metrics_override:
      prefix: ""
      namespace_label: "domain-api.local"
    labels:
      environment: "production"
    histogram_buckets: [.005, .01, .025, .05, .1, .25, .5, 1, 2.5, 5, 10]

Output:
An error has occurred while serving metrics:

collected metric "parse_errors_total" { counter:<value:0 > } was collected before with the same name and label values

Apologies for the late response. This should not have gotten stale. I'll investigate shortly.

I've had a look at your configuration file and found a few issues that in combination will most likely be causing this effect.

The namespace_label property needs to be defined on the root level of each namespace, and not under metrics_override. Either a namespace_label or a metrics_override.prefix needs to be set, otherwise the exporter will publish multiple time series with the exact same names and labels (which leads to the exact "collected metric blabla was collected before with the same name and label values" error).
So, instead of...
    metrics_override:
      prefix: ""
      namespace_label: "domain"

please try
    namespace_label: "domain"
    metrics_override:
      prefix: ""

Also, the namespace_label is supposed to contain the name of the label in which the namespace name (so, just name) should be saved. In your case, the exporter will try to use domain-api.local as a label name, which is not a valid label name for Prometheus. Best just use something like "namespace", "vhost" or "app" as label name.

Hope that helps.


Clean exit

Currently we always exit with a libuv assertion. This because loop destruction happens after Node.js wants us to -> fix this by adding some kind of explicit Loop::free wrapper.

This is a bug in uSockets libuv us_loop_free

This requires a bigger refactor.
The concept of "default loop" needs to be removed, and introduced the concept of "alien loop" rather. Something that cannot be owned but only borrowed.
Loop::defaultLoop() is a bad name, make it Loop::get()
Add Loop::wrap(void *nativeLoop) and Loop::unwrap(void *nativeLoop) which are only called by the Node.js addon.
Then, in 'beforeExit' of Node.js a manual call to Loop::unwrap needs to be made, and from that point you cannot use the library anymore.
In all other cases, when the loop is fully owned by the library (the standard case for stand alone) things are simpler.

us_create_loop and us_loop_free have to know if they own the loop fully, and if not it cannot really delete the loop only tear down what it added to it, strip it down

Loop::defaultLoop()->free() cannot be called std::atexit if we do not own it. That needs to be manually done with Loop::unwrap in that case. Only implicitly created, fully owned, loops can be implicitly free'd


doc: auto-generate asserts and attrset library docs

Marking this draft because I haven't had a chance to do the side-by-side diff of the manual output yet.
Motivation for this change
RFC 72
If all the docs are auto-generated, it should be easier to convert
them to Commonmark.
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes

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

[ ] Fits CONTRIBUTING.md.

The documentation of the function arguments needs to be moved into the library files.

Rebased (simple) and looked at the diff. Great to remove this duplication between docs and sources, as it looks like they indeed diverged ;).
Main things I noticed:

backticks instead of <code class="literal">
no "Located at...."
no link anchor

* backticks instead of `<code class="literal">`
* no link anchor

(perhaps those are not so important since #108063 fixes those again anyway)

* no "Located at...."

#108063 doesn't have these, and they're nice, but perhaps an acceptable loss to not have these until we re-introduce them there.

@ryantm could you rebase this, it seems these are the only two sections left for migration. I will take time to review.

@ryantm @raboof @infinisil I updated all the inline comments. Please take a look. At some points I re-added arguments where functions were merely aliases, otherwise we would have lost information.

Went ahead and committed my suggestions. If it looks good to you @fricklerhandwerk I can squash and merge this PR

Thanks! Please do.


how to show the pdf in the swift view

Hi, please give a description on what you are asking for and what your current code is

  I want to show the table in pdf in view controller before printing it,

and how can i add image to header and footer of the pdf page
    let table = PDFTable()

            let str = String(format: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.")
            let str1 = String(format: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. \nLorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. \n\nIt has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. ")

            do {

               try table.generateCells(
                    data:[
                        [NSLocalizedString("ClientName", comment: ""), NSLocalizedString("Evaluation", comment: ""), NSLocalizedString("NoOfEvaluations", comment: "")],
                        ["project.name" + "\n" +  "project.address1", UIImage(named: "pdfMarker")!, str],
                        ["project.name" + "\n" +  "project.address1", UIImage(named: "pdfMarker")!, str1]
                    ],
                    alignments: [
                        [.topLeft, .top, .top],
                        [.topLeft, .top, .top],
                        [.topLeft, .top, .top]
               ])

                } catch PDFError.tableContentInvalid(let value) {
                    // In case invalid input is provided, this error will be thrown.

                    print("This type of object is not supported as table content: " + String(describing: (type(of: value))))
                } catch {
                    // General error handling in case something goes wrong.

                    print("Error while creating table: " + error.localizedDescription)
                }

    table.widths = [
               0.23, 0.30, 0.47
           ]

        let style = PDFTableStyleDefaults.simple
    table.style = style

    do {
        // Style each cell individually
        try table.setCellStyle(row: 1, column: 0, style: PDFTableCellStyle(colors: (fill: UIColor.lightGray, text: UIColor.black)))
        try table.setCellStyle(row: 1, column: 1, style: PDFTableCellStyle(colors: (fill: UIColor.lightGray, text: UIColor.black)))
        try table.setCellStyle(row: 1, column: 2, style: PDFTableCellStyle(colors: (fill: UIColor.lightGray, text: UIColor.black)))
        try table.setCellStyle(row: 2, column: 0, style: PDFTableCellStyle(colors: (fill: UIColor.lightGray, text: UIColor.black)))
        try table.setCellStyle(row: 2, column: 1, style: PDFTableCellStyle(colors: (fill: UIColor.lightGray, text: UIColor.black)))
        try table.setCellStyle(row: 2, column: 2, style: PDFTableCellStyle(colors: (fill: UIColor.lightGray, text: UIColor.black)))
    } catch PDFError.tableIndexOutOfBounds(let index, let length){
        // In case the index is out of bounds

        print("Requested cell is out of bounds! \(index) / \(length)")
    } catch {
        // General error handling in case something goes wrong.

        print("Error while setting cell style: " + error.localizedDescription)
    }
    table.padding = 1.0
    table.margin = 2.0

    table.showHeadersOnEveryPage = true

    let document1 = PDFDocument(format: .a4)

    document1.add(table: table)

ad this for the header of page

add this for the footer of page

One option is using a a UIWebView (checkout the example):
@IBOutlet weak var webView: UIWebView!
[...]
let url = try generator.generateURL(filename: "Example.pdf")
// Load PDF into a webview from the temporary file
self.webView.loadRequest(URLRequest(url: url))

Another (newer) approach is using PDFKit:
https://developer.apple.com/documentation/pdfkit

thanx a lot


Console Log - Make it optional

I suggest you add parameter to init method where the user can specify if he wants to have logs or not.
At this moment everything i do a getObject(), i get the details on Log console which is kind of annoying if I use other log messages between.

Fixed


Failed to spawn bolt shell  Worker.postMessage: The WebAssembly.Memory object cannot be serialized. The Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy HTTP headers can be used to enable this.

Describe the bug
I get this message running production or development. I had this fixed in a previous build but it's back. I'm running on a Debian 12 VM on Proxmox and I need to expose it to a lan ip. This does NOT happen on localhost but it always happens via lan access.
Link to the Bolt URL that caused the error
<IP_ADDRESS>:8788
Steps to reproduce

pnpm run start (or dev --host) (unix start script has --ip <IP_ADDRESS> and --port 8788; starts and exposed with no errors
access via lan (any browser)
PROMPT: make hello world in python
Error on terminal window as indicated

Expected behavior
code appears streaming into terminal
Screen Recording / Screenshot

Platform

OS: [e.g. macOS, Windows, Linux]
Browser: [e.g. Chrome, Safari, Firefox]
Version: [e.g. 91.1]
Debian 12 Linux VN on Proxmox 8.3

Provider Used
No response
Model Used
No response
Additional context
No response

I just deployed mine with Cloudflare pages and it took care of all of this.
As a note, I would set it up through Cloudflare Pages first and point to your git repo so that new commits/push will trigger "Pages" to be updated. Problem is Bolt.New doesn't support encrypted "Secrets", so you actually have to deploy an additional time using Wrangler (wrangler.toml). Add your API keys to it and they will publish to Cloudflare in clear text (but secured behind them). Then the app can use the keys (there's no way to add clear text "Secrets" directly to Cloudflare, so this is a "workaround").
Then you will have everything working. Next time you push changes with Git, the project will automatically "build", so you no longer have to do that or use Wrangler.
Hope that makes sense. No one helped me and it was a bit to troubleshoot. Plus, I wouldn't host it directly from your network and whatnot.

Good news: After aping the problem to Claude for over 2 hours I got a resolution. It's below.
Note my prerequisistes: I'm running on a VM on proxmox (doesn't really matter EXCEPT I have to expose the service by editing package.json and changing the unix start command (I'm using npm run start not dev or anything) as shown (adding ip and port):

THEN the fun begins.
Here's Claude's summary of exactly what we did. The nginx config was hte point where everything suddenly worked after accommodating WebContainers:
Here's a generic setup guide for getting WebContainers working with OttoDev (a bolt.new fork) on Debian 12:
Prerequisites:

Debian 12 VM
Node.js and npm installed
Local DNS server (like FortiGate) where you can add local DNS records
A local domain for development (we'll use example.local in this guide)
Chrome browser on a client machine

Local DNS Setup

Create a DNS database for your local domain (example.local)
Add A record pointing to your VM's internal IP
Enable DNS service on the internal interface
Test local DNS resolution

SSL Certificate Setup
# Create directory for CA
sudo mkdir -p /etc/ssl/CA
cd /etc/ssl/CA

# Generate private key for root CA
sudo openssl genrsa -out rootCA.key 4096

# Create root certificate
sudo openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.crt \
-subj "/C=US/ST=State/L=City/O=Organization/CN=Local Development CA"

# Generate private key for server
sudo openssl genrsa -out /etc/ssl/private/nginx-selfsigned.key 2048

# Create Certificate Signing Request (CSR)
sudo openssl req -new -key /etc/ssl/private/nginx-selfsigned.key \
-out server.csr \
-subj "/CN=dev.example.local"

# Create SAN config file
echo "subjectAltName=DNS:dev.example.local" | sudo tee server.ext

# Sign the certificate
sudo openssl x509 -req -in server.csr \
-CA rootCA.crt -CAkey rootCA.key -CAcreateserial \
-out /etc/ssl/certs/nginx-selfsigned.crt \
-days 365 -sha256 -extfile server.ext

Install and Configure Nginx
sudo apt install nginx
sudo nano /etc/nginx/sites-available/ottodev

Critical Nginx configuration for WebContainer support:
server {
    listen 443 ssl;
    server_name dev.example.local;

    ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
    ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;

    # Set these headers at server level - CRITICAL for WebContainers
    add_header Cross-Origin-Embedder-Policy "require-corp" always;
    add_header Cross-Origin-Opener-Policy "same-origin" always;

    location / {
        proxy_pass http://localhost:8788;  # Default OttoDev port
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # Enable WebSocket support - CRITICAL for WebContainers
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_read_timeout 86400;

        # Allow CORS for WebContainer resources
        if ($request_method = 'OPTIONS') {
            add_header 'Access-Control-Allow-Origin' '*' always;
            add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
            add_header 'Access-Control-Allow-Headers' '*' always;
            add_header 'Access-Control-Max-Age' 1728000 always;
            return 204;
        }

        add_header 'Access-Control-Allow-Origin' '*' always;
    }

    # Handle WebContainer static resources
    location ~ \.(js|css|wasm)$ {
        proxy_pass http://localhost:8788;
        proxy_set_header Host $host;
        add_header Cross-Origin-Embedder-Policy "require-corp" always;
        add_header Cross-Origin-Opener-Policy "same-origin" always;
        add_header 'Access-Control-Allow-Origin' '*' always;
    }
}

server {
    listen 80;
    server_name dev.example.local;
    return 301 https://$server_name$request_uri;
}

Enable and Start Nginx
sudo ln -s /etc/nginx/sites-available/ottodev /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default  # Remove default site if it exists
sudo nginx -t
sudo systemctl start nginx
sudo systemctl enable nginx

Import Root CA in Chrome

Copy /etc/ssl/CA/rootCA.crt to your client machine
In Chrome:

Settings > Privacy and security > Security > Manage certificates
Import to "Trusted Root Certification Authorities"
Restart Chrome

Start OttoDev

Navigate to your OttoDev directory
Start the service (check your specific start command)
Access via https://dev.example.local

Critical Components for WebContainer Success:

Valid SSL setup (self-signed works but must be properly trusted)
Security headers (COEP, COOP)
WebSocket support
CORS configuration
Specific handling of static resources

Common Issues:

HSTS errors in Chrome: Clear Chrome's HSTS cache if needed
Certificate trust issues: Ensure root CA is properly imported
WebContainer errors: Check all security headers are being sent
Connection issues: Verify WebSocket configuration

Remember to replace example.local with your actual local domain, and adjust the port number (8788) if your OttoDev instance uses a different port.
I hope someone with more coding capability will absorb this and either document it better or assimilate its requirements into this project.
Thanks!

i am also experinceing same error, how did u fix it

I just posted my resolution.

do i have to use nginx. I currently do not make use of Nginx, just docker

do i have to use nginx. I currently do not make use of Nginx, just docker

Well, no, but you have to get your http traffic secure and verified. There are certainly several different ways to do that, but the kicker is making sure that you meet the stringent requirements of WebContainers. That's where the real dependency is, and that's central to the Bolt.new/oTToDev architecture.

I simply just want to run it locally. I will try the one solution u gave
and hope it works
On Sun, 8 Dec 2024, 21:42 glamberson, @.***> wrote:

do i have to use nginx. I currently do not make use of Nginx, just docker
Well, no, but you have to get your http traffic secure and verified. There
are certainly several different ways to do that, but the kicker is making
sure that you meet the stringent requirements of WebContainers. That's
where the real dependency is, and that's central to the Bolt.new/oTToDev
architecture.
—
Reply to this email directly, view it on GitHub
https://github.com/coleam00/bolt.new-any-llm/issues/540#issuecomment-2526372317,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APJDTOZKBZOBJJYJ6HANNQT2ESVMJAVCNFSM6AAAAABTBGA36OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMRWGM3TEMZRG4
.
You are receiving this because you commented.Message ID: <coleam00/bolt.
@.***>

please do u have a step by step guide, the soution u provided is missing a lot of steps

please do u have a step by step guide, the soution u provided is missing a lot of steps

Actually, unfortunately, this is step by step from my starting point and environment. I'm sure your case is slightly different, so various aspects of this may be different or may not apply.
If you want to explain your exact setup and what's happening maybe I can help.

do i have to use nginx. I currently do not make use of Nginx, just docker

Here is what Claude says about other setups. It's those WebContainers requirements that are key:
If someone doesn't want to use Nginx to set up this environment, they can achieve a similar setup using other tools or frameworks. Here are some alternatives:

1. Apache HTTP Server
Apache is another widely-used web server that can be configured for reverse proxying, SSL, and WebSocket support. Key points include:

Modules Required:

mod_proxy and mod_proxy_http for reverse proxying.
mod_ssl for SSL/TLS support.
mod_headers for setting headers.
mod_proxy_wstunnel for WebSocket support.

Example Configuration:
<VirtualHost *:443>
    ServerName dev.example.local

    SSLEngine on
    SSLCertificateFile "/etc/ssl/certs/apache-selfsigned.crt"
    SSLCertificateKeyFile "/etc/ssl/private/apache-selfsigned.key"

    # Headers for WebContainers
    Header always set Cross-Origin-Embedder-Policy "require-corp"
    Header always set Cross-Origin-Opener-Policy "same-origin"

    ProxyPreserveHost On
    ProxyPass / http://localhost:8788/
    ProxyPassReverse / http://localhost:8788/

    # WebSocket support
    RewriteEngine On
    RewriteCond %{HTTP:Upgrade} =websocket [NC]
    RewriteRule /(.*) ws://localhost:8788/$1 [P,L]
    RewriteCond %{HTTP:Upgrade} !=websocket [NC]
    RewriteRule /(.*) http://localhost:8788/$1 [P,L]

    # CORS for WebContainers
    <If "%{REQUEST_METHOD} == 'OPTIONS'">
        Header always set Access-Control-Allow-Origin "*"
        Header always set Access-Control-Allow-Methods "GET, POST, OPTIONS"
        Header always set Access-Control-Allow-Headers "*"
        Header always set Access-Control-Max-Age "1728000"
        Require all granted
    </If>

    Header always set Access-Control-Allow-Origin "*"
</VirtualHost>

<VirtualHost *:80>
    ServerName dev.example.local
    Redirect permanent / https://dev.example.local/
</VirtualHost>

2. Caddy
Caddy is a modern, user-friendly web server with automatic HTTPS and easy configuration.

Advantages:

Built-in SSL support with automatic certificate generation.
Simplified configuration syntax.
First-class support for reverse proxying and WebSocket connections.

Example Configuration:
dev.example.local {
    reverse_proxy localhost:8788 {
        header_up Host {host}
        header_up X-Real-IP {remote}
        header_up X-Forwarded-For {remote}
        header_up X-Forwarded-Proto {scheme}
    }

    # WebSocket support
    reverse_proxy localhost:8788 {
        header_up Connection "upgrade"
        header_up Upgrade {http.request.header.Upgrade}
    }

    # Headers for WebContainers
    header {
        Cross-Origin-Embedder-Policy "require-corp"
        Cross-Origin-Opener-Policy "same-origin"
        Access-Control-Allow-Origin "*"
    }

    tls /etc/ssl/certs/caddy-selfsigned.crt /etc/ssl/private/caddy-selfsigned.key
}

http://dev.example.local {
    redir https://dev.example.local{uri}
}

3. HAProxy
HAProxy is a powerful, high-performance reverse proxy often used in enterprise environments.

Advantages:

Lightweight and efficient.
Excellent for handling WebSockets and HTTPS.
Flexible configuration.

Example Configuration:
frontend https
    bind *:443 ssl crt /etc/ssl/private/haproxy.pem
    acl is_websocket hdr(Upgrade) -i WebSocket
    use_backend websocket_backend if is_websocket
    default_backend app_backend

    http-response add-header Cross-Origin-Embedder-Policy "require-corp"
    http-response add-header Cross-Origin-Opener-Policy "same-origin"
    http-response add-header Access-Control-Allow-Origin "*"

backend app_backend
    server app localhost:8788

backend websocket_backend
    option http-server-close
    option forwardfor
    server websocket localhost:8788

frontend http
    bind *:80
    redirect scheme https

4. Node.js with Express.js
You can use Node.js with an Express.js-based server to handle reverse proxying, headers, and WebSocket support.

Advantages:

Full control over request handling.
Ideal for development environments.
No additional software required.

Example Code:
const express = require('express');
const { createProxyMiddleware } = require('http-proxy-middleware');
const https = require('https');
const fs = require('fs');

const app = express();

// SSL Setup
const sslOptions = {
    key: fs.readFileSync('/etc/ssl/private/nginx-selfsigned.key'),
    cert: fs.readFileSync('/etc/ssl/certs/nginx-selfsigned.crt'),
};

// Middleware for CORS
app.use((req, res, next) => {
    res.setHeader('Cross-Origin-Embedder-Policy', 'require-corp');
    res.setHeader('Cross-Origin-Opener-Policy', 'same-origin');
    res.setHeader('Access-Control-Allow-Origin', '*');
    next();
});

// Proxy requests to OttoDev
app.use(
    '/',
    createProxyMiddleware({
        target: 'http://localhost:8788',
        changeOrigin: true,
        ws: true, // WebSocket support
    })
);

// Start HTTPS server
https.createServer(sslOptions, app).listen(443, () => {
    console.log('Server running on https://dev.example.local');
});

// Redirect HTTP to HTTPS
const httpApp = express();
httpApp.all('*', (req, res) => {
    res.redirect(`https://dev.example.local${req.url}`);
});
httpApp.listen(80);

5. Traefik
Traefik is a modern reverse proxy with dynamic configuration and Docker integration.

Advantages:

Native support for containerized environments.
Automatic SSL certificate management.

Example Configuration:
entryPoints:
  web:
    address: ":80"
  websecure:
    address: ":443"

http:
  routers:
    web:
      entryPoints:
        - web
      rule: "Host(`dev.example.local`)"
      service: websecure@file
      middlewares:
        - https-redirect
    websecure:
      entryPoints:
        - websecure
      rule: "Host(`dev.example.local`)"
      service: app
      middlewares:
        - headers

  middlewares:
    headers:
      headers:
        customResponseHeaders:
          Cross-Origin-Embedder-Policy: "require-corp"
          Cross-Origin-Opener-Policy: "same-origin"
          Access-Control-Allow-Origin: "*"
    https-redirect:
      redirectScheme:
        scheme: https

  services:
    app:
      loadBalancer:
        servers:
          - url: "http://localhost:8788"

Choosing the Right Tool

Ease of Use: Caddy or Apache.
Performance: Nginx or HAProxy.
Customization: Node.js or Traefik.
Containerized Environments: Traefik.

Each option requires different levels of expertise and configuration but can replicate the features in your Nginx setup.

i am using ubuntu 24, i have a system with a static ip. i want to run bolt and access it using the ip address, i ran bolt on my server and port forwarder 5173 on my router so that i can use the routers ip address to access blot.  every thing works but when it gets to using bolt ong my api, it throws  worker.postMessage error in the terminal and everything keeps loading

this is from firefox,

please can u explain this, how did u go about this.
Highlight the steps u did and the tools so i can setup local DNS and continue with step 2
Local DNS Setup
Create a DNS database for your local domain (example.local)
Add A record pointing to your VM's internal IP
Enable DNS service on the internal interface
Test local DNS resolution

hello @glamberson

Another option I got working, which is a bit insecure, is using Grok. A lot easier to setup than certs and a web server.

Start Bolt (I use Docker)
Open another terminal
Sign up at NGrok, login
Find section "Your Auth Token", click "Show Auth Token"

pnpm install -g ngrok
ngrok config add-authtoken <YOUR_AUTHTOKEN>
ngrok http 5173

Now use the HTTPS URL they give you to access Bolt. :)

Another option I got working, which is a bit insecure, is using Grok. A lot easier to setup than certs and a web server.

Start Bolt (I use Docker)
Open another terminal
Sign up at NGrok, login
Find section "Your Auth Token", click "Show Auth Token"

pnpm install -g ngrok
ngrok config add-authtoken <YOUR_AUTHTOKEN>
ngrok http 5173

Now use the HTTPS URL they give you to access Bolt. :)

than you so much. this worked
But its a bit slow, i am making use of Deepseek ap. Do u think thats why it is slow

ngrok latency is why it's slow, shared service and has to pass all through it. Not ideal for speed at all. But I wanted to prove I wasn't insane trying to get local SSL certs to work. ;)

I've managed to fix my 0.0.3 version running on a Ubuntu 24 LXC on promox this way:

Run without docker
pnpm run dev --host
Setup Nginx host:

Got rid of the postMessage error. Now I'm getting a new one. Any ideas?
Running pnpm run dev --host


Link to level-design video is broken

On https://github.com/codecombat/codecombat/wiki/Artisan-Home it links to a video about level design, but when you follow the link, youtube says 'this video is unavailable'.

Removed the broken video. Thanks for reporting! @Bryukh is there an alternative video for the broken youtube video? Or should we just stick with the vimeo one?

We don't have an alternative video


feat: refactored coordinators for minimum version check

DCMAW-7425: iOS | User sees 'You need to update...' page when app doesn't meet minimum app version
DCMAW-9866: iOS | Add logic to show the screen where we have those TODO's and then test cases for each one
This PR is intended, among other things, as a refactor of the app flow from app boot and bringing the app to the foreground from the background.
Code comments are included in an attempt to describe the aims of the changes.
At a high level the refactor includes implementing a QualifyingCoordinator which will be responsible for qualifying firstly the app and then user before dismissing the unlock screen.
The ideal here is a broken out flow which doesn't operate is quite such a linear manner; LoginCoordinator presented modally over the MainCoordinator. The thinking here is that the QualifyingCoordinator can act as a coordinator which judges state and navigates the journey of the app based on such.
https://github.com/user-attachments/assets/3fe2dbd0-cf19-49d8-8e11-0f686324be24
https://github.com/user-attachments/assets/94ab2c74-fdf5-427e-a6ea-9e16629cddb3
https://github.com/user-attachments/assets/f901a25a-15ae-45a4-94c5-3ff6d98a1542
https://github.com/user-attachments/assets/c97f8b10-0af0-434a-8349-c5b3e6bffef2
Checklist
Before raising your pull request:

[x] Commit messages that conform to conventional commit messages
[x] Ran the app locally ensuring it builds
[x] Ran the tests locally ensuring they pass on Build
[x] Pull request has a clear title with a short description about the feature or update
[x] Created a draft pull request if it is not yet ready for review

Before your pull request can be reviewed:

[ ] Met all of the acceptance criteria specified in the user story on Jira

[x] Reviewed your own code to ensure you are following the style guidelines

[ ] Ran the app and tested the feature on a range of device sizes
Please include iPod Touch, iPhone SE and iPhone 11 as a minimum.

[x] Written Unit and Integration tests if needed

[x] Met all accessibility requirements?

[x] Checked dynamic type sizes are applied
[x] Checked VoiceOver can navigate your new code
[x] Checked a user can navigate only using a keyboard around your new code

Before merging your pull request:

[ ] Ensure that the code coverage and SonarCloud checks have passed
[ ] Actioned and resolved all comments, reaching out to reviewers for clarifications if necessary.
[ ] Ran the app to ensure that no regressions have been caused by changes during code review.

QA Approved ✅


Strange timing behavior of seal evaluator ?

Hi, when testing simple summation, I found a strange timing behavior. In this very simple seal code, the time doing squared sum (t2) run faster than only summation of x (t1), and changing the order makes no difference. Could anyone explain why ?

After the squaring you rescale, which reduced the number of moduli to represent the polynomials. Hence operations are slightly faster.

Thank you!


The selected file is either invalid or corrupted. Please check the file and try again.

Before I exported the data file then I restore data from it, but error. Please check this bug!
Altair Version 2.4.13 (<IP_ADDRESS>61)

Hey @john-techfox, I just tested importing an exported data file and it works as expected. Are you sure you were restoring a valid file? If possible, could you share the file?
Note: the expected behavior is that Altair would restart immediately you select the file to restore with the data restored.

Hi @imolorhe , thanks for your support
Here is data file export from altair. How can i send the file ?

Hi @imolorhe , thanks for your support
Here is data file export from altair. How can i send the file ?

You can make a zip containing it

@john-techfox Note: only share the file if you're comfortable that it doesn't contain sensitive information. If you're not confident about that, then check a couple of things about the file:

it's content must be a valid JSON string (using JSON.parse(fs.readFileSync(filePath, 'utf8')) should be able to help here)
the decoded JS object must have a version property set to 1
There must be a localstore.altair__debug_current_version property specifying the version of Altair at the time the file was exported.

Hi,
I have the same problem, any update about it ?
I only export Data and restore, and it doesn't work with the same message.

@arsenikstiger Can you share the exported data? Or could you check the things I mentioned above as well?

@imolorhe
I can't share the data, so I checked what was into this agbkp file :

version: 1
in localstore, I have no localstore.altair__debug_current_version property

I edited the file by adding this property with value of 1, and restore works.
It means a fix must be done on the backup feature.
Last thing, the file stores too many data, like results of queries.
I think it's a bad practice and has nothing to do in a backup file.
Otherwise this app is great :)

@arsenikstiger Thanks for that information. That is quite useful. Can you tell me what the actual current version of Altair you are using is? Trying to figure out why it wouldn't have the version in the backup file.
Also about the too much data, why do you say it's a bad practice? The backup allows you restore your previous working session and environment. This also includes things like headers and environments.
Btw thanks for using the app!

The bad practice i was talking about :

storing the results of queries

I'm not talking about configuration or context, but json results of queries.
That's nor working session nor environment, imho.

Altair doesn't only work with GraphQL servers. You can load local schema files directly into Altair to view the docs within Altair. This is the same graphql definitions you would normally receive from a remote server. I also display a the last updated time in the docs, so you have an idea of how stale the schema definitions are.

ok, I understand the use case 👍

The underlying issue here should be fixed now.


Throws error: The browser is downloading - this may take some time.

After patiently waiting for downloading to complete, we got the below error. Node version 16.
The browser is downloading - this may take some time.
C:\Users\bfwg\Desktop\bablosoft\node_modules\bas-remote-node\src\services\engine.js:114
          throw new Error(`Unable to start engine process (code: ${error.code})\n${INVALID_ENGINE_ERROR}`);
          ^

Error: Unable to start engine process (code:<PHONE_NUMBER>)
This could be due to the fact that the engine was not downloaded or unpacked correctly.
Try completely deleting the engine folder and restarting the code until it completes.
If this does not help, open an issue with a detailed description of the problem.
    at C:\Users\bfwg\Desktop\bablosoft\node_modules\bas-remote-node\src\services\engine.js:114:17
    at ChildProcess.exithandler (node:child_process:410:5)
    at ChildProcess.emit (node:events:513:28)
    at maybeClose (node:internal/child_process:1100:16)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:304:5)
    ```

Latest update screws old engine files

Please refer to:
https://github.com/CheshireCaat/puppeteer-with-fingerprints/issues/61
https://github.com/CheshireCaat/puppeteer-with-fingerprints/issues/71
https://github.com/CheshireCaat/puppeteer-with-fingerprints/issues/6


Move notifications to the bottom

Notifications pop-up appears on the top of the page, blocking access to buttons until closed.

It's especially annoying on mobile.

You're right :)
I moved the notifications at the bottom, thanks!


findInCircle(x, y, radius, filter)

closes #30
supersedes #18
includes #19
Notes:

some ES6 syntax, this is for the two branch
I wonder if we should not name it differently: maybe quadtree.inRadius(x,y,radius,filter)?

I've closed this PR because I felt the code would be more useful as an example of how to use quadtree.visit (and help people be less shy about using and extending this), rather than as another method added to the API. If people start using it en masse, it might change, but in the meantime what we probably need to do is to link to examples and show that quadtree.visit is not as intimidating as it might seem.


Issues with Mechanic Drone

When creating a mechanic drone, it doesn't appear that drone special abilities show up automatically. When added manually as feats they count against the total. For example:
Basic mods, limited AI, master control, skill unit, Expert AI, Upgraded power core, etc.
Another drone issue, is adding Weapon Fusions. This does not seem to work on drones (works fine on normal characters), when adding a fusion nothing happens, it does not show up under the weapon.

Closed as part of old issue cleanup. If you believe this issue hasn't yet been addressed, please re-open it and leave a new comment.
https://github.com/foundryvtt-starfinder/foundryvtt-starfinder/discussions/1148


Highlighting doesn't always work

When using the 'Object Pascal.json' highlighting and 'Default.json' colors, the following text only shows the top line as a comment and doesn't set the colour for the embedded comment:
(* test comment *)
procedure (* test comment *) hello;
begin
end;

Horrible place to set a comment. :) Same problem with {}, //, quotes, etc. Will be fixed asap.

Property seems to suffer from a similar issue also:
type
 TMyClass = class
    property Hello : string read (* comment *) write (* another comment *)
  end;

Yes - horrible places to have comments but these are semi-real world examples.

Both cases fixed.


Add Multi-Select Component

Create a component that takes in a list of objects as input and displays a multi-select drop-down list allowing users to select more than one option. Can you please assign this to me? :)

Hey @karishmashuklaa , I have raised the PR with this change. Please let me know if that looks good


delivery pipeline

@h1alexbel this is your task now, please go ahead. Deadline (when this ticket should be closed) is 2023-09-18T20:10:24.121689.
Estimation here is 60 minutes, that's how much you will be paid.
Remember, you don't have to solve everything in this ticket - you can solve it partially and leave todo markers in the code, which will become future tasks.
If you have any questions don't ask me, I'm not a technical person. Open new tickets instead.
If you don't have time or simply don't want to work on this, you can always resign.

@h1alexbel please keep in mind that manual assignment of tickets is a bad practice and it is discouraged. Next time, please let me elect the assignee.

@h1alexbel Don't forget to close this ticket before the deadline (2023-09-18T20:10:24). You are past the first half of the allowed period.

@h1alexbel Looks like you've missed the task deadline (2023-09-18T20:10:24). You are now resigned from this task.
Please stop working on it, you will not be paid. I will assign it to someone else soon.

@iColdLight this is your task now, please go ahead. Deadline (when this ticket should be closed) is 2023-09-28T20:30:06.582777.
Estimation here is 60 minutes, that's how much you will be paid.
Remember, you don't have to solve everything in this ticket - you can solve it partially and leave todo markers in the code, which will become future tasks.
If you have any questions don't ask me, I'm not a technical person. Open new tickets instead.
If you don't have time or simply don't want to work on this, you can always resign.

@iColdLight Don't forget to close this ticket before the deadline (2023-09-28T20:30:07). You are past the first half of the allowed period.

@iColdLight Looks like you've missed the task deadline (2023-09-28T20:30:07). You are now resigned from this task.
Please stop working on it, you will not be paid. I will assign it to someone else soon.

@lisitsaaa Don't forget to close this ticket before the deadline (2023-11-19T14:32:25). You are past the first half of the allowed period.

@lisitsaaa Looks like you've missed the task deadline (2023-11-19T14:32:25). You are now resigned from this task.
Please stop working on it, you will not be paid. I will assign it to someone else soon.

@erstediy this is your task now, please go ahead. Deadline (when this ticket should be closed) is 2023-11-29T15:01:15.789160.
Estimation here is 60 minutes, that's how much you will be paid.
Remember, you don't have to solve everything in this ticket - you can solve it partially and leave todo markers in the code, which will become future tasks.
If you have any questions don't ask me, I'm not a technical person. Open new tickets instead.
If you don't have time or simply don't want to work on this, you can always resign.

@erstediy Don't forget to close this ticket before the deadline (2023-11-29T15:01:16). You are past the first half of the allowed period.

@erstediy Looks like you've missed the task deadline (2023-11-29T15:01:16). You are now resigned from this task.
Please stop working on it, you will not be paid. I will assign it to someone else soon.

@LeonovAlexProg this is your task now, please go ahead. Deadline (when this ticket should be closed) is 2023-12-09T15:31:37.579669.
Estimation here is 60 minutes, that's how much you will be paid.
Remember, you don't have to solve everything in this ticket - you can solve it partially and leave todo markers in the code, which will become future tasks.
If you have any questions don't ask me, I'm not a technical person. Open new tickets instead.
If you don't have time or simply don't want to work on this, you can always resign.

@LeonovAlexProg Looks like you've missed the task deadline (2023-12-09T15:31:38). You are now resigned from this task.
Please stop working on it, you will not be paid. I will assign it to someone else soon.

@l3r8yJ this is your task now, please go ahead. Deadline (when this ticket should be closed) is 2023-12-19T16:01:19.804415.
Estimation here is 60 minutes, that's how much you will be paid.
Remember, you don't have to solve everything in this ticket - you can solve it partially and leave todo markers in the code, which will become future tasks.
If you have any questions don't ask me, I'm not a technical person. Open new tickets instead.
If you don't have time or simply don't want to work on this, you can always resign.

@l3r8yJ Don't forget to close this ticket before the deadline (2023-12-19T16:01:20). You are past the first half of the allowed period.

@l3r8yJ Looks like you've missed the task deadline (2023-12-19T16:01:20). You are now resigned from this task.
Please stop working on it, you will not be paid. I will assign it to someone else soon.

@l3r8yJ this is your task now, please go ahead. Deadline (when this ticket should be closed) is 2023-12-29T16:30:28.964482.
Estimation here is 60 minutes, that's how much you will be paid.
Remember, you don't have to solve everything in this ticket - you can solve it partially and leave todo markers in the code, which will become future tasks.
If you have any questions don't ask me, I'm not a technical person. Open new tickets instead.
If you don't have time or simply don't want to work on this, you can always resign.

@l3r8yJ Don't forget to close this ticket before the deadline (2023-12-29T16:30:29). You are past the first half of the allowed period.


REST call to get activities on an adjunct

A single small commit to get via REST the activities related to an adjunct, and descendant tasks.
This depends on #821 and #835 -- where most of the prep work is done -- but once those are in the only changes should be those in d1ab00c0f65c9444fd655bbf8759c982fe1d02ab .

#821 now merged and #835 almost ready for review; this updated but still depends on #835
still the only commit beyond that needing review here is
https://github.com/apache/brooklyn-server/commit/d1ab00c0f65c9444fd655bbf8759c982fe1d02ab

By the way, I don't entirely trust merge commits inside a pull request. It has seemed to me previously that /files in github has not shown me all the code changes because some are implicit in a merge commit. I'm not sure of the exact situation though. It happened when I was once trying to take a PR's changes into a maintenance branch, but it seemed that the .patch github mechanism didn't treat the merge commits as I'd have expected.
I know that you have quite a sophisticated way of using git branches and merges locally, but when it reaches the PR stage is it not possible to just have it rebased against master such that it appears as a series of normal commits on top of brooklyn-server master?

@aledsage the one thing i find with merges is that it's a bit difficult to see changes made to resolve conflicts as part of the merge commit.  i always forget the exact command but manage to find it.
however it keeps much better history, e.g.
% git log --oneline --graph master..
*   cea2d34 Merge branch 'tasks-better-tree' into adjunct-activities-rest-api
|\
| * 9213f0e fix message publish synching to guarantee in-order delivery
| * 508183b more assertion routines, map equality and unordered iterable equality
| * 8b72769 Tasks.tryQueueing won't queue if calling thread is interrupted
| * 9888870 switch queue-or-submit-blocking-then-get invocations to new simpler DynamicTasks.get. but note some things fail getImmediately if they are running a queueing context eg EffectorSayHiTest, until fixed in the next PR.
* |   b042989 Merge branch 'tasks-better-tree' into adjunct-activities-rest-api
|\ \
| |/
| * 0c2e1f6 Merge branch 'master' into tasks-4
| * bb26d32 change when cancellation is done for getImmediate - means effector invocation now works
| * d7b086b Merge branch 'tasks-better' into tasks-better-tree
* | d1ab00c REST API for entity adjunct activities
* | cf56492 Merge branch 'tasks-better-tree' into adj10
|/
* 6dfe498 deprecated since is now 0.13.0 not 0.12.0
* 80446ab Merge branch 'master' into tasks-better-tree
* 130a29b fix tests that asserted specific tasks (as there are now more)
* 79cc9bc task visibility: ensure all tasks have a name, updating exec.submit() methods to take name
* aeecd3e task GC and visibility: tidy GC code, don't delete some things eg subscriptions quite so aggressively
* b0556de include adjunct info as a subscription description
* e1f948a task visibility: entity initialization
* 0a1acec fix deadlock in initial publication of sensors on setting up a subscription
* 84d24d1 fix visibility: entity init runs in same thread
* d4c9fe1 entity adjuncts have extra tag for execution context, used in subscription delivery
* 8ecf395 task visibility: better names for config retrieval tasks
* 4430f76 task optimization: some queued-or-submitted tasks use foreground for executing
* 7f4d7bd task visibility: entity mgmt create and startup wrapped in its own task

it's usually prettier but even here not hard to see d1ab00c as the important mainline commit.
more impressive is:
% git log --oneline --graph tasks-better-tree..
* cea2d34 Merge branch 'tasks-better-tree' into adjunct-activities-rest-api
* b042989 Merge branch 'tasks-better-tree' into adjunct-activities-rest-api
* d1ab00c REST API for entity adjunct activities
* cf56492 Merge branch 'tasks-better-tree' into adj10

making it super easy to see.  and bear in mind this at one point built on 3 other branches.  if i'd ever rebased this or any of those branches, the ability to reconcile changes would be gone.  with git merge however it was always straightforward.


Update .danger.php

1. Why is this change necessary?
2. What does this change do, exactly?
3. Describe each step to reproduce the issue or behaviour.
4. Please link to the relevant issues (if any).
5. Checklist

[ ] I have rebased my changes to remove merge conflicts
[ ] I have written tests and verified that they fail without my change
[ ] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[ ] I have read the contribution requirements and fulfil them.

Codecov Report
Base: 65.79% // Head: 65.79% // Increases project coverage by +0.00% :tada:

Coverage data is based on head (5e20c28) compared to base (062428a).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##            trunk       #1   +/-   ##
=======================================
  Coverage   65.79%   65.79%
=======================================
  Files        3648     3648
  Lines       81483    81483
=======================================
+ Hits        53610    53612    +2
+ Misses      27873    27871    -2

Impacted Files
Coverage Δ

src/Core/Checkout/Cart/PriceDefinitionFactory.php
40.00% <0.00%> (-10.00%)
:arrow_down:

...Core/Checkout/Cart/Delivery/DeliveryCalculator.php
93.69% <0.00%> (-1.81%)
:arrow_down:

...torefront/Framework/Twig/TemplateDataExtension.php
96.00% <0.00%> (+2.00%)
:arrow_up:

.../Core/Checkout/Payment/Cart/Token/JWTFactoryV2.php
97.61% <0.00%> (+2.38%)
:arrow_up:

...Subscriber/CustomerDefaultSalutationSubscriber.php
83.33% <0.00%> (+5.55%)
:arrow_up:

...geQueue/Subscriber/EarlyReturnMessagesListener.php
100.00% <0.00%> (+33.33%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


UI: Light Theme fix

Description
UI: Light theme (BETA) first release

/deploy-staging

@cannarelladev Could you please delete old commented code?

@giorio94 Done!

/deploy-staging

/merge

/merge


Enable filebeat output to logstash everywhere

We currently only enable filebeat output to logstash on the monitoring host,
but only install filebeat on the nodepool and zuul hosts. Enable filebeat
output to logstash on all hosts so that nodepool and zuul will begin sending
data to logstash on the monitoring host.
Signed-off-by: K Jonathan Harker<EMAIL_ADDRESS>

Build failed.

http://logs.bonnyci.com/check_github/BonnyCI/hoist/150/1487118418.11/bonnyci-run-check-multinode : FAILURE in 7m 14s

recheck


Default php config for nginx

We're having a considerable amount of customers that are trying to run simple php scripts inside Lagoon and are struggling because there is no simple php config available in the nginx image.
Currently the support tells them to copy something like this https://gist.github.com/Schnitzel/6b19074386bc33d80b75f2f4824ecb03 which works for most simple php scripts.
I think though we can improve the Developer Experience even more, with one of these things:
A. create a new nginx-php image (like the nginx-drupal) image that has the nginx php config already in it and loaded
B. add a new php.conf nginx config to the nginx image and explain how to use it instead of the static-files.conf that is defaultly used.
Solution A would definitely be the one with the highest DX, but then we might up having a LOT of nginx-* images for all kind of languages, frameworks and applications.
So maybe Solution B would be a more scalable way for the future.

We just ran into this for a Craft CMS demo (https://github.com/amazeeio-demos/demo-craft-simple)
We approached it in the "A" version way - but after doing this I fully agree that A would result in a lot of nginx-*.
I vote for the B solution.
I would proposed rather than php.conf perhaps php-app.conf or php-server.conf. From a DX perspective php.conf and php.ini are super close - I get that these are unrelated - but from the perspective of a php developer setting this up, I think it could be clearer?


Bump toml version for forced indexmap std flag

Issue #, if available:
indexmap relies on autocfg for std detection but this breaks on some systems -- it's been updated to force std on, and toml has been updated to use it, but cargo-manifest still relies on an old version which doesn't specify the flag.
See https://github.com/bluss/indexmap/commit/99848fff179911f2573011dfc2859c182c9c0cfb
Need this for https://github.com/andrewbaxter/genemichaels/issues/72
Description of changes:
This updates the toml dep.
There were a few changes - from_slice is gone (worked around by parsing string first), the "tables last" thing was apparently removed due to being unnecessary (I don't know if this is case, but I updated this accordingly).  It compiles, but I'm not entirely sure what use cases would be affected by the changes.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thanks for working on this!

from_slice is gone (worked around by parsing string first)

The workaround is probably what from_slice was doing under the hood. Worth creating a small helper to do it rather than combining the two functions every time they are invoked?

the "tables last" thing was apparently removed due to being unnecessary

I assume they moved that logic into the actual deserializer. I have a few examples where to test it (i.e. cargo-chef).

Worth creating a small helper to do it

Sure, sounds good.

Yeah, they are unrelated. Let's merge—thanks!


Add @safe to std.outbuffer unittests

All unit tests in std.outbuffer are now @safe

Keeping in mind that outbuffer is an antique thing, a part of DMD turned Phobos module it's surprisingly well behaved. LGTM

Auto-merge toggled on


LayoutAnimation.configureNext onAnimationDidEnd not called when animation finished

Master branch:
LayoutAnimation.configureNext onAnimationDidEnd not called when animation finished:
LayoutAnimation.configureNext(LayoutAnimation.create(
500, LayoutAnimation.Types.linear, LayoutAnimation.Properties.opacity
), (e)=>{
console.log("finished") // never called!
});

@nowaits @skevy There is a pending PR https://github.com/facebook/react-native/issues/3106 which needs to be addressed.

@alinz for records sake, the PR was actually #3190. It should be merged shortly.

@skevy Awesome. What about Android? Android version is pretty broken on this one!

i have tried the master branch, the problem seems have been solved😁


refactor(dialog): allow matDialogClose on non-button nodes

Loosens up the selector on MatDialogClose so that it can be added on everything, not just buttons.
Fixes #16597.

@crisbeto could you also update doc https://material.angular.io/components/dialog/api#MatDialogClose?

The doc should update itself automatically once we release this change.

@crisbeto thanks for clarification.


Improved container classes and event hierarchy

This pull request includes a large change to the way Container classes work, their implementation, and the definitions in the io module for an event.
All tests and examples have been updated, but it may break some code that is not checked into ctapipe (though it is not difficult to update)
Major changes:

core.Container base class:

are defined in a more pythonic way (no more c-style add_item()), with metadata for each item stored in the class
now closer to being column-definitions for an output file
supports telescope-wise dictionaries via Map
can be converted to dicts both recursively and with a flatten option (where sub-containers append their name to the keys creating columns for each sub-item)
default values can be re-applied with the reset() method, so they do not need to be set manually.

io.containers module:

restructured some containers to have a more clear hierarchy, and renamed to *Container
moved some container attributes to be metadata rather than data (things that do not change per-event)

io sources:

updated hessio_event_source and mock_source to work with new scheme. Others pending (could not test e.g. the compressed fits source)

other modules and examples:

updated to use new scheme
provided examples and documentation

containers are now defined like this:
class SubContainer(Container):
    z = Item(default=100, "z value")

class MyContainer(Container):
    x = Item(default=0, description="x value", unit=u.m)
    y = Item(-1, "y value", unit=u.m)
    tel = Item(Map(SubContainer), "tel_id to sub-container map")
    sub = Item(SubContainer(), "a container hierarchy")

cont = MyContainer()
print(cont.y)  # returns -1, since default is set automatically
cont.z = 100 # throws AttributeError, since z not defined
cont.sub.z = 100 # ok

print(cont.tel[100].z)  # prints 100, and tel[100] gets allocated on-the-fly

print(cont)  # prints all container items and sub-containers

cont.x = 10
cont.reset()  # sets x back to default of 0

I think this is a big step forward.
I would also recommend to get rid of acronyms like inst or optical_foclen. Just write it out.

Yes, I agree. I want to do a second pass and rename a lot of the variables. So far, I wasn't sure what a lot of them meant, particularly in the CalibratedCameraContainer which I think needs more cleaning up (so will have to as the calib people for help).
For the InstrumentContainer, it is only intended as a stop-gap until the instrument module works in a nice way, so will eventually disappear.
For the initialization, you're right it should be possible to have an init function that just maps keys to the items. Is it ever really needed though?

I've merged in and re-named the Reco containers.  @TarekHC  you might want to take a look to make sure I haven't missed something. THis will replace what is in the master soon.
Now there is a dl2 container (a ReconstructedContainer) in the top-level EventContainer that works as follows:
   event.dl2.shower['algo']  # shower params for algorithm "algo"
   event.dl2.energy['algo']  # energy from algorithm 'algo'
   event.dl2.classification['algo'] # classification from algorith 'algo'

it works like this:
from ctapipe.io.containers import EventContainer
ev = EventContainer()
ev

out[]:
ctapipe.io.containers.EventContainer:
                         dl0.*: Raw Data
                        trig.*: central trigger information
                          mc.*: Monte-Carlo data
                         count: number of events processed
                         dl1.*:
                        inst.*: instrumental information (deprecated
                         dl2.*: Reconstructed Shower Information

in[]:
ev.dl2

out[]:
ctapipe.io.containers.ReconstructedContainer:
                     energy[*]: Map of algorithm name to energy info
                     shower[*]: Map of algorithm name to shower info
             classification[*]: Map of algorithm name to classification info

Does anyone have a problem if I make this merge? It's a large change, but all unit tests pass currently, and it's better to do it soon before more code is written that needs modification.

I'm totally ok with it also. In 2 weeks (after MAGIC general meeting) I will find the time to play with the new containers.

Ok great! I'll merge it shortly (just waiting for some better descriptions of a few items from the calibration people)

Do we have any advantages with the code used here to forbid creating members compared to pythons standard method using __slots__?
In [1]: class Point:
    ...:     __slots__ = ('x', 'y')
    ...:
    ...:     def __init__(self, x, y):
    ...:         self.x = x
    ...:         self.y = y
    ...:

In [2]: p = Point(0, 0)

In [3]: p.x
Out[3]: 0

In [4]: p.z = 3
--------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-14-a288bf462759> in <module>()
----> 1 p.z = 3

AttributeError: 'Point' object has no attribute 'z'

There's no real difference, I think, except I couldn't figure out a way to nicely set __slots__ from the class definition at the same time as assigning the metadata for each Item.  Perhaps it can be done with a metaclass, though. In any case, the mechanism is hidden from the user, so we could use __slots__ instead of modifying __setitem___ if it seems better in the future.

The big issue for me is now how to proceed with the data structures. I like this new mechanism, so I may just merge it as is, and start a new PR for bigger changes.  There is the second issue of re-structuring the data, which i started to a small extent here, but didn't make any large changes other than better naming of variables.  Should we explicitly make it work like the CTA Data Model Definitions document? That would make the meaning of each data item very clear, but more complex (e.g. event.dl0.trig.tels_with_trigger becomes dl0.sub.event.trig.tels_with_trigger).  That may be better left to the future (though it could be a lot of work to change).
The (somewhat official but not yet accepted) hierarchy in the document is:

However, I'm the main author, so it could easily be changed if we don't like it.

Hi @kosack ,
I finally have time to play with the "dl2" containers you created, and start implementing some preliminary figures of merits. But some questions pop-up all the time. I'm afraid they might be a bit naive, but to non python experts they are not...

Are these containers designed to be used to contain the information of one event? Or bunches?
I understand that these containers may contain any type of variable, such as numpy arrays, and that algorithms should be designed to used numpy operations, etc... Is this correct?

Are they still reasonable if using very large arrays?
For example: if I want to import many events from Prod-3, contain all their reconstructed quantities, and do operations with them. Is it reasonable to create one "dl2" container and fill it with huge (size ~10⁶) arrays? Or should we bunch those events and do operations "per bunch"?

As a side note, maybe adding simple examples within a "test_containers.py" would help. I could take care of that, as long as I am sure about the correct method to fill them.
Thanks!
Tarek


MAINTAINER & CONTRIBUTOR NEEDED

Hi guys!
Instabot family needs maintainers and contributors. We need python experts to help our community of 5000+ users solve issues and fix bugs. I really want to expand our family and invite YOU to join our open-source organization.
I've started this project 4 years ago as my student course project and now it becomes really HUGE. It is so hard to do this alone so I really appreciate any help with:

Bug fixings
Issue solving
New Features creation
Documentation enhancing

You don't need my permission to start contributing! Just create pull requests with your changes and I will check them.
See you!

Unfortunately, I'm not a python expert yet. But I just wanted to say thanks for this project;) If possible I will help as much as I can.

@disayner thanks for your help! For all ways how you can contribute to the project, visit this page:
https://github.com/instagrambot/instabot/blob/master/CONTRIBUTING.md

Perhaps let's star with clearing the issue tab. And writing a good wiki for people to understand ? And use a bot that automatically closes an issue when people do not fill out the issue template. Hate it when they do not do that.

Perhaps let's star with clearing the issue tab. And writing a good wiki for people to understand ? And use a bot that automatically closes an issue when people do not fill out the issue template. Hate it when they do not do that.

Agree. The Issues Tab is now too many post just saying something like: "I cant bah bah bah, can you help?" We should clean up these posts so that we can focus on those real issues related to coding.
Also @ohld , I suggest to keep log on each request and response so whenever something broken, especially those related to the instagram api, it is much more easier for us to monitor and traceback.
(i.e people can even provide a more detailed log when they ave issues)
I have implemented these request sent record in my own repo.
I can make a push.
'''
#BEFORE REQUEST
self.logger.debug('Request Endpoint: {}'.format(str(APIURL + endpoint)))
self.logger.debug('Request Data: {}'.format(str(post)[0:1000]))
#AFTER REQUEST
self.logger.debug('Response Data: {}'.format(str(response)[0:1000]))
'''

I also like to contribute. It would be great, if some contributors have the right to label issues, so we could sort out which issues really are about bugs / features and which are from people not familiar with programming/using python.

@fighterii I can grant you some rights to label issues (I hope that this is possible) if you want to help with it. This truly can help with sorting things out.

@
Duplicate of #

I'll try my best to contribute as this seems to be the only active library supporting photo upload. I was thinking it would probably be a good idea to start writing some documentation in order to give an overview for future contributors (or even just auto generate it).

That will be great! Thanks


Markdown Preview doesn't work.

VSCode Version: 1.51.1
OS Version: WSL 2 on windows

I can not preview my markdown file in vscode and vscode insider. When I click the preview button, there are only blank. What's more, this also prevents me to open ipynb files in vscode. What's the weirdest is that, some buttons' image becomes blank, like this:

Steps to Reproduce:

I don't know how it happened.

Does this issue occur when all extensions are disabled?: Yes/No

Does this reproduce in the latest VS Code insiders build with all extensions disabled?

Also, are the buttons just blank or are there no buttons are all? Can you open the markdown preview from the command palette?


Selenium queries to UWP app intermittently hanging up winappdriver.exe

Steps:

Run winappdriver in a cmd window winappdriver <IP_ADDRESS> 4723/wd/hub
Run a suite of Ruby test scripts against a UWP application using selenium-webdriver API

Result:
Sometimes the query never returns execution. Observations:

There is zero activity output in the winappdriver console window
The test script will synchronously wait until winappdriver.exe is un-stuck

Workaround:
Press Ctrl+C in the winappdriver.exe console window, then restart winappdriver.exe (Up Arrow, Enter). When this happens, the console output window becomes active again and tests continue to execute.
Notes:
This does not occur on any specific query; it can happen randomly on regularly passing tests. It pauses up in different places, whether it's a find_element call or a start_driver call.
If it freezes on a wait.until {driver.find_element blah blah} call, it is easy to spot if you know to look in the console window. Wait until usually shows a bunch of responses in the winappdriver console window until the element is found. If winappdriver is hung though, then there is no output.
This has been seen on 2 different Windows 10 machines. It was encountered multiple times in a day on both machines.
I will try to get an output log next time I see this (but currently I am not running with log write + real time stdout to see when the hang occurs).

Workaround 2:
If the app is running (e.g. issue encountered after start_driver), then closing the app using the 'X' button on the titlebar appears to get the winappdriver unstuck. Here is a portion of a log of getting stuck on an "Authentication" screen for several minutes and closing the app.
winappdriver_close.txt
Also, on the test suite side, this is the error the tests get when trying to talk to winappdriver:
    Given I am logged in as automation test user after a fresh install # Superliminal/Superliminal.UWP/features/step_definitions/site_authentication_steps.rb:1
      Failed to open TCP connection to <IP_ADDRESS>:4723 (No connection could be made because the target machine actively refused it. - connect(2) for "<IP_ADDRESS>" port 4723) (Errno::ECONNREFUSED)

Hi @jsbakker,
Is it possible for you to share a test script, or any samples that we can try reproducing this issue with?
Thanks

I was able to solve this issue. It turned out that the way we were loading the WebView.Source via programmatic redirect for our Xamarin.Forms WebView control (which uses the UWP web view underneath) was causing some freezing within the web view itself, while the rest of the application UI remained responsive. If we are using winappdriver to look for something in this frozen-up webview, then winappdriver would freeze up too.
We ended up removing the redirects which sometimes froze up the WebView control, and after that, we haven't seen winappdriver freeze up.

Thanks @jsbakker, that's interesting. Closing this issue.


2.3.1 nuget issues?

I'm using .Net framework 4.6.1 in a WPF application.
When I try to update to the 2.3.1 nuget version I get this error (specifically with the Elasticsearch.Net package):

Unable to find a version of 'Microsoft.CSharp' that is compatible with 'Elasticsearch.Net 2.3.1 constraint: Microsoft.CSharp (>= 4.0.1-beta-23225)

Looks like either the dependencies of this production package requires beta dependencies? Perhaps this should be a pre-release or the dependencies need to be updated?

I got the same error but after I tried update a few times everything start to work suddenly.

I tried it about 10 times. At second glance, I'm not sure whats causing it to get stuck, since the beta dependencies are for .NetPlatform 5.1 (which I believe is .Net Core?) and I believe shouldn't apply to me.

We didn't have any dependency changes between 2.3.0 and 2.3.1
https://github.com/elastic/elasticsearch-net/compare/2.3.0...2.3.1
Is this a temporary nuget glitch ?
I just tried it myself succesfully having only nuget.org and Microsoft and .NET as available package sources.

Attempting to gather dependencies information for package 'NEST.2.3.1' with respect to project 'WpfApplication2', targeting '.NETFramework,Version=v4.6.1'
Attempting to resolve dependencies for package 'NEST.2.3.1' with DependencyBehavior 'Lowest'
Resolving actions to install package 'NEST.2.3.1'
Resolved actions to install package 'NEST.2.3.1'
Adding package 'Elasticsearch.Net.2.3.1' to folder 'c:\users\mpdreamz\documents\visual studio 2015\Projects\WpfApplication2\packages'
Added package 'Elasticsearch.Net.2.3.1' to folder 'c:\users\mpdreamz\documents\visual studio 2015\Projects\WpfApplication2\packages'
Added package 'Elasticsearch.Net.2.3.1' to 'packages.config'
Successfully installed 'Elasticsearch.Net 2.3.1' to WpfApplication2
Adding package 'Newtonsoft.Json.8.0.1' to folder 'c:\users\mpdreamz\documents\visual studio 2015\Projects\WpfApplication2\packages'
Added package 'Newtonsoft.Json.8.0.1' to folder 'c:\users\mpdreamz\documents\visual studio 2015\Projects\WpfApplication2\packages'
Added package 'Newtonsoft.Json.8.0.1' to 'packages.config'
Executing script file 'c:\users\mpdreamz\documents\visual studio 2015\Projects\WpfApplication2\packages\Newtonsoft.Json.8.0.1\tools\install.ps1'...
Successfully installed 'Newtonsoft.Json 8.0.1' to WpfApplication2
Adding package 'NEST.2.3.1' to folder 'c:\users\mpdreamz\documents\visual studio 2015\Projects\WpfApplication2\packages'
Added package 'NEST.2.3.1' to folder 'c:\users\mpdreamz\documents\visual studio 2015\Projects\WpfApplication2\packages'
Added package 'NEST.2.3.1' to 'packages.config'
Successfully installed 'NEST 2.3.1' to WpfApplication2
========== Finished ==========
Are you using visual studio 2015 update2 ? (im still on update1 although I hope that should not make a difference)

Yes, I'm on visual studio 2015 update 2. Going to try blowing out temporary nuget data and try again.

I deleted the packages folder, didn't work. I also uninstalled Nest and Elasticsearch.Net packages and during my attempt to install 2.3.1 it has the same error, except on one of my projects which is a console application.
I have 5 projects that use it.
The project that I can successfully install it on has these nuget packages:
<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="AWSSDK.Core" version="<IP_ADDRESS>" targetFramework="net461" />
  <package id="AWSSDK.DynamoDBv2" version="<IP_ADDRESS>" targetFramework="net461" />
  <package id="AWSSDK.S3" version="<IP_ADDRESS>" targetFramework="net461" />
  <package id="AWSSDK.SQS" version="<IP_ADDRESS>" targetFramework="net461" />
  <package id="Elasticsearch.Net" version="2.3.1" targetFramework="net461" />
  <package id="Microsoft.SqlServer.Types" version="11.0.2" targetFramework="net461" />
  <package id="NEST" version="2.3.1" targetFramework="net461" />
  <package id="Newtonsoft.Json" version="8.0.3" targetFramework="net461" />
  <package id="ServiceStack" version="4.0.56" targetFramework="net461" />
  <package id="ServiceStack.Aws" version="4.0.56" targetFramework="net461" />
  <package id="ServiceStack.Client" version="4.0.56" targetFramework="net461" />
  <package id="ServiceStack.Common" version="4.0.56" targetFramework="net461" />
  <package id="ServiceStack.Interfaces" version="4.0.56" targetFramework="net461" />
  <package id="ServiceStack.OrmLite" version="4.0.56" targetFramework="net461" />
  <package id="ServiceStack.OrmLite.SqlServer" version="4.0.56" targetFramework="net461" />
  <package id="ServiceStack.OrmLite.SqlServer.Converters" version="4.0.56" targetFramework="net461" />
  <package id="ServiceStack.Razor" version="4.0.56" targetFramework="net461" />
  <package id="ServiceStack.Redis" version="4.0.56" targetFramework="net461" />
  <package id="ServiceStack.Server" version="4.0.56" targetFramework="net461" />
  <package id="ServiceStack.Text" version="4.0.56" targetFramework="net461" />
  <package id="SlowCheetah" version="2.5.15" targetFramework="net461" />
</packages>

It receives the error from my first post in a class library that has these:
<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="AWSSDK.Core" version="<IP_ADDRESS>" targetFramework="net461" />
  <package id="AWSSDK.DynamoDBv2" version="<IP_ADDRESS>" targetFramework="net461" />
  <package id="AWSSDK.S3" version="<IP_ADDRESS>" targetFramework="net461" />
  <package id="AWSSDK.SQS" version="<IP_ADDRESS>" targetFramework="net461" />
  <package id="Dapper" version="1.42" targetFramework="net461" />
  <package id="Newtonsoft.Json" version="8.0.3" targetFramework="net461" />
  <package id="ServiceStack" version="4.0.56" targetFramework="net461" />
  <package id="ServiceStack.Aws" version="4.0.56" targetFramework="net461" />
  <package id="ServiceStack.Client" version="4.0.56" targetFramework="net461" />
  <package id="ServiceStack.Common" version="4.0.56" targetFramework="net461" />
  <package id="ServiceStack.Interfaces" version="4.0.56" targetFramework="net461" />
  <package id="ServiceStack.OrmLite" version="4.0.56" targetFramework="net461" />
  <package id="ServiceStack.Text" version="4.0.56" targetFramework="net461" />
</packages>

I just created a clean class library with the above packages, and receive the same error.
I also tried deleting all nuget cache from %LOCALAPPDATA%\NuGet\Cache\

I'm able to reproduce this.  I've tried from both a class library and wpf application on framework 4.5 and 4.6- both produce the error.  VS 2015 update1, but I don't think that matters.
I'm inclined to think this is a nuget issue.  As @Mpdreamz mentioned, we haven't changed any dependencies from 2.3.0 to 2.3.1.  What's more, if I download the nupkg files from nuget.org and install them from a local feed, it works fine.

Too many nuget issues this year. Going to give paket a try.

@chrisklepeis can you make sure you're using v3 of the nuget.org feed?
See the comments in the issue linked above.

I was indeed on v2. Updating to the V3 feed worked. Thanks.


Update size.mdx

need to fix this typo
What I did

Thank you. Please follow our contributing guidelines. https://build.washingtonpost.com/resources/guides/contribute-a-component#Code

We use conventional commits for every commit. We don't squash our commits from our PR into one before merging to main. We like to keep our git history clean. For example, feat: add new component and stories or fix: update props.


License ambiguity

The project seems to be licensed under MIT license but here in source file it says CC license.
Fix / clarification on this would be great. Thanks.

This should now be fixed.