sqlite/chinook returns PANIC: Could not parse stored DateTime string: 2009-01-01 00:00:00: ParseError(Invalid) on findMany()

chinook.db.zip
With alpha 845
/home/runner/work/introspection-engine-output/introspection-engine-output/clients/sqlite/chinook.db
11 models
- albums findMany({}) Error:
Invalid `prisma.albums.findMany()` invocation in
/home/runner/work/introspection-engine-output/introspection-engine-output/clients/sqlite/chinook.db/index.js:568:31

PANIC: Could not parse stored DateTime string: 2009-01-01 00:00:00: ParseError(Invalid)
- artists findMany({}) Error:
Invalid `prisma.artists.findMany()` invocation in
/home/runner/work/introspection-engine-output/introspection-engine-output/clients/sqlite/chinook.db/index.js:851:32

PANIC: Could not parse stored DateTime string: 2009-01-01 00:00:00: ParseError(Invalid)
- customers findMany({}) Error:
Invalid `prisma.customers.findMany()` invocation in
/home/runner/work/introspection-engine-output/introspection-engine-output/clients/sqlite/chinook.db/index.js:1126:34

PANIC: Could not parse stored DateTime string: 2009-01-01 00:00:00: ParseError(Invalid)
- employees findMany({}) Error:
Invalid `prisma.employees.findMany()` invocation in
/home/runner/work/introspection-engine-output/introspection-engine-output/clients/sqlite/chinook.db/index.js:1409:34

PANIC: Could not parse stored DateTime string: 2009-01-01 00:00:00: ParseError(Invalid)
- genres findMany({}) Error:
Invalid `prisma.genres.findMany()` invocation in
/home/runner/work/introspection-engine-output/introspection-engine-output/clients/sqlite/chinook.db/index.js:1700:31

PANIC: Could not parse stored DateTime string: 2009-01-01 00:00:00: ParseError(Invalid)
- invoices findMany({}) Error:
Invalid `prisma.invoices.findMany()` invocation in
/home/runner/work/introspection-engine-output/introspection-engine-output/clients/sqlite/chinook.db/index.js:1975:33

PANIC: Could not parse stored DateTime string: 2009-01-01 00:00:00: ParseError(Invalid)
- invoice_items findMany({}) Error:
Invalid `prisma.invoice_items.findMany()` invocation in
/home/runner/work/introspection-engine-output/introspection-engine-output/clients/sqlite/chinook.db/index.js:2258:38

PANIC: Could not parse stored DateTime string: 2009-01-01 00:00:00: ParseError(Invalid)
- media_types findMany({}) Error:
Invalid `prisma.media_types.findMany()` invocation in
/home/runner/work/introspection-engine-output/introspection-engine-output/clients/sqlite/chinook.db/index.js:2541:36

PANIC: Could not parse stored DateTime string: 2009-01-01 00:00:00: ParseError(Invalid)
- playlists findMany({}) Error:
Invalid `prisma.playlists.findMany()` invocation in
/home/runner/work/introspection-engine-output/introspection-engine-output/clients/sqlite/chinook.db/index.js:2816:34

PANIC: Could not parse stored DateTime string: 2009-01-01 00:00:00: ParseError(Invalid)
- playlist_track findMany({}) Error:
Invalid `prisma.playlist_tracks.findMany()` invocation in
/home/runner/work/introspection-engine-output/introspection-engine-output/clients/sqlite/chinook.db/index.js:3084:39

PANIC: Could not parse stored DateTime string: 2009-01-01 00:00:00: ParseError(Invalid)
- tracks findMany({}) Error:
Invalid `prisma.tracks.findMany()` invocation in
/home/runner/work/introspection-engine-output/introspection-engine-output/clients/sqlite/chinook.db/index.js:3352:31

PANIC: Could not parse stored DateTime string: 2009-01-01 00:00:00: ParseError(Invalid)

generator client {
    provider = "prisma-client-js"
    output = "../clients/sqlite/chinook.db"
  }
datasource db {
  provider = "sqlite"
  url      = "file:../sqlite_dbs/chinook.db"
}

model albums {
  AlbumId  Int      @default(autoincrement()) @id
  Title    String
  ArtistId artists
  tracks   tracks[]

  @@index([ArtistId], name: "IFK_AlbumArtistId")
}

model artists {
  ArtistId Int      @default(autoincrement()) @id
  Name     String?
  albums   albums[]
}

model customers {
  Address      String?
  City         String?
  Company      String?
  Country      String?
  CustomerId   Int        @default(autoincrement()) @id
  Email        String
  Fax          String?
  FirstName    String
  LastName     String
  Phone        String?
  PostalCode   String?
  State        String?
  SupportRepId employees?
  invoices     invoices[]

  @@index([SupportRepId], name: "IFK_CustomerSupportRepId")
}

model employees {
  Address    String?
  BirthDate  DateTime?
  City       String?
  Country    String?
  Email      String?
  EmployeeId Int         @default(autoincrement()) @id
  Fax        String?
  FirstName  String
  HireDate   DateTime?
  LastName   String
  Phone      String?
  PostalCode String?
  State      String?
  Title      String?
  ReportsTo  employees?  @relation("employeesToemployees_ReportsTo")
  customers  customers[]
  employees  employees[] @relation("employeesToemployees_ReportsTo")

  @@index([ReportsTo], name: "IFK_EmployeeReportsTo")
}

model genres {
  GenreId Int      @default(autoincrement()) @id
  Name    String?
  tracks  tracks[]
}

model invoices {
  BillingAddress    String?
  BillingCity       String?
  BillingCountry    String?
  BillingPostalCode String?
  BillingState      String?
  InvoiceDate       DateTime
  InvoiceId         Int             @default(autoincrement()) @id
  Total             Float
  CustomerId        customers
  invoice_items     invoice_items[]

  @@index([CustomerId], name: "IFK_InvoiceCustomerId")
}

model invoice_items {
  InvoiceLineId Int      @default(autoincrement()) @id
  Quantity      Int
  UnitPrice     Float
  InvoiceId     invoices
  TrackId       tracks

  @@index([TrackId], name: "IFK_InvoiceLineTrackId")
  @@index([InvoiceId], name: "IFK_InvoiceLineInvoiceId")
}

model media_types {
  MediaTypeId Int      @default(autoincrement()) @id
  Name        String?
  tracks      tracks[]
}

model playlists {
  Name       String?
  PlaylistId Int     @default(autoincrement()) @id
}

model playlist_track {
  /// This used to be part of a relation to playlists
  PlaylistId Int
  /// This used to be part of a relation to tracks
  TrackId    Int

  @@id([PlaylistId, TrackId])
  @@index([TrackId], name: "IFK_PlaylistTrackTrackId")
}

model tracks {
  Bytes         Int?
  Composer      String?
  Milliseconds  Int
  Name          String
  TrackId       Int             @default(autoincrement()) @id
  UnitPrice     Float
  AlbumId       albums?
  GenreId       genres?
  MediaTypeId   media_types
  invoice_items invoice_items[]

  @@index([MediaTypeId], name: "IFK_TrackMediaTypeId")
  @@index([GenreId], name: "IFK_TrackGenreId")
  @@index([AlbumId], name: "IFK_TrackAlbumId")
}

With query generator on alpha 908 the error format changed
- albums findMany({}) Error:
Invalid `prisma.albums.findMany()` invocation in
/home/runner/work/introspection-engine-output/introspection-engine-output/clients/query.ts:86:75
PANIC: called `Result::unwrap()` on an `Err` value: ErrorMessage { msg: "Could not parse stored DateTime string: 2009-01-01 00:00:00 (input contains invalid characters)" }
   0: failure::backtrace::internal::InternalBacktrace::new
   1: <failure::backtrace::Backtrace as core::default::Default>::default
   2: sql_query_connector::row::row_value_to_prisma_value
   3: <quaint::connector::result_set::result_row::ResultRow as sql_query_connector::row::ToSqlRow>::to_sql_row
   4: <std::future::GenFuture<T> as core::future::future::Future>::poll
   5: std::future::poll_with_tls_context
   6: <std::future::GenFuture<T> as core::future::future::Future>::poll
   7: <std::future::GenFuture<T> as core::future::future::Future>::poll
   8: <std::future::GenFuture<T> as core::future::future::Future>::poll
   9: <std::future::GenFuture<T> as core::future::future::Future>::poll
  10: <std::future::GenFuture<T> as core::future::future::Future>::poll
  11: std::future::poll_with_tls_context
  12: <std::future::GenFuture<T> as core::future::future::Future>::poll
  13: <std::future::GenFuture<T> as core::future::future::Future>::poll
  14: std::panicking::try::do_call
  15: __rust_maybe_catch_panic
             at src/libpanic_unwind/lib.rs:78
  16: <std::future::GenFuture<T> as core::future::future::Future>::poll
  17: tokio::task::core::Core<T>::poll
  18: std::panicking::try::do_call
  19: __rust_maybe_catch_panic
             at src/libpanic_unwind/lib.rs:78
  20: tokio::task::harness::Harness<T,S>::poll
  21: tokio::runtime::thread_pool::worker::GenerationGuard::run_task
  22: tokio::runtime::thread_pool::worker::GenerationGuard::run
  23: std::thread::local::LocalKey<T>::with
  24: tokio::runtime::thread_pool::worker::Worker::run
  25: tokio::task::core::Core<T>::poll
  26: std::panicking::try::do_call
  27: __rust_maybe_catch_panic
             at src/libpanic_unwind/lib.rs:78
  28: tokio::task::harness::Harness<T,S>::poll
  29: tokio::runtime::context::enter
  30: std::sys_common::backtrace::__rust_begin_short_backtrace
  31: std::panicking::try::do_call
  32: __rust_maybe_catch_panic
             at src/libpanic_unwind/lib.rs:78
  33: core::ops::function::FnOnce::call_once{{vtable.shim}}
  34: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
             at /rustc/f3e1a954d2ead4e2fc197c7da7d71e6c61bad196/src/liballoc/boxed.rs:1022
  35: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
             at /rustc/f3e1a954d2ead4e2fc197c7da7d71e6c61bad196/src/liballoc/boxed.rs:1022
      std::sys_common::thread::start_thread
             at src/libstd/sys_common/thread.rs:13
      std::sys::unix::thread::Thread::new::thread_start
             at src/libstd/sys/unix/thread.rs:80
  36: start_thread
  37: __clone

