allow "imprecise" bounds for the compiler version

Fixes #4379. As suggested there, this is a direct implementation of the comparison logic without using a library. The comparisons are described and tested with doc tests, and I did a few manual end-to-end tests:
When compiling a file containing a single import to a local package, the following compiler field values in that packages have the following error messages:

compiler = "0.11.0" - no error
compiler = "0.11" - no error
compiler = "0.11.1" - package requires typst 0.11.1 or newer (current version is 0.11.0)
compiler = "0.12.0" - package requires typst 0.12.0 or newer (current version is 0.11.0)
compiler = "0.12" - package requires typst 0.12 or newer (current version is 0.11.0)
compiler = "<IP_ADDRESS>" - package manifest is malformed (version bound has unexpected fourth component: 0)
compiler = "0.11.x" - package manifest is malformed (x is not a valid patch version bound)
compiler = "" - package manifest is malformed (`` is not a valid major version bound)

I didn't put "compiler" anywhere into the error messages, as the SemVerBound is not specific to that - so the error messages are only slightly improved, but the original error condition is removed. The remaining error messages contain a part of the version bound, so it's more likely that one will realize what field the error is about.
Some remarks regarding the code:

the fields of SemVerBound are public, like with PackageVersion. It's possible to initialize an invalid value by giving a patch version but not a minor one, so it might make sense to change these fields to private and add a constructor.
the error message for compiler = "0.12" says "typst 0.12 or newer", not "0.12.0 or newer". If that's considered a problem, I could add a conversion to PackageVersion for this.

Is there a practical difference between compiler = "0.11.0" and compiler = "0.11"?

