R: write_adbc() does not seem to work when writing to a Snowflake table

What happened?
I'm using the adbcdrivermanager and adbcsnowflake packages in R and testing out writing a data-frame to a Snowflake table with write_adbc().
write_adbc() returns a NOT_FOUND error from Snowflake.
It looks like the table gets created, but the actual data is not written to the table.
Stack Trace
No response
How can we reproduce the bug?
install.packages('adbcdrivermanager')
#> package 'adbcdrivermanager' successfully unpacked and MD5 sums checked

install.packages("adbcsnowflake", repos = "https://community.r-multiverse.org")
#> package 'adbcsnowflake' successfully unpacked and MD5 sums checked

library(adbcdrivermanager)
library(adbcsnowflake)

db <- adbc_database_init(
  adbcsnowflake(),
  username = Sys.getenv('SNOWFLAKE_USER'),
  adbc.snowflake.sql.account = Sys.getenv('SNOWFLAKE_ACCOUNT'),
  adbc.snowflake.sql.uri.protocol = 'https',
  adbc.snowflake.sql.uri.host = paste0(Sys.getenv('SNOWFLAKE_ACCOUNT'), '.snowflakecomputing.com'),
  adbc.snowflake.sql.uri.port = '443',
  adbc.snowflake.sql.auth_type = 'auth_ext_browser',
  adbc.snowflake.sql.role = Sys.getenv("SNOWFLAKE_ROLE"),
  adbc.snowflake.sql.warehouse = Sys.getenv("SNOWFLAKE_WAREHOUSE"),
  adbc.snowflake.sql.db = Sys.getenv("SNOWFLAKE_DATABASE")
)

con <- adbc_connection_init(db)

execute_adbc(con, 'create or replace schema reprex')
execute_adbc(con, 'use schema reprex')

write_adbc(mtcars, con, 'MTCARS')
#> Error in adbc_statement_execute_query(stmt): NOT_FOUND: 002003 (42S02): SQL compilation error:
#> Object 'MTCARS' does not exist or not authorized.

schema_tables <- as.data.frame(read_adbc(con, 'show tables in schema reprex'))
#> Warning in convert_array_stream(x, to): 1 value(s) may have incurred loss of
#> precision in conversion to double()
schema_tables[, c('name', 'rows')]
#>     name rows
#> 1 MTCARS    0
as.data.frame(read_adbc(con, 'select * from mtcars'))
#>  [1] mpg  cyl  disp hp   drat wt   qsec vs   am   gear carb
#> <0 rows> (or 0-length row.names)

Created on 2024-12-13 with reprex v2.1.1
Environment/Setup
Windows 11
R 4.4.2
adbcdrivermanager 0.15.0
adbcsnowflake 0.15.0

Ah that's interesting that write_adbc() writes Parquet files, I wondered if it might be sending Arrow record batches instead.
Inserting records and manually writing parquet files seem to work fine :)
# install.packages('adbcdrivermanager')
# install.packages("adbcsnowflake", repos = "https://community.r-multiverse.org")
# install.packages('arrow')
# install.packages('fs')

library(adbcdrivermanager)
library(adbcsnowflake)

db <- adbc_database_init(
  adbcsnowflake(),
  username = Sys.getenv('SNOWFLAKE_USER'),
  adbc.snowflake.sql.account = Sys.getenv('SNOWFLAKE_ACCOUNT'),
  adbc.snowflake.sql.uri.protocol = 'https',
  adbc.snowflake.sql.uri.host = paste0(Sys.getenv('SNOWFLAKE_ACCOUNT'), '.snowflakecomputing.com'),
  adbc.snowflake.sql.uri.port = '443',
  adbc.snowflake.sql.auth_type = 'auth_ext_browser',
  adbc.snowflake.sql.role = Sys.getenv("SNOWFLAKE_ROLE"),
  adbc.snowflake.sql.warehouse = Sys.getenv("SNOWFLAKE_WAREHOUSE"),
  adbc.snowflake.sql.db = Sys.getenv("SNOWFLAKE_DATABASE")
)

con <- adbc_connection_init(db)

execute_adbc(con, 'create or replace schema reprex')
execute_adbc(con, 'use schema reprex')

# Inserting works
execute_adbc(con, 'create or replace table x (a int, b int, c int)')
execute_adbc(con, 'insert into x values (1, 2, 3)')
read_adbc(con, 'select * from x') |> as.data.frame()
#>   A B C
#> 1 1 2 3

# COPY INTO with Parquet works
x <- data.frame(A = 1, B = 2, C = 3)
execute_adbc(con, 'create or replace table x (a int, b int, c int)')
parquet_file_path <- fs::file_temp(ext = '.parquet')
parquet_file <- fs::path_file(parquet_file_path)
arrow::write_parquet(x, parquet_file_path)
put_command <- paste0("put 'file://", parquet_file_path,  "' @~")
execute_adbc(con, put_command)
execute_adbc(con, paste0("
      copy into x
      from @~/", parquet_file, "
      file_format = (type = parquet)
      match_by_column_name = case_sensitive
"))
read_adbc(con, 'select * from x') |> as.data.frame()
#>   A B C
#> 1 1 2 3

# write_adbc() doesn't work
x <- data.frame(A = 1, B = 2, C = 3)
execute_adbc(con, 'drop table if exists x')
write_adbc(x, con, 'X')
#> Error in adbc_statement_execute_query(stmt): NOT_FOUND: 002003 (42S02): SQL compilation error:
#> Object 'X' does not exist or not authorized.

schema_tables <- read_adbc(con, ' show tables in schema reprex') |> as.data.frame()
#> Warning in convert_array_stream(x, to): 1 value(s) may have incurred loss of
#> precision in conversion to double()
schema_tables[, c('name', 'rows')]
#>   name rows
#> 1    X    0
read_adbc(con, 'select * from x') |> as.data.frame()
#> [1] A B C
#> <0 rows> (or 0-length row.names)

Created on 2024-12-15 with reprex v2.1.1

@paleolimbot what mode does the R write_adbc use by default? append? create?
In addition, @liamnz can you bear with me and try using a lowercase 'x' in the write_adbc call?

it doesn't have to, the ADBC docs say the default ingestion mode is Create which is what the snowflake driver does. So given that the select * from x is working afterwards, it looks like the create query is running, but something is giving an issue with the actual insertions.
@liamnz Could you look at the monitoring on your snowflake dashboard and look at the actual COPY INTO queries being run and see if anything stands out as problematic there?

@zeroshade lowercase table names yields the same error. Here's the commands that are issued when the write is attempted:

It looks like it attempts a count on the newly created table but perhaps there is too much quoting going on in the IDENTIFIER()  function?

Yeah, I think it should be either SELECT COUNT(*) FROM "X" or SELECT COUNT(*) FROM IDENTIFIER('X') and not this mixture of both.

The count works outside of write_adbc() though 🫤

Ah, crossed replies -- and, hmm. Are both queries happening on the same connection and/or with the same context (i.e. current database, current schema)?

It looks like the count inside write_adbc() occurs in a different session

Ah I think I see what the problem is now. In my original code, when the connection is first established a schema is not assigned but is created later with a CREATE SCHEMA command. Because the ADBC client is issuing commands over multiple sessions, the commands it issues with the default Snowflake session context in the connection object will fail because a schema isn't set.
When I change the connection so that a schema is assigned at connection time, everything works fine.
# install.packages('adbcdrivermanager')
# install.packages("adbcsnowflake", repos = "https://community.r-multiverse.org")

library(adbcdrivermanager)
library(adbcsnowflake)

db <- adbc_database_init(
  adbcsnowflake(),
  username = Sys.getenv('SNOWFLAKE_USER'),
  adbc.snowflake.sql.account = Sys.getenv('SNOWFLAKE_ACCOUNT'),
  adbc.snowflake.sql.uri.protocol = 'https',
  adbc.snowflake.sql.uri.host = paste0(Sys.getenv('SNOWFLAKE_ACCOUNT'), '.snowflakecomputing.com'),
  adbc.snowflake.sql.uri.port = '443',
  adbc.snowflake.sql.auth_type = 'auth_ext_browser',
  adbc.snowflake.sql.role = Sys.getenv("SNOWFLAKE_ROLE"),
  adbc.snowflake.sql.warehouse = Sys.getenv("SNOWFLAKE_WAREHOUSE"),
  adbc.snowflake.sql.db = Sys.getenv("SNOWFLAKE_DATABASE"),
  adbc.snowflake.sql.schema = 'REPREX'
)

con <- adbc_connection_init(db)

x <- data.frame(A = 1, B = 2, C = 3)
execute_adbc(con, 'drop table if exists x')
write_adbc(x, con, 'X')
read_adbc(con, 'select * from x') |> as.data.frame()
#>   A B C
#> 1 1 2 3

Created on 2024-12-17 with reprex v2.1.1

Do you folks know if this multi-session behaviour is intended for the ADBC client? It looks like it just makes a new session for those count queries, everything else occurs in the original session.

@liamnz at the moment that behavior is intentional though it's supposed to transfer the context of the current schema/db etc. I guess we must have missed something in that. I'll look into seeing if we can just use the same session instead of a different one.

Okay that's good to know, thanks for your help 😊


[CONSOLE] Add support for ENS domains

Synopsis
As a Console user, I'd like to be able to use human-readable addresses in the Console.
Context
This includes:

Forward resolution in search from ENS name to Hex Address
Reverse resolution on address pages from Hex Address to ENS

Checklist

[ ] Use RTK-Query for caching and request de-duplication. NOTE: There is a redux slice for this in the new dashboard. See comment below [1]
[ ] Resolve "reverse resolution" correctly/safely: https://docs.ens.domains/dapp-developer-guide/resolving-names#reverse-resolution. NOTE: This should be straightforward with ethers.js
[ ] Handle UI for account having both address book name and ENS name.

Acceptance Criteria

Users can search by ENS name in the search bar and see results
Users can see ENS names resolved on address pages
The solution is safe and correct.
The solution doesn't overly spam RPC-s / Subgraph.
Passes a subjective code review for quality by the Supefluid Finance team.

Additional References
Any solution should take account of the ENS front-end design guidelines https://docs.ens.domains/dapp-developer-guide/front-end-design-guidelines
https://www.npmjs.com/package/@ensdomains/ens-contracts
Future work:

Reverse resolution in Latest Streams, Account , Super Token, Streams, Index and Index Subscription pages.

Bounty Reward:
$250 paid in stablecoin on Polygon
Bounty Program info: https://docs.superfluid.finance/superfluid/resources/bounty-program

Thanks for opening an issue @developerfred!
Which areas are you most interested in having ENS support in the console?
Is it something you'd be interested in contributing?

@vmichalik I thought about adding the ens resolver for search and viewing in the address book, yes I want to contribute.

Some possible points for the checklist:

[ ] Use RTK-Query for caching and request de-duplication. NOTE: I did a redux slice for this in the new dashboard. [1]
[ ] Resolve "reverse resolution" correctly/safely: https://docs.ens.domains/dapp-developer-guide/resolving-names#reverse-resolution. NOTE: In the new dashboard, I used ethers.js which handles this itself.
[ ] Handle UI for account having both address book name and ENS name.

When doing ENS lookups for list views:

[ ] Handle querying ENS names when there's 50 addresses visible in a table. NOTE: I don't know how to best do this yet. Probably would have to query the names from Subgraph in one go somehow.

More optional extensions:

Use ENS avatar for account page

Acceptance Criterias?

The solution is safe and correct.
The solution doesn't overly spam RPC-s / Subgraph.
Passes a subjective code review for quality by the Supefluid Finance team.

Other acceptance criterias are from user's perspective (i.e. user can search by ENS name) which someone else can spec. I didn't put an acceptance criteria for tests because we don't have unit tests and the E2E tests are probably best written by our QA team.
[1] Redux slice for ENS lookups using ethers:
import { fakeBaseQuery } from "@reduxjs/toolkit/dist/query";
import { createApi } from "@reduxjs/toolkit/dist/query/react";
import { ethers } from "ethers";

export const ensApi = createApi({
  reducerPath: "ens",
  baseQuery: fakeBaseQuery(),
  endpoints: (builder) => {
    const mainnetProvider = new ethers.providers.InfuraProvider(
      "mainnet",
      "INFURA_KEY"
    );

    return {
      resolveName: builder.query<
        { address: string; name: string } | null,
        string
      >({
        queryFn: async (name) => {
          if (ethers.utils.isAddress(name)) {
            return { data: null };
          }

          const address = await mainnetProvider.resolveName(name);
          return {
            data: address
              ? {
                  name,
                  address: address,
                }
              : null,
          };
        },
      }),
      lookupAddress: builder.query<
        { address: string; name: string } | null,
        string
      >({
        queryFn: async (address) => {
          const name = await mainnetProvider.lookupAddress(address);
          return {
            data: name
              ? {
                  name,
                  address: ethers.utils.getAddress(address),
                }
              : null,
          };
        },
      }),
    };
  },
});

Hey @developerfred!  Thank you for stepping up here!
For info on claiming the bounty on completion, see here: https://docs.superfluid.finance/superfluid/resources/bounty-program

@kasparkallas
Today there is rss3 feed, it has a base with thousands of consumers and ENS, it has a subgraph and stores it in a bank. There is a public direct response api:
https://rss3.domains/name/:id
on here
https://rss3.domains/name/codingsh.eth

@kasparkallas I have a question about how redux automatically generates hooks in my build is not generating.

I supported both rss3 and ethers requests

Hey @developerfred, looking awesome!
I would probably switch around the order here a little, as you've currently got ENS as a button which implies it's clickable.
I'd put it on the same line just after the hex address in a subtitle font. That's the slightly darker grey colour in dark mode per the subtitles below.

On typing either the ENS or Wallet address:

When viewing a specific account with an ENS

I wanted to get people's opinions on the UI before I start implementation.

Thanks @Seroxdesign, I sent a message on Discord with some additional context, but excited to see your work on this!


AgileZen integration hook

Hi GitHub! :)
We've just shipped a simple integration between GitHub and our product, AgileZen. It's just a simple hook that associates GitHub commits with story cards in our system. I've attached the hook code, which I've tested with our production system. Is there anything else that we need to do to be listed on the list of service hooks?
If you have any questions or need anything else from us, feel free to shoot me an email at<EMAIL_ADDRESS>By the way, we (and I) love your service. Keep being awesome.
Thanks,
Nate

Can you add a test please?

There we go. Sorry about that. :)