I can not confirm this any more:
const { PrismaClient } = require('@prisma/client')

const prisma = new PrismaClient()

prisma.albums.findMany().then(res => {
    console.log(res)
})

C:\Users\Jan\Documents\throwaway\1763>node index.js
[
  { AlbumId: 1, Title: 'For Those About To Rock We Salute You' },
  { AlbumId: 2, Title: 'Balls to the Wall' },
  { AlbumId: 3, Title: 'Restless and Wild' },
  { AlbumId: 4, Title: 'Let There Be Rock' },
...

Can you please check if you can still confirm this @Jolg42 and/or @divyenduz?

Fixed in latest alpha ✅ 🎊

I still get this error in @prisma/cli ver 2.0.0
How do I ensure i am using the version with this fix?

@jschank Please open an new issue with a minimal reproduction. Thanks!

I think I see the problem. When I create a new sqlite3 database using prisma and write data into the db programmatically. I can both read and write data with dates.
However, when I try to generate a prisma Client using introspection of an existing database. that is where this fails.
The existing database was created with typeORM and the date is written as '2020-05-31 21:11:22.000', On the other hand, prisma writes the data to the db as '1591999869569'
IF anything this maybe an issue with what the introspection process decides about the data it sees.

Yes, please open a new issue with all the information and we can take a look, reproduce and hopefully fix it @jschank.

Hi!
I have the same problem (.
Emitting error {
  timestamp: 2020-06-16T22:41:44.829Z,
  level: 'error',
  target: 'query_engine',
  fields: {
    message: 'PANIC',
    reason: 'called `Result::unwrap()` on an `Err` value: ErrorMessage { msg: "Could not parse stored DateTime string: 2011-10-31 20:00:00.000 +00:00 (input contains invalid characters)" }\n' +
      '\n' +
      '   0: backtrace::backtrace::trace\n' +
      '   1: backtrace::capture::Backtrace::new_unresolved\n' +
      '   2: failure::backtrace::internal::InternalBacktrace::new\n' +
      '   3: <failure::backtrace::Backtrace as core::default::Default>::default\n' +
      '   4: sql_query_connector::row::row_value_to_prisma_value\n' +
      '   5: <quaint::connector::result_set::result_row::ResultRow as sql_query_connector::row::ToSqlRow>::to_sql_row\n' +
      '   6: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll\n' +
      '   7: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll\n' +
      '   8: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll\n' +
      '   9: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll\n' +
      '  10: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll\n' +
      '  11: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll\n' +
      '  12: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll\n' +
      '  13: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll\n' +
      '  14: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll\n' +
      '  15: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll\n' +
      '  16: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll\n' +
      '  17: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll\n' +
      '  18: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll\n' +
      '  19: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll\n' +
      '  20: hyper::proto::h1::dispatch::Dispatcher<D,Bs,I,T>::poll_catch\n' +
      '  21: <hyper::server::conn::ProtoServer<T,B,S,E> as core::future::future::Future>::poll\n' +
      '  22: <hyper::server::conn::upgrades::UpgradeableConnection<I,S,E> as core::future::future::Future>::poll\n' +
      '  23: <hyper::server::conn::spawn_all::NewSvcTask<I,N,S,E,W> as core::future::future::Future>::poll\n' +
      '  24: tokio::task::core::Core<T>::poll\n' +
      '  25: tokio::task::harness::Harness<T,S>::poll\n' +
      '  26: tokio::runtime::thread_pool::worker::GenerationGuard::run_task\n' +
      '  27: tokio::runtime::thread_pool::worker::GenerationGuard::run\n' +
      '  28: std::thread::local::LocalKey<T>::with\n' +
      '  29: tokio::runtime::thread_pool::worker::Worker::run\n' +
      '  30: tokio::task::core::Core<T>::poll\n' +
      '  31: tokio::task::harness::Harness<T,S>::poll\n' +
      '  32: tokio::runtime::blocking::pool::Inner::run\n' +
      '  33: tokio::runtime::context::enter\n' +
      '  34: std::sys_common::backtrace::__rust_begin_short_backtrace\n' +
      '  35: core::ops::function::FnOnce::call_once{{vtable.shim}}\n' +
      '  36: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once\n' +
      '             at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4\\src\\liballoc/boxed.rs:1008\n' +
      '      <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once\n' +
      '             at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4\\src\\liballoc/boxed.rs:1008\n' +
      '      std::sys::windows::thread::Thread::new::thread_start\n' +
      '             at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4\\/src\\libstd\\sys\\windows/thread.rs:56\n' +
      '  37: sqlite3GenerateConstraintChecks\n' +
      '  38: sqlite3GenerateConstraintChecks\n',
    file: 'query-engine/connectors/sql-query-connector/src/row.rs',
    line: 119,
    column: 26
  }
}

Please open a new issue with a reproduction @MOTORIST


Review pool ejection

With 1.1, there's always a retry policy so pool ejection is not needed. We need to review this scenario

But retry is not pool ejection right? Or you mean that by default
implements a retry with pool ejection?
El mié., 27 mar. 2019 20:21, Rafael Benevides<EMAIL_ADDRESS>escribió:

With 1.1, there's always a retry policy so pool ejection is not needed. We
need to review this scenario
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/redhat-developer-demos/istio-tutorial/issues/208, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABcmYYedg0rRJAEwwlaNjrEaZuEQ4mwgks5va8TFgaJpZM4cOmC0
.

Fixed.


[zh-cn]Update content/zh-cn/docs/setup/production-environment/tools/kubespray.md

This PR is duplicated with another PR.

#35249

/close


README Improvement for Better Onboarding

Summary: The current README.md is functional but lacks detail for a smooth onboarding experience.
Details: New contributors may struggle to get started due to missing sections in the README.md regarding the overall project architecture and specific command examples for setting up and running tests.
Affected Areas: README.md.
Dependencies: None.

Proposed Solution: Expand the README.md to include more detail on the project structure, running tests, using the linter and formatter, and contributing to the repository

The README.md now includes sections on the project architecture, setting up and running tests, and using tools like linter and formatter. More detail is still needed on advanced topics and workflows.


Rework visual components for the banner/logo and URN box

From our emails: "8. Banner will be shortened with URN box on the right rather than underneath."

I can definitely implement this if you send the new banner my way--or you can change the HTML templates here: https://github.com/CopticScriptorium/cts/blob/master/coptic/templates/header.html#L19

We shouldn't need a new banner.  You should be able to just move the box up.  The banner is not a solid banner -- it's several individual image files strung together.  Add the box.
I tried to experiment with it but couldn't see the implementation -- didn't look like it was going on either data.copticscriptorium.org or coptic.aweb.io.
Alternatively you could put the URN box in your brown menu bar with all the

I'm unclear of which direction you would like the banner shortened and need a little more information about what you mean by "move the box up".  Are you meaning that you want the URN resolver input field that says "Enter URN..." inline with the other header logos?

My answer was going to be to just refer to our conversation on Skype
Monday, but the nav bar situation changes things.  We need links to
home, documentation, and about.  And the URN box should go to the right
of the banner or on your lower query bar with corpus, annotation, etc.
If you have a design rec, please suggest it. Otherwise I need to sleep
on it.

After thinking about it today, I think we should stick with the plan we discussed over Skype.  The box that says "enter URN" just needs to move up and the width of the logo section should decrease.

looks good!


Initial Roadmap

Roadmap
Use libflatterer to make an API that covers most aspects of flatterer:

Using rust web framework to keep memory low and speed fast.
Input sources can be:

An external web URL.
JSON data in post request body.
Multipart form upload.

File stored in tmp location and can be used across requests for limited time.
Limits:

Size limit on upload/download should be fairly generous maybe 500MB
Upload/download time of files main concern will be larger than the processing time.
Files deleted after an hour.
Size of temporary space a contraint if used a lot. Possibly use LRU disk cache so time limit could be less than a hour if used a lot.
Memory limits not an issue as all can be run in single process with multiple threads working on all cores.
Can easily run on heroku with sticky sessions, so that if multiple dynos are used then users will still see their data.
Probably condider some rate limiting, just so not abused.

Output formats:

Zip File of whole output directory
Just XLSX File
Just main table as CSV
Just fields.csv file as JSON
Preview mode with first 10 lines of each output CSV file.

Use API to build basic frontend:

SPA probably in vue.
Input sources can be:

An external web URL.
Multipart form.
Text box in a form.

If error in parsing the data or zero lines are created, suggest options that would mean file could be parsed.
Initailly show preview of output CSV files.
Give ways to edit/reorder the fields.csv in UI
Buttons to download appropriate output if parsing went well.

@jpmckinney this could be of interest.

Thank you for writing this up!

Initail prototype on heroku:    https://flatterer.herokuapp.com/
Has jsonstream guessing and the library allows top level objects, so most arbartary JSON should have ouput now without any config. For top level object it will stream any list of objects and store data in top level object in main table.  Meaning say for OCDS, it will handle packages whilst putting package data into the main table and putting releases/records in tables starting with releases_/_records if you do not specify a path.

What is jsonstream guessing? Does that just mean it can handle a JSON stream (e.g. concatenated JSON) without a specific instruction?


2139 width constrained

Coverage remained the same at 67.534% when pulling 66d9eca809089cd6809c31d8e88fdb68b8d2909a on 2139-width-constrained into 7bc33bab473f8d205cac3da6c3607ec5ba1393c8 on master.

Coverage remained the same at 67.534% when pulling 66d9eca809089cd6809c31d8e88fdb68b8d2909a on 2139-width-constrained into 7bc33bab473f8d205cac3da6c3607ec5ba1393c8 on master.

Coverage remained the same at 67.534% when pulling 66d9eca809089cd6809c31d8e88fdb68b8d2909a on 2139-width-constrained into 7bc33bab473f8d205cac3da6c3607ec5ba1393c8 on master.


⚠ HawkeUno has degraded performance

In 014cb0b, HawkeUno ($UNO) experienced degraded performance:

HTTP code: 403
Response time: 1549 ms

Resolved: HawkeUno performance has improved in 0991561 after 6 minutes.


Image Quality. How should I handle it?

I'm using this for the first time and I'm not really experienced in the mobile world.
I want to use this to get a photo and then post it to a server. The photo needs a certain level of quality.
By setting quality to 1.0 it does not put an enough quality for me. Is there any way of handling this?
Why is the example so low? 0.2 in quality?
If anyone can offer explanation and advice I would appreciate it

@JoaoCnh you found a way to get a high quality? I am struggling with the same challenge..

For maximun quality you need to set quality to 1.0 and don't set maxHeight and maxWidth options


BFS fix

Fixes some errors in the BFS that have shown up during visualisation.

Coverage decreased (-0.06%) to 83.653% when pulling 54826a60491093a38ed3cfe8515a4fbdcdda5410 on shsr04:bfs into a3377c6d033fcb7313388d7fa6b4478ffa0fdc87 on thm-mni-ii:master.


fix moments float16 cast bug

Related https://github.com/tensorflow/addons/issues/2550.
Reproduce example:
tf.debugging.enable_check_numerics()
tf.nn.moments(tf.constant([[[[[ -741., 353.2, 1099., -1807. ,502.8, -83.4, 333.5, -130.9]]]]], dtype=tf.float16), [1, 2, 4], True)

Still waiting for merging this fix

@mihaimaruseac What issue we have internally?

Just a reminder: we don't have copybara visibility, any feedback here?

Any plans to merge this fix?

@gbaned another one which had the old CLA and failed to import. Needed to force trigger new CLA scan and then it works

Hi @fsx950223 Can you please check @mihaimaruseac's comments and keep us posted ? Thank you!

Hi @fsx950223 Any update on this PR? Please. Thank you!

Can anybody tell the reason why this PR was rejected?


Allow specify a connection class on AR adapter

It fits better on Rails multidb setups.

Here's what I'm suggesting: https://github.com/jnunemaker/flipper/compare/ar-base
Then you should be able to set the connection with:
Flipper::Adapters::ActiveRecord::Model.connects_to database: { writing: :flipper, reading: :flipper_replica }

Hi @bkeepers,
Yes, I had to subclass them. Your approach works even better, at least for my current scenario. Do you plan to merge it and release it soon?
Instead of connects_to, I included a module with more behavior, but it's basically the same.
Flipper::Adapters::ActiveRecord::Model.include(Global::Concerns::Connection)

I am going to close this PR.


Add log4j2 template for kyuubi repl commands

:mag: Description
Issue References 🔗

This pull request fixes #
Describe Your Solution 🔧
Add log4j2 template for kyuubi repl command.
Since I want to add rolling logs for kyuubi server, we need to add independent log4j properties for kyuubi repl command.
Types of changes :bookmark:

[ ] Bugfix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Test Plan 🧪
Behavior Without This Pull Request :coffin:
Behavior With This Pull Request :tada:
Related Unit Tests

Checklist 📝

[X] This patch was not authored or co-authored using Generative Tooling

Be nice. Be informative.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 58.46%. Comparing base (39d565c) to head (d8d6464).
Report is 2 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #6196      +/-   ##
============================================
- Coverage     58.54%   58.46%   -0.09%
  Complexity       24       24
============================================
  Files           649      649
  Lines         39361    39361
  Branches       5415     5415
============================================
- Hits          23045    23013      -32
- Misses        13846    13873      +27
- Partials       2470     2475       +5

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Fix crash when using the Tileset Editor when the given shape has no points

Fixes #27360.

@YeldhamDev whi did you remove the default shape on  scene/resources/convex_polygon_shape_2d.cpp?
i'm not sure if that should be part of this PR

@MarianoGnu As explained in the commit itself, it's for consistency, it's the only shape that starts with predefined points.

@akien-mga @reduz looks good to me

@MarianoGnu In the same way as the other fix, by skipping the code that's trying to access the points in a shape without any.

RectShape2D has an extents property, it is not a polygon. The same way as circle shape has a radious.
It shoudn't help to fix the issue. The TileSet editor should ignore non polygon shapes
As fas as i knew it was already the case, but if not, the described changes wont prevent it. This prevents drawing invalid polygons, the same way as #27201 wich is already merged.

@MarianoGnu You can literally grab the reproduction project, and see that it doesn't crash anymore...

I made some edits to the commit so it will skip drawing the polygon if less than 3 points are present, with modifies the recent implementation merged of skipping it if no points are found.
#27360 was already fixed by #27201, as this one would.

Thanks!

Cherry-picked for 3.1.1.
Only cherry-picked commit 9501900 which fixes the crash. Commit c7cfe53 would break compatibility as I understand it.

@akien-mga Not really, as it only affects newly created shapes.

Not really, as it only affects newly created shapes.

Yes, but as I understand it, if your 3.1 game is creating shapes from script and you used the default points, this change would break this use case.


Try a decorator-based alternative to abc

When removing duplicated chunks of logic, we tend to replace with declarative
code (i.e. just indicating the parts that are unique to each situation). That
tends to make heavy use of an abstract base class:
class SomeBase(object):
    __metaclass__ = abc.metaclass

    @abc.abstractproperty
    def SOME_CONST(self):
        raise NotImplemented()

    @abc.abstractmethod
    def some_logic(self, input_here):
        raise NotImplemented()

    def process_input(self, input_here, tail):
        return self.some_logic(input_here) + self.SOME_CONST + tail

class Example1(SomeBase):
    SOME_CONST = '1'

    def some_logic(self, input_here):
        return input_here * 2

class Example2(SomeBase):
    SOME_CONST = '2'

    def some_logic(self, input_here):
        return input_here * 4

for cls in (Example1, Example2):
    print(cls().process_input("input", "tail"))

That works okay, but includes a lot of boiler plate and isn't a great use
case for classes (as every class is effectively a singleton). I'd argue there
are multiple levels of indirection, too, which make reading the code more
difficult.
Here, I propose an alternative based on decorators, inspired by py.test's
heavy decorator use. The decorators create a little DSL, significantly
altering the wrapped function (notably, changing its arguments and adding
extra logic). That makes reading the logic more challenging than if it were
all in-lined, but I think better than the abc situation above. To replicate
the above example, we'd have:
def process_with_const(some_const):
    def decorator(fn):
        @wraps(fn)
        def wrapper(input_here, tail):
            return fn(input_here) + some_const + tail
        return wrapper
    return decorator

@process_with_const('1')
def process_with_example1(input_here):
    return input_here * 2

def example2(input_here):
    return input_here * 4
process_with_example2 = process_with_const('2')(example)

for fn in (process_with_example1, process_with_example2):
    print(fn("input", "tail"))  # note the arg count is different

What do you think? Is this worth pursuing?

It looks very pythonic!  It seems more minimal then the previous example.  So here is a good open question - is there a performance difference that might matter for non simple examples?  I'm going to run some experiments.

Low risk and this has been open for a bit, so I'm merging.


Helper for creating backup pipeline for dynamo tables

This is a good first step. The next step after that would be to integrate it into BridgePF.
We'll also need to figure out how to solve the ever-growing Upload, Attachment, and Record tables.

I meant to send out the PR in BridgePF yesterday, emailed the link now.

Looks good. Feel free to merge whenever you're ready.


[zero-copy] Add missing combinators

This should be all that's missing except for validate, which doesn't seem quite implementable yet

Thanks so much! One step closer to merge >:)


Typescript Auto-import pulls in invalid syntax

VSCode Version: 1.27.2
OS Version: MacOS Mojave

Steps to Reproduce:

Try to auto-import a dependency
It pulls in invalid syntax

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

Duplicate of https://github.com/Microsoft/vscode/issues/59506


Allow skip rules for specific policy

Some policies can have a different rule to define the skip action.
Add an option at policy level to define the skip.
  skip: () => { ...globalSkiprule}
  policy: {
    Query: {
      welcome: {
        skip: () => { ...skipRules}
      }
    }
  }

released on v0.7.0


Update Sphinx version (fixes #1613)

What advantages does the newer version give us?

@cket The current documentation uses syntax from 1.5.x,

Jenkins, skip this please.
(Sorry, I accidentally closed the PR. It passed, though.)


add theme to Component HeroSection

With this PR we make the HeroSection more usable, we no longer have fixed image sources, and this PR also introduces themes and variants to the component.
However, there are still some stuff that have to be solved for this. For example, when overlay=true is passed, the background does not get rendered in Outlook at all, but I will create an issue for that.
I would still merge this so we can merge to production


#4 Replace Karma+Jasmine with Jest test framework

Related to issue #4

Coverage remained the same at 100.0% when pulling 52c77ff5fee556654bee7d68b531683c6fae7470 on migrate-to-jest into f6eb166e5647a0ecfab34dd71b7bbeb1dfcefbe5 on master.

@ukupat Jest has really nice feature - snapshot testing. i.e. expect(result).toMatchSnapshot(). So you don't have to have this huge result strings in the test's code. Maybe we can use it as well?


lighthouse: init at 2016-01-26

Motivation for this change
A nice dmenu alternative: https://github.com/emgram769/lighthouse

Note some unusual modification were required:

Stripped the Makefile from some pkg-config tests that didn't work right.
Written a special script called lighthouse-install placed next to lighthouse in $out/bin that deploys the ~/.config/lighthouse configuration files. Those normally getget deployed with make config.

Overall, the user simply evokes lighthouse-install in the shell before the first run.
Things done

[x] Tested using sandboxing
(nix.useChroot on NixOS,
or option build-use-chroot in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] OS X
[x] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

travis run out of room...

note I'm in the process of upstreaming the makefile fixes.

Thanks for merging.  When upstream pulls the Makefile fixes, I'll be able to remove the patch and cleanup the rest of the package.


Gulp task

Are there any plans to wrap this so it can be used as a gulp task? Unfortunately gulp-rysnc https://www.npmjs.com/package/gulp-rsync seems dead.

No plans on my part. I've more or less fully transitioned to using npm scripts and plain cli tools for my build processes now ... the main reason being your only dependencies are the tools themselves, rather than adding a task runner like Grunt or Gulp, plus a plugin project for every tool as well.
That said, from taking a quick look at gulp-rsync I think rsyncwrapper would work pretty well wrapped into a minimal gulp task that handled the file streams etc.
I'd certainly merge any pull requests that made rsyncwrapper more compatible with that use case, or fixed bugs etc.

@jedrichards Thanks for the reply. I understand there is a move to using npm scripts, but I haven't looked at this yet and have to say that overall I'm pretty happy with gulp.
I've ended up using rsync-slim https://www.npmjs.com/package/rsync-slim in gulp and it does just what I need. I was using shipit up until now, which uses rsync, however having all build and deploy tasks in gulp is simpler and streamlines my work-flow.

Ah cool, glad you got it to work!
Fwiw rsyncwrapper and rsync-slim are very similar projects, the API is basically the same, you could use rsyncwrapper in a Gulp task in the same way. rsyncwrapper gets about 8K downloads a month and is fully tested ... rsync-slim gets about 200 and has no tests :)


[EMB-368] Add mirage support for files, user files, and root

Purpose
Make mirage for ember-osf-web more complete. Note: you cannot go directly to a file detail page because the guid resolver could use a little extra work to handle that properly (and probably other guid situations)
Summary of Changes

Add support for non-relationship links
Add support for files
Replace user serialization on root with call to user serializer
Allow type and id on relationships to serialize correctly

QA Notes
No QA; this is all developer-facing
Ticket

https://openscience.atlassian.net/browse/EMB-3368
Reviewer Checklist

[ ] meets requirements
[ ] easy to understand
[ ] DRY
[ ] ~testable and includes test(s)~ But will allow for testing on quickfiles
[ ] changes described in CHANGELOG.md

Pull Request Test Coverage Report for Build 1545

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 65.424%

Totals

Change from base Build 1540:
0.0%

Covered Lines:
3079

Relevant Lines:
4366

💛  - Coveralls


Fix project report bug

Fixes #526
Review Checklist

Tests were added to cover all code changes
Documentation was added / updated
Code and tests follow standards in CONTRIBUTING.md

Hey @dpuccetti I'll probably just merge this before I leave today but if you want to look it over, go ahead. It's a simple fix.


Discussion: Should Pools be validated for overlapping ranges?

As of writing this issue, the provider has no validation for pools that overlap. This may cause the provider to give out duplicate IPs, which could result in serious issues. We'd like to start a discussion about why or why not validation would be something desired.
We're interested in cases where rejecting a pool that overlaps another pool would be incorrect behavior.

I could see this as an optional feature that can be toggled as a command line flag.
Not sure if there are practical cases, but with NAT it's easily possible to have two clusters use the same subnet.
We could argue that they should be in different namespaces when this is the case, but don't like creating a restriction like that, which is why I would want it to be optional.

/remove-lifecycle stale


Upgrade sdk libraries to latest versions

IMPORTANT: Where possible all PRs must be linked to a Github issue
Fixes #2816
Engineer Checklist

[ ] I have written Unit tests for any new feature(s) and edge cases for bug fixes
[ ] I have added any strings visible on UI components to the strings.xml file
[ ] I have updated the  CHANGELOG.md file for any notable changes to the codebase
[ ] I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the project's style guide
[ ] I have built and run the FHIRCore app to verify my change fixes the issue and/or does not break the app
[ ] I have checked that this PR does NOT introduce breaking changes that require an update to Content and/or Configs? If it does add a sample here or a link to exactly what changes need to be made to the content.

Code Reviewer Checklist

[ ] I have verified Unit tests have been written for any new feature(s) and edge cases
[ ] I have verified any strings visible on UI components are in the strings.xml file
[ ] I have verifed the CHANGELOG.md file has any notable changes to the codebase
[ ] I have verified the solution has been implemented in a configurable and generic way for reuseable components
[ ] I have built and run the FHIRCore app to verify the change fixes the issue and/or does not break the app

The blocker has been resolved.

Can somebody write a quick status on this PR?

What's working?
What's not working?

@vitorpamplona
What's working
All engine, geowidget, performance and quest tests are passing
What's not working
Test coverage for the Quest module is not being generated correctly.
The command used on main branch fails on this branch with the following error
Error: Failed to generate Emma/JaCoCo coverage. Is Emma/JaCoCo jar on classpath?
Generated code coverage data to /data/user/0/org.smartregister.opensrp/files/coverage.ec
cat: /data/user/0/org.smartregister.opensrp/files/coverage.ec: No such file or directory
Error: The process '/bin/sh' failed with exit code 1

cc @ndegwamartin

Do we want to convert this app to fully use the FhirOperator or do we still want to process things directly with the evaluator code, bypassing the operator's cache?

@vitorpamplona We should migrate to fully use FhirOperator and the knowledge manager.

@f-odhiambo @dubdabasoduba There is a significant change in the way fhirpath evaluation for resource ids is done. Before this upgrade evaluation would return the resource type as well as the logical id e.g Patient/1234, this has now changed to return only the logical id i.e 1234.
This introduces a bug when creating references such as subject, based-on, for e.t.c in StructureMaps as they require the resource type in addition to the logical id.
The following is a sample of how a reference is currently create on main
task.for = create('Reference') as ref, ref.reference = evaluate(subject, $this.id.replaceMatches('/_history/.*', ''))

This will have to be updated to the following. Note that the resource type (Patient) is now hardcorded.
task.for = create('Reference') as ref, ref.reference = evaluate(subject, 'Patient/' + $this.id.replaceMatches('/_history/.*', ''))

This change will need to be done for all StructureMaps where references are created once this PR is merged.

@f-odhiambo @dubdabasoduba There is a significant change in the way fhirpath evaluation for resource ids is done. Before this upgrade evaluation would return the resource type as well as the logical id e.g Patient/1234, this has now changed to return only the logical id i.e 1234.
This introduces a bug when creating references such as subject, based-on, for e.t.c in StructureMaps as they require the resource type in addition to the logical id.
The following is a sample of how a reference is currently create on main
task.for = create('Reference') as ref, ref.reference = evaluate(subject, $this.id.replaceMatches('/_history/.*', ''))

This will have to be updated to the following. Note that the resource type (Patient) is now hardcorded.
task.for = create('Reference') as ref, ref.reference = evaluate(subject, 'Patient/' + $this.id.replaceMatches('/_history/.*', ''))

This change will need to be done for all StructureMaps where references are created once this PR is merged.

@Rkareko thanks for this. I think we can communicate this as one of the breaking changes to the projects then we can plan to adjust accordingly.

@jingtang10 do you know if this is an intentional change?On Dec 21, 2023, at 03:36, Benjamin Mwalimu @.***> wrote:
@f-odhiambo @dubdabasoduba There is a significant change in the way fhirpath evaluation for resource ids is done. Before this upgrade evaluation would return the resource type as well as the logical id e.g Patient/1234, this has now changed to return only the logical id i.e 1234.
This introduces a bug when creating references such as subject, based-on, for e.t.c in StructureMaps as they require the resource type in addition to the logical id.
The following is a sample of how a reference is currently create on main
task.for = create('Reference') as ref, ref.reference = evaluate(subject, $this.id.replaceMatches('/_history/.*', ''))
This will have to be updated to the following. Note that the resource type (Patient) is now hardcorded.
task.for = create('Reference') as ref, ref.reference = evaluate(subject, 'Patient/' + $this.id.replaceMatches('/_history/.*', ''))
This change will need to be done for all StructureMaps where references are created once this PR is merged.
@Rkareko thanks for this. I think we can communicate this as one of the breaking changes to the projects then we can plan to adjust accordingly.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

@pld what does the evaluate function do? Does it depend on the SDK at all? If it's fhir path evaluation I'm guessing this is not related to the sdk code but the HAPI FHIRPath engine code?
In any case, I'm not aware of anything we've done in the android fhir sdk code that might change the the handling of ids.
Can we circumvent this somehow? Can the fix live in evaluate function instead of changing all structure maps? I'm not familiar with fhircore code. But just a thought.

FYI, I added some protections for Subject/Practitioner ids in the latest PR.
https://github.com/google/android-fhir/pull/2383/files

K, that all makes sense, it seems like something that’d be changed at a deeper level, @Rkareko https://github.com/Rkareko can you please look into these suggestions, let’s see if we can come up with a solution that doesn’t require config changes

On Dec 21, 2023, at 9:11 AM, Jing Tang @.***> wrote:
@pld https://github.com/pld what does the evaluate function do? Does it depend on the SDK at all? If it's fhir path evaluation I'm guessing this is not related to the sdk code but the HAPI FHIRPath engine code?
In any case, I'm not aware of anything we've done in the android fhir sdk code that might change the the handling of ids.
Can we circumvent this somehow? Can the fix live in evaluate function instead of changing all structure maps? I'm not familiar with fhircore code. But just a thought.
—
Reply to this email directly, view it on GitHub https://github.com/opensrp/fhircore/pull/2825#issuecomment-1866330343, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAMMEQDAIUYB65HXC3PH6TYKQ7QFAVCNFSM6AAAAAA6FIGHAWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNRWGMZTAMZUGM.
You are receiving this because you were mentioned.

@jingtang10 @pld @f-odhiambo

@pld what does the evaluate function do? Does it depend on the SDK at all? If it's fhir path evaluation I'm guessing this is not related to the sdk code but the HAPI FHIRPath engine code?

Evaluate refers to the fhirpath evaluation function. When performing StructureMap based extraction FHIR Core calls the performExtraction function which in turn calls the SDK extractByStructureMap function. The SDK extractByStructureMap then calls HAPI FHIR StructureMapUtilities.transform function. The evaluate function is called within HAPI FHIR code
The change in how evaluation for resources IDs is handled seems to have been implementered on Remove resourceType, version, and qualifier from FHIRPath id results  PR. There is a test case that validates this change here

In any case, I'm not aware of anything we've done in the android fhir sdk code that might change the the handling of ids.

The change is upgrading the HAPI FHIR structures library ca.uhn.hapi.fhir:hapi-fhir-structures

K, that all makes sense, it seems like something that’d be changed at a deeper level, @Rkareko https://github.com/Rkareko can you please look into these suggestions, let’s see if we can come up with a solution that doesn’t require config changes

Since the evaluate functionality lies withing HAPI FHIR code there does not appear to be another way to resolve this issue apart from updating the StructureMaps.

task.for = create('Reference') as ref, ref.reference = evaluate(subject, 'Patient/' + $this.id.replaceMatches('/_history/.*', ''))

@Rkareko is there a way in structuremapping language to get the the resource type of $this?

Just to clarify, the hope is that if we can get the resource type from $this, we can override the $this.id function to match what it used to be

task.for = create('Reference') as ref, ref.reference = evaluate(subject, 'Patient/' + $this.id.replaceMatches('/_history/.*', ''))

@Rkareko is there a way in structuremapping language to get the the resource type of $this?

My initial thought was to use $this.resourceType, however when running the tests, it does not return resource type.

Just to clarify, the hope is that if we can get the resource type from $this, we can override the $this.id function to match what it used to be

The updated logic for creating references would be
task.for = create('Reference') as ref, ref.reference = evaluate(subject, $this.type().name + $this.id.replaceMatches('/_history/.*', ''))

Can we override the $this.id function? That was no structuremaps needs to changeOn Jan 19, 2024, at 04:36, Rkareko @.***> wrote:
Just to clarify, the hope is that if we can get the resource type from $this, we can override the $this.id function to match what it used to be
The updated logic for creating references would be
task.for = create('Reference') as ref, ref.reference = evaluate(subject, $this.type().name + $this.id.replaceMatches('/_history/.*', ''))
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

Can we override the $this.id function? That was no structuremaps needs to change

$this.id is a property, it should not be possible to override it, but even if we did, the application may break for other occurrences in the application where the code expects the new behaviour.

Can we override the $this.id function? That was no structuremaps needs to change

$this.id is a property, it should not be possible to override it, but even if we did, the application may break for other occurrences in the application where the code expects the new behaviour.

That's true, what if we create a new property $this.nameAndId that works the way we currently assume $this.id works, then the update to our structure maps is a search and replace /this.id/this.nameAndId?

Can we override the $this.id function? That was no structuremaps needs to change

$this.id is a property, it should not be possible to override it, but even if we did, the application may break for other occurrences in the application where the code expects the new behaviour.

That's true, what if we create a new property $this.nameAndId that works the way we currently assume $this.id works, then the update to our structure maps is a search and replace /this.id/this.nameAndId?

This can work with the caveat that we still need to update all the Structure Maps and re-upload them for all projects. Makes the Structure Map part updates easier though.
However if that's the case, I think we should weigh if the additional effort to refactor the SMs according to the new standards is worth it since we will be adhering to what is recommended (with no extra/custom code workaround).

Can we override the $this.id function? That was no structuremaps needs to change

$this.id is a property, it should not be possible to override it, but even if we did, the application may break for other occurrences in the application where the code expects the new behaviour.

That's true, what if we create a new property $this.nameAndId that works the way we currently assume $this.id works, then the update to our structure maps is a search and replace /this.id/this.nameAndId?

This can work with the caveat that we still need to update all the Structure Maps and re-upload them for all projects. Makes the Structure Map part updates easier though.
However if that's the case, I think we should weigh if the additional effort to refactor the SMs according to the new standards is worth it since we will be adhering to what is recommended (with no extra/custom code workaround).

Yea good point and it's not any harder to do a search and replace for /this.id/this.type().name + this.id, I'll add that note in here

@f-odhiambo fixed the the Growth Monitoring piece, check out the screenshot below. Currently every encounter for Growth monitoring on the same day is recorded and saved. Is this the desired behaviour or should we use some mechanism to ensure each day only has one entry?

Also note, we needed this minor change to the SDK https://github.com/google/android-fhir/pull/2420 . We can work on getting unit tests in for this to make it ready for review.

Backward compatible Careplan generation works . The only caveat is to update the structure maps with Richard's comment here .

@ndegwamartin fyi let's update to >=1.1 after we merge this pr

@vitorpamplona here's the commit I was referring to earlier . If you can revert this on a local branch and try to build you should reproduce the compilation issue related to the hapi fhir dependencies.

Nice, are you getting the right versions on the HAPI Fhir now?

Nice, are you getting the right versions on the HAPI Fhir now?

Not yet, with this state it doesn't even compile. Created the branch so that it is easy for you to replicate the issue by just trying to build.

Nice, are you getting the right versions on the HAPI Fhir now?

Not yet, with this state it doesn't even compile. Created the branch so that it is easy for you to replicate the issue by just trying to build.

@vitorpamplona were you able to replicate?


Drivers not loading

Description
On load the plugin cannot load the MySQL Drivers. Error: https://bytebin.lucko.me/4R3JOxIMF2
Reproduction steps

I am not sure how I got this error, I will give you access to my server to see it though.

Expected behaviour

Plugin should load normally
Environment details

Server type/version: ExampleSpigot running version 1.12.2 build ???
LuckPerms version: Bungee v5.2.120
Flamecord: 0.4.6

https://bytebin.lucko.me/4R3JOxIMF2
Any other relevant details

Could you send a full log instead please

https://bytebin.lucko.me/LdHMvy4n8X

Please try deleting the /plugins/LuckPerms/libs folder and restarting the proxy.

That fixed it!
Thanks so much!


fix green circle behind workspace icon when deleted while offline

Details

Workspace icon have redundant green circle style as the background.
Fixed Issues

$ https://github.com/Expensify/App/issues/15697
PROPOSAL: https://github.com/Expensify/App/issues/15697#issuecomment-1475107916
Tests

Same as QA Steps

[x] Verify that no errors appear in the JS console

Offline tests

Same as QA Steps
QA Steps

Open Settings > Workspaces
Create a new workspace if you don't have one
Open any workspace
Turn off the internet
Delete the workspace
Verify the deleted workspace image does not have a circle behind it

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

 If you have the K2 extension, you can simply click: [this button]

Reviewer Checklist

[X] I have verified the author checklist is complete (all boxes are checked off).
[X] I verified the correct issue is linked in the ### Fixed Issues section above
[X] I verified testing steps are clear and they cover the changes made in this PR

[X] I verified the steps for local testing are in the Tests section
[X] I verified the steps for Staging and/or Production testing are in the QA steps section
[X] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[X] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[X] I checked that screenshots or videos are included for tests on all platforms
[X] I included screenshots or videos for tests on all platforms
[X] I verified tests pass on all platforms & I tested again on:

[X] Android / native
[X] Android / Chrome
[X] iOS / native
[X] iOS / Safari
[X] MacOS / Chrome / Safari
[X] MacOS / Desktop

[X] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[X] I verified proper code patterns were followed (see Reviewing the code)

[X] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[X] I verified that comments were added to code that is not self explanatory
[X] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[X] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[X] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[X] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[X] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[X] I verified the JSDocs style guidelines (in STYLE.md) were followed

[X] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[X] I verified that this PR follows the guidelines as stated in the Review Guidelines
[X] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[X] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[X] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[X] If a new component is created I verified that:

[X] A similar component doesn't exist in the codebase
[X] All props are defined accurately and each prop has a /** comment above it */
[X] The file is named correctly
[X] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[X] The only data being stored in the state is data necessary for rendering and nothing else
[X] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[X] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[X] All JSX used for rendering exists in the render method
[X] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[X] If any new file was added I verified that:

[X] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[X] If a new CSS style is added I verified that:

[X] A similar style doesn't already exist
[X] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[X] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[X] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[X] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[X] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[X] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://user-images.githubusercontent.com/16493223/226585913-49f910a6-f42d-4c9f-9f15-585df267d37c.mp4

Mobile Web - Chrome
https://user-images.githubusercontent.com/16493223/226585813-a7e1fd15-722a-4764-9e5e-bbb5190f40b3.mp4

Mobile Web - Safari
https://user-images.githubusercontent.com/16493223/226585788-fb21a292-b840-4884-a5f8-ae0f65622a99.mp4

Desktop
https://user-images.githubusercontent.com/16493223/226585625-e1efd521-9061-4d9c-9ecd-a7774227e037.mp4

iOS
https://user-images.githubusercontent.com/16493223/226585547-d2004704-8af5-4e04-80ea-99a51de7c6b6.mp4

Android
https://user-images.githubusercontent.com/16493223/226585472-fb8bcaf5-a31c-45ed-9497-9c259e7778eb.mp4

Oh also, another very minor comment - @bernhardoj let's rename this PR to something more descriptive so that if we look back in the history we'll know what this was for in the title.

Yes, I have checked and there is no other usage of that style. I have removed it and updated the PR title.

@dangrous Let's get this merged :rocket:

🚀 Deployed to staging by https://github.com/dangrous in version: 1.2.89-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/luacmartins in version: 1.2.89-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Improved documentation of QuickUMLS in notebook

As discussed as a team in late December, I have finally updated the QuickUMLS notebook with better documentation.  This includes usage, "rolling your own" resources, and using other components like context and sectionizer.

Excellent examples! This lines up well with our other examples using other components and is a great demonstration of working with QuickUMLS in our pipeline.

Excellent examples! This lines up well with our other examples using other components and is a great demonstration of working with QuickUMLS in our pipeline.

OK, I'll merge this in so we have it ready for our next release.

OK, I'll merge this in so we have it ready for our next release.


Quick Start报错，有人帮忙看看是什么问题吗？

Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.sql.DataSource]: Factory method 'dataSource' threw exception; n
ested exception is org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Cannot determine embedded database drive
r class for database type NONE. If you want an embedded database please put a supported one on the classpath. If you have database settings to be loaded from
a particular profile you may need to active it (the profiles "github" are currently active).