There isn't, but for version bounds the more specific parts (minor and patch) are usually optional. As the error message for a missing part wasn't great (see #4379), some improvement seemed useful and this was easier than trying to improve the error message.
See also this Discord message for context.

@frozolotl that would be a breaking change though. I did it this way to preserve the current behavior, except for making the toml field more relaxed and slightly improving the messages. Changing the way how the compiler field works should imo be a separate issue.

I don't think greater or equal is the bound to choose here. It would mean that Typst 0.12.0 is fully compatible with Typst 0.11.0, which is not the case. I think we should instead use the ^ operator by default, like Cargo does.

Changing the compiler field to work like a ^ dependency would be very bad. It would mean that releasing a new compiler version would automatically break the package ecosystem for no reason. Sure, a package might be broken by a compiler update, but this would mean that it's guaranteed to be broken.

I don't think greater or equal is the bound to choose here. It would mean that Typst 0.12.0 is fully compatible with Typst 0.11.0, which is not the case. I think we should instead use the ^ operator by default, like Cargo does.

Changing the compiler field to work like a ^ dependency would be very bad. It would mean that releasing a new compiler version would automatically break the package ecosystem for no reason. Sure, a package might be broken by a compiler update, but this would mean that it's guaranteed to be broken.

True, that makes sense.

It would mean that releasing a new compiler version would automatically break the package ecosystem for no reason.

I was thinking about whether this only applies as long as Typst is pre-1.0, but even after that, caret semantics would not be a good fit for compiler compatibility: If there ever is Typst 2.0, you still wouldn't want to need to update all packages just to "certify" that they're compatible. It would not only split the ecosystem in the inevitable way that breaking changes bring, but also artificially.
A caret dependency allows automatically using a newer version of something without worrying about breaking changes. Since newer compilers aren't used automatically, using caret semantics for the compiler field doesn't actually provide a benefit.

Thanks!


React 16 error

Hello,
I'm trying to upgrade React to v.16 and I'm running into errors with this package. Getting this error: Uncaught Error: Unable to find node on an unmounted component.  at var el = ReactDOM.findDOMNode(this); in the componentDidMount method. Have you been able to use this package with React 16? I'm wondering if it's an issue with the new version of React or my setup.
Thanks.

It should work just fine with React 16, but it's still possible there has been some change introduced in 16 that is causing problems.
I'm wondering if you can reproduce the issue?  I just tried a very simple scenario, and that is working, so I'm guessing you're doing something a bit more complex than this.
https://codesandbox.io/s/j7lx2l4kkv


Remove dependency between build-cache-packaging and native

By replacing the usage of FileSystem with a little utility class we can
get rid of the dependency between build-cache-packaging and native. For
this to work the TarBuildCacheEntryPackerPermissionTest hat to be
changes to assert correct permissions instead of checking for
interactions.

Part of https://github.com/gradle/gradle-private/issues/2417

@britter Note that the published artifacts from Gradle now have transitive dependencies, so you might want to use those instead of declaring all the dependencies one by one.

As discussed above we will go with a different approach.


refactor: use DnsRecord in code and Record in UI text

Description
Resolves #245 by replacing instances of [Dd]omain(s) or [Rr]ecord(s) referencing to DNS Records to [dD]nsRecord(s) in code and to Record(s) in UI text.
Steps to Test

Run the project locally
Test out all DNS record routes
Run tests (All Unit Tests / E2E tests must pass in the development/staging environment)

@Eakam1007 It seems like Playwright is running cached tests which contained the typo.

@Eakam1007 It seems like Playwright is running cached tests which contained the typo.

Hmmm, that's weird. As far as I know, we do not cache tests, only the installed browsers

Could you please confirm by downloading the report (specifics here) ?

Could you please confirm by downloading the report (specifics here) ?

I was unable to find the report. Let me check.

You can find the report at the bottom of the summary page of the CI run, here: https://github.com/DevelopingSpace/starchart/actions/runs/4473175500?pr=397

@SerpentBytes could you please update the PR title and description to reflect that we use DNS Records in the UI as well?

Thanks for the reviews!

@dadolhay @cychu42 I need a plan for migrating the db on staging...

Thanks for the reviews!

Thanks for doing it, we really needed this to happen!


Entity Framework maping data definition language of Description schema

@code first
The Name property can mapping DDL of Description schema
public class Person
{
public int Id { get; set; }
[Description("姓名")]
public string Name { get; set; }
}
@database first
Description schema can convert property's DescriptionAttribute
@SQL
CREATE TABLE [ConsoleApplication3.MyDbContext].dbo.People (
Id int IDENTITY,
Name nvarchar(max) NULL,
CONSTRAINT [PK_dbo.People] PRIMARY KEY (Id)
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
EXEC sp_addextendedproperty N'MS_Description',
N'姓名',
'SCHEMA',
N'dbo',
'TABLE',
N'People',
'COLUMN',
N'Name'
GO

We don't intend to do this by default, but we do want it to be easy to plumb this thru model building and migrations. Opened https://github.com/aspnet/EntityFramework/issues/5390 to verify the experience (and document it).


feat(nodes): Node editor rework: Use node templates as source of truth

Currently, if a fields are added to or removed from a node, you have to delete the node and recreate it to see the changes. This is because the node's data, stored in the node editor's internal state, defines which fields are rendered.
This is rather painful while developing nodes.
The solution is to use the node templates to define what fields are rendered, and merge that with the internal state.

If a field is removed from a template, do we immediately remove it from the internal data, or just ignore the internal data? I think we need to remove it. We'd also need to remove any edges connected to it.

I've got this partially implemented - you only need to recreate the node if you have changed the fields on the node. I'm going to push this to backlog for the rework project, as there are a lot of edge cases to handle and the issue is close to an edge case itself.

This is easier to test now with workflow saving and loading.


Can't reposition image with dragging

It appears that trying to reposition the image by dragging doesn't work. Is this intentional, or is this supposed to work?
https://user-images.githubusercontent.com/16164800/111647616-ec421d00-8802-11eb-92e0-43bf5a41d5ce.mp4

Image dragging is currently not supported.
It will be added in version 3.0.0.

@JiHong88 Cool! Do you have an indication on when 3.0.0 will be released? I see it has lots of promising features :)

@guido-visser I expecting about 2 months..

Hi @JiHong88, please do you have any update on version 3 🙏 Btw, thanks for the amazing work!


Add Grab

https://www.grab.com/vn/en/taxi/
https://itunes.apple.com/SG/app/id647268330?mt=8
https://play.google.com/store/apps/details?id=com.grabtaxi.passenger
Cities: https://www.grab.com/sg/where-we-are/

Aparently that was already done ahah


Some small fixes

Sorry, it was my fault not set exit status for golint, now it's fixed, and go vet will be verbose now if anyone has interest in the vet checks.

Nice @pityonline! Thanks!


not working on windows 10

Expected Behavior

I should have been able to build iohook.
Current Behavior

At the time of building the code, I'm getting an error "refresh_locale_list [628]: Could not find keyboard map for locale 0X000000000409"
Possible Solution

iohook is using libuiohook, and this error is because of libuiohook, not iohook. However, this error is resolved in the libuiohook version 1.1 . I built iohook binaries using 1.1 version of libuiohook and was able to make it work in windows 10. Although, the error still persisted in node version of the binary, but the electron version of the binary worked superb on windows.
Steps to Reproduce (for bugs)

Context

Your Environment

Version used:
Environment name and version (e.g. Chrome 39, node.js 5.4): electron 1.8.3, node 8.4, abi 57, iohook 0.1.13
Operating System and version (desktop or mobile): windows 10
Link to your project:

Hi @WilixLead,
Can you upload the updated binaries for windows?
I have been facing this issue as well for a really long time. Now that I know that it can be fixed, it'll be really helpful to get a working version for windows.
Please release a latest version as soon as possible.

I'll take ownership on this issue... you can all expect a pull request soon. 🎉
I'm also going to address building on Windows without having to use mingw32.

Got it built and copied over, but get a different error about failed to open key in registry.
refresh_locale_list [476]: GetKeyboardLayoutList(0, NULL) found 3 layouts.
refresh_locale_list [493]: Received 3 locales.
get_keyboard_layout_file [455]: RegOpenKeyEx failed to open key: "SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00001409"!
refresh_locale_list [634]: Could not find keyboard map for locale<PHONE_NUMBER>090409!
load_input_helper [866]: refresh_locale_list() found 2 locale(s).


Implement docker image push to github packages

Removing the stale label.

This issue was closed by stalebot. It has been reopened to give more time for community review.  See biocommons coding guidelines for stale issue and pull request policies.  This resurrection is expected to be a onos.environ["GITHUB_TOKEN"]e-time event.


implement custom theming with a mixin

Mdc-web removed dark-theme support, so a theme component is no longer needed. Instead each component should be customizable.

mixed up theming and mixins..no longer needed...


Assertion when network connectivity is bad / poor (?)

Still unclear exactly why this is happening, but I think we're having origin connectivity issues, and seeing this backtrace:
(gdb) bt full
#0  0x00007ffff519e495 in raise () from /lib64/libc.so.6
No symbol table info available.
#1  0x00007ffff519fc75 in abort () from /lib64/libc.so.6
No symbol table info available.
#2  0x00007ffff7bc4044 in ink_abort (message_format=<optimized out>) at ink_error.cc:99
        ap = {{
            gp_offset = 32,
            fp_offset = 48,
            overflow_arg_area = 0x7fffeef0b870,
            reg_save_area = 0x7fffeef0b790
          }}
#3  0x00007ffff7bc2075 in _ink_assert (expression=0x7ffff519e495 <raise+53> "H=", file=0x6e8f <error: Cannot access memory at address 0x6e8f>, line=6) at ink_assert.cc:37
No locals.
#4  0x0000555555700fc5 in HttpSM::state_http_server_open (this=0x7fffe6bac9b0, event=500, data=<optimized out>) at HttpSM.cc:1829
No locals.
#5  0x00005555556f5791 in HttpSM::main_handler (this=0x7fffe6bac9b0, event=500, data=0x7fff99ae1c00) at HttpSM.cc:2699
        jump_point = <optimized out>
#6  0x00005555557c6d41 in Continuation::handleEvent (this=0x7fffe6bac9b0, event=28303, data=0x7fff99ae1c00) at /usr/src/debug/bazinga-trafficserver-7.1.1/iocore/eventsystem/I_Continuation.h:153
No locals.
#7  reply_to_cont (cont=<optimized out>, r=0x7fff99ae1c00, is_srv=false) at HostDB.cc:477
No locals.
#8  0x00005555557cbd1d in HostDBContinuation::dnsEvent (this=<optimized out>, event=<optimized out>, e=<optimized out>) at HostDB.cc:1454
        first_record = <optimized out>
        old_rr_data = 0x0
        m = <optimized out>
        failed = true
        old_r = <optimized out>
        af = 2 '\002'
        s_size = <optimized out>
        allocSize = <optimized out>
        valid_records = <optimized out>
        aname = 0x7fffe6dd66d8 "static.apple-cloudkit.ts.apple.com"
        offset = <optimized out>
        ttl_seconds = 86400
        thread = <optimized out>
#9  0x00005555557e73f2 in Continuation::handleEvent (this=<optimized out>, event=600, data=0x6) at /usr/src/debug/bazinga-trafficserver-7.1.1/iocore/eventsystem/I_Continuation.h:153
No locals.
#10 DNSEntry::postEvent (this=0x7fffea6a6b00) at DNS.cc:1269
No locals.
#11 0x0000555555892d60 in Continuation::handleEvent (this=<optimized out>, event=1, data=<optimized out>) at ./I_Continuation.h:153
No locals.
#12 EThread::process_event (this=0x7ffff1e0d880, e=0x7fff9bc91ca0, calling_code=1) at UnixEThread.cc:143
        c_temp = <optimized out>
#13 0x00005555558930b2 in EThread::execute (this=<optimized out>) at UnixEThread.cc:197
        done_one = <optimized out>
        next_time = <optimized out>
#14 0x0000555555892557 in spawn_thread_internal (a=0x7ffff33fd090) at Thread.cc:84
No locals.
#15 0x00007ffff4f56aa1 in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#16 0x00007ffff5254bcd in clone () from /lib64/libc.so.6
No symbol table info available.

History please.

We think this might be same as #2973

$1 = {{
    fileline = 0x5555558b2e42 "HttpSM.cc:632",
    event = 100,
    reentrancy = 2
  }, {
    fileline = 0x5555558b2e42 "HttpSM.cc:632",
    event = 100,
    reentrancy = 1
  }, {
    fileline = 0x5555558b329d "HttpSM.cc:1358",
    event = 60000,
    reentrancy = 2
  }, {
    fileline = 0x5555558b32c8 "HttpSM.cc:1398",
    event = 60000,
    reentrancy = 2
  }, {
    fileline = 0x5555558b329d "HttpSM.cc:1358",
    event = 60000,
    reentrancy = 3
  }, {
    fileline = 0x5555558b32c8 "HttpSM.cc:1398",
    event = 60000,
    reentrancy = 3
  }, {
    fileline = 0x5555558b329d "HttpSM.cc:1358",
    event = 60000,
    reentrancy = 4
  }, {
    fileline = 0x5555558b32c8 "HttpSM.cc:1398",
    event = 60000,
    reentrancy = 4
  }, {
    fileline = 0x5555558b329d "HttpSM.cc:1358",
    event = 60000,
    reentrancy = 5
  }, {
    fileline = 0x5555558b32c8 "HttpSM.cc:1398",
    event = 60000,
    reentrancy = 5
  }, {
    fileline = 0x5555558b59ec "HttpSM.cc:7461",
    event = 65535,
    reentrancy = 5
  }, {
    fileline = 0x5555558ae4c1 "HttpCacheSM.cc:118",
    event = 1103,
    reentrancy = -1
  }, {
    fileline = 0x5555558b3a06 "HttpSM.cc:2610",
    event = 1103,
    reentrancy = 6
  }, {
    fileline = 0x5555558b329d "HttpSM.cc:1358",
    event = 60000,
    reentrancy = 7
  }, {
    fileline = 0x5555558b32c8 "HttpSM.cc:1398",
    event = 60000,
    reentrancy = 7
  }, {
    fileline = 0x5555558b59ce "HttpSM.cc:7421",
    event = 65535,
    reentrancy = 7
  }, {
    fileline = 0x5555558b4793 "HttpSM.cc:4631",
    event = 26136,
    reentrancy = 5
  }, {
    fileline = 0x5555558b37b1 "HttpSM.cc:2243",
    event = 500,
    reentrancy = 1
  }, {
    fileline = 0x5555558b5a19 "HttpSM.cc:7576",
    event = 65535,
    reentrancy = 1
  }, {
    fileline = 0x5555558ae577 "HttpCacheSM.cc:177",
    event = 1108,
    reentrancy = -1
  }, {
    fileline = 0x5555558b3959 "HttpSM.cc:2491",
    event = 1108,
    reentrancy = 2
  }, {
    fileline = 0x5555558b5a0a "HttpSM.cc:7474",
    event = 65535,
    reentrancy = 2
  }, {
    fileline = 0x5555558b3425 "HttpSM.cc:1745",
    event = 200,
    reentrancy = 3
  }, {
    fileline = 0x5555558b3585 "HttpSM.cc:2011",
    event = 3,
    reentrancy = 1
  }, {
    fileline = 0x5555558b4bfc "HttpSM.cc:5547",
    event = 3,
    reentrancy = 1
  }, {
    fileline = 0x5555558b5a37 "HttpSM.cc:7643",
    event = 65535,
    reentrancy = 1
  }, {
    fileline = 0x5555558b3585 "HttpSM.cc:2011",
    event = 3,
    reentrancy = 1
  }, {
    fileline = 0x5555558b4bfc "HttpSM.cc:5547",
    event = 3,
    reentrancy = 1
  }, {
    fileline = 0x5555558b5a0a "HttpSM.cc:7474",
    event = 65535,
    reentrancy = 1
  }, {
    fileline = 0x5555558b3425 "HttpSM.cc:1745",
    event = 200,
    reentrancy = 2
  }, {
    fileline = 0x5555558b3425 "HttpSM.cc:1745",
    event = 500,
    reentrancy = 1
  }, {
    fileline = 0x0,
    event = 0,
    reentrancy = 0
  } <repeats 33 times>}

So, on the same box, running with the fix from #2973, I get a different crash now...
(gdb) bt full
#0  0x00007ffff56ad7ed in write () from /lib64/libc.so.6
No symbol table info available.
#1  0x000055555587d8d0 in SocketManager::write (fd=<optimized out>, buf=0x7fff98178dd0, size=<optimized out>, this=<optimized out>) at /home/lhedstrom/gitlab/trafficserver/iocore/eventsystem/P_UnixSocketManager.h:185
        r = <optimized out>
#2  fastopen_bwrite (bio=<optimized out>, in=<optimized out>, insz=<optimized out>) at BIO_fastopen.cc:133
        fd = <optimized out>
#3  0x00007ffff68361b8 in BIO_write () from /opt/bazinga/lib64/libcrypto.so.10
No symbol table info available.
#4  0x00007ffff6ba63c4 in ssl23_write_bytes () from /opt/bazinga/lib64/libssl.so.10
No symbol table info available.
#5  0x00007ffff6ba5929 in ssl23_connect () from /opt/bazinga/lib64/libssl.so.10
No symbol table info available.
#6  0x0000555555864f91 in SSLConnect (ssl=0x7fff98221490) at SSLUtils.cc:2225
        ret = <optimized out>
        ssl_error = <optimized out>
#7  0x000055555585b618 in SSLNetVConnection::sslClientHandShakeEvent (this=0x7ffec001b940, err=@0x7fffebefbc00: 113) at SSLNetVConnection.cc:1277
        ssl_error = <optimized out>
#8  0x000055555585a202 in SSLNetVConnection::sslStartHandShake (this=0x7ffec001b940, event=<optimized out>, err=<optimized out>) at SSLNetVConnection.cc:1040
No locals.
#9  0x0000555555870622 in write_to_net_io (nh=0x7ffff16e0e60, vc=0x7ffec001b940, thread=0x7ffff16dd010) at UnixNetVConnection.cc:438
        err = <optimized out>
        mutex = 0x7fffec104850
        ntodo = <optimized out>
        towrite = <optimized out>
        buf = <optimized out>
        signalled = 0
        needs = <optimized out>
        total_written = <optimized out>
#10 0x00005555558697a2 in NetHandler::waitForActivity (this=<optimized out>, timeout=<optimized out>) at UnixNet.cc:515
        pd = <optimized out>
        vc = <optimized out>
        epd = <optimized out>
        poll_timeout = <optimized out>
#11 0x00005555558699cd in non-virtual thunk to NetHandler::waitForActivity(long) () at UnixNet.cc:383
        last_throttle_warning = 0
        fds_throttle = 500000
        emergency_throttle_time = 0
        net_connections_throttle = 499808
        net_memory_throttle = false
        last_transient_accept_error = 0
        fds_limit = 500000
        last_shedding_warning = 0
#12 0x0000555555891f54 in EThread::execute_regular (this=<optimized out>) at UnixEThread.cc:248
        done_one = true
        sleep_time = 60000000
        next_time =<PHONE_NUMBER>777401033
#13 0x0000555555890f37 in spawn_thread_internal (a=0x5555561bddd0) at Thread.cc:84
No locals.
#14 0x00007ffff53bcaa1 in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#15 0x00007ffff56babcd in clone () from /lib64/libc.so.6
No symbol table info available.

and
(gdb) print *ssl
$1 = {
  version = 771,
  type = 4096,
  method = 0x7ffff6ddd8f8 <SSLv23_client_method.SSLv23_client_method_data>,
  rbio = 0x7fff9828c7c0,
  wbio = 0x7fff9828c7c0,
  bbio = 0x0,
  rwstate = 2,
  in_handshake = 1,
  handshake_func = 0x7ffff6ba5220 <ssl23_connect>,
  server = 0,
  new_session = 0,
  quiet_shutdown = 0,
  shutdown = 0,
  state = 4625,
  rstate = 240,
  init_buf = 0x7fff9829de70,
  init_msg = 0x0,
  init_num = 517,
  init_off = 0,
  packet = 0x7fff9817e800 "",
  packet_length = 0,
  s2 = 0x0,
  s3 = 0x7fff98286720,
  d1 = 0x0,
  read_ahead = 0,
  msg_callback = 0x0,
  msg_callback_arg = 0x0,
  hit = 0,
  param = 0x7fff982723c0,
  cipher_list = 0x0,
  cipher_list_by_id = 0x0,
  mac_flags = 0,
  enc_read_ctx = 0x0,
  read_hash = 0x0,
  expand = 0x0,
  enc_write_ctx = 0x0,
  write_hash = 0x0,
  compress = 0x0,
  cert = 0x7fff981d4690,
  sid_ctx_length = 0,
  sid_ctx = '\000' <repeats 31 times>,
  session = 0x7fff982967a0,
  generate_session_id = 0x0,
  verify_mode = 1,
  verify_callback = 0x555555865430 <verify_callback(int, x509_store_ctx_st*)>,
  info_callback = 0x0,
  error = 0,
  error_code = 0,
  kssl_ctx = 0x7fff98273ad0,
  psk_client_callback = 0x0,
  psk_server_callback = 0x0,
  ctx = 0x55555b59ea50,
  debug = 0,
  verify_result = 0,
  ex_data = {
    sk = 0x7fff98294b60,
    dummy = 0
  },
  client_CA = 0x0,
  references = 1,
  options =<PHONE_NUMBER>,
  mode = 0,
  max_cert_list = 102400,
  first_packet = 0,
  client_version = 771,
  max_send_fragment = 16384,
  tlsext_debug_cb = 0x0,
  tlsext_debug_arg = 0x0,
  tlsext_hostname = 0x7fff9829c880 "origin.example.com",
  servername_done = 0,
  tlsext_status_type = -1,
  tlsext_status_expected = 0,
  tlsext_ocsp_ids = 0x0,
  tlsext_ocsp_exts = 0x0,
  tlsext_ocsp_resp = 0x0,
  tlsext_ocsp_resplen = -1,
  tlsext_ticket_expected = 0,
  tlsext_ecpointformatlist_length = 0,
  tlsext_ecpointformatlist = 0x0,
  tlsext_ellipticcurvelist_length = 0,
  tlsext_ellipticcurvelist = 0x0,
  tlsext_opaque_prf_input = 0x0,
  tlsext_opaque_prf_input_len = 0,
  tlsext_session_ticket = 0x0,
  tls_session_ticket_ext_cb = 0x0,
  tls_session_ticket_ext_cb_arg = 0x0,
  tls_session_secret_cb = 0x0,
  tls_session_secret_cb_arg = 0x0,
  initial_ctx = 0x55555b59ea50,
  next_proto_negotiated = 0x0,
  next_proto_negotiated_len = 0 '\000',
  srtp_profiles = 0x0,
  srtp_profile = 0x0,
  tlsext_heartbeat = 0,
  tlsext_hb_pending = 0,
  tlsext_hb_seq = 0,
  renegotiate = 0,
  alpn_client_proto_list = 0x0,
  alpn_client_proto_list_len = 0
}


Editing an image's size in dashboard gives an error

Link to reproduction
/
Describe the Bug
When I edit an image it's size after uploading it I get an error saying "Something went wrong". Then in my logs it says this:
`

[2023-11-14T14:37:46]
(payload): Error: ENOENT: no such file or directory, open '/workspace/payload/dist/images/triton-tx550.jpg'

[2023-11-14T14:37:46]
at Object.openSync (node:fs:590:3)

[2023-11-14T14:37:46]
at Object.readFileSync (node:fs:458:35)

[2023-11-14T14:37:46]
at getFileByPath (/workspace/payload/node_modules/payload/dist/uploads/getFileByPath.js:21:34)

[2023-11-14T14:37:46]
at generateFileData (/workspace/payload/node_modules/payload/dist/uploads/generateFileData.js:46:59)

[2023-11-14T14:37:46]
at updateByID (/workspace/payload/node_modules/payload/dist/collections/operations/updateByID.js:103:106)

[2023-11-14T14:37:46]
at processTicksAndRejections (node:internal/process/task_queues:96:5)

[2023-11-14T14:37:46]
at async updateByIDHandler (/workspace/payload/node_modules/payload/dist/collections/requestHandlers/updateByID.js:35:21)

`
Sometimes I also get this error while editing the size before uploading/saving. Is this a known issue in Payload or just for me?
To edit the size I use the build in image editor in the dashboard and I use the overlay sliders on the image to make the view smaller.
To Reproduce
Upload an image in payload dashboard and try to edit it's size after uploading the image. (Sometimes I also get an error while trying to edit it's size while I upload it)
Payload Version
2.0.13
Adapters and Plugins
No response