Thanks a lot, it makes me feel much better accepting patches against all these services :)

I'm sorry, I never actually pushed this to GitHub.  I'm doing that today.


Pass HTTP proxy environment variables to the Docker daemon

What type of PR is this?
/kind cleanup
What this PR does / why we need it:
This passes the HTTP proxy environment variables set in the host environment that runs the ansible playbook to the newly installed Docker daemon and to the tasks of the ansible playbook itself.
Which issue(s) this PR fixes:
It is a step toward fixing https://github.com/nephio-project/nephio/issues/409 , but it will not completely fix the issue.
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

NONE

/kind cleanup

/remove-kind bug

/ok-to-test

/test provision-linter
/test e2e-ubuntu-focal

/lgtm

/approve

/test e2e-ubuntu-focal

@electrocucaracha could you take a look?

/lgtm


Remove lodash

It looks like the only usage of lodash is in Match.ts so you're bringing in over a MB of lodash code to do something that takes a couple lines of js.
return x &&
    typeof (x[Consts.IMATCH_MATCHES_NAME]) !== 'undefined' &&
    typeof (x[Consts.IMATCH_ID_NAME]) !== 'undefined' &&
    x[Consts.IMATCH_ID_NAME] === Consts.IMATCH_ID_VALUE;

I would also like to add that lodash has security vulnerabilities. Can you remove it or update your dependencies?


nixos: don't generate sshd keys with DSA or ECDSA algorithms by default

Some people doubt that DSA and ECDSA keys offer good security and thus
recommend using ED25519 or RSA keys instead, so we make those algorithms our
default choices. Note that NixOS users can still choose whatever algorithms and
key sizes they please; these are just the defaults.
Further details can be found at:
https://stribika.github.io/2015/01/04/secure-secure-shell.html
This patch resolves https://github.com/NixOS/nixpkgs/issues/5809.

What's the impact on existing installations? Won't this cause a lot of "host key changed" errors when people have a DSA/ECDSA host key in ~/.ssh/known_hosts, and the host upgrades to this PR?

Yes, that is true. :unamused: Is there a way to keep the old keys registered if, and only if, they exist already?

No, don't think so. And that would be undesirable in itself because it would be stateful (which host keys get used in a particular configuration would depend on the previous state of the system).
The only clean way I see to deal with this sort of change is if we had a NixOS option to specify the desired compatibility level, e.g.
nixos.compatVersion = "14.12";

which would be emitted by nixos-generate-config at installation time, or by NixOps when it instantiates a machine. So if compatVersion is <= 14.12, the sshd module would enable DSA/ECDSA host keys, otherwise it would disable them. This could also be used for things like the default PostgreSQL version selected by the PostgreSQL module (which we similarly can't change at the moment).

If we only want to impact new installation, it seems easiest to add those two lines to the generated default config. It's some clutter, however. This compatVersion is a more general approach – do we have more of such examples where changing semantics is only desirable on-demand?
Another simple way: would it really be a problem to merge this on master and document in release notes for 15.07 (and perhaps send a ML message around merge time)?


[WIP] Empty state integrations

This PR makes it easier for developers to supply a configuration for a Communication component to render in the primary surface if there is no content to display.
Currently only the List component supports this addition: the configuration for List is extended to include an optional emptyState prop, which is the same as Communication’s props.
Communication was also adjusted to support multilingual TTextObject content.
Open in Storybook

Transitioned back to draft since Board HVC needs integration as well.

To do: use default content when emptyState is not supplied.


update vendor keybase/go-crypto

as title + go mod tidy

please run make vendor

@techknowlogick i kniw - you are to fast ;)

Codecov Report

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

@@            Coverage Diff            @@
##             master   #10234   +/-   ##
=========================================
  Coverage          ?   43.67%
=========================================
  Files             ?      582
  Lines             ?    80045
  Branches          ?        0
=========================================
  Hits              ?    34959
  Misses            ?    40751
  Partials          ?     4335

Continue to review full report at Codecov.

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


Add unittests to listFiles API

Need both client and server side tests. a  dozen tests needed for different input combination.

Done in DBS 3.2.9.


CASMPET-6580 Disable spire postgres backups

spire-server needs to be reinstalled if there's a problems. Backups will restore old authentication data that will cause unexpected issues.

/backport stable/1.5


Ability to override signal names with IOGroup plugin

Currently, the plugin IOGroups are registered before the built-in IOGroups, so there is no way for plugins to overload signal/control names.

This doesn't seem to be a problem.  As long as the plugin invokes the iogroup_factory() singleton during registration, the first call to the singleton will register the built-in IOGroups.
However, in the process of testing this feature I discovered that the ExampleIOGroup from the tutorial is not being loaded by geopmread.  This is fixed by https://review.gerrithub.io/c/geopm/geopm/+/415859


coprv2: check plugin version on coprocessor requests

What problem does this PR solve?
This PR add the ability to check plugin version on coprocessor requests.
We now collect the plugin version in declare_plugin! macro (either passed explicitly or from Cargo.toml).
When calling the new coprocessor endpoint, we now check whether the loaded plugin does satisfy copr_version_constraint.
Issue Number: #9747
What is changed and how it works?
Proposal: RFC
Tests

Unit test

Release note

No release note

/cc @andylokandy @skyzh

/merge


Add a tutorial to guide how to add new service configuraiton into com

Coverage increased (+0.01%) to 51.774% when pulling 7c2ce0acb3d9548ecb9cbd78a87982933e627260 on yuye/tutorial into 5e441143a17bedcaf8b24988f3f92efd6fe73dc0 on cluster-object-model-dev.

Coverage increased (+0.01%) to 51.774% when pulling 7c2ce0acb3d9548ecb9cbd78a87982933e627260 on yuye/tutorial into 5e441143a17bedcaf8b24988f3f92efd6fe73dc0 on cluster-object-model-dev.


19 user registration request

Review this pull request with caution, as it will serve as a template for future request handlers.
This PR is marked as a draft until @aleksanderhanski ensures that all tests of the emailCheck() method are green ✅.

@hubertborysowski, paths of requests, e.g. /register are not meant to be opened in a browser. They are meant to receive HTTP requests sent by other applications. You can test the API using Postman. Please note that you need to install Postman Agent and deploy the database, if you want to test a locally hosted API.

@hubertborysowski, does the error you previously found still occur? I'm currently unable to check it myself.

Error is probably caused by the fact that the unit test wants to take the same port as the main app.

Yes, this is probably the reason, especially that this test was green when I created the pull request.