这个不是root cause，建议往上找一下第一个出错信息。
一般是数据库连接配置的不对


Support redux-saga

Hello,
I had some weeks ago a great discussion with a fellow of mine @jdrouet about the advantages of redux-saga. As the weeks went by I agreed with him and the idea to use it in our own generator came by. I spoke about it with @Abdelhamidhenni and other lead developers from my teams that are interested aswell.
I would be very interested into having your point of view on this @msalettes @daniel-jorge @jeanlucc @ghamaide.
Alexandre

@acourtiol As it is a societe generale matter, I prefer let people of societe generale take this decision.

@jeanlucc it's not about decision as of now, it's about giving opinions, pros and cons. Everyone is wellcome on this 😄

@HugoCapocci I forgot to tag you but your feedbacks are very wellcomed here 👍

@acourtiol redux-thunk works fine but has IMO, 2 disadvantages vs redux-saga

Harder to test (you need to mock the store, mock the fetch API, ...)
More verbose (in larger projects it becomes harder to maintain)

However, redux-saga is trickier than thunk. You need to understand generators (https://davidwalsh.name/es6-generators).

I have to test redux-saga (and manipulate generators) on my own to make my opinion, but from what I have read about redux-saga, I agree with @ghamaide

From a lot of readings and market reviews it seems that Saga is kind of the "market standard" today but yes it's a little bit more complex to understand at first but on the long term view it shows a lot of advantages.


Language service plugin

improves editing experience, e.g

importing services/controllers would automatically convert into constructor DI/Dependency macro
auto fill types for implemented interfaces
hide lifecycle events from access expressions

auto fill types for implemented interfaces
This is now a feature in TypeScript 4.5

https://marketplace.visualstudio.com/items?itemName=flamework.flamework-vscode

https://marketplace.visualstudio.com/items?itemName=flamework.flamework-vscode


Beta17 sub part2

Started to create subscription object.

Added initial subscription object and JUnit5/Vertx tests.


Request for /scripts folder

Hi there,
It looks like scripts folder is not included,
can you please provide it? thanks

Hi @mengqlTHU, thank you for spotting this. The scripts folder is now uploaded.


How to use it in Sublime?

I want to use this plugin along with Less2Css in Sublime text2. Would you please tell me the way? thanks.

No idea, sorry (Assuming the plugin has no configurable Less command line option you'll need to hack one of its scripts to invoke lessc with --functions option. For more details please consult with its author).

Closing as not an issue.


[#5] BundleClassPath observes now SuiteEvent event

Just started reviewing :) :octocat: Sent from GH.

Just started reviewing :) :octocat: Sent from GH.

Merged... thx you! :octocat: Sent from GH.


Incorrectly inserted 'XXXXXXX' (high severity) into file data/BIOINF_3000_2022-10

Hi Dave, thank you so much for creating this project. It has been extremely helpful to me and I really appreciate you continuing to update it as well.
Unfortunately, in your last update I noticed a high severity bug in the file data/BIOINF_3000_2022-10 where 'XXXXXXX' was incorrectly inserted into line 1 by Ross Roberts.
Line 1 expected:
fish agreement garden work sort poor add. police understand either quickly than. exist keep down charge class adult.

Line 1 actual:
fish XXXXXXX agreement XXXXXXX garden work sort XXXXXXX poor add. police understand either quickly than. exist keep down charge class adult.

Thanks again for your project,
Kind regards,
Rachael

Hi Dave, I am sure you are quite busy and so I am working on fixing the incorrect insertion of 'XXXXXXX' in this file and so I plan on submitting a pull request soon.


Users/v iyamauchi/bloblibmigration

Description
Updated components using the depreciated storage blob API with the new API.
Related issues
Addresses [issue #3117].
https://github.com/microsoft/fhir-server/issues/3117
Testing
The change was tested locally with the existing import/export test cases.
FHIR Team Checklist

Update the title of the PR to be succinct and less than 65 characters
Add a milestone to the PR for the sprint that it is merged (i.e. add S47)
Tag the PR with the type of update: Bug, Build, Dependencies, Enhancement, New-Feature or Documentation
Tag the PR with Open source, Azure API for FHIR (CosmosDB or common code) or Azure Healthcare APIs (SQL or common code) to specify where this change is intended to be released.
[ ] CI is green before merge
Review squash-merge requirements

Semver Change (docs)
Patch|Skip|Feature|Breaking (reason)

/azp run

/azp run

/azp run

/azp run

/azp run


Can no longer add automation triggers through custom_components (Since 0.69)

Home Assistant release with the issue:
0.69.1, 0.72.1
Last working Home Assistant release (if known):
0.68.x
Operating environment (Hass.io/Docker/Windows/etc.):
Docker
Component/platform:
loader
Description of problem:
Back in 0.68, I had a custom automation trigger at config/custom_components/automation/time_template.py. After upgrading to 0.69.1 this would no longer load, this issue continues to persist in 0.72.1. Being able to add/override automation triggers was a useful feature for component development so I'm submitting a bug rather than working around it.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
custom_components/automation/time_template.py
"""
Offer time listening automation rules.

For more details about this automation rule, please refer to the documentation
at https://home-assistant.io/docs/automation/trigger/#time-trigger
"""
import asyncio
import logging

import voluptuous as vol

from homeassistant.core import callback
from homeassistant.loader import bind_hass
from homeassistant.const import CONF_AT, CONF_PLATFORM
from homeassistant.exceptions import TemplateError
from homeassistant.helpers import config_validation as cv
from homeassistant.helpers.event import async_track_time_change, async_track_state_change
import homeassistant.util.dt as dt_util

CONF_HOURS = 'hours'
CONF_MINUTES = 'minutes'
CONF_SECONDS = 'seconds'

_LOGGER = logging.getLogger(__name__)

TRIGGER_SCHEMA = vol.All(vol.Schema({
    vol.Required(CONF_PLATFORM): 'time_template',
    CONF_AT: cv.template,
    CONF_HOURS: cv.template,
    CONF_MINUTES: cv.template,
    CONF_SECONDS: cv.template,
}), cv.has_at_least_one_key(CONF_HOURS, CONF_MINUTES, CONF_SECONDS, CONF_AT))

@asyncio.coroutine
def async_trigger(hass, config, action):
    """Listen for state changes based on configuration."""
    at_template = config.get(CONF_AT)
    if at_template is not None:
        at_template.hass = hass

    hours_template = config.get(CONF_HOURS)
    if hours_template is not None:
        hours_template.hass = hass

    minutes_template = config.get(CONF_MINUTES)
    if minutes_template is not None:
        minutes_template.hass = hass

    seconds_template = config.get(CONF_SECONDS)
    if seconds_template is not None:
        seconds_template.hass = hass

    @callback
    def time_automation_listener(now):
        """Listen for time changes and calls action."""
        hass.async_run_job(action, {
            'trigger': {
                'platform': 'time_template',
                'now': now,
            },
        })

    stop_time = None
    @callback
    def update_tracker(entity_id=None, old_state=None, new_state=None):
        nonlocal stop_time

        if stop_time is not None:
            hass.async_run_job(stop_time)
            stop_time = None

        if at_template is not None:
            template_result = at_template.async_render()

            if template_result is None or template_result == "":
                return

            at_time = dt_util.parse_time(template_result)

            if at_time is None:
                _LOGGER.error("Template result %s is not a valid time", template_result)
                return

            hours, minutes, seconds = at_time.hour, at_time.minute, at_time.second
        else:
            hours = _to_int(hours_template.async_render()) if hours_template is not None else None
            minutes = _to_int(minutes_template.async_render()) if minutes_template is not None else None
            seconds = _to_int(seconds_template.async_render()) if seconds_template is not None else None

        stop_time = async_track_time_change(hass, time_automation_listener,
                                            hour=hours, minute=minutes, second=seconds)

    stop_templates = [_async_track_template(hass, template, update_tracker)
                      for template in [at_template, hours_template, minutes_template, seconds_template]
                      if template is not None]

    def remove():
        for stop in stop_templates:
            hass.async_run_job(stop)

        if stop_time is not None:
            hass.async_run_job(stop_time)

    update_tracker()

    return remove

def _to_int(value):
    try:
        return int(value)
    except ValueError:
        return None

@callback
@bind_hass
def _async_track_template(hass, template, action, variables=None):
    """Add a listener that track state changes with template condition."""
    # Local variable to keep track of if the action has already been triggered
    last_value = None

    @callback
    def template_value_listener(entity_id, from_s, to_s):
        """Check if condition is correct and run action."""
        nonlocal last_value

        template_result = None
        try:
            template_result = template.async_render(variables)
        except TemplateError as ex:
            _LOGGER.error("Error rendering template: %s", ex)
            return

        # Check to see if template returns true
        if template_result != last_value:
            last_value = template_result
            hass.async_run_job(action, entity_id, from_s, to_s)

    return async_track_state_change(
        hass, template.extract_entities(variables),
        template_value_listener)

sample config:
automation:
  - alias: Wakeup lights
    trigger:
      - platform: time_template
        at: "{{ '12:00:00' }}"
    action:
      service: persistent_notification.create
      data:
        message: "Time template triggered"

Traceback (if applicable):
No traceback, relevant log line:
2018-06-26 14:22:58 ERROR (MainThread) [homeassistant.config] Invalid config for [automation]: Invalid platform specified @ data['trigger'][0]. Got None. (See /config/configuration.yaml, line 118). Please check the docs at https://home-assistant.io/components/automation/

Additional information:

Yes, that does seem the case. The custom component loading was based on a global variable, instead of bound to the hass instance. This was resolved but that meant that the platform validator no longer worked because during the validation stage, the hass object is not available.

btw, you are the first person to notice this, so I don't see it as a very high priority to fix

I'm seeing the same issue when trying to load custom scene components. It broke somewhere between 0.69.1 and 0.71. See #14958.

Yes, scenes and automations both use similar platform validators, so them breaking custom platforms is expected.
We should have kept the breaking change label on #14211 and announced this in the release notes of 0.69.
I don't know how we would fix this without making significant changes to our setup procedure.

Can this possibly be fixed in the custom component? Are they supposed to follow any core changes? That would be okay, I just can't seem to find any hint about that anywhere.

No, the problem is that the new platform validator only tries to import the platform module from the standard home assistant automation/scene component path.
Of course, you could put your custom module within the home assistant source tree, but that would not be persistent between upgrades.

No, the problem is that the new platform validator only tries to import the platform module from the standard home assistant automation/scene component path.

Hmm, that's too bad. Adding another search path doesn't seem too hard of a problem, but then again, I haven't looked at the code.

Of course, you could put your custom module within the home assistant source tree, but that would not be persistent between upgrades.

I'd rather consider merging them upstream, but I'm not sure if they'd be considered useful enough for a broader audience. Is there a guideline what's seen as potential upstream material?
FWIW, the two components are here:
https://github.com/zonque/hass-colorclock/
https://github.com/zonque/hass-random-hue

For scenes a fix could be to require the platform key-pair in the config also for the homeassistant scene platform. Then we wouldn't need the platform validator, and fall back on the standard platform validation.
It would break all standard scene config though.

You can easily just implement this as a custom component and add a service or two . All components in Home Assistant are build on top of re-usable building blocks, so your custom component can just use the helpers.


Upgraded to rules_bazel_integration_test 0.5.0.

I appear to be running into this issue on the macos_build.

This could be a fix. bazelbuild/bazel#13529


Github Mathjax chokes on the expression $g^{\frac {p-1} {{p_i}^{n_i}}}$

Issue Summary
Github Mathjax chokes on the expression $g^{\frac {p-1} {{p_i}^{n_i}}}$  in the build phase.
Steps to Reproduce:
Use the expression $g^{\frac {p-1} {{p_i}^{n_i}}\$  in a github page where you import Mathjax. The page errors out while building.
This is the build error I get.
github-pages 227 | Error:  Liquid syntax error (line 3): Variable '{{p_i}' was not properly terminated with regexp: /\}\}/

Technical details:

MathJax Version: Latest
Client & Browser version aren't relevant because this is a build issue.

I am using the following MathJax configuration:
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    tex2jax: {
      inlineMath: [ ['$','$'], ["\\(","\\)"] ],
      processEscapes: true
    }
  });

and loading MathJax via
</script>

<script type="text/javascript" charset="utf-8" src="[https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML](view-source:https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML)">
</script>

<script type="text/javascript" charset="utf-8" src="[https://vincenttam.github.io/javascripts/MathJaxLocal.js](view-source:https://vincenttam.github.io/javascripts/MathJaxLocal.js)">
</script>

Supporting information:

When you save the page in github, the github preview renders it fine without errors. However when the page builds, it errors out.

There is a simple workaround to fix this - If you use $g^{\frac {p-1} {p_i^{n_i}}}$ instead of $g^{\frac {p-1} {{p_i}^{n_i}}}$, it no longer chokes, but the other form also shouldn't choke.

As you point out, this is a build issue; MathJax isn't involved until the page is viewed in a browser, so it is not a MathJax problem, and there is nothing MathJax can do about it.
It appears that the Liquid Template for GitHub pages uses {{ variable }} to insert the value of a variable into your output, so that is conflicting with the use of braces in LaTeX notation.  The {{ at the beginning of {{p_i}... is being picked up by the Liquid template as an attempted variable reference that isn't closed properly by }} since the next brace is a single brace.  You will need to either protect the braces in the math (perhaps via \{) or do something like insert spaces so that you have { { rather than {{ (I haven't tested either of those suggestions).
In any case, it is something that must be dealt with at the template level, as it occurs long before MathJax itself is involved.


Feature/154 in game captain score app

Codecov Report

Merging #155 (dfe6bff) into development (4b74364) will decrease coverage by 0.19%.
The diff coverage is 52.38%.

@@               Coverage Diff               @@
##           development     #155      +/-   ##
===============================================
- Coverage        88.44%   88.24%   -0.20%
===============================================
  Files               52       52
  Lines             4008     4025      +17
===============================================
+ Hits              3545     3552       +7
- Misses             463      473      +10

Flag
Coverage Δ

unittests
88.24% <52.38%> (-0.20%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

api/bot/submit_scores.py
74.28% <16.66%> (-5.41%)
:arrow_down:

api/website/captain.py
64.44% <61.53%> (-3.21%)
:arrow_down:

api/variables.py
100.00% <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 4b74364...dfe6bff. Read the comment docs.

@glifchits @AndyfMaxwell I am working on a batting app. I added screenshots above. Let me know if you can think of anything to add or design improvements.
I might complete this PR into development so people can try it out on the staging server.


Updating readme from branch example

Updates
I updated the readme file. Please review and accept

Thoughts
I probably should not, but ok :+1:


Costume Room Storage Options

🚀 Feature Proposal
What Im suggesting is to add the outfit storage options provided by construction within the "Costume Room" portion of the house.  These storage options are as follows also listing what they would let us store. (I will only be listing things that I know for certain are obtainable that people would like to store in these)

Mahogany Treasure Chest: Holds any and all Items from all Levels of Clue scrolls Up to Master

Mahogany Armour Case Holds: Angler Outfit, Clue Hunter Outfit, Farmers Outfit, Inquisitors Armour, Justiciar Armour (BSO Only), Lumberjack Outfit, Obsidian Armour, Barbarian Assault Armour, Prospector Kit, Void Armour (BSO Only currently, If ever added for OSB)

Marble Magic Wardrobe: Amy's Saw, Ancestral Armour Set, Bruma Torch, Carpenter Outfit, All Graceful Outfits and the Recolors, Pyromancer Outfit, Warm Gloves.

Magical Cape Rack: Any and All Skill Capes, Achievement Diary Cape, Champion's Cape, Fire Cape, Infernal Cape, Imbued and Non-Imbued versions of the Wilderness Mage Arena capes, Mythical Cape, Obsidian Cape, Team Cape 0, I or X (Only one can be stored at any given time)

Mahogany Toy Box: Bunny Ears, Scythe, Skeleton Outfit, Cow Outfit, Santa Outfit, Sack of Presents, Cat Ears, War ship (If people still have)

Mahogany Fancy Dress Box: Stale Baguette

This seems like a good idea to help the people that bother keeping their banks clean but don't want to drop limited time items, especially since it would prevent them selling/dropping those items with sellall 👍


[Question] using pc.button inline styling, how to set hover and selected color?

Hi,
what are the CSS properties to set the button background hover and active colors ?
    button_style = {
        "color": "black",
        "background": "white",
    }

    return pc.button(
        model.title,
        size="lg",
        on_click=State.switch,
        style=button_style,
        is_active=State.butstate,
    )

thanks!

Say you wanted to change the color on the hover you could do something like this
_hover={"color": "rgb(107,99,246)"},

Thanks (and also for editing!!!!)
Works great, probably something to add in the styling doc!

Thanks (and also for editing!!!!)
Works great, probably something to add in the styling doc!

OK awesome, yes will add something about this on the next release of our website

Thanks (and also for editing!!!!)
Works great, probably something to add in the styling doc!

OK awesome, yes will add something about this on the next release of our website

By the way, is the website opensource? I'm looking forward to contribute, such as translate our docs to Chinese.


Correcting CSV name in 1-090_validate_permissions

What type of PR is this?
/kind failing-test

/kind enhancement
/kind documentation
/kind code-refactoring

What does this PR do / why we need it:
Modifying incorrect CSV name
Have you updated the necessary documentation?

[ ] Documentation update is required by this PR.
[ ] Documentation has been updated.

Which issue(s) this PR fixes:
Fixes #?
Test acceptance criteria:

[ ] Unit Test
[ ] E2E Test

How to test changes / Special notes to the reviewer:

/approve
/lgtm


Refactor import

Pull Request Test Coverage Report for Build 681

28 of 45 (62.22%)  changed or added relevant lines in 3 files are covered.
2 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.1%) to 83.765%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/main/java/seedu/address/logic/commands/ImportCommand.java
2
4
50.0%

src/main/java/seedu/address/logic/parser/fileparser/FileParserUtil.java
14
19
73.68%

src/main/java/seedu/address/model/portation/ImportFile.java
12
22
54.55%

Files with Coverage Reduction
New Missed Lines
%

src/main/java/seedu/address/model/ModelManager.java
1
89.91%

src/main/java/seedu/address/model/portation/ImportFile.java
1
73.77%

Totals

Change from base Build 609:
-0.1%

Covered Lines:
2394

Relevant Lines:
2858

💛  - Coveralls


Zooming to buffer instead of the route (when searching by location)

When using: Search By Location (you will get a buffer )
Instead of Zooming to the extent of the route, please zoom to the extent of the buffer.
Do not implement for this functionality: Search For Activity (no buffer)
Related to #166

@LindsayThomas
"If a buffer is executed as part of the application logic, please zoom to the extent of the buffer."

With v1.5, the app now zooms to the buffer rather than the route, but the buffer is partially obscured by the legend and/or the bottom panel.

"if a buffer does not exist and a route does, please zoom to the full extent of the route."

With v1.5 the app zooms to the route, but depending on the route, it may be partially obscured by the legend and/or the bottom panel.  This is particularly the case for routes that have more of a North-South direction than an East-West direction.


Close animation is not correct

As you can see from the image above, the close animation is not working properly
My code is
 view.hero.id = index.toString() + String(Int(timestamp))

Destination controller
self.hero.isEnabled = true
wrapperView.hero.id = index.toString() + String(Int(timestamp))

The view in which the animation originates is in a collection view. Surprisingly the second element in collection view works perfectly but all other elements are not working properly

Putting the UIView inside a UIStackView and assigning hero id to the UIStackView did the job.


Preference panes blank on some systems with 3.0.2

Some users are reporting preferences panes are blank after upgrading to 3.0.2.
This is likely related to #402 which is the MASPreferences conversion.
I can't reproduce on 10.10, but a user on the forums running 10.9.5 has posted screenshots:
Before restarting Vienna:

After restarting Vienna:

I was able to reproduce this issue on a 10.7.x VM. It appears the preferences plist is getting saved correctly (by checking defaults read uk.co.opencommunity.vienna2), but when you restart the app the preferences view isn't getting initialised correctly.


DEBUG: add debug messages to guest agent tests

DO NOT REVIEW!
This PR is intended to debug test errors which only occur in CI

Hello contributor, thanks for submitting a PR for this project!
I am the bot who triggers "standard-CI" builds for this project.
As a security measure, I will not run automated tests on PRs that are not from white-listed contributors.
In order to allow automated tests to run, please ask one of the project maintainers to review the code and then do one of the following:

Type ci test please on this PR to trigger automated tests for it.
Type ci add to whitelist on this PR to trigger automated tests for it and also add you to the contributor white-list so that your future PRs will be tested automatically. ( keep in mind this list might be overwritten if the job XML is refreshed, for permanent whitelisting, please follow #3 option )
If you are planning to contribute to more than one project, maybe it's better to ask them to add you to the project organization, so you'll be able to run tests for all the organization's projects.

ci add to whitelist

/hold
debug PR

ci test please

ci test please

ci test please

ci test please


Broken Link

I've found a broken link.
Relevant URLs
The "retention policy" link under the log data retention policies header on this page is broken.
The url it links to is:
https://docs.influxdata.com/influxdb/v2.0/query_language/database_management/#retention-policy-management

Thanks @780Farva! We've updated this.

Thanks @780Farva! We've updated this.


Added new mod "Echoes of the [Spoiler]"

I don't see where the description below the mod title on the site lives. I'd propose "Replaces a key bit of music in EotE. Mid-game spoilers in Readme."

The mod description is read from GitHub repository description. It's not in a file, it's on the right side of the repo page.


Clarify warning

A clearer error message here would have saved me significant time yesterday. See also #2963. Thanks, Peter

That's still pretty confusing.  I spent at least 5 mins trying to sort out what the issue was.  There's also a similar error code previously that should probably be clarified.
Maybe something like "Installing to the system rubygems requires shelling out to a gem binary, rubygems options hashes are not supported, please supply a string" would be more concise and understandable?

so we can talk to rubygems either 1) through the ruby library or 2) calling out to the gem command. We can pass a hash for #1 directly to the library, but for #2 we have to pass a string of command line options.
also, users either want to install gems A) for use in Chef, or B) on the system for use by other programs.
If you're running gem_package, you've chosen B. If you're using Omnibus, you're in the wrong ruby, so you have to pass a string. If you're not using Omnibus, it's possible that you're running in the system ruby you also want the gem installed into. This isn't very common anymore, except on systems we don't produce omnibus packages for.
I'll come up with a suggestion after my next meeting.

How about this:
Gem options should be passed to gem_package as a string instead of a hash when using this version of Chef because it runs under its own version of Ruby. A hash may only be used when installing a gem to the same Ruby installation that Chef is running under.
See https://docs.chef.io/resource_gem_package.html for additional information

That works for me.

Hi. I am an automated pull request bot named Curry. There are commits in this pull request whose authors are not yet authorized to contribute to Chef Software, Inc. projects or are using a non-GitHub verified email address. To become authorized to contribute, you will need to sign the Contributor License Agreement (CLA) as an individual or on behalf of your company. You can read more on Chef's blog.
Non-GitHub Verified Committers
There are 1 commit author(s) whose commits are authored by a non-GitHub verified email address. Chef will have to manually verify that they are authorized to contribute.
Please sign the CLA here.

@lamont-granquist I adopted your language, although I changed 'version' to 'install' since I felt that was clearer. Ok to merge?

Hi. Your friendly Curry bot here. Just letting you know that all commit authors have become authorized to contribute. I have added the "Signed CLA" label to this issue so it can easily be found in the future.

@pburkholder let's change "Gem options should be passed..." to "Gem options must be passed..."
Can you make sure that your github account has your getchef.com email address attached to it so Curry can match your commits -> github -> supermarket -> ccla?
Finally, your phrasing of "ok to merge?" makes me wonder if you're aware of the process for the Chef repository or not. I know this patch seems trivial, but you need two up votes from Maintainers, and then a Maintainer has to merge it for you.
https://github.com/chef/chef-rfc/blob/master/rfc030-maintenance-policy.md
That said, :+1: after changing should to must.