Hi @dylankuipers - we do have a known issue with upload editing when deployed to Cloud or using plugin-cloud(), you can track that here.
Is this error happening locally or in production? We have released some upload related fixes recently, I would also test this on latest and see if the error persists.

@JessChowdhury Hi, both in production and locally it gives the errors. And yes, I use payload-cloud, could that be related then?

@dylankuipers yes definitely - we have a fix in the works here, I'll shoot you a reply when we get it released.


tegra-flash-init: allow user to override script variables

On custom board the QSPI flash can be under different name (like mtd1). Allow user to specify a device name by creating an environment file in bbappend.

Not sure if this proper way to do this. I know there is .env.initrd-flash in flash packages, and arguments get loaded at runtime.
But is this really needed? Is ramdisk supposed to be universal for all the targets? So I could just swap the .env.initrd-flash file and flash completely different board using the same image?
If this is the case, this change would break this of course.

I'd rather see this as a build-time (bitbake) variable, or could even be derived from the OTABOOTDEV variable we already have in the machine config files. The initrd is built per-MACHINE, which describes a specific combination of module and carrier, so the SPI flash device name is very, very likely to be the same between flashing runs.


strings get extra whitespaces

Snakemake version
7.32.4
Describe the bug
(EDIT: Turns out this could be a python incompability and not a snakemake bug)
Variables get whitespaces before and after them.
This creates all kind of problems since all paths build from config-file variables are invalid.
** Minimal snakemakefie**
foo = "foo"
print (f"foo is '{foo}'")
Logs
$ python3 --version
Python 3.12.0
$ snakemake -c1 --version
7.32.4
$ snakemake -c1
foo is ' foo '
Building DAG of jobs...
Nothing to be done (all requested files are present and up to date).
Complete log: .snakemake/log/2023-12-08T175422.428593.snakemake.log
Here is output form another version of python
$ python3 --version
Python 3.10.13
$ snakemake -c1 --version
7.32.4
$ snakemake -c1
foo is 'foo'
Building DAG of jobs...
Nothing to be done (all requested files are present and up to date).
Complete log: .snakemake/log/2023-12-08T183128.604350.snakemake.log

There is no way this is a snakemake bug, but the ticket could be useful if someone encounter this most peculiar behaviour.

It seems I have the same problem.
f"{prev_month}{current_year}"
returns  ' Nov 2023 ' instead of 'Nov2023'
Snakemake 7.32.4
Python 3.12.0