downloading not working in IE 11

Hi,
Nothing is getting downloaded in IE 11. It is working in firefox and chrome. Please assist, it is kind of urgent for me..
Thanks

Hi,
Please update me on this. Did you get a chance to replicate the issue in IE 11. It says could not download. Try again.
Thanks
Ankur Garg

Having a similar problem.. Tables and images will print out in IE but not basic text. Even in the examples given. using IE11, swapped it to IE10 mode but no success with that.
Any updates?

I have a similar issue than @adamaoc describe. Generating a PDF from HTML doesn't work as expected here in Internet Explorer 11 on Microsoft Windows 8.1. If the HTML contains an image, for example, they are well printed, but simple text are not printed at all.
Probably this do not help but in my test I note that if only text is included into the HTML Internet Explorer 11 do not throw any error, but if an image is included into the HTML then Internet Explorer 11 stop with an error at the 15637 line of "jspdf.debug.js" version 1.1.135-git Built on 2015-05-16T00:15.
Apparently there is a problem to access the "pdf.canvas" property.

same here, mine says "SCRIPT5009: 'atob' is undefined"

text starts showing up after including html2canvas

I have the same issue. But know that it is important to print at the right moment because of a callback function. See below. I can only print tables and images now.
doc.fromHTML(
source
, margins.left // x coord
, margins.top // y coord
, {
'width': margins.width // max width of content on PDF
,
'elementHandlers': specialElementHandlers
},
function(dispose) {
// dispose: object with X, Y of the last line add to the PDF
//          this allow the insertion of new lines after html
doc.save('file.pdf')
},
margins
);

I've not been able to generate PDF from HTML in IE 11, but the following works for text:
http://jsfiddle.net/Q5Xc9/1/

@ankur2728 @adamaoc any updates on this or any workaround for this?

@codeReadyy - I don't believe we did. I think we ended up using a C# library to generate the PDF instead of this. It's been a while though.

@codeReadyy Any updates on this? Maybe we should use a slightly older version?

@cwahlfeldt - I have created a working plunkr. Please have a look at it. Tested in IE11, chrome, microsoft edge(all version).

#425

same issue here，I can't download PDF on IE11 and Edge

and IE11 mine say 'Promise Undefined'

I used the html2canvas will be converted to the image of the Echarts icon, and then save the picture as PDF, but in IE11 and Edge can not download the following。someone can help me？it is kind of urgent for me.. thanks

@Timeisnotold what error you are getting? Can you please share code block or plunkr where we can see it?

@codeReadyy - As you said it is working in IE but when the data is large it is overlapping the content. Instead of displaying in page2, it is trying to fit entire content in page1. Please find the demo updated https://plnkr.co/edit/Oh34CFowRinExtNN9E8d?p=preview. Any inputs how to add a new page and show the content when the data is large.

well, what do you expect from code which is not able to set pagebreaks by itself?

@arasabbasi - Please find my code demo https://plnkr.co/edit/FgG8ooVugPO5XnIj9d4M?p=preview. I am trying to show each div data starting from new page. It works as expected but issue here is when the data in the div is large, it is not displaying the information which is not fit in page1. Is there any workaround so that based on the data it add a new page and displays it. I'm having tough time to make it work.Any inputs would be very helpful.

Changing it from landscape to portrait-mode?

@arasabbasi - No, it doesn't seem to work if the data is big. Please find updated link where i modified landscape to portrait mode :  https://plnkr.co/edit/4HLkE2HCLDBFoXNW2p91?p=preview

@arasabbasi - Does using   pdf.addPage() to add a new page and display the content when the content is large helps anyway?  Having tough time to resolve this. And i see some of issues when using jsPDF. The quality of the PDF is poor, it is not supporting  and  tags. Any inputs would be of great help.Looking forward. thanks

IE Is dead use Edge if you wanna use a Microsoft browser, and both IE and Edge have a so small market that nobody make support for them any more, maybe Edge next year

Duplicate of #697

Hi,
i have similar Problem.
No Download in IE but it´s all fine in all other Browsers.
Any updates on this?
Greetz

Same here as @tschero… I also have an error in the console. What about you?
L'objet ne gère pas la propriété ou la méthode "getStringUnitWidth"
The error line is this one:
var width = state_1.default().doc.getStringUnitWidth(line);
Hope someone can help on this…

With this Version of jsPDF it works in IE 11:

File should be attached here but i doesen´t see.

No files :s

I can not work in ie11, the error is "SCRIPT5007: Object expected；jspdf.debug.js (3648,11)" ？anyone can help me?

File Attachement on GitHub doesent work at my System here.
I post the jspdf Version on my Website.
@MrRio:
If that is not OK for you, please let me Know and i´ll disable the Post:
https://www.webdesign24.biz/news-leser/online-pdf-mit-javascript-und-jspdf.html

I still can't find a solution in IE 11, even reverting to Version 1.4.1.
Seeing "Object doesn't support property or method 'fromHTML" in console. I know 'fromHTML' was deprecated in 1.5 but wasn't it working correctly in IE11 pre 1.5?
Here is what I have working in everything but IE11.
    doc.fromHTML($('#results').get(0), 10, 60, {         'width': 165,         'elementHandlers': specialElementHandlers     }, function(a) {          doc.save("Sample.pdf");       });
Any ideas, let me know.

SCRIPT5009: 'Promise' is undefined
jspdf.min.js (5220,9)
SCRIPT438: Object doesn't support property or method 'getStringUnitWidth'
jspdf.plugin.autotable.js (207,9)
are these issues fixed for IE 11 ? I tried going through previous issues but couldn't find any that could solve this. Kindly let me know asap, thanks!!

SCRIPT5009: 'Promise' is undefined
jspdf.min.js (5220,9)
SCRIPT438: Object doesn't support property or method 'getStringUnitWidth'
jspdf.plugin.autotable.js (207,9)
are these issues fixed for IE 11 ? I tried going through previous issues but couldn't find any that could solve this. Kindly let me know asap, thanks!!

Had the same issue, and it is all caused by IE11 not supporting Promise. I was able to fix it by adding promise.min.js. Make sure it loads before jspdf.min.js.


Not so permanent SearchView

Hi,
I'm wondering if it's possible to set this up inside the Toolbar and still keep the overlay and suggestions when I start a search query? I can place the component inside the toolbar but I lose the overlay and suggestions :( essentially I want to reproduce the look and feel of the Play Store searchview.
Great library! Thanks!

Hi,
You can put the view on top of all your other views in ,for example, a FrameLayout. Your views underneath the invisible part will still  get the touches.

How would that work for example in your sample app? I tried doing that with the framelayout included in the app but the searchview still overlays and doesn't rollup when I scroll the list.

The library does not currently provide you with a way to do the scrolling behavior, it might be added as a feature in future releases.

Thanks for answering. I'm at my wits end here trying to emulate that behaviour.

Well you can put the floating search view in the toolbar and what ever you want you can do it.If no what exactly behavior you want?

I want to emulate the behaviour of the Play Store searchview: http://i.imgur.com/6kX7BQX.gifv If you open the app you'll see that the searchview looks exactly like this one but it is hidden or shown along with the Toolbar depending on how you scroll the list. I can put floatingsearchview inside the toolbar to obtain this behaviour but I lose the overlay and suggestions and I'm trying to find a way to keep that integral part of the searchview while putting it inside the Toolbar.

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context="com.eagleeye.kotapp.waiterScreen.ui.activity.SearchActivity">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
<EMAIL_ADDRESS>        android:visibility="visible">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@color/primary"
            app:contentInsetEnd="0dp"
            app:contentInsetLeft="0dp"
            app:contentInsetRight="0dp"
            app:contentInsetStart="0dp"
<EMAIL_ADDRESS>
        </android.support.v7.widget.Toolbar>

        <android.support.design.widget.TabLayout
            android:id="@+id/sliding_tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/primary"
            app:tabGravity="fill"
            app:tabIndicatorHeight="4dp"
            app:tabMode="fixed"
<EMAIL_ADDRESS>/>
    </android.support.design.widget.AppBarLayout>

    <include layout="@layout/content_search" />

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/parent_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        tools:context=".MainActivity">

        <android.support.v7.widget.RecyclerView
            android:id="@+id/search_results_list"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginEnd="5dp"
            android:layout_marginStart="5dp"
            android:clipToPadding="false"
            android:paddingTop="60dp"
            android:visibility="visible" />

        <com.arlib.floatingsearchview.FloatingSearchView
            android:id="@+id/floating_search_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:visibility="visible"
            app:floatingSearch_dimBackground="false"
            app:floatingSearch_leftActionMode="showSearch"
            app:floatingSearch_searchBarMarginLeft="@dimen/search_view_inset"
            app:floatingSearch_searchBarMarginRight="@dimen/search_view_inset"
            app:floatingSearch_searchBarMarginTop="@dimen/search_view_inset"
            app:floatingSearch_searchHint="Search Product"
            app:floatingSearch_showSearchKey="false"
            app:floatingSearch_suggestionsListAnimDuration="250" />
    </RelativeLayout>

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_margin="@dimen/fab_margin"
        android:src="@android:drawable/ic_dialog_email"
        android:visibility="visible" />

</android.support.design.widget.CoordinatorLayout>

use this layout file you will get the desire look.And use that recycler view to show your search result.after the search action done clicked if you want.

@rpgsoftware  you can achieve what you want by adding an offset listener (have a look here, if you aren't familiar with it) to your visible or invisible  AppBarLayout and move the FloatingSearchView 's Y translation accordingly.
All the best,

@asbadve maybe I missed something but I tried the code and the floatingsearchview is still always shown regardless of how I scroll the list. I did have to do some changes so it worked with the floatingsearchview sample code:
`
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
<EMAIL_ADDRESS>    android:visibility="visible">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        app:contentInsetEnd="0dp"
        app:contentInsetLeft="0dp"
        app:contentInsetRight="0dp"
        app:contentInsetStart="0dp"
<EMAIL_ADDRESS>
    </android.support.v7.widget.Toolbar>

    <android.support.design.widget.TabLayout
        android:id="@+id/sliding_tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:tabGravity="fill"
        app:tabIndicatorHeight="4dp"
        app:tabMode="fixed"
<EMAIL_ADDRESS>/>
</android.support.design.widget.AppBarLayout>

<!--your other layout content-->
<include layout="@layout/content_layout" />

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/parent_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context=".MainActivity">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/search_results_list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginEnd="5dp"
        android:layout_marginStart="5dp"
        android:clipToPadding="false"
        android:paddingTop="60dp"
        android:visibility="visible" />

    <com.arlib.floatingsearchview.FloatingSearchView
        android:id="@+id/floating_search_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:visibility="visible"
        app:floatingSearch_dimBackground="false"
        app:floatingSearch_leftActionMode="showSearch"
        app:floatingSearch_searchBarMarginLeft="@dimen/search_view_inset"
        app:floatingSearch_searchBarMarginRight="@dimen/search_view_inset"
        app:floatingSearch_searchBarMarginTop="@dimen/search_view_inset"
        app:floatingSearch_searchHint="Search Product"
        app:floatingSearch_showSearchKey="false"
        app:floatingSearch_suggestionsListAnimDuration="250" />
</RelativeLayout>

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|end"
    android:layout_margin="@dimen/fab_margin"
    android:src="@android:drawable/ic_dialog_email"
    android:visibility="visible" />

</android.support.design.widget.CoordinatorLayout>`
content_layout is just an empty linearlayout.

Hello everyone,
@arimorty I tried the AppBarLayout offset listener but sadly the event was (very) noticeably late to reach the searchview so the rolled up behaviour wasn't aligned. When the toolbar was rolled up the searchview was too far behind. I ended up going the CoordinatorLayout.Behavior route and it worked perfectly (so far). Essentially I took this one and modified it to look like this:
public class ScrollingSearchViewBehavior
        extends CoordinatorLayout.Behavior<FloatingSearchView> {

    public ScrollingSearchViewBehavior(Context context, AttributeSet attrs) {
    }

    @Override
    public boolean layoutDependsOn(CoordinatorLayout parent, FloatingSearchView child, View dependency) {
        return super.layoutDependsOn(parent, child, dependency) || (dependency instanceof AppBarLayout);
    }

    @Override
    public boolean onDependentViewChanged(CoordinatorLayout parent, FloatingSearchView searchView, View appbarLayout) {
        boolean returnValue = super.onDependentViewChanged(parent, searchView, appbarLayout);
        if (appbarLayout instanceof AppBarLayout) {
            searchView.setTranslationY(appbarLayout.getY());
        }
        return returnValue;
    }
}

The searchview has to be inside a CoordinatorLayout and in the xml declaration it has to be declared this way:
<com.arlib.floatingsearchview.FloatingSearchView
            android:id="@+id/searchView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior=".ScrollingSearchViewBehavior" />

I know this is stating the obvious to you guys, I put it here for the newbies ;)

@rpgsoftware  "was (very) noticeably late to reach" sounds very strange to me, because I was able to create a working example using the simpler approach (with offset listener) and it was working perfectly. To me, there is no apparent benefit of going with the custom CoordinateLayout behavior approach, although I would probably do that in the library itself when implementing the scrolling behavior in order to provide an easier way for the client to achieve this behavior.
As a side note, I would be more than happy to work with you on that (integrating scrolling behavior in the library).

I thought about committing something to the library but since I just found out about CoordinatorLayout.Behavior and my use case assumes that the user has an AppBarLayout I ended up discarding the idea but it sounds good. Let me know how I can be of help.
Regarding the delay, yes, it is strange. The UI events happen very quickly but I couldn't see what else could've been causing it. Whatever it was it doesn't happen using Behavior. Maybe you didn't notice it because the floatingsearchview/sample doesn't have a Toolbar? I tested it with a toolbar and tabs and it was clear that the toolbar rolled up and then the searchview followed.

I have tried it using the onscrollistener in recycler view found here and the result is like this.

@asbadve added to my bookmarks for future reference. Thanks!

Hi @rpgsoftware. I have tried to make an UI like you (same as searchview of Google Play). But the suggestion results didn't overlay the AppBar as the following screenshot. Did this problem occur with you?

This is my layout xml file:
xml

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".activity.MainActivity">
<android.support.design.widget.AppBarLayout
    android:id="@+id/app_bar_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
<EMAIL_ADDRESS>    tools:context=".activity.MainActivity">

    <android.support.design.widget.CollapsingToolbarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_scrollFlags="scroll|enterAlways|snap"
<EMAIL_ADDRESS>        app:titleEnabled="false">

        <com.arlib.floatingsearchview.FloatingSearchView
            android:id="@+id/floating_search_view"
            android:layout_width="match_parent"
            android:layout_height="60dp"
<EMAIL_ADDRESS>            app:floatingSearch_close_search_on_keyboard_dismiss="false"
            app:floatingSearch_dimBackground="false"
            app:floatingSearch_dismissOnOutsideTouch="true"
            app:floatingSearch_leftActionMode="showSearch"
            app:floatingSearch_searchBarMarginLeft="8sp"
            app:floatingSearch_searchBarMarginTop="8sp"
            app:floatingSearch_searchBarMarginRight="8sp"
            app:floatingSearch_searchHint="@string/search_music_title"
            app:floatingSearch_showSearchKey="true"
            app:floatingSearch_suggestionsListAnimDuration="250" />

    </android.support.design.widget.CollapsingToolbarLayout>

    <android.support.design.widget.TabLayout
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="50sp"
        app:tabSelectedTextColor="?android:attr/textColorPrimaryInverse"
        app:tabIndicatorColor="?android:attr/textColorPrimaryInverse"
        app:layout_collapseMode="pin"
        app:tabIndicatorHeight="4sp" />

</android.support.design.widget.AppBarLayout>

<LinearLayout
    android:id="@+id/main_content"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    app:layout_anchor="@id/app_bar_layout"
    android:layout_gravity="fill"
    app:layout_anchorGravity="fill"
    app:layout_behavior="@string/appbar_scrolling_view_behavior">

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginBottom="@dimen/music_player_height" />

</LinearLayout>

<com.google.android.exoplayer2.ui.SimpleExoPlayerView
    android:id="@+id/music_player"
    android:layout_width="match_parent"
    android:layout_height="@dimen/music_player_height"

    app:layout_anchor="@id/main_content"
    android:layout_gravity="bottom"
    app:layout_anchorGravity="bottom"

    app:use_artwork="false"
    app:hide_on_touch="false"
    app:show_timeout="0"
    app:resize_mode="fit" />

</android.support.design.widget.CoordinatorLayout>
xml


voice-playback-speed is inverse - voice-playback-pause seems to have no effect

Not sure if documentation or implementation bug, but voice-playback-speed in the config.yaml has a comment that values above 1.0 will increase the speed which is inverse of what happends. In order to speed up the comm, i set the value to 0.8 to get closre to what we wanted :-)
adjusting the voice-playback-pause seemed to have no effect.

Thanks for the report, I'll verify this when I have a moment 👍🏼

Opened a PR to fix the config file. (Code was correctly documented in --help, just backwards in the example config file.
voice-playback-pause only changes the pause between sentences within a transmission. It doesn't effect the pause between transmissions, which is dynamic based on other people talking on the GCI channels.


CommandHistory: Change userInputHistory implementation to LinkedList #532

Fixes #532

@Zhiyuan-Amos This is missing a CanIHasReview.

v1
@Zhiyuan-Amos submitted v1 for review.

[v1 1/1] CommandHistory: Change userInputHistory implementation to LinkedList

(:books: Archive)

Checkout this PR version locally
git fetch https://github.com/se-edu/addressbook-level4.git refs/pr/533/1/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you wish to fetch this PR to.

v2
@Zhiyuan-Amos submitted v2 for review.

[v2 1/1] CommandHistory: Change userInputHistory implementation to LinkedList

(:books: Archive) (:chart_with_upwards_trend: Interdiff between v1 and v2)

Checkout this PR version locally
git fetch https://github.com/se-edu/addressbook-level4.git refs/pr/533/2/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you wish to fetch this PR to.


merge from template-sync/template-arlac77-github

.github/workflows/update_package_lock.yml

chore: add<EMAIL_ADDRESS>(jobs.update_package_lock.steps.uses)

.github/workflows/update_readme_api.yml

chore: add<EMAIL_ADDRESS>(jobs.update_readme_api.steps.uses)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>1
Details

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

Totals

Change from base Build<PHONE_NUMBER>3:
0.0%

Covered Lines:
54

Relevant Lines:
56

💛  - Coveralls


Add test-aws-auth flag to ICARE App

This PR adds a new flag to the CLI --test-aws-auth. When using this flag alone, the app will not extractor post any data, but it will check that it can create a messaging client and can authorize using the configuration information provided in awsConfig. If either of these steps fails, an error is thrown and logged. This is done in 99a1f39.
I also renamed the --test-flight flag because I thought it was less clear what it was testing now that we have multiple flags. This is done in 63b75fd, if it's easier to see the separate diffs.
If you use both these flags together, the app will ensure that AWS is properly authenticated and will extract data but it will not post to AWS.

Aside from my one comment above, this all looks good. I think --test-extraction is a much clearer name than --test-flight was so I think that's a good change. Let me know your opinion on my other comment and then I'll be ready to approve


Gather-logs script does not collect PostgreSQL logs

When running chef-server-ctl gather-logs on a back-end chef server the PostgreSQL logs are not collected for troubleshooting purposes.
Not everything is logged to the various erlang logs, for example a unique constraint exception will appear in the chef-server erlang logs but will not provide enough detail on the table, constraint violated to effectively troubleshoot.
/cc @jaymzh

Hrm, are we sure?  I definitely have gather-log tarballs in my Downloads directory with the postgresql logs on disk.  If there is a problem, it likely lives here:
https://github.com/chef/chef-server/blob/master/omnibus/files/private-chef-scripts/gather-logs#L96-L101

Since I filed this I noticed subsequent gather logs have collected postgres logs - may have been an edge case, I'll try and reproduce

@andy-dufour Looks like the gather-logs script does collect postgresql logs. Closing this for now. Please free to reopen if found otherwise.


How can I create stereo 360 images?

I have made flat stereo images without issue.
If it possible with a config change to render stereo images?  Where can I tweak the camera parameters?  Is there anything else I should be aware of when doing this?
Thank you

@keithahern Could you please explain in nore detail how you do that, or share the code? I have encountered the same issue.
Thank you nery much!

You can look at my fork https://github.com/princeton-vl/infinigen/compare/main...keithahern:infinigen:main
NOTE it is now behind master

You can look at my fork main...keithahern:infinigen:main
NOTE it is now behind master

Thank you for your reply! I tested your code, and it seems we might not be talking about the same thing. What I want is to move and rotate the camera to render around the scene in 360 degrees, but the image I got using your code is a panoramic image? Nevertheless, thank you for your reply!

@bbbbubble
I need to move and rotate a camera 360 degrees to capture multiple images or videos too. Can you explain how or provide code? Thank you nery much!

@bbbbubble I need to move and rotate a camera 360 degrees to capture multiple images or videos too. Could you explain how or provide code? Thank you nery much!

Hi, I have the same idea with you, can you share your code? Thank you!


Release first version

Referencing https://github.com/sqids/sqids-spec/issues/14
Todos:

[ ] Implementation @lvignoli
[ ] Website update @4kimov

Nice, I commented on encode params here.
Regarding the blocklist, feel free to hardcode it from here: https://raw.githubusercontent.com/sqids/sqids-blocklist/main/output/blocklist.json

@4kimov test suite is complete 😀

@lvignoli Nice, thanks for letting me know & the test suite!
A few questions for you:

Did I get examples right? Is it safe to omit defer for simplicity?
Am I using constructor opts correctly in those examples? I noticed the readme passes those opts to encode (at the bottom of the doc)
Do you know if it's possible to setup Github Actions for this repo?

It is clearer to remove the allocator.free() calls from examples, docs (and Zig paradigm) seems sufficient.
Yes your usage is correct, I forgot to update, will fix asap
That's the next step indeed, to automate linting and release. Zig is not 1.0 though, so every minor release may break the action, but that's expected.

Great, thank you for clarifying everything. I'll close this issue since the first version is done! Thank you for the work 💪

I'll tag a v0.1 bound to work with a recent Zig version, and setup actions after Christmas 🎄
Thank you for your nice feedback, it was a pleasure to contribute 😊

Thank you, same 🎄😊


Terms of Use - Reference - Make configurable?

Dear Maintainer team,
while checking the code of the CLA assistant we found the link to your terms of use here linking to the ToU on your gist.

While we are feeling confident that we are allowed to use other terms or no terms in our self-hosted solution due to the fact that you license under Apache-2.0 we quickly wanted to check in with you as the terms could be understood as additional terms applying to the CLA assistant in total.
Maybe you could quickly confirm, that the link to your ToU is not required for a self-hosted solution? Any copyright statements will of course remain as is.
Constantin Hoferer<EMAIL_ADDRESS>on behalf of Mercedes-Benz Tech Innovation GmbH, Provider Information
Ps: sorry, I didn't find a matching label as it is neither a bug nor a feature, maybe more clarification or help. Please bear with me, if this kind of issue should be brought forward. I am happy to learn :)

Quick update, the Terms of Service & privacy policy won't be easily configurable for the moment. You're however still free to adjust it as you deem fit in the code.
On a side note, I got now the time to look at the whole of the setup again and most likely we will end up rebuilding most of the UI components in a newer framework and as part of that rebuild we can/will make a lot of these things more easily user configurable.


Issue with config.json file

I followed the instructions and I keep getting "There was a problem reading your config.json file."
My Neato portion of the config looks like this (some surrounding sections included for formatting):
"ringing": {
"event": "single",
"motion": false,
"contact": false
}
},
{
"platform": "NeatoVacuumRobot",
"email": "myemail",
"password": "mypassword"
}
{
"platform": "Nest",
I don't know if this makes a difference but I had to use "sudo npm install -g --unsafe-perm homebridge-neato" when installing the plug in. I did the same thing to install Homebridge and the two other working platforms I have. This is the only way I can get homebridge and its platforms installed for some reason. Could that be the problem? I don't understand what I'm doing wrong, why it says there was a problem with my config.

Have you checked your entire config.json on jsonlint.com to be sure it's working properly? With a quick look just on your posted lines there could be something wrong, missing a comma.
{
"platform": "NeatoVacuumRobot",
"email": "myemail",
"password": "mypassword"
},

That did it. Thank you very much!


Header Background Image

Hi, thank you for this awesome compilation.
I would like to ask you, how to change the dynamically generated header background image.
When I run grunt, header background image is created automatically.
But how can I change the style of that image.
Thank you.

You can change that in assets/sass-project/project.scss

I dont mean changing the path of this element in scss file, I want to change automatically generated image files itself (images/bg/brand.jpg, images/brand-accent.jpg etc). When you run grunt something generates these awesome colorful files, but which file is generating these images.

These images are not generated. They are just static images.


Block tmuxinator start until all pre_window have run?

Is your feature request related to a problem? Please describe.
I use pre_window to style my status-bg in tmux per project. I didn't find any other way to do it and it works for me, although it runs for every pane/window, I don't care. Other solutions didn't work.
So in my yaml I have pre_window: tmux set status-bg color2
Recently I came up with a work around to attach the project into the same session instead of creating a new one: https://github.com/tmuxinator/tmuxinator/issues/265#issuecomment-1892355849
Essentially it creates a new session without attach and moves all windows into the current session. The problem is, that pre_window then will change the status-bg of my current session, which is not what I want.
Describe the solution you'd like
If I only start moving the windows after all my pre_window have been executed, I can safely avoid the problem. A flag to tell tmuxinator start to block until all windows have been created would be sufficient.
Another approach would be to have a hook that safely runs after all pre_window have been completed with the ability to detect if the session is being attached or not.
I also just realize the absolute best solution for me would be to allow tmuxinator to configure a status-bg in the yaml.
Describe alternatives you've considered
I first tried to extend the tmuxinator call by doing TMUXINATOR_APPEND=1 tmuxinator start --no-attach and then in my yaml simply doing test -z "$TMUXINATOR_APPEND" && tmux set status-bg color2 to avoid changing the status-bg if I append my new windows onto my current session. Sadly doesn't work at all.
I also tried to curstatusbg=$(tmux show-option -w -q status-bg | cut -d' ' -f2) before and tmux set-option status-bg "$curstatusbg" after my logic, but it seems tmux set-option status-bg doesn't work, when you are in a different window.
I'm also aware that I can define an alternate tmux configuration with tmux_options, but then I have to maintain two files per project, there is no flag to specify options to tmux while launching it.
The best I came up with is to have a sleep 3 after tmuxinator start, so that it moves my windows to my current session after 3 seconds. If tmuxinator start was blocking until all is done, I wouldn't have the problem at all. sleep 3 is garbage, I don't have to tell you why.

Alright, so my workflow hasn't changed, but it grew on me.
These days I have this tmux style configuration (partially for theming, beware it contains Nerd Font glyphs):
# theme
set-option -g default-terminal "screen-256color"
set-option -ga terminal-overrides ",xterm*:Tc"
set-option -g status-position top
set-option -g status-style "fg=default bg=default"
set-option -g mode-style "bg=#8cc470,fg=#1d222b"
set-option -g message-style "fg=#1d222b,bg=#ff9a9d"
set-option -g message-command-style "fg=#1d222b,bg=#ff9a9d"
set-window-option -g window-status-format "#[fg=#77a3c4 bg=default] #I:#W#[fg=#77a3c4 bg=default] #F "
set-window-option -g window-status-current-format "#[fg=#77a3c4 bg=default]#[fg=#1d222b bg=#77a3c4]#I:#W#[fg=#1d222b bg=#77a3c4] #F#[fg=#77a3c4 bg=default]"
set-option -g status-left-length 34 # 32 + 2
set-option -g status-left "#[fg=#edc57d]#[fg=#1d222b bg=#edc57d]#{session_name}  #[fg=#edc57d bg=default]"
set-option -g status-right-length 0
set-option -g status-right ""
set-option -g pane-border-style "fg=#2c313a"
set-option -g pane-active-border-style "fg=#3fb1f5"

So my status bar looks like this:

Now in my rc files I have this function:
# tmux
sessionstyle() {
	if [ $# -lt 1 ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
		echo "Sets the tmux session style."
		echo "Usage: sessionstyle [-h] [--help] light_accent_color [icon]"
		return 129
	fi
	tmux set-option status-left "#[fg=$1]#[fg=#1d222b bg=$1]#{session_name} ${2-} #[fg=$1 bg=default]"
}

So, I have something like this in my .tmuxinator.yml for instance:
pre_window: sessionstyle '#ff9a9d' 󱂚

And when I launch my session I get something like this:

Is this already linux porn? Idk. :) All I want to point out is, I definitely need some kind of generic hook, because this has some dynamic nature to it that couldn't be satisfied by strict tmux setting propagation.
The issue persists when appending without sleeping.

I definitely need some kind of generic hook

I have not been following this issue closely but have you considered using tmux hooks? They might give you the granularity you're after.

https://www.man7.org/linux/man-pages/man1/tmux.1.html#HOOKS
https://devel.tech/tips/n/tMuXz2lj/the-power-of-tmux-hooks

When I last looked (2-3 years ago), the tmux docs didn't contain an exhaustive list of available hooks but I put this one together while working on a complimentary project to this one. (Both the documented list of hooks and available hooks may have changed since the linked list was cobbled together.)
Maybe you could also use some sort of IPC (e.g. named pipes), if what you're after doesn't map cleanly to any of the hooks available via tmux or tmuxinator?

@ethagnawl Thanks, will look into this soonish. The session-created hook might work, but the challenge is that the relevant information (color and icon) are stored in the .tmuxinator.yml and the hook must fire only once and then delete itself again.
I will tickle around a bit and report back.

the hook must fire only once and then delete itself again.

There's an example of doing just that in the linked blog post.

I don't understand this question. Isn't IPC similar to piping to and from a file, just fancier? I don't have experience with IPC, will look into that as well.

They can also be used to facilitate a quick/dirty callback workflow, which it sounds like you're after here. I'm not necessarily saying it's the best option but it might be good enough.

Thanks, will look into this soonish.

Well well, that didn't age so well, but I couldn't let it catch any more dust, because my sleep hack was just terrible.
My first attempt are using tmux hooks. Sadly my hooks don't fire, testing this results in nothing really, but my session gets attached:
tmux set-hook session-created "display-message 'session-created'"
tmux set-hook session-renamed "run 'echo session-created'"
( cd "$wspath" && tmuxinator start --no-attach )

But then again, even if I find a fix, it will only work when the session-created or session-renamed is called late enough. I doubt that. I think tmuxinator will create the session first, then modify it and run pre_window of each of them. The hook list doesn't indicate any hook that would fire after all of this.
So the dirty IPC pipe callback workflow would be my holy grace. I don't mind it too be a bit dirty, everything is better than sleep 3, so here we go:
In my ws (workspace) script via my append command I do this:
wspipe="$HOME/.wspipe"
# ...
elif [ "$command" = "append" ]; then
	test -d "$wspath" || { echo Workspace does not exist. >&2; exit 1; }
	rm -rf "$wspipe"
	mkfifo "$wspipe"
	( cd "$wspath" && tmuxinator start --no-attach )
	# shellcheck disable=SC3045
	read -r -t 3 <>"$wspipe" || echo "Timed out waiting for 'ready' event in named pipe $wspipe." >&2
	i=0; while [ $i -lt 10 ]; do
		tmux move-window -s "$workspace:$i" >/dev/null 2>&1 || break
		i=$(( i + 1 ))
	done
	rm -rf "$wspipe"

You see there is still a timeout of 3 seconds, in case nothing writes to the named pipe indicating everything is done. I don't want to wait forever.
Now the problem still was writing to my named pipe when my entire session is ready with all the window setup that was done. My hacky way is to let the last pane in my yaml file have to write to the pipe, like so:
name: sample
root: .

pre_window: sessionstyle color246 
windows:
  - sample:
      layout: 2ec1,210x63,0,0[210x52,0,0,19,210x10,0,53{105x10,0,53,45,104x10,106,53,54}]
      root: my-project-sample
      panes:
        - vim
        - reset
        - test -p "$HOME/.wspipe" && echo ready > "$HOME/.wspipe"; reset

startup_window: sample

@ethagnawl Although this works now, I have to remark some cons, so it's hard to justify it being done for me due to this:

Having to write to a pre-known pipe in the last pane of my tmuxinator project file is such a hacky anti-pattern. Even when it's skipped when the pipe is not there, it causes a strange circular dependency between tmuxinator project files and my ws script. I wish to have have tmuxinator only be a dependency of my ws script, which results in tmux being a dependency as well.
Now my ws script is not portable anymore. The timeout flag -t of read is not portable. If I don't provide -t, any project files that I have not converted to include the writing to the named pipe, will cause read to hang infinitely. This is such a bummer.

Possible solutions?

First of all the YAML could provide a field post_session that is less hacky than putting things in the last pane
Unknown how to read from a named pipe with timeout in a portable fashion, maybe there is a way or tool to bring into the mix that does the job, I need to find it though.

Alternatively,

tmuxinator itself could provide hooks so I don't have to rely on named pipes altogether. tmux hooks are most likely not sufficient, because the hook would need to fire after all windows and panes have setup.

Thank you!


It does'nt work with Android 11!

When I try the sample application on Android 11, it does not detect a smartphone nearby.
On the other hand, it works on some old Android versions such as 8.1 and 5.1.1.

I'm seeing this as well, did you figure it out?


🐛 Bug Report: AppwriteException: null, Connection refused (0)

👟 Reproduction steps
When i was trying to create  a todo app with flutter and appwrite , i was not able to register new users .
main.dart
import 'package:flutter/material.dart';

import 'homepage.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Todo App',
      theme: ThemeData(
        // This is the theme of your application.
        //
        // Try running your application with "flutter run". You'll see the
        // application has a blue toolbar. Then, without quitting the app, try
        // changing the primarySwatch below to Colors.green and then invoke
        // "hot reload" (press "r" in the console where you ran "flutter run",
        // or simply save your changes to "hot reload" in a Flutter IDE).
        // Notice that the counter didn't reset back to zero; the application
        // is not restarted.
        primarySwatch: Colors.blue,
      ),
      home: const Homepage(),
    );
  }
}

auth.dart
import 'package:appwrite/appwrite.dart';

Client client = Client()
    .setEndpoint('http://localhost/v1')
    .setProject('64392f2ec924b428ae8c')
    .setSelfSigned(
        status: true); // For self signed certificates, only use for development

//create an user account

Account account = Account(client);

Future createUser() async {
  final user = await account.create(
      userId: ID.unique(),
      email<EMAIL_ADDRESS>      password: 'password',
      name: 'My Name');
  print("New User created");
}

homepage.dart
import 'package:flutter/material.dart';
import 'package:flutter/src/widgets/framework.dart';
import 'package:flutter/src/widgets/placeholder.dart';
import 'package:todo_app/auth.dart';

class Homepage extends StatelessWidget {
  const Homepage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: Center(
      child: TextButton(
        child: const Text("Create User"),
        onPressed: () {
          createUser();
        },
      ),
    ));
  }
}

error i am getting
Launching lib\main.dart on Android SDK built for x86 in debug mode...
main.dart:1
√  Built build\app\outputs\flutter-apk\app-debug.apk.
Connecting to VM Service at ws://<IP_ADDRESS>:61863/095xhGqFJ90=/ws
E/flutter ( 5774): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: AppwriteException: null, Connection refused (0)
E/flutter ( 5774): #0      ClientIO.call
client_io.dart:381
E/flutter ( 5774): <asynchronous suspension>
E/flutter ( 5774): #1      Account.create
account.dart:53
E/flutter ( 5774): <asynchronous suspension>
E/flutter ( 5774): #2      createUser
auth.dart:14
E/flutter ( 5774): <asynchronous suspension>
E/flutter ( 5774):

👍 Expected behavior
It should have created a new user and report it in the appwrite page
👎 Actual Behavior

Error i am getting
Launching lib\main.dart on Android SDK built for x86 in debug mode...
main.dart:1
√  Built build\app\outputs\flutter-apk\app-debug.apk.
Connecting to VM Service at ws://<IP_ADDRESS>:61863/095xhGqFJ90=/ws
E/flutter ( 5774): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: AppwriteException: null, Connection refused (0)
E/flutter ( 5774): #0      ClientIO.call
client_io.dart:381
E/flutter ( 5774): <asynchronous suspension>
E/flutter ( 5774): #1      Account.create
account.dart:53
E/flutter ( 5774): <asynchronous suspension>
E/flutter ( 5774): #2      createUser
auth.dart:14
E/flutter ( 5774): <asynchronous suspension>
E/flutter ( 5774):

🎲 Appwrite version
Version 2.0.x
💻 Operating system
Windows
🧱 Your Environment
No response
👀 Have you spent some time to check if this issue has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Hi - the solution to this was given on our community discord to you <3 Please close the issue if this Bug has been resolved.

bug isnt fixed , i tryied changing the address from localhost to <IP_ADDRESS> but it doesnt work ie it doesnt add user  to appwrite, but it shows that responses have been made.


Debug console doesn't respect order output #2231

Following the example in #2231
I get in the console

Hello stderr!
Hello stdout!

OR

Hello stdout!
Hello stderr!

when I run multiple times...

I show these events as they come from the adapter, thus forwarding to @weinand

@SofianHn yes, that's expected. There is no guaranteed order for data travelling on different communication channels (e.g. pipes).


Implement 'Delivery receipt'

Show a "delivered" receipt for messages when it's delivered to the client.
If a message with id x-y-z is sent from client1, client1 should mark the message as delivered once the socket in client2 receives, send an event message-delivered to the client1 and display 'delivered' at client1
For id, use timestamp for each message.
Ref:

I would like to work on it


Create LICENSE

Adds Apache License Version 2.0 to the root of the repository (as this is what was found in the file headers). Allows easy visibility of the license: https://github.com/blog/1964-open-source-license-usage-on-github-com
I've also updated the README slightly to be clearer.

Thanks for the PR.


update selenium and FF

In order to run bokchoy tests with FireFox 59.0.1, which contains both the reworked quantum engine and meltdown fixes, selenium 3.11.0 is required. This also upgrades the versions of Firefox and geckodriver used in the travis file

@estute It looks like equivalent code has now been merged to master; can this be safely closed?


DAP(setExceptionBreakpoints): Handle filters argument

Handles the filters argument passed to a setExceptionBreakpoints request.
Some editors use this mandatory argument instead of optional filterOptions.
ref: https://microsoft.github.io/debug-adapter-protocol/specification#Requests_SetExceptionBreakpoints
tested with dap-mode.el

Thank you for trying and modifying!


JxBrowser doesn't work on RedHat 6 x64

Looks like this is the issue. Need to write HowTo's for every not working Os.

Fixed in https://github.com/ShyykoSerhiy/gfm-plugin/releases/tag/v0.1.5


Update 3rd party tools to latest version

We should use the latest version for the 3rd party tools that we install with the FuseML installer, or depend on for end-to-end demos, CI, etc:

Tekton
KFServing
KNative (+dependencies)
MLFlow
Gitea
docker-registry (if updates are available)

Tekton was covered in: https://github.com/fuseml/fuseml/pull/172


Enhancement on authorized apps display

Restrict the display of authorized apps with the ones that steemconnect has in its database.

Can we have a loading icon when content is being loaded?


Develop long-term solution for URLs for generated docs per version

[X] Feature Request
[ ] Bug Report

Problem:
The URLs for generated docs change with every release because of the way that we manage versioned docs. This means high potential for 404s on release.
Proposed Solution:
https://github.com/kubernetes/website/pull/7890 offers a partial short-term solution to cover the gap, which we should document for the release docs meister role. Let's also consider a long-term solution that doesn't require either redirects or lots of changes per the referenced PR.

Can I infer this Feature will address #7903 ?

Considering that all previous versions of the site are archived into a site like http://v1-8.docs.kubernetes.io, it doesn't make a lot sense to put generated docs into a path which contains a version number. Once version number is killed across the website map, no further redirection will need to be fixed because either a doc is generated and found, or it is not found (thus not generated). There won't be a situation where generated docs need further care about references to them.


CloudFront caching interfering with CORS responses

When the CorsAllowOrigin setting is set to REFLECT_ORIGIN and CloudFront caching is enabled, the first Origin to request a particular resource causes the Access-Control-Allow-Origin response header to be cached, causing CORS errors for any other origin that tries to request the same resource.
Two possible solutions come to mind, but both introduce breaking changes:

Include Origin as part of the cache key in the CloudFront cache policy (but this interferes with the existing CachePolicyID setting)
Include a custom viewer-response CloudFront function to handle CORS (but this interferes with the existing ability to attach custom functions)

In the end, the best compromise solution might be (pseudocode):
if CorsAllowOrigin == "REFLECT_ORIGIN" && CachePolicyID == DEFAULT
  create CorsCachePolicy that includes the Origin in the cache key
  use CorsCachePolicy ID as the default behavior's cache policy
else
  use CachePolicyID  as the default behavior's cache policy
end

Then we just need to update the documentation to stress that, if using a non-default cache policy and REFLECT_ORIGIN, the cache policy must include the Origin request header as part of the key.

With the CloudFront enabled version being deprecated, this is now an issue for implementers. It might be something to document, but not something we can address directly.


update to add junit support

Hello Vali,
Thanks for the pull request.
Can you reformat the code to be the same as the existing code?
Thanks


New Notebook menu item not localized

Oh right, langpack is just for ADS - not extensions. Closing this for now then.

Let's leave this bug open.  Though the strings are currently not expected to be localized we still want to track fixing this.


add support for ubuntu 19.04 and kali linux

Hello Microsoft team,
I create a script to support for Ubuntu 19.04 (also 19.10) and Kali Linux.
could you migrate these script to your repository?
Thanks.

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


Apply fixes from CodeFactor

This pull request applies style fixes from code review by CodeFactor.

For more information, click here.

Codecov Report

Merging #1053 (52cc23e) into develop (cf77eb7) will not change coverage.
The diff coverage is 66.66%.

@@           Coverage Diff            @@
##           develop    #1053   +/-   ##
========================================
  Coverage    59.55%   59.55%
========================================
  Files           52       52
  Lines         1674     1674
  Branches       357      357
========================================
  Hits           997      997
  Misses         634      634
  Partials        43       43

Impacted Files
Coverage Δ

packages/core/src/stats/NativeMetricSender.ts
11.11% <0.00%> (ø)

packages/core/src/permsets/AssignPermissionSets.ts
92.30% <100.00%> (ø)

Continue to review full report at Codecov.

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


A case where finetuna fails to reach a reasonable minimum

Hello again! I've found a couple of cases where finetuna fails to reach a reasonable minimum. From my very brief use of it, the common theme seems to be weak binding metals with adsorbates that don't quite bind. It seems like finetuna can fail to localize a minimum with the molecule just above the surface and instead the molecule can float up through the periodic image leading to surfaces potentially blowing up.
I don't know how useful this is, but I've also included a zip file with one such case, *N2H on Ag (111). I'm running a regular VASP optimization to see how the cg optimizer handles this and will update when it's finished.
to_zulissi.zip

I had a similar issue with CO2 on Cu(111) relaxation when I was testing for PR https://github.com/ulissigroup/finetuna/pull/51. It ended up with a structure being predicted by Finetuna cannot be calculated by the parent calculator, and thus causing a crash  to the parent calculator.
For CO2 on Cu(111) relaxation calcualtion, it starts with a structure like this

and the parent calculator failed at a structure like this

However, it worked fine for another system (CH3 on Cu(111)) I tested on. The script I used to run the calculation is described in PR https://github.com/ulissigroup/finetuna/pull/51. The input and output trajectory, and log files are attached here. Any answers on what is causing this would be really appreciated. Thanks!
finetuna_qe_test_gpu.zip

Yes, we've noticed the same thing but hadn't updated the defaults in the examples yet. If you have a weakly adsorbing situation (especially with dispersion on) or the calculation is very different from the training data (RPBE), querying one point in the beginning is much safer (and not a big difference in total number of calls. We also found query every 30 steps to be much more robust. These are the defaults in finetuna_wrap.py, but not the defaults yet elsewhere.
@gauthierlab try using ASE to write the VASP inputs, then use finetuna_wrap.py (https://github.com/ulissigroup/finetuna/blob/main/finetuna/vasp_wrapper/finetuna_wrap.py) to handle everything. That's what we've been doing for most of our recent calculations.
@gauthierlab @12Chao if using the example scripts try adjusting your learner_params to:
	learner_params={
	    "stat_uncertain_tol": 1000000,
	    "dyn_uncertain_tol": 1000000,
	    "dyn_avg_steps": 15,
	    "query_every_n_steps": 30, # 30 instead of 100 steps
	    "num_initial_points": 1, # Always sample the very first point with DFT
	    "initial_points_to_keep": [],
	    "fmax_verify_threshold": 0.03,
	    "tolerance_selection": "min",
	    "partial_fit": True,
	}

I just pushed an update that will default to using all the initial points if the list is empty, since this is kind of a confusing behavior. So it can remain unchanged if you just pull the latest version.


⚠ Bofrost.be has degraded performance

In 04c0c31, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1281 ms

Resolved: Bofrost.be performance has improved in 645f7df.


App is crashing on label.

I added a tag to a UTXO,then went to the txn details,and when I click on the label the app crashes.

Verified this issue on dev app v 1.1.7(259)


[feat] Layers panel is buggy

Layers are often not representing what is on the canvas. Sometimes it takes a bit for the layers to "Settle" when the app is first loaded in.
"I couldn't edit divs on Windows. For some reason it's kinda buggy. When I add any divs, it didn't appear in the layers panel."
When a new layer is added, it should be default selected in the layers panel.

Love it! It's kind of a hairy problem so glad you're jumping on.
This is where the tree is implemented. It builds from an array of layers that's being passed back from the DOM. Let me know as you go through if you have any issues :)
https://github.com/onlook-dev/onlook/blob/980d60a0882c3f561a56c825e995f04ec62ef2bf/apps/studio/src/routes/editor/LayersPanel/LayersTab.tsx#L124-L139

Hello @Kitenite unfortunately this task is too complicated and overwhelmed to work on as open-source contribution. I don't have so much free time. There are many aspects and bugs inside. So I guess it should be carefully reviewed by core team and divided in small clear issues.

Hey @happymvp , yeah no worries. This is very deep rooted and I'm starting to work on this. Thanks for giving it a shot.


Aws backend support

What does this PR change?
Issue: https://github.com/SUSE/spacewalk/issues/10025
This PR adds support for aws provider, defining the needed specific backend modules. Also tests support for several different client OS's.
Used as base the refactoring from https://github.com/uyuni-project/sumaform/pull/627.
 Nothing do do here.
Smoke tests were successfully done on April 14.
TODO:

[x] Backport changes on create volume from aws to libvirt (PR: )
[x] Update salt with changes from Cloud team PR
[x] Document how to create a full working mirror
[x] Document how to create a mirror data disk snapshot with terraform
[X] Circular dependency between mirror/bastian and base (possible solution under test)
[X] Bastion and mirror in different machines
[x] Change network module to allow outbound connection to intenet
[x] Move mirror to private network
[X] versions.tf file cannot be shared across back-ends since each one has is different versions
[X] After creat an instance terraform wants to replace some automatic tags
[X] Machine ssh user with password "uyumi:linux". Created with cloud-init
[X] Server is unable to connect to mirror (error: no metadata)
[X] Extra disk tag change trigger's recreate
[X] adapt script configure_aws_tunnels.rb
[X] Create machines with the JeOS
[x] Enable IPv6 on aws network (Open issue and do latter if needed) (https://github.com/SUSE/spacewalk/issues/11182)
[x] Open Bug for sles12sp5 aws image - traditional client bootstrap. Missing dbus-1-glib (https://github.com/SUSE/spacewalk/issues/11177)
[ ] Define and use the additional network
[ ] Add an highstate for bastion to deploy extra authentication keys
[ ] Contact cloud team to check use case

Notes

@moio I'm adding support for additional network on AWS.
Some considerations about the network characteristics:

Network only allows connection from inside the network
No access to outside

Now the question.
When testing it, I faced a problem that I don't know if it should/needed to solve. If we set the property connect_to_additional_network = true and connect_to_base_network = false but no additional_network is configured on base host, meaning the additional network will not be created, the apply fails since the machine will not network to be associated with and AZ doesn't have a default subnet.
It also happens if we set both properties to false.
I see at least two options:

Let the error occur and document it
If no additional network is defined on base, fall back to private network

On libvirt backend I think the machine is created without any network interface or it will raise an error (I didn't test it yet, but looking at code is what I'm expecting. I will test it during the weekend)
We also have a problem if we have a host connect only to the additional network, and then we remove the additional network configuration from base module. The apply will be hanging, since we have a machine associated with the network which will be destroyed.
what are your thoughts about these problems?

@moio Some updates about last comment.
Minion host always set properties to connect to base and additional networks.
If we don't define the additional network configuration on base module we will not be able to create hosts that connects to both networks.
In aws host module we cannot use the output of base module to control a count variable to define if we should or not have a second network attached. This will raise an error when creating are environment from scratch.
This a very typical use case, not define additional network on base module and use the minion module.
The most simple solution: always create an additional network with some default cidr_block.

@moio I'm adding support for additional network on AWS.
Some considerations about the network characteristics:
* Network only allows connection from inside the network

* No access to outside

Now the question.
When testing it, I faced a problem that I don't know if it should/needed to solve. If we set the property connect_to_additional_network = true and connect_to_base_network = false but no additional_network is configured on base host, meaning the additional network will not be created, the apply fails since the machine will not network to be associated with and AZ doesn't have a default subnet.
It also happens if we set both properties to false.
I see at least two options:
* Let the error occur and document it

* If no additional network is defined on base, fall back to private network

On libvirt backend I think the machine is created without any network interface or it will raise an error (I didn't test it yet, but looking at code is what I'm expecting. I will test it during the weekend)
We also have a problem if we have a host connect only to the additional network, and then we remove the additional network configuration from base module. The apply will be hanging, since we have a machine associated with the network which will be destroyed.
what are your thoughts about these problems?

Those are all true problems, nevertheless, at the moment we do not have very many users/use cases that really require the additional network, so I do not think those are very urgent to solve.
I would recommend in this case to ship something imperfect (such as a solution in documentation only, or initially shipping AWS support with no additional network support at all) rather than something more perfect but later. I see much more urgency to merge this already big body of work first.
IMO, long term we could consider lifting additional_network from a provider-dependent attribute to a provider-independent one, unless there are reasons why that cannot happen. At that point we can at least guarantee it's set correctly in cucumber_testsuite, which is one (and probably the most important) of our use cases.

The most simple solution: always create an additional network with some default cidr_block.

I would not have a problem with that at all.

@moio All smoke tests have passed. I will merge it now and any issue will be addressed in future PR's.


error: comparison between signed and unsigned

master @ commit 21624f21377dc37c478e85142226103b6b2389b0
cpp-netlib/boost/network/protocol/http/client/connection/async_protocol_handler.hpp:353:42: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
---    return this->partial_parsed.length() >= this-> content_length;
+++    return static_cast<long long>(this->partial_parsed.length()) >= this->content_length;

Thanks for the report @ekigwana -- do you mind sending a pull request to fix this? Also, I would suggest using std::ssize_t instead of long long.

Done


Unable to delete the CIDR Block after VPC is deleted

What happened?
CIDR blocks are attached to VPCs so deleting a VPC in Crossplane automatically deletes the CIDR block in AWS. However the CIDR resource does not get deleted in Crossplane. The deletion gets stuck in a loop since AWS first tries to get the VPC and when the VPC doesn't exist it sends a VPC not found error while the code is waiting for a CIDR not found error.
We just need to account for the VPC not found error while deleting a CIDR block.
How can we reproduce it?

Create a VPC in Crossplane
Create a CIDR block for that VPC
Delete the VPC in Crossplane (it wont ask you to delete the CIDR block)
Delete the CIDR block in Crossplane (it will give an error that the VPC is not found)

What environment did it happen in?
Crossplane version:
def0bab5cb02c8c538abb40c6d0437419bf399a4

Hi @AmnaIrfan! Looks like we need to return with ResourceExists: false here if the meta.WasDeleted(cr) is true and VPC cannot be found.
@AmnaIrfan Would you be interested in contributing this fix?

@muvaf Yes I will be fix this today. Thank you!


Added a New Button

Closes #2019
Changes proposed
I have Added a file in Button file section Named as Sudhanshu-Sharma-22 and added my button index file and css file.
Screenshots

[x] You've linked this PR to the correct issue.
[x] You have checked that the code is working correctly.
[x] You ⭐ the repository!

Hello @Sudhanshu-Sharma-22
This button is already added!
Also add from the website, dont make changes in the Buttons folder and read the Add Buttons .md file


Incorrect range - from source

Describe the bug
In some ciscumstances the API is reporting an incorrect milage for the EV.
I recognise this is an issue with the upstream source data supplied, and not an issue with the API.
My reason for reporting is to try see of only I am seeing the issue, or if it is general.   If general, pointers on how to report to the VW team would be good.
To Reproduce
When the EV is driving or charging the range is both kM and Miles is correctly reported.
Sometimes, then the car is parked up, the range is incorrectly reported in both kM and Miles
It turns out the errors is a factor of 0.62, it seems coincidental this is the conversion factor for miles to km.
(This has the effect that the kM attribute actually shows the number of miles range).
So, it seems to me something upsteams has an error in its range conversion.
Expected behavior
Miles to show miles, and kM to show kM!!!
Screenshots
N/A
Logs
N/A
Additional context
The discrepancy shows up in the weCOnnectID app as well, so confirming an upstream issue.
Sorry if it is considered inapproproiate to seek assistance here - please just close the issue.  But pointers on where to report it would be appreciated

If you see the problem in the WeConnect App too I would report that to VW directly.
Do you think there is a way to reliably detect the miscalculation? In that case I could fix that in the API.

Thanks.   Do you know how to report to VW?
I was able to correct the miscalculation when the “car is active” value was available.  But not found a way now this is removed.
Something like…
If car_is_charging or car_is_active:
   Use value
Else
   Ignore value, use previous.

Yes, I also miss the isActive flag. Hope something similar will come back.

isActive flag will be back with 0.45.1

I reported the incorrect range issue to VW in July.  After supplying sufficient evidence the error was thier end, they now claim to have fixed this issue.
Thus closing the report here.


feat(paths,markers): Add more watch options

see: https://github.com/tombatossals/angular-leaflet-directive/pull/993

Fix in #77


Coverage badge

Would love to have a coverage badge on this project. Any takers?

Done https://github.com/bitpanda-labs/loggo/pull/74


Proposal: Rename selectAction to invokeAction

or launchAction
Thoughts?

Adding this to the review topics for this week, will close if we don't get consensus

I'm fine with that.

IT HAS BEEN DECIDED! 🤸♂


Tabulators are not highlighted completely with 'linebreak' enabled

Steps to reproduce
Run this shell command:
vim -Nu NONE -S <(cat <<'EOF'
	call matchadd('ErrorMsg', '\t', 5)
	set linebreak
	normal ix
	normal >>
EOF
)

Expected behaviour
I expect all columns that belong to the tab character to be highlighted, like this:

This is the behavior of vim up to v8.2.3697.
Instead, only the first column gets highlighted:

This is the behavor with v8.2.3698 (the fix for issue #9242) and v8.2.4051 (current master).
Version of Vim
8.2.4051
Environment
OS: Gentoo
$TERM: screen.xterm-256color (also happens with GTK GUI)
Logs and stack traces
No response

Hm, I think we just need this one:
diff --git a/src/drawline.c b/src/drawline.c
index 8a042ed3e..1c7859acd 100644
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -2043,7 +2043,7 @@ win_line(
                        if (n_extra < 0)
                            n_extra = 0;
                    }
-                   if (on_last_col)
+                   if (on_last_col && c != TAB)
                        // Do not continue search/match highlighting over the
                        // line break.
                        search_attr = 0;

@lacygoill I didn't fully understand your #9242 but I think this change shouldn't affect it.

@lacygoill I didn't fully understand your #9242 but I think this change shouldn't affect it.

I can confirm that the patch doesn't introduce a regression, and that it fixes the current issue:
diff --git a/src/drawline.c b/src/drawline.c
index 8a042ed3e..1c7859acd 100644
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -2043,7 +2043,7 @@ win_line(
 			if (n_extra < 0)
 			    n_extra = 0;
 		    }
-		    if (on_last_col)
+		    if (on_last_col && c != TAB)
 			// Do not continue search/match highlighting over the
 			// line break.
 			search_attr = 0;

Thank you very much for the quick fix.

I can confirm that this patch also fixes the actual issue/regression I have with my full vimrc. Thank you very much for the quick replies!

okay I have created #9507 to address this


html ${html}

When nesting html`` -tags, properties get stringified, objects will appear as [object Object]

Instead of escaping the inner literal, try adding it as:
html`Hello ${html`Meep`}!`;

@jsilvermist yes and when I use a function which wraps the html`` call within another one, any object property I use is stringified. If you can't reproduce it, let me know, I'll throw together a reproduction

This definitely unexpected, but we'll need to investigate. A reproduction would be helpful. Thanks!

Here's a repro: https://codepen.io/positlabs/pen/BVpEOj?editors=1000
Is there a recommended way of handling loops within the html template strings? I remember dom-repeat(?) in polymer, but I'd rather not use that.

You should not call join to get a string, but just pass in the array
directly: https://codepen.io/anon/pen/OEWGKX?editors=1000
On Sun, 10 Jun 2018, 19:46 Josh Beckwith<EMAIL_ADDRESS>wrote:

Here's a repro: https://codepen.io/positlabs/pen/BVpEOj?editors=1000
Is there a recommended way of handling loops within the html template
strings? I remember dom-repeat(?) in polymer, but I'd rather not use that.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Polymer/lit-element/issues/82#issuecomment-396067698,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFrDb3S_a5cGYk5cjC56d2nK1tGdiUEpks5t7VuBgaJpZM4UWvJL
.

Here's an example demonstrating that the problem as initially described is working as intended: http://jsbin.com/yoqosif/edit?html,output.
It's unclear based on the latest discussion if there's an actual problem here so closing this issue. Please feel free to open a more specific issue if necessary. Thanks.


Add Privacy Policy to DMPConverter

Add Privacy Policy to DMPConverter.
DMPConverter Privacy Policy
Our contact
ELIXIR Belgium
VIB-UGent Center for Plant Systems Biology (PSB)
Technologiepark 71,
9052 Zwijnaarde
Phone: +32 (0)9 331 36 94
Email<EMAIL_ADDRESS>Type of personal information we collect
We collect and process the data contained in the file uploaded by the user to convert the format of the file.
We don't receive nor store any other personal information.
How we store your personal information
The data contained in the file uploaded by the user is securely stored in the website server storage for 15 minutes.
We keep the data contained in the file uploaded by the user for 15 minutes after the user has started the conversion of a file with DMPConverter. After this period of time, all data will be automatically deleted.
We don't store any other personal information. We only store the converted file for 15 minutes in order to be available for the user to download.
The data contained in the file uploaded by the user will not be provided to third parties, unless there is an appropriate legal ground for it, or you have given your explicit consent.

@vdkkia I don't see this privacy policy next to the T&C in the DMP Converter website.
What page should I edit to add this privacy policy and make a PR?


Feature: easy install

The PoC asks users to clone the repo, we need a better story around installation:

debian package
go install
etc

/cc @andrewpollock


Error on buy order

The script found the new coin but returned this error - trying a real purchase not a test:
New coins detected: [{'symbol': 'ILVUSDT', 'price': '587.00000000'}, {'symbol': 'ILVBUSD', 'price': '598.00000000'}, {'symbol': 'ILVBNB', 'price': '1.74000000'}, {'symbol': 'ILVBTC', 'price': '0.01580000'}]
Preparing to buy ILVUSDT
3
APIError(code=-1021): Timestamp for this request is outside of the recvWindow.
New coin detected, but ILVBUSD is currently in portfolio, or USDT does not match
New coin detected, but ILVBNB is currently in portfolio, or USDT does not match
New coin detected, but ILVBTC is currently in portfolio, or USDT does not match

That might be because the clock on your PC is out of sync or internet delay, the api has a parameter, recWindow that can be used to increase the time margin, is something that can be added to the bot

I'm in NZ so does that mean I need to set my computer clock to another timezone?

Nono that's not the problem, sometimes the clock gets out of sync for a second at most and that what causes problems, or maybe the order is arriving too late at the server


feat: 🎸 resolved https://github.com/johnsoncodehk/volar/issues/

resolved #195

https://user-images.githubusercontent.com/17974631/119950594-97264280-bfcd-11eb-8a74-67738d8fb42d.mp4

Thanks for checking how it was implemented!


Practice Lab 6 - Client scripting

Module 6
Task 2.2: Get Inspection type record
Step 6 and 7
Call the _handlePermitTypeSettings function from the handleOnLoad function.
In the handleOnLoad function and add the script below.
We have to add ContosoPermit.Scripts.PermitForm._handlePermitTypeSettings(executionContext);
BUT it was already in the script ! is it a typo issue

If you follow the steps correctly ContosoPermit.Scripts.PermitForm._handlePermitTypeSettings(executionContext); will not be in the handleOnLoad or handleOnChangePermitType functions.

If the issue reappeared or isn't resolved. Please reopen.


Add script to check_poi

this script base on https://discord.com/channels/438038660412342282/737341252835737641/798939119006253057
but it compare poi for subgraph with different indexers which already closed allocations.
script should have access to index_node to calculate poi.

@stevepro-lab  move this script to separate repo:
https://github.com/p2p-org/graphprotocol-poi-checker