"should" changed to "must" and updated email addresses so CurryBot is happy.

:+1:


用Radius认证可以实现么？

是不是按照这样配置，修改mode_cfg的内容，然后加一个radius的连接在/etc/radius 就好了？
VPN gateway and RADIUS (top)
RADIUS can be used for login validation, IP addresses allocation and accounting. Here is a sample mode_cfg section for /etc/racoon/racoon.conf that enforces RADIUS usage:
mode_cfg {
pool_size 253;			# IPv4 pool size
auth_source radius;		# login validated against RADIUS
conf_source radius;		# IPv4 address obtained by RADIUS
accounting radius;		# RADIUS accounting
dns4 <IP_ADDRESS>;			# IPv4 DNS server
wins4 <IP_ADDRESS>;		# IPv4 WINS server
banner "/etc/racoon/motd";	# Banner message for clients
pfs_group 2;
}
Additionally, you need to create a /etc/radius.conf file that contains the RADIUS server address and the secret shared with the RADIUS server. This file must be owned by root and mode 0600 in order to keep the shared secret secure. Here is an example, see radius.conf(5) for	the details:
auth radius.example.net MyDirtySecret
acct radius.example.net MyDirtySecret
重启racoon是用 service racoon restart 还是直接racoon？还是racooncli？

用Radius的话麻烦在安装：默认安装包里不带Radius的code，需要下载带raidus的racoon版本，手动编译。
配置上面，到时和你说的差不多。当然别忘了还要配置Radius server自己。


add iter to_string

Pull Request Test Coverage Report for Build 1791
Details

3 of 3 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 83.01%

Totals

Change from base Build 1790:
0.02%

Covered Lines:
2907

Relevant Lines:
3502

💛  - Coveralls


Error message _pickle.UnpicklingError: invalid load key, 'v'. in the SV calling step

Hi,
I just successfully ran your demo and it worked well on my OS (Linux Manjaro).
Still, it didn't run the SV calling on the first try, but instead, I got the above error message.
It turns out that the bam file (~170 MB) from the data/demo/inputs was not downloaded by default when I first cloned your repo.
Installing git lfs before cloning helped solve this problem.
So I just wanted to suggest you add these steps to the README:
Install git lfs: sudo apt-get install git-lfs (Debian-based Linux distros)
Set up git lfs: git lfs install
prior to the git clone step, as the error message is not particularly straightforward with this one.
Looking forward to running Cue on my data in the following days!
Thank you,
Lorena

Hi @LorenaDerezanin, thanks for reporting this issue!
To simplify the workflow (and avoid LFS), the Cue models and data have now been moved to Google Cloud Storage.
A new model is now also available (along with updates that optimize runtime and RAM usage).
Let me know if you have any more questions/suggestions!
Thanks,
Victoria


feat(validate): Added event property type object validation.

Summary

Checklist

[x] Does your PR title have the correct title format?
Does your PR have a breaking change?:

LGTM but it'd be great to add tests 👍


State change is not read by screen reader 👀

When the toggle button is clicked it's not announced that a state has changed—namely the 'Added to whitelist' action.

Is this issue open? @jagtalon