This is a known issue with Python 3.12.0 and Snakemake (see issue https://github.com/snakemake/snakemake/issues/2480)
To work around, downgrade to Python 3.11 as described: https://github.com/snakemake/snakemake/issues/2480#issuecomment-1765902814


automatically remove 's' from class name if( 's' present at end)

i found small bug if i create class like Details (look in image)

after that see in Preview section you will get result
class name like Detail . here i don't know why its remove  's'  from class name. (look in image)

This is by design. You have used Details to represent an array, so individual items within that array are a 'Detail'.
If you want to use 'Details', just paste an array item instead of the array.

thank you!


State Dataset: Explanation of keys

I looked into the state dataset and I was wondering if there is an explanation anywhere how the values for those keys are defined:
['actions', 'dones', 'env_levels', 'env_scene_states', 'env_states', 'episode_dones', 'info_angle1', 'info_angle2', 'info_dist_ee_mid_to_handle', 'info_dist_ee_to_handle', 'info_eval_info_cabinet_static', 'info_eval_info_open_enough', 'info_eval_info_success', 'info_gripper_ang_vel_norm', 'info_gripper_angle_err', 'info_gripper_angle_rew', 'info_gripper_vel_norm', 'info_keep_threshold', 'info_qpos', 'info_qpos_rew', 'info_qvel', 'info_qvel_rew', 'info_rew_ee_handle', 'info_rew_ee_mid_handle', 'info_reward_raw', 'info_stage_reward', 'info_target_qpos', 'next_env_levels', 'next_env_scene_states', 'next_env_states', 'next_obs', 'obs', 'rewards']
Thanks!

The state dataset is used to reconstruct the corresponding environment state at a particular time step, which is used to render visual inputs as in here. You can refer to the file for its usage. You may ignore anything that starts with info.

Thanks


[TypeScript] how to load D2RMM as a library?

Is there a way to load D2RMM as a library for a TypeScript-style mod and remove all the errors my IDE gives?
Same question for config/mod.json. Would be great if there was some way for the IDE to recognize mod.json as config, if settings exist and if types match.

If you author the TS code inside D2RMM/mods, TSC should pick up all the types automatically from types.d.ts.
I'm not aware of anything that does type checking for JSON files.

How do I do that? I'm a complete TS noob

You should be able to copy/paste the types.d.ts file from the D2RMM folder to any other folder of your choosing and get type checking and auto completion.


Add back reverseConfigFilePriority

With this now removed, I'm getting the wrong tsconfig.json selected in my Vue projects. By having tsconfig.app.json last and enabling this setting, both the TypeScript server and Volar in Vue files picked tsconfig.app.json, now Volar picks up tsconfig.vitest.json instead (Based on the create-vue template). Please restore this setting or make it the default to match TypeScript server behavior.

The Vue language server no longer controls tsconfig selection, because in 2.0 typescript support is implemented through tsserver + @vue/typescript-plugin, which means that now it is all the behavior of tsserver itself.

Then how can it be that for a vue file I'm getting tsconfig.vitest.json and for a ts file I'm getting tsconfig.app.json? Something must still cause the behavior to be different for this case?
See also https://github.com/vuejs/language-tools/issues/1815

Maybe tsserver behaves differently with external files (the file type of Vue files in the tsserver project), I can't give an exact explanation until I dig deeper. Anyway this is now beyond the control of this codebase.

Please track for https://github.com/microsoft/TypeScript/issues/57632

@sheetalkamat mentioned this is configurable, will look into this.

VSCode's TS client does not provide a configuration method for extraFileExtensions, so this is currently not configurable in VSCode for Vue.
https://github.com/microsoft/vscode/blob/8aca9a53311890fa54f0459c6ef2e8994d4d8ae4/extensions/typescript-language-features/src/languageFeatures/fileConfigurationManager.ts#L128-L129

Hi - very same issue here 🙋
Here is my example https://github.com/andrewbrennanfr/vue-tsconfig
main.ts uses tsconfig.main.json and App.vue uses tsconfig.app.json - completely based on the reverse order.
Downgrading & disabling the built in TS features (as was recommended before) solves the issue.

This problem cannot be solved on our end, but 2.0.7 has re-introduced the v1 language server, you can upgrade and make sure not to enable Hybird Mode to get consistent behavior with v1.

@johnsoncodehk This is still an issue... Can we request the needed API in VS Code so this can be properly solved?

I am currently unable to find time to investigate it, but let's keep this issue open in case it sinks.


Set up Testci on Adopt public server

We'd like to set up Testci on Adopt public server, which is a great source for monitoring and triaging the AdoptOpenJDK test jobs.

@karianna I remember you have mentioned there is a machine/server we could use?

FYI @llxia

Sure. https://github.com/AdoptOpenJDK/openjdk-infrastructure/issues/489

thanks @llxia and @gdams for the setup
after a few more updates, we can make it more widely known.

For additional setup steps, please see TRSSConfigure.txt

For additional setup steps, please see TRSSConfigure.txt

Could we get that file into source control in the appropriate repo (test-tools?)

I did not add TRSSConfigure.txt in git because the steps are specific to us to set up the production server, but not to an open-source contributor. Regular users should refer to our readme.
Also, TRSSConfigure.txt is a general checklist. I did not list specific commands as they may contain sensitive information.

Ah OK no worries then!


"Unable to load documentation" (in Docker installation ?)

Environment

Python version: 3.6
Nautobot version: 1.0.2 (but 1.0.3 too on demo instance), deployed using the Docker image

Steps to Reproduce

Login, add device
Click the "❔" button (top right)

Expected Behavior
See the documentation related to the form

Observed Behavior
Unable to load documentation, file not found: /usr/local/lib/python3.6/site-packages/docs/models/dcim/device.md
Note
This was already an old issue with Netbox (https://github.com/netbox-community/netbox-docker/issues/253) if it can help.

This is also an issue within a non-docker install.

Hmmm I thought we had fixed this by moving docs to nautobot/docs so they get included in package builds. We might have missed a reference?

Confirmed. Thanks for the report @u1735067

The template code has a check for settings.DOCS_ROOT which we must have overlooked when we were doing all the other *_ROOT settings, because it's defaulting to this:
>>> from django.conf import settings
>>> settings.DOCS_ROOT
'/opt/nautobot/lib/python3.8/site-packages/docs'


Update current year for footer

Update current year for footer

This is an automated message from CI:
Docker Image for build 1 is available on DockerHub as jc21/nginx-proxy-manager:github-pr-1830
Note: ensure you backup your NPM instance before testing this PR image! Especially if this PR contains database changes.


[Enhancement] distinguish v1 from v2 LoRA models

Distinguish LoRA/LyCORIS files based on what version of SD they were built on top of

Attempting to run a prompt with a LoRA based on SD v1.X against a model based on v2.X will now throw an IncompatibleModelException. To import this exception:
from ldm.modules.lora_manager import IncompatibleModelException  (maybe this should be defined in ModelManager?)

Enhance LoraManager.list_loras() to accept an optional integer  argument, token_vector_length. This will filter the returned LoRA  models to return only those that match the indicated length. Use:
    768 => for models based on SD v1.X     1024 => for models based on SD v2.X
Note that this filtering requires each LoRA file to be opened by torch.safetensors. It will take ~8s to scan a directory of 40 files.

Added new static methods to ldm.modules.kohya_lora_manager:
- check_model_compatibility()
- vector_length_from_checkpoint()
- vector_length_from_checkpoint_file()

You can now create subdirectories within the loras directory and organize the model files.

Maybe create file with info about lora like sha file for checkpoint models?
So, first check will take a bit time, but if lora loaded in past, then just load info file.

Maybe create file with info about lora like sha file for checkpoint models? So, first check will take a bit time, but if lora loaded in past, then just load info file.

H'mmm, makes sense. But we'd have to update the file everytime someone added or removed a LoRA file.

I've created a lora cache file in the top-level loras directory that holds information on the lora vector length. It speeds up scanning of the directory from 8s to 0.1s, and uses file locking to avoid one invokeai process overwriting the file while another invokeai has it open. It does not address the possibility that the user will delete the original lora file and replace it with another one of the exact same name derived from a different sized model.
@blessedcoolant I also implemented a routine called list_compatible_loras() that will return a dictionary of all the LoRAs that are compatible with the current model. The keys are the LoRA base name, and the values are the full path to the .safetensors file. I modified invokeai_web_server so that it calls this method in its getLoraModels event, and it works to the extent that when the loras first load they are filtered to be compatible with the initial model. However, I don't know how to force the list of loras to be reloaded whenever the model changes. Is this something  you can do?

However, I don't know how to force the list of loras to be reloaded whenever the model changes. Is this something you can do?

You could try the following.
In listeners.ts find the onModelChanged function. Prior to dispatch(setIsProcessing(false)); add dispatch(getLoraModels()); and auto-import the getLoraModels function into the ifle..
This should effectively call the lora models again when a new model is loaded. And if the backend sends back only compatible models, it should work as intended.

Worked like a charm on the first try. Thanks so much!
I think this is PR is ready for a review now.

@lstein The frontend is not built correctly. index.js is missing.

@lstein The frontend is not built correctly. index.js is missing.

I've rebuilt the frontend and added the missing .js file.


Dependency Upgrade

Changes

Upgraded ollama-js dependency to latest.
Upgraded other development dependencies.
Fixed issue with tests not running at root level for PRs.

Notes

This runs fine locally with npm run client

Yeah, I assess what we currently had (compared to the forked repo) and I think we are good either way.

With the forked repo I saw, it was a little behind on fixes and dependencies. I just do this every now and then.

Will also reference #73


[UI] Alerts API

GitHub mobile doesn't have an obvious option for a "proper" review, but I have read over the PR and aside from a few negligible formatting things, this is all fine. My only real issue is that all new files you have added and the new typedefs you have added are seemingly indented using tabs, not spaces.


Previously opened script's horizontal scrollbars are shifted after application restart

Godot version:
v3.2.beta.custom_build.28613ab8c
OS/device including version:
Windows 10
Issue description:
Godot remembers for each script position of a text cursor. And after restart tries to set position of the horizontal scrollbar so that the text cursor is located at the beginning of the editor space.
Scrollbar should always be at position 0 (or as it was before)

I think it makes sense to remember vertical scrolling in the script editor, but not horizontal scrolling.

The scrolling isn't restored at all. It's correctly saved and loaded, but then TextEdit does some inexplicable magic and the scroll actually focuses on the cursor. With wide scripts it results in horizontal scroll being shifted.

Maybe horizontal scrolling should always be discarded? It's likely not commonly used on most displays anyway.

The problem is that after restoring scrolls there's a call to TextEdit::_update_scrollbars() which moves the scrollbars to some weird initial position near the cursor. "Discarding" the stored scroll doesn't help. Also restoring it using set_deferred doesn't help either.

I hope this is fixed soon because it's really annoying.

@TheSecurityDev Please don't bump issues without contributing significant new information. Use the :+1: reaction button on the first post instead.

Maybe horizontal scrolling should always be discarded? It's likely not commonly used on most displays anyway. Vertical scrolling is much more important to keep in comparison slightly_smiling_face

@Calinou I believe it's a good thing to keep the state of the scroll bar of where the user left it. Because the code already allow that I think it would be sad to remove a nice feature. Of course the feature should work and the current issue seems to be a regression instead of a bad feature.
@KoBeWi I made a messed up fix on my fork. Might help you to understand a bit more. I believe one issue is that when we change the value of the scroll bar the events are fired, and there are many, many events that starts to be fired, and one seems to have the wrongs values. I'm quite bad for debugging this project since I'm new here. https://github.com/ice-blaze/godot/commit/a71b6e5c6387c3d753e6f93e5c4182f2ab3cdf69 I'll still continue to do some more research.
Also I found that the function _scroll_moved(arg) do not use it's argument at all... So it's confusing. It looks like at start of the function the argument was useful and then after refactoring the argument became useless and more logic where added into the function (I prefer keeping function simple and doing only one job, anyway I'm new here so my favorite code style are not important).
In the future it would be nice to have tests that check regression like this issue. (I would like to add them if there doesn't exist yet)

In the future it would be nice to have tests that check regression like this issue. (I would like to add them if there doesn't exist yet)

See #30743.

So from what I've understood the scrollbar should be on the far left on startup, right?
A simple solution would be to just move the cursor to that position on the start. Would that be an acceptable solution or does it

IMO it would be acceptable. The cursor position is much less relevant than current line.

Any updates on this? Why was it removed from 4.0 milestone? Been 3 years since original post, and seems like this would be a simple fix.

It was removed from the milestone, because it's not a critical issue.
Also the fix is not that simple. I gave it a shot once, but the logic that causes the issue is convoluted.

How do we get more attention for that issue?
This is super annoying and should be fixed.

Based on the now closed https://github.com/godotengine/godot/pull/42033 it looks like the issue might be that when setting the script cursor column position the script editor isn't properly sized yet, so it changes the h scroll position because it thinks it's needed to fit the cursor position on screen.
However, since the logic behind when and how this sizing and cursor setting happens seems difficult to fix, perhaps it would be easier to bypass this in line with @Leleat's original suggestion by simply disregarding the column field for each script resource (setting it to 0) when loading the script_editor_cache.cfg file at startup (not sure where this is?). That way the cursor will just be placed at the start of the row instead of the last position, but this seems like a small sacrifice to fix this annoying issue.

If it isn't working as it should, and is counter-intuitive, the best thing would be to just remove the horizontal positioning completely until someone can implement it appropriately.
Just have it set to 0. It's annoying having it set to anything else.

I think it makes sense to salvage what https://github.com/godotengine/godot/pull/42033 did, but TextEdit has been refactored into multiple classes including CodeEdit so it can't be cherry-picked as-is.

Just had this issue today, glad it's being talked about. I would like to see horizontal scroll position be set to the far left/0 by default as well. Perhaps an editor option could be used to override it, and make it work how it currently does. But, the default being leftmost would make sense. The only thing I usually have off-screen to the right are comments for code context, and long math functions. The left most side takes priority for me.

Not fully fixed by #94439.

This doesn't fix https://github.com/godotengine/godot/issues/33865 in all situations, such as when the editor is opened. It may depend on resolution.


mathematical formulas

Can I insert mathematical formulas into my word doucument?

I have added Equations property for document, and there is WordEquations object but there's no "direct" way to add formula into document. You could probably add it manually by creating paragraph and then working with _paragraph to add formula. So far I had no need for formulas, so I never really checked on how to do it properly.


JsonConvert.DeserializeObject formats date inside a string field of a KeyValuePair

Source types
IList<KeyValuePair<string, string>> values = new List<KeyValuePair<string, string>>
{
      new KeyValuePair<string, string>("123", "2017-05-19T11:00:59")
};

Destination JSON
[
   {
      ""Key"": ""123"",
      ""Value"": ""2017-05-19T11:00:59""
   }
]

Expected behavior
I expected the value of the deserialized KeyValuePair element to be "2017-05-19T11:00:59", since it was a string to begin with.
Actual behavior
The value is "2017/05/19 11:00:59"
From my tests, this happens only for KeyValuePair elements, but the tests were not complete, so there might be other types that behave the same.
Expected: "2017-05-19T11:00:59"
But was:  "05/19/2017 11:00:59"

My test:
I created a class with the same structure as KeyValuePair and the result was the expected one.
Steps to reproduce

[Test]
public void SerializeDateTimeUsingInternalConverter()
{
      IList<KeyValuePair<string, string>> values = new List<KeyValuePair<string, string>>
      {
            new KeyValuePair<string, string>("123", "2017-05-19T11:00:59")
      };

      string json = JsonConvert.SerializeObject(values, Formatting.Indented);

      IList<KeyValuePair<string, string>> v1 = JsonConvert.DeserializeObject<IList<KeyValuePair<string, string>>>(json);

      Assert.AreEqual("123", v1[0].Key);
      Assert.AreEqual("2017-05-19T11:00:59", v1[0].Value);
}

Thanks for the detailed bug description. Fixed https://github.com/JamesNK/Newtonsoft.Json/commit/7726b5109160abbd05e7f1352e00fd4d1398f470


Fee bump for sidechain withdrawals

After a sidechain user creates a wt, we should allow them to increase the sidechain fee in order to be accepted into a WT^ by miners.


Remove u32or from bitwise chiplet

Addressing #358.

Removes u32or from the bitwise chiplet.
Implements bitwise or as a combination of and and xor: a OR b = (a XOR b) XOR (a AND b)
Gets rid of 1 internal selector column since there are only two operations handled by the bitwise chiplet which require only one column. Hence changes internal selector column from [0, 0] and [1, 0] for and and xor respectively to [0] and [1].
Reduces the transition constraints for the bitwise chiplet from 19 to 17.

Benchmark:
Increases execution time by ~2.3% and compilation time by ~0.5% for the keccak256 program.

Thank you @grjte for the review. Made suggested changes and left some questions inline.


Website Make Docs doesn't work as is

Wave SDK Version, OS
Wave 0.17.0: attempting to make the docs locally so that I can live-edit a new blog post. Used a fresh pull of the Wave repo
Actual behavior
Was not able to follow these instructions for making the docs
Expected behavior
(A clear and concise description of what you expected to happen.)
Steps To Reproduce

Follow the install steps here: https://github.com/h2oai/wave/tree/master/website

mtanco@MTanco-MBP15 Desktop % cd wave
mtanco@MTanco-MBP15 wave % make docs
cd py && /Library/Developer/CommandLineTools/usr/bin/make docs
./venv/bin/pdoc --force  --template-dir docs/templates --output-dir build/docs h2o_wave
make[1]: ./venv/bin/pdoc: No such file or directory
make[1]: *** [docs] Error 1
make: *** [docs] Error 2

Possible Solution?
I worked around this by changing this line in the Makefile to docs: setup ## Build API docs so that I would have a venv, but I'm not positive if this is the right solution for developers who already have run make setup

Hi @mtanco, running make setup from within py folder (which is also part of the main make setup` target) should resolve the issue.
Will update the instructions also.


[hotfix] Allow setting FLINK_CONF_DIR by hand

This makes it possible for users to set a per-job conf directory when using the one-flink-cluster-per-job mode on yarn. Which enables, for example, per job log settings.
@uce  This should probably also go into 0.9.1.

Very useful feature. In addition, I could also imagine that the config file could be passed as a parameter to the ./bin/flink utility.

Could you add some documentation? Looks good to merge otherwise :)

Oops, sorry, I merged it already because there weren't any new comments over night.

But you're right, I'll add some documentation to the flink yarn doc, because this is the only place where I see this could be helpful.

Ok thanks!


Loose aeson contraint to <0.10 and -j2 for travis

@jpvillaisaza @jsl could you check it please? this resolves #18 and since new documentation for travis tells us that we have 2 dedicated cores for the container, i added -j2

LGTM
On Friday, July 24, 2015, Juan Paucar<EMAIL_ADDRESS>wrote:

@jpvillaisaza https://github.com/jpvillaisaza @jsl
https://github.com/jsl could you check it please? this resolves #18
https://github.com/stackbuilders/twitter-feed/issues/18 and since new
documentation for travis tells us that we have 2 dedicated cores for the
container, i added -j2
You can view, comment on, or merge this pull request online at:
https://github.com/stackbuilders/twitter-feed/pull/19
Commit Summary

Loose aeson contraint to <0.10 resolves #18 & add -j2 for travis

File Changes

M .travis.yml
https://github.com/stackbuilders/twitter-feed/pull/19/files#diff-0
(5)
M twitter-feed.cabal
https://github.com/stackbuilders/twitter-feed/pull/19/files#diff-1
(2)

Patch Links:

https://github.com/stackbuilders/twitter-feed/pull/19.patch
https://github.com/stackbuilders/twitter-feed/pull/19.diff

—
Reply to this email directly or view it on GitHub
https://github.com/stackbuilders/twitter-feed/pull/19.

--
Justin Leitgeb http://justinleitgeb.com
Twitter: @justinleitgeb http://twitter.com/justinleitgeb
Github: @jsl https://github.com/jsl
Co-Founder and CTO, Stack Builders Inc. http://www.stackbuilders.com

@juanpaucar Thanks!


main.css refers to an idea.svg that does not exist?

This line refers to ../images/idea.svg but there is no such file? At least I think that's why my logs says
main.ERROR: Unable to resolve the source file for 'adminhtml/Magento/backend/en_US/Jajuma_AwesomeHyva/images/idea.svg'
main.CRITICAL: Unable to resolve the source file for 'adminhtml/Magento/backend/en_US/Jajuma_AwesomeHyva/images/idea.svg'

Hi @rbrown
You are right - Thank you very much for reporting this issue!
Fixed with release 2.1.3


Test behaviours explicitly

We're testing the various behaviours indirectly via the WCs, but it would be good to divide up the tests between behaviour tests (which need to be expanded), and WC-specific tests (which are pretty good already).

In order to do this (and for general sanity), it probably makes sense to move the majority of an element's behaviour into a d2l-element-name-behaviour.html file. This allows us to isolate testing of the behaviour (model) from the web component itself (which is more view/controller).

Closing as this is a as-we-change-things improvement, not a one-off.


[bug] launching latest macOS version crashes saying "application damaged"

See the attached image for the full error message:

System info:

MacBook Pro 2023, M2 Pro
16GB RAM w/ plenty of RAM available (not memory related crash)
macOS Ventura, version 13.4.1
Gatekeeper is enabled, but I have "Allow applications from Trusted Developers" selected, which allows manual override via Opt ＋ Click (tried that, details below).

Steps to reproduce:

Download latest .dmg for macOS & mount
Move the app to the Applications
Try to open (crashes)
Opt ＋ Right click on app (to get around gatekeeper), hold option while selecting "Open" (crashes)

apologies, I see this is addressed in the README with manual override of the gatekeeper quarantine settings for the app, closing


Replace IWDG_STM32_START_AT_BOOT by WDT_DISABLE_AT_BOOT

With this patch, the flag specific flag IWDG_STM32_START_AT_BOOT
is replaced by the zephyr generic WDT_DISABLE_AT_BOOT.
Fix https://github.com/zephyrproject-rtos/zephyr/issues/21200
Signed-off-by: Francois Ramu<EMAIL_ADDRESS>

tested on nucleo_wb55rg

test suite kernel_critical
test suite wdt_basic_test

@FRASTM, can you check this is in line with https://github.com/zephyrproject-rtos/zephyr/pull/22859/files ?

tested with
CONFIG_WDT_DISABLE_AT_BOOT=n
and
CONFIG_WDT_DISABLE_AT_BOOT=y
in the nucleo_wb55rg_defconfig


Sonar RSPEC-1192 (String literals should not be duplicated)

Hi all!
Tell me pls - now there is a check for duplicate value?
For example in Sonar: https://rules.sonarsource.com/python/tag/design/RSPEC-1192

I don't think so -- we don't have a check like this, though we could add a Sonar category with this rule (and others) if someone were interested.

Voting up for adding Sonar category. Also, I'm curious if there is any plan to add a tag system in ruff in the near future, similar to what Sonar offers.

Linking to general issue for Sonar rules: #4935


Flysystem 2.0 conflict

Hi,
love your work, unfortunetaly it is not possible to install Glide with Flysystem 2.0 installed. Will you upgrade this package? Thanks!

Hi! Yes it is planned :)

Hi! Yes it is planned :)

Work in progress here: https://github.com/thephpleague/glide/pull/301

Work in progress here: https://github.com/thephpleague/glide/pull/301

This is merged already, but not released yet. Do you know when it will be released? For now I will work with dev-master.

I need to sync with @ADmad but I think I'll release tomorrow

https://github.com/thephpleague/glide/releases/tag/2.0.0


Book of Facts seeding

Book of Facts seeding fully and accurately replicated
Tracking for wishes, tatters, gummi effects and pinata effects with pref correction if things look out of sync
Pulled out code from PocketDatabase into AdventureResults that parses item (quantity) strings and effect (duration) strings, added tests.
Expanded expression syntax with lt(), lte(), gt() and gte() with tests (true is 1 and false is 0)

This could be merged now but I will continue to work on

Exposing these data in MonsterProxy fields
Exposing these data via new RuntimeLibrary functions

Any chance of a DataFileTest / DataFileConsistencyTest for bookoffacts.txt after the form stabilizes?

Any chance of a DataFileTest / DataFileConsistencyTest for bookoffacts.txt after the form stabilizes?

It produces errors as it parses and I have a test confirming that that takes place with no errors - do you think that's enough? I'm not sure what else I could do.

It produces errors as it parses and I have a test confirming that that takes place with no errors - do you think that's enough? I'm not sure what else I could do.

I missed that a test existed. I guess the other thing to confirm would be that the test fails if there is actually an error (the "does this test test the right thing" problem).

It produces errors as it parses and I have a test confirming that that takes place with no errors - do you think that's enough? I'm not sure what else I could do.

I missed that a test existed. I guess the other thing to confirm would be that the test fails if there is actually an error (the "does this test test the right thing" problem).

That would also cover the missing coverage I have! Ok.

That would also cover the missing coverage I have! Ok.

I'll be happy with just introducing errors into the file (once, manually) then running the test to confirm it breaks (in the expected manner). I don't think this needs to be persistent; I don't expect the file to change after its initial creation.

Are there any monsters with a base meat fact that don't have any base meat? What happens then? Do they just not drop anything?

That would also cover the missing coverage I have! Ok.

I'll be happy with just introducing errors into the file (once, manually) then running the test to confirm it breaks (in the expected manner). I don't think this needs to be persistent; I don't expect the file to change after its initial creation.

I already did this while writing it!


How to implement posec3D on my own computer

Hello, I would like to ask you how to achieve PoseC3D in your own computer?
Is there anything else to be configured after the requirement is configured?
Which file do I need to run？

Hi, Sherry,
I have some difficulties to understand ur problem.
To run posec3d, you just need to install this repo, download the annotations pickle files in https://github.com/kennymckormick/pyskl/blob/main/tools/data/data_list.md and follow the instruction for training & testing in the README of each algorithm.


chore(Combinatorics/SimpleGraph): remove sndOfNotNil

Readd the refactorings to sndOfNotNil and tail
The changes in 17b10a9d3d309648fbbad36a565603835fcef157 were accidentally reverted in 5025874dc5f9f8dd1598190e60ef20dda7b42566
This PR reintroduces the changes. The patch applied cleanly, except for some small conflict in Hamiltonian.lean which I fixed.

I conferred with @semorrison and they mentioned that it looked like an accident with the adaptation branch in #15513
Original PR: #15237

I just noticed this, it conflicts with #16382

Thank you for the persistence!
maintainer merge

Thanks! :tada:
bors merge


Pycharm:TensorFlow-Attribute error issue

Hi,
While trying to run the below code I encountered an Attribute error, description for which is given below.
Code
import tensorflow as tf
node1 = tf.constant (3.0,tf.float32)
node2 = tf.constant (4.0)
print(node1,node2)
Error Message encountered-AttributeError: module 'os' has no attribute 'add_dll_directory'
System Configurations are as mentioned below
OS-Windows 7
Python version-3.8.0
Pycharm version-Community 2019.1
Tensorflow-2.3.0
PFA the screenshots of Pycharm packages

@vigneshenoy-SDET,
Could you please check if you are running 64-bit Python and take a look at the system requirements to install TensorFlow.
Also, please run the command pip list and share the output with us. Thanks!


Error opening Sample.schema

I have just installed the editor.
When I choose "New" with the included Sample.schema, I get the following error: Unable to cast object of type 'System.String' to type 'Newtonsoft.Json.Linq.JValue'.
system: Windows 10 Enterprise, 64-bit

Restart VJE and a new update should be available...

Confirm fixed.


Radially averaged power spectrum

Craig Miller suggested on the maling list that we have a function to calculate the radially averaged power spectrum of grid data:

Would it be possible to include a routine to calculate the radially averaged power spectrum of a grid. I currently read in the grid with the gridder.load_surfer and then i do some work using scipy to calculate the fft etc but it seems like it would be a useful thing to have as a routine for regular use.  I'm finding it tricky to get the proper wavenumber coordinates on the output (ie related to the original input grid).  It would be nice to have a suit of commonly used signal processing tools such as this included in the package.

This has applications mainly in potential field processing. A widely used application (too widely, if you ask me) is to separate shallow and deep sources (Spector and Grant, 1970). This doesn't really work in most cases but the power spectrum is used elsewhere so it would be useful to have anyway.
Examples from the e-mail:

Getting the proper wavenumbers is really tricky because assumptions on the coordinate systems of the grid (x is North in Fatiando but sometimes people use x as East). Also, you can get tripped up by numpy.meshgrid if you pass and receive things in the wrong order.
Functions in fatiando.gravmag.transform calculate wavenumbers in a more reliable and tested way. Using them also reduced code duplication. The wavenumber functions don't really have a good interface as they were originally meant for internal use only. They should be given better names and docstrings and be cleaned up a bit.

Nice, seams useful. Wondering how to estimate a 1D power spectrum of wave number for a scatter set.

Easiest way is to grid and FFT. But a more complicated way could be to use an equivalent layer (note: this is wild speculation). You could fit the layer in the space domain but then forward model in the frequency domain (the layer is a regular grid so FFT is OK).

Actually, that might be a very cool idea for other things as well. (cc @birocoles)

In my Degree Thesis I've written some simple interactive software to estimate Curie's Depth using the power spectrum of magnetic anomalies. I've implemented some raw code to achive the radial average. I'll try to polish it to a more general application and upload it.
In my case, I forced the software to use square grids with even number of points on each axis. I've done this in order to get a grid point on its center, which is associated with the k=0 in the frequency domain.
I'll upload a simple code to start working on it.

@santis19 thanks, that would be great! Let me know when you get started on this. We can see if Craig can give you a hand (reviewing the code, for example) since he seems to have implemented this already.


Add padding option for View

In an application that covers the left half of the map viewport almost entirely with a collapsible overlay element, I needed a way to fit the map to elements so they are not covered by that overlay. I was able to handle that with View.fit() with a padding. But In addition, the app uses the History API and adds the map's center and zoom to the URL. This is what is neither covered well by fit() with a padding, nor by using the centerOn() method. I wanted something where I just set the padding and don't need to worry about how to fit or center anything.
This pull request adds what I came up with:
const view = new View({
  //...
  padding: [0, 0, 0, 200];
});

My initial configuration is for the case where the overlay with a width of 200px is expanded. Everything on the map will be centered so it won't be covered by the overlay, because the viewport center is shifted so it is in the center of the remaining visible area.
Now when I collapse the overlay, all I need to do is
view.padding[3] = 0;

Subsequent operations that center the map will use the center of the viewport again.

This is ready for review. To demonstrate what's new:
New example: https://deploy-preview-11755--ol-site.netlify.app/examples/view-padding.html
Docs for the new padding option: https://deploy-preview-11755--ol-site.netlify.app/apidoc/module-ol_view-view#padding

Should extent and multiWorld: false constraints apply to the full viewport or padded region?  Currently multiWorld: false appears to use the size of the full viewport but is centered on the padded region.  When zoomed out panning up and down reveals an area north of the projection extent, but part of Antarctica cannot be reached.

@mike-000 I don't think the padding should have an effect on constraints. It's really just an aid for helping to center the map properly when parts are covered by overlays. Similar to this in Google Maps, where I searched for 'Vienna' and the info box about Vienna covers parts of the map, so the viewport center is shifted to show all of Vienna:

Maybe the solution to the remaining issue would be to make the center constraint aware of the padding. This may be necessary because what this pull request does is simply to ask the renderers for a different center than what the view thinks the center is.

This is ready for review again. The center constraint is now handled properly.

really a very interesting possibility !


Added a custom extractor that can be used if a provider wants to add the referer by itself.

It will split the url using a newline (\n), the 1st index will be the stream_url and the 2nd index will be the referer.

I don't like this at all.
The ideal way be to add refer in the constructor of BaseExtractor and import it in the provider which needs to specify the referer.


build: gitpod ready

gitpod readiness

:tada: This PR is included in version 1.4.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Copy updates

1) Account registration confirmation screen:
Add a colon after “you can:”
UPDATE THIS “Contribute a list of facilities” TO “Upload a list of facilities”
UPDATE THIS “Search the existing facilities” TO “Search and download facilities in Open Supply Hub”
So the new copy would read:
"...you can:

Upload a list of facilities
Search and download facilities in Open Supply Hub"

2) Processing complete email:
https://docs.google.com/document/d/1CAcO9Zdgrl3ZTk8xb7HhHC2-pAXxL9gfXjAdMju7pdY/edit?usp=sharing

email is good to go @obrienad, removing CAN


Incorrect behavior in Safari for iOS

In mobile Safari cloned header appears only after scroll is finished. As a result of my investigation I got that mobile Safari does not update DOM while scroll is still in progress so it is not bug with this library itself.
One of the possible workaround that I can see is to check window.navigator to detect iOS device and add position: -webkit-sticky to header element.

I ended up to the same issue. I succeeded to fix it by forcing a repaint using a CSS animation.
@include keyframes(stickyAnimation) {
    0% { width: 99.9999%; }
    100% { width: 100%; }
}

.fsm-sticky-header {
    @include animation(stickyAnimation 1ms);
}

@alesdrobysh Did you find a solution?
@jpetitcolas I tried that, and it didn't work when I tested it on iOS 10. It still only appears after I release the scroll.

@jpetitcolas Upon closer inspection, I realize that I might be having two issues here which is related to your PR for #39

I tried the force reflow that @jpetitcolas was talking about, but it didn't work for me. I thought it might be a problem with the element not being compiled correctly, but confirmed that wasn't the case.
Here's a video (zipped) illustrating what I am talking about. When you're watching the video, you'll notice the header jumps down which is when I let go of the screen with my finger.
Untitled.zip

@moneytree-doug Yes. I added the following to link function of fsmStickyHeader directive:
var iOS = /iPhone|iPad|iPod/i.test(navigator.userAgent);

and modified init with the following:
if (iOS) {
  header
    .css('position', '-webkit-sticky')
    .css('z-index', '1')
    .css('top', scope.scrollStop - scope.contentOffset - 2);
} else {
  scrollableContainer.on('scroll.fsmStickyHeader', determineVisibility).trigger("scroll");
  scrollableContainer.on('resize.fsmStickyHeader', determineVisibility);

  scope.$on('$destroy', function () {
    scrollableContainer.off('.fsmStickyHeader');
  });
}

@alesdrobysh Thanks for the reply. I appreciate it. I ended up forking off ion-sticky resulting in this: http://codepen.io/dagumak/pen/mAjOLA


Database file

Could you please upload your database file. thx

I'm finalizing the DB model, expect it to be uploaded in the next couple of days

You can now find the .sql file to create the database in the repository. Have fun


minor edits for event table

datasetName has an extra "/" in the middle
samplingProtocol spelling errors: Methods section "IFCB shore station" from Fischer, A., et al. (2020) https://doi.org/10.1002/lno.11443
thanks

Stace,
I hope to get to this soon. I've got a couple of other projects that have come up that need to be dealt with.
(Also got trained on the IPT the other day)
Cheers,
Fred
From: "Stace Beaulieu" @.>
To: "CeNCOOS" @.>
Cc: "Subscribed" @.***>
Sent: Tuesday, June 18, 2024 1:50:48 PM
Subject: [CeNCOOS/OBIS_workshop_2024_IFCB] minor edits for event table (Issue #11)
datasetName has an extra "/" in the middle
samplingProtocol spelling errors: Methods section "IFCB shore station" from Fischer, A., et al. (2020) [ https://doi.org/10.1002/lno.11443 | https://doi.org/10.1002/lno.11443 ]
thanks
—
Reply to this email directly, [ https://github.com/CeNCOOS/OBIS_workshop_2024_IFCB/issues/11 | view it on GitHub ] , or [ https://github.com/notifications/unsubscribe-auth/ABGXFCINVXRGDPTQQ3GVP4TZICMSRAVCNFSM6AAAAABJQYUJKCVHI2DSMVQWIX3LMV43ASLTON2WKOZSGM3DANRYHA4DMNI | unsubscribe ] .
You are receiving this because you are subscribed to this thread. Message ID: @.***>

Slash removed in code and spelling error fixed.


[Simplified Collect][Taxes] Prevent creating taxes with empty names

Problem
Coming from this thread, the API is throwing an error when users try to create a tax without a name.
Why is this important
Prevents errors
Solution
Validate the tax name before sending it to the API and check it in the API

Any movement here, guys?

@marcaaron worked on this PR that's already merged and deployed. We also added validation when creating a new tax here. So I think we can close this issue!


Update optimized implementation for Cancun

The optimized implementation has not been updated to account for Cancun.

Is this good to close now that #919 is merged?

Yes


Plugin Crashing on boot using LIRC

Hi,
Just trying to setup LIRC to work with this plugin. LIRC is installed on the same Raspberry Pi as Homebridge however even with the simplest of configs I get the following callback...
TypeError: Cannot read property 'forEach' of undefined
    at new Television (/usr/lib/node_modules/homebridge-television-universal-control/src/platformAccessory.ts:275:24)
    at TelevisionUniversalControl.discoverDevices (/usr/lib/node_modules/homebridge-television-universal-control/src/platform.ts:88:9)
    at HomebridgeAPI.<anonymous> (/usr/lib/node_modules/homebridge-television-universal-control/src/platform.ts:39:12)
    at HomebridgeAPI.emit (events.js:327:22)
    at HomebridgeAPI.signalFinished (/usr/lib/node_modules/homebridge/src/api.ts:251:10)
    at Server.start (/usr/lib/node_modules/homebridge/src/server.ts:160:14)
    at cli (/usr/lib/node_modules/homebridge/src/cli.ts:80:10)
    at Object.<anonymous> (/usr/lib/node_modules/homebridge/bin/homebridge:17:22)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)

Is there an example config that should always work or is it a case of if there is not a fully configured TV then the plugin will crash?
p.s my current config looks like this:
{
            "groups": [
                {
                    "name": "Living Room TV",
                    "devices": {
                        "lirc": [
                            {
                                "name": "Samsung UE40ES5700",
                                "remote": "UE40ES5700"
                            }
                        ]
                    },
                    "power": {
                        "on": {
                            "commands": [
                                {
                                    "lirc": [
                                        {
                                            "commands": [
                                                "KEY_POWER"
                                            ],
                                            "device": "Samsung UE40ES5700"
                                        }
                                    ]
                                }
                            ]
                        },
                        "off": {
                            "commands": []
                        }
                    },
                    "speaker": {
                        "mute_on": {
                            "commands": []
                        },
                        "mute_off": {
                            "commands": []
                        },
                        "volume_up": {
                            "commands": []
                        },
                        "volume_down": {
                            "commands": []
                        }
                    }
                }
            ],
            "platform": "TelevisionUniversalControl"
}

Many thanks for the help

This error is because you need at least an empty inputs key for your group.
"inputs": [],

(I ran into this as well, and #12 changes it to be optional as part of the other changes.)


Fix/ Incident Handling

OP-1977 | OP-1978 | OP-1979 | OP-1980 | OP-1981

It might not be enough, there might be orphan persons left behind (see https://github.com/lblod/app-organization-portal/pull/208/files)
If there are persons with positions in those bestuur (and not anywhere else), you might need to either migrate them to the correct bestuur or delete them completely


GPU Tasks Stuck

When I deploy an update to a service running on a GPU instance, it seems to occasionally get stuck. The vm doesn't have the resources to run two tasks, but the first task doesn't stop before the second task starts, so they stay in limbo.

This was fixed by deprovisioning old GPU tasks before starting new ones.


'Github' typo in README.md (all branches)

-> GitHub

Thanks for reporting! Please feel free to send a pull request, any contribution is welcome! :)

https://github.com/intercellular/cell/commit/41faf5e03eb42fceb4e99a7802fb80985daa6b62

For future reference, editing the README (or any other file) is as easy as going to the edit view https://github.com/intercellular/cell/edit/develop/README.md (in case of readme), updating, and sending a pull request.
Don't worry about messing up, since pull requests need to be merged in anyway :)

I would've, but there's still the plan and gh-pages branches. Can you use 1 PR to patch both?

I just merged them all so they're reflected there as well :) You can see here:
https://github.com/intercellular/cell/tree/master
https://github.com/intercellular/cell/tree/gh-pages
You don't have to worry about master and gh-pages branch, when sending a PR, just need to fix develop and it will eventually be merged into master and gh-pages, hope this makes sense!

Is gh-pages branch pick from master? If it's so, then you can go to project settings and set master branch to generate the Github page site, and also configure to only generate it from the docs folders... There's no need to have master duplicated on gh-pages branch.

@piranna yeah currently the website is not generated from a static site generator but I generate it dynamically using an in-house library I wrote. I've been meaning to take care of this at some point but just kept it this way till now. Will think about this and take care of it soon. Thanks for the tip!


Upgrading to Enzyme 3 w/React 15 test runner broke findWhere using mount.

Here's the test:
test('When onChange is passed in, clicking on the label runs the callback', () => {
  const onChange = jest.fn()
  const wrapper = mount(<RFCheckbox onChange={onChange}} />)

  expect(onChange).not.toHaveBeenCalled()

  const checkboxId = wrapper.state('checkboxId')
  const labelWrapper = wrapper.findWhere(n => n.prop('htmlFor') === checkboxId)
  labelWrapper.simulate('click')

  expect(onChange).toHaveBeenCalled()
})

Here's the error after upgrading to Enzyme 3 with React 15 test runner:

Method “props” is only meant to be run on a single node. 0 found instead.

If I switch this test over to shallow, the test no longer breaks
console.log(wrapper.debug()) using shallow:

      <input data-test="rf-checkbox-input" id="rf-checkbox-9bd9fd2f-c504-4cfb-b77e-f6b22e7c0352" type="checkbox" onChange={[Function]} />

      <RFIcon data-test="rf-checkbox-icon" type="check" title="" />

console.log(wrapper.debug()) using mount:
<RFCheckbox onChange={[Function]}>

        <input data-test="rf-checkbox-input" id="rf-checkbox-0d353015-8b2b-43c4-a91b-5cf19ef9c665" type="checkbox" onChange={[Function]} />

        <RFIcon data-test="rf-checkbox-icon" type="check" title="">

            <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
              <title />
              <path d="M0 0h24v24H0z" fill="none" />
              <path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" />
            </svg>

        </RFIcon>

    </RFCheckbox>

A little more info for you, when my mounted Checkbox component renders the Icon component, there's a node getting spit out that's empty.
this was found using:
wrapper.findWhere(n => { console.log(n.debug() )})

@brenthosie can you share the source of RFIcon? I'm wondering if there's something inside the svg that we're not traversing properly. (I assume that if you shallow-render RFIcon, you'll be able to reproduce the same bug)

@ljharb Thanks for the response!
I had mentioned in my original comment that shallow seems to work fine for some reason, but I didn't bold the comment so I could see how that was easily missed.
Here's a screenshot showing that the RFIcon tests pass just fine, along with the source showing shallow is used:

Here is the source code for RFIcon:

It uses an object called iconList to find which SVG to render. Heres a screenshot showing examples of some icons:

The typical way you'd invoke RFIcon would be
<RFIcon type='add-circle' />
or
<RFIcon type='iconAddCircle' /> <--- we don't really use this option even though it's possible

Can you share (in text, not a screenshot) the result of mount(<RFIcon type='add-circle' />).debug() and shallow(<RFIcon type='add-circle' />).debug()?

@ljharb The result for shallow is:

      <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
        <title />
        <path d="M0 0h24v24H0z" fill="none" />
        <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5 11h-4v4h-2v-4H7v-2h4V7h2v4h4v2z" />
      </svg>

The result for mount is:
<RFIcon type="add-circle">

        <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
          <title />
          <path d="M0 0h24v24H0z" fill="none" />
          <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5 11h-4v4h-2v-4H7v-2h4V7h2v4h4v2z" />
        </svg>

    </RFIcon>

Thanks. In your original post, which line is throwing the error?

I believe that the findWhere is failing during mount when it encounters that blank option that's being spit out during the loop.

Method “props” is only meant to be run on a single node. 0 found instead.

So, it's when I'm trying to find the label wrapper:
const labelWrapper = wrapper.findWhere(n => n.prop('htmlFor') === checkboxId)

@ljharb any update on this?

@brenthosie I tried to create failing test cases with your code; everything passed with both shallow and mount on React 15.

This seems addressed.
Some things that might help:

use .hostNodes to filter a collection down to only DOM nodes, since mount trees contain both component instances and DOM nodes, and both might have the same props
avoid simulate: it doesn't faithfully simulate anything, it's just sugar for invoking a prop function

If there's any outstanding issues, please file a new one with a test case and I'll fix it asap.

@ljharb Unfortunately this was still a problem for me when using findWhere, but I found a way around it using the .find syntax. This specific issue has been off my radar for some time.

@brenthosie if you come across the problem again, getting a test case would be helpful.


add getFreeDiskSpace function to the file module

Add new getFreeDiskSpace function and appropriate documentation.  This was per request of issue https://github.com/driftyco/ng-cordova/issues/649

Sweet.  Thanks man!

Awesome! Thank you @pbernasconi and @nraboy!

unfortunately it always returns 0 on iOS on both the simulator and a physical device (testing ios8.1 and 8.3 on ipad, iphone 6, 5, 5c) all return 0.

See this comment:
https://blog.nraboy.com/2015/02/get-available-free-disk-space-using-apache-cordova/#comment-1916276871
It is apparently a bug with Apache Cordova.
Regards,

I found a few other comments around it in the Cordova Jira as well, If I can fix it I'll submit a pull request and then this should work as expected in ngcordova as well

great :-)

https://issues.apache.org/jira/browse/CB-6703?focusedCommentId=14617733&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14617733
Tested and submitted, works with ngCordova file as expected with this

Hopefully they approve it

I can't think of any reason not to, even if it's considered an "undocumented and unsupported" feature it is in the code and broken, it's a single line change to have it working so no chance of breaking anything else.  I moved it to it's own seperate issue and pull request for clarity but it's sitting there ready to merge.
Maybe consider contributing some of your code to the file plugin javascript interface?  Then the code in ngCordova can be simplified and kept consistent with other functions?  You could submit it under the ticket I linked above.  More incentive to merge both then as they deliver a working feature.


Fix license/citation information of squadshifts dataset card

This PR fixes the license/citation information of squadshifts dataset card, once the dataset owners have responded to our request for information:

https://github.com/modestyachts/squadshifts-website/issues/1

Additionally, we have updated the mention in their website to our datasets library (they were referring old name nlp):

https://github.com/modestyachts/squadshifts-website/pull/2#event-7500953009

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Clean EmptyApp directory if exists

This is needed to not pollute results by previous runs. Resolves #17
Alternative approach:
Create empty directory for each run and clean after work is finished. This will allow run multiple swift-package-info instances at the same time. Not sure if it needs right now.

Alternative approach:
Create empty directory for each run and clean after work is finished. This will allow run multiple swift-package-info instances at the same time. Not sure if it needs right now.

Yes, it makes, but I think we can skip that for now. As you mentioned it isn't needed now, and one instance is already very expensive given memory consumption that archiving an app takes.


MOM6 in GEOS.

This PR

Adds a MOM6 plug for GEOS.
Updates GuestOcean_GridComp.F90 to enable a runtime choice of Data Sea or MOM5 or MOM6.  The runtime choice is made by setting the variable OCEAN_MODEL: in the resource file.  Valid options for OCEAN_MODEL: are DATASEA, MOM, or MOM6.  MOM6 is the new option.

MOM6_GEOSPlug.F90 originated from MOM_GEOS5PlugMod.F90 which is untouched.
At this time no attempt has been made to run GEOS with MOM6 configuration.  Any issues arising out of running GEOS with MOM6 will be addressed in a later PR.
This change is zero diff with respect to the coupled model exercising MOM5.
To make the review easier; here is a status on changed/added files (relative to develop) in this PR:
$> git diff --name-status develop
M Externals.cfg
M GEOSogcm_GridComp/GEOSocean_GridComp/GuestOcean_GridComp/CMakeLists.txt
M GEOSogcm_GridComp/GEOSocean_GridComp/GuestOcean_GridComp/GuestOcean_GridComp.F90
A GEOSogcm_GridComp/GEOSocean_GridComp/GuestOcean_GridComp/MOM6_GEOSPlug/.gitignore
A GEOSogcm_GridComp/GEOSocean_GridComp/GuestOcean_GridComp/MOM6_GEOSPlug/CMakeLists.txt
A GEOSogcm_GridComp/GEOSocean_GridComp/GuestOcean_GridComp/MOM6_GEOSPlug/MOM6_GEOSPlug.F90

I am closing this PR and will re-open with 2 separate PR's
The first one will be purely structural, where new code will be added but neither be compiled or exercised.
The second PR will have modifications that will exercise the newly added code, but will be zero-diff with respect to develop.


envoy: use standard logging format

Signed-off-by: Kuat Yessenov<EMAIL_ADDRESS>Revert logging format to standard Envoy format. There's no good reason to drop important debugging information (worker thread, source location, etc).

@kyessenov: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
93033966f81fcf36b00353ed9aef6f20de830900
link
true
/test release-notes

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

It's useful for me to see which library is writing the log line when debugging production crashes. This is not debugging specific, we need all the info we can get.
I don't really care which log style we use. Do you just want to make it even logger with a fixed width prefix? I find it strange not to emit debugging info when we have production crashes in Envoy.
cc @therealmitchconnors

Thanks, this will be useful


fix custom marshal for map's key

should skip custom marshalling for map's key

Thank you for your contribution !!! LGTM


Use offline

Hello, the component requires an internet connection, there is a way to use offline

x2


Add support for caching multiple workflows

This pull request addresses a need that we have at CERN (high energy physics) where we need to prepare Julia artifacts to support multiple workflows. The artifacts are prepared and then installed on CernVM-FS - a high performance distributed read-only file system used by the LHC experiments (and many other scientific communities).
The changes made implement the following features:

Support for user-defined DEPOT_PATH destination.
Support for Project.toml files that are generated by the project dependencies of an application (which may not be a package). This support includes being able to create multiple subdirectories of the target depot path and copying only the relevant (.toml) files to the final destination.
Support for caching artifacts to support multiple workflows.
Added usage example in the README.md file.

To make use of this package at CERN, we gather a list of directories that contain Project.toml files for a number of relevant workflows. Using DepotDelivery, we build all the dependencies into a single depot path inside CernVM-FS, with the new precompiled flag set to true. After publishing this depot path to CernVM-FS these files are visible to machines connected to the grid. This greatly reduces the startup time of applications running in our distributed computing infrastructure.
See the updated readme file for an example (current usage of the script is completely unaffected)
Thanks for creating such a useful script. With these extensions we can really nicely satisfy our use case.

Looks great!  Thanks for the contribution.


Allow circle as drawable control which applies a geo_distance filter when created

Closes #81

Fixing bug

Bug fixed for combining geo_distance filters


mvn javadoc:aggregate -P docFX takes 90 minutes

@lqiu96 , @eaball35 , and I found that for certain Java repository, mvn javadoc:aggregate -P docFX (exact command is https://github.com/googleapis/java-aiplatform/blob/348c76afec3c2ee79861351d861c0dff33f194e0/.kokoro/release/publish_javadoc11.sh#L40) takes around 60 - 90 minutes to finish.
We're investigating the slowness. But if some of you know the cause of the slowness, that would be much appreciated.
Environment details

Programming language: Java
OS: Linux
Language runtime version: Java 11
Package version: 1.5.0 (but we also observed the same slowness in 1.6.0)

Steps to reproduce
Check Kokoro job "prod:cloud-devrel/client-libraries/java/java-aiplatform/release/publish_javadoc11".
OR

Checkout https://github.com/googleapis/java-aiplatform
Run mvn -X javadoc:aggregate -P docFX. You see your program gets stuck at

[INFO] Configuration changed, re-generating javadoc.
[DEBUG] /usr/local/google/home/suztomo/.sdkman/candidates/java/11.0.12-open/bin/javadoc @options @argfile

(waiting for 60-90 minutes, then it succeeds)
Observation
ClassBuilder.buildFilesForInnerClasses is taking the most of the time.

Other observations:

The heap usage was just fine; it's well below the maximum heap size configured.
top command showed the javadoc command hit 100% of one of the cores.
strace command didn't show any system calls being made while waiting. (I attached to the process and waited for 1 minutes).
lsof showed nothing suspicious; only ~50 files opened by the javadoc process.

Comparison to similar jobs in other language

Java (cloud-devrel/client-libraries/java/java-aiplatform/release/publish_javadoc11) takes 96 minutes.
Python (cloud-devrel/client-libraries/python/googleapis/python-aiplatform/docs/docs) takes 14 minutes.
NodeJS (cloud-devrel/client-libraries/nodejs/release/googleapis/nodejs-ai-platform/docs) takes 19 minutes.

Steps

Try to figure out how to attach debugger to the javadoc process. Adding -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 resulted in Exit code: 1 - javadoc: error - invalid flag: -agentlib:jdwp=transport=dt_socket.

mvn javadoc:aggregate-no-fork does fork javadoc command. The "no-fork" means no compilation.

Try running the main class in https://github.com/googleapis/java-docfx-doclet/blob/main/third_party/docfx-doclet-143274/src/main/java/com/microsoft/doclet/DocletRunner.java#L13 against java-aiplatform repository, to reproduce the problem.

Memo:  https://stackoverflow.com/questions/51384097/how-can-i-debug-a-doclet-in-java-10

Great deep dive, thanks @suztomo & @lqiu96.
Interesting to see it's taking the other languages a long time as well. I was surprised to see how much content this particular client actually has (https://cloud.google.com/java/docs/reference/google-cloud-aiplatform/latest/overview). This is definitely one that has a lot of interfaces/classes/enums and Java consistently has more content than the other languages in general.
Looking at the publish_javadoc job (legacy docs standard javadoc run w/o doclet) as a control it already takes around 11 minutes just to run javadoc. The fact that it does finish successfully at the end is interesting. It seems possible there are some tasks in the doclet that are compounding to all that extra time.
Chat more in sync about it tomorrow.

the other languages a long time as well

Java's 90 minutes is off compared to NodeJS and Python's. Looking forward to the meeting.

How to run DocletRunner with #127

This was fixed with https://github.com/googleapis/java-docfx-doclet/pull/140


Adding Watermark over video

Hi,
I'm trying to add watermark over a video.
Below is the command i'm using
String[] temp = new String[]{
"-y",
"-i",
"/storage/emulated/0/Download/input.mp4",
"-i",
"/storage/emulated/0/Download/watermark.png",
"-filter_complex",
"\"overlay=10:10\"",
"/storage/emulated/0/Download/output.mp4"
};
Controller.getInstance().run(temp);
I get the below logs, i'm clueless what went wrong
05-31 11:09:01.918 14533-17872/com.test.app I/Videokit: start run in main.
register_exit
05-31 11:09:01.954 14533-17872/com.test.app I/Videokit: term_init & parse options.
05-31 11:09:02.179 14533-17872/com.test.app D/Videokit: ERROR OCCURED
Can you please point me in the right direction.

This is not a issue regarding the library. Look at the ffmpeg documentation - https://ffmpeg.org/ffmpeg.html


Add eyedropper to Chrome

Chrome's actual color picker widget has an eye dropper to let you pick any color. Chrome actually has an API to let you easily add that functionality https://developer.mozilla.org/en-US/docs/Web/API/EyeDropper - although it won't work in any other browsers, unfortunately. Might still be worth adding, you can do feature detection to decide whether to show it or not.

@dumbmatter Upgrade v2.2.0


Fix wrong $GNUPGHOME usage in gpg-agent plugin

$GNUPGHOME variable was used incorrectly and caused a grep error when
set. See #6140 for more details.

Thanks! It's working now.


Problem with rule no_unneeded_final_method

For configuration or updating questions please read the README and UPGRADE documentation,
or visit: https://gitter.im/PHP-CS-Fixer
The rule no_unneeded_final_method causes problems. I could disable it, but this is a useful rule.
In this example, i create a base class and forbid it to use the constructor and override in it.
If the constructor is not marked as final, then it will be possible to override it and break the behavior of the class.

https://3v4l.org/bSHWs
https://3v4l.org/v7fQf

This is also due to the innovation in the PHPStan.

https://phpstan.org/r/21c696b0-8ad1-4b86-a608-5db69683852d
https://twitter.com/phpstan/status/1162376299039678464

When reporting an issue (bug) please provide the following information:
The PHP version you are using ($ php -v):
PHP 7.3.13-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Dec 18 2019 14:48:32) ( NTS )

PHP CS Fixer version you are using ($ php-cs-fixer -V):
PHP CS Fixer 2.16.1 Yellow Bird by Fabien Potencier and Dariusz Ruminski

The command you use to run PHP CS Fixer:
./vendor/friendsofphp/php-cs-fixer/php-cs-fixer fix -v

The configuration file you are using, if any:
<?php
declare(strict_types=1);

return PhpCsFixer\Config::create()
    ->setRules([
        '@Symfony' => true,
        'array_syntax' => ['syntax' => 'short'],
        'class_definition' => [
            'multi_line_extends_each_single_line' => true,
        ],
        'no_superfluous_phpdoc_tags' => false,
        'single_line_throw' => false,
        'blank_line_after_opening_tag' => false,
        'yoda_style' => false,
        'phpdoc_no_empty_return' => false,
        'ordered_imports' => [
            'sort_algorithm' => 'alpha',
        ],
        'list_syntax' => [
            'syntax' => 'short',
        ],
    ])
    ->setFinder(
        PhpCsFixer\Finder::create()
            ->in(__DIR__.'/src')
            ->in(__DIR__.'/tests')
    )
;

If applicable, please provide minimum samples of PHP code (as plain text, not screenshots):

before running PHP CS Fixer (no changes):

abstract class Foo
{
    final private function __construct()
    {
    }

    /**
     * @return static
     */
    public static function create()
    {
        return new static();
    }
}

class Bar extends Foo
{
}

$bar = Bar::create();

with unexpected changes applied when running PHP CS Fixer:

abstract class Foo
{
    private function __construct()
    {
    }

    /**
     * @return static
     */
    public static function create()
    {
        return new static();
    }
}

class Bar extends Foo
{
}

$bar = Bar::create();

-    final private function __construct()
+    private function __construct()

with the changes you expected instead:

don't expect any changes

IIRC the reasoning was that private methods cannot be overridden/overloaded and therefore declaring these as final is never needed. As such, I asked for the motivation for when this would be needed and makes sense.
I still agree updating the description make sense as it is more precise on what the fixer currently does.
The fixer can be updated with an opt-out configuration option for the behavior for fixing private final methods (it would be the BC way).
However reading the discussion and looking at the cases it won't be on my todo-list.

@peter-gribanov the __cosntrutor case is a good case to prevent creating of the instance (especially in the example from your first link).
@SpacePossum I was thinking about option in a non-BC way.

IIRC the reasoning was that private methods cannot be overridden/overloaded and therefore declaring these as final is never needed.

@SpacePossum This problem is beced what this statement is incorrect. PHP allows you to override private cosntrutor.

yes, I took that from your examples, however you asked why something was done, I cannot change that

Sorry. I focused on my example and did not notice the obvious.
Access to private methods is only within the same class. This means that in child classes we can create a public method with the same name. This is correct for custom methods but it causes problems with magic methods.
The magic methods are public by default and we can make them private in order to block access to them. By making magic methods private, we allow child classes to open access to them.
For example, i can order access to the cloning of object by declaring the __clone method as private, but this may not work if i allow to extend my class.
https://3v4l.org/uK93e
Similarly for the __sleep method.
https://3v4l.org/sjqRN
I see the cases of __constructor and __clone methods, but it might be worth considering the rest of the magic methods.

If the case is;

I define class A with final private method X so its scope cannot be widened by extending classes,

than I think this applies to both magic and non-magic methods, as PHP allows child classes to widen any method, magic or not. Therefore I still think it is best to introduce a new option on the fixer that allows stopping the fixer for fixing private final methods.

@SpacePossum good job. Thanks :+1:

thans, you're welcome :)  :+1: