text:
Example of unstable JSX + parentheses

function MyCompoent() {
  return (

      (<FormattedMessage
        id="some-id"
        defaultMessage="some looooooooog default"
      />)

  );
}

turns into:
function MyCompoent() {
  return (

      (
      <FormattedMessage
        id="some-id"
        defaultMessage="some looooooooog default"
      />
      )

  );
}

https://jlongster.github.io/prettier/#{"content"%3A"function MyCompoent() {\n  return (\n
\n      (<FormattedMessage\n        id%3D\"some-id\"\n        defaultMessage%3D\"some looooooooog default\"\n      %2F>)\n    <%2Fdiv>\n  )%3B%5Cn%7D%5Cn%22%2C%22options%22%3A%7B%22printWidth%22%3A80%2C%22tabWidth%22%3A2%2C%22singleQuote%22%3Afalse%2C%22trailingComma%22%3Afalse%2C%22bracketSpacing%22%3Atrue%2C%22jsxBracketSameLine%22%3Afalse%2C%22doc%22%3Afalse%7D%7D
which turns into:
function MyCompoent() {
  return (

      (

      <FormattedMessage
        id="some-id"
        defaultMessage="some looooooooog default"
      />
      )

  );
}

https://jlongster.github.io/prettier/#{"content"%3A"function MyCompoent() {\n  return (\n
\n      (\n      <FormattedMessage\n        id%3D\"some-id\"\n        defaultMessage%3D\"some looooooooog default\"\n      %2F>\n      )\n    <%2Fdiv>\n  )%3B%5Cn%7D%5Cn%22%2C%22options%22%3A%7B%22printWidth%22%3A80%2C%22tabWidth%22%3A2%2C%22singleQuote%22%3Afalse%2C%22trailingComma%22%3Afalse%2C%22bracketSpacing%22%3Atrue%2C%22jsxBracketSameLine%22%3Afalse%2C%22doc%22%3Afalse%7D%7D
It becomes stable after adding two newlines:
function MyCompoent() {
  return (

      (

      <FormattedMessage
        id="some-id"
        defaultMessage="some looooooooog default"
      />
      )

  );
}

https://jlongster.github.io/prettier/#{"content"%3A"function MyCompoent() {\n  return (\n
\n      (\n\n\n      <FormattedMessage\n        id%3D\"some-id\"\n        defaultMessage%3D\"some looooooooog default\"\n      %2F>\n      )\n    <%2Fdiv>\n  )%3B%5Cn%7D%5Cn%22%2C%22options%22%3A%7B%22printWidth%22%3A80%2C%22tabWidth%22%3A2%2C%22singleQuote%22%3Afalse%2C%22trailingComma%22%3Afalse%2C%22bracketSpacing%22%3Atrue%2C%22jsxBracketSameLine%22%3Afalse%2C%22doc%22%3Afalse%7D%7D

cc @rattrayalex looks like the newline detection isn't working well for just a single (

Wow, that's very strange. I'll take a peek tomorrow

I'm struggling to imagine what's causing this from looking at the intermediate doc:
              conditionalGroup([
                [
                  "(",
                  softline,
                  group([
                    "<",
                    "FormattedMessage",
                    indent(2, [
                      line,
                      "id",
                      "=",
                      '"some-id"',
                      line,
                      "defaultMessage",
                      "=",
                      '"some looooooooog default"'
                    ]),
                    line,
                    "/>"
                  ]),
                  softline,
                  ")"
                ]
              ])

Ah, no, that was silly of me. Of course it will break there. A bit unfortunate but very unlikely to be fixable without an ugly hack.
The insertion of an extra newline is a problem, I have some ideas about what might be causing that.

The fact that it breaks is expected and I don't think that we should put a hack for it. However the new line is not.

authors: kjbekkelund rattrayalex vjeux

repo: jlongster/prettier


text:
Update build system

The build system should bundle the library appropriately

Resolved in #1

source: gharchive/issue

license: mit

license_type: permissive

license_source: bigquery


text:
help fixBound identify "((?),(?))" and ("VALUES (?, CAST (? AS timest…

…amp));"

hope fixBound to identify
"((?),(?))"
"VALUES (?, CAST (? AS timestamp));"

hope fixBound to identify
"((?),(?))"
"VALUES (?, CAST (? AS timestamp));"

Pull Request Test Coverage Report for Build 164

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

Totals

Change from base Build 161:
0.0%

Covered Lines:
1182

Relevant Lines:
1608

💛  - Coveralls

Pull Request Test Coverage Report for Build 164

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

Totals

Change from base Build 161:
0.0%

Covered Lines:
1182

Relevant Lines:
1608

💛  - Coveralls

source: gharchive/pull-request

authors: coveralls terryh

repo: jmoiron/sqlx


text:
cmd: check GetBlobsPath error

The error returned by server.GetBlobsPath in showLayer was never checked. Check the error and return if not nil. Also, make newlines at the end of error messages consistent and fix a typo.

Thanks for the PR!

authors: jmorganca soroushj

repo: jmorganca/ollama

license: MIT

license_source: github-api


text:
Support for classic JS Array sort

This add support for classic Array sort that allows to sort by comparing more than one property in the models. This way any function you were using as a comparator (http://backbonejs.org/#Collection-comparator) can be passed to the setSort.
Thanks!

Oh wow, this looks really nice! Thanks!

authors: jmorrell malditogeek

repo: jmorrell/backbone-sorted-collection


text:
Add support for Attiny414

From a cursory glance this is all the changes I could see as required.
Will likely test within the next few weeks.
Besides adding lines in, all IRQ's looked the same, just removed the PORTC refs.

I cheated and used the ATTiny1607 demo to check if it builds & it's fine. Should work

I cheated and used the ATTiny1607 demo to check if it builds & it's fine. Should work

Nice one!

authors: jnaulet platima

repo: jnaulet/OpenPicoRTOS


text:
Octoprint just opens a new instance instead of loading Authntication

Tried to generate  auth code but it just opens a new instance i have already verified my google account
Ive tried clearing cache and using a new browser

Clear the plugin's settings using the eraser icon in plugin manager.

Enable debug logging for the plugin in OctoPrint's logging section of settings and share octoprint.log here.

authors: TyriqueDaniel jneilliii

repo: jneilliii/OctoPrint-GoogleDriveBackup


text:
Allow multiple args for new selectors

In a recent project, I wanted to add a selector that required more than 1 argument. For example:
Capybara.add_selector :id_and_class do
  css { |id, css_class| "##{id}.#{css_class}" }
end

I attempted to implement it by using a splat inside Capybara::Query#initialize:
if args[1]
  @selector = Selector.all[args[0]]
  @locator = args[1...args.size]
else
  @selector = Selector.all.values.find { |s| s.match?(args[0]) }
  @locator = args[0]
end
@selector ||= Selector.all[Capybara.default_selector]
@xpath = @selector.call(*@locator).to_s

The test I wrote passed, but it broke other things. This didn't seem like a very good implementation anyway, just an attempt. What do you think?

Forgot to mention that as a workaround, currently, I'm passing an array and splitting it into multiple arguments:
Capybara.add_selector :id_and_class do
  css do |args|
    id, css_class = args
    "##{id}.#{css_class}"
  end
end

Works, but not terribly pretty.

repo: jnicklas/capybara


text:
Bubble up errors that aren't handled by applications/frameworks

Currently, people do things like make servers puts or use Thread.abort_on_exception = true to do this. That leads to other problems, so I added some code to cache the errors and re-raise in the testing thread.
In general this will display errors that are released / uncaught by frameworks (e.g. rails in test mode). Sometimes, where the first request doesn't error, but subsequent asset / ajax type requests do, it will raise those errors instead. Whilst this may be slightly odd, it will help with having a faster feedback loop most of the time.
Ideally it wouldn't rely on driver.rack_server. I'd actually prefer that session handled server booting when drivers request servers, however, this would be a larger refactor that is not appropriate for rolling up into these changes.

See #661

We need to find a better way than only checking the errors when visit is called. Maybe it isn't, and in that case this whole feature is of no use. Unless I misunderstand how this works.
Maybe we can just collect all errors that are raise, and then have a hook method which would allow us to re-raise those exceptions. Something like Capybara.current_session.reraise_captured_expressions! or something (the name is dumb). And we would call add this method to capybara/rspec and capybara/cucumber. What do you think about that?

You can only raise a single exception, so trying to re-raise all simply can't be meaningful.
We could bundle them up in a single exception, and raise that, but, then the backtrace is less useful for people, and to be honest, it becomes a failed tool.
I didn't look in any detail, and I likely should, what other public API methods actually cause requests to be made? (n.b. I don't really count evaluate_script(window.location =) as something valid, as it's not portable across drivers - i.e. that'll attempt to run against about:blank in selenium).
I don't like the idea of adding hooks for specific test frameworks, that again damages portability. An exception is an exceptional condition, and should always raise. If we do something else, like "assert capybara.last_error.nil?" then we're just reimplementing the should not raise pattern, which is bad. It would also as mentioned above, lead to much worse UX.
The first request the browser makes is almost always the most critical. If that fails, other requests generally won't even be made. If a middling request (ajax) fails, we still need to know too.

click_link and click_button. Ajax requests can be caused by pretty much anything that Capybara does. Also, websockets or polling could cause an error even when the user does absolutely nothing. So it's not as simple as sticking this in visit and hoping for the best.

Yes and no, visit is the critical one that everyone needs. It's possible we could also add a "server errors" method to the DSL, and users could poll that themselves.
Alternatively we could add checks throughout the rest of the DSL. In general, tests should fail either way, but it's the initial requests failing silently that frequently burn people.

Ah, so.. I had a look at this.
It's easier than I thought, because of the way that DSL delegates to Session!
Thoughts on adding a check around every DSL delegate call?

I know this issue has been officially closed but at the same time it does not yet work as expected. @jnicklas  do you have any idea on how you want to tackle this problem ? I think more and more app are using asynchronous drivers so I guess this problem will only amplify.

I come to the same requirements, i.e. bubble up errors, as my initial intent was to have capybara working with new thing (rich UI, ajax, etc) as it was with more "plain" rails apps, I mean the one where you can disable JS safely.
What I didn't realise in a first place is that the new thing comes with quite different architecture, where we previously had a humble client (browser), view and controller, now we have rich communication protocol Client <-> Server, where browser provides environment for client, but the client undertakes responsibility for making decision "when", "what" and "where" to send request. Even if we keep it thin, and ideally we should, it is now client's concern to interpret DOM events and issue  requests to the server.
Essentially it means more layer and more tests needed to cover this architecture in end-to-end fashion, basically:

(capybara, with full app) End-to-End, same as before
(capybara, with mock app) UI makes request, e.g.: it 'makes request when button clicked'
(NOT capybara) Server handles request, e.g.: it 'creates resource' (in case of RESTful style, but can be something else)

When DOM element not found in end-to-end scenario, I've to go to my UI test and make sure it makes "proper" request, than I go to the request test (3rd level) to make it handle request.
By the time 3rd level pass, the 1st should pass too (assuming it is as simple as CRUD, otherwise there will be more levels)
It is request tests (3rd level) where I expect to see an unhandled server-side exceptions and it just works, they on the same thread.
But there is more, I can share matchers and helpers between 1st and 2nd layers, I can setup 2nd layer to throw JS exceptions too and at the end I have clear documentation and regression picture, consider answering this question otherwise: "Is this exception because frontend send wrong request, because backend didn't handle it properly or something else?".
Perhaps sample app would help to clarify this point, I haven't build one yet, but I've put some early outlines of how tests might looks like with RESTful architecture on Rails:
http://www.beardedhacker.com/blog/2018/07/29/growing-web-apps-guided-by-tests/
I'd appreciate some early critics on this approach.
Thank you in advance.

I've made sample web app which can illustrate that the necessities for bubbling unhandled exceptions in capybara can indicate design issues (particularly tests design). Sample app demonstrates that feedback loop can be maintained efficiently without re-raising exceptions.
Source on GitHub with more details in PR description:
https://github.com/yevgenko/rich-and-restful/pull/1
And I'd appreciate feedback and questions.

@yevgenko I'm not sure why you're commenting on an issue closed 3 years ago, and nor do I understand what you're trying to show in your app.  If you have an actual issue with Capybara please create a new issue that explains what your actual issue is with a reproducible example.  Note however that we will not be removing the re-raising of server errors in Capybara since this is done specifically to catch issues in the error handling of the app.
Locking this issue.

authors: Systho jnicklas raggi twalpole yevgenko


text:
🛑 UTN Aula Virtual is down

In 9ab6cd2, UTN Aula Virtual (https://aulavirtual.frbb.utn.edu.ar/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: UTN Aula Virtual is back up in e41d4c9 after 45 minutes.

repo: joacoserra/statusPage


text:
🛑 Globstar B2B is down

In b66496c, Globstar B2B (https://b2b.globstar.ro) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Globstar B2B is back up in ee985f8.


text:
🛑 Ted Electric EU is down

In 410453a, Ted Electric EU (https://www.tedelectric.eu) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Ted Electric EU is back up in e1269a2 after 11 minutes.


text:
🛑 Tsty is down

In 4f16ffe, Tsty (https://tsty.ro) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Tsty is back up in 3449e3c.


text:
🛑 Security & Telecom Systems is down

In aeba30f, Security & Telecom Systems (https://security-telecom.ro) was down:

HTTP code: 403
Response time: 894 ms

Resolved: Security & Telecom Systems is back up in e3934f1.


text:
Continuity of picod

Over the last year I have written a Pharo (Smalltalk) interface to picod. I am starting to use (and promote) this more often, so I am somewhat alarmed by your comment in issues 2 and 3, about loosing interest because of a broken API. Would you mind explaining the problem a bit more, so I can make an informed decision about continuing to use picod.
Thanks
Rob van Lopik
see: github://robvanlopik/picod-pharo

The last time I tried to build the picod daemon from source it failed because of API changes to the SDK (I seem to remember raw read of the USB no longer worked).
I did not want to put effort in correcting the build failure until 1) the SDK stabilised and 2) there was interest in changing the daemon and 3) I had the time and inclination.

There is another similar project that can be used. Built it recently. Maybe we can raise awareness of the community and put efforts together.
Please see: https://github.com/notro/pico-usb-io-board/wiki
It has a matching linux mainline kernel driver (dln2) as well. So it would be easier to be integrated into other existing software and have wider adoption. For firmata and picod, one also has to implement a translation layer for existing i2c/spi/gpio programs  (usually depends on gpiod)  from serial to gpiod to work with them.

authors: joan2937 robvanlopik tao-j

license: Unlicense


text:
Clear default value

Hi, I have a FormControl with default value 0 like this
'prodTray': FormControl<int>(
      value: 0,
      validators: [Validators.number, Validators.pattern(kTrayNumberPattern)],
    ),

so i want when the user Tap on this field clear the dafault value and empty the field
How can i do this
Thank in advance

 onTap:(FormControl control)=>control.value=null,

Thank you i found the solution
onTap:(FormControl<int> control)=>control.value=null,
i will close the issue

Hi @SaddamMohsen
You can also use just
control.reset()

Hi @SaddamMohsen
You can also use just
control.reset()

thank you  very much this what i want

Thank you @joanpablo
i have another question
how can i using reactive form with stepper widget

Hi @SaddamMohsen,
Any situation is different. Here are two common patterns:
1- Having just one FormGroup and binding widgets of each step to the controls in the group.

This is for simple scenarios, you basically split a simple form into several views.
Each step almost always has one up to three reactive widgets controls.
You validate the Form at the end but you can always restrict when to jump into the next step
based on the validity of an individual control of the active view.

1- Having a parent FormGroup with several nested FormGroup.

This is for more complex Forms.
You will have a FormGroup for each step. Usually in each step, you have more than three widgets, and complex business validations.
Even though you validate the entire flow (all the steps) at the end with the parent FormGroup, you have more strict control and validation on each step.

I hope this can help you understand when to use what variation.

authors: SaddamMohsen joanpablo


text:
French Translation

Here you can find the french translation for your Filament Plugin

Hello @wautone
Please remove other files from your PR, keep just the file with the language
resources/lang/fr/default.php
Just this is necessary, remove others and send them again for approve.

authors: joaopaulolndev wautone


text:
Does not support Browsers?

With webpack v4 (angular/cli v9)
Project I get an error with using Buffer.
The Buffer class does not appear to exist in chrome.
The npm package Buffer has an issue with webpack usage.
If you can't/won't fix this, then please indicate that Browsers are unsupported.

I am getting the same error in the browser although it is working fine in my NativeScript mobile app. Is this package def not supported in the browser? Thanks.

similar here.  ReferenceError: Buffer is not defined upon upgrading to webpack v5.  i suspect is related to https://webpack.js.org/blog/2020-10-10-webpack-5-release/#automatic-nodejs-polyfills-removed

https://github.com/joaquimserafim/base64-url?tab=readme-ov-file#attention-only-tested-with-nodejs

authors: Rob4226 joaquimserafim jonathanstanley mightypenguin

license: isc


text:
clang/gcc: -Wall -Werror

Handling all warnings as errors works with UbuntuCodeLite builds but not with CMake, I realy can't find the difference atm..

After reading this explanation I found out that "-O2" adds extra warning's.
Together with "-Werror" this breaks builds atm.

repo: jochumdev/TheForgeCMake


text:
Add FR to translation list

Depends on FR translations

https://github.com/jocmp/capyreader/blob/main/app/src/main/res/xml/locales_config.xml

I've juste translated using weblate.
Thanks for your nice app!

Thanks @eliovir! I'll include them in the next release.

authors: eliovir jocmp

repo: jocmp/capyreader


text:
issue-19-patch

Fixing:
https://github.com/joeframbach/agendash/issues/19

Changes suggested by Vziukas and Rapidia taken into account

Merged and updated on NPM 0.3.2

authors: HugoCornu vziukas

repo: joeframbach/agendash


text:
Fix failing tests

There were two tests failing:

one in SerializationTest, because OSX's case insensitive file system found a different Superclass definition than the SuperClass it was meant to find
one in CustomDateTimeFormatIT because the JSON serializer was using the system locale and the test was expecting results with english locale.

Brilliant, thank you!

authors: aldaris joelittlejohn


text:
Engine: Implicit Type Conversion

Fixes #48
This PR greatly improves the existing code to deal with proto::Values more naturally. With much more type deduction delegated to C++, the type conversion becomes implicit.
A list of key new functions:

setVal(Value protoVal, T val)
An overloaded setter, allowing C++ to figure out what type to set the value. e.g. setVal(myVal, 30); will run the function that assumes 30 is INT32.
getVal<T>(Value protoVal)
Allowing retrieval of protobuf types based on a template type. Useful for later functions.
isValOfTypes<Ts...>(val)
Validates if a Value has one of the listed types.
runFnWithVal(Value protoVal, Fn fn)
Runs a function on protoVal after figuring out its type. Then, stores the result in a new Value.

I have added a lot more documentation to explain how the functions work

repo: joeltio/bento-box


text:
INotifyPropertyChanged

I'd like to see IChangeTracking declaratively implementing INotifyPropertyChanged, this already happens implicitly which requires many redundant casts.
Also please have IChangeTrackableCollection implement INotifyCollectionChanged, that would also be very nice.

Would love to have the IChangeTrackable interface inheriting all those interface (INotifyPropertyChanged/ing, IRevertibleChangeTracking and all the interface it actually inherits.

repo: joelweiss/ChangeTracking


text:
Update to Tailwind CSS v3.2

Updating to v3.2 will give us access to [multiple config files](https://tailwindcss.com/blog/tailwindcss-v3-2#multiple-config-files-in-one-project-using-config, needed for #690.

Closed via #700.


text:
Create release

It would be nice if user could just download a zip with css instead of cloning the entire repo.

It would be nice if user could just download a zip with css instead of cloning the entire repo.

I have also been playing around with alternatives to cloning the entire repo ... have a look
alternate-deployment-models

Since I got a enough feedback and the project seams to really found users, I am to make more examples, tweak everything a little, I and make a 1.0 release within in this year. I will continue to maintain the library after that.
Feedback is very much appreciated, please issue tracker!
Thanks for your interest, it is really motivating!

https://github.com/joernweissenborn/lcars/releases/tag/v1.0.0-beta

authors: joernweissenborn jrwarwick sfranzyshen

repo: joernweissenborn/lcars


text:
每次启动idea都需要重新设置

能自动保存设置并启动吗?linux idea

+1 能自动保存设置并启动吗?linux idea

windows idea  +1...

authors: crazythq hello-piper q158467234

repo: jogeen/StopCoding


text:
Use Portal component from svelte-portal

Hello Team 👋
svelte-portal updated his javascript entry file. It's now possible to run the tests with jest and the library (see https://stackoverflow.com/a/64390066/8583669).

Approved and merged

authors: Lyokolux johannchopin

repo: johannchopin/gitmoji-browser-extension


text:
Requiring internal react-native modules will stop working

require('NativeModules') now creates this warning:
Unable to resolve module NativeModules from /Users/jameszhang/Documents/thedrop/TheArtistUnion/node_modules/react-native-fs/FS.ios.js

And should be replaced with require('react-native').NativeModules
Issue originally reported here: https://github.com/facebook/react-native/issues/1808

Thanks!

Just published with version 0.4.0!

authors: jamesfzhang johanneslumpe

repo: johanneslumpe/react-native-fs


text:
Add thinking face emoji

Please add thinking face emoji
🤔
U+1F914

Resolved!

authors: asanxa johannhof

repo: johannhof/emoji-helper


text:
Suggestion: Details about ACE Injury

Currently on the mod, there is no detail as to what an injury of 0.5 is, and how much worse is a injury with a 5.
If possible, can you add some context so a light wound is <= 0.25, medium <= 0.75, heavy is >0.75 etc.
Otherwise it is just a case of trial and error.
And yes, the injury type may impact this as well, but it is just to provide some guidance.

Tbh this module is very wonky. I agree with you, 0.5 means absolutely nothing as there are no values people can refer to.
At this point I think I would have to rework the module pretty heavily in order to make it work well. But as a temporary solution adding something to the tooltip would be best.

Module has been fully reworked, will be releasing the update shortly.

Closed with new module release.


text:
UnicodeDecodeError error while running doc samples

Environment details:

MacOS Mojave
Python 3.8.2

libs:
eventsourcing             8.2.3
SQLAlchemy                1.3.18
SQLAlchemy-Utils          0.36.6
mysql-connector-python    8.0.20
mysqlclient               1.4.6

while running the exact samples from the docs, except changing the DB connection line to:
os.environ['DB_URI'] = "mysql+mysqlconnector://root:<mypass>@localhost/mytest"
it fails on the line:
    # Aggregate now exists in repository.
    assert world.id in app.repository

with the error:
Error closing cursor
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1277, in _execute_context
    self.dialect.do_execute(
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 593, in do_execute
    cursor.execute(statement, parameters)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/mysql/connector/cursor_cext.py", line 272, in execute
    self._handle_result(result)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/mysql/connector/cursor_cext.py", line 163, in _handle_result
    self._handle_resultset()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/mysql/connector/cursor_cext.py", line 654, in _handle_resultset
    self._rows = self._cnx.get_rows()[0]
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/mysql/connector/connection_cext.py", line 318, in get_rows
    else self._cmysql.fetch_row()
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 0: invalid continuation byte

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1369, in _safe_close_cursor
    cursor.close()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/mysql/connector/cursor_cext.py", line 402, in close
    self._cnx.handle_unread_result()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/mysql/connector/connection_cext.py", line 712, in handle_unread_result
    raise errors.InternalError("Unread result found")
mysql.connector.errors.InternalError: Unread result found
Traceback (most recent call last):
  File "/<path-to-my-file>/eventsourcing_test.py", line 60, in <module>
    assert world.id in app.repository
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/eventsourcing/infrastructure/eventsourcedrepository.py", line 79, in __contains__
    return self.get_entity(entity_id) is not None
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/eventsourcing/infrastructure/eventsourcedrepository.py", line 144, in get_entity
    return self.get_and_project_events(
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/eventsourcing/infrastructure/eventsourcedrepository.py", line 200, in get_and_project_events
    return self.project_events(initial_state, domain_events)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/eventsourcing/infrastructure/eventsourcedrepository.py", line 217, in project_events
    return reduce(self._mutator_func, domain_events, initial_state)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/eventsourcing/infrastructure/base.py", line 203, in get_items
    records = self.get_records(
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/eventsourcing/infrastructure/sqlalchemy/manager.py", line 205, in get_records
    results = list(query.all())
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 3341, in all
    return list(self)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 3503, in __iter__
    return self._execute_and_instances(context)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 3528, in _execute_and_instances
    result = conn.execute(querycontext.statement, self._params)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1014, in execute
    return meth(self, multiparams, params)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/sqlalchemy/sql/elements.py", line 298, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1127, in _execute_clauseelement
    ret = self._execute_context(
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1317, in _execute_context
    self._handle_dbapi_exception(
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1515, in _handle_dbapi_exception
    util.raise_(exc_info[1], with_traceback=exc_info[2])
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 178, in raise_
    raise exception
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1277, in _execute_context
    self.dialect.do_execute(
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 593, in do_execute
    cursor.execute(statement, parameters)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/mysql/connector/cursor_cext.py", line 272, in execute
    self._handle_result(result)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/mysql/connector/cursor_cext.py", line 163, in _handle_result
    self._handle_resultset()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/mysql/connector/cursor_cext.py", line 654, in _handle_resultset
    self._rows = self._cnx.get_rows()[0]
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/mysql/connector/connection_cext.py", line 318, in get_rows
    else self._cmysql.fetch_row()
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 0: invalid continuation byte

I think there's a problem with that driver. Try a different one, perhaps one of the drivers recommended in the docs, such as pymysql-connector-python-rf and PyMySQL?
https://eventsourcing.readthedocs.io/en/stable/topics/infrastructure.html#mysql
Please let me know if you get it to work?

@johnbywater
thanks for the helpful link.
eventually, I ended up with the following libs:
eventsourcing             8.2.3
PyMySQL                   0.9.3
SQLAlchemy                1.3.18
SQLAlchemy-Utils          0.36.6

(I've uninstalled the mysql-connector-python & mysqlclient libs)

authors: johnbywater victor-h-b

repo: johnbywater/eventsourcing


text:
Unable to find generated Parcelable class

Good Day, I'm newbie in android and I faced with the crash:

org.parceler.ParcelerRuntimeException: Unable to find generated Parcelable class for com.app.opticsplanet.fragments.products.facets.FacetChildFragment$FacetChildType, verify that your class is configured properly and that the Parcelable class com.app.opticsplanet.fragments.products.facets.FacetChildFragment$FacetChildType$$Parcelable is generated by Parceler.

I have fragment where there is enum inside with @Parcel annotation.
This code was working fine. But for now there is problem. I don't know what happens and I hope you can help me to solve this problem. Maybe approach to annotate of enum has changed ?
public class FacetChildFragment extends OpFragment {

    @Parcel
    public enum FacetChildType {
        Deals,
        Brands,
        Categories,
        Specifications
    }
//All others variables, methods etc.
}

Anyway, thank you!

Could you share how you declare the parceler dependencies?

@johncarl81
buildscript {
    repositories {
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'me.tatarka:gradle-retrolambda:3.2.3'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
        classpath "com.fernandocejas.frodo:frodo-plugin:0.8.1"
        classpath "io.realm:realm-gradle-plugin:0.88.2"
    }
}

repositories {
    jcenter()
    maven { url "https://jitpack.io" }
    maven { url 'https://maven.fabric.io/public' }
    maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}

apply plugin: 'com.android.library'
apply plugin: 'com.neenbedankt.android-apt'
apply plugin: 'com.fernandocejas.frodo'
apply plugin: 'me.tatarka.retrolambda'
apply plugin: 'realm-android'

android {
    defaultPublishConfig "debug"

    compileSdkVersion 23
    buildToolsVersion '23.0.3'

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
        encoding = 'UTF-8'
    }

    lintOptions {
        quiet true
        abortOnError false
        ignoreWarnings true
        disable 'InvalidPackage'  // Some libraries have issues with this
        disable 'OldTargetApi'    // Due to Robolectric that modifies the manifest when running tests
    }
}

dependencies {
    apt "com.google.dagger:dagger-compiler:2.0.2"
    apt "org.parceler:parceler:1.0.4"

//    provided "javax.annotation:jsr250-api:1.0"

    compile "com.google.dagger:dagger:2.0.2"
    compile "com.google.code.gson:gson:2.4"
    compile "io.reactivex:rxjava:1.1.3"
    compile "io.reactivex:rxandroid:1.1.0"
    compile "com.android.support:support-annotations:23.4.0"

    compile "com.squareup.okhttp3:logging-interceptor:3.2.0"

    compile('com.crashlytics.sdk.android:crashlytics:2.5.6@aar') {
        transitive = true;
    }

    compile "com.squareup.retrofit:retrofit:1.9.0"

    compile "org.parceler:parceler-api:1.0.4"

    testCompile "junit:junit:4.12"
    testCompile "org.assertj:assertj-core:1.7.1"
    testCompile "org.mockito:mockito-core:1.9.5"
    testCompile "org.robolectric:robolectric:3.0"

    /* TODO: to be removed/replaced, legacy from old commons module */
    compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'
    compile 'com.bignerdranch.android:expandablerecyclerview:1.0.3'
    compile 'de.greenrobot:eventbus:2.4.0'
    compile 'org.apache.commons:commons-io:1.3.2'
    compile 'com.jakewharton.retrofit:retrofit1-okhttp3-client:1.0.2'

}

Found the solution.
The problem was with declaring of object:
I have changed:
@Arg(bundler = ParcelerArgsBundler.class) FacetChildType type;
to:
FacetChildType type;
and it works fine.

Ah, ok, where did @Arg come from?

Closing from inactivity, feel free to reopen.


text:
abort() method do not cause error and calls 'abortCallback' function

abort() method do not cause error
abort() calls 'abortCallback' function

Hey @lekhko did you want this merged? I noticed you closed it

Hey, I'd like to merge this one
https://github.com/johnculviner/jquery.fileDownload/pull/126
2016-07-08 17:21 GMT+03:00 John Culviner notifications@github.com:

Hey @lekhko https://github.com/lekhko did you want this merged? I
noticed you closed it
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/johnculviner/jquery.fileDownload/pull/125#issuecomment-231372449,
or mute the thread
https://github.com/notifications/unsubscribe/AA5IE1HRRsMmpfv7gSMegvW7ipqEV4ILks5qTl0AgaJpZM4JGM76
.

--
С уважением,
Константин Лех

cool, merged. Thanks!

authors: johnculviner lekhko


text:
Chromecast Support

@ron666  A lot of players now includes Chromecast support

VideoJS: https://github.com/benjipott/video.js-chromecast
Flowplayer: https://flowplayer.electroteque.org/chromecast

Its a good feature, because in the case of Flowplayer is a pay plugin

@isantolin Thanks. I'll check this

Since I don't have a Chromecast device, what's the expected output for this?

When a Chromecast is configured on Browser, a Player with Chromecast support adds a Button to broadcast content to device.

If you dont have a Chromecast, you can use Cheapcast app to emulate

+1
While we are at it. How about adding AirPlay also?

By the way: There is a Web Presentation API ( https://developer.mozilla.org/en-US/docs/Web/API/Presentation_API ) which is already supported by Chrome (seems to be for Chromecast) with an experimental Polyfill which should work without Chromecast ( https://mediascape.github.io/presentation-api-polyfill/ ). What about using that?

How about this example, is with mediaelement.js, isn't?
http://amoravhad.com/projects/vCast-jQuery/index.html

Would like something more internal support rather then having some plugin. Casting is something that everyone would want

Hi @jimmywarting
Thanks for your reply.
I'm sorry, it was only a reference that uses mediaelement.js.
The demo app CastVideos-chrome should help with the code as well.

The vCast-jQuery uses a lot from CastVideos.js

Thanks all for your comments. I'll check the documentation about this and start working on it. I'll try to include AirPlay. This ticket should be logged in mediaelement-plugins repo BTW

videojs also has plugin for casting
https://github.com/benjipott/video.js-chromecast
https://github.com/jgubman/videojs-airplay

The advantage with presentation api vs chromecast is that you can also cast to some TV's with DIAL (discovery and launch)

This issue was moved to mediaelement/mediaelement-plugins#23

authors: eposjk isantolin jimmywarting leocaseiro ron666

repo: johndyer/mediaelement


text:
Issues with scraping on MacOS - executable doesn't exist

Getting the below output when trying to run the sample code from this tutorial.
Attaching a gif to document.

$ cd /Users/mheavers/.kit
[21:05:28.881] [info]
    at async file:///Users/mheavers/.kenv/scripts/scrape-indice-repairabilite.js:10:19
    at global.scrapeSelector (file:///Users/mheavers/.kit/lib/browser.js:100:34)
╚═════════════════════════════════════════════════════════════════════════╝
║ <3 Playwright Team                                                      ║
║                                                                         ║
║     npx playwright install                                              ║
║                                                                         ║
║ Please run the following command to download new browsers:              ║
║ Looks like Playwright Test or Playwright was just installed or updated. ║
╔═════════════════════════════════════════════════════════════════════════╗
[21:05:28.877] [warn] browserType.launch: Executable doesn't exist at /Users/mheavers/Library/Caches/ms-playwright/chromium-1045/chrome-mac/Chromium.app/Contents/MacOS/Chromium
[21:05:28.876] [warn] ☠ ERROR PROMPT SHOULD SHOW ☠

$ cd /Users/mheavers/.kit
[21:00:25.901] [info]

$ cd /Users/mheavers/.kit
[20:57:25.002] [info]

$ cd /Users/mheavers/.kit
[20:57:09.674] [info]
    at async file:///Users/mheavers/.kenv/scripts/scrape-indice-repairabilite.js:10:19
    at async global.scrapeSelector (file:///Users/mheavers/.kit/lib/browser.js:97:24)
    at async file:///Users/mheavers/.kit/api/npm.js:100:12
    at kenvImport (file:///Users/mheavers/.kit/api/npm.js:77:15)
[20:57:09.669] [warn] Error: Error: Could not find main module for playwright
[20:57:09.668] [warn] ☠ ERROR PROMPT SHOULD SHOW ☠

$ cd /Users/mheavers/.kit
[20:56:19.055] [info]
    at async file:///Users/mheavers/.kenv/scripts/scrape-indice-repairabilite.js:10:19
    at async global.scrapeSelector (file:///Users/mheavers/.kit/lib/browser.js:97:24)
    at async file:///Users/mheavers/.kit/api/npm.js:100:12
    at kenvImport (file:///Users/mheavers/.kit/api/npm.js:77:15)
- /Users/mheavers/.kenv/node_modules/playwright-core/lib/inprocess.js
- /Users/mheavers/.kenv/node_modules/playwright-core/lib/inProcessFactory.js
- /Users/mheavers/.kenv/node_modules/playwright-core/lib/server/index.js
- /Users/mheavers/.kenv/node_modules/playwright-core/lib/server/registry/index.js
- /Users/mheavers/.kenv/node_modules/playwright-core/lib/server/registry/dependencies.js
Require stack:
[20:56:19.052] [warn] Error: Error: Cannot find module '../../../package.json'
[20:56:19.051] [warn] ☠ ERROR PROMPT SHOULD SHOW ☠

Ok. Exiting...
[20:53:27.293] [info]

Ok. Exiting...
[20:53:11.338] [info]

$ cd /Users/mheavers/.kit
[20:50:26.299] [info]
    at async file:///Users/mheavers/.kenv/scripts/scrape-indice-repairabilite.js:10:19
    at async global.scrapeSelector (file:///Users/mheavers/.kit/lib/browser.js:97:24)
    at async file:///Users/mheavers/.kit/api/npm.js:100:12
    at kenvImport (file:///Users/mheavers/.kit/api/npm.js:77:15)
- /Users/mheavers/.kenv/node_modules/playwright-core/lib/inprocess.js
- /Users/mheavers/.kenv/node_modules/playwright-core/lib/inProcessFactory.js
- /Users/mheavers/.kenv/node_modules/playwright-core/lib/server/index.js
- /Users/mheavers/.kenv/node_modules/playwright-core/lib/server/registry/index.js
- /Users/mheavers/.kenv/node_modules/playwright-core/lib/utils/index.js
- /Users/mheavers/.kenv/node_modules/playwright-core/lib/utils/zipFile.js
Require stack:
[20:50:26.296] [warn] Error: Error: Cannot find module '../zipBundle'
[20:50:26.296] [warn] ☠ ERROR PROMPT SHOULD SHOW ☠

$ cd /Users/mheavers/.kit
[20:46:29.399] [info]
    at async file:///Users/mheavers/.kenv/scripts/scrape-indice-repairabilite.js:10:19
    at async global.scrapeSelector (file:///Users/mheavers/.kit/lib/browser.js:97:24)
    at async file:///Users/mheavers/.kit/api/npm.js:100:12
    at kenvImport (file:///Users/mheavers/.kit/api/npm.js:77:15)
- /Users/mheavers/.kenv/node_modules/playwright-core/lib/inprocess.js
- /Users/mheavers/.kenv/node_modules/playwright-core/lib/inProcessFactory.js
- /Users/mheavers/.kenv/node_modules/playwright-core/lib/server/index.js
- /Users/mheavers/.kenv/node_modules/playwright-core/lib/server/registry/index.js
- /Users/mheavers/.kenv/node_modules/playwright-core/lib/server/registry/dependencies.js
Require stack:
[20:46:29.395] [warn] Error: Error: Cannot find module '../../../package.json'
[20:46:29.395] [warn] ☠ ERROR PROMPT SHOULD SHOW ☠

$ cd /Users/mheavers/.kit
[20:41:03.162] [info]
    at async file:///Users/mheavers/.kenv/scripts/scrape-indice-repairabilite.js:10:19
    at global.scrapeSelector (file:///Users/mheavers/.kit/lib/browser.js:100:34)
╚═════════════════════════════════════════════════════════════════════════╝
║ <3 Playwright Team                                                      ║
║                                                                         ║
║     npx playwright install                                              ║
║                                                                         ║
║ Please run the following command to download new browsers:              ║
║ Looks like Playwright Test or Playwright was just installed or updated. ║
╔═════════════════════════════════════════════════════════════════════════╗
[20:41:03.158] [warn] browserType.launch: Executable doesn't exist at /Users/mheavers/Library/Caches/ms-playwright/chromium-1045/chrome-mac/Chromium.app/Contents/MacOS/Chromium
[20:41:03.157] [warn] ☠ ERROR PROMPT SHOULD SHOW ☠

$ cd /Users/mheavers/.kit
[16:36:45.416] [info]

$ cd /Users/mheavers/.kit
[16:34:54.536] [info]
    at async file:///Users/mheavers/.kenv/scripts/scrape-indice-repairabilite.js:10:19
    at global.scrapeSelector (file:///Users/mheavers/.kit/lib/browser.js:100:34)
╚═════════════════════════════════════════════════════════════════════════╝
║ <3 Playwright Team                                                      ║
║                                                                         ║
║     npx playwright install                                              ║
║                                                                         ║
║ Please run the following command to download new browsers:              ║
║ Looks like Playwright Test or Playwright was just installed or updated. ║
╔═════════════════════════════════════════════════════════════════════════╗
[16:34:54.533] [warn] browserType.launch: Executable doesn't exist at /Users/mheavers/Library/Caches/ms-playwright/chromium-1045/chrome-mac/Chromium.app/Contents/MacOS/Chromium
[16:34:54.533] [warn] ☠ ERROR PROMPT SHOULD SHOW ☠

Hi, same issue here, just follow what error say. npx playwright install should work as expected

authors: heaversm hiddenboox

repo: johnlindquist/kit


text:
Can't change underline color

Howdy,
Tired all of the following styles, none are working. I looked at the closed issues and saw the "underline-trailing-whitespace" so I tried that too.
Styles tried:
.trailing-whitespace {
    border-bottom-color: cyan;
}

trailing-whitespace {
    border-bottom-color: purple;
}

underline-trailing-whitespace {
  border-bottom-color: green;
}

.underline-trailing-whitespace {
  border-bottom-color: red;
}

I closed the tabs and Atom after changing the styles.
I've only installed Atom today, hopefully it's just me doing something stupid. I'm modifying the /home/Username/.atom/styles.less file.
Cheers.

Hello!
My apologies, I neglected to update the readme after the latest API changes with atom, the following should work:
atom-text-editor,
atom-text-editor::shadow  {

  .trailing-whitespace {
    border-bottom-color: @my-new-color;
  }
}```

Let me know if you have any more questions : )


text:
component type error

BUG report
When

回滚volar到1.0.3版本等待解决吧

the same problem

Here is a reproduction repo
when open the App.vue file with vscode,
the component props error message would show like below

when the component has both <script setup> and <script> with export default defineComponent({}) existed

same error

回滚volar到1.0.3版本等待解决吧

回滚有效, 不过最近volar似乎不是很稳定.

+1

Same here, all my components components with inheritAttrs: false are throwing this error.

回滚volar到1.0.3版本等待解决吧

回滚有效, 不过最近volar似乎不是很稳定.

+1

In my case, these errors appear when calling methods defined via options API, e.g. this.myMethod(). I could workaround this in some cases by changing data() { ... to data: () =>. In this case, the type is correctly inferred. However, when I want to access the props in data and I need to change to data: (vm) => vm.myProp the inference is also broken.
Side note: The same errors appear also when building with vue-cli as soon as I switch from vue 2.7.10 to 2.7.11. As long as I stay on 2.7.10 this is only an IDE problem with Volar.

Was this really fixed? I'm getting:  not assignable to type ComponentProps when working with transition component

Same here: using Volar v1.0.9 (with takeover mode enabled, ofc) and this example.
It compiles and runs fine, it's just this error returned:
Type '{ width: string; }' is not assignable to type 'ComponentProps<string>'.
  Type '{ width: string; }' is not assignable to type 'string'.ts(2322)

Volar ts: 1.2.0

@johnsoncodehk this creates massive type errors in vue-tsc 1.3.10, somehow VS Code Volar 1.3.14 doesn't show the errors though. We can't basically use vue-tsc right now, as it emits too many unfounded errors, along the lines of
Argument of type '{ id: string; }' is not assignable to parameter of type '{ ref?: VNodeRef | undefined; key?: string | number | symbol | undefined; ref_for?: boolean | undefined; ref_key?: string | undefined; onVnodeBeforeMount?: VNodeMountHook | VNodeMountHook[] | undefined;

authors: Andrii-Khoptii DevilTea Fuphoenixes JoostKersjes MrCube42 appleaway dxps hkochniss jahnli kyumoon tanghaojie vis97c wenhongjie

repo: johnsoncodehk/volar


text:
Include a tag with the jar's maven_coordinates

This can then be used by something like
https://github.com/google/bazel-common/blob/master/tools/maven/pom_file.bzl
to know the imported maven dependencies when writing their OWN poms.

you need to update the tool with itself. The CI makes sure there is no diff when you do that.

Thanks for the PR!
Note, this is ignoring scala dependencies (which also hit java users that use things like kafka or spark).

Note, this is ignoring scala dependencies (which also hit java users that use things like kafka or spark).
Crud, you're right. I'm not using scala here (yet) so I just skimmed enough to see those were jars that showed up in workspace.bzl same as the java ones. But didn't look far enough to see that scala_library is going straight to the jar instead of going through the java_import

Any advice on how to deal with that? Looks like if I add the tag to the scala_import, everything works, but it's a bit of a pain to get it propagated all the way there + it causes a lot of extra collateral damage when versions change.

@johnynek Ping!

Right now, the eventual leaf BUILD files have no reference to the version of the artifacts. E.g.
scala_import(
    name = "jawn_parser",
    jars = [
        "//external:jar/org/spire_math/jawn_parser_2_11"
    ],
    runtime_deps = [
        "//3rdparty/jvm/org/scala_lang:scala_library"
    ],
    visibility = [
        "//3rdparty/jvm:__subpackages__"
    ]
)

(With that 2_11 being the scala version, not the version of that particular library)
So if you bump the version of this library and nothing too major has happened, the only change will be the version number you specified in dependencies.yaml and the one line in workspace.bzl
If we there's on the scala_import declaration with the artifact id, it means all the BUILD files wind up with changed lines.
Ideally, you've got machine-handled presubmits validating the machine-generated files here instead of having a human paying much attention to it, but it's still ideal if minor changes result in tiny CLs. Just a nice-to-have, and not something worth losing sleep over, though.
Thoughts on landing this as-is & leaving the task to figure out what to do about scala?
Otherwise, suggestions on how to do the scala ones? I had a cludge a few months back which put tags in the java_library definitions (https://github.com/deadmoose/bazel-deps/commit/3a1fa04fefe77d3607b94b25179a845fc4dfe417)...I could bring that up-to-date but It felt pretty hacky.

I'm going to add this now, but it would be nice to get this working on scala as well.

authors: deadmoose johnynek

repo: johnynek/bazel-deps


text:
Prefix name for jvm_maven_import_external with "jar_jar_" to avoid name collisions

Such collisions may appear when jar_jar's dependencies are also included
by other plugins, like rules_jvm_external.
The generated structure for those dependencies included with those plugins
may be different than expected by us and it can cause build errors
(e.g. BUILD file not found).
Prefix the name for jvm_maven_import_external with "jar_jar_", so that no
collisions occur.

seems like it should be fine. Thanks!

authors: gergelyfabian johnynek


text:
Added bordered version.

Added border for separating elements.

Thanks for the contribution Yusif,
For the time being, I'd like to keep Horizon border-less and minimal. You can always personalize your own editor, though; check out the README to see how you can apply these same changes.
I'll be sure to keep this PR in mind as the project evolves. Who knows, I could definitely change my mind :)

authors: YusifKhalilov jolaleye

repo: jolaleye/horizon-theme-vscode


text:
Scripts should be executed as user

Currently, all build steps are executed as user "root", whereas TravisCI uses a dedicated "travis" user. Also, TravisCI supports using sudo to switch to the root user, JoliCI does not.
This makes it quite difficult to explicitly execute build steps as user "root" (like installing software packages etc.). This can be worked around in the .travis.yml file, however it's quite cumbersome.
Sample .travis.yml to reproduce:
language: php
php:
  - 5.5
install:
  - true # needed until PR #39 lands
script:
  - id -un
  - sudo id -un

Expected output (also supported by TravisCI):
travis
root

Actual output:
root
<< Exception trace >>

Corrected in the images and the library, thanks for the report

authors: clue joelwurtz

repo: jolicode/JoliCi


text:
Changing font-size in comment and issue editor

So small font for my eyes...

Ooh, I'd like that too!
The font is really tiny on my nexus 7 and most comments aren't too long anyway.

repo: jonan/ForkHub


text:
'useInheritedMediaQuery' is deprecated and shouldn't be used

'useInheritedMediaQuery' is deprecated and shouldn't be used. Remove this parameter as it is now ignored. MaterialApp never introduces its own MediaQuery; the View widget takes care of that. This feature was deprecated after v3.7.0-29.0.pre.

Wow, I just thought of making this change and your PR was already here.
Thank you very much for your contribution!

authors: Aniketkhote jonataslaw

repo: jonataslaw/getx


text:
Allow company logo path to have a space in it

I work a bunch in bash for windows. So my path actually has spaces in it. Quoting it allows this to not break.
Ex: "/mnt/c/Users/Gavin Mogan/Documents/git/billing/lib/img/sauce_logo.png"

Added in new version

authors: halkeye jonathanasquier

repo: jonathanasquier/stripe-pdf-invoice


text:
Proxy Support

Can you add configurable proxy support? Without it I can't use this.

Probably pretty low on the list, but if you'd like to offer some more explanation perhaps someone could pick up the task.

Probably low on the list for now, but I'd love to more on why you'd need it. Perhaps something with a bit more knowledge in the area can pick up the task.

I'm working in China several times a year and because I don't want to use a VPN (because it mostly doesn't work anyways) I'm using an SSH connection to create a socks5 proxy.

@ChangeUsername Thanks for the reply, that makes good sense. I don't have much experience concerning such an implementation so I will just leave it open for someone else to try for now.

@ChangeUsername coming up in the next release will be Proxy support, but it's only possible by compiling your own version of the app. Currently you can read @emlyn-h's instructions in the README of develop.

@jonathontoon the instructions to set the proxy, will work with the released version of the app. It's just that you'll have to launch the app from the command line.

@emlyn-Resn gotcha thanks for the help!

authors: ChangeUsername emlyn-Resn jonathontoon mt-toon

repo: jonathontoon/tweet-tray


text:
Typescript

Migrate Hygen v4 to Typescript

I think we need a couple of Typescript standards

How to define a functions type

// misc.d.ts
export type StringManipulationFn = (s: string) => string
export type StringManipulationFn = (string) => string
export interface StringManipulationFn {
  (string): string
}

// misc.ts
const reverse: StringManipulationFn = s => s.split('').reverse().join('')
const reverse: StringManipulationFn = (s: string): string => s.split('').reverse().join('')
const reverse = (s: string): string => s.split('').reverse().join('')

Where should types be defined

// for utils/mergeConfig
// all in 1 file
'hygen/index.d.ts'
// multi files in types dir
'hygen/mergeConfig.ts' // and in hygen/index.d.ts -> export * from './mergeConfig.ts'
// other locations
'src/mergeConfig.d.ts' // colocate types and files
'src/mergeConfig.ts' // everything inline

Should we write types for packages we're using that don't otherwise have them?

closing as unnecessay

repo: jondot/hygen


text:
Examine dev Signal/TURN server perfomance

WebRTC 플러그인 기본으로 개발용 Signal과 TURN 서버를 이용하는데, 문제가 없을지 검토가 필요.
최근 코로나로 해외 망이 QoS 걸린 것 마냥 느리다는 이야기가 있어 우려스러움.

[ ] 영상통화 지연 시간 확인
[ ] 예제는 기본으로 낮은 해상도로 되어있어 해상도 변경 테스트

시그널 서버는 코드가 아얘 첨부되어있는것 같고,
TURN 서버는 문서를 보니 coturn 이라는 패키지 만 설치하면 되어보임

제가 잠깐 해봤을 때는 지연은 없었는데
상담시간을 고려해서 1시간 정도 실행했을 떄 packaet loss를 측정해 보면 될 거 같습니다.
해상도 같은 경우는 720p 수준으로만 해줘도 크게 무리는 없을거에요.

authors: bungabear jongfeel

repo: jongfeel/ARCounseling


text:
Patch problem of "invalid path" when upload with Tornado

os.path.join() acts weird when destination starts with a slash. For fix it, I suggest to remove it.

Thanks @Cooya


text:
How to change/remove status bar when showing SideMenu

i want remove the status bar when sideMenu showed

Please google the solution to this; it's a basic problem and not specific to SideMenu.

authors: fajaradiwa jonkykong

repo: jonkykong/SideMenu


text:
statusbar shows black and 'leftMenuNavigationController.statusBarEndAlpha = 0' can not solve

The true solution is:
SideMenuManager.default.menuFadeStatusBar = false

Please update to the latest SDK.

latest SDK contains no menuFadeStatusBar option. Moreover related toggle in example project does nothing

Please clarify

authors: jonkykong markinlkn vkolosovsky


text:
Generate pdf from web page which is under authentification

Hello :-),
I'm working with your bundle and i have 2 questions:

first, how can i generate a pdf from a web page which is under security authentification ?
Second, how can i generate header and footer,  i have to use a custom script ?

Thanks for your help :-)
Have a good day
Tom

Hi
So i succeed to generate a pdf from a web page which is under authentification :-D
Now in would like to generate a footer and header.
Apparently no method exist for the moment, so i try with partial but i have difficulty.
My code:
`$location = '/var/www/partial/';
$serviceContainer = ServiceContainer::getInstance();

$procedureLoader = $serviceContainer->get('procedure_loader_factory')
    ->createProcedureLoader($location);

$client = Client::getInstance();
$client->getProcedureLoader()->addLoader($procedureLoader);

$client->getEngine()->setPath('/path/bin/phantomjs');

$request  = $client->getMessageFactory()->createPdfRequest('http://jonnyw.me/');

$request->setHeaders([
    'Authorization'=>'Basic '.  base64_encode('user:pxd'),
]);

    $response = $client->getMessageFactory()->createResponse();

$file = '/var/www/document.pdf';

$request->setOutputFile($file);

$client->send($request, $response);`

And my partial code below:
`{% if input.getType() == 'pdf' %}
var paperWidth       = '{{ input.getPaperWidth() }}',
    paperHeight      = '{{ input.getPaperHeight() }}',
    paperFormat      = 'A3',
    paperOrientation = '{{ input.getOrientation() }}',
    paperMargin      = '{{ input.getMargin() }}';

if(paperWidth && paperHeight) {

    debug.push(new Date().toISOString().slice(0, -5) + ' [INFO] PhantomJS - Set page size ~ width: ' + paperWidth + ' height: ' + paperHeight + ' margin: ' + paperMargin);

    page.paperSize = {
        width:  paperWidth,
        height: paperHeight,
        margin: paperMargin
    };

} else {

    debug.push(new Date().toISOString().slice(0, -5) + ' [INFO] PhantomJS - Set page size ~ format: ' + paperFormat + ' orientation: ' + paperOrientation + ' margin: ' + paperMargin);

    page.paperSize = {
        format:      paperFormat,
        orientation: paperOrientation,
        margin:      paperMargin
    };

}

{% endif %}`
I change the default value for paperFormat  = 'A3', but it 's always in A4 format.
Maybe i forgot something? can you help me?
Thanks
Tom

This should be working but I will take a look

A repeating header and footer can now be added.
$request  = $client->getMessageFactory()->createPdfRequest('http://jonnyw.me/');
$request->setRepeatingHeader('
Header %pageNum% / %pageTotal%
'[, height]);
$request->setRepeatingFooter('Footer %pageNum% / %pageTotal%'[, height]);

Paper format can also be changed.
$request  = $client->getMessageFactory()->createPdfRequest('http://jonnyw.me/');
$request->setFormat('A3');

authors: jonnnnyw trossier

repo: jonnnnyw/php-phantomjs


text:
Better TokenMismatchException handling

See https://dyrynda.com.au/blog/better-handling-of-tokenmismatchexception-in-laravel

This was implemented with commit 706a2c


text:
Bug: Highlighting is missed up when using Dollar $ sign

Highlighting is missed up when using Dollar $ sign even if it is escaped ($). This only affects highlighting. This file is still rendered correctly.

I'm seeing the same problem. I keep all my notes in this file, and a normal $ appears around pricing and costs all over the place. I'm guessing this is related to the integration of LaTex changes, and that just impacted me starting this last week. I also am not able to escape the $, and only get back to normal highlighting in a file by putting in 4 of them in a row ($$$$).

Noted, I'll look into it. thanks for reporting.

@jonschlinkert thanks. I added all my packages to ignored_packages except Package Control and Markdown Extended, then restarted Sublime Text (build 3126). I'm still seeing the same issue.

It looks like it the latex-inline and latex-display matches are the issue. See https://github.com/jonschlinkert/sublime-markdown-extended/blob/master/Syntaxes/Markdown Extended.sublime-syntax#L1282
  latex-inline:
    - match: '(?=\$)'
      push:
        - meta_scope: text.tex.latex
        - match: '(?<=\$)'
          pop: true
        - include: scope:text.tex.latex

  latex-display:
    - match: '(?=\$\$)'
      push:
        - meta_scope: text.tex.latex
        - match: '(?<=\$\$)'
          pop: true
        - include: scope:text.tex.latex

If I use $ $ or $$ $$ separated by spaces, I can see the syntax highlighting terminate after those blocks.

1 suggestion would be to limit the latex delimiters to just $$. That would certainly work for me, but not sure what is considered standard. I'm not sure what other constraints could be put on the regex to have it work in both use cases.
Another suggestion would be to have a settings flag to disable/enable the latex behavior.

Commit 2229f7baa0219fa6c92c620064eb06e93ed3b4bb doesn't have the issue. It was probably introduced in the Latex support commit as @sidwiesner mentioned.

I believe that this is a result of the LaTeX math inclusions in the new release (#105) (which are wonderful), but there's one corner, that seems to have been missed:
This seems to cost about $3 but I'm not 100% sure

is highlighted as:

It gets stuck in LaTeX mode after a dollar sign until it hits another one.
Ideally, $ delimited math mode would not trigger in cases like this by enforcing a second $ which doesn't have a space before it. I believe this is how it was implemented under the old LaTeX math highlighting

sorry for the delay, I started working on some fixes. I'll update this issue once I've had enough time to test for regressions

FYI, it is how I handle latex in R Markdown.

Hey all,
Just wanted to note that this issue is affecting me too. It's odd because I don't remember it doing this last year when I was writing lots of Markdown. I also speculated that it had to do with MathJax/LaTex renderings.

I also noticed that it isn't possible to even escape the $. If you write \$, it still triggers the LaTeX math environment.

Another strange thing re: dollar signs: when I type "$", and then type "$" again, it prints double. When I want to type "$x+y$", it prints "$x+y$$" and I have to delete the trailing dollar sign.

After installing Markdown Extended in Sublime Text 3 yesterday, I noticed this issue today as well. It happens with dollar signs in several instances, but not all; for example:

does NOT occur with dollar sign between backticks
occurs with dollar signs inline, in plain text
occurs with dollar signs in single quotes
occurs with dollar signs in double quotes

Screenshot included.

I'm having the same issue.

should be fixed by e77e917

Fix confirmed. Updated screenshot included.

Thank you!

Great fix! Does this fix still support latex highlighting between dollar signs?

Yes, only if there is no spaces before the closing dollar sign and no characters after it.

authors: ditek jonschlinkert jwarner112 lrdegeest lwolfsonkin randy3k sidwiesner theterran willbeaufoy

repo: jonschlinkert/sublime-markdown-extended


text:
vdebug doesn't ignore ide key when debugging nodejs code

when running komodo-debug, vdebug ignore the connection because it's ide key is empty, and komodo-debug doesn't have and ide key setting (that I know of)
for now I use this command
let g:vdebug_options["ide_key"] = ""

Just to clarify, setting a blank IDE key (which is the default) means that Vdebug will accept all incoming connections - i.e. it doesn't compare the IDE key at all.
I may be misunderstanding this still, so please let me know if I am!
Thanks

authors: joonty mahmoudelbadry

repo: joonty/vdebug


text:
Vertical centering

First off, absolutely love this mode! Keeps me from getting distracted, and looks great in Zenburn.
Is there a setting to keep the window vertically centered, so my cursor is always at the vertical center of the screen?
This would be great to avoid the need to manually recenter occasionally, especially when jumping around a buffer. Near the center of the screen is generally where the eyes are most relaxed (though this of course varies with monitor setup - sometimes 1/4 way from top is more relaxed).

There is a package on Melpa, centered-cursor-mode, which seems to do what you want. I have never tried it, perhaps it's worth a try?

Yes, that is exactly what I've been looking for! Paired with writeroom, I am in heaven. Thanks so much!

authors: holocronweaver joostkremers

repo: joostkremers/writeroom-mode


text:
README Missing Instructions

Trying use this package, I was having a number of issues with getting the backgrounded start to work. Looks like there were some useful comments recently removed from the README. Any reason for that? On iOS adding this back in fixed it:
#import "RNQuickActionManager.h"

...

- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL succeeded)) completionHandler {
  [RNQuickActionManager onQuickActionPress:shortcutItem completionHandler:completionHandler];
}

Awesome, thank you! Really appreciate the library as well! 👏

repo: jordanbyron/react-native-quick-actions


text:
Deleting Creates New Text

When using the arrows to go left and remove a letter in the print text, it adds a bracket to the left of the text.

Issue is fixed now... weirdly enough I wasn't able to recreate this issue on 3 different systems using 4 different web browsers, but the issue was duplicate keys... It is fixed now

repo: jordanlandry/janninscript-online


text:
Neovim crashes when opening more than 5 buffers

When opening more than 5 buffers with icons enabled, Neovim gets terminated with the message realloc(): invalid next size.

Thanks for reporting this! I haven’t seen anything like this on my end, so could I ask you for a little more information to help debug this?

Does this always happen exactly with 6+ buffers, regardless of file name / extension?
What happens if you remove icons from your format? Is there still a limit on the number of buffers you can open before a crash?
Does the problem occur when you isolate the plugin?

It sounds to me like it may be a Neovim issue, since the plugin doesn’t do anything fancy with Lua, but more information could lead to a hint (or at least something more concrete that we can report upstream).

Your commit fixed the issue and it works fine. Closing the issue now. Thanks!


text:
Remove "LaTeX" option from the doxygen file of simple_options_file_parser library.

The option is set, so files to generate the documentation in LaTeX format are created, which is not desired.

Bug solved.

repo: jose-navarro/workflowmaker


text:
Automate Registry

This small python script would be helpful to generate the modules.c file
#!/usr/bin/env python3

"""
Helper tool to generate a modules.c file
containing the custom modules.
"""
import os
from pathlib import Path

base_directory = "addl_modules"

def sanitize(module):
    return module.lower().replace("_", "-")

def files():
    modules = []
    for path in Path(base_directory).rglob("*.wren"):

        """
        Allows directories. The main file
        must be named the same as the directory.
        Other files would not be included in the module.
        Useful for amalgamated files.
        Example:
        ['hello.wren', 'booger/booger.wren', 'wren_package/wren_package.wren']
        """
        directory = os.path.dirname(path)
        filename = os.path.basename(path)
        name = os.path.splitext(filename)[0]
        goodname = sanitize(name)

        if directory == base_directory:
            modules.append((goodname, name, filename, directory, path))
        else:
            if directory.endswith(name):
                modules.append((goodname, name, filename, directory, path))

    return modules

def generate(modules):
    out = """
static ModuleRegistry additionalRegistry[] =
{
    """
    for module in modules:
        goodname, name, *_ = module
        out += f"""
  NAMED_MODULE({goodname}, {name})
  END_MODULE
    """
    out += """
  SENTINEL_MODULE
};
    """
    return out

if __name__ == "__main__":
    print(generate(files()))

Example Output
static ModuleRegistry additionalRegistry[] =
{

  NAMED_MODULE(booger, booger)
  END_MODULE

  NAMED_MODULE(hello, hello)
  END_MODULE

  NAMED_MODULE(wren-package, wren_package)
  END_MODULE

  SENTINEL_MODULE
};

First, I agree a tool like this would be awesome to have. :-)
I'm not sure how interested we are in adding additional Python tooling though, unless it's slated/guaranteed to be upstreamed back into the official CLI.  IE, If we're going to work closely together (and they prefer to stick with Python) then I'm a bit more open to this - to make collaboration easier.  If it turns out our goals are less aligned and we're going to be more or less on our own then I'd much, much rather all our tooling ultimately be pure Wren - for maximum portability, fewer upfront requirements, and eating our own dog food.
So long as the default checkout can build an initial working binary without any tooling required then a binary isn't even a prerequisite... so one can build their first binary and then use that to run the tooling to make changes for future builds. A very easy bootstrapping experience.

In this specific case though I'm not even sure the official CLI is interested in making additional modules like this so easy to "drop in"... so unless that's first established I absolutely think this tool should be Wren, not Python.  A lot is still up in the air regarding how the CLI and Console projects might work together in the future.

We probably long-term want a separate additional_modules.c and additional_modules.h... so they can be easily rebuilt without mucking with the more built-in stuff in modules.c.

This is exactly the kind of small utility script that should be trivial to write in Wren CLI/Console... and if there are missing pieces/libraries then I'd prefer we create issues for them and slowly close them out (whether here or in essentials).  IE, Python might be "ok" (for now) if there are truly good reasons this can't be currently done in pure Wren... but as soon as it could be, we should switch.
So, is there any major blockers preventing this from being Wren?

I wrote it in Python as a proof of concept. I think it can be done in Wren too since it just outputs text/files.
But before doing the Wren implementation I think is best to define first if the additional_modules.c would be used, so it's generation is automated in a single command.
Also the Wren 2 C output seems like a good candidate to Wren evolution too :)

I think is best to define first if the additional_modules.c would be used,

I can't think to a disadvantage of it being in a isolated file. Can you?

Also the Wren 2 C output seems like a good candidate to Wren evolution too :)

It absolutely would.  So much so that it's one of the first things I did.  I still have a branch/PR of that somewhere... but mainline CLI didn't seem to agree with me about the utility of the build tools being in pure Wren - which is why now I'm taking a bit of a wait and see approach to see how closely we might work together in the future before touching all the existing tools.

I think then it would be nice to have another repo with a toolbelt of helper wren scripts.
So it easier to write such tools and not be depending on the main cli to be implemented.
They can be optional if you want. Maybe add a Makefile to ease their download and automate its calls :)

Another option is having a separate branch from the main one that contains all the wren console exclusive modifications to the official cli.

I think then it would be nice to have another repo with a toolbelt of helper wren scripts.

This is sort of why wren-package exists, though it was only a very minimal first pass just to get things rolling.  If someone wants to simply install libraries they should install them into ~/wren_modules/... this can be as simple as git checkout whatever, which is exactly how wren-package installs packages.
If someone wants to install "utility scripts" they can just put them anywhere, in a common folder, in the system path, etc...  There is no need for "helper wren scripts" to be compiled into the CLI.  additional_modules exists to make it easier for me (and others) to build custom CLIs (with embedded code).  However, this is not something the average scripting user should need to do.
Related: https://github.com/wren-lang/wren-cli/issues/78

Perhaps I'm just not sure exactly what you mean by "helper wren scripts"...

Mainly I was refering to utilities and scripts related to wren console development itself.
Like the additional_modules generator or the wren2c script.
Other scripts in userland is best to use wren-package or related tooling.

Another option is...

Eventually if CLI wants to work more closely (sharing between CLI and Console) we'll have to discuss/discover how that works best.  But it seems that needs to be decided first before getting into any specific details of how to manage that.  Console is a direct fork of CLI with shared history so many things (that we still share in common) should be fairly easy to merge/cherry-pick over even without any of the changes you propose.

Mainly I was refering to utilities and scripts related to wren console development itself. Like the additional_modules generator or the wren2c script.

I don't see any advantage to that living in a separate repository. Those would be core parts of wren-console, and hence live in this repo.

Yes right now it easy to patch wren console and pick wren-cli improvements.
But is a one way only.
I think wren-cli maybe in the future could benefit from the development of wren-console
in the form of specific PRs that maybe accepted (or not).
So paving a way to a bidirectional file and branch structure can be a good idea.

But is a one way only.

Not at all. It's quite easy for someone working on wren-cli to add wren-console as a remote and cherry-pick commits or generate patches, etc... in some cases it'll work magically (thanks to our shared history) - in other cases it may require resolving slight differences (if the codebases drift further apart), etc.

I think wren-cli maybe in the future could benefit from the development of wren-console

I'd like to hope so. :-)  And vise-versa.

So paving a way to a bidirectional file and branch structure can be a good idea.

Branches names really don't matter much practically speaking, they are just pointers to SHAs... No specific branch names are needed (AFAIK) for two repos in this situation to share things back and further...
Directory layout is a slightly more interesting consideration, but I'm not super worried about that until it proves to be a problem....

Fair enough.
The branch names were only conventions to keep things tidy :).

Anyways things like this I prefer to deal with in actual usage.  If Wren proper decides to start pulling some of my work back into CLI, and we run into problems with the practicality of doing so, then at the time we find the problems we'll look for the solutions.  When the most recent chdir patch is merged I might try a quick PR against CLI, and I expect it to be trivial.

Maybe this script would be best to wren essentials https://github.com/joshgoebel/wren-essentials

I think if people want to compile a CLI with 'custom stuff' the right place to do it is at the CLI level, not wren-essentials.... so the tool belongs here - just we need to sort out whether it should be Python or Wren.
Did you not want to just port it to Wren and get it added here?

I just thought that since wren-console must adhere to stricter file and directory structures and other constraints to be wren-cli compatible that moving this tool to wren-essentials can be a smoother move.
Both would require a similar tool to generate the C files.
Maybe this tool can be on its own and be used as a dep?

Both would require a similar tool to generate the C files.

Well, maybe, but not necessarily.  I'd love to auto-generated all the C stubs from source alone eventually (including foreign signatures, etc) but that's not what this does.  This just takes addl_modules and builds a tiny C stub for them.  That's needed for CLI but not (yet) needed for essentials which doesn't yet have an idea of just vendoring other libraries wholesale (and maybe never will).
If we were doing the same thing in both places then this might indeed make sense to break out into a Wren -> C header type of tool - though surely such a tool would have uses on it's own if it worked well.
Another thought is once we were generating it programmatically all the magic DEFINES in the C preprocessor would no longer be needed either and we could just spew out ugly C code, because we weren't maintaining it by hand.  I"m not sure if that would be better or worse though without trying it. (as then it just pushed that complexity into the Wren -> C tool.

The tooling that IS shared right now is the wren_to_c_string.py tooling, but I don't think that justifies a repo of it's own yet.  My version is already more advanced than the CLI one to allow me to put source into different (or multiple) modules if I so choose.

In that case maybe creating a new directory in root as tools maybe?
so wren only tools can be develop to help wren-console devs?
since util would be python only with scripts that cannot be made with wren because of different reasons?

authors: clsource joshgoebel

repo: joshgoebel/wren-console


text:
multicall.call result success is true but no tx is sent to blockchain

Hi there, I´m playing around with multicalls at my hardhat local environment.
I deployed this Multicall3 https://etherscan.io/address/0xcA11bde05977b3631167028862bE2a173976CA11#code
the only change I did was moving from version 0.8.12 to 0.8.17
This is my multicall object creation:
const multicall = new ethereumMulticall.Multicall({
            ethersProvider:hre.ethers.provider,
            tryAggregate: true,
            multicallCustomContractAddress: _multiCall3.address  //the address of the deployed multicall
});

The provider should be OK. I tried with hre.ethers.getDefaultProvider(), but the blockNumber I was getting in the response made me realise it was not correct. I also checked this against goerli and with hre.ethers.provider I´m getting the correct block number.
After the multicall.call, the state of my contract is not being changed and it should.
I thought it could be something wrong in my contract implementation but I tried to replicate this using goerli. I noticed that no transaction is being sent to the blockchain after the multicall.call is done and I got success:true.
Multicallv3
https://goerli.etherscan.io/address/0xc1862322861093b5b6944c305963ea2e9ffe5519
ERC20PermitToken
https://goerli.etherscan.io/address/0x871663104598d79d41d89461cc4f18f71b01db3b
MultiCall.call
await multicall.call(contractCallContext);
ContractCallContext:
[
   {
      "reference":"ERC20PermitToken",
      "contractAddress":"0x871663104598d79D41d89461CC4F18f71b01db3b",
      "abi":[
         {
            "inputs":[
               {
                  "internalType":"address",
                  "name":"owner",
                  "type":"address"
               },
               {
                  "internalType":"address",
                  "name":"spender",
                  "type":"address"
               },
               {
                  "internalType":"uint256",
                  "name":"value",
                  "type":"uint256"
               },
               {
                  "internalType":"uint256",
                  "name":"deadline",
                  "type":"uint256"
               },
               {
                  "internalType":"uint8",
                  "name":"v",
                  "type":"uint8"
               },
               {
                  "internalType":"bytes32",
                  "name":"r",
                  "type":"bytes32"
               },
               {
                  "internalType":"bytes32",
                  "name":"s",
                  "type":"bytes32"
               }
            ],
            "name":"permit",
            "outputs":[

            ],
            "stateMutability":"nonpayable",
            "type":"function"
         }
      ],
      "calls":[
         {
            "reference":"permit",
            "methodName":"permit",
            "methodParameters":[
               "0x0C7ebAC9957C01F0b891B912895A811338aF4Ae0",
               "0x02af0F2eE01523357B11cBb1B86BA66eb8D2bfED",
               {
                  "type":"BigNumber",
                  "hex":"0x01"
               },
               {
                  "type":"BigNumber",
                  "hex":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
               },
               28,
               "0xef92a36fc7c2fa26ee4275d73918f03ae651708377026c4e936c76f39f9327ca",
               "0x0b2d9ef10de8200043ffccd2be22e68ef94efe96a1411dbff3aa57b913957da0"
            ]
         }
      ]
   }
]

Result: goerli execution
{
   "results":{
      "ERC20PermitToken":{
         "originalContractCallContext":{
            "reference":"ERC20PermitToken",
            "contractAddress":"0x871663104598d79D41d89461CC4F18f71b01db3b",
            "abi":[
               {
                  "inputs":[
                     {
                        "internalType":"address",
                        "name":"owner",
                        "type":"address"
                     },
                     {
                        "internalType":"address",
                        "name":"spender",
                        "type":"address"
                     },
                     {
                        "internalType":"uint256",
                        "name":"value",
                        "type":"uint256"
                     },
                     {
                        "internalType":"uint256",
                        "name":"deadline",
                        "type":"uint256"
                     },
                     {
                        "internalType":"uint8",
                        "name":"v",
                        "type":"uint8"
                     },
                     {
                        "internalType":"bytes32",
                        "name":"r",
                        "type":"bytes32"
                     },
                     {
                        "internalType":"bytes32",
                        "name":"s",
                        "type":"bytes32"
                     }
                  ],
                  "name":"permit",
                  "outputs":[

                  ],
                  "stateMutability":"nonpayable",
                  "type":"function"
               }
            ],
            "calls":[
               {
                  "reference":"permit",
                  "methodName":"permit",
                  "methodParameters":[
                     "0x0C7ebAC9957C01F0b891B912895A811338aF4Ae0",
                     "0x02af0F2eE01523357B11cBb1B86BA66eb8D2bfED",
                     {
                        "type":"BigNumber",
                        "hex":"0x01"
                     },
                     {
                        "type":"BigNumber",
                        "hex":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
                     },
                     28,
                     "0xef92a36fc7c2fa26ee4275d73918f03ae651708377026c4e936c76f39f9327ca",
                     "0x0b2d9ef10de8200043ffccd2be22e68ef94efe96a1411dbff3aa57b913957da0"
                  ]
               }
            ]
         },
         "callsReturnContext":[
            {
               "returnValues":"0x",
               "decoded":false,
               "reference":"permit",
               "methodName":"permit",
               "methodParameters":[
                  "0x0C7ebAC9957C01F0b891B912895A811338aF4Ae0",
                  "0x02af0F2eE01523357B11cBb1B86BA66eb8D2bfED",
                  {
                     "type":"BigNumber",
                     "hex":"0x01"
                  },
                  {
                     "type":"BigNumber",
                     "hex":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
                  },
                  28,
                  "0xef92a36fc7c2fa26ee4275d73918f03ae651708377026c4e936c76f39f9327ca",
                  "0x0b2d9ef10de8200043ffccd2be22e68ef94efe96a1411dbff3aa57b913957da0"
               ],
               "success":true
            }
         ]
      }
   },
   "blockNumber":8374483
}

The execution of: hre.ethers.provider.getBlock(results.blockNumber)
{
  hash: '0xb6ea7d514f8b7964a1e0a1a8c37b10cae160c32ad6e8a16689d4acda766a2ace',
  parentHash: '0x642723ef33389137adf06538431ec150f7bec04bb82e23723a78190532457477',
  number: 8374483,
  timestamp: 1674659052,
  nonce: '0x0000000000000000',
  difficulty: 0,
  gasLimit: BigNumber { value: "30000000" },
  gasUsed: BigNumber { value: "3196874" },
  miner: '0xf36F155486299eCAff2D4F5160ed5114C1f66000',
  extraData: '0x',
  transactions: [
    '0xf21146d6ee3ba5588f9d9b1ea40064dfd64897a6b496de0eeb49d9916d3add4f',
    '0xa14b09654b83657d54aaa2501ded1fdb869e08889cccf415f22daf26a55de6e5',
    '0x86e64c989291efd4fde735d1ef416abb195808696744357d13289c2fe789a41b',
    '0xc98927934e5e40787f9d715288ff246d04f1279415bc188880e39a9433f5b0f0',
    '0x96d34d26b0638e15d7cf124db4e752ac3f8a17340558aadcf3f8a73adcfd26d6',
    '0x27b2b5a598a27d3a5777b79fedb8181912fc72ad247deffacd603acbeeb965a7',
    '0xfb8a868734effabec77cadc3a2ae5f843312863493b5f72491fc13a420fb2ff9',
    '0x722452c2fa698cf1296eb43a7f5ee345985ba7be88f14f22cf085a0f2089a610',
    '0x2c4d81baeb0a042ad408b5efcd990add45442a9eb6ba49b34efb99275e5f989e',
    '0x023edeecba8bb5671f27920aea063eb54935c2bfa028b2be716866d43631c952'
  ],
  baseFeePerGas: BigNumber { value: "132" },
  _difficulty: BigNumber { value: "0" }
}

multicall is readonly method and not used to actually perform transactions


text:
[BUG] device gets overwritten from another one (identical hardware different hostname)

Go Hass Agent Version
8.0.0
Describe the bug
I tried to set up two raspberry pi 4s. The hardware is identical only the hostname is different. But everytime I register the second raspberry pi the old one in HA gets change to the hostname of that raspberry pi I recently tried to register. They have different tokens, to be sure.
To Reproduce
Steps to reproduce the behaviour:

register the first raspberry pi.
register the second rasberry pi.
See the name in HA change from first to second.

Expected behaviour
I would expect a different entity to appear in HA.
Logs
12:51PM DBG Debug logging enabled.
12:51PM INF Registration required. Starting registration process.
12:51PM INF Successfully registered agent.
12:51PM DBG Stopping agent.

Desktop (please complete the following information):

OS: Linux
Distribution Arch Linux Arm
Version 6.6.28-2-rpi

That is super interesting. Can you look in the ~/.config/com.github.joshuar.go-hass-agent/preferences.toml and see if the device.id preference is different on both of these machines?

Thank you for your answer! Yes the id is indeed identical. Can I change it manually? As a workearound?

Unfortunately, you can't change the ID after the agent has registered with Home Assistant. The Device ID is used by Home Assistant to identify individual devices and it would need to be changed in the Home Assistant database as well :frowning_face:
It's super interesting that you've ended up with a duplicate though, as that shouldn't happen.  The underlying library the agent uses to get a device ID reads from the following files (in order, first one it can read from it uses):

/sys/class/dmi/id/product_uuid (needs root permission to read)
/etc/machine-id
/proc/sys/kernel/random/boot_id (will always be unique each boot)

The agent doesn't run with privileges so the first file would never be used. Do you have a /etc/machine-id file and is it the same on both machines? Otherwise, is the /proc/sys/kernel/random/boot_id unique?
Side note: If /proc/sys/kernel/random/boot_id is not unique, that might indicate some random number generator issues on the machine, or some kernel patching has deviated from the documented behaviour  :worried:
A workaround would be to just create a unique id manually and put in it /etc/machine-id. If you have a /var/lib/dbus/machine-id file, you can symlink that to /etc/machine-id. Or you could use uuidgen from util-linux to generate a new one.
Once you are sure you have a unique device id in either /etc/machine-id or /proc/sys/kernel/random/boot_id, you can re-register the agent (go-hass-agent register --force --terminal --host someserver --token sometoken).
That would be my recommended workaround.
I can't say if manually creating a /etc/machine-id might cause other issues with other things on the system. Likely however, if you don't have that file, you aren't using systemd and I would guess the other parts of the system don't need it if they are functioning already.

That make sense. The file /sys/class/dmi/id/product_uuid  does not exist. The machine id is indeed identical. That may be, because I did set the system up on one raspberry pi and cloned the sd card to another card and simply changed the hostname. The /proc/sys/kernel/random/boot_id on the other hand is different on both raspberry pis.
I removed the old file with rm -f /etc/machine-id and recreated it with dbus-uuidgen --ensure=/etc/machine-id. Then I registered both raspberry pis again, as you suggested. And it is working!
Side note: /etc/machine-id is not a systemd file, as discussed here at stackexchange.
There is a force register option? Great! Till now I was deleting the config and reregistering.
Thank you very much for your quick and helpful assistance!

authors: dflvunoooooo joshuar

repo: joshuar/go-hass-agent


text:
🛑 Taxidrivers Cuba is down

In ee634d5, Taxidrivers Cuba (https://taxidriverscuba.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Taxidrivers Cuba is back up in 6b8c933.


text:
希望可以增加一个简单的裁切功能

比如我原图可能是16:9或者4：3，可以选择1:1裁切， 直接最短边居中就行，或者原图1:1，居中最短边裁切成4:3之类的。
主要是现在这些电商太折腾了，产品图要1：1，但是笔记图又推荐其他尺寸，心累。

功能已支持，需要注意几点：

工具会尽可能的将裁剪选区定位到“水平且垂直”居中，因为图小小不是一个专门做图片编辑的工具，目前无法主动设置裁剪选区
裁剪模式下压缩的图片无法使用“对比预览”功能，这是显而易见的，压缩图和原图尺寸比例都变了，要对比预览，实现会变得更加麻烦，目前我没有精力，留待以后实现
如果按照具体尺寸来裁剪，当裁剪的任意一边超出原始图片时，会采用原始图片的边长作为最终裁剪边长

The function is supported, but you need to pay attention to the following points:

The tool will try to position the crop selection to the "horizontal and vertical" center. Because Tuxiaoxiao is not a tool dedicated to image editing, it is currently not possible to actively set the crop selection
The "Compare Preview" function cannot be used for compressed images in crop mode. This is obvious. The size ratio of the compressed image and the original image has changed. It will be more troublesome to compare and preview. I don't have the energy at the moment, so I will leave it for later
If you crop according to a specific size, when any side of the crop exceeds the original image, the side length of the original image will be used as the final cropping side length

感谢感谢，看了下，好像现在是只能裁剪，不能缩放的时候直接裁剪是吧，就是假如我有一批图片，需要缩放+裁剪，就需要批量操作两次？

感谢感谢，看了下，好像现在是只能裁剪，不能缩放的时候直接裁剪是吧，就是假如我有一批图片，需要缩放+裁剪，就需要批量操作两次？

“先缩放再裁剪”和“先裁剪再缩放”用纯代码实现会产生不同的结果，一般都是在图片编辑工具里，用户可以手工自由选择操作顺序，放在这里会让批量处理逻辑变得更加复杂，暂时没有计划实现了

好的，好的。多谢


text:
Support up to Django 1.10

This shouldn't be too hard. I'm actually currently using it but the tests, for example, aren't supported in Django 1.10 which I'm using at the moment.
Happy for me to take a stab at this?

@kyleobrien91 all yours :)

#30 adds tests that verify that Django 1.10 is supported out of the box with no additional configuration. I think this ticket can be closed off.

authors: jpadilla kevin-brown kyleobrien91

repo: jpadilla/django-rest-framework-xml


text:
Feature: maintain coding style using PHP Code Sniffer

Added PHP Code Sniffer as composer dependency and to Travis config.
This is probably the time to switch to more sensible defaults:
tabs or spaces
OpeningFunctionBraceBsdAllman or OpeningFunctionBraceKernighanRitchie

PSR-2 will need to wait until a major point release where BC will not be an issue.  As for tabs and spaces, let's go with 4 spaces.  I believe @jpfuentes2 is on board with that as well.

authors: cvanschalkwijk koenpunt


text:
CSS Extraction & Disable Style Injection

The appDir version of Mosaic sites suffers from layout shift and flash of un-styled content (FOUC) due to the CSS injection feature of Salt components.  Essentially SSR'd apps are rendered on the server and have no salt styling until they are rendered on the client.
You can also see a workaround that @ZarkoPernar has implemented here that imports component css files directly from the dist folder.
This PR is a POC that aims to start the discussion on salt component CSS files and disabling the CSS injection feature.  It includes:

A way to enable/disable component CSS injection using a SaltProvider

A user would be able to disable CSS injection for their app by:
<SaltProvider enableStyleInjection={false} /** other props*/ >// children</SaltProvider>

Questions/Observations

Should we bundle the component CSS into 1 file?
EDIT: we are bundling into 1 css file per package e.g. core css and labs css

At present, a user would need to go through their app and understand all the components they are using and manually add an CSS import for the component into their app.  This could get tricky with composite components e.g. Dropdown which would need it's own styles plus those of Button and List

SaltProvider apply classes to functionality

EDIT: These classes need to be added manually
This is still dynamically adding a theme and density class to a DOM element...again this might mean the FOUC will still happen so it might mean that these classes need to be manually added by the user.  Will try run it and see what happens

Change output Directory?

The CSS files are still output to a dist folder.  We might want to output to a more user friendly location...

Code organisation and naming

The useComponentCssInjection function is inside a folder called use-style-injection and the folder name is the same as the new hook I have added.  Might be a good idea to rename a few things to avoid confusion

As far as build tooling for this is concerned, I believe the css extraction as you intended would be done by tsup as part of this work Josh started. But that might be a bigger piece, and your work could be an interim solution. Not sure what the rest of the team thinks.

As far as build tooling for this is concerned, I believe the css extraction as you intended would be done by tsup as part of this work Josh started. But that might be a bigger piece, and your work could be an interim solution. Not sure what the rest of the team thinks.

CSS extraction is eximental in tsup

I have tried this out on the new Mosaic app router branch.  The changes I made were:
Update site-preset-styles package
The core and lab css files are included among the other CSS files Mosaic considers the preset styling.
import '@salt-ds/core/css/salt-core.css';
import '@salt-ds/lab/css/salt-lab.css';

Update Mosaic ThemeProvider
set enableStyleInjection to be false and manually apply salt-theme and salt-density-medium classes

As far as build tooling for this is concerned, I believe the css extraction as you intended would be done by tsup as part of this work Josh started. But that might be a bigger piece, and your work could be an interim solution. Not sure what the rest of the team thinks.

I've been debating this myself. I think there's a risk to this approach where technically you could end up with different CSS if you used the bundled output vs the injected CSS. I don't think it's a huge issue though but it will be hard to catch

As far as build tooling for this is concerned, I believe the css extraction as you intended would be done by tsup as part of this work Josh started. But that might be a bigger piece, and your work could be an interim solution. Not sure what the rest of the team thinks.

I've been debating this myself. I think there's a risk to this approach where technically you could end up with different CSS if you used the bundled output vs the injected CSS. I don't think it's a huge issue though but it will be hard to catch

Can you give an example of how the CSS could be different?  Is it the ordering?

With the runtime injection, the order is based on order of rendering of components, and this is different on each page/layout. At least with bundling we control the ordering (to whatever extent the tool lets us). I think bundling would make it easier for us to catch bugs in our css, like for example if we tried overwriting .saltInput in Dropdown and didn't do it properly (using css vars or higher specificity) and missed the bug because the ordering of injected css happened to be a certain way in our storybook/tests.

/release-pr

/release-pr

/release-pr

The gen:css scripts don't work on Windows :(

authors: DavieReid ZarkoPernar joshwooding origami-z

repo: jpmorganchase/salt-ds